Home > PHP | Study > PHP 勉強会にいってきました

PHP 勉強会にいってきました

僕は昨年起業し、基本的に今までお世話になったクライアントからのご紹介を経て新たなクライアントと出会っているわけなのですが、いかんせん組織に属してウェブに関する仕事をこなしてきた訳ではないのでバックボーンが薄っぺらいのが弱点だと自分では理解しています。つまり、IT ビジネスにおけるスタンダードな論理的思考が培われてこなかった点にコンプレックスを抱えているわけです。
そんなコンプレックスを”客観視”を通じてクリアにしていこうと言う気持ちと、ビジネス的な意味でコネクションを張れたらいいなと言う浅ましい気持ちを薄っぺらなかばんに詰めて昨日は PHP 勉強会に行ってきました。

会場に着くと自己紹介が始まったばかりで、もう大分席も埋まっていました。会社名だしてやってる事を話してしまうとそれだけでライトニングトークになってしまいそうだったのでここのブログのドメインと個人で受託開発してますと軽く挨拶をしました。懇親会ではどうかわかりませんが勉強会内で参加者同士の対話が無いのに自己紹介する合理的な理由が見つかりませんでした。他の参加者の方々の自己紹介はどちらかと言うと「所属企業+業務内容+興味のある事柄+個人的に出力している事柄」と言ったような内容。若干セミナーっぽい雰囲気ですね。

僕の心構えが所謂”勉強会”対するものであったがためにこの辺りから違和感を感じてしまっていたのですが、PHP 勉強会は即ち”小さなセミナー”であると同時に、勉強会そのもののベクトルも聴衆ではなく発表者に対してのものであると結論付けるとこの違和感は消えました。
「40人を超える参加者が一つにテーマに対して同じレイヤーで議論するなんてめちゃくちゃだな」と参加前には期待ageだったわけですが、良くあるカンファレンスと規模だけの差だと理解したわけです。

さて、そんな違和感を覚えたとは言え、発表する方は発表する方なりの論理的思考に基づく判断と、その判断に対して得られる結果と支払う対価が存在しており、プログラムと言うものはすべからく「コストとメリット」のトレードオフだと僕は常々感じています。
プログラムを組んだ事がある人と、組んだ事がない人において一線を画すのもこの辺りの論理的判断力に由来していると考えています。
それだけにまるっきり一人で全部やってきた僕としては、そろそろ自分の論理的判断の客観的な評価が欲しくなるわけです。汚い話ですが他の人の思考プロセスとの対比で自分を見つめなおしたいと言う浅ましい気持ちなわけです。

gusagi さんの発表

そんな風に軽くがっついた状態で始まった勉強会、トップバッターは司会進行も勤められた gusagi さん。
真面目で真摯そうな方です。技術系の集まりであるはずですが、そこそこ大きなカンファレンスの司会進行よりもずっとスムーズでした。

テーマは「XOOPS CubeにCakePHPアプリを組み込んでみた」
gusagi さんはしきりに「グダグダですいません」と申し訳なさそうにされていましたが、これはご自身のプレッシャーを聴衆に対するバイアスに変換しているだけなので余り感心しませんでした。
映画本編を見る前に「余り面白くないかもしれませんが」と前置きされると観客への映り方も違うはずです。

発表の内容は XOOPS Cube という CMS のプラグインとして CakePHP で作ったプログラムを動作させる、と言う目的に対するアプローチ解説だったわけですが・・・
そもそもからして XOOPS Cube 上で CakePHP を動作させるための合理的理由と言う前提が説明されていない状況ですので「Windows で Mac のソフトを動かすためには」と言うような解説を受けているのと感覚的に大差ありませんでした。結局のところ「CakePHP のブートストラップを XOOPS Cube に依存させるんだよ」と言うのが話の大筋でしたが、フレームワークにしろ CMS にしろブートストラップ型のプラットフォームを混在させるには当たり前の話です。
逆に「なぜ XOOPS Cube と CakePHP を混在させる上で発生する管理コストの増大を加味しても混在させるというアプローチを取るにいたったか」と言う思考プロセスから紐解いていったほうが「なぜフレームワークを選ぶのか」を合理的に理解できる糸口になって、発表者と参加者の思考を議論させる良いカンフル剤になったのでは、と思いました。

結局のところプラグインであったりモジュールであったりするものは、先駆者が作ったものを後発者が利用するのが現実です。結局のところ「車輪の再発明の仕方」なだけであって、そこにユニークな設計思想があるならば別ですが、10人いれば10人が同じアプローチを取るであろうケースにおいて「こうやります」と言うのは若干ナンセンスに感じました。

kunit さんの発表

