2010年の12月頃 に作った 作曲できる奴ちょっとこいのデータで遊ぶ を、久しぶりに作りなおしてみた。 当時はまだ正式リリース前の Go 言語を使って HTML の取得とサイトの表示を、取得した HTML の解析には Python で BeautifulSoup を使っていた。 今日では Go 言語も正式リリースされ、HTML 解析周りの処理もサブリポジトリで exp を卒業して code.google.com/p/go.net/html になり、 github.com/PuerkitoBio/goquery のようなお気楽なライブラリもあり、頑張らなくても楽しい時代がやってきた。甘い汁美味しい! 甘い汁美味しい! データの格納先に関しても、Go Team による LevelDB の実装はまだ未完成らしいのだが、探してみると github.com/syndtr/goleveldb は Pure Go 実装でキビキビ動いてくれるので SQLite3 だった前回とは違い今回は LevelDB に変更した。甘い汁美味しい! 甘い汁美味しいよおお! そんなわけで今回はデータ収集、解析、サイトまで全て Go 言語で作り、しかも Cgo も使わずに完成まで辿りつけたので、クロスコンパイルで各プラットフォーム用のバイナリを生成して、サイトをまるごと配布してみた。 展開状態でも LevelDB が Snappy で圧縮されてて 150MB ぐらい、全体的に重複部分が多いので全体を 7z で固めても 40MB を切る程度のデータ量に収まって満足。 面白い歌詞生成して遊びましょう 。