Hatena::ブログ(Diary)

hsksnote RSSフィード Twitter

2012-04-28

Perl Beginners #2 参加してきた

主催者の方のレポート、他の参加者のレポートは、こちらから。

Perl Beginners: Perl Beginners #2 開催しました!


以下レポートと感想など。各セッションのタイトルは曖昧ですすみません。


Beginners Session

Perlでの動的ページの作り方(@ctyoさん)

Q.Ajaxjsonを返すようなCGIを作ってみたけど、リクエスト毎のif文でいっぱいになっちゃう

A.

  • WAF使うと簡便な書き方ができるので楽だよ(@irmrさん)
  • json出力は、CPANにそれ用のモジュールがあるので使うといいよ。(@ytnobodyさん)
  • リクエストに対して処理を割り当てることを、URLマッピングというよ。(@ytnobodyさん)
    • それをやるためのCPANモジュールもあるよ。
    • ディスパッチャという言葉もあるよ。

感想

僕ははじめからWAFを使っていたので、ディスパッチャの実装なんて考えたこともなく、結構新鮮だった。

ディスパッチャのCAPNモジュールがWAFの中でも使われてるっていうのは、考えたら当たり前だけど、どんなモジュール使ってるか意識したことなかったなあ。amon2だとAmon2::Web::Dispatcher::Liteという独自のを使ってるのね。

The CPAN Search Site - search.cpan.org


サーバにもモジュールを入れたい(@i4djunichiさん)

Q.サーバにもモジュールを入れたい。cpanmとlocal::libを使えばできるっぽい。

  • でもplackupできない……

A.

  • やりたいことはperlbrewとDarkPANでできると思う。(@ZIGOROuさん)
    • イントラネットに独自のCPANを作るのを、DarkPANと言う。その実装としてOrePANがある。
    • 以前はrpmで管理してた。そのバージョンを入手してOrePANリポジトリを作った。
  • 自社ではOrePANを使ってやってる(@ytnobodyさん)
  • local::libでやりたいことはperlbrewでできると思う。(@ZIGOROuさん)

感想

内容あんまり理解できてないので、上で的外れなこと書いてるかもしれない……

というか、最初はさくらレンタルサーバーみたいな非root環境でCPAN使ってモジュール入れたいみたいな話かと思って聞いてた。それならあたしもlocal::libで苦労して環境整えたこともあるし、そのあとperlbrew入れてその手軽さに驚いたこともある。

OrePANは使ったことないけど、自作のモジュールを登録できるのは勉強になりそう。


休憩

休憩中は、隣の席になった@ctyoさんとお話しさせてもらった。

mod_perlなどメモリに常駐するものだとリソースを食うので、ちょっとしたものだったらCGIで動かした方がいいのではと思い、CGIで実装したのだとか。この辺のリソースの消費量というのも、意識したことがなかった。比較とかあるのでしょうかね。

あと、CGIとかhttpdとかplackとかの役割が二人ともよくわかっておらず、話しながら「?」「?」となった。この辺は後ろで。


LT

PSGIへの誘い(@ytnobodyさん)

感想

PSGIは仕様、Plackは実装」というのを何度も聞いているんだけれども、PSGIの仕様に沿ったコーディングというのを見て、その辺の区別がようやく実感として得られた。

そしてCGI。これも仕様なんですね。PSGIと並べるとわかりやすい。


ストーカー力(@poohtarouさん)
  • @kazeburoさんを追っかけてたらストーカー認定された
  • Kossy(WAF)初心者向けの題材として最適
  • 質問:導入されてるサービスは?
    • 回答:NHNさんの内部システムで使われてる
  • 質問:ポート番号を表に出したくないけど、どうやってる?
    • 回答:リバースプロキシ*2を使ってる。Apacheならmod_proxyを使う。内部的にはいろんなポート番号を使ってる。

感想

ストーカー名乗るならブログ二年分読んでからにしろということだと思います。


decode_contentを読む(@irmr_logさん)

感想

CPANモジュールのコードを読むのが勉強になるだろうとは思っていたけど、いざ読もうと思うと規模が大きくてどこから手を付けていいのかわからん。そういう意味で、decode_contentに絞ってというのはいい規模感だったのではなかろうか。

順を追って一緒に読むというのは、コードリーディングの入門としてよい経験になったと思う。


JPAセッション(@ZIGOROuさん)


感想

地域pmや、今回のPerlBeginnersなど、Perlコミュニティが盛況である影には、JPAさんがいると思うのです。JPA++


懇親会

には参加せず。お金用意するの忘れた。

本編参加者に女性がおられたのでガチホモ合コン回避かと思われましたが、懇親会は無事ガチホモ合コンになったようでなによりです。


おまけ

休憩中の会話で、perlがwebサーバ上で動く仕組みがわかってなかったことがわかった。ビギナーズセッションで聞けばよかったです。で、その辺のことを調べてみた。

そしてPSGIについても。


まとめ

自分がちゃんと理解できてないところが、いくつか明確になったのが、今回の収穫だった。前回もそうだった気がする。

ビギナーズセッションを聞いたり、それに対しての答えを考えたりしていると、自分の中でスルーしてた疑問が掘り起こされる。

f:id:hsksnote:20120428201144j:image

結構いい経験だと思う。

*1プログラムを利用可能な状態にすること

*2:リクエストを振り分ける機能

*3:に限らないけど

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hsksnote/20120428/1335632890