7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AUTOSAR CountdownAdvent Calendar 2022

Day 15

プログラマに必須な検索技法 仮説(201) error(76)

Last updated at Posted at 2018-01-26

プログラムを書いていて、初めて出るエラーがあると慌ててしまう。

エラーメッセージをネットで検索して、ズバリ解決することも半分くらいある。
しかし、エラーメッセージで検索しても、該当する事項に上位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
108595.jpg
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.

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?