"血をもって書け。そうすればあなたは、血が精神だということを経験するだろう。"

恥を忍んで勉強会レポ

5月病にならずに5月を乗り切った!

vim勉強会#2

http://cotocoto.jp/event/26513
viは使ったことあったけどvimは今日初めて使った。vimtutorを途中まで読んでid:Sixeightとid:secondlifeのLTを聞いた。自分は大学教授のサイトとかにだまされてemacs使ってるけど今のvimは結構遜色なくて若い人はかなりvim率高いということがなんとなくわかった。覚悟はしてたけどアウェーだった。とりあえずvimperatorすごいとかいってみる。

Kansai.pm第9回ミーティング

http://kansai.pm.org/cgi-bin/wiki.cgi?page=%A5%A4%A5%D9%A5%F3%A5%C8%2F%C2%E89%B2%F3%A5%DF%A1%BC%A5%C6%A5%A3%A5%F3%A5%B0%B9%F0%C3%CE
主にid:hakobe932のMooseとid:naoyaのMapReduceの話を聞きに行ったけど、id:azurestoneの「脱KENT様方式」からも得たものがあった。

自分のコードの問題点が見えてきた

恥を晒すとどうもPerl4らしい。

  • use strict,use warningsしてmyは使ってるけど
  • perlのOOがそらで書けない
  • なので引数とか構造化しない
  • templateは使わずハードコーディング
  • CPANモジュールを全然知らない
  • ORマッパどころかDBIすらまともに使ったことがない
  • MVCフレームワークとかもちろん使わない
  • テストは書かない

*1
業務内で直さなきゃ、と思ってる点と見事にかぶってて笑えなくなってきた。CGI作った経験はほとんどないしKENT Webなんて今日まで知らなかったんだけど、本やwebで読んだPerlの知識がOOの手前で多分止まってる。なんか自分のPerl的立ち位置に失望。
主に読んできた本

すぐわかるPerl (Software Technology)

すぐわかるPerl (Software Technology)


CGIのための実践入門 Perl―対話的・動きのあるWebページを作ろう

CGIのための実践入門 Perl―対話的・動きのあるWebページを作ろう

言い訳

今までは、ググってすぐに出てくるコードをお手本にしていた。でもこの手のサイトには恐らく

  • CGIが流行りだした頃から更新されていないけれど、まとまっているので未だにヒットする

ものも多いと思われる。

so what?

Perl5にするための個人的指針

  • milestoneはこれ。
Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー
  • not to do listはこれ。
Perl 5 今昔 - Perl-users.jp
    • (追記)Class::Accessor::*を全部Mooseにするのはまだちょっとextremeか。
  • わからなくなったらググるだけの簡単なお仕事をやめる。
  • CPANを泳いでみる。
  • perldoc嫁。
  • O'Reillyとかしっかり嫁。

初めてのPerl

初めてのPerl


続・初めてのPerl 改訂版

続・初めてのPerl 改訂版


プログラミングPerl〈VOLUME1〉

プログラミングPerl〈VOLUME1〉


プログラミングPerl〈VOLUME2〉

プログラミングPerl〈VOLUME2〉


Perlベストプラクティス

Perlベストプラクティス


まるごとPerl! Vol.1

まるごとPerl! Vol.1


実用 Perlプログラミング 第2版

実用 Perlプログラミング 第2版


Effective Perl (ASCII Addison Wesley Programming Series)

Effective Perl (ASCII Addison Wesley Programming Series)


Perl Hacks ―プロが教えるテクニック & ツール101選

Perl Hacks ―プロが教えるテクニック & ツール101選


Perlプログラミング救命病棟 (Programmer’s foundations)

Perlプログラミング救命病棟 (Programmer’s foundations)


Perlクックブック〈VOLUME1〉

Perlクックブック〈VOLUME1〉


Perlクックブック〈VOLUME2〉

Perlクックブック〈VOLUME2〉

*1:なんかもっと色々あったのでフォローしておきたい。