確実に原因を突き止められる方法を考える

ある案件でWordPressの環境構築をしている際に、HTTPエラーが発生した。

私はこの手の問題が発生したとき、愚直に「wordpress 403」「403 wp-content(エラーが起きたファイル)」などで検索する。情報量の多い技術であればこれで大体のことは解決できるが、トライ&エラーな方法なので精度は低く課題感を感じていた。

そこで、サーバーサイドのエラーの追い方について社内のエンジニアに相談したところ、そのエンジニアの探り方は私とは違っていた。まず、FTPでサーバーに接続して、サーバー関連のログを取得しているディレクトリに移動し、格納されているファイルからエラーログを読んで、出力されているエラーを解決していく、というような進め方だった。絶対にこっちの方が確実だし精度が良い。

恥ずかしながら、自分はここにエラーのログがあることを知らず、そんなことができるとは……という感じだったのだが、これはもしかすると技術が違うだけで、フロントエンドの新人によくある「どこにエラーが表示されているのか分からない」「何が問題なのかわからない」事象と同じではないかと思う。

例えば自分が教えるシーンでよくあるのは、すぐ下にずっとエラーのログが出ているのに気付かない、エラーの箇所を波線で示してくれているのに気付かない、といったことだが、そもそもそれがエラーだと認識していなければ「なんかある」程度で、確かに気付かないかもしれない。

逆手に取るならば、どこにエラーが表示されるのかが最初に分かっていれば、それを頼りに自力で解決できることも増えていくのではないだろうか。

これは個人的な考えだが、分からない問題にであったときに、どの粒度で調べればいいのかや、検索結果から精度の高い記事をピックアップするコツなどのノウハウなども、最初に伝授できていれば自己解決できる機会は増えると思う。

一方で、教えられる側としては、なんでそこを見るのか、というところを理解しないと、また同じ質問をしてしまうだろう。

例えば今回の件で言うと、サーバーの「log」配下に3種類のファイルがあった。

アクセスログ
ファイルに対してアクセスがあったときの情報を記録

エラーログ
サーバーでエラーが発生したときの情報を記録

WAFログ
ウェブアプリケーションの脆弱性を悪用した攻撃を記録

このことを理解していないと、別のエラーが出た際に、また総当たり的な検索をしそうだが、理解していると、今自分はここでエラーが起きている、じゃあここを見ればいい、みたいな思考になるのではないだろうか。

教えてもらう際はなぜそうなのか理解するまで学び、教える側としては、自己解決能力を高められるような教え方をしたい。