ログ日記

作業ログと日記とメモ

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

苦手なことでも日記に書こう

と思ってつらつら書いてたら愚痴全開になってきたのでやっぱりやめた。 http://d.hatena.ne.jp/n314/archive/200808 この辺とか、何もやってないわけではなかったはずなんだけど具体的には思い出せないから、取り敢えず苦手なことでも記録しとこうかと思って…

引数を問わずにメソッド名だけをチェックするインターフェースがあればいいと思った

PHP

アクションクラスとかその他諸々のクラスで、引数のタイプヒンティングを見てインスタンスを自動生成するようにしている。 こうすると

複数形と単数形

何となくクラス名の複数形が気になって調べた。ついでにディレクトリ名も。 複数形のクラス名をつけるときは あるモデルを複数格納するジェネリックなコンテナである場合。(例: javax.naming.directory.BasicAttributes) スタティックなユーティリティメソッ…

FlexyのtemplateDirは複数指定できる

templateDirを複数指定したい場合はどうすればいいのか…独自にfile_existsで調べていってファイルが存在したディレクトリをtemplateDirに指定すればいいのか…とか色々考えてたけど、ソースを見たら元々複数指定できるようになっていることに気付いた。なんて…

関数名にちょっとしたひねり

CakePHPとか。知ってはいたけど自分でやることは考えてなかった、けど…。 ふと karinto を見てみると

エラー制御演算子 @ を使うことにした

PHP

随分前に速度とかissetとかの絡みで話題になってた。 include_pathを考慮しない読み込み系の関数(っていうかfile_exists)のために自分でinclude_pathを調べてたけどやめることにする。 includeやrequireで使うのはよくないっぽい記憶があったので、それはf…

sqliteでテーブル情報を取得する

PHP

http://php.net/ref.sqlite のコメント。 pragma table_info(tablename); を使うらしい。 tablenameは select name from sqlite_master; で。

PHPのフレームワーク作りたい熱がまた出てきた

Laizを軽く修正したらいけるかなーと思ったけど既存システムがそのまま動くように変更するのは無理だった。それならいっそのことゼロから作り変えてしまおうかと…。 最近のフレームワーク事情はさっぱり分からなくなってしまった。symfonyが流行ってるのかね…

autoloadをrequire_onceと同じように動かすためにはdebug_backtraceを使わないといけない?

PHP

読み込むファイルはまずカレントのワーキングディレクトリからの相対パスとしてinclude_path で探され、それから、カレントのスクリプトのディレクトリからの相対パスとしてinclude_path で探されます。 例えば、include_pathが librariesで、カレントの ワ…

PHPでプラグイン的なものを作ろうとしたものの

機能の追加ならまだしも、メニューのリンクをクリックしたときに表示するページまで追加しようとすると話がややこしくなる。 今はPHPファイルをwebapp以下、HTMLファイルをtemplates以下のディレクトリに置いているので、この構成を変えないといけない。 機…

PHPでTracのようなプラグインの仕組みを作る

PHP

Pythonを知らずにTracを触ってたので気付かなかったけど、Tracのソースに書いてあるInterfaceとかimplementsっていう仕組みはTrac独自なんだね。 だから自由にInterfaceの挙動を操作できる。 Interfaceが組み込みでも、リフレクションを使えば似たものが作れ…

Debian etch に Bazaar をインストール

今後のための操作ログ。Bazaarのインストール apt-get install ssh gcc libc6-dev apt-get install python python-dev python-crypto python-paramiko python-celementtree wget https://launchpad.net/bzr/1.11/1.11/+download/bzr-1.11.tar.gz tar xvzf bz…

tracbzruploadの設定フォーマットを変えた

branchName = sftp://〜これだと、一つのブランチで一つのアップロード先しか指定できないことに気付いた。 フレームワークとかだと複数のサーバにアップしたいのでフォーマットを変えた。 title,branchName = sftp://〜https://launchpad.net/tracbzrupload

bzrでコミットメールのdiffの日本語化

bzr-emailで日本語が化けるというかヘッダがよくない。 pythonは先週初めて触ったし、メールのエンコードには全然詳しくないというレベルだけれどちょこっと修正してみた。 https://code.launchpad.net/~nishimura/bzr-email/utf8-attachment 公開が簡単なの…

Possible integer overflow in memory allocation

PHP

HTML_Template_Flexyでエラーが出た。 メモリを指すintegerポインタがオーバーフローした? php.iniのメモリの設定は関係ないみたい。 今まで出なかったのに新しいDebian etchを入れたマシンだと出る。 そういえば今まで使えてたpukiwikiでもエラーが出たこ…

コミットメールのエンコード

bzr branch lp:bzr-email cd branch python setyp.py installpost_commit = bzrlib.plugins.email.post_commit post_commit_to = bzr-commit-notice@example.comこれでメールが届くようになった。 注意点としては、ネットワーク越しにチェックアウトしている…

