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

SICP入門。 Centに gauche のインストール。 vi でコーディング。

「計算機プログラムの構造と解釈」を読み始める....前に実行環境作らなくては。まず、CentOs に Shemeのインタプリタである「gauche」をインストール。http://d.hatena.ne.jp/mercysluck/を参考に、rootで yum install rpm-build gcc gdbm gdbm-develwget ht…

PHPのクラスで循環参照、 当然エラー

php

二つのクラスがお互いを循環参照すると、当然エラーなんだけれども、なんとなく確認したくなったので書いてみる。 _child = new ChildClass($this); } public function __call($name,$args) { return call_user_func(array($this->_child,$name),$args); } }…

Zend Controller内でのルーティング

Zend Frameworkのルーティングがちょっと気に入らない。1. URLと別のコントローラに飛ばすことは稀。 2. 設定ファイルが大きくなりすぎるので、適度に分離したい。 3. 設定とプログラムが分離しすぎてて可読性がちょっと低い。 こんな感じになった。 Control…

alert chipset heatsink not detected system halted

先輩のPCが 「alert chipset heatsink not detected system halted」って出て沈黙。症状は、他の方がいっぱい書いてるので割愛。 http://blog.goo.ne.jp/barasiyaaaaa/e/3cff538be611dfa8bf941804cf97da26 もう、どのメーカーのPC買えばいいのかわかんね。

Zend_Db_Table_Row クラスで postgres の配列を扱おうとした => 挫折。

そのまま消すのもアレだから、ブログにでも乗っけるわ。postgres の配列があるテーブル test CREATE TABLE test ( key serial primary key, data integer[] );PHPで普通に検索すると、配列のフィールドが「"{1,2,3,4,5}"」のような文字列になって帰ってきま…

Zend_Applicationのシーケンス図

