ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

2008-03-01から1ヶ月間の記事一覧

TODOリスト?

以前挙げたリストで、下記の件は片づいた。 多言語化(メッセージカタログ), とりあえず英語と日本語。 →メッセージカタログの仕組み、および日本語用(ja_JP.utf8)を用意した。 日本語の画像ファイル・添付ファイルの取り扱い →マルチバイトのファイル名は取…

YakiBiki 0.0.1 (alpha-1) リリース

半年間の休暇の成果である、YakiBiki version 0.0.1 alpha-1 をリリースします。PHP 4.3 以上(PHP4.4.x or PHP5.1.x 以上推奨)で動作する筈です。ダウンロードは、下記引用元のsf.netのプロジェクトページからダウンロードできます。 Now, I release YakiBik…

やっぱりTDDがわからない。

特に、ファイル入出力やDB接続失敗、ネットワークソケットの失敗など、外部との境界線上での失敗の振る舞いをテストする時の手法が分からない。内部完結な処理であればMockObjectでどうにかできるのだろうけど、プログラム(ここではあえて"システム"とも"ア…

エラー処理ポリシー

個人的には「エラー処理」と一口に片づけること自体が本来はあまり好きじゃない。「エラー」という言葉の意味に惑わされ、本業のとあるPrjで概念が顧客と一致せずかなり長い間言葉のやりとりで齟齬を生じていたからだ。対象の範囲が広がりすぎていて好きじゃ…

速度的にはまだあまり問題は出てない。

なんかFirefoxとIEで体感速度が違う(FFがもっさりでIEが普通に速い)ので、ちょっと気になってxdebugでprofileしてみた。 大体300ms位。検索で。遅い、とは言えないが・・・。 で、よくよく考えたら開発用なので、config.phpでSmartyが毎回コンパイルするよ…

祝『無限の住人』アニメ化

マジです。うぉおおぉ。 っつーか「(C) 2008沙村広明・講談社/浅野道場復興会」って関係者ノリ良過ぎww ところでオープニングやエンディングテーマには人間椅子は出ないのだろうか。遙か昔、無限の住人のイメージソングCDを人間椅子が出していて、実はそれが…

81世代づいてる。

スライドPDF見てて吹いたが、id:rsky さんも81世代! スライドのPDFはこちら。PHP2QIQ.pdf 1000speakers:3:QIQ=モテ - 讃容日記 私も81世代です。

ようやく、buttonタグの修正が終わった・・・。

ようやく全画面がIEで動作するようになった。全く、buttonタグはとんだ伏兵だった。 あとやりたいことをリストすると、まだこれだけあるのだけれど・・・ 多言語化(メッセージカタログ), とりあえず英語と日本語。 プロフィール画面 パスワード再発行機能 Tr…

ようやく、timestampの形式の修正が終わった・・・。

大分時間がかかってしまったけど、ようやく各種データのdatetimeのフォーマットを統一できた・・・。 ようやく再開できる。 日付関連のSortIndexも、SL1からDTS(DateTimeSort)に切り替えた。これで、indexデータのファイルをYYYYMM.idxのフォーマットで保存…

発注者ビュー検討会

実践的アプローチに基づく要求仕様の発注者ビュー検討会(略称 発注者ビュー検討会)は、情報システムにおける「仕様」について、お客様にわかりやすい記述方法および合意方法を共同検討することを目的に国内主要SI事業者が結集した検討会です。 NTTデータ公…

"test early and fail fast"

「リーン開発の本質」メアリー・ポッペンディーク, トム・ポッペンディーク 日経BP社 読書中。p35: 品質管理組織は、後からテストによって品質を保証するのではなく、最初からコードに品質を作り込ませるプロセスに重点を置くべきである。 ... 「人為的なミ…

PEARのPagerの2.4.5はlinkTagsRaw絡みでNoticeメッセージが出ます。

とあるLinux箱でPEARのPagerを何気なく最新版を入れました。2.4.5です。 そしたらなんか、こんなNoticeメッセージが・・・。 [18-Mar-2008 03:06:40] PHP Notice: Use of undefined constant linkTagsRaw - assumed 'linkTagsRaw' in /usr/local/pear/PEAR/P…

児童ポルノ法で腐女子は困らないのか?

なんかついにアニメや漫画の絵までも規制しようか、という流れになっているようだけど。まぁ確かにアキバの通りの萌え絵は表に出しすぎだろう、という話もあるが。 そう考えると、どうも規制しようとする対象と、リアルに児童を性的虐待する人間像の間に、大…

ステートフルなフレームワーク

PHP

rhacoのオフ会で何故かWicketの紹介があったようで、halt氏がそれにインスパイアされてステートフルなフレームワークについてエントリを書いていたので反応してみる。 ぺちぺでのステートフルなフレームワークっていうと。pieceがあるけど、yamlかいたりしな…

MacOSXだとunameとかが"Darwin"で、"win"で色々判別してると誤動作するかもな件。

仕事上の事情でRubyに手を出すそうで、準備としてrubyのMLとか見てたんですが。 Subject: [ruby-list:44780] cgi.rb : Mac でも NEEDS_BINMODE が true に些細なことですが... cgi.rb の中身を何気に眺めていたら、 289行目が NEEDS_BINMODE = true if /WIN/…

第2回PHP懇親会、NotePC勢力状況

PHP

第2回PHP懇親会 行ってきました。id:sotarok さんの発表中にグラス落っことして割っちゃって邪魔しちゃってご免なさい。 まずは、発表に使われたPCの勢力状況を報告します。 Let's note 8 Mac 5 ThinkPad 3 工人舎 2 VAIO 2 SHARP 1 DELL 1 EeePC 1 ACER 1 N…

symfonyで言うところの"forward()"的なメソッドについて

symfonyではforward()とredirect()は厳密に区別されます。redirect()はHTTP 302 + Locationヘッダーを送信しますが、forward()は内部的にアクションメソッドをdispatchさせます。またそれに伴い、Viewもdispatchされた先のアクションメソッドに従います。Ake…

Controllerで使ってはいけないAction名について

またまたまた嵌りました。 "process"というアクションを作ったのですが、そのControllerの"index"アクションを呼ぶと、なぜかその中で使っているモデルについて [13-Mar-2008 13:28:02] PHP Fatal error: Class foobar: Cannot inherit from undefined class…

これ何て読むんだ?「T_PAAMAYIM_NEKUDOTAYIM」

PHP

足かけ5年ほどPHPとたらたらつきあってて、実は初めて、下のようなコードを書いちゃって怒られたときのエラー。 $val = Klass()::static_method();↓ [12-Mar-2008 19:52:16] PHP Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in foobar.ph…

Controllerにある種のPHP文法エラーがあると、画面が真っ白でログにも何も出ない。

また嵌りました。PHP5で書いたスクリプトを事情によりPHP4のAkelosに移してて、そこで、Controllerに、PHP5でのクラス変数を使っている部分を残してました。

ApplicationControllerクラスと、その派生クラスの両方でそれぞれFilterを追加したい場合のTips

Akelosの各Controllerで共通となる基底クラス、ApplicationControllerでAというFilterを例えばbeforeFilter()で追加していたとします。で、ある一つのControllerでだけ、さらにBというFilterを追加したいとします。 app/application_controller.php : before…

AkelosのPHPテンプレートのセキュリティチェックを回避するには

Akelosで、PHPテンプレート中で自前のクラスのメソッドを呼んだり、いろいろPHPコードを埋め込み始めると次のようなエラーに出くわします。 テンプレート ...../foo.tpl セキュリティエラー: ・テンプレート内で次のような 変数 を使用できません: $_ce ・テ…

display_errorsが勝手にOnになるのを防ぐには

小ネタ。trigger_errorの簡易ラッパ、dlog()の覚え書き。 - ぐらめぬ・ぜぷつぇんのはてダ でも紹介しているdlog()を、公私ともにばりばり使ってるんですが、Akelosでこれやると、ブラウザ画面にも出ちゃいます。 原因は単純で、 app/config/environments/de…

コントローラでの処理に応じて、Viewを切り替えたい場合

なんかrender関係はそれなりに書いてるので、ひょっとしたら中身がかぶってるかもしれませんが、記事のタイトル的にビッコンバッコンなものが見あたらなかったので、ちゃんと書いておきます。Mojavi系・・・というか、ポストMojaviなFW系は、controllerに相…

順番間違えた。

最初にRoRやって、それからAkelosやるべきだった。 RoRでのやり方を知らないので、かなり辛い。 多分RoRを知ってれば、APIマニュアルとか関数名見ただけである程度「あーこーすりゃいーのね。」と見当もつくのだろうけど、その辺のバックグラウンドが無いの…

ANTLR Parser Generator ... Cooooooooooooooooooooooooooooool!!!!!!!!!!!!!!!!!!

ANTLR, ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target langu…

どうしてもActiveRecordのモデルを使わずにADODBを直で取り出したいときのAk::db()メソッド

Ak::import()でモデルをrequireし、あとはモデルの中で getConnection() でADODBの接続インスタンスを取り出すのが普通だと思います。しかし、それでもモデルを使いたくない。・・・モデルクラスをgenerateするのすら厭だという粋な方向けに、Ak::db()メソッ…

AkActionController#redirectTo()メソッドと、Viewのrendering処理について

あるURLにリダイレクトさせたい場合(Akelosの場合はデフォルトでHTTP 302 でLocationヘッダーを送出)、AkActionController#redirectTo()メソッドを使います。 ところで、redirectTo()を呼んだ後、Viewのrendering処理は発生するのでしょうか?確かにブラウザ…

ActiveRecordのモデル(Model)クラスで、テーブル名を手動で調整したいとき($_tableNameメンバ変数)

えっと、Akelosのmodelのgeneratorは特にDBとか多分、見てないです。ですので、table名などは基本的にクラス名それ自体から生成している・・・筈です。すみません、AkActiveRecordのソース追ってみたのですが、正直追い切れませんでした。 getClassForDataba…

リクエストMETHODを知りたい時など。

AkActionControllerには $Request という名前のメンバ変数でそのものズバリ、AkRequestクラスのインスタンスが入っています。 で、AkRequestクラス経由でリクエストMETHODとかを知ることが出来ます。AkRequest#getMethod() でリクエストMETHODを文字列で受け…