日別アーカイブ: 2014年6月22日

Hachioji.pm#41 に参加してきました #hachiojipm

おがた (@xtetsuji) です。

2014年6月21日に行われたHachioji.pm#41に参加してきました。

私のATNDのイベント参加ページを見てみると最近はHachioji.pm結構常連なんですが、あまりレポートらしいレポートを書いていなかったので、今回からは短くても書こうと思いました。他の勉強会のブログ記事でもそうなんですが、すぐ書かないともう書かないという法則もあるので、すばやく書く人を見習っていきます。あ、あと、思い出せたら#40以前も振り返りたいと思います。

とりあえず、お約束の居酒屋LTでトークした資料をアップしました。今回のテーマが「セッション」だったので、先日開催したガラケーイベントの余韻が冷めていなかったこともあって、ガラケー時代のセッションの昔話をしてきました。

18時開催なんですが、いつもHachioji.pmが行われる土曜日は慌ただしかったり疲れていたりで、遅刻の常連なんですよね。今回は前日金曜日に朝まで飲んでいたこともあって、起きたら17時で現地到着が20時30分くらいでした。私のために主催の@uzullaさんがLT開始を待っていてくれていたりと、お気遣いさせてしまいました。今度は18時から参加できるようにします。

内容としては、Hachioji.pm自体がゆるい会なので、飲み屋でお酒を飲みながら最近のトレンドを話たりする感じです。今回もそう。Yoというアプリが流行っていたので、なんか参加していない人にHachioji.pm参加者達でよってたかって投稿したりしていました。

私のYoアカウント名はxtetsujiです。でもこのアプリもClick Clickerくらいの鮮度なのかなとか思ったり思わなかったり。こういう流行りものは出てすぐに飛びついて一瞬楽しんだもの勝ちなのかもと最近は思います。

他の方々の参加ブログ記事も参考になります。

GoやDartやGroovyなど、GoogleやAndroid周辺言語が話題でした。Goはとにかく有用性が理解されて次のフェーズに進んでいるし、Android界隈でも開発効率などでGroovyを採用したり、Kotlinと言ってみたり、Google自体もJavaリスク(というかOracleリスク)を避けたいという思いもあるんじゃないかという仮説が立てられたりと盛り上がりました。世間の盛り上がりの割には、Swiftはキーワードとしてチラッと出ただけで特に話題にも上がらなかった感じ。

今回は、@__papix__ 氏が @uzulla さんとGotanda.pmの懇親会の流れからの再度の老害vs若者のプロレスをして(というか巻き込まれて)、無理やり「老害滅ぼしてこ」とか言いながらポーズを取らされたりして撮影会になっていたのがハイライトでした。ちょうど23時近くなって帰ろうとしていたころの出来事。本当に楽しい。

若い人が活躍するこの業界では、mod_rewriteやガラケーの話をしている私も老害なのかもしれませんが、それでも害にならない年長者としてこれからも若い人を支援していきたいですね。なんというか自分が老害になったら、いっそのこと若い人に滅ぼして欲しいくらいです。

若い人といえば、ついにWEB+DB PRESS Vol.81(2014年6月24日発売)で商業誌デビューした@moznion氏も元気そうでなによりでした。今号も面白い連載が目白押しっぽいです。

私のトークの中で「mod_rewriteを使ってディレクトリに見せかけた左側セッションを環境変数に入れる」という古風な手法を紹介したものの、これには決定的にまずい点があったのですが、時間や面倒だったりで省いたので、ここで補足。

環境変数に入れたセッションIDは、環境変数なわけでプロセス単位で保持されるわけです。あの単純なmod_rewriteだけだと、そのままpreforkしたプロセスが次のリクエストを処理した時にURLにセッションがない匿名アクセスだと、環境変数にセットした値が上書きされることもなく消されることもないので、ダメなんですよね。匿名アクセスは無くて全部に対してセッションを配るという実装だったり、もうちょっとmod_rewriteを工夫して左側セッションがない場合に当該環境変数をカラにするという設計であれば大丈夫です。

本来であればリクエスト単位で保持すべきデータはApache noteを使えという話になるのですが、PHP(mod_php)であればapache_note関数で読めるけどPHPならビルトインのセッションを使うよってなるし、CGIであればnoteを読む方法がたぶんないので、結局環境変数に頼る感じだったんですよね、2006年頃のPerl CGI期では(PSGIとPlackは2009年登場です)。自分の場合は、mod_perlで高速化していたPerl CGIのエミュレート環境(Apache1.3だとApache::Registry)だったので、2008年くらいの案件では自分のしていることを理解した上で、$cgi->r->notes->get(‘session’) とかやっていました($cgiはCGIのインスタンス)。

あと、同じApacheでVirtualHostを切るなりして違うサイトとか管理ページでも同じセッションの枠組みを利用している時に色々と混濁してしまう点にも注意しなきゃならなかったりします。一度それで痛い目を見たなと後で思い出しました。2014年にもなってこの仕組みを使う人はあまりいないとは思いますが、この場で補足しておきました。満足。

Hachioji.pmは面白いし気軽だし、@uzullaさんのPHPを始めとした豊富な経験が聞けたりと、非常にお得な「エンジニアのオフ会」なので、中央線沿線に住んでいるエンジニアの人は土曜日暇であればぜひオススメしたいです。次回も予定が空いていれば参加します。