次は kunit さんによる「Propel をあきらめるまえに」という発表。僕と同じでノウハウがぎっしり詰まったビジュアルをされている方です。
こういう人が上司にいると部下は安心して仕事が出来そう、そんな雰囲気です。
発表の内容は「symfony で採用されている OR マッパである Propel を使う事で想定される問題に対する解決アプローチ」だったわけなのですが、微妙にマッチングの難しいテーマであると感じました。こういった問題にぶちあたって”あきらめてしまう”というレイヤーに属している方にとって、Propel という OR マッパはユースケースとしては理解しにくいレベルだったのではないでしょうか。
むしろ PEAR::MDB2 (の Extended モジュール)くらいが妥当な気がしました。まあそれでは「フレームワーク」というテーマにかすりもしなくなってしまうので仕方がないといえばそうなのかもしれませんが・・・
逆に Propel の実装を理解できている人にとってはむしろ”当たり前”の思考プロセスであり「問題にぶち当たったけどまだ解決の途中」と言うような人にのみ有益な発表であったように思えます。
実務的な発表だったので自分の作業を見つめなおす良い機会にはなりましたが、この発表内容はむしろこれが出発点であり、この発表で扱われたアプローチをどれだけプログラム自体に反映させるか、つまり設計的にどう解釈すべきであるかこそが僕にとって興味のあるテーマでした。
「SQL インジェクションに自分で対応しなければならないのか」と言うテーマに対しては僕が漠然とフレームワークに感じている不安が同調しました。
つまり OR マッパに依存しないで自分でクエリを書いた場合のセキュリティかかるコストはどうする、と言うような話です。そもそも OR マッパから入っていなければ自明な論理なのですが、フレームワークを使っての開発が出発地点のような人にとってはこのような事が検討事案になってしまうんだと言う事実は、紛れも無く「フレームワークを使う弊害」だと感じました。
まあ答えとしては「データベースが提供するエスケープ機能を使う」であり平たく言うなら「プリペアドステートメントを使う」と言うことなのですが。
世の中が便利になればなるほど人間は肉体的に退化していくという進化論的な話と同じく、プログラムの原理的な部分に対する理解が薄まるほど設計も退化してしまうのではないかと考えるとおそろしくすらなります。
また、僕の被害妄想かもしれませんが「Eclipse を使ってる非 Java 開発者はスイーツ」みたいな風潮が蔓延している(ように感じられる)昨今において、Eclipse の有用性を説いて頂けた事は非常に素晴らしく感じました。

wozozo の発表

日ごろ #team-one でくだらない事や性的な事しか話しておらず、たまにちょこっと技術的な会話が、本当にたまにある程度だったのでどのような感性を持った人間なのか判断しかねてはいましたが・・・
テーマは「rhaco2 について」
最新情報的なニュアンスの発表でしたが、PHP 勉強会近辺のクラスタに属していないと全く理解できない所謂”身内ネタ”だったので割愛します。
ただ、rhaco2 の実装が面白そうに感じたのでちょっとソースを読もうという気にはなりました。
プレゼンに大きく顔文字だけ表示して「これが」「はーい」「こうで」「はーい」という発表スタイルはエンタの神様を見ているような不思議な感覚でした。

BoBpp さんの発表

ある意味一番論理的な発表だったと思います。
Perl の携帯端末向けサービス開発に特化したフレームワーク「MobaSiF」についてです。
MobaSiF の設計思想に始まり、規模の大きな企業やサービス内での実際の開発・運用スタイルについての言及。
唯一とも言える「高速」と言う設計思想は極めて実務的であり合理的です。その高速という思想をサービスの運用だけではなく、開発スピードにまで持っていく辺りに”成功したウェブサービスを維持し続ける事の大変さ”が滲んでいるとも感じました。
現実問題フレームワークを基準とすることに限界を感じるであろうタイミングは「開発スピードに起因する」と僕自身漠然と感じていました。開発スピードに起因するとは、ウェブサービスが違うという事は文化が違う事であり、文化が違うという事はその空間の制御速度が違う、と言う点に帰結します。日本とインドでは「時間が違う」と感じる事に近い話です。
その制御速度を以ってして開発に当たるわけですから、それぞれのウェブサービスに対して同じフレームワークを採用しているのにフレームワークの実装そのものがウェブサービスごとに固有の物となっていくのは、自然言語における方言に近いものなのかもしれません。
そう考えると「方言を使う事のメリットやデメリット」という視点そのものがナンセンスであるとも考えられます。
ウェブサービスの性質や文化を反映した結果、そのウェブサービスを形作るフレームワークが変化していくと言う思想は、技術者にとっては客観的に不自然な事かも知れませんが、その現場に生きる主観的な立場からすると「そうなる事が自然」である事の反映なのでしょうから「そのウェブサービスに特化し続けた結果」であるとも言えるはずです。
いつかは飯食って糞するだけで金が入ってくるような生活を送ってみたいと考えるに僕にとってかなり勉強になる発表でした。

