プログラムを書いていて、初めて出るエラーがあると慌ててしまう。
エラーメッセージをネットで検索して、ズバリ解決することも半分くらいある。
しかし、エラーメッセージで検索しても、該当する事項に上位100件をみても見当たらないことがある。
そこで、プログラマに必須な検索技法を記録する。
@shojimotio 「その発想はなかった!新しい質問のしかたとチーム環境作り」質問の仕方を学ぶ前に、検索の仕方を学んだ方がよいかも。仮説・検証(182)
https://qiita.com/kaizen_nagoya/items/d36e87972e6cd5f665f9
<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.
技法1 日本語を含むエラーをそのまんま、エラーメッセージで検索する。
https://researchmap.jp/jon8d169o-1797580/
CMakeFiles/check-all.dir/build.make:57: ターゲット 'CMakeFiles/check-all' のレシピで失敗しました
自分の記録は上の方に出てくる。まだ解決していない。
技法2 日本語のエラーの場合は、英語版で同じ操作をして、英語のエラーメッセージを出す。
ちょっと例は違う。
https://qiita.com/kaizen_nagoya/items/44567fb589c040aad40d
/usr/lib/R/etc/Makeconf:141: recipe for target 'collocate.o' failed
/usr/lib/R/etc/Makeconf:141: recipe for target 'collocate.o' failed に一致する情報は見つかりませんでした。
英語で検索すると良いのは、情報の豊富さである。英語で検索すると体感で10倍以上情報が多い。
技法3 現在の環境に依存する文字列を削る
Makeconf:141: recipe for target 'collocate.o' failed
2件でて来た。ちょと違うかも。
技法4 固有名詞を入れて検索する
固有名詞とは、
システム名:macOS, Windows, Linux
言語名:C, Pyhon, Rust
サービス名:google, amazon, azure, docker GitHub
コマンド・プログラム名:clang, gcc, apt
などなど。
上記の例はgccだから、gccを追加する。
Makeconf:141: recipe for target 'collocate.o' failed gcc
また0件
技法5 固有名詞を厳選する
Mecabの案件だから、
Mecab error gcc
qiitaの記事が上位5件中2件。qiita、stack overflowの記事が欲しいのなら、最初からqiitaを入れるか、
stack overflowを入れる。
道具 grep
ソースコードのエラーの場合に、対象のソースコードを検索することがある。
grepコマンドを使う。grepはglobal regular expression print(正規表現検索出力)の略とも。
$ grep error c.log
すると、KWIC(key word in context)形式で該当箇所の前後の文字列(context)中に表示してくれる。
検索の基本機能かも。
-i で大文字、小文字識別せずに検索してくれる。
演習
@SuguruOoki 初心者が「仕事で貢献する」ためにする質問の方法
ここかrの引用は上記記事。
何分自分で検索するとよいか。
調べる時間15分
部署によりけり。5分検索すればよいという部署もあれば、10分は調べろよという部署もあれば、紙も含めて20分探せという部署もある。15分にこだわらず、まず自分がいつも質問する人に聞いてみよう。ひとまず、その人のいう時間だけ検索してみれば、上に書いたよりももっと素敵な方法を教えてくださるかもしれない。
道具
何をわかっていれば、お願いされたタスクの実装ができるようになるのか
何もわかっていなくても、道具が使いこなせれば大丈夫の場合があります。
何かわかってから仕事をするという前提に立つのはやめましょう。
仕事ができあがって、お客様からほめられて、初めて何かがわかるものだとおもってくださると幸いdす。
grep, diff, エディタ、OSコマンド群, 正規表現を利用した道具類。
場合によってはコンパイラとかリンカとか。
わかっていなくていいのです。使い回せれば。
質問
1.何を機能として実現したいのか
2.どういうエラーが発生しているのか(全文)
3.エラーを解決するためにやってみたことは何か
4.エラーを解決するために調べた情報は何か、その情報ソースは何か(URLなどを提供)
5.調べてみた結果何がわからなかったのか
全文というのと、URLなどというのが鍵ですね。
要約したり、URLをつけないのは最低。
要約しろっていう上司、先輩がいるかもしれない。
その指示をした人にだけは要約すればいい。
それ以外の人には全文が原則。
#参考文献(reference)
シンボリックリンクだけを検索
https://qiita.com/bluemooninc/items/e55730a84eaad6eeed0a
grepコマンド
https://qiita.com/sf213471118/items/761359884dec38914bc5
正規表現 & sed & awk
https://qiita.com/yetnone/items/9c45bfc48512cbaef2b3
sed, awk, grepの使い分け
https://qiita.com/sf213471118/items/761359884dec38914bc5
##自己参照(self reference)
grep 操作間違いなど
https://qiita.com/kaizen_nagoya/items/2f14e895175908c296ca
サーチャー試験 傾向と対策―データベース検索技術者認定試験〈1級・2級〉 紀伊國屋書店 1993, 小川清, 安藤彰敏, ISBN 978-4816912009
https://www.amazon.co.jp/dp/4816912002
人生で影響を受けた本100冊。36. サーチャー試験
傾向と対策―データベース検索技術者認定試験 傾向と対策 1級・2級, 小川清, 安藤彰敏, 日外アソシエーツ・紀伊国屋書店, 1993
https://www.amazon.co.jp/dp/4816912002/
https://bookmeter.com/books/9098104
https://booklog.jp/item/1/4816912002
図書に関するJISがついている
説明歌 検索語三種入れるの原則で規格特許と学術用語 言語には検索組立計画と実行分析証明検査 内容を理解していればすぐに見つけられることを持って回った手順で検索していた。探しにくいシステムを探すことに燃えていた。数十年前の電子計算機の前で出現していた事象。図書館情報学、工業標準、計算機科学の3つの視点の均衡を図り容易に目的を達成する教材を本にしたもの。試験問題を題材にしているためすぐに破棄した図書館もある。時代が追いついてきてこの本で整理した、いつでも誰でも手にすることができるようになったかも
全文LaTex入稿。当方はMS-DOS, 日外アソシエーツはUnix。システムと版の違うLaTeXでのやりとりで技術力が高まり、印刷業向けLaTeX講座を開いた。
自己参照
プログラマに必須な検索技法
https://qiita.com/kaizen_nagoya/items/8ee1f5e241e2aee39f5c
仮説(182)質問の仕方を学ぶ前に、検索の仕方を学んだ方がよいかも。
https://qiita.com/kaizen_nagoya/items/d36e87972e6cd5f665f9
物理記事 上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff
数学関連記事100
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d
言語・文学記事 100
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6
医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82
通信記事100
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7
自動車 記事 100
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5
Qiita(0)Qiita関連記事一覧(自分)
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6
鉄道(0)鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0
日本語(0)一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68
英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d
LaTeX(0) 一覧
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792
転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe
仮説(0)一覧(目標100現在40)
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df
安全(0)安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409
Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8
Ethernet 記事一覧 Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794
Wireshark 一覧 wireshark(0)、Ethernet(48)
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0
線網(Wi-Fi)空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001
OSEK OS設計の基礎 OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3
官公庁・学校・公的団体(NPOを含む)システムの課題、官(0)
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3
Error一覧(C/C++, python, bash...) Error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8
C++ Support(0)
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514
Coding Rules(0) C Secure , MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0
なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2
言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4
プログラムちょい替え(0)一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394
TOPPERSまとめ #名古屋のIoTは名古屋のOSで
https://qiita.com/kaizen_nagoya/items/9026c049cb0309b9d451
プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945
一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39
自動制御、制御工学一覧(0)
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b
Rust(0) 一覧
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927
小川清最終講義、小川清最終講義(再)計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
文書履歴(document history)
ver. 0.01 初稿 20180126
ver. 0.02 加筆 20180205
ver. 0.03 参考資料追記 20180226
ver. 0.04 参考資料追記 20200117
ver. 0.05 @SuguruOoki 初心者が「仕事で貢献する」ためにする質問の方法 参照 20211021
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.