のらねこの気まま暮らし

技術系だけど、Qiita向きではないポエムとかを書くめったに更新されないヤツ

寝る前メモ

ふと今日思ったことをひたすら書き溜める。
思いつきなので、よくわかんない事言ってるかもしれない。よく考えないでかいてるかもしれない。
細かいことはあとで考える。


今宵の一言。
「別にWAFを書きたいわけじゃない。でも改造はしたくなる」


Validator, Template, Model, DBに同じ内容をかくの面倒だよね。
ConfigなりLabelなりで管理したい。


テーブル1行の中で完結するデータはTeng::Rowを使ったほうが、処理が分散して管理しやすい気がする。
なんでもかんでもModelにぶち込めばいいってもんじゃない。


Rowクラス、Iterator、Hash/ArrayRefなど多様な結果がモデルから帰って来るけど、それを識別して処理を切り分けたい。

HashRefで帰って来るものは row_xxx、 ArrayRefで帰って来るものはlist_xxx、単一の値で帰って来るものはget_xxx
みたいな命名法則は考えている。

そこに、Iterator/Rowクラスが交じる場合はFlagでもつけて管理すべきか。


WAFにはそのWAFにおけるコンセプトがある。
CatalystやMojoはルールベースで制約が多い。document codeな感じ。
Sledgeなんかは継承して実装する。オーバーライドする。汎用性が高く、カスタマイズし放題。そのぶんなんでもできるから、perlライクではあるんだけど、実態がわかりにくく、バッドノウハウが生まれやすい。