TL
ホーム/ プログラミング

PROGRAMMING TRACK

プログラミング

OOP・計算量・非同期… 言語をまたいで効く「プログラミングの考え方」を、まず TL;DR でつかみ、そこから仕組みまで。

20
Languages
22
TL;DR
TL;DR から入り、言語比較と概念理解へ進むための入口です。

Concept Map

考え方・概念

言語をまたいで効く「プログラミングの土台」。まず TL;DR で要点を。

TL;DR中級

API 設計の基本

ソフトウェア同士をつなぐ「使い方の約束(インターフェース)」を、使いやすく壊れにくく設計する考え方です。命名・一貫性・後方互換・エラー設計が品質を左右します。

TL;DR中級

イミュータビリティ(不変性)

一度作った値を変更せず、変更が必要なときは新しい値を作る設計方針。副作用を減らし、並行処理でも安全に扱えます。

TL;DR中級

オブジェクト指向プログラミング(OOP)

データ(状態)と処理(振る舞い)を“オブジェクト”にまとめて、現実の概念のようにプログラムを組み立てる考え方。

TL;DR中級

ガベージコレクション

もう使われないメモリを処理系が自動で見つけて回収する仕組み。手動管理の手間とバグを減らせますが、回収時の一時停止という代償もあります。

TL;DR中級

クロージャとスコープ

スコープは変数が見える範囲、クロージャは関数が定義時の外側の変数を“閉じ込めて”覚え続ける仕組み。状態を持つ関数を作れます。

TL;DR基礎

コンパイルとインタプリタ

人が書いたソースコードを、コンピュータが実行できる形へ変換する方式の違いです。事前に機械語へ翻訳するか、その場で1行ずつ解釈するかで、速度と配布のしやすさが変わります。

TL;DR中級

ジェネリクス(総称型)

型を“引数”のように後から指定できる仕組み。同じコードを複数の型で安全に再利用でき、型安全とコード共通化を両立できます。

TL;DR中級

データ構造(配列・リスト・スタック・キュー・マップ)

データを“どう並べて・どう出し入れするか”を決める入れ物の種類。配列・連結リスト・スタック・キュー・マップの特徴と計算量を押さえると、適材適所で選べる。

TL;DR中級

デザインパターン

よくある設計上の課題に対する“定番の解き方”をカタログ化したもの。再利用される設計の語彙として、設計の意図を短い名前で共有できます。

TL;DR基礎

テストの基礎

コードが期待どおり動くかを自動で検証する仕組みの入門。単体・結合・E2E の役割と、テストピラミッドの考え方を押さえます。

TL;DR基礎

デバッグの技法

不具合の原因を、当てずっぽうではなく筋道立てて突き止めるための考え方と道具です。再現・仮説・切り分けを軸に、ログやデバッガを使って原因を一つずつ絞り込みます。

TL;DR中級

ポインタと参照

値そのものではなく、値が置かれたメモリのアドレスを指し示す仕組みです。大きなデータを安く受け渡せる反面、ヌル参照やダングリングといった事故の温床にもなります。

TL;DR中級

依存関係管理(パッケージ管理)

外部ライブラリの導入とバージョンを、再現可能な形で管理する仕組みです。マニフェストとロックファイルで「誰が・どの版を・どう使うか」を固定し、依存の地獄を避けます。

TL;DR基礎

関数(引数・戻り値・スコープ)

入力(引数)を受け取り、処理して、結果(戻り値)を返す“ひとかたまり”。同じ処理を名前で何度も呼び出せる、再利用の基本単位。

TL;DR中級

型システム(静的型付け vs 動的型付け)

値の「型」をいつ・どこまで検査するかのルール。コンパイル時に守るか実行時に確かめるかで、安全性と書きやすさが変わる。

TL;DR中級

計算量と Big-O 記法

データ量が増えたとき、処理時間が“どれくらいの勢いで”増えるかを表す物差し。アルゴリズムの良し悪しを規模で比べられる。

TL;DR中級

再帰

関数が自分自身を呼び出して、大きな問題を「同じ形の小さな問題」に分割して解くテクニック。木構造の探索や分割統治と相性が良い。

TL;DR基礎

制御構文(条件分岐とループ)

プログラムの「実行する順番」を操る仕組み。上から順に・条件で枝分かれ・同じ処理を繰り返す、の3つを組み合わせてロジックを組み立てる。

TL;DR基礎

正規表現

文字列のパターンを記号で表し、検索・抽出・置換を行うための小さな言語。メールやログの照合などに広く使われます。

TL;DR中級

同期処理と非同期処理

結果を待ってから次に進むのが同期、待たずに先へ進んで完了は後で受け取るのが非同期。通信やファイル読み書きなど“待ち時間”の扱い方の違い。

TL;DR基礎

変数とデータ型

変数は「値に付ける名札」。値には数値・文字列・真偽値などの“型”があり、プリミティブと参照型で代入やコピーの挙動が変わる。

TL;DR中級

例外処理(エラーハンドリング)

「処理が続けられない事態」をエラーとして投げ、呼び出し側がまとめて受け止める仕組み。本来の処理とエラー処理を分けて書けるのが利点。