LOG IN

「逃げ恥」の星野源のコードについて考察する(追記あり)

by まえぽん

ガッキーのドラマ『逃げるは恥だが役に立つ』がお気に入りで‥‥、というかガッキーが見たくてここまで3回リアルタイムで見てます。ガッキーサイコー。で、ガッキーに満たされていればそれでいいというのに、なんかあのドラマでガッキーじゃないことが話題になっているじゃないですか。あのドラマでガッキー以外に注意が向くなんて世間の人は注意力が散漫なんでしょうか?それとも聖徳太子なんでしょうか?

詳細はリンク先を見てもらうとして、どういうことかというと

ということです。まあ、平たく言うと「イケてないコード」というやつです。やり手プログラマーっぽい役どころなのにそれはないだろうということですね。

まあ、こうやって話題になっているということは松尾マンドリルさんの言うところの「ツッコミどころ」というやつがちゃんと効いているということでしょうか。効果絶大です。みなさんカーネギー読みましょう。

ついでの新刊の『沈黙のWebライティング —Webマーケッター ボーンの激闘—』も読むべしですよ!

おっと、それた。

まあ、星野源のコードに対して、普通に「イケてない」と悦にはいるのも踊らされている感があるので、ここはあえてですね

あのコードを書かざるを得なかった状況を無理やり考えてみる

というのも乙なのではないかと。なんか、悦に入って突っ込むよりも、そういう考察したほうがガッキーへの印象良さそうだし。

とはいえ、$_POSTにぶち込むというのは、まあ筋が悪い。そもそも$_POSTにぶち込むどころか、POSTの内容を参照するにしても、フレームワークなどあるだろという状況です。この時点でそうとう素人くさいというか、ドラマ内で表現されるような会社規模で、ガッキーを専業主婦として雇用できるだけの収入のあるプログラマーのやることとは考えづらい。

でも、考えてみるのです。こういうコードを書かざるを得ない状況を。

  1. すでに稼働しているシステム
  2. 開発したのは他社、外注の形もしくは既存プロダクトのライセンス購入
  3. そして現在、開発元の会社とは連絡が取れない状態
  4. そのシステムに検索に絡んだマスターの変更というオーダー、ただし検索フォームの入力項目は変更なし
  5. 自社で改変しようにもionCubeやZend Guardなどで暗号化されており、ソースコードも提供されていないので完全にブラックボックス
  6. DBに関してはroot権限持っているのでカラムの追加は可能
  7. 動作を検証すると検索は$_POSTの内容でSELECT文のWHEREを生成している模様
  8. そして採用しているプログラムは、カスタマイズができるようにフックポイント(WordPressで言うところのadd_action)がいくつか存在している

さて、どうだろう。こうなるととりあえずinitの段階でコードが挿入できるとなれば、そこで一旦入力された検索文字列を操作し、$_POSTにそれを反映した上で検索のプログラムを走らせるということにならないだろうか?

確かにもう少しエレガントに書けるだろうという気はしますが、そこはアレですよ。めっちゃ考え事しながら書いていたのでああいう感じで泥臭くなっちゃったという感じじゃないですかね?

以上が考察でした。きっと普通に突っ込むよりはガッキーに好印象間違いなしだ!

追記

そこまでアクロバティックに考えなくてもいい考察を見つけました!

ブラウザから入力してポストなんて面倒だからコマンドラインでデバックしてからサーバーに持ってくよ俺、みたいな?
https://www.facebook.com/kuchidas/posts/1229347397136021?comment_id=1229896273747800&comment_tracking=%7B%22tn%22%3A%22R0%22%7D

あー、そうだ。そのほうがありうる。理にもかなってる気がする!
んー、流石だなー。野田さん。


まえぽん
OTHER SNAPS