プログラミング上達のコツとは?エンジニアに学ぶ検索テクニック

どうも!侍ブログ編集部のハナキノボルです。

プログラミングを上達させるコツってありますか?

このような質問をよく聞きます。

挙げていけばきりがない程ありますが、長期的にみてもっとも大きな効果が得られるのは「検索力」をつけることです。

そうです。「ググる力」のことです。事実、プロのエンジニアでも毎日、何度も何度も「検索」して情報を得ています。

今回は、なぜ「検索力」がエンジニアにとって重要であるのか、またどのようにして検索をすれば良いのか、その方法についてご紹介していきたいと思います。

読み終わる頃には、エンジニアの必須スキルである「検索力」についての理解や「検索の仕方・テクニック」を習得することができるでしょう。

なぜ「検索力」が重要なの?

前提として、ここでの「検索」は、プログラム内の文字や特定のファイルなどを「検索」することではありません。検索エンジンを使い『検索』を行う、いわゆる『ググる』方のことを指します。

そもそも検索エンジンって何?

スクリーンショット 2016-01-11 17.48.24

引用元:Google https://www.google.co.jp/

重要性の前に、まずは検索エンジンについての理解を深めましょう。

検索エンジンとは、インターネット上に存在する情報を「検索する機能」を指しています。GoogleやYahoo!などはこの「検索エンジン」が特に優れている、検索サイトです。

「ググる」というキーワードが生まれるぐらい、GoogleやYahoo!は検索したいものを見つけることに優れた、大変便利なサイトです。あなたもこれまでにこういった「検索」を1度は実施したことがあると思います。

検索エンジンはGoogleを使えば間違いなし


上記の通り、2019年11月時点で、日本で最も使われている検索エンジンは「Google」で、そのシェアはなんと「74%」となっています。実は一昔前まではyahoo!がトップだったのですが、ここ数年でGoogleが一気に抜き去り、圧倒的に1位となっています。

上記はタブレット、デスクトップPC、モバイルを全て合算したデータとなっていますが、それぞれ分けても全てGoogleが70%以上のシェアを獲得していて、圧倒的に1位なんです。

また、これは日本だけどころか、世界で見るとGoogleのシェアは更に上がり、なんと90%以上にもなっているんです。Google、神ですね。

なぜ、Google一択なの?

ここまでのデータで、検索エンジンは「Google一択」という事がお分り頂けたかと思います。

では、なぜGoogleはこんなにも強いのでしょうか?理由は至ってシンプルで、Googleの検索エンジンが優れているからなんですね。

例えば昔は、yahoo!は独自で検索エンジンの技術を利用していましたが、2019年現在では、Googleの技術を借りているのです。つまり、yahoo!で検索しても、結局Googleで検索しているのと変わらないという事。

他の検索エンジンの「bing」なんかも、日本ではわずかに使われてはいますが、かなりコアです。


昔から、「長いものに巻かれろ」と言いますが、とにかく巻かれましょう。これが、検索エンジンはGoogle一択の理由です。

プログラミング学習においてはGitHubも有効

「検索エンジン」をうまく使って検索力を向上させることは、プログラミングでの勉強だけでなく、普段生活している全ての「困りごと」を解決する為に有効な手段です。

ただ、プログラミング学習で使える「検索」は検索エンジンだけではありません。例えば、GitHubというバージョン管理システム内でも活用できます。

GitHubってなに..?という方は、以下の記事をご覧ください。簡単に言えば、世界中の人々が自分の作品(プログラムコードやデザインデータなど)を保存、公開することができるようにしたウェブサービスの事ですね。

GitHubとは?概要やメリットを初心者向けに簡単解説!
更新日 : 2020年3月3日

このサービス内で、「検索力」を駆使すれば、プログラミング学習のエラー解決に繋がったりと、学習の手助けになる事間違い無しなので、プログラミング学習においてはGitHubでの検索も活用しましょう。詳しい検索テクニックなどは後述していきます!

「検索力」が大事な理由、それは...

少し話を戻しますが、そもそもなぜ検索力が大事なのでしょうか?それはズバリ、「そこに答えの全てがあるから」。です。

批判を恐れずいうとすれば、こうなります。はっきり言って、今の時代ネットで解決できないこと(答えが返ってこない)ということは、皆無に等しいです。もし、返ってこないのであれば、それはあなたの「ググる力」がないから。ただ、それだけです。

それ以上も以下もありません。でも安心してください。「ググる力」は養えますよ。

検索のコツって?

どのように「検索」をすれば良いのか、いくつか例に出しながらご紹介しましょう。

