用語辞典

学んでいると突然出てくる単語を、できるだけ短く・初心者向けに説明しています。

📘 コード品質

リファクタリング
コードの動きは変えずに、構造を整え直す作業。バグ修正でも機能追加でもなく「読みやすく・直しやすく」する作業です。
命名(ネーミング)
変数や関数の名前をどうつけるか。短さよりも「読んで意味が伝わるか」が大事。コードの中で一番コメントが要らなくなる部分。
関数(function)
処理をひとまとまりにして、名前をつけたもの。基本は「1つのことを1つだけ」する。長い関数は読みにくく、テストもしにくくなります。
クリーンコード
未来の自分や他の人が読んだときに「迷わない」コードのこと。同名の書籍 (Clean Code) が代表的な原典。

🏛️ アーキテクチャ・設計

SOLID原則
コード設計の指針5つの頭文字。長く育てるコードを「壊れにくく」する基本ルールです。
DRY原則
Don't Repeat Yourself=同じことを2度書かない。同じ処理が3回出てきたら、まとめるサイン。
KISS原則
Keep It Simple, Stupid=できるだけシンプルに保つ。「賢く書ける」と「シンプルに書ける」は別物です。
デザインパターン
「よくある設計問題」に対する定番の解決パターン。暗記するものではなく「あ、この場面ね」と気づくためのカタログ。
単一責任の原則
1つのクラスや関数は、1つの理由でしか変更されないようにする。何でもできる関数は、結局何にも使いにくい。

🗄️ データベース

N+1問題
一覧表示で「親1件+子N件」のためにクエリがN+1回発行されてしまう状態。地味に重く、ユーザー数が増えると致命傷になりがち。
インデックス
検索を速くするための「索引」。本の巻末索引と同じ。万能ではなく、書き込みが遅くなる副作用もあります。
正規化
データの重複を減らすための設計の作法。第1〜第3正規形まで段階的にやるのが一般的。
トランザクション
複数の更新を「全部成功 or 全部失敗」で扱う仕組み。途中で落ちて中途半端な状態になることを防ぎます。

🌐 Web/API

API
Application Programming Interface=別のシステムと通信するための窓口。「アプリ同士の通用口」。
エンドポイント
APIの個別の窓口URL。例: `/api/users` は「ユーザー情報の窓口」。
REST API
APIの設計スタイル。リソースをURLに、操作をHTTPメソッド (GET/POST/PUT/DELETE) に対応させる流派。
環境変数(env)
プログラムの外側に持つ設定値。APIキーやDBパスワードなど、コードに直書きしたくない情報の置き場。コピペで余計な改行が入ると静かに死ぬ。
OAuth
自分のパスワードを渡さずに、別サービスに「自分の代わりに何かをさせる」仕組み。「GitHubでログイン」の裏側で動いているもの。

🎓 CodeSenseiの機能

コードから学ぶ
自分のコードを貼り付ける(or GitHubから選ぶ)と、AIが技術書の概念とつなげて解説してくれる機能。
バグから学ぶ
エラーメッセージを貼り付けると、AIが原因を解説しつつ、関連する技術書の章を案内してくれる機能。
クロスブック
同じ概念が複数の本でどう違って書かれているかを見比べる機能。「本のつなぎ方」自体を学べます。
レベル診断
15問のAI問答で、ジャンル別 (コード品質、設計、DB、Web等) の現在地を測る機能。
カスタムカリキュラム
目標と現在のレベルに応じて、最適な学習パスをAIが自動生成する機能。

用語が分かってきたら、自分のコードで実際に学んでみましょう。

無料で始める