hatotech::kumatch: 第2回PHP関西セミナー

PHP関西 SEMINAR : 2004年9月度セミナーのご案内 セミナーには PHP の初心者から言語全般上級者の方まで幅広く参加します。セミナー内容およびその後の懇親会まで非常に身になる内容になります、させますので是非ともご参加を。関西 PHP のその無駄に元気な部分まで垣間見ることができます。

23日、会社の命を受けて最近噂のPHP関西のセミナー行ってきます。レベルが高そうなので付いて行けるかどうか・・・。会場で見かけても物を投げないで下さい。

UMLプレス―オブジェクト指向するための情報誌 (Vol.2)
UML Press編集部
技術評論社 (2002/10)
売り上げランキング: 35,116
通常24時間以内に発送します。
おすすめ度の平均: 1
1 残念

店頭から無くなったら二度と手に入らなさそうなのでUML Press Vol.2購入。 電気ポットの分析・設計を新人チーム、技術至上主義チーム、目的指向チームの3つがやってみた場合の例が面白かった。やっぱり目的があっての設計なので設計のみで評価することはできないんですな。

あと驚いたのは組み込み系なんかのプログラムだとの100%のラウンドトリップ(クラス図←→ソース)が可能なことも珍しく無いっていうやつです。オブジェクト指向でなぜつくるのかにも「組み込み系のプログラムは特別でOOPで現実世界の対象をそのまま表すことがある」的なことが書いてあったのを思い出しました。

あとはシステム開発でのUML使用率、ヨーロッパ100%・アメリカ80%というやつ。ホントかよ!

うちの会社ではUMLはまだ基本設計書、詳細設計書の補助資料や内部資料的なものとしてだけ使われてます。内部資料として使いまくって、「図(絵)を書くならどうせだからUMLの表記を使うか」という雰囲気に持ってく計画です。

☆りーりのお弁当☆ キャラ弁がんばってるよ

pikachu.jpg

この長い耳・・どうやってお弁当を詰めようか・・と悩まされましたが なかなかうまくまとまりました!

うん彩りもなかなか・・と自己満足に浸っております

キャラ弁ってジャンルがあったのか。っていうか凄い技術です。これで子供がグレたらおれがその子供殴ってやる!

Linuxを使ってみるにお邪魔してコメントさせてもらっていたネタ。

DB_DataObjectはfactory以外のメソッドではエラー時にDB_DataObject_Errorじゃなくてfalseを返してる。それじゃあErrorはどこ?と思ったら_lastErrorに入ってる。 で、_lastErrorはPHP慣例によりprivateじゃないの?どうやって取るの?取る方法が見つかんねーYO!という話。

* Last Error that has occured
* - use $this->_lastError or
* $last_error = &PEAR::getStaticProperty('DB_DataObject','lastError');

ソースのコメント中には「_lastErrorを取るかgetStaticPropertyしろ」との記述。結局_lastErrorもアリってこと?そもそも何でfalse返すようにしてんの?教えて、PHPのエライ人!

本日到着! DEMO & PATCH

mohpa.jpg

Electronic Artsの人気シリーズ最新作「Medal of Honor: Pacific Assault」のSingleplayer Demo。その概要についてはE3レポートや、先週英国で開催されたGame Stars LiveでのEAブースレポートでも紹介してきたとおりだが、ようやく待望のPlayable Demoが公開された。なんとびっくり534MBというビッグサイズだが、プレイする価値は十分。AIが優秀なため、何度でも繰り返しプレイできるDemoだ。