では、プログラミングに関連する用語として、WEBフレームワークの「ライブラリ」という言葉がありますね。

あなたは、こちらの記事を見て、「ライブラリってなんだろう?」となったとしましょう。意味や言葉の理解をするために調べることにします。

早速、Google or Yahoo!を開きましょう!

と言いたいところですが、検索を始める前にいくつか注意点がありますので、そちらを確認します。

注意点は、2点です。

  • ①.検索をする時は、〜3、4語程度に抑える。
  • ②.検索したい単語を左から順番に並べてスペースで区切って入力する。

です。

こちらの2点を抑えた上で、早速検索してみましょう。まずは「ライブラリ」とそのままストレートに検索してみてください。

スクリーンショット 2016-01-09 11.31.18

上位の2つは、あなたの知りたい「ライブラリ」に近いように見えますね。3つ目は論外です。

コツ①:周辺キーワードを絡める

既にお気づきだとは思いますが、「ライブラリ」という単語には、図書館の「ライブラリ」や、会社名や建物名の「ライブラリ」、その他名称の「ライブラリ」があり、あなたが調べたい「ライブラリ」が正しく表示されない可能性があります。

その為、調べたい「ライブラリ」の「周辺キーワード」をうまいことひっつけて検索するようにします。

例えば、「ライブラリ WEBフレームワーク 用途」や「ライブラリ WEBフレームワーク 意味」という感じで調べるのがベストでしょう。

スクリーンショット 2016-01-11 14.37.27

コツ②:順番を変えてみる

スクリーンショット 2016-01-11 15.50.06
スクリーンショット 2016-01-11 15.50.15
スクリーンショット 2016-01-11 15.50.23

「ライブラリ WEBフレームワーク 意味」と調べる場合と「WEBフレームワーク ライブラリ 意味」、「意味 ライブラリ フレームワーク」と調べるのでは検索結果が全て異なります。

一度異なることを確認してみてください。欲しい答えを導き出すコツは、重要なキーワードから順番に並べてみることです。

尚、必ずしも単語である必要はありません。短めの文章になっても構いませんので、様々なキーワードを入力し、検索に慣れていくことも重要です。

Google検索の6つのテクニック

これまで紹介してきた検索方法は基本中の基本になります。ここでは、より高度な検索テクニックをご紹介しましょう。

①.「”」で検索の精度を上げる

スクリーンショット 2016-01-11 15.48.35

検索したいキーワードをダブルクォーテーション「”」で囲むことでそのキーワードが「完全一致するWEBサイト」のみを検索できます。

例えば、「"WEBフレームワーク" 意味」と「WEBフレームワーク 意味」で検索をしてみてください。

↓ ダブルコーテーション有りの場合 ↓

スクリーンショット 2016-01-11 15.09.29

↓ ダブルコーテーション無しの場合 ↓

スクリーンショット 2016-01-11 15.04.25

この様に検索結果が違ってきますね。

「この機能を一体どう使うの?」というところが気になるところですが、答えは簡単。より「精度の高い答え」を導き出せるわけです。

検索結果を見ていただくとその差は歴然ですね。ダブルコーテーション有りの場合は「11,700件」の検索結果に対し、ダブルコーテーション無しの場合はなんと「603,000件」の検索結果が出ています。約50倍近い数の検索結果です。

なぜこの様な差が生まれてくるのかというと、ダブルコーテーション無しの場合、「WEBフレームワーク」は「『WEB』『フレームワーク』」で検索をしていることになるんですね。その為、「WEBフレームワーク」に関連していないウェブページをグーグルが検知し、表示させていることになります。

つまり、ダブルコーテーションを巧みに使うことで、より精度が高く、答えまで最短スピードまでたどり着けるわけです。

②.「-」で無駄を省く

スクリーンショット 2016-01-11 15.46.49

除外したいキーワードの前にハイフン「-」を入れると、ハイフンの後に書かれたキーワードを除外したサイトを検索できます。

例えば「Mac ノートパソコン -Pro」と調べると、Macのノートパソコンの内、「Pro」以外のノートパソコンを検索することができます。

③.「OR」で検索結果を2択に絞る

スクリーンショット 2016-01-11 15.57.48

「プログラミング学習のコツ PHP OR Ruby」で検索すると、 「PHP」もしくは「Ruby」というキーワードが存在する「プログラミング学習のコツ」について書かれたページのみ表示されます。

※「OR」を記載する時は、必ず半角大文字で入力し前後に「スペース」を入れて下さい。

④.タイトル検索

スクリーンショット 2016-01-11 16.04.59