sotarok さんの発表

GREE 発の国産フレームワーク Ethna の特色や開発スタイルについての発表です。
「Ethna のここが凄い」と言うアプローチでいくつかの特色が解説されましたが、若干分かりにくかったです。
僕の理解力に起因する事なので決して sotarok さんの発表が分かりにくかったのではない、とは思いますが、いかんせん思考プロセスに準じていないフラットな解説だったので、状況を頭に浮かべながら解説の通りに状況をトレースしていきましたがイマイチ強さを伝えきれていないように感じました。
アクションをいくつかのレイヤーに分けることで再利用性を高めるというアプローチは凄く良く思えましたが、そこをフレームワークが担当する合理的理由が明示されなかったのが残念でした。
解説自体もフレームワークを利用するプログラムの設計でフォロー出来そうなケースを用いてだったので、実感として有用性がそこまで感じられなかったのは僕が天邪鬼だったからという点に大きく依存しますが、やはり kunit さんの発表のように「問題ありき」で有用性を実証していない、即ち「この機能以外では解決できないと言う問題ではなかった」と言う点に起因すると感じました。
開発スタイルはとても参考になりました。歴史のある配布物ならではの苦労や”だからこその恩恵”、若干自嘲的にフレームワークごとの利用統計を発表して頂いたのもとても有益でした。

flyfront さんの発表

「TCPDFでお手軽PDF生成」というテーマでした。要するに配布されているライブラリの使い方ですね。
大変申し訳ないのですが普段”聞くだけ”と言うスタイルに慣れていないせいか、この辺りから猛烈な眠気に襲われて余り覚えていません。
OSS で尚且つ日本語が扱える PDF 生成ライブラリは数少なく、あったとしても動かすのは大変なんですよ、という話だったと記憶しています。
ユースケースではないので漠然と操作方法的な話が続いていたのが印象的でした。たぶん自分で使ってみればトレースできる内容だったと思います。
PDF という極めて実務的な表現方法に対して漠然とした操作説明だけを発表されるのは逆に難しいんじゃないかとも思いましたが、どちらにしても主体性のない内容だったので flyfront さん自身の思想が反映されているとは感じられず、それがひいては「内容のなさ」に感じられてしまいました。

k-kishida さんの発表

前日行われた CakePHP 開発合宿の模様を発表されていました。
アラフォーだとか湯けむり事件簿だとか、わりとバズワードが好きな方なんだなと感じました。
僕は解釈のショートカットが余り好きではないのでこの辺りの表現には食傷気味でしたが、内容はわりと面白そうでした。
「面白そうでした」となってしまっているのは発表のほとんどが「合宿楽しかったよ!みんなも行こうよ!」と言う感想で占められてしまっていたため、合宿に行くことでこれだけの成果が得られたと言う客観的な事実に基づいていなかったためです。僕の想像における話ですが、CandyCane が凄い興味深かったので早くソースを読んでみたいと思いました。

すずきさんの発表

最後は勉強会の会場を用意して下さったすずきさんです。
k-kishida さんと同じく先日の合宿に関する報告でしたが、が、その模様を撮影した写真をスライドショーで流しつつ、それぞれの写真にあわせて一言話されていただけでした。
要するに人力 flickr ですね。
「ブログで感想を書くまでが勉強会だ」と仰られていたのが印象的でした。

総評

総評とか書くと上から目線に見えますね。良くも悪くもとても勉強になりました。
やはり勉強会はおでこがくっつくくらいの少人数が限界なんだろうなと強く感じました。人数が多ければ多いほど一つの思想はマイノリティになっていくわけで、距離感が遠くなればなるほど議論の旨みも出しにくいものであり、僕が勉強会に期待するのはその旨みなわけです。
それぞれの方の発表を聞く前には「どんな事を話してくれるんだろう、どんな事を質問しよう」とかなり期待していましたが、操作方法などでは質問も糸瓜もなく「今回の発表にいたった経緯を教えて下さい」とか「今回のアプローチを選んだ論理的根拠はなんですか」なんて事を聞ける空気ではない(と感じた)ため大人しくしていました。
今回参加させていただいた PHP 勉強会はむしろ”小さいカンファレンス”であり、”小さなセミナー”であると感じました。
僕はあくまでも勉強会は対流が基本だと感じている人間なので、今回のように「発表者から聴衆へ」と言う一方向の流れに対して論理的根拠に乏しい発表が含まれていると「大味だな」と感じてしまいます。それが正しいのかどうかはさておき。

