python

Werkzeugわかりやすくていいすね

Werkzeugのソースについてるサンプルアプリがすごい充実してる。 これと同じく同梱されてるAPIドキュメントがあれば理解早いですね。 ってかソースきれい。いいなー。

ベンチマーク取る用

アスタリスク付きで可変長の引数を受けられるみたい。 def timer(func, *args): import time start = time.time() func(*args) print time.time() - start timeモジュールに時間計測できるメソッドがたくさんある(timer()とかclock()とか)んだけど、ベンチ…

クイックソート勉強

名前めっちゃ速そう!!やり方を超大雑把にいうと、 適当な数(ピボット)を選択して ピボットより小さい数を前、大きい数を後ろに移動して分割 分割されたパーティション内で再度ピボット選んで移動→分割を繰り返す ということらしい。 arr = [30, 20, 60, …

フィボナッチ関数続き

二重再帰を末尾再帰に変更しろと友達から教えてもらった。 def fib(cnt, result, num): if 1 > n: return result fib(cnt - 1, result + num, result) >>>fib(10) 89 >>>fib(20) 10946おーめっちゃ速くなった。 ってかPythonチュートリアルにも載ってるじゃ…

フィボナッチ数

よく目にするけど、なにをするための数なの? と調べてみたら、「木の枝に葉が生えていく過程」とか「カタツムリの殻の渦の広がり」みたいな自然界によく出てくる数なんですね。 というか黄金比とも関わり深いんですね。面白いなあ。 「Fn = Fn−1 + Fn−2」っ…

yieldってなんなんだ

よく分かんないと思ってドキュメント見てたらようやく分かった。 def reverse(data): for index in range(len(data)-1, -1, -1): yield data[index] なるほど、イテレータを作るために使えばいいのか。 yieldを宣言すると、data[index]をreturnして、一旦処…

というわけで

勉強再開。 こないだ買ったこの本読んでみた。Rubyによる情報科学入門作者: 久野靖出版社/メーカー: 近代科学社発売日: 2008/12/01メディア: 単行本 クリック: 5回この商品を含むブログ (13件) を見る情報科学ってそういえば一度も勉強したことなかったので…

MySQL-Pythonをインストールしたときのメモ

ソースをサイトから落としてインストールする。 python setup.py build sudo python setup.py installmysql_configがないとのエラーが出た。 インストールディレクトリ内のsite.cfgを修正。 コメントアウトされてる行があるのでその行のパスを変える。 mysql…

Pylonsでメモアプリ(4)

メモにタグ付けてタグクラウドを表示させてみます。タグの登録は、[tag1][tag2]のようにはてなっぽく[]で囲ったものをタグとして登録するようにしたい。メモの登録時の処理はこんな感じにしてみた。 ・controllers/notes.py from note.lib.tagcloud import *…

Pylonsでメモアプリ(3)

一覧をページングできるようにしよう。 最初の20件だけ表示して、以降は「1 2 3 次の20件へ」なページャから閲覧、みたいな。タグ選んで一覧とか、検索結果一覧とか使う場面多そうなのでなるべく汎用的に。 SQLAlchemyではモデルがタプル型で返ってきてるの…

Pylonsでメモアプリ(2)

今度はコントローラを書く。 コントローラにはRESTコントローラを使ってみました。 メモ、というまさにリソースを扱おうとしているのでRESTの方がいいかなーなんて。 paster create restcontroller note notesすると、notes.py内にいろんなメソッドが用意さ…

やっぱりPylons使うことにした

TurboGears始めてみたものの、やっぱりURLを柔軟にディスパッチできないの がアレだったり、Pylonsの日本語の資料があまりないのとかもあったりして、Pylons触ってくことにしました。ドキュメント見ると、TurboGearsと被ってるもの多いので無駄にはならない…

Pylonsでメモアプリ(1)

実際にアプリを作ってみて勉強してみます。 っていうかWebアプリを実装してみたいだけです。仕様は一般的な感じで、 作成、一覧、変更、削除 タグつけて管理 一覧はページャつける 検索 ユーザー認証 ひとまずAjaxはしない とこんな感じを目標に、試行錯誤し…

TurboGearsを触ってみる

調べてみると、PythonのフレームワークはDjango、TurboGearsというのが二大勢力みたいです。中でも、TurboGearsはいろいろなオープンソースを組み合わせて構成、というのが思想らしく、 個別に使う際にも勉強になりそうなので、TurboGearsを触ってみることに…

TurboGearsで何か作る

と、いうわけでTurboGearsが動くようになったので、公式サイトのチュートリアルを参考にしながらToDoアプリを作ってみます。まずは、モデルを作る。 SQLObjectはActiveRecordパターンということで、クラス名とテーブル名、クラスのプロパティとテーブルのカ…

Pythonの勉強

ちょっとPythonを触ってみたくなったので、しばらく勉強してみます。基本的な文法とかは、公式ドキュメントと「みんなのPython」読んで一通りさらってみました。と、いうわけで実際に書いてちゃんと理解しよう。 個人的にはフレームワークっぽいものを自分で…