2013年12月31日火曜日

Perl Beginners #11 開催しました!

主催の怠慢により、ブログへの投稿がとても遅くなってしまったのですが(誠に申し訳ないです!!!)、去る11/29(金)にPerl Beginners #11 を開催致しました。

今回はxtetsujiさんのご協力により、ustreamでの配信も行われました!(録画された動画はこちら

一応、まとめ的なものを作ってはおりましたので、そちらもよろしければどうぞ

また、既に参加者の皆様からのレポート等もアップされております。ありがとうございます!

だいぶ時間が経過しているということもあるので、今回はこのくらいしか書けなくて申し訳ないです。
なお、テーマは「スピードアップ」だったのですが、これがまさにブーメランとなる好例でしょうw

さて、次回ですが、2/26(水)をめどに開催しようと計画しております。乞うご期待!


2013年10月29日火曜日

Perl Beginners #11 開催します!!

Perl Beginners 主催の@ytnobodyです。

下記のとおり Perl Beginners #11 を開催致します。まったく関係ないですが、この日は良い肉の日です。

日時: 2013-11-29(金) 19:00 - 21:00
会場: 中央区勝どき区民館 4号室5号室
テーマ: スピードアップ
ATND:  http://atnd.org/events/45001

今回のテーマは「スピードアップ」です。何をスピードアップするのか、それは発表者のみが知っている・・・!

そして、現時点で確定しているタイムテーブルは以下のとおりです。

  • 19:00-19:05 主宰挨拶
  • 19:05-19:25 基調講演
    • magnolia: Perl-Beginnersに参加したら、音速でCPAN Authorになった話 [対象PerlLV:1?]
  • 19:25-19:40 ビギナーズセッション or 主催の謎トーク
  • 19:40-19:50 休憩
  • 19:50-20:45 ライトニングトーク
    • i47_rozary: スピードアップの前に分析必要よね。 [対象PerlLV:4]
    • ytnobody: スピードアップ・チューニング [対象PerlLV:4]
    • xtetsuji: プロセスの永続化でコスト削減 [対象PerlLV:4]
  • 20:45- 片付け, 懇親会

今回も基調講演枠を設けました。今回は、最近CPANデビューを果たしたというmagnoliaさんに登壇していただきます。どのようなトークになるのか、今から楽しみですね!

2013年10月7日月曜日

#perlbeginners 10 を開催しました

当日の様子。若干暗いのはプロジェクターのために照明を落としているからです。


主催のytnobodyです。

9/27(金) 19:00より、京橋プラザ区民館にてPerl Beginners #10を開催しました。
直前の告知にもかかわらず、当日は27名の方にご参加いただきました。ありがとうございます。

また、今回もレポートを書いてくれた方がいらっしゃいましたので、そちらもご参照いただけるとよろしいかと思います。


__papix__氏による基調講演の様子


質問の仕方について、「**がうごかないです」ではなく、「どのような環境で」、「どういうエラーが出ていて」、「本来どうなってほしいのに」、のように、質問する上で周辺情報を付加することが如何に大切かを説明してくださいました。また、質問する上で適切な場所についても紹介。twitter+gist や yanchaなどがおすすめだそうです。
込み入ったコードこそ出てきませんでしたが、この辺の話はビギナーがステップアップする上で、おそらく最も重要な事ではないかと思います。

ビギナーズセッション


次にビギナーズセッションは、なんと飛び入りで2名もの方が質問をしてくれました。

まず最初の方はmakorin_007さん。彼はとあるMojo製プログラムを動作させようとしていて、「... Can't locate **.pm in @INC ...」 のようなエラーに遭遇してしまったとの事。理由と解決方法を知りたいとのことでした。環境的にはperlbrewを入れた後でplenvを入れた状態だったらしく、tsucchiさんのマンツーマンによる説明にて、最終的に無事動作までこぎつけた模様でした。

次の質問者であるumeyukiさんは、プライベートで「意識メーター」というwebサービスを作ってみたそうで、そこで動いている「意識高いワード」の検出ロジックについて、現状は毎回リクエスト受けるごとに実行されているらしく、これをより効率化できないものか、という質問でした。
重い処理であれば、ジョブキューなどの仕組みをつかって、バックグラウンドで実行するのはどうか、という意見もありましたが、リクエスト数が少ない間はそこまでの施策を施すのは大げさで、今はその必要はないだろう、という意見もあげられました。

※余談ですが、主催のアカウントを意識メーターで計測してみると、完全に意識なくて死んだ人みたいになってしまってます。おそらくここまで意識低い開発者も珍しいのではないでしょうか。


休み時間&ライトニングトーク


その後、休憩時間中に間をつなぐため(?)、過去のLTを引っ張り出して発表しました。
ただ、1年前のスライドだったため、さすがに内容の古さは否めません。
今時ですと、Class::Accessor::Lite とか Mouse, Moo, モジュール開発補助ツールとしてはMinillaをおすすめしておきます。

そして、ライトニングトークはなんと6名もの方が発表してくださいました(ほんとはもう1名発表してくれる予定だったんですけど、端末の電池切れだったそうで発表できず・・・)。


北海道から中継で参加してくれたaloelightさん。


aloelight + xtetsuji : ちょっとSmartなprintデバッグ


なんと北海道からaloelightさんが、skype中継でLTしてくださいました!
Smart::Commentsをつかって、コメント行をデバッグツールとして活用する方法を発表。
主催もこのモジュールの存在は知らなかったので、勉強になりました。

ytnobody : よくあるエラーメッセージと対処法


数多あるエラーメッセージの中から、ビギナーが比較的よく目にするであろうものを独断と偏見で選び、それをQ&Aっぽい形式で発表しました。スライドはこちら

まあ、$x / 0 の行を取り除くというのはさすがにアレかとは思いますが、原因箇所を明らかにするため、あえてキャッチーな方法を紹介しました。発表の場でご指摘いただけたことについては、非常にありがたいと思いました。

hirobanex : Excelが出力するCSVを取り込むことから学ぶPerlと3つのCPANモジュール


Text::CSVなどのCSVを取り扱うモジュールの紹介と、Excelというツールに付き物の文字コードについての勘どころを説明してくださいました。

i47_rozary : 時間を扱うときに気をつけること


電池の残り時間が切れてしまい、発表の最初の方でリタイア。どこかにスライドあげてほしいですね!

tsucchi : Data::Dumper で printデバッグ


いつもPerl BeginnersおよびPerl入学式でお世話になっているtsucchiさんは、Data::Dumperをつかったデバッグ手法を説明してくださいました。
この辺を知ってると知らないとでは、ビギナーにおいては、後々の成長速度に大きく影響してくるものと思いますので、貴重な内容だったと思っております。

magnolia : Blender::Declare


初参加のmagnoliaさんはtwitterアカウントこそないものの、githubにBlender::Declare(現在はEnbldという名前になった模様?)というものを上げていたらしく、その紹介をしてくれました。

類似するツールとしてはchefがあげられるとおもいますが、perlをつかって、MacOSXの冪等性を確保しようとするツールで、とても興味深いプロジェクトでした。

Spring_MT : Fukuoka.pmについて


最近福岡から上京(?)したらしい彼は、Fukuoka.pmについて紹介してくれました。巻きで発表してくださったので、なんだか窮屈な思いをさせてしまったかと思いますが、これに懲りず次回以降も参加していただけるとありがたいです。


次回は・・・


11/29(金) 19:00~21:00に開催できるよう頑張ろうと思います。おそらく今年最後のPerl Beginnersになるでしょう。
テーマは「文字列処理」の予定です。


2013年9月13日金曜日

Perl Beginners #10 を開催します!

Perl Beginners 主宰のytnobodyです。こんにちは。

今回も安定の告知遅れではありますが、下記のとおり Perl Beginners #10 を開催致しますので、お知らせします。

  • 日時: 2013-09-27(金) 19:00 - 21:00
  • 会場: 中央区京橋プラザ区民館 1号室
  • テーマ: バグ
  • ATND:  http://atnd.org/events/42984

今回のテーマは「バグ」です。だいぶ曖昧なテーマとしましたが、発表の幅はその分広がると思います。
そして、現時点で確定しているタイムテーブルは以下のとおりです。

  • 19:00-19:05 主宰挨拶
  • 19:05-19:25 基調講演
    • papixよい質問, 悪い質問 〜よい質問で, 迅速にバグから逃げよう〜 [対象PerlLV:1]
  • 19:25-19:40 ビギナーズセッション or 主催の謎トーク
  • 19:40-19:50 休憩
  • 19:50-20:45 ライトニングトーク
    • aloelight + xtetsujiちょっとSmartなprintデバッグ [対象PerlLV:3~4]
    • ytnobodyよくあるエラーメッセージと対処法 [対象PerlLV:3]
    • hirobanexExcelが出力するCSVを取り込むことから学ぶPerlと3つのCPANモジュール [対象PerlLV:4~6]
    • i47_rozary時間を扱う時に気をつけること [対象PerlLV:4~5]
    • tsucchiData::Dumperでprintデバッグ [対象PerlLV:3~]
  • 20:45- 片付け, 懇親会

前回に引き続き、今回も基調講演枠を設けました。Perl入学式ですっかりお馴染みのpapixさんが何か話してくれるそうです。楽しみですね!



2013年7月30日火曜日

Perl Beginners #9を開催しました


7/25(木) 19:00~21:00、Perl Beginners #9を開催致しました。

会場は新宿区立柏木区民センター 第2会議室。駅から離れているにもかかわらず、なんと42名の方にお越しいただきました。ありがとうございます!
初めて来てくださった方が多く、「先輩・上司に勧められた」という方が沢山いらっしゃいました。これも一種のコミュニティの恩恵というものと思っております。

今回は「Perlの文化」というテーマを設けさせていただきました。文化の紹介というには、カバーしきれていない範囲がまだまだありましたが、初の非テクニカルなテーマということもあり、ビギナー層にとってはとても入り込みやすいトークが多かったとおもいます。

なお、今回も既にレポートを書いてくださった方がいらっしゃいます(ありがとうございます!)ので、そちらもあわせてご覧ください。




基調講演




今回はビギナーズセッションの枠をなくし、@xtetsujiさんに「僕が最初にPerlを学んだ方法」という演題で基調講演をお願いしました。
複雑なログの集計をこなすのにPerlを使ったのが初めで、他の選択肢(RubyやPythonなど)と比較して、Perlは身近に相談できる相手がいたことを決め手の一つにあげていました。
最初の頃は「習うより慣れろ」のアプローチで学んでいたらしいのですが、書籍に頼るようになってから、より効率よく学ぶことができたと言い、学ぶ際に必要な心構え、その後のご本人の経歴を説明。その他にも現代のPerl学習法を提案していました。

CMタイム&休憩時間


途中、若干時間が空いたので、YAPC::Asiaについての宣伝を(勝手に)させていただきました。あらかじめYAPCフライヤーを配布させていただいていたのですが、2割くらいの方がYAPC::Asiaをご存じないとのことでしたので、簡単な解説を致しました。
その後、休憩時間の間に、主催に対する質問を受け付けましたところ、
「主催が使っている開発環境はどのような物か」
「mapの使い方を解説してほしい」
といった質問があがり、一通り回答・解説をしているうちに、あっという間に10分が経過しました。

LTタイム


みなさんご期待していたLTタイムですが、今回はテクニカルではないテーマであったこともあり、非常にゆるやかな発表が多かったです。

1st. @__papix__ - 就活で実感したPerlコミュニティのありがたさ


ご本人は「Perlコミュニティのおかげで就職できた!」とまで言っていましたが、彼はPerl入学式の主催者であり、やはり就職における影響は大きいと思います。かくいう私もPerlのおかげで転職できた人間ではありますが・・・
初学者の方はとくに「Perl入学式」へのご参加をおすすめ致します!

2nd. @mackee_w - Perlの会社と知らずに新卒で入社したら何故かPerl使いとして洗脳されていた話


Perlをバリバリ活用している会社に就職して、様々な時期(○○期や○○病)を経て、楽しみながらPerlに洗脳されていく様を話していただきました。
ちなみに彼が1週間ほどで完治したという「Attribute病」についてはこちらも参考にどうぞ(主催も1週間ほどで完治しました)

3rd. @tsucchi - 正解はひとつ!じゃない!


Perlのモットーであり、文化でもある「TMTOWTDI(There's More Than One Way To Do It)」を、実例をあげて、やわらかく説明してくださいました。
「ビギナーだしそんなのわからないよ! -> 勉強しましょう」というキャッチフレーズに代表されるように、ステップアップにとてもぴったりな内容でした。初学者の方、ぜひもう一度スライドを見てステップアップを目指してみてください!

4th. @ytnobody - なぜPerl Beginnersは成り立っているのか


これまでのPerl Beginnersの歴史を振り返ってみました。初回から1年半程度という期間はまだまだ歴史と言うには浅い感もありますが、これまでに出てきた様々な質問のサマリやLTの概要をみて、Perl文化の片鱗を垣間見ていただければ幸いと思い、発表させていただきました。スライドはこちら

5th. @moznion - PerlとTestの甘い関係


RubyでいうところのrubygemsやPythonでいうところのPyPIに相当する、Perlとは切っても切れない関係にあるCPANですが、ここにあげられているモジュールのテスト結果をまとめているCPAN Testersについての紹介をしてくださいました。
moznion氏特有のコンテンツ力にのせた発表は軽快でわかりやすく、初参加の方からもとても評判がよかった模様です。
彼が収録・配信を行っているネット放送「職質テックトーク」もあわせてご確認ください。

Final @i47_rozary - あなたもこれで即採用!!面接で必要なPerlの知識


最後に発表していただいたi47_rozary氏は近頃マネジメント業務がメインで、コードを書く機会がめっきり減ってしまったそうですが、そんな立場だからこそできる発表をしていただきました。
Perlについての基礎と、おすすめの書籍、経験しておいてほしいもの(WAF,テンプレート,DBI/ORM)の紹介、恐怖のオチまでが渾然一体となった、締めくくりに持ってきてよかったと思わせるトークでした。 スライドはこちら


次回の予定


次は9/27(金) 19:00-21:00の予定です。場所は未定、テーマは「バグ」を予定しております。


2013年7月3日水曜日

Perl Beginners #9 を開催します

ご無沙汰しておりました。Perl Beginners 主宰のytnobodyです。こんにちは。

さて、今回もすっかり告知が遅くなってしまいましたが、下記のとおり Perl Beginners #9 を開催致しますので、お知らせします。

  • 日時: 2013-07-25(木) 19:00 - 21:00
  • 会場: 新宿区柏木区民センター 1階 会議室2
  • テーマ: Perlの文化
  • ATND:  http://atnd.org/events/41117

今回のテーマは「Perlの文化」としました。Perl Beginners開始以来初めての技術寄りではないテーマです。
そして、現時点で確定しているタイムテーブルは以下のとおりです。

  • 19:00-19:05 主宰挨拶
  • 19:05-19:25 基調講演
    • xtetsuji: 僕が最初にPerlを学んだ方法 [対象PerlLV:1]
  • 19:25-19:40 ビギナーズセッション or 宣伝タイム
  • 19:40-19:50 休憩
  • 19:50-20:45 ライトニングトーク
    • papix: 就活で実感したPerlコミュニティのありがたさ [対象PerlLV:1]
    • macopyPerlの会社と知らずに新卒で入社したら何故かPerl使いとして洗脳されていた話 [対象PerlLV:1]
    • tsucchi正解はひとつじゃない!! [対象PerlLV:1〜3]
    • ytnobody: なぜPerl Beginnersは成り立っているのか [対象PerlLV:1]
    • moznionPerl と Test の甘い関係 [対象PerlLV:3]
    • i47_rozaryあなたもこれで即採用!!!面接で必要なPerlの知識 [対象PerlLV:1]
  • 20:45- 片付け, 懇親会

今回の特徴として、各トークセッションの対象Perlレベルが全般的に低めに設定されている点が挙げられますね。

また、今回はxtetsujiさんに「僕が最初にPerlを学んだ方法」という演題で、基調講演をお願いしました。mod_perlの巨匠がPerlと出会ったころの話を聞けるとのことで、私自身、非常に楽しみにしております。


2013年5月28日火曜日

Perl Beginners #8を開催しました


5/24(金) 19:00~21:00、Perl Beginners #8 を開催しました。

会場は渋谷区代々木区民会館集会室。比較的広いめで、40人くらいは収容できそうな広々スペースに15名の参加者が集まってくださいました。ありがとうございます。

今回はまさに「初めてづくし」のPerl Beginnersだったわけですが、その1つとしてwifiアクセスポイントの提供を行いました。回線が遅い等の話は特に聞いていなかったのですが、速度や安定性の面でご不満があった方、ご一報いただけますと幸いです。今後の運用の参考とさせていただきます。

発表テーマは「電子メール」だったのですが、「webイコールhtml」という雰囲気に一石を投じておきたいという思いと、古くからお世話になっている技術の風化を感じたから、という2つの理由から選び出されたものでした。関連して、「メール技術交換会(仮)」を現在計画中ですが、ご興味があればこちらもよろしくお願いします。

なお、既にレポートを書いていただいている方もいらっしゃいますので、ここにご紹介させていただきます。

@sora083さんのレポート
@CLCLCLさんの懇親会に触発されて追記したエントリ

オンライン・ビギナーズセッション


さて、今回のビギナーズセッションでは新しい試みとして、Skypeとプレゼン共有ツール「firecracker」を使ってオンライン経由でビギナーズセッションに登壇するという、「オンライン・ビギナーズセッション(named by __papix__)」をやってみました。

今回使用した機材。


ちなみに発表(質問)していただいたのは Perl入学式で絶賛活躍中の@__papix__氏。
いわく、「近代的なPerlの礎となる『オブジェクト指向Perl』の入門にぴったりの情報がまとまっている本やwebサイトで、特にお勧めのものを教えてほしい」というものでした。
回答としては「Perl OOP あたりでぐぐって最初に出てくるはずのピンク色のページ(執筆時点で503エラー出てました。こちらはキャッシュ)が詳しい」ですとか、「オブジェクト指向Perlマスターコース―オブジェクト指向の概念とPerlによる実装方法で覚えた」等、さまざまなものが上げられており、歴史の深い言語ゆえに情報も幅広いと感じました。

ほかには「Software Design (ソフトウェア デザイン) 2013年 04月号」のオブジェクト指向再入門あたりはスモールオブジェクトについて書かれており、設計面でよりよい選択ができるようになりそう、ということで、質問とは別でお勧めさせていただきました。

正直、何かしらの機器トラブルに見舞われるのではないかと戦々恐々としておりましたが、実際やってみると案外うまくいくもので、papixさんをスクリーンに映し出すことにも成功しました。
もう少し突き進めると、Ustreamを使った相互接続的なイベントを行うこともできそうですね。

Back To Perl Beginners #2


盛況のうちにオンライン・ビギナーズセッションを終えたのですが、ちょうどもう一枠ビギナーズ・セッションが空いておりましたので、参加者の方よりリクエストのあった過去のLT「PSGIへの誘い」を発表させていただきました。

最後の方でいくつかPSGI導入のメリットについて「CGIの方がデプロイの手間が無くていいんじゃないの?w」的なツッコミをもらってしまい、結果的にうまい回答ができなかったのが心残りです。

ライトニングトーク


休憩を挟んで、ライトニングトークの時間です。

トップバッターはmod_perlの巨匠@xtetsujiさんの発表で、題して「メルマガシステム失敗談」。
そもそも彼はいわゆる「メールの会社」に勤めているとのことで、10年以上の実績がある自社サービスの裏側と、その開発秘話について発表してくれました。
特に失敗談というと、比較的公にされない傾向にあるのですが、とりわけ黎明期のモバイルメールサービスの開発秘話には、とにかく驚嘆を隠せませんでした。Apacheをmod_perlで拡張してsmtpサーバとして運用するなどのキワモノテクニックは、mod_perlの巨匠でなければ思いつかない代物でしょう。

二番手は主宰@ytnobodyの発表で、「ものすごく単純なメールの送り方」。
Email::Senderを使ったきわめて単純なメール送信の方法と、これまでに使われてきたメール送信系モジュールの紹介をおこないました。Email::Senderについては発表の後も若干の議論があり、Mooに依存してるのが気に入らないという方もいるわけですけど、私自身は今のところ、単純にメールを送る上ではEmail::Senderがとりあえずのベターであろうと考えています。

三番目は鎌倉あたりの若手Perlハッカー、@mackee_wさんの発表で、「ながーーいコマンドを実行して終わった時にメールで通知してくれる君」。
自作したモジュール「App::Notifier(仮)」で、時間のかかるコマンドの実行後に、結果をメールで送信するデモをみせてくれました。App::Notifier経由でim.kayacに通知(メールAPIが公開されている!)してみせたり、今はメールだけにしか対応してないけどプラグイン機構を採用していて、メール以外にも通知を送信できるようになるらしかったり、利便性が高まりそうな予感がしました。

四人目は超大手○○業者にお勤めの@sora083さんの発表で、「大規模メールシステムとPerl」。
普段はそこまでPerlを書くことがないとのことでしたが、おそらくメルマガ処理数では国内随一と思われる同社のメールシステムを、メール配信状況の監視やログの検索、ドメインごとのキュー滞留数の監視など、主に監視面でがっちりと支えるPerl製ツールの紹介をしてくださいました。こんな大手でもPerlはしっかりと使われているんです!

そして最後を飾るのは、北の国の泥酔ハイテンションガイ、@moznionさんの発表で、「Perlでカジュアルにメールを送る(Gmail編)」。
まずgithubをはじめBitBucketやTravisなどのツールが使える環境を「モダンでハッピー」かつドン小○のようにオシャレだと言い、世の中そうもいかないと説明。実体験に基づいた「オシャレではない環境」を挙げ(人力ブランチ&issue管理)、こんな悲しい現実を二度と繰り返さないために「永続的通知」をすすめていました。最終的にgit request-pullの結果を、Gmail経由で自動的に通知する方法(Email::Send::SMTP::Gmailを使った送信方法)を紹介。デモではメール本文が途中で途切れるというオチまでつけてくれました。

懇親会


お店を見つける前に10分くらい道に迷うという失態をしでかしてしまいましたが、どうにかこうにか到着。今回のお店は「地焼酎ダイニング ななかまど」。4000円で飲み放題のコースを頼みました。
記憶に残っているトピックスとしては、206(Partial Content)とRangeリクエストで苦戦した話(主にCatalyst。mod_perlでは割と簡単に処理できるぽい)ですとか、それを昔はAd○bi社がCGIでナンチャッテ実装して配布してたらしいとか、Redhat7.2と7.3の細やかな違いなど、およそ現代から大分程遠い話題で盛り上がったこと、泥酔ハッカソンの話等があります。特にPartial Content周りの話は、今どきのWAFやPlackではちゃんと実装されてるのか、確認しておかないといけないなーと思っております。

次回


7/26(金) 19:00~21:00の予定です。テーマは「Perlの文化」。初めての非テクニカルなテーマです。
日程が近づきましたら、ATNDを立ててツイッターなどで拡散いたします。

追記

hide_o_55さんから教えていただいたのですが、PlackでRangeリクエストに対応したければ、Plack::Middleware::Static::Range というのがあるそうです。ためになりました!

2013年5月13日月曜日

Perl Beginners #8 開催します

Perl Beginners 主催のytnobodyです。皆様、いかがお過ごしでしょうか。

さて、告知が大変遅くなりましたが、当初予定しておりました通り、5/24(金)にPerl Beginners #8 を開催致します。

  • 日時:2013年5月24日(金) 19:00 〜 21:00
  • 場所:東京都渋谷区代々木区民会館 3F集会場 (図書館と併設) 
    • 代々木駅から徒歩7分
    • 地図こちら
  • テーマ:電子メール
ATNDはこちらです。皆様のご参加をお待ちしております。

また、Perl Beginners #8で、ビギナーズセッションに登壇してくださる質問者および、ライトニングトークをしてくださる発表者の方を募集しております。こちらもぜひふるってのご応募をお待ちしております。なお、現時点では以下の通りの状況となっております。

  1. ビギナーズセッション(15分程度) 
    1. @__papix__氏 (関西から、オンラインでの質問。機材的な意味でうまくいくかわかりませんが、挑戦的な試みです。)
  2. ライトニングトーク(5分程度) 
    1. メルマガシステム失敗談 @xtetsuji氏 [対象Perlレベル 多分2〜3くらい?※勝手な予想]
    2. ものすごく単純なメールの送り方 @ytnobody [対象Perlレベル 3〜4]
    3. 大規模○○メールシステムとPerl @sora083氏 [対象Perlレベル 2〜3]
    4. ながーーいコマンドを実行して終わった時にメールで通知してくれる君 @mackee_w氏  対象Perlレベル 3くらい]
    5. Perlでカジュアルにメールを送る(Gmail編) @moznion氏 [対象Perlレベル 2〜3]
応募方法は、以下のいずれかでytnobodyにコンタクトを取っていただく形となります。

  1. twitter で @ytnobody にリプライを送っていただく
  2. info@perl-beginners.org にメールを送っていただく
  3. 直接ytnobodyに面と向かって伝えていただく
なお今回より、ライトニングトークについては「対象Perlレベル」というものを設けさせていただくことにしました(Perlレベルについてはこちらの記事をご参照ください)。
これは、発表内容について対象となるPerlレベルを明記し、おおよその難しさを事前に知っていただくためのものです。発表者の方には若干のご負担が追加されてしまう旨、あらかじめご了承ください。

それでは、5/24(金)にお会いしましょう。

2013年4月6日土曜日

Perl Beginners #7 開催しました


Perl Beginners 主宰の@ytnobodyです。気象予報では春の嵐で大荒れだそうですが、皆様いかがお過ごしでしょうか。

さて、去る2013/03/29(金) 19:00、東京都中央区京橋区民館にて、Perl Beginners #7 を開催いたしました。当日は裏番組に PerlCasual#5 があったわけですが、(どう見ても規模的にはこちらが裏番組ではありますが)それにも関わらず、なんと19名もの方(主宰含む)に参加いただくことができました。ありがとうございます。

ちなみに、既にいくつかのレポート等が公開されておりますので、そちらもご参照いただければ幸甚です。
突然の差し入れ(clicktxさん、ありがとうございました!)

今回のテーマは「Webアプリ(CGI含む)」というもので、いつもの通り、オープニングトーク からの ビギナーズセッション -> 休みはさんでLT という流れで進行する予定でした。後々、主宰の不手際で発表順序が若干ずれてしまったのですが・・・
また、今回はテーマのせいか、普段のPerl Beginnersよりも大幅にレベルが高め(つまり割りとガチュアルなほうだった)という点について、反省を兼ねてここに明記しておきます。

ビギナーズセッション

実は当初、ビギナーズセッション登壇希望者がいなかったのですが、その場で募集したところ、@CLCLCLさんが挙手、急遽ビギナーズセッションに登壇いただくこととしました。ありがとうございます。

登壇して早々にスクリーンに映し出されたのは、某ニコ○コ動画風にコメントが流れていくwebアプリ(これかな)。どうやらMojolicious::Liteで作られているらしく、AnyEvent::Twitter::Streamで取得したツイートを、websocketをつかってリアルタイムに流していく、というもののようです。

質問の内容は、このwebアプリを起動する方法によって、コメントが流れないケースがあって困っている、との事。細かく言うと、Mojoliciousに付属しているMojo::Server::Morboを使って起動すると正常に動作するけど、Mojo::Server::Hypnotoadを使って起動すると、AnyEventのイベントが拾えなくなってしまうらしく、結果的にコメントが流れてこないという事が起こるそうで、これについて何か解決策を知らないか、というものでした。ちなみに主宰はMojoまともにさわってないので、この件については完全にお手上げ。サーセン・・・

最終的にclicktxさんにご意見をいただいたのですが、Hypnotoadのプロセス数が1つの場合どうなるのかを試してみてはどうか、というところで、質疑応答は終わりました。超ガチュアルじゃねーか!ww

LT

トップバッターは、群馬からお越しいただいた@clicktxさんです。ガトーラスクおいしかったです(^q^)

閲覧注意!!!


MojoliciousとLuigi.pmをつかって、おとなのWAFを作ったそうです。割と閲覧注意な内容。
当然というか、会場では大ウケしてました。

次は、ビギナーズセッションでも発表していただいた@CLCLCLさん。


from CL0CL

なんと新潟から最近上京してきたらしく、いままでの経歴と、それにまつわる業務アプリをざっくりとカジュアルに紹介していただきました。WebService::SagawaKyubinなどのモジュールにはただただ圧倒されてしまう勢いでした。


続いて、いつも細かく手助けいただいている@toku_bassさんのライブコーディングです。
(あまり関係ないけど、ちょうどこのタイミングで、裏番組でもライブコーディングをしていたそうです。)



「Plackってこんなに簡単なんだよ」ってことを伝えたかったらしく、手始めに極単純なPSGIアプリを作り、plackup。そして、Router::Simpleを使って条件分岐できることを説明し、肉付け。
時間の都合もあって、最後にいくつかのtypoでエラーのまま終了してしまったのですが、あと5分もあれば正常起動までたどり着けた雰囲気でしたし、実際そのくらい簡単にwebアプリは作れます、というまとめで締めくくっていただきました。
@toku_bassさんには、本人さえ良ければ、もう少し時間をとってライブコーディングをしていただく機会を設けたいと思いました。

次に発表していただいたのは、@dokechinさん。

dokechinさんの画像が見つからないので、MojoHelのサンプル。

Mojolicious + Bootstrapでwebアプリを作る際、MojoliciousにはBootstrapが同梱されておらず、bootstrap導入に手間がかかるし、フォームとか毎回デザインするのもアレなので、はかどる解決法として、MojoHelというものをつくったそうです。
これには、大分助けられる方もいるのではないでしょうか。


その次に、主宰(@ytnobody)が発表しました。


TOK2.comという無料HPスペースで、いかにしてPSGIアプリを動作させるかということに挑戦したのですが、Perl Beginnersの発表内容としては、いささかレベル高めだったなあと反省しています。
スライドこちら

最後に、@moznionさんに発表していただきました。




まずPerl入学式 in 東京の紹介をし、AcmeなモジュールをすべてインストールするというBundle::Acme::Everything および Bundle::Namespace::Everything という自作モジュールについて紹介。いい感じにネタに走ってくれました。

反省と次回への糧

今回、Perlについては良くわからないという方にもお越しいただいたのですが、

  • Perlの簡単さについてイマイチ伝わりにくかった(内容がガチュアルだった)
  • 雰囲気としては非常に柔らかくてよかった
  • wifiと電源があれば、twitterでより拡散しやすいので、お勧め
という感じのご教示をいただきました。これを受け、次回のPerl Beginnersでは、以下のものを設けようと思います。

  1. ビギナーズセッションおよびLTで発表される方は、聴衆のうち、主なターゲットとするPerlレベルをスライドに明記してください(Perlレベルについてはこの辺とか見てもらえると)。また、事前にその辺がわかっている方は、予め主宰にご一報ください。Perlレベルとかわかんない!!!と言う人は、あらかじめ3日前くらいまでに主宰に資料を送ってもらえると、大体の対象レベルをつけます。
  2. がんばってwifiを用意します。電源についてはちょっと保障できないので、許して!
さて、次回は5/24(金) 19:00より開催します。会場は未定、ATND立てましたら、別途エントリ書きます。

2013年3月4日月曜日

Perl Beginners #7 開催します

主催のytnobodyです。こんにちは。

さて、来る3/29(金)19:00~21:00、東京都中央区京橋区民館1号室にて、Perl Beginners #7を開催致します。
参加ご希望の方は、こちらのATNDよりご登録ください。無料です。※カンパ歓迎

今回のテーマは「webアプリ(CGIも可)」です。

そもそもPerl Beginnersとは何か?という疑問をもたれた方は、どうぞこちらの記事もご覧ください。

以上、取り急ぎではありますが、よろしくお願いいたします。

2013年2月5日火曜日

Perl Beginners #6 開催しました


Perl Beginners 主宰の@ytnobodyです。

開催からすっかり時間が経ってしまったのですが、1/25(金)、渋谷区穏田区民会館にて Perl Beginners #6 を開催しました。

当日は25名の方々に参加いただきました。ありがとうございます!
既にレポートをブログ等にまとめてくださった方もいるようです。

また今回は、ビギナーズセッションのかわりに、@lestrratさん(Japan Perl Association 会長)によるPerl Q&Aセッションを実施していただきました。途中ライブコーディングも交えての説明もあり、とても内容の濃いセッションとなりました。

Perl Q&Aセッションで、ビギナーからの質問に答える @lestrratさん

おおよその質問と回答は@sasakure_kei さんのブログによくまとめられています。
※といいますか、主宰は@sasakure_keiさんのブログを見て、当日の事を思い出しながらこの記事を書いています・・・

Q:@lestrratさんは英語が堪能とのことですが、コード中のコメントは日本語と英語のどちらですか?
A:業務のコードは日本語(日本語を扱うエンジニアがほとんどの為)。github等で公開するものは大体英語。

Q:CPANモジュールを作るときの雛形は?
A:使わない。但しXSについては、過去に自分が書いたプロジェクトをコピーして適宜修正。



Q:XSについて書かれている書籍について
A:日本語だとモダンPerl入門。英語だとAdvanced Perl Programming

Q:最近見たコードで「これはやっちゃいけない」というものは?
A:定数畳み込みをつかってほしい、というのがあった。



Q:requireの使いどころ
A:遅延評価、外部ファイルの読み込みなど。

Q:アプリケーションの設定ファイルを読み込ませるのにベターな方法とは?
A:requireする。jsonやyamlでもいいけど、.plをrequireすることにすれば、同じような情報を設定ファイルに書くときに、コードで表現できる。


Q:プログラム初心者にはどの言語がオススメ?
A:Perlは・・・初心者にはオススメしないかなw C言語がいいと思う。変に賢くない言語の方が初心者に向いている。

Q:ちょっとしたモジュールなどで、DBとのやりとりはなにかORMを使ったりする?
A:基本的にはDBI。必要に応じてキャッシュ(memcached)など。

@lestrratさん、ありがとうございました!

その後、休憩を挟み、LTへ突入。トップバッターはレポートもきっちりまとめてくれた@sasakure_keiさん。



配列でいろいろやったことをLTにまとめて、発表してくれました。特殊変数 $, ※主宰はこれ知りませんでしたについても触れられていて、かなり凝った内容になっておりました。なお、本人のブログにスライドがアップされております。

次に主宰のLT。ビギナー向けに、配列でよくやることをまとめてみました。が、スライド作るのに時間あまり割かなかったせいで、配列を扱うモジュールの説明が他人任せに・・・><



ビギナー向けに一応補足しておくと、本来ならここでList::UtilList::MoreUtilsあたりの解説もする予定でした。ちなみにスライドはこちらです。

次に、飛び入りで発表してくださった@i47_rosaryさんのLTでは、引数に配列を使うことの利点と、Data::Section::Simpleの紹介をしてくださいました。


最後に@maka2_donzokoさんから「新春初笑いPerlすごろく」「Acme大全2012」の宣伝がありました。



宣伝の中で、非常に高度なギャグ配列パイレーツを引っ掛けてた。何と言ったのか、その部分の記憶だけ都合よく削除されている)で会場の時空を止めるという、常人にはとてもなしえない技を使った模様でした。さすがまかまかさん!

その後、総員総出で会場の後片付けを行い、閉会いたしました。

次回のテーマは"http"です。3月29日(金)に開催できるよう、準備いたします!