WEBサイトには、「タイトル」と「本文」がありますが、タイトルのみで検索をすることができます。その場合「intitle:」を用いて、「intitle:Ruby」の様に入力をしてください。

こうすることで、タイトルに「Ruby」というキーワードが入ったサイトのみを検索することができるので、「Ruby」に特化したサイトを見つけることができます。

⑤.検索ツールの活用

スクリーンショット_2016-01-11_16_10_29

検索窓の下にある「検索ツール」を活用することでさらに精度の高い検索をすることができます。

例えば「WEBフレームワーク」と検索をしてみてください。すると、以下のような検索結果ページが表示されると思います。

スクリーンショット 2016-01-11 16.24.50

では、検索ツールの「期間を指定」を選択し、「1年以内」をクリックしてみましょう。すると、直近1年以内に更新されたページのみ検索結果として表示されます。

スクリーンショット 2016-01-11 16.25.17

プログラミング技術は日々進歩していきます。

そのため、更新された期間を絞って検索することでより最新の情報を得られ、求めている答えに辿り着ける可能性が高まります。それ以外では、「言語指定」もよく使う機能です。日本語のみのサイトを表示したい時などに使用しましょう。

⑥.Googleサジェストキーワードと関連キーワード

「この単語わからないから調べてみたけど、どう調べれば良いのか、なかなかわからない...」ということはありませんか?

そんな時は、「サジェストキーワード」と「関連キーワード」を用いて、ヒントをもらいましょう。

サジェストキーワードと聞いて「?」の方もいらっしゃるでしょう。でも、必ず見たことがあるはずです。

サジェストキーワード

とは、以下の事を言います。

スクリーンショット 2016-01-11 16.43.38

キーワードを検索窓に入力することで人気・類似ワードが予測され表示される機能がありますね。これを「サジェストキーワード」と呼びます。

ここに上がってくるキーワードは、良く調べられているキーワード(=需要があるキーワード)です。こういったところでヒントを見つけるのも有効な手段ですね。

また、サジェストキーワードと似ていますが、「関連キーワード」というものもあります。

関連キーワード

スクリーンショット 2016-01-11 16.43.52

これもサジェストキーワードと同様、良く調べられているキーワード(=需要があるキーワード)ですので、少しでも検索のヒントに役立てて下さい。

プログラミング独学者必見!GitHubでのコード検索方法

ここまでGoogleでの検索テクニックを紹介してきましたが、続いては前述した「GitHub」内でのコード検索方法を紹介していきます。たくさんあるので、その中でいくつか抜粋して紹介していきますね。

コード検索の際の前提条件

まず、GitHub内でコード検索する際の前提条件を知っておきましょう。Google検索と違い、GitHubでのコード検索は少し複雑なので、知っておきたい前提条件となります。

これは、GitHubの公式サイトの文章を引用しておくので、読んでおいてください。

コードの検索は複雑なため、検索の実行には一定の制限があります。

すべてのパブリックリポジトリにわたってコードを検索するには、サインインしなければなりません。

フォークのコードは、親リポジトリより Star が多い場合に限って検索可能です。 親リポジトリより Star が少ないフォークは、コード検索ではインデックスされません。 親リポジトリより Star が多いフォークを検索結果に含めるためには、クエリに fork:true または fork:only を追加する必要があります。 詳細は「フォーク内で検索する」を参照してください。

Only the default branch is indexed for code search. ほとんどの場合、これは、master ブランチです。

384 KB より小さいファイルのみ検索可能です。

500,000 より少ないファイル数のリポジトリのみ検索可能です。

サインインしているユーザは、すべてのパブリックリポジトリを検索可能です。

filename の検索を除き、ソースコードを検索する場合、常に少なくとも検索単語を 1 つ含める必要があります。 たとえばlanguage:javascript は有効な検索ではありませんが、amazing language:javascript は有効な検索です。

検索結果では、同一ファイルから取り出される部分は 2 つまでです。そのファイルはさらに多くの部分でヒットしている可能性があります。

クエリの一部として次のワイルドカード文字を用いることはできません: . , : ; / ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]. 検索では、これらのシンボルは単に無視されます。

引用:GitHub

ファイルの場所から検索する

まずはファイルの場所から検索する方法です。リポジトリ(保管場所の事です)の特定の場所に表示されいているソースコードを探す為の検索方法ですね。これは、

装飾子 path:/

例 octocat filename:readme path:/

このように検索すると、ルートに位置する"octocat"を含むreadmeのみが引っかかります。

装飾子 path:DIRECTORY

例 form path:cgi-bin language:perl

