今回は、以下の記事について言及しつつ、後半は持論を展開するって流れです。
続 スキルの深広練ん…まぁ本当は「バグが起きた」ではなくて「バグが起きて、その後、それに気づいた」なんだけど。で、その「気づいた」に、結構な高さのハードルがあるんだけど。
「気付いた」については、セキュリティなんかが典型的だと思います。
例えば、以下とか。
認識って一番難しいものよ?また、PHPでいうと「htmlspecialcharsを書いたからXSS大丈夫」と思い、
「関数自体がバグっている事や、引数の指定が不十分である」事を「考えない」とか。
この辺は、いわゆる
徳丸本をご覧になってみると良いかと。
また更にいうと、クラックにはJavaScriptが結構使われる事や、
iframeが脆弱性を生む可能性に「気付くか否か」とか。
一応念を押すと、「JSやiframeを使う === "100%"脆弱性になる」ではなかった「はず」です。
ここも、徳丸本をご覧になってみると良いかと。
なので、「気付くだけでもハードルがある」のはその通りと思います。
一方で、「気付かないって、"ある意味"幸せだよな~」とも思いますがねぇ。
練度が一定以上になると、まず「29の軽微な事故」に相当する、いわゆる「汚いプログラミング」とか「明らかにおかしい設計」とかに、気づき始める。
例えば、いわゆるアクセサメソッドが無くて、変数がpublicとか。
また、PHPでいうと、
emptyや、==や、Shift_JISで5C問題や、非MVCな作りや、
オレオレ証明書でhttps対応がOK(中間者攻撃への考慮は?)とか。
もう少し上流だと、Webで1画面に1000行以上の表がある(使い勝手どうなの?って部分において疑問)とか。
あと、これは汚いかどうかの意見が分かれる気もするのですが、
Javaで文字列の比較を「equalsではなくcompareToで行う」とか。
compareToは、戻り値から察するにソート目的に使うんじゃないかと筆者は思うのですが。
つい最近も見て、これで2度目になったので、どうなのだろうかと。
300の異常は、たぶん「いやな予感」とか「きな臭い匂い」という、相当に感覚的なモノ。ドレイファスの技能習得モデル( http://d.hatena.ne.jp/gallu/20100118/p1 )でいうところの、基本、達人クラスがもつ感覚。
筆者が達人なわけがないので、違うと思うのですが。
WindowsでD&Dを「多用」している人を見ると、
作業は早いんですが「正確性」や「安全性」が微妙な印象がありまして。
なので、サーバマシン(Unixなど)を触らせると危ないと「感覚的」に感じています。
「雑」って言葉が、一番的確な気がしますね。
あと、そういった方を2人ほど見た事があるのですが、
「我流」って点も共通してますね。
「どんなに最低でも、その職業で10年、ものごっつがんばって」到達できるかどうかが不明、程度。
無理を承知で突っ込んでみたいです(笑)
達人になるには、やっぱり10年「も」かかってしまうものなのかと。
筆者はまだ、10年の折り返し地点にも到達していないので、
「先が長い」と感じてしまいまして(笑)
バグを「出してから対応」したい? それともバグが「出る前に対応」したい?
一番気になった点です。
以前は、「出るのは仕方ないし、出てから対応するで良いんじゃない?」と思っていたのですが、
最近は、「出るのは仕方ないじゃ、"お金を貰っているプロ"的にNGでは?」と感じてしまいます。
また、セキュリティの話ですが、
暗号の「寿命」とか、携帯の「かんたんログイン」とか、
「100%破られない"完璧"なセキュリティ」を構築する事が、
「不可能」なのは分かります。
でも、「可能な限り100%に近付ける為に努力するのがプロ」なんではないかと。
勿論、ガッチガチにセキュアにすれば、
上述のかんたんログインが無くなったり、
CSRF対策の一環として、重要な処理を行う前にパスワードを入力させたりと、
「セキュアだけど、使いにくいサイト」が生まれるのでしょうが。
あとは、「利便性とセキュリティのトレードオフ」という、
よくある話になるのではないかと。
ミスをしない人間は「いない」以上、
どちらにしても、バグは発生してしまうとは思います。
でも、その言葉を「完璧を目指さない為の免罪符」に使うのは、
筆者は疑問に感じてしまいますねぇ。
なので、「バグが"出る前に対応"したい」が筆者の考えですね。
というか、未来にツケを回すと、
自分が「想定していた以上」のツケが回ってくると、
経験則で思ってしまうのでっていう辺りが本音でしょうか(苦笑)
スポンサーサイト
テーマ:日記 - ジャンル:日記
- 2011/05/05(木) 00:26:23|
- IT
-
| トラックバック:0
-
| コメント:2
がるです。
三々五々と、散り散りにコメントをw
> 筆者が達人なわけがないので、違うと思うのですが。
達人を目指しているすべての人は、嗅覚を持っていると思うのですよ。
より正確には「嗅覚そのものは誰もが持っていて、それをどれくらい認識できるかどうか」なんじゃなかろうか、と。
つまりは、その知覚刺激を「気付けるか / 認識できるか」どうか(と、こうやって色々な話がむやみにつながりますw)。
だから「危ないと「感覚的」に感じています。」は、ちゃんと「達人クラスがもつ感覚、への入り口」なんじゃなかろうか、っと。
> 達人になるには、やっぱり10年「も」かかってしまうものなのかと。
おいちゃん的には「たった10年で達人になれるの?」だったのですがw
お仕事としてエンジニアやって15年、プログラミングだけなら30年超えてますが。つい去年も、今年も、身についたスキルがあって…で「あぁなんでこの程度のことが今までわからなかった?」とか思うので(苦笑
まだまだ、先は長いんだなぁ、って、思うですだよ。
> 最近は、「出るのは仕方ないじゃ、"お金を貰っているプロ"的にNGでは?」と感じてしまいます。
違う角度から平たくいうと。「予見していない寝耳に水なバグは、心臓と寿命に悪いからヤダ」w
- 2011/05/06(金) 14:55:52 |
- URL |
- がる #-
- [ 編集 ]
> がるさん
コメントありがとうございます。
「嗅覚」ですか。
確かに、以前は気にも止まらなかった事が、気になりだすっていうのは有りますね。
知識を得たり、経験を積んだりすることで、気付く事が増えていくケースが多い気がします。
達人は・・・なるほど、確かに10年程度では難しそうですね。
もしかしたら、一生かかっても無理なのかもしれませんが、
この記事の様に、可能な限り近付ける様に頑張りたいと思います。
バグはまあ、「想定外」は可能な限り減らしたいですよねw
そのためには、「あらゆる可能性」を「想定」する事が必要だと思いますが。
- 2011/05/08(日) 00:16:09 |
- URL |
- kitoku #-
- [ 編集 ]