4月18日に参加させてもらった CMS 勉強会は、IT に関する知識で言えば明らかに今回よりも劣っていると言わざるを得ませんでしたが、参加者がそれぞれに抱える問題や、その問題に対する解決アプローチを議論しあう事で素晴らしい意見や知識の共有が果たせたと感じられるとても意義のある勉強会でした。
勉強会のフィールドが言語に向けられているため、発表者ごとに大きな差が生まれるのは仕方がないと思いましたが、発表する内容がないのであればテーマに対する解決アプローチを議論する方がよっぽど効果的なのではないでしょうか。

「発表する側と聞く側」の物理的なコスト差があるのは事実ですが、僕みたいにワイフから「月に100万は献上」などとシビアなハードルが課せられている人間からすると「死ぬ気で作った空き時間に知らない人が笑ってる写真集見せてもらった」と言うところに価値を見出す事は難しかったです。
これは明らかに僕の認識不足だったのでむしろ僕が申し訳ないと謝るべき事ですね。すいません。

批判的な内容ばかりですが、発表して下さった、またこのような勉強会に参加させて頂いたという事に対する僕なりのお礼です。
僕は基本的に S ですが褒められて得られる性的な興奮に比べ、批判される事で得られる新たな知見の方が万倍有益であると考えたための感想です。

どうもありがとうございました。

Comments:2

uncorrelated 09-04-29 (水) 4:44

きっと発表者の皆さんは、確固たる技術的基盤を持った上で、色々なトピックを紹介する場として勉強会を使っているのだと思います。どんな情報も、自分に生かせるかは、自分次第ですよね?
きっと「バックボーンが薄っぺらい」nicさんには高度すぎたんでしょうね。nicさん向きの勉強の場が見つかることをお祈りします(・∀・)ニヤニヤ

nic 09-04-29 (水) 9:05

> uncorrelated さん

おはようございます!

> きっと発表者の皆さんは、確固たる技術的基盤を持った上で、色々なトピックを紹介する場として勉強会を使っているのだと思います。どんな情報も、自分に生かせるかは、自分次第ですよね?

確かに仰るとおりですね。
自分に生かせるかどうかは、自分次第。確かにその通りです。だからこそ今回勉強会に参加させてもらい”感想を書く”という行為を以ってして僕なりに自分を見つめなおし、さらには発表して下さった方たちへ「参加させてもらった側の感想」として今回の記事を公開させて頂きました。
そういう意味ではすずきさんが勉強会で仰っていた「ブログで感想を書くまでが勉強会だ」というご意見の通りだと思います。

> きっと「バックボーンが薄っぺらい」nicさんには高度すぎたんでしょうね。nicさん向きの勉強の場が見つかることをお祈りします(・∀・)ニヤニヤ

僕のバックボーンと勉強会への理解度に関連性があるのだとするととても興味深いトピックではありますが、できればもう少し具体性を持ってご説明頂ければと思います。
昨夜 PHP 勉強会の方々と今回の勉強会について、またもっと広範に「勉強会そのものについて」を少しお話させて頂きました。
その際にも発表された方、聞いていた人間(僕)それぞれの視点からでなければ気づかないような意見を交わす事ができ、それだけでこの記事を公開した甲斐があったようにも思えます。
この僕の感覚を uncorrelated さんに求めてしまうのはお門違いかもしれませんが、意見を頂けるならば表層的な感情論ではなく、ロジカルな意見を賜りたいと存じます。

また、僕向きの勉強会を探すと言う行為も僕にとってはナンセンスです。
何を学べるか、何を学ぶかは自分次第である以上、そもそもからして uncorrelated さん自身「どんな情報も、自分に生かせるかは、自分次第ですよね?」と仰られている位ですからご理解されていると思いますが「勉強の場を選ぶよりも、何が自分にとって有益か」と言う視点を培うのが勉強会の一つの側面だったのだな、と今回感じました。

それに僕の性格的には自分にマッチした勉強の場を”探す”よりは、自分にマッチした勉強の場へと”変えていく”と考えますし、そのように行動します。それが良いか悪いかはさておき。uncorrelated さんは今回の勉強会に参加されていた方なのか、そうではないのかわからないので参加されていない前提(違っていたらすいません)で書かせていただきますと「人(の言葉や考え方)から何を受け取ったか」をより深く掘り下げていかない事には、つまり浅はかな決定論的な思考や短絡的な事象の関連付けは、折角の知見や視野を狭める事に繋がると思います。
ご自身で気づかれている事でしたらやぶへびではございますが、貴重なご意見を頂きましたのでせめてもの返礼のつもりです。

ご意見ありがとうございました。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://spais.jp/php/php-%e5%8b%89%e5%bc%b7%e4%bc%9a%e3%81%ab%e3%81%84%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f/2009-04-27/trackback
Listed below are links to weblogs that reference
PHP 勉強会にいってきました from SPaiS

Home > PHP | Study > PHP 勉強会にいってきました

Search
Feeds
Meta

Return to page top