Tags
413 ページ目
Moo
ページ送り付き検索や集計を、毎回メソッドチェーンで書き直している。定型の組み立て手順に名前を付ける【Director】
JOIN・GROUP BY・HAVING・OFFSETを足しても、from や where は書き換えない。句ごとにメソッドを増やす【拡張】
Builderで書き方を整えても、値を埋め込むかぎり攻撃は通る。? と bind 値に分けて防ぐ【プレースホルダー】
どれが必須かも分からない7個の引数を、1句ずつメソッドで足す形に変える【Builder】
WHERE、ORDER BY、LIMITと足すたびにコンストラクタの引数が増え、7個で使えなくなる【Telescoping Constructor】
SQLは文字列をつなげば作れる。PerlとMooで SELECT 1本を返すだけのクラスから始める【文字列結合】
継承でフィルターを足すとクラスが掛け算に増える。Perlのログ解析ツールをDecoratorで組み替える全8回【目次】
フィルターの順番や閾値を変えるたびにコードを直している。JSONの設定でパイプラインを組み立てる【完成】
404が続いても、ログを読み返すまで気づけない。流しながら警告を出すDecoratorを重ねる【アラート通知】
集計を足すために、動いているフィルターを書き換えたくない。通過させながら数えるDecoratorを重ねる【統計集計】
組み合わせごとのクラスをやめ、フィルターを包んで重ねる。Role と around で作る【Decorator】
「404だけ、IPとも組み合わせて」でクラスが掛け算に増える。継承で機能を足す限界【クラス爆発】
IPで絞るだけなら、継承でクラスを1つ足せば済む。この素直な手が次回の行き詰まりを生む【継承】
ログが文字列のままでは、200以外の行を探すのも面倒。名前付きキャプチャでハッシュにする【LogParser】
Perl入学式の open と while を、Moo のクラスに包む。ログ解析パイプラインの土台を作る【LogReader】
1
…
15
16
17
…
28