GAE/Go で日本語ハッシュタグをまとめるサービス作りました #イーハッシュJP
ちょっと前に、GAE/Goが一般公開されたので、GAE/Goを使って日本語ハッシュタグをまとめるサービスを作ってみました。
プログラミング言語「Go」、Google App Engineで誰でも利用可能に(2011/07/25)
Google App Engine SDK 1.5.0で実験的にプログラミング言語「Go」のサポートが追加されたが、今回の新しいGoogle App Engine SDK 1.5.2において誰でも利用できるようになった。
#イーハッシュJP
Twitterの中で日本語ハッシュタグを使って行なわれている、大喜利・ムチャブリ・暇潰しなどなどを纏めてます。
日本語ハッシュタグの例
Twitterアカウントも用意しました。更新情報を流してます。
Go(golang) の利点
golangで作ってみた利点は、たくさんありました。
構文エラーや、単純なバグは、コンパイルエラーのチェックにひっかかる
構文エラーや、単純なバグは、サーバを起動する前に検出できるので、ミスが多い自分としては、とても助かりました。 GAE/Goの開発環境がコンパイルとかはしてくれているので、コードを修正してブラウザをリロードすれば、全体のコンパイルが走る。 その時に、コンパイルエラーがあれば、エラーの内容がブラウザに表示されます。 GAEのデプロイ時にもコンパイルが走るので、おかしなコードをデプロイしてしまうことが無いというのも嬉しいところ。
使わない変数やimportがあるとコンパイルエラーになる
これは、最初は、やりすぎなんじゃないかと思った機能ですが、コードを綺麗に保たざるを得ないので、今では好きな機能の一つ
標準ライブラリが一通り揃ってる
今回外部のライブラリで使ったのは、appengine関連だけです。jsonもxmlもhttpClientも標準ライブラリで間にあってます。
簡潔に書ける
golangの言語仕様も非常によく考えられていて、慣れると快適です。現在の#イーハッシュJPのgolangで書かれているコードは、2,272行でした。 pythonならもうちょっと短かくても済むかもしれないですが、使うライブラリを含めたらGolangの方が少ないんじゃないかな。
GAE/Go は、おすすめです
GAE/Go は、どの程度使われているんだろう? あまり、実用段階として使ってる人を見掛けないような。。 若い言語だからGolangの標準ライブラリの仕様変更は、頻繁に発生してます。 その時に自分のコードを修正する覚悟さえあれば、GAE/Goは、お勧めの環境だと思います。