たごもりすメモ

コードとかその他の話とか。

2011年を振り返ってみる

思えば、年頭から年末までずっとプログラマとして生活してた。世間的にいろいろあったし自分が受けた影響も決して小さくはなかったけど、プログラマとしてのみ見ればだいぶ充実した年だった。

2010あとしまつ期、ログ収集・解析初期 1月 2月 3月

あるいはscribed/hadoop/hive導入期。この頃、次の仕事はログ収集だー、ということであれこれ始める。実は当初は解析まわりを自分でやることになるとは思ってもみなかったのだが、あれこれあってHadoopを触りはじめて今に至っている。

ホスト管理アプリケーション yabitz (ヤビツ)のコードを公開した - tagomorisのメモ置き場 ホスト管理アプリケーション yabitz (ヤビツ)のコードを公開した - tagomorisのメモ置き場

社内で使うために書いて、いまも元気に動いているツール。ちょこちょこメンテナンスや機能追加などしてたりする。最初はあまり大きなツールにならないだろうと思ってsinatraで書きはじめたんだけど、これは明らかに失敗だった。Railsにしときゃよかった。まあ修正はしやすいんだけどね……。

Apacheログパーサを書いた - tagomorisのメモ置き場 Apacheログパーサを書いた - tagomorisのメモ置き場

これは今思うとなんでこの時期に書いたんだっけという代物だけど、今でももちろん使ってる。このときCPANに公開しそこねたせいでいまだにCPAN authorになれてません。やっとこうかなーどうしようかなーということはその時にやっとけ、という教訓ですね。

ほかにもHiveServerいじったりnode.jsいじったり、あれこれやってた。そして3.11をきっかけに、仕事も何もかも手元のMacBookAir1台でどうにかなる環境を整えた。

釣りの季節Hadoop/node.js期 4月 5月 6月 7月

hadoopジョブの投入方法をあれこれ考えたりして継続しつつ、shibと名付けたHiveクライアントWebアプリケーションをこの時期にずっと作ってたかな。node.jsまわりの細かなあれこれをblogエントリにすることが多かった。

node.jsの非同期I/Oにおけるデータ受信のパターンのバリエーション - tagomorisのメモ置き場 node.jsの非同期I/Oにおけるデータ受信のパターンのバリエーション - tagomorisのメモ置き場
node.jsで複数の処理を並列に実行して全部完了したらコールバックを呼び出したい - tagomorisのメモ置き場 node.jsで複数の処理を並列に実行して全部完了したらコールバックを呼び出したい - tagomorisのメモ置き場

また、Hadoopまわりで本格的にあっちこっちクビを突っ込みはじめて知り合いが増えた。これのおかげで、秋から冬にかけていろいろ面白いことになったような気もする。

"Hbase at Facebook" に行ってきた - tagomorisのメモ置き場 "Hbase at Facebook" に行ってきた - tagomorisのメモ置き場

が、その一方でなんとなーく書いたblogエントリが大ヒットしてしまってどういうことなのかうろたえることが多かったのもこの時期。なんであんなことになったのか。特にみっつめのエントリはコメント欄が面白くてウオッチせずにいられないと友人知人に大評判でした。おまえら仕事しろ。

RAIDレベルの話: 1+0と6はどっちが安全か? - tagomorisのメモ置き場 RAIDレベルの話: 1+0と6はどっちが安全か? - tagomorisのメモ置き場
xargs を使ってカジュアルに並列処理 - tagomorisのメモ置き場 xargs を使ってカジュアルに並列処理 - tagomorisのメモ置き場
いっしょに仕事をしたいプログラマ 5つの特徴 - tagomorisのメモ置き場 いっしょに仕事をしたいプログラマ 5つの特徴 - tagomorisのメモ置き場

しかし実際、今でも考えは変わってない。最近 こんな記事 が話題になったりもしてましたね。あるわー、それおれ半年前に書いたわー(そして炎上したわー)とか。

イベント期 8月 9月 10月

アウトプット期。8月はISUCON、9月はHadoop Conference Japan 2011 Fall、10月はYAPC::Asia 2011とものすごいイベント続きでだいぶやばかった。何がやばいってだいたい直前までコード書いてたことか。

isucon終了に寄せて - tagomorisのメモ置き場 isucon終了に寄せて - tagomorisのメモ置き場

ISUCON「つくりかた」も。8月はずっとこれやってた。まあ、なんか、面白かったなーって。イベントそのものが面白かったのと、副作用的に色んな人と知り合いになれた、知ってもらえた、というのは大きかった。

Node.jsなWebアプリでJobQueueなしにラクラク巨大処理を実行 - tagomorisのメモ置き場 Node.jsなWebアプリでJobQueueなしにラクラク巨大処理を実行 - tagomorisのメモ置き場
#isucon を支えた技術: ベンチマークmaster/agentの構造とnode.jsの話 - tagomorisのメモ置き場 #isucon を支えた技術: ベンチマークmaster/agentの構造とnode.jsの話 - tagomorisのメモ置き場

