共通で使える独学内容 Part.03

この記事を書いた人
鈴木朝
システムエンジニア

■ 得意なプログラミング言語
・フロントエンド(HTML/CSS/Javascript)
・バックエンド(C/C++/Java/PHP/Python)
・その他(アセンブラとか・・・?)

プロダクトエンジニアとテクニカルサポートエンジニアのキャリアは合計4年です。
インフラ周りもそこそこ触っていました。

システムエンジニアとしてのキャリアは15年以上です。

ログというものがあってだなぁ・・・

若手プログラマ
若手プログラマ

あちゃー

鈴木朝
鈴木朝

どうかしましたか?

若手プログラマ
若手プログラマ

バグっちゃいました。

鈴木朝
鈴木朝

お!
それはマズイですね。

若手プログラマ
若手プログラマ

ええ・・・

鈴木朝
鈴木朝

すぐに直せそうですか?

若手プログラマ
若手プログラマ

それが、すぐに直せそうにも無いんです。
どこで問題が発生しているのかわからなくて・・・

鈴木朝
鈴木朝

ふむ・・・
どこまで正しく動いているかの整理はできていますか?

若手プログラマ
若手プログラマ

いや、それが・・・
この表示になってるんで、おそらく固定で表示するところの処理は上手くいってるんだと思うんですけど・・・
たぶん、ユーザ毎に変わる部分が悪さしてると思うんですけど・・・

鈴木朝
鈴木朝

バグが発覚してどのくらい時間が経過してるんですか?

若手プログラマ
若手プログラマ

1日半くらいですかねぇ

鈴木朝
鈴木朝

え?
それで整理もできていないんですか?

若手プログラマ
若手プログラマ

ええ、そうなんです。
なので、ちょっと焦っちゃって・・・

鈴木朝
鈴木朝

ログはどう出てるんですか?

若手プログラマ
若手プログラマ

ログ・・・ですか・・・?
ログは見てません。

鈴木朝
鈴木朝

えーーー
どうしてログを見ないんですか?

若手プログラマ
若手プログラマ

ログを見るという発想がありませんでした・・・

鈴木朝
鈴木朝

すぐにログを採取しましょう。

若手プログラマ
若手プログラマ

ええと・・・
どうやって採取すれば良いんですかね?

鈴木朝
鈴木朝

見たところJavascriptのソースなので、console.logメソッドを記述すればログを出すことができますよ。

若手プログラマ
若手プログラマ

あ!本当だ!
あーー、このメソッドが定義されていないのか・・・

鈴木朝
鈴木朝

Javascriptに限らず、プログラムの実動作解析はログによる解析が基本です。
次からは、まずログを確認するようにしましょう。

若手プログラマ
若手プログラマ

はい!
ありがとうございました!

障害解析だけではないログの使い道

ログを適切に追加できているかというのは結構重要なポイントです。

なぜなら、試験した時のエビデンスとして残せるからです。

表面上の見た目だけ確認してOKにしてしまうと、実は内部では設計通りの動きになっていないことに気付かずにリリースしてしまうことになります。

静的なホームページであれば見た目だけでOKですが、システムを作る時には目に見えないところの動きも作りこむので、内部の動きもチェックする必要があります。

特に、目に見えないところでモードが変わるような仕組みであれば、ログは必須です。

正常動作時に正常であることを示すためのログを1つ追加し、そしてモードの切り替わるタイミングでのログを必要な分だけ追加する。

それだけでグンと扱いやすいシステムになります。

プログラミングの独学といっても、転職するためだとか就活のためだとかでやる場合は実践で使えるようでないと話になりません。

そのため、ログを仕込むということを覚えておきましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です