Slide 1

Slide 1 text

できる!!! Validation !!! @sasezaki

Slide 2

Slide 2 text

LT LT は は 15 15 分越えの 分越えの 世界から来ました 世界から来ました ... ...

Slide 3

Slide 3 text

みなさんは、普段 清く正しく美しく バリデートを実装してますか?

Slide 4

Slide 4 text

無理!

Slide 5

Slide 5 text

世界は欺瞞であふれてるのに 真偽なんて判定できるわけないだろ!

Slide 6

Slide 6 text

バリデートって一体何なんだろう?

Slide 7

Slide 7 text

「バリデート 」 が何を指してるかはっきりさせないと・・・ Web アプリケーションにおいて バリデーション ( 以下バリデーションとは アプリケーションの最初の段階で 行われる入力値検証、いわゆる フォームバリデーションを指します ) CMS 四天王のバリデーション状況を調査したところ意外な結果になった | 徳丸浩の日記 ] http://blog.tokumaru.org/2015/06/cms.html Web アプリケーションにおいて バリデーション ( 以下バリデーションとは アプリケーションの最初の段階で 行われる入力値検証、いわゆる フォームバリデーションを指します ) CMS 四天王のバリデーション状況を調査したところ意外な結果になった | 徳丸浩の日記 ] http://blog.tokumaru.org/2015/06/cms.html assert 防御的プログラミング guard 例外 フィルタリング 入力エラー チェック スカラー値? 複合条件 ? 多次元配列 ? x-www-form-urlencoded / JsonSchema

Slide 8

Slide 8 text

末代まで遺恨を残す

Slide 9

Slide 9 text

バリデート…こんなスタンスで作業 始めがち

Slide 10

Slide 10 text

死ぬ

Slide 11

Slide 11 text

「空白 は はじいて」

Slide 12

Slide 12 text

死ぬ

Slide 13

Slide 13 text

「空白 は はじいて」

Slide 14

Slide 14 text

「このフィールドは  アルファベットで」

Slide 15

Slide 15 text

死ぬ

Slide 16

Slide 16 text

「このフィールドは  アルファベットで」

Slide 17

Slide 17 text

この正規表現を コピペすれば 楽になれるよ

Slide 18

Slide 18 text

死ぬ

Slide 19

Slide 19 text

「正常系じゃない場合の  エラーメッセージの  取得をどうしよう?  ・・・ あ、思いついた!」

Slide 20

Slide 20 text

死ぬ

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

※ 先ほどのコード例は、   "php validation library" で  ググって一番トップに来る  星の数 4000 位のプロジェクトから  の引用です。

Slide 23

Slide 23 text

「有効でない オブジェクトと 判定したら 例外だー!」

Slide 24

Slide 24 text

死ぬ

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

結論: 検証の結果、人類の存 在があやまりだった。

Slide 28

Slide 28 text