Block Rockin’ Codes

back with another one of those block rockin' codes

2013 年をふりかえる

intro

恒例の振り返りです。


去年の年末に「Go で SPDY サーバを書くと」 言った目標を立ててスタートした年なのでその辺が中心だったと思います。
年の初めにちょろっと SPDY のパッチを go.net に投げて、そっからは HTTP2.0 仕様を追いかけながらサーバ/クライアントのインプリなどをしていました。

Input

HTTP2.0 周りを追いかける中で、ネットワーク周りの知識の圧倒的な不足を痛感した。
そのおかげで、今年はアプリケーションよりは、ネットワークプログラミングな年になった気がする。
「若者のプロトコル離れ」が叫ばれていますが、このレイヤを色々と勉強したし、 RFC も色々と読んだ、標準化プロセスにもちょっと参加してみたりした。


ネットワークプログラミングは難しい。 Erlang ずるい。


そして、このレイヤのプログラムを今年ずっと Go でやっていました。
去年までは Node が多かったけど、思えば今年は Node は殆ど触ってないかも。
自分は Go は割りとミドルウェアを書くのに向いてると思っているので、今自分が書きたいものに非常にマッチしていたと思う。


Go の持つ思想は慣れないと難しいし、慣れても難しいところがあるのですが、それを学ぶことが、自分の言語に対する感覚を大きく広げてくれたと思うので、その辺は非常に勉強になった。


この辺は引き続き勉強していきたい。


あとは、 Angular を少しかじった。
やっと Bata Binding による Single Page なアプリの土台が整いつつあると思う。
そんな話は昔良く書いたけど、同時自分は Stream の連結というふうに捉えていて、それは途中で投げて別のこと始めてしまったので、
今一度この辺始めたいなと想う。


Angular vs Backbone みたいな空気あるけど、自分としてはやりたいことができればどっちでも良い。
ただ、 Backbone は行儀良い JS の延長にあって、 Angular は JS の限界を黒魔術で越えようとしているので、趣味でいじるには Angular の方がおもしろい。
ここをうまく土台にして、もっと Reactive Programing の知見にも触れていきたいと思っている。

合わせて WebComponent が素晴らしいと思うので、もっと普及してみんなが Component 沢山公開して、自分のようにデザインとかマークアップが苦手な人がそこに乗っかれると嬉しいなと思う。
将来的なフレームワークは WebComponent との親和性が重要になる気がしていて、 Angular はそこへの意識が高めだと思うので、その点でもよさそう。

また asm.js の登場で、今まで生 JavaScript でもゴリゴリ書けてしまっていた人たちにも、 altjs に手を出す動機ができたので、
自分もそろそろ手を出してもいいかなと思っている。合わせると Angular.Dart とかになるのかな? TypeScript かどっちかかと思ってる。


そんな感じで、来年は今年学んだことを生かして、もう少しアプリのレイヤで色々やりたいと思う。

Output

なによりも、今年は「月に一度は Blog を書く」という目標を、かなり厳しかったけど、なんとかクリアした。


おかげで、はてダの下にある年ごとの月別リンクが、 2010 年以降 3 年ぶりに 1~12 まで全部そろった。
これは気持ちいい。来年もこれを続けたいと思う。理想は無理に絞り出さなくても常に書きたいことがあるくらいの技術的な探求を続けたい。


コード的な意味で言えば、 SPDY は go.net にパッチを投げたきりになっている。HTTP2.0 の Go 実装は一応できたんだけど、その後のバージョンアップに追い付ききれず中途半端になっている。
なんとか年末休み中には Hello World まで行きたい。

ということで、色々揃ったからあとはガガッとやるだけなので、中途半端だったところはもう少し進めたい。


他には今年も色々書き物が多かった。

発表系で、HTTP2.0 や SPDY 関連の発表が多かったため、その辺のスライドは何度か作った。


勉強会やカンファレンスも沢山あった。

  • CROSS2013 次世代 Web セッション
  • 東京 Node 学園 / 学園祭
  • Go コン
  • HTTP2.0 勉強会 / ハッカソン

あたりをやった。


Go 周りでは名前を「思いついちゃったんだから仕方ない」の精神だった。

  • Go研
  • 電車でGo
  • Go羅温泉
  • Go年会


Go 研は今年から始めた研究会なんだけど、今のところ自分の理想の研究会ができている。
しばらくこのまま続けたい。


他にもちょいちょいカンファレンスや勉強会に、参加したり、発表したりした。


書きものとしては

inao デビューさせて頂いた。(WebDBは二回目だけど、初回は別の方だった)


あと、 HTML5Experts.jp に選んでいただいた。
Google が Web を速くするためにやっている Make The Web Faster というページがあるんだけど、 そのページに上がってるプロダクトやプロトコルなどを片っ端から紹介するという無謀な連載を始めることになった。(言い出したのは自分だけどw)


今のところ、おおよそ月一くらいのペースで自由にやらせてもらって4回まできた。
もう少し続けながら、こういう連載でもやらなければ調べることもなかっただろうことを調べていく。
(毎回調べるの結構つらいが、勉強になる。)


一周回って、執筆もまあ面白いかもと思えるようになってきた。
一方で、コード書く時間がやっぱり減るので、その辺のバランスを上手く取りながら、チャンスがあれば続けていきたい。


2014 にむけて

来年はとりあえず CROSS 2014 で次世代 Web セッションをまたやらせていただくことに
なったので、まずはそれを頑張る。(今回もまたものすごく豪華なメンバーに集まっていただけた。)


来年は HTTP2.0 一旦止めて、ちゃんと動く SPDY サーバを Go で作ろうかと思ってる。
あと、今年はレイヤ低めの話が多かったけど、それらを踏まえてもう少しアプリ寄りに改善を加えた感じで、
なにかやっていきたいと思っている。まだ漠然としている。


あとは、 jxck.io ドメインを運用し始めたので、そろそろはてダは卒業しようかと思っている。


ということで、今年も色々な方に出会えて色々なことを学べて、非常に満足度の高い一年だったと思います。
来年もどうぞよろしくお願いいたします。