分野から学ぶ:部品の「役割」で分ける

ソフトウェアを構成する12の分野。「何のための部品か」で分けている。上から順に学ぶことを想定した並びで、分野同士のつながりは全体像に図と文章で解説している。

ソフトウェアを構成する12の分野と、そのつながり 利用者 API 読み書き 上の3つは、この言語で書く 載せる 届ける 見守る 入口で守る 周辺:コードを書かずにつなぐ・繰り返す 利用:溜まったデータを使う 画面・フロントエンド 見せる サーバー・API 決める・返す データの保存 覚える 言語・実行環境 書くための言葉 実行基盤・ホスティング 動かす場所 開発基盤・CI/CD 届ける 監視・可観測性 見守る 認証・セキュリティ 守る 自動化・連携 繰り返す ノーコード・SaaS 書かずに済ます データ処理・分析 集計する AI・機械学習 生成・予測

図の読み方・学ぶ順番・つながりの一覧へ

分野 何をする分野か 最初に触るなら 掲載ツール
01 言語・実行環境 プログラムを書くための「言葉」と、それを動かす仕組み
すべての分野の部品は、いずれかの言語で書かれている。地図のいちばん下にある土台
Python Node.jsPythonGoTypeScriptRust
02 画面・フロントエンド 利用者が見て、触る画面をつくる。ブラウザの中で動く部分
利用者にいちばん近い層。ここから裏側(サーバー)に頼み事をして、返ってきたデータを見せる
Astro AstroReactSvelteKitNext.js
03 サーバー・API 画面の裏側で、頼まれた処理をしてデータを返す係
画面とデータの間に立ち、「誰が何をしてよいか」を決める。アプリのルールはここにある
Supabase FastAPIFirebaseHonoSupabase
04 データの保存 データをなくさず置いておく場所。形(表・文書・ファイル)で種類が分かれる
アプリの「記憶」。サーバーが読み書きし、溜まったものは後で分析にも使う
SQLite Amazon S3RedisSQLiteMongoDBPostgreSQLMeilisearch
05 実行基盤・ホスティング 書いたコードを、自分のパソコンの外で動かし続ける場所
画面・サーバー・データベースを「載せる」土台。ここに載せて初めて、他人が使える
GitHub Pages GitHub PagesRenderVercelAWS LambdaCloudflare WorkersDockerFly.io
06 開発基盤・CI/CD コードの変更を、壊さずに本番へ届ける仕組み
「書いた」と「動いている」の間をつなぐベルトコンベア。履歴・検証・配信の3つを担う
Git GitHubGitHub ActionsGitGitLabPlaywrightTerraform
07 監視・可観測性 動いているものの様子を知り、壊れたら気づく
公開したあとの「目」。これがないと、壊れても利用者から言われるまで分からない
Sentry SentryDatadogPrometheus + Grafana
08 認証・セキュリティ 誰がアクセスできるかを決め、守る
画面とサーバーの入口に立つ門番。本人確認(認証)と、してよいことの範囲(認可)を扱う
Clerk Auth0Cloudflare WAF / DDoS 保護OAuth 2.0 / OpenID ConnectClerk
09 自動化・連携 決まった作業を、人手なしで繰り返す
人が毎回やっていた作業を機械に渡す。周りの分野をつなぐ接着剤でもある
Google Apps Script cron / systemd timerGoogle Apps Scriptn8n
10 ノーコード・SaaS コードを書かずに済ませる選択肢
学習の近道であり、限界に当たったときに「コードが必要な理由」を教えてくれる
Zapier AirtableMake(旧Integromat)NotionZapier
11 データ処理・分析 溜まったデータを集計・変換・可視化する
保存されたデータを「使う」側。分析と AI の前段にあたる
pandas DuckDBBigQuerypandas
12 AI・機械学習 文章の生成・要約・分類や、予測をアプリに組み込む
最後に足す部品。API を呼ぶだけなら、他の分野を一通り知った初学者でも使える
Claude API(Anthropic) Claude API(Anthropic)OpenAI APIOllamaHugging Face