鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

Perl Beginners #11 に参加しました

議事録調になってしまいましたが、参加した記録です。

magnoliaさん

enbldというツール

  1. ホームディレクトリ下にインストールされる。
  2. 現在はMacOsのみサポート

前回のPerlbeginnersで発表して、2か月後の今回 ではすでにCPAN登録が完了。 perlbeginnersのATNDを見て、私を呼んでいるという「思い込み」 1週間後にはprepan 英語のスライドも初挑戦ということでしたが、とても見やすくまとまっていたと思います。

ビギナーズセッション

Webアプリのテストどうするの? 小さな関数に分けて、部品をテストしていくといいのでは? Mojo::Testなどついているやつを使ったら? 私も、Webアプリは全然テストをしていない(コントローラーに コード満載でテストしにくい)。テストしやすいコードにしていくのが 先決かな。

休憩時間

Acme::Kensiroの改造方法について相談しました。 結局コピッテクル形で改造してみました。

rozaryさん

use Devel::Size totalsize() メモリサイズを測定するということも大切! memcachdは1Mの容量制限がある、帯域を占有していないか?

Devel::NYTProf Devel::KYTPRof

重い処理をみつけろ!

ytnobodyさん

実行スピードを加速 profiling Benchmark.pm チューニング結果をみないと、それが本当に早くなったのかわからない。

use Benckmark qw(:all);
my $loop_count --->誤差を防ぐ
my $result = timethese( $loopcount, {
 CODE_A => $code_a;
 CODE_B => $code_b;
});
cmpthese($result);

if else のかわりに3項演算子 実は遅くなっていたということもあるので要注意 prepareに変えて実測。クエリを1つにまとめて実測。遅くなってしまった。

xtetsujiさん

CGI回顧 HTTPが来たら、Apache  perlインタプリタ起動。perlプログラムを読み込む。モジュールを読み込むを毎回行う。

mod_perl,FastCGI,(SpeedyCGI) mod_perl ApacheとPerlにロックオンされてしまう。

FastCGI 仕様が面倒。Apache,Nginxいくつもある。 言語やウェブサーバを選ばない。今はおすすめしない。

Plackベースの永続的ウェッブサーバ表でApache,Nginx うらにおく。でかいファイルプロセスがつかんでしまう。

mod_perl すべてmemory永続プロセス有利(今は64bitメモリ安い) メモリを解放しないまま太って4GISOファイル。メモリが解放されない。 prefork 子供を怠役させる。(解放問題に対応)

MTA(メールを受信したタイミングで処理したい)

Postfixでかれている。 Sendmail由来のpipe都度起動 pipeは都度起動! MTAでも永続化はある。qpsmptdなどある!

Postfix友の会!

最後に

そんな感じで、今回も楽しめました。 時間配分を考え長めのLTを準備していた。ytnobodyさん、さすがでした。 来年からは開催間隔が広がるとの発表がありました。(他のの勉強会も開催するためMachida.pmなど)