MoHシリーズの最新作が出たようです。Medal of Honor: Pacific AssaultってMoHPA?読みずれぇ。モハァは言いやすかったのに。今度の敵は日本ということで、「私の蛸壺から(略」や「ご両親もお喜びだ」の日本バージョンに期待です。

遷移の制御がしたければPEAR HTML_QuickForm_Controllerだという情報により調べてみました。

hatotech::kumatch: HTML_QuickForm_Controller

(1) HTML_QuickForm Controller Page を Form page 分作成 (2) Controller に Add (3) Validate 遷移終了時の動作決定 (4) Controller run

pearコマンドからインストールしてPEAR/docsにあるexamplesを見てなんとなくわかったような気になる。 が、まだわかってないと思う。一度『登録→確認→完了』とか『編集→確認→更新完了』とかやってみないと・・・。

PEAR HTML_QuickFormをPEAR HTML_QuickForm入門ガイドを見ながらサンプルを動かしてみた。

「・・・意味がわからん」

『Formを作ってくれて、一個の記述(ruleのadd?)でクライアント側とサーバー側のValidationをやってくれる物』だと思ってたんですが・・・

「freeze() って何だよ!?」

勝手に確認画面作んなよ!っていうかこの画面はどこから来た?日本では古来から『登録 → 確認 → 完了』だろ!エラーメッセージはなんでそこに出るんだよ!HTML_QuickForm + Smartyで単純な登録確認完了のサンプルはないノアk歳栄jfshsjfhすうぇうh!!!

・・・ぁあ、どうやらおれは全然わかってないみたいです。

Debian GNU/Linux Expertデスクトップユ
技術評論社書籍編集部
技術評論社 (2004/08)
売り上げランキング: 6,101
通常3日間以内に発送します。
おすすめ度の平均: 4
4 デスクトップ環境でDebianの最新版を使おうという人は持っておくべき一冊

待望のDebian本ということで購入しました! ・・・が、内容の方は・・・(´・ω・`) 2chのDebianスレでも「内容が微妙でも買っておけば次があるかもしれんじゃないか。お布施ってやつだ。」とか「ムトゥ期待sage」とか言われてます。

Debian GNU/Linux 徹底入門の著者の武藤健志氏。近々ムトゥ神のDebian本が出ると噂されている。Blogで言えばのようなものか。

社内の開発方法標準化に取り組んでいます。

基本的にPHPでもオブジェクト指向開発&標準的なツール・ライブラリを使おうよってことで進めてるんですが穏やかに民主的に進めようとすると全然決まりませんな。

今更なにあたりまえのこと言ってんの?と思う人もいるかもしれませんが、結構多いんですよ、 「ファンクションベースで一から全部書くべきだ!」 とか 「オブジェクト指向開発は導入コストがかかりすぎる!」 といった反論に出会うことが。

そんな議論に付き合って半年ほど様子を見てきましたが、俺が責任者になったからにはそんなことを言う奴はフライス盤で右腕を切り落としてやる!

とりあえずPHPに関するところはこんな感じで行くことにします。(守らない奴はRS232Cケーブルで首を(略))

・フレームワーク(検証中)  ・Mojavi ・データベースコネクション  ・PEAR DB ・テンプレートエンジン  ・Smarty ・エラーハンドリング  ・PEAR PEAR ・O/Rマッパー  ・PEAR DB_DataObject ・Unitテスト  ・PEAR PHPUnit ・ユーザー認証(検証中)  ・PEAR LiveUser or PEAR Auth ・入力検証(検証中)  ・PEAR HTML_QuickForm ・ロギング(検証中)  ・PEAR Log or syslog ・データベース  ・MySQL4.0.20

そして2つのプロジェクトで試してみて良い感じだったのでPHPUnitによるテストファーストも必須にしました。 プロジェクトを成功させるにはこんな決めれば済むことはさっさと決めてしまって、メンバーのモチベーション管理や顧客とのコミュニケーションに時間を使いたいものです。

今後、この案が本当に通るのか、とか実際にやってみたら糞駄目で逆に左腕を切り落とされたとか、見守りつつ書いていこうと思います。PHPで開発をしている人は普通この辺の標準化をどうやって行っているか知りたいもんです。

PHP小ネタ。

PATH_SEPARATORという定数がある。これはWindowsだと””;”“、UNIXだと””:”“になっている。 何に使うかというとinclude_pathのセパレータとかに使う。

ini_set("include_path", ini_get("include_path").PATH_SEPARATOR."lib/");