読者です 読者をやめる 読者になる 読者になる

2017 年に向けて

今年は目標を持たないことを目標にすることにした

2016 年振り返り

結論から言うと新しくやることは一切手を出せず、長期的な目標も一切達成できなかった。 やらないことは守れた。

負荷試験自動化

残念ながら取り組む事ができなかった。日々の仕事に忙殺されてしまい、 長期間考えながら作業をするという事ができなかった。

新しくやること

  • Golang によるツール
    • これは自分は OCaml / Rust に切り替えることにした
    • パターンマッチがある世界からは抜け出さない方が良いと考えた
    • Golang は誰もができる、皆詳しい、詳しい人が居るなら自分はいつでも学べる
  • ワークフロー系
    • 仕事で出番がありそうとみたのだが、残念ながら出番は無かった。
    • 負荷試験の自動化部分に必要とみている
  • HTTP/2
    • まったく触れず、そろそろ Erlang でクライアントを書き始めたい
  • QUIC
    • TLS 1.3 の実装を考える必要がある
  • ブロックチェーン
    • 仕組みを理解して終わり。今後は触れることはなさそう

やらないこと

  • Erlang/OTP, Lua, Golang, JavaScript 以外にふれる
    • OCaml に手を出した、Golang は逆に手を出すことはなかった
  • ネイティブアプリ系
  • データベースやストレージ系
    • 特に何もしていない
  • エディタを VIM から切り替える
    • 特に何もしていない
  • 解析
    • 特に何もしていない
  • 機械学習
    • オライリーから良い本が出たので触れてみたが、知識レベルで終了
    • ログの解析に使ってみたいが、おそらく遠い

2016 年に向けて

総括としては大きな方針目標を複数立てても役に立たないということがよくわかった。 ということで、一つくらいにしておく。

やらないことはよかった、本当にやらなかった。

負荷試験自動化

長期的に取り組む事にする、 2 年計画と想定し前に進めていく。

新しくやること

  • Golang によるツール
    • 自分で開発しなくてもよい
  • ワークフロー系
    • よくわかっていないので手を出してみる
  • HTTP/2
    • 急ぎはしない
  • QUIC
    • 優先度は少し高い
    • TLS 1.3 が先か
  • ブロックチェーン
    • 仕事にはならないはずなので知識だけでも

やらないこと

  • Erlang/OTP, Lua, Golang, JavaScript 以外にふれる
  • ネイティブアプリ系
  • データベースやストレージ系
  • エディタを VIM から切り替える
    • 特に何もしてない
  • 解析
  • 機械学習

2015 年振り返り

総括としては大きな方針目標を複数立てても役に立たないということがよくわかった。 ということで、一つくらいにしておく。

やらないことはよかった、本当にやらなかった。

Messaging

特になにもしていない

Notification

特になにもしていない

Automated load testing

特になにもしていない

Automated susceptibility testing

特になにもしていない

やること

  • Golang によるウェブアプリの作成
    • 結局やらず
  • FoundationDB や CockroachDB などの今時の DB
    • 使おうと思ったら買収されてた
    • ということで進展なし
  • ドキュメンテーション
    • できるだけ書けたと思う
  • ビルド
    • CircleCI 以外を触る
      • CircleCI で十分だった
    • Docker や Ansible
      • Docker にはかなり投資できた
  • 自動化
    • 余りできた印象はない
  • テスト
    • 一通り書けたが、WebRTC のような複雑な仕組みに対応できていない
  • タスク管理ツールをあさる
    • Trello でよい
  • AWS とか GCP とか
    • AWSGCP も仕事で使わないという悲しいオチ

プロトコル

  • HTTP/2
    • まったく追いかけていない
  • DTLS (1.0 / 1.2 互換)
    • DTLS 1.0/1.2 両方実装した
  • MQTT
    • Broker, Service, Gateway の 3 パターンで一段落した
  • TURN/STUN
    • 特になにもしていない
  • WebRTC
    • SFU, Service, Gateway の 3 パターンで一段落
    • 来年前半も WebRTC だろう

やらないこと

  • Erlang/OTP, Lua, Golang 以外にふれる
    • Rust に手を出していたが、完全に手を引くことにした
  • JavaScript
    • 残念ながら必要にせまられて少しずつやってるが深追いはしない
  • ネイティブ系アプリ開発
    • 特に何もしてない
  • MySQL, PostgreSQL とかの RDB
    • 特に何もしてない
  • Riak, Redis とかの KVS 系
    • 特に何もしてない
  • ストレージ
    • 特に何もしてない
  • エディタを VIM から切り替える
    • 特に何もしてない

2015 年前半ふりかえり

一年単位だとちょっと振り返りが難しいので、半年ごとにしてみる。

http://voluntas.hatenablog.com/entry/2015/01/03/215005

テーマふりかえり

Messaging

メッセージング自体に意識がいっていなかった。あまりいいテーマではなかった。

Notification

デバッグログを WS 経由で飛ばしたりとかはイメージできたけどどうも自分が欲しいのはこの辺ではないらしい。

Automated load testing

今年中にアクションは起こす

Automated susceptibility testing

今年中にアクションは起こす