trac bzr upload プラグインの設定書式を変えた

[bzrupload] uri = ブランチ名1=sftp://ユーザ名1@ホスト1/パス,ブランチ名2=sftp://ユーザ名2@ホスト2/パス アップロードプラグインを作った - より良い環境を求めて これはやっつけすぎた。設定リストの取得方法が分かったので修正。 [bzrupload] trunk = …

bzr upload プラグインを入れた

リモートサーバにアップする予定なのでuploadコマンドを使えるようにする。 bzr branch lp:bzr-upload cd bzr-upload python setup.py install

アップロードプラグインを作った

https://launchpad.net/tracbzrupload 作り方を書こうと思ったけどソースを見た方が早いと思ってやめた。 pythonは書いたことがないというか見たこともほとんどなかったので手探りのはりぼてコード。 http://d.hatena.ne.jp/digo/20080508#1210228908 ここと…

プラグインインストールメモ

使うかどうかは未定だが、ガントチャート・カレンダー( http://sourceforge.jp/projects/shibuya-trac/wiki/plugins%2FGanttCalendarPlugin )と装飾( http://sourceforge.jp/projects/shibuya-trac/wiki/plugins%2FDecoratorPlugin )のプラグインを入れ…

コンポーネント設計ってどうやるんだろ

今まではオーダーメイド的なシステムしか作ってなかったけど、7割方同じ機能を持つシステムを作ることになった。Tracを見てると、ああいう作りは便利だなーと思う。 PHPではどんなコードを書けばいいんだろう。 container->getComponents(インターフェース名…

lm_sensors + munin-node メモ

apt-get install munin-node lm_sensors smartmontools sensors-detect modprobe ... sensors # 表示されたら /usr/share/munin/plugins/sensors_ suggest # fan volt temp が表示されたら cd /etc/munin/plugins ln -s /usr/share/munin/plugins/sensors_ s…

TracBzrのリビジョン番号がおかしい?

チェンジセット ,303 更新日時: 2009/01/05 05:07:59 (13 日 前) 更新者: nishimura changesets: * ,302 * ,303.1.2 parent trees: * source:@,302 * source:@,303.1.2 なぜか303のchangesetのparentが303.1.2になっている…正しくは302.1.2だと思うんだけど…

TracBzrのチェンジセットログでchangesetsとparent treesのwikiリンクを張る

初期状態だとログがテキスト形式で parent trees: * source:@branches%2FTRY-HOGE,96 * source:@branches%2FTRY-HOGE,97.1.4とか出てしまうので。 trac.ini [browser] ... wiki_properties = trac:description,changesets,parent treesリンクを張る項目をwik…

SubversionからBazaarに移行する その後

やっぱり bzr svn-import で一気に持ってきた方が楽かな。 Bazaar用にレイアウトを変えたい場合は、そこから更にブランチを作る。 svn-importした方は bzr pull でsvnの更新を反映させつつ、bzr用に作ったブランチのcheckoutでsvn-importブランチの更新をマ…

SubversionからBazaarに移行する

まだ試している途中。 後で修正するかも。 mkdir svn_import cd svn_import bzr init-repo --1.9-rich-root --no-trees . mkdir project cd project bzr branch svn+ssh://server/svn_repo/project/trunk mkdir branches cd branches bzr branch svn+ssh://s…

ブランチのチェンジセットが見れないバグ

AttributeError: 'BzrRepository' object has no attribute 'repo' Python Traceback Most recent call last: File "/usr/lib/python2.4/site-packages/Trac-0.11.2.1.ja1-py2.4.egg/trac/web/main.py", line 432, in _dispatch_request File "/usr/lib/pyth…

複数ユーザで作業するときのメモ

今更、凄く基本的なことを。 デフォルトのumaskを変えるべきなのか迷ってたけど、変えるのが普通みたい。 新規作成したファイルが,同じグループのユーザーからは変更できるファイル属性にする. 各ユーザーの設定を umask 002 とするためには, /etc/profil…

ICH10にDebian etchを入れる

マザーの情報。 http://www.intel.co.jp/Products/Desktop/Motherboards/DG43NB/DG43NB-overview.htm 標準のetchだとNICやSATAが使えない。 http://kmuto.jp/debian/d-i/ ここにあるものは kernel 2.6.25 だが、e1000e を認識しなかった。 http://www.debian…

tracに入れたプラグインメモ

Trac Bazaar http://launchpad.net/products/trac-bzr TracNav http://svn.ipd.uka.de/trac/javaparty/wiki/TracNav/DownloadAndInstall 時間管理とかバーダウンチャートは入れないことにした。 なので今のところこれだけ。 RSTのためのdocutils easy_install…