このように検索すると、cgi-binディレクトリ内の、formを含むperlで書かれたファイルが引っかかります。

装飾子 path:PATH/TO/DIRECTORY

例 console path:app/public language:javascript

このように検索すると、app/publicディレクトリ以下でconsoleを含むjavascriptのファイルが引っかかります。

言語で検索

この方法は、コードで書かれた言語で検索する事が可能です。

装飾子 language:LANGUAGE

例 display language:scss

このように検索すると、displayを含むSCSSで書かれたファイルが引っかかります。

例 element language:xml size:100

このように検索すると、XML形式でちょうど100バイトであり「element」という単語があるコードが引っかかります。

ファイル名で検索

この検索方法は、特定のファイル名を持つコードファイルを検索する事ができます。

装飾子 filename:FILENAME

例 filename:linguist

このように検索すると「linguist」と名付けられたファイルのみが引っかかります。

例 filename:views.py

このように検索すると、views.pyのみが引っかかります。

いくつか紹介しましたが、もっと詳しく知りたい人は、GitHub公式サイトの「コードの検索」をご覧ください。

まずは検索するクセをつけよう

ここまでの説明でお分り頂けたかと思いますが、プログラミング学習はもちろん、何かわからないことがあれば、まずは「検索」することが大事です。

知識のある人やあなたよりも優れた人に聞くことができれば、「検索」するよりも精度の高い答えは返ってくるでしょう。しかし、そのように他力を借りることを癖付けてしまうと、一生「自己解決能力」を鍛えることができません。

勿論、誰かに聞いては絶対にダメ!と言っているわけではありません。

まずは、自分で調べる。それでも解決しない時は、誰かに聞いてみたり、質問掲示板を使ってみる。そうやって、「検索力」を養ってみてはいかがでしょうか?

検索してもわからない時はわからない

ただ、ここまで検索力を発揮してもわからない…ということは珍しいことではありません。

それは検索力が足りないのではなく、あなたの悩みに合う答えが存在していないだけか、検索の方法がちょっと間違ってしまっているかです。

プログラミングはモノづくり、人によってどんなポイントで困っているかは違います。その全ての答えがWEB上にあるとは限らないし、検索方法次第ではうまく見つからないということも十分にあります。

そんな時に頼れるのが人の力です。わからないところはわかる人に、ピンポイントで聞いてしまうのが一番です。

近くに聞ける人がいない...そんな人は

とは言っても、そんな人がすぐ近くにいるとは限らないですよね。プログラミングに詳しい人なんて、周りを見てもそう簡単にはいません。

そんなあなたは、弊社「侍エンジニア塾」のプログラミング無料相談を利用してみてください。弊社では、プログラミング学習の悩みを解決する為に、完全無料で相談を受け付けています。


引用元:侍エンジニア塾 https://www.sejuku.net/blog/consult

  • 独学でつまずいている人
  • 今の学習方法に不安がある人
  • 仕事獲得ができるか不安な人

様々な人に対して、専属のコンサルタントが無料相談を行なっています。対面、オンライン、はもちろん、メールでの簡易的な相談も受け付けていますよ。

プログラミングに関する事なら、どんな質問でも構いません。ぜひお気軽にご利用ください。

無料相談の詳細はこちら

まとめ

今回は「プログラミング上達のコツ」として、検索のテクニックを紹介しました。

プログラミングを学習する中で、自分の欲しい情報を的確に見つけることが、大切だと言うことが分かってもらえたと思います。上達するためのコツは検索力も大事ですが、プログラミングに対する理解と、学習の進め方も重要です。

しかし、

  • プログラミング言語を学ぶこと
  • プログラミングを学ぶこと
  • アプリの作り方を学ぶこと

この3つは明確に違います。もっとも重要なのは「プログラミングを学ぶこと」です。この違いを理解することで、プログラミング習得への最短の道を進むことができるでしょう!

プログラミング学習で挫折しないためにも、プログラミング学習の方法と進め方を理解し効率良く学習を進めましょう!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ハナキ ノボル

ハナキ ノボル

侍エンジニア塾ブログ編集長。オウンドメディア運営、コンテンツマーケティング、SEO対策が得意分野です。プログラミングはすべての人が学ぶべきスキルだと思っています。0→1を作り上げるエンジニアはとてもかっこいい職業で世の中のイメージ(3K)を変えたい!と密かに思ってます。現在Swiftを勉強中。音楽鑑賞が趣味で、ライブやフェスによく行きます。
インスタやってます。
ツイッターやってます。
ブログやってます。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習やキャリアのお悩み、お気軽にご相談ください。