2010-01-01から1年間の記事一覧

mysqlのindex(key)は、nullありで指定しても結局nullレコードもindexされる

たまに忘れるので、メモ。mysqlのindex(key)は、nullありで指定しても結局nullレコードもindexされる。 col_name IS NULLを使用した検索では、col_nameにインデックスが張られている場合にインデックスが使用されます。 MySQL :: MySQL 5.6 リファレンスマニ…

CakePHP1.2 -> 1.3: Habtmのバリデーション

1.2にはなかったが、1.3では__validateWithModelsという関数ができて、Model::validatesの中で使われている。この関数は、habtmの中間テーブルで入力値バリデーションを行ってくれる、というものだ。Cakeのhabtmデータは他のアソシエーションとは違い、アソ…

CakePHPでsession.cookie_secureを外す

1.2時代、セッションの初期化処理(CakeSession#__initSession)が2度以上走るとrequire_onceなせいで、設定のカスタマイズに色々問題があった(特にsession.cookie_secureはそこだけ他の設定項目とは別枠の処理になっていて手が出せない)

username@独自ドメインなアカウントでgoogle appengineを"Create an Application" する時は気をつけろ!

Google Appsで取ったusername@独自ドメインなアカウントからappengineを使う場合、注意する必要がある。 appIDを取得できる事にはできるのだが、取得後、AppIDの一覧画面に戻っても、表示は初期の空状態のままである。どうもhttp://code.google.com/intl/ja/…

[python] 様々なtips

外部からattributeを持たせても、モジュールや継承先にも影響を及ぼす様。 --- a.py class A(object): pass --- ....py import a class B(a.A): pass print B.x # -> AttributeError setattr(a.A, 'x', '!!') print B.x # -> '!!' >>> class A(object): pass…

メタクラスメモ

>>> class Meta(type): ... def __new__(name, *args): ... print 'created' ... name = 'Memeta!' ... return type(name, *args) >>> class A(object): ... __metaclass__ = meta 'created' >>> A.__name__ 'Memeta!' >>> def meta(name, *args): ... print…

URL/Endpoint Mapperの作り方に関して、

kayのURL mappingは以下の通り --- root/urls.py from werkzeug.routing import ( Map, Rule, Submount, EndpointPrefix, RuleTemplate, ) def make_rules(): return [ EndpointPrefix('app/', [ Rule('/', endpoint='index'), Rule('/new', endpoint='new')…

kay frameworkでform自動生成

kayの実際のコード例をあまり見かけないので、試用中のコードをここに晒してみたい。あんまりkayの事を良く分かっていない中で作ったので、良い使用例かどうかは判断がつかない。(もう幾らかやってみたらMLで色々聞いてみよう)下記の例では、入力データの加…

appengineのadminメニュー

http://localhost:8080/_ah/admin/にアクセスすると、GAE用の管理メニューにアクセスすることができる。データCRUDツールに、Webシェルがあるので、確かにSQL/JOINなくてもかまわないか、という気分になる。

formencode

FormEncode — FormEncode 2.0.0a1 documentationの使い方フォームバリデーションライブラリ。ドキュメント見ても今一わかりづらいので、以下エグザンプル。 from formencode import htmlfill from formencode import Schema from formencode import validato…

Google AppEngine + Werkzeug + jinja2 -> kay framework

Djangoを使ってみたのはいいものの、やはり、動かない(あるいは良く分からないので、動かせない)部分が多く、使いづらい。変にDjangoにこだわる必要も無いので、Werkzeug+jinja2というプレーンな構成に変更した。Djangoは粗結合をうたっているとはいえ、巨大…

調子に乗ってアプリケーションを登録しまくると……

話が飛んでしまうが、 デベロッパーは、各自の Google App Engine 管理者アカウントで 10 のアプリケーションを作成できます。現時点では、作成したアプリケーションを削除することはできません。 だそうで、変えられないらしいので、気をつけましょう。

Google AppEngine で外部ライブラリ

Google AppEngine APIは当たり前かもしれないが、データストアやキャッシュやメール等々、インフラ周りしかないため、その他の部分は適当なライブラリを選んで使うことになる。では、GAEでは一般的にはどうしているかと言えば、http://code.google.com/intl/…

OS X に Google App Engine (GAE)を入れる

http://code.google.com/intl/ja/appengine/downloads.html#Google_App_Engine_SDK_for_Pythonからdmgを取って来てGoogleAppEngineLauncher.appをどこかへコピー。これで完了です。 パスを設定 OS Xのシステム標準のPythonを使うのでなければ、メニューから…

OS X に Python を入れる (Google App Engine用に)

python本体 今のところ、GAEはpython2.5環境なので、ローカルもできれば2.5で。 System Default OS Xはpythonがデフォルトでインストールされているので、 /usr/bin/python -> /System/Library/Frameworks/Python.framework/Versions/2.X/bin/python に元か…