タグ

ブックマーク / piro-suke.hatenablog.com (4)

  • スゴロコを「場所をグループ化する」サービスに変更しました - Pyro Memo

    先日「場所をブックマークする」サービスとして作成したスゴロコですが、あーでもないこーでもないと機能を追加したり削ったりした結果、「地図上の場所をユーザーが自分の基準でグループ化する」機能をメインに持ってくることに落ち着きました。 http://www.sugolo.co 今流行りのキュレーションサービスを作ってみたかった、というのも理由の1つですが、そうすることで色々なテーマで場所がまとめられて、スゴロコの目的である「新しい場所の発見」もしやすくなるのではないか、と考えたわけです。 まあ実際グループ化といってもどんな分類方法がありえるのかもう少し具体化しないと使いにくいと思うのですが、そのあたりはただいま検討中です。 今のところ思いつくのは、こんな感じのまとめ方: 近いエリアにある場所 同じカテゴリやグループの場所 旅行等で辿った場所(個人の体験) おすすめコース 人気の高い場所 テレビ

    laiso
    laiso 2011/01/31
  • Google App Engine で全文検索 - Pyro Memo

    Google App Engine には今のところ全文検索機能がないので、色々試してみた。検索処理についての知識は、Web+DB Pressの53号を読んだ程度。 やりたいことは、Twitterみたいな感じで各ユーザーが短い文章を登録するようなサービスで、その発言内容からキーワード検索したい。できれば、スペース区切りで複数のキーワードを指定して絞り込みができるようにしたい。appengineなので、インデックス作成や検索処理だけで割り当てがなくならない程度に効率的に。 下記の3つの方法を試してみた。接尾辞配列もどきn-gramもどき オーソドックスn-gram で、結果として、3番目のオーソドックスなn-gramが今のところうまく動いてるっぽい。失敗パターンにも色々学ぶところはあったので、それぞれメモをまとめておく。 接尾辞配列もどきまず最初に試したのがこれ。接尾辞配列というのは今回のサー

    laiso
    laiso 2010/08/06
  • Google App EngineでフィルタしないリストはBlob化してキーで一括取得 - Pyro Memo

    使いまわせそうな方法が見つかったのでメモ。 ユーザー毎にタグを作成できるような機能を作成していて、特定のユーザーのタグを一括で取得しようとする場合、普通にタグ毎にエンティティを作成していると、200件くらいのタグをuserでfilterして取得するだけでも結構時間がかかる。 class Tag(db.Model): """key_name is user_id/tagid""" user = db.ReferenceProperty(User) name = db.StringProperty() ... tag_list = Tag.all().filter("user = ", user).order("name") 色々調べてみたところ、検索に使用しないデータはシリアライズしてzlib圧縮してBlobPropertyに入れておくといいらしいことが分かった。考えてみるとタグはユーザー

    laiso
    laiso 2010/03/09
  • Google App Engine + app-engine-patchでCPU時間を短縮する - Pyro Memo

    サーバのログを見ていたらCPU警告だらけになっていたので、チューニングして効果のあったものを記録していく。 参考にしたページGoogle App Engineを高速化する3つのtipshttp://mattn.kaoriya.net/software/lang/python/20080526182049.htm ディスク<帯域<CPUの順に制限がキツくなるGoogle App EngineのQuota構成から見るコストパフォーマンスの高いシステム構成http://coreblog.org/ats/now-we-are-free-from-qota-hell Google App Engineのmemcacheを試してみたhttp://taichino.com/programming/487 Google App Engineのmemcache APIがやばすぎるhttp://mattn.

    laiso
    laiso 2009/08/26
  • 1