
このコースの概要や、出来上がる環境、対象者や前提条件を説明します。
受講にあたっての Q&A の活用などについて説明します。
このコースのハンズオンで使用する Linux 環境をどのように用意するのか説明します。
GCP の概要や登録方法、料金について学びます。
Linux とは何かと、CLI と GUI の操作の概要を学びます。
GCP で Linux の仮想マシンを起動する流れを学びます。
SSH 接続の概要を学び、Linux にログインして Hello World まで実施します。
Linux で CLI での各種ファイル操作を学びます。
「コマンドを実行する」とはどういうことなのか改めて学び、PATH についても理解します。
Linux に Web サーバ (nginx) をインストールする方法を学びます。
Web サーバ (nginx) を使い、自作した HTML をブラウザに表示する方法を学びます。
プロセスを表示するコマンドを使い、「プロセス」とは何かを学びます。
プロセスについて理解を深めるため、Linux の起動の流れと init プロセスについて学びます。
nginx を手動で実行しながら、プロセスについてさらに理解を深めます。
Web の仕組みとネットワークの仕組みの関係や、ネットワークの仕組みの概要を学びます。
通信を行うプログラム簡単なプログラムを実装し、通信の概要を学びます。
通信の際に必要な IP アドレス・ポート番号・メッセージについて、それぞれどんな意味なのか学びます。
curl や telnet コマンドで Web サーバと通信することで、HTTP リクエスト・HTTP レスポンスについて学びます。
ネットワークの重要な基礎知識である「TCP/IP モデル」を学びます。
Web API を使った Web アプリケーションの仕組みと、このセクションで作る Web アプリケーションの概要や技術構成を説明します。
Linux を用意して Web サーバ (nginx) をインストールし、HTML を実装します。
Ruby の実行環境と Sinatra というフレームワークを準備し、Hello World を実装します。
ブラウザから nginx を経由して Ruby (Sinatra) に通信するための設定を行います。
JavaScript を実装し、フロントエンドからバックエンドの API を呼び出し、そのレスポンスの内容を画面に表示する流れを実装します。
タスク一覧の API を実装し、そのレスポンスの内容を JavaScript で取得して画面に表示する流れを実装します。
タスク登録の操作時に JavaScript を実行し、タスク登録の API と疎通させる流れを実装します。
JavaScript の挙動 (バグ) を修正します。
Linux に MySQL をインストールし、テーブルを作成するまでの流れを学びます。
Ruby (Sinatra) から SQL を使って MySQL とやりとりする方法を学びます。
このセクションで実装した内容を、改めて整理します。
Docker とは何か、従来の環境構築の方法と比較してどんなメリットがあるのかを学びます。
Docker が仮想環境を実現している仕組みの概要と、Docker の重要な構成要素を学びます。
このセクションで Docker を使って構築する開発環境について説明します。
macOS と Windows での Docker のインストール手順を説明します。
Docker で Hello World を実行し、docker run コマンドの意味を学びます。
docker commit コマンドを使い、独自のイメージを作成します。
Dockerfile のメリットを学び、Dockerfile を使って独自イメージを作成します。
コンテナとイメージの状態について整理していきます。
「ボリューム」機能を使って、ホストのファイルをコンテナに共有する方法を学びます。
Linux での環境構築と同様の流れで、Docker 上で Sinatra をインストールして動かします。
ホストのブラウザ等からコンテナ内のプロセスに通信するための、ポートの設定について学びます。
開発環境を快適にするための「ホットリロード」を設定します。
公式イメージを使い、MySQL のコンテナを起動する流れを学びます。
MySQL のイメージで提供されている、起動時に SQL を実行する方法を学びます。
コンテナからコンテナへの通信の方法を学び、実際に通信させます。
MySQL の文字コードの設定を行い、文字化けを解消します。
Docker Compose のメリットを学び、実際に導入してみます。
Docker Compose でイメージのビルドも行うための設定を実施し、挙動を確認します。
公式イメージを使って、nginx のコンテナを起動して、ブラウザで HTML を表示します。
ブラウザから nginx のコンテナを経由して Sinatra のコンテナに通信するための設定を行います。
このセクションで構築した環境について、改めて整理します。
Docker に入門したうえで、さらにステップアップするための道筋を説明します。
Docker は軽量かつ再現性の高い環境構築の手段として優れており、開発環境・本番環境ともに Docker を使う機会が多くなっています。
プログラミングを学んだ方がステップアップとして Docker を学びたいというケースも非常に多いです。
しかし、Docker を勉強しようとして突き当たる大きな壁が、Linux とネットワークの知識不足です。
例えば、
Docker で Web アプリケーションを動かしたいが、そもそも Web アプリケーションの動かし方がよく分からない
実際に Docker で環境構築しようとしたものの、なぜか通信がうまくいかない
といった経験はないでしょうか?
初心者が Docker 特有の現象だと思って調べているエラーが、Linux やネットワークの知識で解決できることは非常に多いです。
そこでこのコースでは、Linux とネットワークの基礎知識から始めて、Docker にしっかり入門していきます。
Linux・ネットワーク・Docker は、すべて手を動かしながら学んでいきます。
更新履歴
2025/06/30:レクチャー「(追記)GCP で使用する OS について」を追加