タグ:Chrome Extension | Chromeブラウザ | DeepL
みなさん、開発してますか?順調ですか?
今年からプログラミングを始めた方が例年よりかなり増えたと思いますが、基礎的な段階から実際に開発を始めていくと技術書に書いてることだけや日本語検索だけですべてのエラーを解決まで辿り着けることはほぼありません。
世界中の知恵を借りれるのがネットの最大の強みなので、世界の知恵にたどり着くテクニックやキーワードを工夫してなるべく自力で解決できる自走力を高めましょう!
普段Googleで検索している方は日本語フィルターがデフォルトでかかっているので、日本国内のサイトが優先的に候補にあがるのでなかなかニッチなキーワードでは必要なソースにひっからない場合が多いです
この場合は日本語フィルターを外して世界中のページから候補を探す方法で検索してみましょう
英語ページには必須のChrome拡張です。
短いテキストならドラッグ選択すればアイコンが表示されるのでクリックでそのまま翻訳してくれ、右クリックで「日本語に翻訳」を選択すればページ全体を翻訳してくれます。
Google翻訳は非常に優秀ですが、リファレンスや論文などで小難しい文章の場合はまだまだ機械的な翻訳になり、細かいニュアンスわかりにくい翻訳になりがちです。
このDeepLはそういった文章の翻訳もかなり自然な日本語に翻訳をしてくれます
注意点としては無料で翻訳できる文字数の制限があるので、それを超えてしまうと一定期間の翻訳がかけられなくなってしまうため、ページ全体はGoogle翻訳にやってもらい、わかりにくい部分は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というキーワードは候補から除外する)」という旨の指定ができます
まんまではありますが、いきなり小難しいリファレンスから入るよりは、初心者を意識して書かれた文脈の方が情報の整理がしやすいです
実際に自分でコードを書く様になると、問題なく動いててもコード的にはよろしくない書き方や誤解されやすい項目などは中級者レベル向けのソースを探す事で、世界の先輩たちから自身が学んだ注意点やコツなどが知れます
コードとして動くことは何となく読み取れるけど、それがどういった概念や思想により定められたキーワードなのかを紐解くと、より理解が深まる事が多いです。
フレームワークや言語の採用基準は「流行ってるから」とか「名前がおしゃれで格好いいから」などで決められるものではありません。
戦略による過ちは戦術により補い難く、戦術による過ちは戦闘により補い難し
ビジネス界で有名な言葉ですが、根底となる言語やフレームワークの選定ミスは開発手段の改善などでは補い難く、最善ではない運用フローはチームのモチベに関わり、最悪チームの衰退や崩壊を招くといった意味で捉えればすごく大事な選択です。
など自身のプロダクトや開発状況にちゃんとマッチした選定をするためには、たくさんの判断材料が必要です
各々のメリット・デメリットを把握したからといって実際に採用されているかどうかは別問題です。
大企業や世界的サービスで採用した事例や、採用に至った判断基準などを辿ると自分たちのケースに当てはめた場合のイメージや将来ぶつかるであろう課題や問題点を知ることができます。
新しいデバイスやメジャーアップデートがされた直後は、これまでと同じ方法で実行できなくなる不具合に遭遇したりします
その場合は現時点で確認されている問題点やサポート状況などの詳しい情報はやはり英語ドキュメントの方が鮮度が高いソースにヒットしやすいです。
ミドルウェアやインフラなどの技術的な仕組みを紐解くと次々と新しい単語が出てきて余計に沼にハマるケースが多いです
そういった場合は誕生した経緯を辿ると次々出てくる単語にも時系列的な概念や関係性が見えてきて点と点が線になり、理解しやすくなります。
日本語でもWikiや解説サイトなどで理解できる部分も多いですが、英語ドキュメントの場合は開発者本人のインタビューも取り入れてるソースも多く、当時の情勢なども含めたリアルな解説のサイトも多いので試してみてください
こちらはGoogleではなく、主にGithub用のキーワードとなります
リファレンスなどをひと通りこなして、ある程度自身でプロダクト全体を書けるようになった後に、「realworld example フレームワークや言語名」
などのキーワードをGithubの検索フォームで検索すると実践的なGithubリポジトリ一覧が見れます
リポジトリによっては大規模なプロジェクトを想定した構造でそのまま真似してしまうとよりメンテしにくくなってしまう場合もあるので、色々なリポジトリを見て自身のプロダクトの規模感に合ったものを参考にしましょう
