この講座で学べること
1. なぜGoを学ぶのか
インフラエンジニアにとって、シングルバイナリで配布できる高速なCLIツール、Kubernetes やコンテナ関連ツール、AWS SDK を活用したクラウド運用スクリプトなど、Go はDevOpsの現場でよく登場するプログラミング言語です。標準ライブラリが充実しており、goroutine による並行処理が言語仕様レベルで扱いやすいため、パフォーマンスと運用性の両立が求められるシステムで採用されるケースが増えています。
1.1 こんな方におすすめ
- インフラエンジニアとしてGoを扱えるようになりたい方
- 単一バイナリで配布できるCLIツールを作れるようになりたい方
- 並行処理を活かした高速なAPIサーバを構築したい方
- KubernetesやCloud Native系ツールのソースコードを読めるようになりたい方
1.2 学べること・身につくこと
| スキル | 内容 |
|---|---|
| Goの基本文法 | 変数・データ型・制御構文・関数・structを使ったプログラミングができる |
| Go応用 | エラーハンドリング・ジェネリクス・モジュール管理などの実践的な記述ができる |
| 並行処理 | goroutineとchannelを使った並行処理プログラムを設計・実装できる |
| データベース操作 | MySQLに database/sql および GORM を使ってCRUD操作ができる |
| REST API開発 | net/httpと Gin を使って、データベース連携のREST APIを構築できる |
| API保護 | GinでCORS対応とJWT認証を組み込み、保護されたエンドポイントを構築できる |
| テスト・品質管理 | golangci-lint による静的解析、testing パッケージによる自動テストができる |
| CLIツールの開発 | flag / cobra を使って、業務で使えるCLIツールをGoで作成できる |
2. 章一覧
3. 学習の流れ
3.1 事前に学んだほうが良い講座
本講座を始める前に、以下を学んでおくと理解がスムーズです。
| 講座名 | 事前に学ぶ理由 |
|---|---|
| Python講座 | 本講座はプログラミング初学者ではなく他言語経験者を想定しているため、Python講座の「プログラミングとは」「Python基本文法」「Python制御構文」を先に体験しておくと、Go の学習に集中できるため |
3.2 この講座を学んだら
本講座の後は、以下を実施するのがおすすめです。
| 講座名 | おすすめの理由 |
|---|---|
| コンテナ講座 | 本講座で作成した Go アプリケーションを Docker コンテナとして動かせるようになるため |
| CI/CDパイプライン講座 | 本講座で学んだ静的解析・自動テストを CI/CDパイプラインに組み込めるようになるため |