プログラミング講座
プログラミング言語、デザインパターン、アルゴリズムを1ページで学べます。各ページは最初に答えを示し、動くコード、よくある間違い、公式の参考資料を紹介します。
プログラミング言語
- 約9分で読めますPython構文・型・制御フロー・関数・コレクション・例外・ファイルを1ページで
- 約9分で読めますJavaScript変数・型・関数・配列・オブジェクト・Promise・async/await
- 約10分で読めますTypeScript型・インターフェース・ユニオン型・型の絞り込み・ジェネリクスを1ページで
- 約11分で読めますJava型・クラス・record・コレクション・例外・パターンマッチを1ページで
- 約10分で読めますC型・関数・配列・文字列・ポインタ・malloc/free・エラー処理を1ページで
- 約12分で読めますC++型・クラス・STLコンテナ・ラムダ・RAII・スマートポインタ・例外
- 約11分で読めますC#型・クラス・record・コレクション・LINQ・async/await・例外
- 約10分で読めますGo型・スライス・map・構造体・インターフェース・goroutine・チャネル
- 約11分で読めますRust所有権・借用・構造体・列挙型・match・コレクション・Resultを1ページで
- 約9分で読めますPHP変数・配列・関数・クラス・enum・例外・JSONエンドポイントを1ページで
- 約9分で読めますRuby型・メソッド・配列・ハッシュ・ブロック・クラス・モジュール・例外
- 約11分で読めますSwift型・オプショナル・クロージャ・コレクション・構造体・プロトコル
- 約12分で読めますKotlinNull安全・制御フロー・関数・データクラス・コルーチンを1ページで
- 約11分で読めますDartNull安全・関数・コレクション・クラス・async(Flutter)
- 約11分で読めますScalaScala 3の構文・パターンマッチ・コレクション・case class
- 約10分で読めますRベクトル・データフレーム・関数・統計・グラフを1ページで
- 約13分で読めますSQLSELECT・JOIN・GROUP BY・CTE・トランザクションとDB間の違い
- 約11分で読めますBashスクリプト・変数・クォート・ループ・関数・パイプ・pipefail
- 約13分で読めますPowerShellCmdlet・オブジェクトパイプライン・変数・関数・ハッシュテーブル
- 約11分で読めますLua変数・テーブル・関数・メタテーブル・pcallを1ページで
- 約12分で読めますPerlスカラー・配列・ハッシュ・サブルーチン・正規表現・エラー処理
- 約11分で読めますHaskell純粋関数・型・パターンマッチ・リスト・Maybe・IO
- 約11分で読めますElixirパターンマッチ・パイプ・Enum・プロセス・{:ok, value}
- 約11分で読めますErlangパターンマッチ・再帰・プロセス・OTP・let-it-crash
- 約10分で読めますClojure構文・イミュータブルなコレクション・関数・マクロ・atom・エラー
- 約9分で読めますF#型・レコード・判別共用体・パターンマッチ・パイプ・Result
- 約10分で読めますOCaml型・レコード・バリアント・パターンマッチ・モジュール・エラー
- 約10分で読めますJulia型・配列・ブロードキャスト・関数・多重ディスパッチ・エラー
- 約11分で読めますZig型・スライス・オプショナル・エラーユニオン・comptime・defer
- 約11分で読めますFortran現代的な構文・型・ループ・手続き・モジュール・配列・iostat
- 約11分で読めますCOBOL部・PICデータ・IF/EVALUATE・PERFORMループ・表・ファイル
- 約14分で読めますAssembly (x86-64)x86-64 NASMのレジスタ・命令・ループ・メモリ・システムコール
- 約11分で読めますVisual Basic .NETVB.NETの構文・型・ループ・関数・コレクション・クラス・LINQ・VBA
- 約12分で読めますObjective-Cメッセージ・クラス・プロパティ・Foundation・ブロック・ARC
- 約10分で読めますMATLAB行列・インデックス・ループ・関数・構造体・セル・グラフ・Octave
デザインパターン
- 約12分で読めますデザインパターンデザインパターンとは、GoFの23パターンと選び方
- 約10分で読めますSOLID原則SOLIDの5原則をTypeScriptのbefore/afterで解説
- 約9分で読めますSingleton パターンインスタンスを1つに保つ:TSの例・非同期版・代替案
- 約9分で読めますFactory Method パターン生成するオブジェクトをサブクラスが決める:TS例と用途
- 約9分で読めますAbstract Factory パターン具体クラスを指定せず関連オブジェクト群を生成する
- 約8分で読めますBuilder パターン流れるAPIで複雑なオブジェクトを段階的に構築、Directorも解説
- 約9分で読めますPrototype パターンインスタンスの複製で生成:TSのclone()と深い/浅いコピー
- 約9分で読めますAdapter パターン互換性のないインターフェースをつなぐ:TS例と2種のAdapter
- 約7分で読めますBridge パターン抽象と実装を分離し、それぞれ独立して変更できるようにする
- 約8分で読めますComposite パターン単体とツリーを同じに扱う:TSのファイルシステム例
- 約9分で読めますDecorator パターンラップして実行時に振る舞いを追加:クラスと関数デコレータ
- 約8分で読めますFacade パターン複雑なサブシステムに単一の窓口を:TSのチェックアウト例
- 約8分で読めますFlyweight パターン内部状態を共有してメモリを節約:TSの例つき
- 約9分で読めますProxy パターンキャッシュ・遅延・保護・リモートのProxyでアクセスを制御
- 約8分で読めますChain of Responsibility パターン処理されるまでハンドラ間で要求を渡す:ミドルウェア形式も
- 約8分で読めますCommand パターン要求をオブジェクト化し、キュー・ログ・undo/redoに使う
- 約8分で読めますInterpreter パターン小さな言語をクラスで表現し、TSで式の木を評価
- 約9分で読めますIterator パターン内部構造を隠してコレクションを走査:Symbol.iteratorと生成器
- 約8分で読めますMediator パターン直接参照の代わりに1つの仲介役でコンポーネントを調整
- 約9分で読めますMemento パターン内部を隠して状態を保存・復元:undoやチェックポイント向け
- 約9分で読めますObserver パターン対象の変化を購読者へ自動通知:型付きTSコード
- 約9分で読めますState パターンswitchの代わりに状態クラスで振る舞いを切り替える
- 約8分で読めますStrategy パターン交換可能なアルゴリズムを実行時に切替:TSの関数/クラス
- 約9分で読めますTemplate Method パターン基底クラスで手順を固定し、詳細はサブクラスが実装
- 約10分で読めますVisitor パターン二重ディスパッチでクラス階層に操作を追加、ユニオン型案も
データ構造
- 約9分で読めます連結リスト単方向・双方向リスト:挿入・削除・反転・循環検出・計算量
- 約7分で読めますスタックとキューPythonでLIFOスタックとFIFOキュー:括弧照合・BFS・計算量
- 約9分で読めますハッシュテーブルハッシュ関数・バケット・衝突・負荷率・拡張をPythonで
- 約8分で読めます二分探索木BSTの順序規則・探索・挿入・削除(Python)・平衡・計算量
- 約7分で読めます二分木の巡回前順・中順・後順・レベル順を再帰と反復のPythonで
- 約9分で読めます二分ヒープヒープ条件・上下の入れ替え・構築・優先度付きキュー・heapq
- 約7分で読めますトライ木接頭辞木の挿入・探索・前方一致・オートコンプリートと計算量
- 約8分で読めますUnion-Find素集合:find・union・経路圧縮・ランク併合(Python)
- 約9分で読めますLRUキャッシュハッシュマップと双方向リストで作る最長未使用キャッシュ
アルゴリズム
- 約8分で読めますビッグオー記法時間・空間計算量、主なクラス、コードからの読み取り方
- 約8分で読めます再帰基底条件・コールスタック・メモ化・Pythonの再帰上限
- 約8分で読めます二分探索整列範囲を半分にする仕組み:Python・bisect・変種・落とし穴
- 約9分で読めます二本指法とスライディングウィンドウ両端・快慢・スライディングウィンドウをPythonとトレースで
- 約7分で読めますバブルソート隣接要素の交換:パスごとのトレース・Python・計算量
- 約6分で読めます選択ソート最小値の選び方:ステップごとのトレース・Python・安定性
- 約8分で読めます挿入ソート要素をずらして挿入:トレース・Python・安定性・最良ケース
- 約8分で読めますマージソート分割統治のマージソート:トレース・Python・安定性・計算量
- 約9分で読めますクイックソートピボット・Lomuto分割のトレース・Python・最悪ケース・選択
- 約9分で読めますヒープソート最大ヒープ・ダウン操作・トレース・Python・heapq・計算量
- 約7分で読めます計数ソート小さな整数キー向け線形時間ソート:トレース・安定なPython
- 約8分で読めます基数ソートLSD/MSD基数ソート:桁ごとのトレース・Python・安定性
- 約7分で読めます幅優先探索(BFS)キューによるBFS:トレース・Python・最短経路・O(V + E)
- 約8分で読めます深さ優先探索(DFS)再帰・反復のDFS:トレース・循環検出・O(V + E)
- 約8分で読めますダイクストラ法優先度付きキューで最短経路:トレース・heapq・計算量
- 約7分で読めますベルマン–フォード法負の辺を含む最短経路・負閉路検出・Pythonコード
- 約8分で読めますフロイド–ワーシャル法全点対最短経路:行列のトレース・Python・経路復元・O(V³)
- 約8分で読めますA*探索f = g + hのヒューリスティック探索:許容的ヒューリスティック・格子例
- 約9分で読めますトポロジカルソート依存関係でタスクを並べる:Kahn法・DFS・graphlib・循環検出
- 約8分で読めます最小全域木クラスカル法とプリム法:トレース・Python・Union-Find・ヒープ
- 約9分で読めます動的計画法メモ化と表引き、コイン問題とLCSのトレース・Python・計算量
- 約7分で読めます貪欲法各段階で局所最適を選ぶ:区間スケジューリング・Python・反例
- 約8分で読めますバックトラッキング選択・探索・取り消し:N-Queens・部分集合・順列・枝刈り
- 約8分で読めますKMP法接頭辞関数・トレース・Python・計算量O(n + m)
- 約9分で読めますビット演算ビット演算子・1ビット技・ビット数え・ビットマスク(Python)
言語チュートリアルは、ツールのインストールと Hello, world の表示から始め、関数、コレクション、エラー処理、小さな完成プログラムまで進みます。パターンのページでは GoF の各パターンが解決する問題を、TypeScript の例と使うべきでない場面とともに説明します。データ構造とアルゴリズムのページでは例を1ステップずつ追い、Python のコードと時間・空間計算量を示します。
コード例は短く、そのまま実行できます。各ページは確認に使った言語ドキュメント、標準、原典にリンクしています。
よくある質問
最初に学ぶプログラミング言語は何がよいですか?
多くの初心者には Python か JavaScript がおすすめです。どちらも文法がシンプルでコミュニティが大きく、どこでも動きます。Web サイトなら JavaScript、データ分析や自動化、汎用プログラミングなら Python です。
チュートリアルを試すのに何かインストールが必要ですか?
各言語のチュートリアルは、公式ツールのインストールと最初のプログラムの実行方法から始まります。パターンとアルゴリズムのページは TypeScript と Python を使い、ローカルでもオンラインの実行環境でも動かせます。
これらのチュートリアルは無料ですか?
はい。すべて登録不要で無料で読め、コード例は自分のプロジェクトで再利用できます。
データ構造とアルゴリズムの違いは何ですか?
データ構造は配列、ハッシュテーブル、木のようなデータの格納方法です。アルゴリズムはソートや最短経路探索のように問題を解く手順で、その速さは使うデータ構造に左右されることがよくあります。