2010年12月30日木曜日

CoreDataのsaveは遅い?

iPhoneでブログのエントリーを取得・表示するアプリを作っていて。
データの保存にはCoreDataを使ってたんだけど、これが恐ろしく遅い。

測ってみると、1件処理するのにだいたい0.05秒かかる。
100件だと5秒。500件だと25秒。1000件だと50秒。
さすがに、これだけ待たせるのはいくらなんでもまずい。

それまではひとつのループの中で挿入と保存をしてたのを、
別々のループに分けてみたら早くなった。
1件処理するのにだいたい0.01秒かからないぐらい。
前の5倍以上の早さ!かかる時間が5分の1!

早くなったのはよかったけど、理由がわからない。
どんなコマンドが呼ばれてるかとか見てみるといいのかな。
ソースとはまた後日掲載します。多分。

2010年12月23日木曜日

Pythonで全角数字を半角数字に変換する方法

Pythonで全角数字を半角数字に変換する方法。

import unicodedata

str = u'123'
res = unicodedata.normalize('NFKC', str)

こんな感じ。
Cookpadのレシピをとってきて何かする、みたいなときに使える。
大3とか大3とか、統一されてないから。

2010年9月19日日曜日

Pythonistaになるために

夏ももう終わりですね、とか言いながらまだ暑いのはどうしたものか。

ということでやりたいことがってPythonを勉強しはじめてみました。
やりたいことっていうかGAE for Pythonが使いたい。

まずこの本↓読んでる。


Pythonてどんなもんだろーてのがわかって良い感じ。
読むたびにPythonて自由だなとか、楽しそうだなとか思う。
これ読んだあとはLearn Python The Hard Wayやろう。


Pythonの勉強をまったく始められないあなたと私に送る8つのタスクを見て、「よし、まずは初めてのPythonだ!」と思ったけど、僕には荷が重すぎました。
なにあの重量感。