注意
本教材を新規に購入しないでください。
教材で利用しているぐるなびAPIの新規利用登録受付停止に伴い、本教材は最後まで進めることができません。
飲食店検索LINE Botの開発を通してGoの基礎を学ぶ
本教材では、Goを使って飲食店検索LINE Botを作ります。題材はLINE Botですが、単にLINE Botを完成させることだけをゴールとするのではなく、そこまでの開発を通じてGoの基礎文法やAWS SAM CLIの使い方を学べる内容となっています。
Goは、Googleによって開発された静的型付けの言語です。RubyやPHPやPython, JavaScriptなどの動的型付け言語を学んだ方が、プログラミングの知識の幅を広げる意味でもGoを学ぶことはおすすめです。
作成するLINE Botは、以下の画像のように入力されたキーワードに対して飲食店検索結果を返信するシンプルながら実用的なものとなります。外部API(今回はぐるなびAPI)の使い方などについても触れているので、ぜひ手にとって学習お楽しみいただければと思います。
学習内容
本教材を通じて、以下について学ぶことができます。
- Goの初歩的な知識
- 変数宣言
- 環境変数の取り扱い
- 定数
- 構造体
- JSONの取り扱い
- for文
- switch文
- ポインタ
- AWS SAM(Serverless Application Model) CLIを使った、AWS Lambdaのデプロイ方法
- LINE Botの作り方
- LINE Botの開発を効率化するLINE Messaging API SDKの使い方
- リッチな見た目のLINEメッセージを送ることのできるFlex Messageの使い方
- ぐるなびAPIのような、企業が公開しているAPIの使い方
また、周辺知識として以下も解説していきます。
- AWS CLIでのプロファイルの設定方法
- PC上の開発環境を一時的にインターネットに公開できるngrokの使い方
この教材の対象者
- Ruby, Python, PHP, JavaScriptなどの動的型付け言語で簡単なアプリケーションを作ったことがあり、新たに静的型付け言語のGoを学んでみたいと思っている方
または
- Goの基礎文法を学んだ次のステップとして、何かアプリケーションを作ってみたいと思っている方
受講における必要条件
本教材は大きく分けて以下の内容となっています。
- 0〜4章 : ローカル環境でGoを使ったLINE Bot開発を行う
- 5章 : AWS(Lambda等)へのデプロイを行う
そのため、Goを使ったLINE Bot開発を学ぶだけであればAWSアカウントは不要です。
5章でのAWSへのデプロイ方法も含めて学ぶ場合は、以下が受講にあたって必要な条件となります。
- AWSアカウントを持っていること
- AWSのマネジメントコンソールにログイン可能な、管理者権限(AdministratorAccess)を持ったIAMユーザーを用意できること
AWSの利用料金について
本教材で利用するAWSリソースについては、一部従量制料金の対象のものがあります。
無料利用枠を積極活用するなど、教材全体で極力料金を抑えるようにしていますが、利用状況次第では費用が発生する可能性があります。
あらかじめご了承ください。
学ばないこと
HTML, CSS, JavaScriptを用いた、ブラウザ向けのWebアプリケーション開発については本教材では対象外としています
本教材で質問対応可能なOSや環境
- Mac OS(注)
注: ただし、2020年11月発売のM1チップ搭載Macでは教材を進められない可能性があるのでご注意ください
本教材の構成について
本教材では、Go, AWS SAM CLI, LINE Messaging APIについて段階的に学びながら飲食店検索LINE Botを完成させ、AWSにデプロイすることがゴールとなります。
0章 はじめに
あなたのPCに、本教材を進める上で必要な開発環境を構築する方法を解説します。
また、Hello Worldを表示する簡単なGoのプログラムを作成し、実行します。
1章 Goをローカル環境のLambdaで実行しよう
AWS SAM CLIを使って、Goをローカル環境のAWS Lambda上で実行する方法を学びます。
2章 オウム返しLINE Botを作ろう
LINEに送られたメッセージをそのまま返信するオウム返しBotを作ります。
3章 飲食店検索LINE Bot(簡易版)を作ろう
LINEに入力されたキーワードに対して飲食店検索結果を返信するLINE Botを作ります。
4章 飲食店検索LINE Bot(完成版)を作ろう
LINEには、Botのメッセージをリッチな見た目にするためのFlex Messageという機能が用意されています。
これを使って、飲食店検索LINE Botを完成させます。
5章 SAM CLIを使ってAWSにデプロイしよう
AWS上にLambda等のAWSリソースを構築するとともに、Goのプログラムをデプロイします。