去る 2005/4/23, 第4回 PHP 関西セミナーが行われました。以下ダイジェストでお送りします。
(1) Smarty Cache
- 導入経緯の説明
- コーディングの説明
-- Cache directory の指定
-- 保持時間の指定
-- 有効期限の指定
-- cache しているかの判断 → assign() → display()
- 適応範囲の説明
- Cache ユニーク ID について
-- 例では POST/GET パラメータから ID を生成して Cache
- Cache + 動的部分の組み合わせ例
-- insert Plugin を使う
--- テンプレートファイルから呼び出す ({insert name="hoge"})
--- insert Plugin からは可変部分を Return
--- insert Plugin 内部では cacheing = 0 を忘れずに
-- ブロック関数 Plugin
- Cache 色々
-- ページ Cache
-- コンテンツ Cache
-- PHP コード Cache
表示自体のキャッシュもいいのですが、システム内で DB の値を元に計算したりする処理を挟む場合は Smarty Cache は完全に蚊帳の外なので、PEAR Cache などでキャッシュする方が融通もきいていいでしょうね。DAO まで落とし込んだ中で Cache or DB アクセス、ロジック層以上は Cache の意識をすることなく値を参照するという感じで作りこむという具合です。
ケースバイケースで。
(2) MySQL カンファレンス 2005
- アメリカ・サンタクララで開催
- 日本以上に LAMP が盛り上がっている
- Oracle / SQL サーバ → MySQL への置き換えがテーマ
- オープンソースながらもエンタープライズ向けへ進化していこうという構え
-- ユーザからのフィードバック → 反映 等々
- CRM システム、ドキュメント管理システムなどの展示あり
- 携帯端末、PDA などと連携するシステムなんかも
- 昨年より 1.5 倍ほどの来場者
-- インド、ルーマニア、オランダなどからも参戦
-- 日本からももっと遠征したいね
- 当日セッションを入れれるスペースなんかもあったりした
- 現在 4.1 が Stable
-- しかし 4.0 からの移行はデータ互換がないためちょっと腰が重いのが事実
-- いっそのこと 5.0 系へ移行するのもあり?
(3) PHP を学ぶ
- 春になると新入生、新人社員などの初心者が技術系 ML で質問の嵐
- 初心者に告ぐ、技術系 ML の向き合い方
-- 回答者は魔法使いでも超能力者でもない
-- ましてサポートセンターでもない
-- 動かないじゃ分からない
-- 自分の環境の情報や行ったことはきちんと書こう
-- エラー状況は詳しく、一部分だけ切り出さずできれば全部 (隠す所は隠す)
-- まず自分で調べる
--- ぐーぐる先生に聞く
--- マニュアルを読む
--- これで問題の 9 割は解決する
-- エラーはプログラム言語が出しているのか DB が出しているのか切り分けよう
--- その上で適切な ML へ投げる
-- 技術書籍は増えてきたが、全ての環境で正しく動くとは限らない
--- 本どおりにやって動かないからって人のせいにしない
-- バージョンに注意
-- 最近は学校も増えてきた
--- PHP を教えている学校もあるのでそこへ学びにいく手もある
--- 教える立場からのお言葉
---- 初心者が中心、言語経験は半々程度
---- テストを行って上のレベルへ
---- テンプレートエンジン、フレームワーク、エクリプスなんかも教えている
-- 質問することに臆す必要は全くない
-- 学んだことは結論としてのサマリーを流そう
- でも初心者はこれらの文章すら読まない現実
とりあえず、ML での釣りは辞めましょう。(建前)
(4) osCommerce
- http://www.oscommerce.com/
- GPL e コマースアプリケーション
- 拡張モジュールも公開されている
- 最新バージョン は 2.2
-- 国際バージョンは Milestone 2
-- 日本バージョンは Milestone 1
- モジュールの紹介
-- 支払い
--- クレジット決済
--- 代引き
-- 配達
-- ポイント使用
-- クーポン使用
-- お勧め
-- ウィッシュリスト
- Amazon との比較
-- 拡張モジュールを導入すれば結構 Amazon と近いことができる
- 注意点
-- 在庫管理のお話
-- データのバリデーションチェックが少し詰め甘め
-- データ件数増加によるユーザインターフェースの問題
--- 件数が増えるとプルダウンメニューが膨れて大変
-- デザインの適応
--- テンプレートエンジンがないため大変
- モジュール追加色々
-- モジュールでありプラグインではない
-- 内部ではリダイレクトが多くて追いかけるのが大変らしい
(5) 懇親会 (という名の宴会)
Develop が好きな方々が集まり話が盛り上がりました。
- Maple
-- kunit 氏衝撃のカミングアウト
「maple は最小限の物しか持っていないので第三者が嫌にも要望、提案を出したくなる。これを狙っていた。」
-- でも最近皆忙しくて新しい動きがない
-- 各方面で俺様 Maple を保持しててもいいんじゃない?
- 設定ファイル
-- ini 独自改造 (Key, Value にカンマなどを入れる、無理矢理段階構成など)
--- そういうのやだ
-- XML
--- 「人にもコンピュータにも読みやすい」は大嘘
--- コード量が多いのが勘弁
-- そこで YAML ですよ
--- http://www.yaml.org/
--- PHP でも使えるのがある → http://whytheluckystiff.net/syck/ のこと?
- AOP
-- AOP ってエラー処理以外なんかある?
--- そしてエラー処理ならば PEAR::Error 使えばいい
--- ということで情報希望です :-)
-- DI+AOP
--- 仮想的な CLASS 宣言と現実の CLASS
- 次世代テンプレートエンジン
-- 現在のテンプレートの現実
--- デザイナーに歩み寄らせている現実
---- 例: PHP ならば Smarty コードを覚えさせる
---- というかそっちが手っ取り早い
---- 最終的には if 文をガリガリ書くデザイナーが誕生
-- デザイナーとコーダー共に幸せになれるものとは
--- そもそもそれぞれの幸せとは何か
--- デザイナーを含めてエンジンを考えないと答えは出ない
なおセミナー、懇親会中の各サマリーの更なる詳細などは一部省略。まだまだ色んな話がありましたよ。
2次会以降も引き続き話は続いたようですが、私は PRIDE-GP を観る為に帰ったのでありました。どんな話があったんだろう?そしてホジェリオ vs ダンヘン、ビクトー vs オーフレイムがダイジェストとはどういうことだと。シウバ vs 吉田はいい試合だった。ユン・ドンシクは口だけ番長。