fc2ブログ

奇特なブログ

「殊勝に値する行いや心掛け」を意味する、奇特な人になる為のブログです

完璧は不可能、でもそこに近付けるのがプロでは?

今回は、以下の記事について言及しつつ、後半は持論を展開するって流れです。

続 スキルの深広練
ん…まぁ本当は「バグが起きた」ではなくて「バグが起きて、その後、それに気づいた」なんだけど。で、その「気づいた」に、結構な高さのハードルがあるんだけど。
「気付いた」については、セキュリティなんかが典型的だと思います。
例えば、以下とか。

認識って一番難しいものよ?

また、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対策の一環として、重要な処理を行う前にパスワードを入力させたりと、
「セキュアだけど、使いにくいサイト」が生まれるのでしょうが。
あとは、「利便性とセキュリティのトレードオフ」という、
よくある話になるのではないかと。

ミスをしない人間は「いない」以上、
どちらにしても、バグは発生してしまうとは思います。
でも、その言葉を「完璧を目指さない為の免罪符」に使うのは、
筆者は疑問に感じてしまいますねぇ。
なので、「バグが"出る前に対応"したい」が筆者の考えですね。
というか、未来にツケを回すと、
自分が「想定していた以上」のツケが回ってくると、
経験則で思ってしまうのでっていう辺りが本音でしょうか(苦笑)

スポンサーサイト



テーマ:日記 - ジャンル:日記

  1. 2011/05/05(木) 00:26:23|
  2. IT
  3. | トラックバック:0
  4. | コメント:2
<<正規表現を用いた文字列の入れ替え方法 | ホーム | 情報強者やスキルが高い事「自体」は褒められない>>

コメント

三々五々と

がるです。
三々五々と、散り散りにコメントをw

> 筆者が達人なわけがないので、違うと思うのですが。
達人を目指しているすべての人は、嗅覚を持っていると思うのですよ。
より正確には「嗅覚そのものは誰もが持っていて、それをどれくらい認識できるかどうか」なんじゃなかろうか、と。
つまりは、その知覚刺激を「気付けるか / 認識できるか」どうか(と、こうやって色々な話がむやみにつながりますw)。
だから「危ないと「感覚的」に感じています。」は、ちゃんと「達人クラスがもつ感覚、への入り口」なんじゃなかろうか、っと。

> 達人になるには、やっぱり10年「も」かかってしまうものなのかと。
おいちゃん的には「たった10年で達人になれるの?」だったのですがw
お仕事としてエンジニアやって15年、プログラミングだけなら30年超えてますが。つい去年も、今年も、身についたスキルがあって…で「あぁなんでこの程度のことが今までわからなかった?」とか思うので(苦笑
まだまだ、先は長いんだなぁ、って、思うですだよ。

> 最近は、「出るのは仕方ないじゃ、"お金を貰っているプロ"的にNGでは?」と感じてしまいます。
違う角度から平たくいうと。「予見していない寝耳に水なバグは、心臓と寿命に悪いからヤダ」w
  1. 2011/05/06(金) 14:55:52 |
  2. URL |
  3. がる #-
  4. [ 編集 ]

Re: 三々五々と

> がるさん

コメントありがとうございます。
「嗅覚」ですか。
確かに、以前は気にも止まらなかった事が、気になりだすっていうのは有りますね。
知識を得たり、経験を積んだりすることで、気付く事が増えていくケースが多い気がします。

達人は・・・なるほど、確かに10年程度では難しそうですね。
もしかしたら、一生かかっても無理なのかもしれませんが、
この記事の様に、可能な限り近付ける様に頑張りたいと思います。

バグはまあ、「想定外」は可能な限り減らしたいですよねw
そのためには、「あらゆる可能性」を「想定」する事が必要だと思いますが。
  1. 2011/05/08(日) 00:16:09 |
  2. URL |
  3. kitoku #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://kitoku1.blog129.fc2.com/tb.php/108-22690777
この記事にトラックバックする(FC2ブログユーザー)