HOME | ドキュメント |  ブログ  |  BBS  |  瓦版  | 将棋プロジェクト |  物置小屋   

ドキュメント 象歩 Web瓦版
 BBSボード RDF
こんにちは (23)
おためし板 (321)
質問箱 (94)
テスト (13)
建築 DIY (6)
MTB (34)
(11)
節電対策 (2)
このサイトに関する話 (181)
Linux (396)
PC用ハードウェア (10)
Vine Linux 野良系 (68)
PC 工作 (31)
BBS の改良 (105)
Vine Seed (520)
Zope とプロダクト (95)
Web の利用技術 (131)
DB とファイルシステム (63)
Python と C/C++ と... (29)
Zopeプロダクト開発メモ (3)
UTF-8 化 (42)
Mail 環境 (8)
COREBlog (109)
Zope3 (51)
Windows 64bit (17)
Mac (2)
Squeak スクイーク (67)
Django ぶらり一人旅 (3)
64bits (52)
Mono 思いにふける (13)
ディスクトップ (4)
象歩将棋 (477)
将棋よもやま (206)
サイトのデザイン (31)
心配な話 (65)
うそ (20)
昔のゲストブック (20)
ボート部 (80)
鶴南六組 (2)
Web 日記 (202)
 スパム
逮捕しる (0)
スパムお溜り (384)
ごみ箱 (11)
 リンク
kiyoさんのサイト
ペンタ郎の漫漕ブログ
TIT漕艇部の練習動画 @YouTube
墨堤の雄 @FaceBook
ペンタ(五大学ミドル) @FaceBook
Facebook
Vine Seed パッケージビルド状況
Vine Linux パッケージ情報
VineLinux バグトラッキングセンタ
VineSeed 開発用 Trac
VineSeed Specs
RPMパッケージの作成方法
Linux Standard Base
Planet Vine
Vine Linux ユーザーフォーラム
Vine Users ML アーカイブ
VineSeed ML アーカイブ
twitter#VineLinux
勝手に将棋トピックス
詰将棋おもちゃ箱

Zopeプロダクト開発メモ

zope product 開発の備忘録


全3件 - 01
3  owa  2004/09/15 23:13 id: mJs8kxp1Zus  prob: 0.0%
プロダクトを開発する場合、普段使っている user で zope を立ち上げた方がなにかと便利です。という理由で新規に zope インスタンスを追加してみました。

普通にログインした後
$ /usr/lib/zope/bin/mkzopeinstance.py -d Zope -u <username>:<password>
これで ~/Zope の下に zope サーバ環境が一式まるごとできあがります。

~/Zope/etc/zope.conf を適当に(port番号とか)修正したあと
$ ~/Zope/bin/runzope
で zope を立ち上げます。

こういうことを(なぜ)今まで試さなかったのが不思議。これでパーミッションやらシェル環境やら普段の開発環境のままで試せます。いらなくなったら Zope ディレクトリごと削除してしまうだけ。

追記: ZopeX3 の場合は ".py" がいらない
$ /usr/lib/zope/bin/mkzopeinstance -d Zope -u <username>:<password>
2  owa  2004/01/26 10:26 id: mJs8kxp1Zus  prob: 0.1%
デバッグ用ログの出し方ですが、知らなかったので備忘録;;
プロダクトのクラスの先頭に
from zLOG import LOG, INFO
と書いて置いて、後はすきな場所で
LOG('HogeClass:', INFO, '知りたい値')
などと呼び出せば zope のログにタイミング良く出力されます。
詳細は zope/lib/python/zLOG/MinimalLogger.py 見れば良さそう。
1  owa  2004/01/26 10:26 id: mJs8kxp1Zus  prob: 0.0%
プロダクトインターフェース作っていて、やっと分かったこと。
一番は自分が何もしらなかったこと。やっぱりいろんなプロダクトの UI ってのはみんな苦労して作ったんだなといまさらながら思います。

データの持ち方で少しだけ分かったことですが (鯖側の場合)
REQUEST.form -- 基本的にはこれでクライアントからの情報を取り込む
REQUEST.set() -- manage_hoge.dtml に情報を送る(追加する)
REQUEST.SESSION -- 本来クライアント情報を持つべきものかもしれないが、REQUEST
に保持できない場合(dtmlの中のリンクの先など)に利用させてもらう(邪道かな?)
オブジェクトの揮発属性(self._v_hoge)は zope オブジェクト生成時に __set_state__()
で一回だけ設定されるようにすること。つまり読み込み専用。書き込んでしまうと
zope のキャッシュ処理の関係で分けのわからないことになる。

というわけでやっとブラウザの「元に戻る」ボタンにも、なんとなく対応できたようです。それはこちらの話...
全3件 - 01