2007/11/24 (Sat) Sqliteチューニング
2007/06/09 (Sat) Python2日目 -- MySQL

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


もう常識かもしれないけど、
Mysqlと同じつもりでSqliteを使ったら痛い目にあった

教訓1:sqliteのINSERT OR REPLACE INTOは激重、使い物にならん
メモリーにロードして自分で比較した方がマシ

教訓2:sqliteのINSERTはトランザクションしないと激重、使い物にならん
トランザクションしてからINSERTしょう

教訓3:Sqliteのトランザクション中selectをやると激激重、やりすぎるとCommitできなくなる
トランザクションの前にselectしちゃおう



スポンサーサイト

テーマ:データベース - ジャンル:コンピュータ


Ajaxデザインパターン 『Ajaxデザインパターン』


ここ数年買った本の中でもトップクラスの使える一冊。

700ページぐらいあるが、
おもしろくて一気に読んでしまった。

あのサイトはこういう風に作っているのか、
そんなライブラリがあったのか、
こんな作り方もあったのか、

実にたくさんのことを知った。

最近ブログさぼり気味のも実は毎日この本を読んでいたせいw


テーマ:プログラミング - ジャンル:コンピュータ


あとはサーバーサイトでpythonを実行できるようにするだけ。

調べてみたらmod_pythonを使う方が楽&速いらしいので、
こっちをインストールしてみることにした。

詳しい「mod_python マニュアル」が公開されていて、
それを見ながらインストールも環境設定もすんなりとできた。

テストしてみたら確かに使いやすい、
パブリッシャーハンドラの仕組みと変数の渡し方はよく考えられているな。

PythonのWebApp開発環境はこれで一通り準備完了。



テーマ:プログラミング - ジャンル:コンピュータ


Pythonを使ってみたいキッカケにもなった「SQLObject」だが、
実際に使ってみたら、

1.クラス定義が面倒
2.複雑なjoin、副問い合わせの記述が面倒&読みづらい

でどうしても馴染めなくて、素直に「MySQLdb」を使うことにした。

こんな感じのクラスを作れば

import MySQLdb

dbInfo = dict(db="...", host="...", user="...", passwd="...")

class DB():
  con = None
  c = None
  
  def __init__(self):
    self.con = MySQLdb.connect(**dbInfo)
    self.c = self.con.cursor(cursorclass=MySQLdb.cursors.DictCursor)
  
  def __del__(self):
    self.c.close()
    self.con.close()
    
  def do(self, sql):
    self.c.execute(sql)


こんな感じに使える

  db = DB()
  
  db.do("SELECT * FROM foo")
  
  for r in db.c.fetchall():
    print r["FOO_NAME"]


楽にクラスを使えるPythonはいいね。

つづく...


テーマ:プログラミング - ジャンル:コンピュータ


構想中の新しいWebアプリケーションに
前から気になってた「Python」を使ってみることにした。

配布サイトからmsiをダウンロードして、インストールして、
「ニシキヘビを飼おう」「Python ドキュメント」を見ながら文法を確認してみた、

Perl、Rubyなどのスクリプト言語と比べて

1.$やら#やら@やらをいちいち書かなくて済むのがなによりうれしい。

2.言語でコーディングスタイルが決まっているため、
  人が書いたコードが読みやすい。

3.文字列を扱うのが楽。
  同時代入
    x, y = "abcde", "xyz"
  スライス:
    x[1:3] + y[2:] → "bcz"
  Cスタイルフォーマット:
    "%s %s" % (x, y) → abcdc xyz
    '%(a)s %(b)s %(a)s' % {'a':y, "b":x} → xyz abcde xyz

4.ビッド演算ができる。

5.オブジェクト指向である。class、継承は一通り揃ってある。


C++やJavaに慣れた自分にはかなり馴染みやすそうだ。

つづく...


テーマ:プログラミング - ジャンル:コンピュータ



| HOME | Next


Design by mi104c.
Copyright © 2016 ライフハック マイ ライフ, All rights reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。