
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など)のイメージが持てた
以上となります。引き続きよろしくお願いいたします。