#14 「2012年 私の中のマイイノベーション」tech.kayac.com Advent Calendar 2012

@kenjiskywalker 氏に「2012年 私の中のマイイノベーション」について記事を書けと脅されながらこのエントリを書いております。

振り返ってみると今年もいろいろイノベーティブな出来事があったので思い出せる範囲でまとめてみようかとおもいます。

GNU screen から tmux に移行した

screenとくらべるとtmuxはなかなかベンリでイノベってますね。

みたい記事を書いてたみたいです。意外ととあんまり書いてなかったですね!

mosh を使い始めた

ssh のかわりにいくつかの環境で mosh を利用し始めました。

僕は MacBook Air 一つでいろいろなところで作業をするのですが、ssh だと移動するたびに接続し直しになって面倒だし、 とくに移動中に作業したりする時には、電波が弱い場所やトンネルなどで圏外になるたびに再接続をする必要があり、非常にストレスがたまります。

その点 mosh ではどこに移動してもつなぎっぱなし(のように見える)で、シームレスに作業の続きができるため非常に捗ります。

mosh にかんしては社内でベンリーベンリー騒いでたくらいでとくに記事を書いてはなかったようです。

Redis を使い始めた

Redis というKVSをつかいはじめました。

単純なKVSとしてももちろんつかえるのですが、いろいろなデータ構造をオンメモリで高速にあつかえるため、 向いている作業をまかせると既存のアプリケーションを非常に高速化できたりします。

ISUCONで優勝してきたりもしました。

また、いろいろなデータ型があってそれに対応するコマンドも多くあるので、 単純に使うとしてもどの使い方が効率的なのか? ということを考えるのがパズル的で楽しいところも Redis をつかっていて楽しいところですね。

GitDDL まじイノベーティブ

git をつかった開発では各人がカジュアルに作業ブランチをきって作業するため、 それぞれがそこでデータベース定義を変更したりするとたいへんつらいことになってしまいます。

そこで、データベーススキーマ自体もgitで管理しちゃえばいいんじゃないの? ってなことでうまれたモジュールが GitDDL です。

これを使用すると branch を切り替えた際に、もしテータベース定義が変更されていると差分を git をもとにつくって、よしなに ALTER 文を発行してくれるものです。 これは本当にイノベーティブなのですが、説明するのが非常に面倒なので隣の席の人のエントリを参照ください。

まとめ

他にもあった気がしますがとりあえず今思い出せるのはこんな感じですね。

どれもいまとなってはかかせないツールですね。 さわったことないなーってものがありましたらぜひお試しくださいませ!

明日はフードファイターマコピー氏です。