GAE Hackathon vol.2 & Python忘年会
だいぶ遅くなったけどまとめてBlogする。第2回Google App EngineのHackathonに行ってきました。今回は少人数のチームに分かれて、各チームにテーマが与えられました。私が参加していたチームのテーマはモデル。最近はBigTableにもなれてきましたが、やっぱりRDBMSじゃないし、クエリーが発行できるのも=
、<
、>
のみ。また、日本語の検索自由度はないに等しい(どうやらGAE HackathonでSearch APIをもうすぐリリースするという情報が!)。そこで、日本の郵便番号住所の情報を検索可能なモデルを作成することにした。分かち書きして、そのリストを保有するという選択肢もあるのだが、今回は前方一致、後方一致検索ができるようなモデルを作成することにした。"東京"、"東京都"、"新宿区"、"西新宿"とかで検索可能にしたい。色々と悩んだ結果、str
をlist
で分割し、位置も実図連結してStringListPropertyに突っ込むことにした(相当荒業)。ソースはここにおいた。Modelのputをフックし、リファレンスが張ってある別Modelに文字列のリストを保存している。時間は短かったですが、わいわい楽しいコーディングができましたよ!
それと、グルーのtmatsuoさんより、前方一致のテクニックを教わった。
db.GqlQuery('SELECT * FROM Test WHERE w >= :1 and w < :2', word, word + u'\uFFFD')
というコード。その文字以上かつ、ユニコードの最大文字である'\uFFFD'
以下の文字で比較するというもの。これはありがたく使わせていただきます。special thanks tmatsuo!
あと、いつもお世話になっているid:Voluntasさんが幹事のPython忘年会に参加しました!この会、いつもメンバが濃い。ちょっとびびってたmopemopeさんがすごい優しい人で、あまりのギャップにやられました(笑)。っていうかmopemopeさんが忘年会の前に勉強会を開くという話だったので、楽しみにしていたのですが見事に(ry。
コメント
コメントを投稿