うまいぼうぶろぐ

linuxとhttpdとperlのメモ

YAPC終わり!チョー最高でした。来年も(あれば)行きたい

2日目はノートPC持ってって適当にmemoりました。

※ 追記
そいや看板撮ってたからうpする。

ふつうのPerl6入門 - Dan Kogai

  • 配列は常に@、ハッシュは常に%で書く
    • perl5: $array[0]
    • perl6: @array[0]
  • .が文字連結演算子じゃなくなる
  • use strictがデフォルト
  • 型宣言はいらないけど出来るよ
  • say (rubyに1文字勝ったぞ! :-) )
    • 改行つきで出てくる。
  • OO
    • ビバ オブジェクト
  • その他もろもろ

範囲の指定が直感的で書きやすくなった。
if ($min <= $hoge <= $max)って書いても良いらしい。
if($hoge ==1|2|3)とかもできるらしい。
anyとかallとかnoneとか。

Mylingual - Kazuho Oku

  • localization (L10N) をなぜしないのか
    • 面倒くさい
    • 法律の問題とか
  • じゃあ勝手にしよう
  • Japanize

(お世話になってます)

    • 機械訳はアホなので手動でする
    • interfaceのみ

(コンテンツをしないのはなんでだったかな。。。)

自文書抽出日本的住所 - Kazuhiro Osawa

  • 文書から日本の住所抜き出す
  • ルール
    • 都道府県/市区町村/大字/小字/番地/
  • 表記揺れもあるしノイズが多そう
  • Regexp::Assembleを使う

(この辺りでついてけなくてドロップアウト('A`) )

  • 日本各地のマイナーな住所

(京都の住所はそんなに怖くないよ><)

  • Geography::AddresssExtract::Japan

s/ Perl5 Regular Expression / Perl6 Regex and Rule /mixes; - Yoshinori Takesako

  • =~ が ~~で書ける。
    • 右辺にマッチ対象の文字列持ってきても良いよ

(ぱっと見代入演算子に見えたのが解消?)

  • /x修飾子がデフォルトで有効
    • それにあわせて、空白の表現も変化
  • 修飾子の書き方が変更
    • perl5 m/pattern/i
    • perl6 m:i/pattern/ or m:ignorecase/pattern/
    • 修飾子が前に来て、人にもコンピュータにもやさしくなった
    • 修飾子を長い名前でも書けるよ
  • キャプチャ
    • 後方参照の書き方がかわった
    • perl5 m/(pattern1)......\1...\2/
    • perl6 m/(pattern1)......$0...$1/
    • 円が廃止されて$に
    • 数字が一つずれるので注意
  • キャプチャを伴わないカッコ

(グルーピングのためだけのカッコ)

    • perl5 (?:pattern)
    • perl6 [pattern]

(頻繁に書いてたから、スッキリして良い感じ)

  • 文字クラスとか
    • ex) .をマッチさせたいとき
    • perl5 \.
    • perl6
    • 直感的にわかりやすくなった
  • 変数展開
    • perl5 / $var /
    • perl6 / <$var> /
  • 配列の展開:perl6 / @arrary /
    • 配列のいずれかにマッチすれば成功。かなり簡単に書ける。
  • マッチ失敗
    • perl5 ない
    • perl6 m/ (...) {fail} /

(いまいちよくわからなかった。失敗したときの挙動を制御できる??)

m:perl5/pattern/

Assurer - a pluggable server testing/monitoring framework - Gosuke Miyashita

  • Plagger ライクなサーバテスト/監視フレームワーク
    • plugin方式
    • コンフィグがYAML
  • 読み方:アシュラ
    • plaggerっぽいのは最後がer
  • Assurerフェーズ
    • Test
    • Format
    • Publish
    • Notify
  • Testフェーズ
    • HTTP
    • ICMP
    • DB接続とか
  • Notify

Notify::IRC

  • Format
    • Format::Text
    • Format::HTML
  • Publish
    • Publish::Term
    • Publish::Mail
  • 便利な機能
    • ホスト/ロールの設定。ホストとかをグルーピングできる。
  • コンフィグのバリデーション
  • 自動コンフィグ生成
    • コンフィグにホストだけ書いて--discoverオプションをつけると、nmapで稼動してるサービス探す
  • c.f http://assurer.jp/trac

Lightning Talks

正規表現信者の憂鬱 - にぽたん

(Dan Kogaiのモノマネしか印象に残ってないw)

  • regex: m/pattern/ なぜ"/"の記号なのか。
    • Danさんのサスペンダーの2本のアレのことだよ!

youtubeにうpされてたのでリンクします

Perlbal selector Plugin - Atsushi Kobayashi
  • Perlbar
    • ソフトウェアロードバランサ
  • poundみたいもの
  • sshもできるよ
  • 簡易webサーバもあるよ
・ブラウザ履歴を利用したRSS Auto-discovery
・Moxy - Mobile Deveplopment Proxy - ふしはらかん
  • HTTP::Proxy
  • PCで携帯サイトを確認
    • 携帯サイト開発に役立つ
  • プロキシ設定するだけなのでブラウザの設定が楽
  • 営業職の人とかには特に便利だよ
  • c.f http://code.mfac.jp/
・Device::USB::MissileLaunchers (live) - Yappo
  • plaggerでCDトレイ出てくるアレを作った人
  • ミサイルランチャーも作ってましたね
    • URL叩いてミサイル操作(実演)
    • 会社の様子をライブ中継
    • そしてミサイル発射!
    • 会場大爆笑

Lightning Talkおしまい!

Perl Program Repair Shop and Red Flags - Mark Jason Dominus

  • Repeated Code is a Mistake
    • 繰り返しが続くと、コード読み飛ばしてしまうけど、実は繰り返しでないものまで読み飛ばしてしまうことがある。
    • 修正するときに漏れが出てくる。
  • if文使ったらelseも使おう
  • 日付の計算
    • 計算が楽なのでギリギリまでエポック時間のまま使う
    • 最後に文字列で表現する
  • POSIX::strftime
    • って単語だけをmemoってたけど何のこっちゃわからん('A`)


おしまい