新しい言語/ライブラリにふれるときに知っていると得するかもしれない検索キーワード

# :beginner:まえがき

新しいものに慣れるのは大変です。
まったく別の文法、公式サイトの構造、お作法にコミュニティの色など色々。
覚えることがたくさん。

自分はあまり新しいものに手を出さないのですが、少ない経験や、見知った言語の良いページから目につくキーワードを残しておくことで、今後の助けとしてみます。

そうしたキーワードを思い出したとき、偶然そのページに行かなければ気づかなかっただろうものも多かったです。
なので、知らなかったことを知れた人もでるんじゃないかなと。

なお主に英単語を紹介しますが、私自身が英弱ックスなのでそんな私でもたどり着けたレベルの簡単なものです。


# :wave: Hello World

[Hello world - Wikipedia](https://ja.wikipedia.org/wiki/Hello_world)

流石にこれはおなじみですね。
最小限の環境構築から最低限の標準出力までを紹介している記事が多いので、
**新しい言語をとりあえず動かせる構築をしたい**
ときなどに言語名に+して検索します。

(最近では不親切な公式HPも見かけなくなり不要かもしれませんが、エコシステム含めたデファクトスタンダードの知見が得られる可能性などがあるかもしれません)

# :blue_book: API/Document/Doc/Reference

使いたいクラスや関数の引数・返り値を確認したいときのリファレンス探しに。
**直接検索キーワードに入れるというよりは、検索結果からこれらがついているものをよく見ます。**

APIはWeb APIのように機能そのものを指すこともありますが、
そのままインターフェースを表していることが多いです。

* [Namespaces | Laravel API](https://laravel.com/api/5.6/)
* [Ruby on Rails API](http://api.rubyonrails.org/)
* [OpenCV API Reference — OpenCV 3.0.0-dev documentation](https://docs.opencv.org/3.0-beta/modules/refman.html)

# :astonished: Awesome

言語(に限りませんが)ごとの**すごく便利なライブラリリンク集**であることが多いキーワードです。

* [Awesome Go : 素晴らしい Go のフレームワーク・ライブラリ・ソフトウェアの数々 - Qiita](https://qiita.com/h_digitalhearts/items/f31914f37dc6c53b2bce)
* [Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々 - Qiita](https://qiita.com/h_digitalhearts/items/62766145f2e24fa1c246)
* [Awesome Node.js : 素晴しい Node.js フレームワーク・ライブラリ・ソフトウェア・リソースの数々 - Qiita](https://qiita.com/h_digitalhearts/items/61030176a254cbe7ff2b)
* [Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita](https://qiita.com/h_digitalhearts/items/7868996e3eb5fa55f11a)
* [Awesome JavaScript : 素晴らしい JavaScript のライブラリ・リソースの数々 - Qiita](https://qiita.com/h_digitalhearts/items/5bf899bfe8f5d86d2096)
* [Awesome Selenium : 素晴しい Selenium ライブラリの数々 - Qiita](https://qiita.com/h_digitalhearts/items/a4cbff763b9ee8a7879a)
* [Awesome Python：素晴らしい Python フレームワーク・ライブラリ・ソフトウェア・リソースの数々 - Qiita](https://qiita.com/h_digitalhearts/items/34c91d4ee0b54bd7cb8b)

主にGitHubで管理されていることが多いです。

* [Topic: awesome](https://github.com/topics/awesome)
* [sindresorhus/awesome: Curated list of awesome lists](https://github.com/sindresorhus/awesome)

なにを使うにしても、まず**存在を知っていることが肝要**なので、
基本の動かし方に慣れてきたら「awesome 〇〇」で検索してひとまず目を通しておく事がオススメです。

# :railway_track: The Right Way

ぺちぱーには
[PHP: The Right Way](http://ja.phptherightway.com/)
が有名でした。たぶん。

精査はしていませんが、各言語そこそこヒットしているので一見の価値があるかもしれません。

* [JS: The Right Way](http://jstherightway.org/)

## 閑話

半年ほど前にPHP: The Right Wayをもじった
Wrong Wayが日本語訳されました。

[PHP - The Wrong Way とは何だったのか - なんたらノート第三期ベータ](http://tanakahisateru.hatenablog.jp/entry/2017/12/12/045350)
むつかしいおはなしですね。

# :white_flower: Effective/The Good Parts

オライリーの本につく中級者以上向けの本につく単語だと思っています。([ジャパン発行はどっちも4/4ですが](https://www.oreilly.co.jp/catalog/))

本で読むのがベストですが、読者の要約や別の言語の記事が転がっていることがあります。

# :heavy_check_mark: Style Guide/Best Practices

コードをより良く保つための方法を知れます。

* [bbatsov/ruby-style-guide: A community-driven Ruby coding style guide](https://github.com/bbatsov/ruby-style-guide)

ベストプラクティスの方はより広範囲にサービスやエンジニアリング論に及ぶこともあります。

* [ベストプラクティス | POSTD](https://postd.cc/tag/best-practices/)


# その他

## Trend

たまに軽く目を通しますが、鉄板ものだったり人気の理由が謎だったりで、私が「とりあえず触って評価してみる」人じゃないのも合わさって、スルーしてQiitaなどの体験談待ちになっています。

* [Trending repositories on GitHub today](https://github.com/trending)

## Stack Overflow

実際に問題が起きた時の検索で頻出ですね。
意識しないでも自然に訪れるはず。
私がこれを検索キーワードに入れるときは全然うまく情報が得られなくてかなり切羽詰まっているときです。

## Online / Demo

**あれを触ってみたいけど入れるのめんどくさー**
というときに。

* [オンラインでプログラミングして実行できるサイト - Qiita](https://qiita.com/tttamaki/items/2b009aa957cfa4895d50)

実行環境から実行速度チェック、Lint、diff、JSON組み立てやREST test、正規表現などなど…
簡単でcommonなものは案外web上で試せる場合があります。
ついでにProgateなどのオンライン学習サイトも引っかかるかもしれません。

JSのライブラリならGitHub Pagesで配布元が触れるデモページを提供していることもあります。

# 参考

* [IT関連技術を効率的に検索する - Qiita](https://qiita.com/yoichiwo7/items/9a38ef1c5ab41b163cf1)
* [誰も教えてくれないググり方 - Qiita](https://qiita.com/hcl/items/da9367d76ff103fcb181)