2020

12

29

開発&調査に役立つ英語での検索ワード&テクニックまとめてやんよ!!!

タグ: | |

Pocket
LINEで送る
Facebook にシェア
reddit にシェア
LinkedIn にシェア

みなさん、開発してますか?順調ですか?
今年からプログラミングを始めた方が例年よりかなり増えたと思いますが、基礎的な段階から実際に開発を始めていくと技術書に書いてることだけや日本語検索だけですべてのエラーを解決まで辿り着けることはほぼありません。

世界中の知恵を借りれるのがネットの最大の強みなので、世界の知恵にたどり着くテクニックやキーワードを工夫してなるべく自力で解決できる自走力を高めましょう!

英語コンテンツ対策

フィルターなしGoogle検索

普段Googleで検索している方は日本語フィルターがデフォルトでかかっているので、日本国内のサイトが優先的に候補にあがるのでなかなかニッチなキーワードでは必要なソースにひっからない場合が多いです

この場合は日本語フィルターを外して世界中のページから候補を探す方法で検索してみましょう

日本語フィルターなしのGoogle検索

Google翻訳Chrome拡張

英語ページには必須のChrome拡張です。
短いテキストならドラッグ選択すればアイコンが表示されるのでクリックでそのまま翻訳してくれ、右クリックで「日本語に翻訳」を選択すればページ全体を翻訳してくれます。

Google翻訳

翻訳ツール「DeepL」

Google翻訳は非常に優秀ですが、リファレンスや論文などで小難しい文章の場合はまだまだ機械的な翻訳になり、細かいニュアンスわかりにくい翻訳になりがちです。
このDeepLはそういった文章の翻訳もかなり自然な日本語に翻訳をしてくれます

注意点としては無料で翻訳できる文字数の制限があるので、それを超えてしまうと一定期間の翻訳がかけられなくなってしまうため、ページ全体はGoogle翻訳にやってもらい、わかりにくい部分はDeepLにお願いしましょう

DeepL

基本的なキーワード

名称はすぐ入力できても、こまかな単語はわからないものが多いので使用頻度の高い単語をまとめます

アルゴリズムalgorithm管理者administrator
配列array属性attribute
バグbugカラムcolumn
コマンドcommandコンポーネントcomponent
コンストラクターconstructor条件condition
コンテナcontainerコンテンツcontent
含むcontain文脈context
カスタマイズcustomizeデバッグdebug
デフォルトdefault開発者developer
開発development文章document
資料documentation要素element
空のempty環境environment
〜を除くexcept例外exception
存在するexist終了するexit
エクスポートexport表現、式expression
失敗fail修正・解決fix
書式format全般・一般general
生成generate無視ignore
インポートimport索引、添字index
実例instance整数integer
ライセンスlicense制限limit
統合merge方法method
モジュールmodule見つからないmissing
ノードnode通知、注意notice
発生するoccur優先するoverride
出力outputパッケージpackage
パラメーターparameter修正プログラムpatch
実行perform許可permission
物理的physicalプレビューpreview
処理processプロパティproperty
公開publish取得するpull
問い合わせquery範囲range
受信するreceive推奨するrecommend
リファクタリングrefactorリファレンスreference
リリースrelease置換replace
レポートreportリクエストrequest
資源resource応答response
結果result役割role
row検索search
セキュリティーsecurity選択するselect
共有share並び替えsort
特定のspecificステータスstatus
手順step保存・格納store
送信submit成功successful
供給supply支援・サポートsupport
対象・移動先target変換・翻訳translate
不可能unable元に戻すundo
未使用unused更新update
value変数variable
警告warning有効active
無名・匿名anonymousアーカイブarchive
資産asset代入assign
認証authentication結ぶbind
波かっこbrace角かっこbracket
束ねるbundle折り返し先(呼び出し先)callback
証明書certificate整理cleanup
複製clone互換性compatibility
構成・設定configure確定・確認confirm
競合conflict変換convert
クラッシュcrash宣言declaration
遅延delay依存関係dependency
デプロイdeploy非推奨deprecation
無効にするdisable分散・配布distribute
動的なdynamic暗号化encryption
実体entityエスケープescape
実行するexecute既存のexisting
拡張子extension抽出extract
失敗・故障failure取得・フェッチfetch
フレームワークframeworkハンドラーhandler
階層hierarchy識別子identifier
互換性がないincompatibleインデントindentation
初期化initialize内部inner
挿入insert間隔interval
無効なinvalid呼び出すinvoke
反復・繰り返すiterate起動・開始launch
ロジック、論理logicマニュアルmanual
移行migration修正・変更modification
修飾子modifier複数のmultiple
入れ子・ネストnested最適化optimize
標準化・正規化normalize通知notification
解析parse概要overview
ペイロードpayload許可permit
プラグインplugin優先順位priority
プライベート・非公開private進行状況progress
プロトコルprotocolプロキシproxy
キューqueueリダイレクトredirect
登録register描画・レンダリングrender
リポジトリーrepositoryサイズ変更resize
解像度resolution復元restore
戻る・戻すrevertサニタイズsanitize
スキーマschemaスコープ・範囲scope
安全なsecureシーケンスsequence
シリアル化serialize署名・シグネチャーsignature
ソケットsocket仕様specification
分割split静的static
ストレージstorage正常にsuccessfully
接尾辞・サフィックスsuffix同期するsynchronize
構文・シンタックスsyntax第三者third party
スレッドthread切り替えるtoggle
トークンtokenトランザクションtransaction
転送transfer変換・変形transform
遷移transition権限のないunauthorized
未定義undefined予期しないunexpected
 unique不明のunknown
