2011-01-15

「Smart.fm List Converter」のソースをGitHubに置きました

現在、いくつかsmart.fm関連のWebアプリケーションを公開しています。<http://en45masao.appspot.com> 先日、これらアプリのソースファイル一式をGitHubにpushしておきました。<https://github.com/en45masao/en45masao-tools>

私が英語学習で使っているsmart.fmでは、教材コンテンツを外部から利用できるAPIを提供しています。ただし、「Smart.fm API のサポート停止のお知らせ」という話が出て、公式には去年2010年の9月からサポートが停止されてしまいました。

しかし、実際には「API自体はストップしないが今後は予告なく仕様を変更します」ということらしく、現時点でもsmart.fm APIは一応動いています。そこで、APIを使ってWebアプリを作り、AppEngineのインフラ上で公開したのでした。

作成したのは「Smart.fm List Converter」というアプリで、smart.fmの単語リストをCSVファイルに出力するアプリです。本家smart.fmのサイトでは、リストをCSVファイルに出力する機能を提供しておらず、ユーザーからエクスポート機能の要望が多かったにもかかわらず、公式にはサポートされていない状態でした。そのため、このアプリを公開したときにはかなりの反響があり(声1声2)、多くのsmart.fmユーザーのお役に立てたようです。

あまりいないとは思いますが、smart.fmユーザーの方で、アプリを改良したいという開発者の方がいるならば、利用してください。まあ、サポートが停止されてドキュメントも非公開になったAPIをいまさら使いたがる人はいないでしょうけど。

アプリの技術的な話をすると、アプリのほとんどの処理をクライアント側(HTML/CSS + JavaScript)でやるような作りにしているため、せっかくのサーバ側(AppEngine)の処理能力を有効に生かせていないんですよね。JavaScript側でsmart.fmリストの取得・解析からCSVデータの生成までやってしまっているので、サーバ側では単に「ファイル出力」をするためだけにAppEngineを使っているという状態。別にAppEngineである必要性はほとんどなかったりします。

ちなみに、AppEngineで使える言語はPythonとJavaの2つがありますが、お手軽そうなPythonの方で組んでいます。勉強のためにと思って、それまで未経験だったPythonで作ってみたのですが、こんな単純な処理だと実質3行程度しか処理がなく、ぜんぜん勉強になりませんでした。

0 件のコメント:

コメントを投稿