ISUCONはnode.jsのコードでできているといっても過言ではなくて、そんなあたりで考えたことがいくつかこのあたりに。いまだにリアルタイム処理やりたいと思ったことはないし大規模Webアプリ開発をnode.jsでやるとかないわーって感じだけど、それでもnode.jsわりといいよって思ってる。

Hive Client Webアプリケーション shib をつくった - tagomorisのメモ置き場 Hive Client Webアプリケーション shib をつくった - tagomorisのメモ置き場
Hadoop Conference Japan 2011 Fall に行ってきた&しゃべってきた - tagomorisのメモ置き場 Hadoop Conference Japan 2011 Fall に行ってきた&しゃべってきた - tagomorisのメモ置き場

こっちはHadoop系でやってることをひとまとめ的にしゃべってきた時の話。10分だったのでだいぶざっくりとしたまとめだったけど、何やってるかは明確にできたのかなー。その後またあれこれやってます。まとめてアウトプットする機会があるかなあ。

YAPC::ASIAに行ってきた&しゃべってきた #yapcasia - tagomorisのメモ置き場 YAPC::ASIAに行ってきた&しゃべってきた #yapcasia - tagomorisのメモ置き場
サラリーマン人生における希望と絶望 - tagomorisのメモ置き場 サラリーマン人生における希望と絶望 - tagomorisのメモ置き場
YAPC::ASIAで、あるいは他の勉強会で、しゃべりたいこと、聞きたいこと - tagomorisのメモ置き場 YAPC::ASIAで、あるいは他の勉強会で、しゃべりたいこと、聞きたいこと - tagomorisのメモ置き場

YAPC::Asia 2011でしゃべってきた。……のは小粒な話だったけど、まあ。年頭にいちおう目標にしてたので実現できてよかった。もう少しPerlがっつりなことをやってると面白いのかなーという気もするけど、来年どうしようかな。
で、YAPC前にtokuhiromという人がYAPC開催の1週間くらい前にホッテントリになるような面白い一発ネタエントリを上げておくって言っていたのを読んだのでその通りにしてみたんだけど、いやー、なんかねー、あんま変わらなかったような気がするなあ。色んな人に「よく釣れましたか?(ニヤニヤ」みたいなことは言われたけど。ちょっと反省した。まあ、ええ、よく釣れました。今にして思うと「面白い(Perlのコードの)一発ネタエントリ」ってことだよなきっと。

ふたたびログ解析期 11月 12月

ふたたびHadoop、そしてfluentd期。現在進行形。Hadoop Conference Japan 2011 Fallのときに「ストリーム処理やりたい」と言ってたのを、ついにfluentdで開始した。あれこれコード書いたりベンチマークとったりしてる。

Hoopの性能を確認してみたらもうlibhdfsとかオワコンでHoop使えって結果になった - tagomorisのメモ置き場 Hoopの性能を確認してみたらもうlibhdfsとかオワコンでHoop使えって結果になった - tagomorisのメモ置き場
fluentd のベンチマークとってみたよ! - tagomorisのメモ置き場 fluentd のベンチマークとってみたよ! - tagomorisのメモ置き場
Webサーバログ転送・ストリーム処理系私案 - たごもりすメモ Webサーバログ転送・ストリーム処理系私案 - たごもりすメモ
fluent-plugin-hoop v0.1.0 released - tagomorisのメモ置き場 fluent-plugin-hoop v0.1.0 released - tagomorisのメモ置き場

このへんはまだようやく形になってきたところ。とりあえず使うコードをひととおり書き上げたので、あとはこれから、実際に運用に乗せながら手直ししていく。まだまだやることが山積みでだいぶ楽しいです。

まとめ

こうして見るとblogエントリはそのときやっていたことを見事に反映している。うん、コード書きまくってた1年でしたね。来年もこうありたい。毎年具体的な目標は2月に温泉でぐったりしながら考えることにしているので、多分来年もそうする。
2011年2月に考えたことは以下みっつだった。おお、すげえ、達成してるぞ。

  • コード書きまくる
  • YAPC::Asiaでしゃべりたいのと、あと他にもどこかのイベントに出られたらいいなあ
  • クルマ買ってあちこちクルマと自転車でふらふらしよう

2012年はどうしようかなあ。会社が親会社に統合されたとかであれこれ職場環境が変わったりするのは見えてる。ただ、問題意識そのものがいきなり変わるとも思えないので、当面見える問題をコード書いて解決していきたい、という方向は変わらないと思う。

2011年、みなさまに大変お世話になりました。お蔭様で楽しいエンジニアリングの1年でした。2012年もよろしくおねがいいたします。