「何故あなたはコードを書くのでしょうか?」
アンケート
先日、本ブログで紹介させて頂いたとおり、この夏、7.28(土)-29(日)の2日間、
定山渓ビューホテルにて開催される一泊二日の泊まり込みのIT系イベント
「
Code2012」に向けて、「何故あなたはコードを書くのでしょうか?」アンケートを実施中である。
「何故あなたはコードを書くのでしょうか」アンケート回答用 Web フォーム
(下記いずれでからでもOK)
http://code2012survey.azurewebsites.net/
http://code2012survey.apphb.com/
まだの方は、よろしければ回答投稿にご協力頂ければ幸いである。
バックエンド側の API サイト
さて、
先日の投稿にも書いたが、このアンケートシステムは、フロントエンド側は
ASP.NET、バックエンド側は Ruby on Rails による Web API システム、というようにきれいに分離してある。
アンケートの回答結果は、Heroku 上に設営されているバックエンド側 Web API サイトに HTTP GET 要求を送ることで、リアルタイムに JSON 形式で取得可能である。
アンケートの回答結果を取得する URL
http://code-survey.herokuapp.com/surveys.json
CSVで落とせるようにしてみた
このようにバックエンド側 API をきれいに分離してあるので、この API を利用した様々なアプリを作成可能である。
そこで、訳あって、このアンケートの回答結果を、JSON ではなくCSV形式で取得する、ある種のコンバータ、プロクシとして動作する Web サイトをもうひとつ作ってみた。
アンケートの回答結果を CSV 形式で取得する URL
http://code2012survey2csv.apphb.com/replies/ascsv?encoding=utf-8&safeformat=false&header=true
ソースコードはこちら。
https://github.com/jsakamoto/code2012survey2csv
クエリ文字列で指定するオプションは以下のとおり。
encoding
文字エンコード方式。
省略時の既定値は UTF-8。
"encoding=shift_jis" など、.NET Framework の Encoding.GetEncoding(s) で解釈可能な文字エンコード方式名を指定できる。
safeformat
単純に解析できるように書式を変形するかどうかを true か false かで指定するフラグ。
省略時の既定値は false。
true を指定すると、CSVのセル中のカンマと改行(CRおよびLF)とダブルクォーテーションを、\ux0000 形式の表記に置換する。
これの何がうれしいかというと、単純に改行とカンマとで分割しても、安全に扱えるようになる点だ。
header
1行目に、列名を表現するヘッダ行を加えるかどうかを true か false かで指定するフラグ。
省略時の既定値は true。
JSON 形式は大変便利だが、シェルスクリプトなどで処理する場合は、CSV 形式の方が扱いやすい、ということもあるだろう。
私自身が必要に迫られて作成したサイトではあるが、皆さんのご利用は大歓迎である。
もしこれら API・Web サイトを利用して何かしらアプリを作成されたら、本ブログのコメントや、
ハッシュタグ #codejp での Twitter 上でのツイートなどでお知らせ頂けると、Code 2012 イベント当日にご紹介させて頂こうと考えている。
当日、お待ちしております!
以上、それではアンケートの回答結果を楽しんでもらいつつ、Code 2012 イベント当日は、このネタで歓談できれば、さらにうれしいかぎりである。
参加ご登録をお待ちしている。