2012年4月28日土曜日

Perl Beginners #2 開催しました!

4/27(金) 19:00~ 文京シビックホール 会議室1 にて、Perl Beginners #2 を開催しました。
会場設営直後の様子。


悪天候にもかかわらず、19人の方が参加してくださいました。ありがとうございます。
今回はJPAよりスペシャルゲストとして、@zigorouさんが参加してくださいました。

また、今回は女性の方の参加もあり、Perl Beginnersのひろがりが感じられました。

※この記事については後日、内容を補足いたします。不足などありましたら、@ytnobodyまでご一報を。
※発表に用いられた資料については、発表者の方から共有があり次第、リンクを設けさせていただく予定です。
※各参加者の敬称は省略させていただいております。ご了承ください。

ビギナーズセッション

質問 by @c_tyo

CGI+jQueryでfacebookのような動的に変遷するページを作りたいが、いくつか悩ましい点がある、と言う質問。
- リクエストごとにif文による条件分岐が多くなってしまうが、うまい取りまわし方はないか?
- ajaxを実現する上で、他にもっとよい方法はないか?

回答

@irmr_log
WAF(=Webアプリケーションフレームワーク)を使うと、リクエスト毎の条件分岐を書く必要がなくなる。

@ytnobody
JSONを出力するのにはJSON.pmを使うと非常に楽。場合によってはWAF側でJSONの出力をサポートしている場合もある。

質問 by @i4djunichi

「デプロイの方法について」というようなタイトルの質問だったけど、内容はモジュールの依存性解決についての質問だった。
- cpanm + local::libで対応する方法があるようだが、他にどんなやり方があるのか。

回答

@zigorou
DarkPANを使ったやり方があると言うことを紹介。local::libを使う方法と同じくらいにカジュアルに使える、など。

@ytnobody
DarkPANのマネージャ実装として、OrePANを紹介。

LT

@ytnobody
PSGIへの誘い、と題して、CGIとの比較、ライブコーディング(実はすっかり忘れていた)を交えて、「これからCGIを学習するのなら、先にPSGI/Plackを触ってみよう」というメッセージをこめた発表。

@poohtarou
Kossyのサンプルか何か?(←ごめんうろ覚えで申し訳ないです。資料希望。)で404 Not Found がでていたのを、片手間レベルで修正/実装したという発表。Kossyが非常に簡単であることを強調していました。

@irmr_log
LWP::UserAgentの文字エンコーディング自動判別ロジック(主にdecoded_content() あたり)が、裏でどれだけがんばっているのかについて解説。webコンテンツの文字エンコーディングに関わる闇(?)の部分に着目した、割と玄人向けの発表でした。

JPAセッション

JPA(=Japan Perl Association)の@zigorouさんから、今年度のJPAの活動に関する発表をしていただきました。

まず最初にJPAという組織に関する概説にはじまり、活動内容として、perl関連イベントへの講師派遣や金銭的支援、perl導入企業のリクルーティングに関する広報、YAPC::Asiaの企画/運営を行っていると説明。

そしてYAPC::Asia 2012 Tokyoについての紹介を行い、発表が締めくくられました。

懇親会

思い思いに語らう参加者

懇親会への参加者は12名(全員男性)でしたが、予想以上に他の言語に触れている方が多く、perlは趣味で使っていたり、第2言語としての用途であったりして、メインでperlを利用されていると言う方はだいぶ少なかったように思えました。

今後はぜひメインでもperlが利用されるよう、そのメリットを知らせるとともに、はじめの一歩としての勉強会であり続けたいと思いました。

資料


次回

6/29(金) 19:00開催での計画を立てております。
詳細が固まり次第、当ブログ/twitterで告知をさせていただきます。


4 件のコメント:

  1. こんにちは。PenguinJr1です。

    さくらVPSにPlackをインストールして動作させてみました。
    http://penguinjr1.blogspot.jp/2012/05/vpsplack.html


    インストールの最後に「make test had returned bad status, won't install without force
    」というエラー(?)が出たのですが、これは気にしなくてもいいのでしょうか?
    また、but 3 dependencies missing という警告も将来的に何か悪さしたりするのでしょうか。

    エラーメッセージでググってみましたが、ちょっとよくわからず・・・
    もしご存知でしたら、教えてください。

    返信削除
    返信
    1. @penguinJr1 さん

      ブログ読みました!まずはPlackデビューおめでとうございます!!!

      実はcpanコマンドは、今日ではあまりオススメできない状況です・・・
      かわりに、cpanm(App::cpanminus)を使うと楽々です。

      ※手前味噌ですが参考にしてください><
      http://yellowstore.blogspot.jp/2010/04/perlperlercpanminus.html

      エラーについてですが、Perlでは、CPANモジュールのインストール時に自動でテストを行います。
      このテストと言うのは、CPANモジュールが期待通りに動作することを保障するための物で、今回は、そのテスト結果がNGだった、と言うことになります。
      原因は、Plackに必要とされているCPANモジュール(=依存モジュール,dependency)のうち、3つのモジュールのインストールに失敗していることです。

      対策として、まずcpanmを導入し、cpanm --reinstall Plack を実行してみてください。
      これで依存モジュールがきちんと導入されると思います。

      削除
    2. ご連絡が遅くなりすみません。
      @penguinJr1です。

      教えていただいたcpanmコマンドを使用してPlackをインストールしてみたところ、エラーも出ずにあっという間にインストールが終わりましたw

      あの[yes]と[n]を押し続けていた1時間はいったい何だったのかと思っています。。。
      次回の#3ではDBを扱うとのことなので、組み合わせて面白いアイディアが出たらいいなあと思っています。
      ありがとうございました。

      ※それこそ本当にビギナー向けの内容ですが、Perlの歴史とか、昔はこんなことしかできなかったけど今はこんなにすごいよ!とかPerl歴の長い主催者殿にLTしていただけると嬉しいかもです(^^)

      削除
  2. > penguinJr1さん

    LTの内容、できるだけリクエストにこたえようと思います!

    返信削除