未解決のunresolved非対応unsupported
利用・使用usage有効valid
確認・検証validate検証validation
詳細なverbose仮想virtual
ラッパーwrapper

キーワード検索テクニック

単純に単一キーワードだけの検索では本当に欲しい情報(ページ)にたどり着くのは難しいですが、特定のキーワードと組み合わせることで検索精度が飛躍的に上がります

「キーワード -○○」("-"除外キーワードを追加)

検索したいキーワードによってはmac、windows、linuxなど様々なOSに対応したツールやパッケージ管理ツールの情報に出くわし、同じツールでもOSごとに全く仕様が異なるため、初心者の内は参考にしたエントリーにあったインスツールコマンドが効かないなどのケースで何がどう間違っているかわからず、環境構築で挫折してしまうという事も多いと思います。

docker ○○○ mac -windows」といったマイナスを付ける事で
mac版のdockerに関する〇〇ただしwindowsというキーワードは候補から除外する)」という旨の指定ができます

「◯◯ for beginners」(初心者向け)

まんまではありますが、いきなり小難しいリファレンスから入るよりは、初心者を意識して書かれた文脈の方が情報の整理がしやすいです

「◯◯ advanced topics」(高度なトピック)

実際に自分でコードを書く様になると、問題なく動いててもコード的にはよろしくない書き方誤解されやすい項目などは中級者レベル向けのソースを探す事で、世界の先輩たちから自身が学んだ注意点やコツなどが知れます

「definition / meaning / feature」(定義/意味/機能・特徴)

コードとして動くことは何となく読み取れるけど、それがどういった概念や思想により定められたキーワードなのかを紐解くと、より理解が深まる事が多いです。

  • 「definition」(定義)
  • 「meaning」(意味)
  • 「feature」(機能・特徴)

「◯◯ VS ●●」(比較)

フレームワークや言語の採用基準は「流行ってるから」とか「名前がおしゃれで格好いいから」などで決められるものではありません。

戦略による過ちは戦術により補い難く、戦術による過ちは戦闘により補い難し

ビジネス界で有名な言葉ですが、根底となる言語やフレームワークの選定ミスは開発手段の改善などでは補い難く、最善ではない運用フローはチームのモチベに関わり、最悪チームの衰退や崩壊を招くといった意味で捉えればすごく大事な選択です。

  • それぞれメリット・デメリットや特徴を理解する
    ※高速レスポンスを必要とするアプリケーションにセキュリティやメンテナビリティに秀でた分、レスポンスは比較的遅いDjangoを採用するなど、求める優先順位と異なる選定のミスマッチを防ぐ
  • 自身やチームメンバーが習得するための学習コストを把握する
    ※いくら革新的な技術でも習得や共有に時間がかかりすぎて、いつまで経っても開発フェーズに移れない
  • コミュニティの活発具合を知る
    ※後々エラー調査の検索結果数に大きく関わるので非常に重要!

など自身のプロダクトや開発状況にちゃんとマッチした選定をするためには、たくさんの判断材料が必要です

「◯◯ use case」(使用事例)

各々のメリット・デメリットを把握したからといって実際に採用されているかどうかは別問題です。
大企業や世界的サービスで採用した事例や、採用に至った判断基準などを辿ると自分たちのケースに当てはめた場合のイメージや将来ぶつかるであろう課題や問題点を知ることができます。

「◯◯ issue」(問題点)

新しいデバイスやメジャーアップデートがされた直後は、これまでと同じ方法で実行できなくなる不具合に遭遇したりします
その場合は現時点で確認されている問題点やサポート状況などの詳しい情報はやはり英語ドキュメントの方が鮮度が高いソースにヒットしやすいです。

「◯◯ brief history」(簡単な歴史)

ミドルウェアやインフラなどの技術的な仕組みを紐解くと次々と新しい単語が出てきて余計に沼にハマるケースが多いです
そういった場合は誕生した経緯を辿ると次々出てくる単語にも時系列的な概念や関係性が見えてきて点と点が線になり、理解しやすくなります。

日本語でもWikiや解説サイトなどで理解できる部分も多いですが、英語ドキュメントの場合は開発者本人のインタビューも取り入れてるソースも多く、当時の情勢なども含めたリアルな解説のサイトも多いので試してみてください

「realworld example 〇〇」(実践的な〜)

こちらはGoogleではなく、主にGithub用のキーワードとなります

リファレンスなどをひと通りこなして、ある程度自身でプロダクト全体を書けるようになった後に、
「realworld example フレームワークや言語名
などのキーワードをGithubの検索フォームで検索すると実践的なGithubリポジトリ一覧が見れます

リポジトリによっては大規模なプロジェクトを想定した構造でそのまま真似してしまうとよりメンテしにくくなってしまう場合もあるので、色々なリポジトリを見て自身のプロダクトの規模感に合ったものを参考にしましょう

Pocket
LINEで送る
Facebook にシェア
reddit にシェア
LinkedIn にシェア

トップへ