「書ける」から「設計できる」Go言語へ。
研修概要
Go言語 実践ハンズオンは、Goで業務Webシステムを構築するための「標準構成で組み立てる実装力」と「テストで品質を守る検証力」の習得を目標とした実践型研修です。文法の学習を終えた段階の方に、次に必要となる実装の型を提供します。
API実装・データベース連携・画面表示・テスト自動化までを、2日間で一気通貫に扱います。設計の型としてDDD、テストの型としてBDDを実装の中に織り込むことで、動くだけのコードから脱却できる開発体制を確立させます。
こんな課題を持つ企業におすすめ
開発現場
- Goの文法研修は終えたものの、実務規模のアプリケーションを組み立てる手順がわからず、実案件への投入に踏み切れていない。
- Goで開発を始めたが、ビジネスロジックがHandlerに集中した”スパゲッティコード”になり、修正のたびに影響範囲の調査へ時間を取られている。
- テストは書いているが、「何をテストすべきか」の基準がなく、リリース前の品質判断に自信が持てない状態が続いている。
- Goの採用実績が社内に少なく、ライブラリ選定やディレクトリ構成の判断が特定の担当者に依存している。
本研修の到達目標
開発現場
- 1 GoでWeb APIを構築できるようになります GinとGORMを使い、ルーティングからデータベース操作までを実装できるようになります。あわせてDDDの層分割を設計の型として扱い、責務が明確なGoコードを書けるようになります。
- 2 Goのテストを実務水準で書けるようになります テストフレームワークGinkgoでBDD形式のテストを実装します。振る舞い単位でテスト対象を定義することで、テスト漏れのない品質担保ができるようになります。
- 3 Goでアプリケーション全体を組み立てられるようになります DIコンテナ(Uber fx)とテンプレートエンジン(Jet)を使い、API・画面・テストが連携する構成を実装します。自社プロジェクトの構成を自ら設計できるようになります。
本研修の特長
現場採用率の高いGoライブラリを実装で網羅
Gin・GORM・Ginkgo・Uber fx・Jetといった、実務で採用されるライブラリをGo 1.24環境で扱います。個別の使い方の解説にとどまらず、組み合わせて1つのWebシステムとして完成させるところまで提供します。
設計とテストの型をGoのコードとして習得
DDDやBDDを概念として解説するのではなく、Goの実装として書き下ろします。用語を覚える研修ではなく、Goで書く際の判断基準として現場に持ち帰れる構成です。
Playwright for Goによるブラウザ自動テスト
国内の研修コースではほぼ扱われていないPlaywright for Goを採用し、GoエンジニアがE2Eテストを自ら書く実践を提供します。QA担当に依存しない自動テスト体制への第一歩を、研修内で実装まで完結させます。
研修カリキュラム
| 日程 | 章・学習テーマ | 学習内容・習得スキル |
|---|---|---|
| 1日目 | 第1章:Go開発環境のセットアップ | Rancher Desktop(またはDocker Desktop)でコンテナ環境を構築します。Go 1.24・VSCode・各種ライブラリを導入し、動作確認まで行います。 |
| 第2章:Goによるアプリケーション構造の設計 | Goの型システムとインターフェイスを使い、役割ごとにコードを分割する構造を実装します。ここではDDDのEntity・Value Object・Repositoryを、Goで書く際の設計の型として扱います。 |
|
| 第3章:Gin × GORMによるWeb API実装 | WebフレームワークGinでルーティングとハンドラを実装します。O/RマッパーGORMでデータベース操作を行い、Handler・Service・Repositoryの責務分離を体験します。 |
|
| 第4章:Uber fxによる依存性注入 | Uber社製DIコンテナ「fx」で、コンポーネントの組み立てを外部から制御します。差し替えやすくテストしやすいGoの構成を構築します。 |
|
| 2日目 | 第5章:Ginkgoによるテストコードの実装 | GoのテストフレームワークGinkgoを使い、振る舞い単位でテストを記述します。BDDの記法を用いることで、テストの意図と網羅性を担保する基準の作り方を習得します。 |
| 第6章:Jetによる画面実装とサービス分割 | GoのテンプレートエンジンJetでフロント画面を実装します。APIサーバーとフロントを独立したコンテナとして分割し、サービス間通信とマルチコンテナ管理を構築します。 |
|
| 第7章:Playwright for GoによるE2Eテスト | Playwrightのgo版で、ユーザー操作シナリオをGoコードから自動再現します。手動テストを自動化し、リリース品質を担保する仕組みを構築します。 |
|
| 第8章:総合演習・コードレビュー | 2日間で構築したシステムを通しで確認します。ライブラリ選定と構造化の判断理由を言語化し、自社プロジェクトへの適用方針を整理します。 |
必要な受講環境と前提知識
受講環境
本研修はコンテナ環境を使ったハンズオン形式です。受講者ご自身のPCに以下の環境をご用意ください。
| OS | Windows 11 以上 |
|---|---|
| コンテナ環境 | Rancher Desktop(推奨)または Docker Desktop |
| エディタ | Visual Studio Code(Go拡張機能インストール済み) |
| Go バージョン | Go 1.24以上 |
| メモリ | 16GB RAM以上(Dockerコンテナ複数起動のため) |
| ネットワーク | GitHubおよびDocker Hubへのアクセスが可能な環境 |
前提知識
- Go言語:変数・型・関数・インターフェイスなど、基本文法を習得していること。未習得の方には、事前に「Go言語基礎」の受講を推奨します。
- Web開発の基礎:HTTPリクエスト/レスポンス・REST APIの概念を理解していること。
- データベース:SQLの基本的な読み書き(SELECT・INSERT・UPDATE・DELETE)ができること。
- Docker:コンテナの概念を理解し、基本的なコマンド操作(docker run・docker compose up等)ができること。
お問い合わせ
本研修に関するご質問・お申し込みは、以下のフォームよりお問い合わせください。
担当者より2営業日以内にご連絡いたします。