やること -> やれたこと

  • Golang によるウェブアプリの作成
    • 自分はコードは書いていないけど、実際に実現した
  • ビルド
    • CircleCI で固定
    • Docker は結構触った docker-machine 良い
  • 自動化
    • パッケージング部分はかなり綺麗になってきた
  • テスト
    • モックを殺していき、EtoE のテストを進めてきた
  • AWS とか GCP とか
    • 一通りは使える用にはしておく
    • Hashicorp の Atlas とかも触れておく

やること -> やれなかったこと

やること -> やらなかったこと

  • タスク管理ツールをあさる
    • Trello で困ってないので、困るまでは Trello で
  • FoundationDB や CockroachDB などの今時の DB
    • 一端困ってないのでいいかという判断になった

プロトコル -> やった

  • DTLS (1.0 / 1.2 互換)
    • まだまだプロトレベルだけど動くところまでは持って行った
  • MQTT
    • 全て実現、一段落
  • TURN/STUN
    • WebRTC 関連で ICE との連携でかなり学んだ
  • WebRTC
    • 実装を着々と進めている

プロトコル -> やらなかった

  • HTTP/2
    • まだ必要性が見えていなくて簡単な勉強のみ、QUIC の方が気になる

やらないこと

  • Erlang/OTP, Lua, Golang 以外にふれる
    • Rust に手を出した、逆に Golang にほとんど手を出さなかった
    • Rust はパターンマッチと cargo のビルドがかなり気に入ってるので、こちらを主力にする
  • JavaScript
    • WebRTC でちょっとだけ触ったが、基本は人のコピペ
  • ネイティブ系アプリ開発
    • Electron はドキュメントだけ読んだ、自分では手を動かさなかったので問題なし
  • MySQL, PostgreSQL とかの RDB
    • まったくがんばらなかった
  • Riak, Redis とかの KVS 系
    • まったくがんばらなかった
  • ストレージ
    • まったくがんばらなかった
  • エディタを VIM から切り替える
    • まったくがんばらなかった

Medium

はてなは文章が書きづらいので雑多なことは Medium に書いてます

https://medium.com/@voluntas

2015 年いろいろ

年始なので、去年 Pocket に入れてた記事を眺めながらこんなの興味あったんだなぁと思い出しつつ、今年一年どうするかを考えてみた。

2015 年のテーマ

Messaging

メッセージングは自分の中で結構キーになっているっぽい。 いろいろな場面で使えるし、自分に向いている技術の一つなんだろう。

Notification

ただ通知するだけではなく、いつどうやって通知するか。 どう気付かせるか。色々やりかたがありそう。

Automated load testing

自動負荷試験。ここ数年ずっともってるテーマ。今年も継続。全然先が見えない。

負荷試験もそうだけど、ロングラン試験も自動でやっていきたい。ただどのバージョンをやるべきかとか色々難しい。

とにかく頭も手も動かして前に進みたい。

Automated susceptibility testing

自動障害試験(英語が正しいのか謎、突っ込み待ってます)。これもここ数年ずっともってるテーマ。

あこがれは 猿が暴れてクラウドの障害に強くなるNetflixのシステム だ。

自社サービス (MQTT as a Service Sango) を持つようになったので、チャレンジしていきたい。ただそんなに流行ってるサービスではないので、微妙と言われると微妙ではある。

とにかく頭も手も動かして前に進みたい。

やること

  • Golang によるウェブアプリの作成
    • どこまで使えるのか、どこまで行けるのか
  • FoundationDB や CockroachDB などの今時の DB
    • なんとなく知っておいて損はなさそう
  • ドキュメンテーション
    • 去年はかなりないがしろにしていきたので
  • ビルド
    • CircleCI 以外を触る
    • drone ローカルを検討する
    • Docker や Ansible
  • 自動化
    • 去年の終わりの方からゆっくりと進めている
  • テスト
    • 新しい知識が入ってきてないので注入する
  • タスク管理ツールをあさる
    • Trello 以外にも触れてみる
    • Asana とか気になってる
  • AWS とか GCP とか
    • 一通りは使える用にはしておく
    • Hashicorp の Atlas とかも触れておく

プロトコル

  • HTTP/2
    • どう変わっていくのかを少しでもいいので追いかけていく
  • DTLS (1.0 / 1.2 互換)
    • 公式は当面先っぽいので Erlang/OTP 実装をオレオレですすめる
  • MQTT
    • Broker, Service, Gateway の 3 パターンで一段落させる
    • 性能や安定、新機能に切り替える
  • TURN/STUN
    • 一通り実装してあるけど、足りてないのを細々と
    • NAT 関連は今年で一段落したい
  • WebRTC
    • そろそろ WebRTC Stack 実装に手をだそうか悩んでいる
    • SRTP とか SCTP とか

やらないこと

  • Erlang/OTP, Lua, Golang 以外にふれる
    • Rust はなんかだんだん向いてる方向性が違うっぽいので様子見
  • JavaScript
    • もう触れないで生きていきたい
  • ネイティブ系アプリ開発
  • MySQL, PostgreSQL とかの RDB
    • 周りの詳しい人に相談する
  • Riak, Redis とかの KVS 系
    • 周りの詳しい人に相談する
  • ストレージ
    • 周りの詳しい人に相談する
  • エディタを VIM から切り替える
    • AtomIntelliJ だーで無駄な時間が多かった
    • 今年は VIM