例大祭駆動開発。
以前書いたサークルチェックツールを公開した。まだまだ足りない機能も多いけれど、サークルチェックの役に立つとうれしい。もちろん僕も使う(そうじゃなきゃ作らん)。
なんでtrivial circlecheckという名前にしたのかは正直覚えていない。このプロジェクトを去年の2月に始めたあと、去年の4月から今年の1月まで完全に開発が止まっていたからだ。ただ、おそらくnon-trivialではないと思う。
サークルチェックツールの作り直しはこれで3回目だ。一番最初は2011年、JavaScriptで書いたやつだった。クライアントサイドだけで完結したいがためにチェックリストの情報を圧縮して全部cookieにぶち込むというアホっぽい設計だった。今思うとなぜlocalStorageを使わなかったのか謎である。次に作ったのは2012年のC#で書いたやつ、これを長らくメンテしていた(と言ってもほとんどイベントデータの作成だけだが)。2013年4月には早々にこのツールの積極的な改修を見限り、新たなツールをC#で書いていたが、陽の目を見ることなく半年足らずで開発停止。そして2015年から書き始めたのが今回公開したサークルチェックツールというわけだ。
trivial circlecheckはPlay FrameworkとJavaという組み合わせで書いている。仕事ではPHPを書くことが多いゆえ、静的型検査のある言語に飢えていた。Play Frameworkは型検査の安心感と、スクリプト言語のように書いたものがすぐ動かせる感覚とが両立していて、良い選択だったと思う。
URLからお察しの通り、trivial circlecheckはHerokuで動かしている。仕事でWebサービスの開発・運用をしているとたびたび脆弱性対応があったり、Hypervisorの障害に巻き込まれたVMを復旧したりと面倒が多いものだが、そういうことをほとんど気にせずにできるのが嬉しい(が、まだ本番運用し始めたばかりなので見えてない問題はあるかも)。
仕事ではチームの中の一人としてWebサービスの開発をしているので、一人でWebサービスを作ってみると手が回らないなと思うことも多い。運用系の手順はまとまってないし、監視も最低限のログ収集しかできていない、効果測定のための仕組みもないし・・・と。仕事で開発している分、Webサービスを作るときに求めるもののハードルが上がっているというのもある。とはいえ、別にこのツールで金儲けするでもないし(Herokuに課金している分むしろ赤字だ)、そこまでシビアに考える必要もないかとは思う。
日記で技術的なことを書くのは久しぶりだ。次の日記はまた例大祭後だろうか。
あらためて、例大祭のサークルチェックはtrivial circlecheckをよろしく。