nantekkotai achieves

過去記事置き場

備忘録

Pythonのバリデーションライブラリ「FormEncode」

Google App Engineで使える手軽なバリデーションライブラリは無いかと、調べていたら FormEncodeなるものを発見。 http://formencode.org/まだ詳しくは使ってないけれど、これは使えそう。

VirtualBox + CentOS in Mac OS X でゲストOSにWEBアクセスする

公開するサーバと同じ設定でテストを行ないたいと思い、MacBookにVirtualBoxをインストール、CentOS5を動かすことにした。 使用するかもしれないVPSに環境を合わせるためメモリを256MBにしたら、結構重い。俺のMAcBookが(なぜか)悲鳴を上げているぜ。 それ…

cakePHPのデフォルトビューを変更する

通常では app/views/layouts/default.ctp がデフォルトビューとして呼び出される。 これを変更するには、まず呼び出したいデフォルトテンプレートを作成して、それを各コントローラかアクションで指定すればいい。 class HogesController extends AppControl…

指定したアソシエーションをコントローラーで無効にする

recursiveに-1を指定して、find するとModelで指定したアソシエーションが無視されるようだ。 $this->Model->recursive = -1; $this->Model->find("all");

PHP+MySQLで効率よく全文検索するには?

たたみラボさんにこんなものがあった。 MySQL FULLTEXT + Ngram : LIKE検索より数十倍高速な、お手軽 日本語全文検索 について まだ、試していないけど面白そうだ。あとでやってみようっと。

Google App Engine DatastoreのListProperty

Google App Engine の Datastore にはなんとリストを格納できるプロパティがある。 以下はサンプル class Test(db.Model): int_list = db.ListProperty(long) # 数値の場合 str_list = db.StringListProperty() # 文字列を扱う場合 # default int_list = [1,…

cakePHP1.2のModel->Validates

cakePHP1.1だと、 function add() { if (!empty($this->data)) { if ($this->Post->Validates($this->data)) { // 処理とか } } } これがcakePHP1.2だと、 function add() { if (!empty($this->data)) { if ($this->Post->create($this->data) && $this->Pos…

セッションの使い方

自分のための備忘録。 $this->Session->renew(); 新しいセッションIDを与え、かつ古いセッションデータを引き継ぐ。 $this->Session->valid(); セッションがvalidであればチェックする(らしい)。 公式ドキュメントを読んでいるだけでもいろいろと発見があ…