Go言語学習スケジュール、ついに30日目=最終日に到達しました!🎉
今日はここまでの学びを振り返りつつ、
DynamoDBのQuery/Scanの基本にも軽く触れ、
この先のステップをどう進めていくかを考えてみます。。
今まではコチラ。
総仕上げ:これまでにできるようになったこと
- GoでWeb APIを構築する基本が身についた!
- JSONの受け取り → DynamoDBに登録(POST)
- ID指定でデータ取得(GET)
- エラー処理とHTTPレスポンスの設計
- ログ出力と関数分割による可読性アップ
発展ポイント①:DynamoDBのQueryとScan
Query:主キーでまとめて取得したいときに使う
input := &dynamodb.QueryInput{ TableName: aws.String("Go-Practice-Users"), KeyConditions: map[string]types.Condition{ "UserID": { ComparisonOperator: types.ComparisonOperatorEq, AttributeValueList: []types.AttributeValue{ &types.AttributeValueMemberS{Value: "u001"}, }, }, }, }
Scan:全件取得したいときに使う(重いので注意)
input := &dynamodb.ScanInput{
TableName: aws.String("Go-Practice-Users"),
}
実用では Queryを優先し、Scanは開発・調査用として使うのが基本ですので、Scanはあまり使わないかと。。
発展ポイント②:やってみたい「次の一歩」
ここまででAPIの基本的な設計と構築は習得できたので、 次は実際にサービス開発や運用につなげるためのステップが視野に入ってきます!
候補リスト:
ステップ | 内容 |
---|---|
Lambda化 | GoコードをAWS Lambdaに移行してサーバーレス運用 |
API Gateway連携 | REST APIとして公開できるように設定 |
CI/CD導入 | GitHub Actionsなどで自動デプロイ化 |
フロントエンド接続 | HTMLやReactとつないで実際に使うアプリにする |
環境変数管理 | .env やSSMパラメータストアで設定を管理 |
テスト導入 | net/http/httptest でハンドラの単体テストを書く |
最終チェックリスト(到達点)
- ✔ Go言語でREST APIを構築できる
- ✔ DynamoDBとの接続と操作が理解できた
- ✔ エラー処理、ログ、関数分割など実用的な開発スキルが身についた
- ✔ 開発後の拡張ステップ(Lambda化、CI/CDなど)のイメージが持てた
以上となります。引き続きよろしくお願いいたします。