エアコンいらないって素晴らしい

Standard
エアコンいらないって素晴らしい

もうすっぽり秋ですね。
 
おさつドキッの塩バター味があまりにもおいしいのでブログのデザイン変えました。
 
マスコットなんて書いちゃったりして、やたらかわいいブログができました。
もうちょっといじるんだけど、今日は眠さに負けたのでまた明日。。。zzzzzzzzz

Google App Engine で select distinct

Standard
Google App Engine で select distinct

Python のSet クラスに感動したのでメモ。
Google App Engine でアプリケーションを開発するとき、データはGoogle Data Store 上に保存する。保存したデータを参照するときはGQLのクエリーを発行するんだけど、GQLにはSQLでいうところのdistinct関数がない。で、distinct使いたいときはアプリ側で処理する必要があるんだけど、Python には Set クラスっていうイケメンなやつがいた。
 

>>> a = [1,1,1,2,2,3,4,5,6,6,6,7,8,9,9,9]
>>> b = set(a)
>>> b
set([1, 2, 3, 4, 5, 6, 7, 8, 9])

 
 
しかもSet 先輩は in っていうしゃかりきな舎弟を連れてる。
たとえば、↓みたいなStreetFighterモデルが保存されてたとして、
ID | name | from
——————
1000 | Ryu | Japan
1001 | Ken | USA
1002 | EHonda | Japan
1003 | Chun-Li | China
1004 | Blanka | Brasil
2001 | Zangief | Russia
2002 | Guile | USA
2003 | Dhalsim | India
 
この中から出身地の一覧を取得したいときは↓みたいな感じに書く。
 

fighters = StreetFighters.all()
fighters_from = []
for f in fighters:
  fighters_from.append(f.from)
results_fighters_from = []
for result in fighters_from:
  if result not in results_fighters_from:
    results_fighters_from.append(result)

 
これで、
results_fighters_from = ['Japan','USA','China','Brasil','Russia','India']
になる。んー、かっこいい。オレが女ならとりあえず同じ部活にマネージャーで入部しとく。

error: unable to create temporary sha1 filename ./objects/5: File exists

Standard
error: unable to create temporary sha1 filename ./objects/5: File exists

わきげさんとやってるプロジェクトで git push したときにこんなエラーが出た。
 
error: unable to create temporary sha1 filename ./objects/5: File exists
 
この記事とまったく同じエラー。あれ、昨日までpushできてたのに。
 
公開リポジトリの下の .git/objects/ 配下を見てみると”5″っていうファイルはあって、自分に書き込み権限がない状態だった。???わきげさんに聞いたら、公開リポジトリの.git/ 配下は特に触ってないらしい。????????結局、.git/ 配下の権限が変わってしまった原因がわからず未解決で放置。
 
とりあえず公開リポジトリをもう1回 clone して修正した後 push したらできたんだけど、なんかすっきりしないなー。原因を解明したい。
 
 

 
 
 

Cover image is not found
amazon.co.jpで詳細情報を見る