今日も、画期的なWEBシステムを開発する、ユゲタです。
プログラミングをしているときに、ネットで調べてリファレンスを参照することもあれば、
特定の処理をコピペして作業効率をアップさせることもありますが、
そもそも、処理の多くをコピペで済ませてしまうと、そのシステムは何のユニーク性も無いということになります。
できれば、WEBシステムを作る際に、何かしらの独自性をもたせたいと思うのは、もはや、WEBシステムクリエーターであるとも言えるかもしれませんね。
そんな、エンジニアにとって「一番怖いプログラム」というのを、紹介したいと思います。
本日のIT謎掛け
「WEBシステム」と、かけまして・・・
「道路わきに設置されている看板」と、ときます。
そのココロは・・・
アドレスを知っていれば、誰でも閲覧することができるでしょう。
怖いGIT
怖いと言っても、オバケとか、妖怪などの類ではなく、エンジニアがプログラミングをする時や、そのプログラムを実行するときに、ビビりがちなプログラミングの事です。
つい、この間、知り合いのエンジニアが、作業中に、何を考えていたのかわからないんですが、以下のようなコマンドを入力したそうです。
"git reset --hard"
これで、前回コミットした時までの状態に強制的に戻せるおまじないです。
でも、今日一日作業して、一度もコミットしていなかったら・・・と考えると・・・
その知り合いのエンジニアは、恐らくいつものクセで、作業を少しやり直そうと思ってこのコマンドを入力して、コミットを本日していなかったことをその後に思い出して、1日作業が無くなってしまって、顔が青ざめると同時に、やる気ゼロ状態になったそうです。
怖いターミナル
ターミナルで最も怖いコマンドは、"rm"コマンドでしょう。
僕は、どんなに確実な場合でも、このコマンドを打ち込む時は、少し緊張をします。
間違えても、
rm /
たったの3文字ですが、これを打ち込むと、OS内がとんでもないことになるので、恐ろしいコマンドナンバーワンかもしれません。
しかも、これには呼び名があって、「バルス」って呼ぶらしいですよ。
怖いプログラム
個人的に怖いと感じるプログラムは、いくつかありますが、その1つは、"while文"です。
from-toが決まっている"for文"と比べて、特定の変数の値を監視して、その変数がもしも変更されなかったら・・・無限ループ確定です。
もちろん、"for文"も、次のような書き方ミスをすると、かんたんに無限ループが出来上がってしまいます。
for(var i=0; i<100){...}
javascriptでの書き方ですが、変数iがインクリメントされないので、無限にfor文が繰り返されて、かんたんにブラウザがハングアップします。
また、rmと同じですが、プログラムで何かしらのファイルを削除する時、そのプログラムをいざ実行する際には、まあまあな緊張感が走ります。
だって、値が間違っていたら、ゴミ箱に入れるわけじゃないから、復活させることは、できないわけですし、それを見越して論理削除にしてしまうと、ストレージを圧迫するゴミを本当に削除したことにはなりません。
怖いバッチ処理
上記を考えると、本当に一番怖いプログラミングは、データを削除するバッチファイルなのかもしれません。
定期的に、任意の条件(日付が古いファイルなど)のファイルやディレクトリを削除する処理は、サーバー運用をする際には、必ず発生します。
そんな時に、ある程度の自動化をするために、自動的に不要なデータを削除するバッチ処理をプログラミングする事があるはずです。
試しにそれをテストする時に、テストサーバーなどで、十分にテストしても、本番で全く同じように動作するとは限りません。
間違って、必要なファイルまで消してしまったら・・・と考えると、怖くなってきます。
怖いバックアップ
もちろん、そうした事も想定して、バックアップをとっておくという事は重要なのはわかりますが、そのバックアップも、不要と判断されれば、削除される対象です。
バックアップデータ削除は、論理削除をするわけにはいかないし、ゴミ箱処理をするわけにも行かないので、最も怖い存在なのかもしれません。
これが怖いエンジニアは、「バックアップのバックアップ」という無駄を行っている可能性が高いという事実を僕は知っている・・・
0 件のコメント:
コメントを投稿