Zend_Version 1.9.4。Bootstrap周りの処理の流れを簡単に.....まず、Bootstrap内の _initXXX メソッドが全部実行される。 戻り値のオブジェクトはコンテナに保存される。 (図中では __set() と表記)その後、Resourceプラグイン( Zend_Application_Resource_X…

FireFox からの瞬間的な連続リクエストとセッションの消失

現象。 FireFox からの瞬間的な連続リクエストがログに残り、セッションの情報(の一部)が消える。もちろん同一クライアント。リクエストが連続して2〜3回発生。 プロトコルは、HTTP、HTTPSの両方で確認。 クライアントはFirefox 3.5.2。 環境は Linux + Apac…

Snow Leopard

Mac

Snow Leopardをインストールしてから少し気づいた事。全体として、速度が上がった感じが嬉しいです。 スリープモードにするまでの時間がかなり早いです。あと、Quick Timeで、iPodTouch用に映像データが変換できるようになったのが嬉しい。 フリーソフトだと…

Zend_View_Smartyにコピーコンストラクタは必須。

Zend_View_Smarty (http://framework.zend.com/manual/ja/zend.view.scripts.html#zend.view.scripts.templates)一部のヘルパーでコピーコンストラクタの設定をしないと問題が発生する。 具体的にはPartial ヘルパー(と、それを内部的に呼び出しているクラ…

php の require に失敗して画面が真っ白になるのを避けたい。

php

php はよくよく画面が真っ白になる。 失敗したら失敗したでエラー画面が出て欲しいわけです。require のパスが条件によって変わったり(ファクトリパターンとかでは良くある)すると時々ミスする。フリーのライブラリとか使ってると、命名規則が違ってて __aut…

テーブルデータゲートウェイパターンの危険。

エンタープライズアプリケーションアーキテクチャパターンの詳細については文献にまかせるとして、 Zend_Db_Table の話。 insert($data); ※ My_Db_Table_Media は Zend_Db_Table_Abstract を継承したクラス。という数行のプログラムに対して、発行されるSQL…

Opera の スピードダイヤルを増やす。

http://shopdd.blog51.fc2.com/blog-entry-724.htmlMac だとvi /Users/[ユーザー名]/Library/Preferences/Opera Preferences/speeddial.iniになるメモ。

Zend + Smarty で Struts 調の例外ページ

Zendのエラー画面にこんなテーブルを表示させたい。 class Zend_Controller_Dispatcher_Exception code 0 message Invalid controller specified (hoge) file C:\Program Files\PHP\lib\Zend\library\Zend\Controller\Dispatcher\Standard.php(241) trace C:…

Smarty 美しいテーブルを作る。

正確には「Smarty の美しくもないテーブルを可能な限り見やすく作る」↓こんなテーブルを作る。 画像1画像2画像3 画像4余白余白 <table> {foreach from=$record|@array_chunk:2 item='result1' name='loop1'} <tr> {foreach from=$result1|@array_pad:2:false item='resu</tr></table>…

Zend の index.php を結局どう書くか。

Zend_Toolで自動生成されるファイルがなんか気に入らない。Toolについてはこの方が大変詳しく解説しています。 http://nonn-et-twk.net/twk/zend-tool 自動生成の何が気に入らないかと言うと 1.bootstrap.php と index.php のファイルを分離する意味があまり…

十全な Zend_View_Smarty

これで Zend_Layout も Zend_View_Helper も使えるはず。 レイアウトは {$layout->content} ヘルパーは {$helper->Form()} みたいに呼び出す。Zend_View_Abstract を継承して Smarty に必要な部分だけ上書き、という作り。 なのでヘルパーとかフィルターとか…

PHPのエラーを例外に変換

やっつけメモとソース体裁は後でマニュアル見たらset_error_handlerの第一引数がcallback型だったから思いついただけ。http://goungoun.dip.jp/app/fswiki/wiki.cgi/devnotebook?page=PHP5%A1%A2PHP%A5%A8%A5%E9%A1%BC%A4%F2%CE%E3%B3%B0%28Exception%29%A4%…

Smarty に例外を投げさせる

php

require_once 'Smarty.class.php'; /** * Smarty のラッパー */ class My_Smarty extends Smarty { /** * エラー時に例外を投げるか * @var boolean */ public $throw_exception = true; /** * trigger Smarty error * * @param string $error_msg * @param …

PHP Fatal error: Allowed memory size of *** bytes exhausted

php

PHPでFatal error: Allowed memory size of ****** bytes exhausted (tried to allocate ***** bytes) in .......のエラー( ****にはサーバーの設定値 )が出た。 php.iniの memory_limit = ***M の値を超えたらしい。 ログの in ..... のところは、メモリー…

Smartyでテーブルの隙間を詰める

<tr> [テーブル作成用のループ] {assign var='cnt' value=$record|@count} {if $cnt%5>0} {section name='loop1' start=$cnt%5 loop=5} <td>&nbsp;</td> {/section} {/if} </tr> このくらいが見やすいか… プラグイン作るほどでもないし。 もう少し考えれば if 文を省略できそう…

SoftBankエミュレータ

SoftBankエミュレータの「ウェブコンテンツヴューア」が起動すらしない。参考リンク http://honoo-no.com/creators/2008/11/04_125820.html http://opensource2008.blog36.fc2.com/blog-entry-73.html http://yumisaiki.blogspot.com/2008/08/blog-post_21.h…

春樹スピーチ全訳

http://blog.livedoor.jp/bijoux_iris/archives/51178843.html

Zend_Loader

http://d.hatena.ne.jp/modified/20081220/1229771472とか前に書いたけれども。ZFでZend_Loader::registerAutoload();とか書いたら同じ事ができる。 ついでに速いらしい。 http://www.php-seed.net/blog/archives/57 速度もそうだけど、「いらないファイルは…

yumが便利すぎる

http://www.siwa32.com/?p=94

全文検索で二つ以上の項目を検索する時の挙動

全文検索を行う場合のテーブル設計メモ。 [記事]テーブルに以下のような項目が入っていた場合。タイトル | 東京の予報 本文 | 今日の天気は.... SELECT * FROM 記事 WHERE ( to_tsvector('japanese', タイトル ) @@ to_tsquery('東京 & 天気') ) OR ( to_tsv…

Staticなメンバ、メソッドへのアクセス時にコンストラクタは呼び出されない。

時々曖昧になる、オブジェクト指向の挙動をメモ。 /** * サンプルクラス */ public class Sample01 { final static String CONST = "const"; public Sample01() { System.out.println( "hoge" ); } static public void printText() { System.out.println( "m…