Slide 1

Slide 1 text

ߴߍੜ͕"84$%,ʹ ϋϚͬͯ͠·ͬͨ 普通科 @LINEBot × AWSCDKハンズオン 2020/7/2 ようかん(@inoue2002) ので布教する話

Slide 2

Slide 2 text

ツイートしていただけると嬉しいです イベントハッシュタグ #linedc 「LTはじまったお」「⾼校⽣が喋っとるで」etc.. 呟いてもらえると僕のスライドにメッセージが流れます!

Slide 3

Slide 3 text

ようかん(井上陽介) ・滋賀の普通科⾼校3年⽣(現在進⾏形) ・陸上競技部キャプテン(過去形) ・「⾼校⽣主催のIT勉強会」を主催(#⾼校⽣ミーティング) ⾃⼰紹介 ・Twitter(@inoue2002 ) → ・LDGKオンラインハッカソン LINE賞受賞 ・コロナ休校期間で11LINEBot作った ・ポートフォリオ作った!!( youkan.me ) ・レッドハッカソン2020 奨励賞受賞 ・AWSCDK歴3週間くらい

Slide 4

Slide 4 text

ࠓ೔͸Կ͠ʹདྷͨͷ ①最近AWSCDKを学んだのでアウトプットしたかった さらにLINEBot × CDKを使いたくなってもらう ②CDKを使って作っている⼤きめのプロジェクトのテスターに協⼒してもらいたい!

Slide 5

Slide 5 text

僕がAWSCDKを知ったきっかけ ハンズオン講師の松永さんがCDK を布教しているLTを聞いた TypeScriptとかCloudFormation とか知らない⾔葉が多かったけ れど、快適になるなら!と思っ て勉強を始めた

Slide 6

Slide 6 text

勉強始めて数時間後・・ ①TypeScriptかけなくてもNode.jsで書いて も動くので余裕で⼊⾨できた ②備忘録に記事書いた 開発で使うようになり、どんどん好きになった

Slide 7

Slide 7 text

では布教を開始します

Slide 8

Slide 8 text

#PUͷΠϯϑϥߏங͸$%,Ͱૣ͘ͳΔͷ͔ 検証していきます

Slide 9

Slide 9 text

条件 ・⾃分が書いたQiitaを⾒ながらコードはコピペ ・CDKを使って⾊々できるスキルを持っている ・ディレクトリを作るタイミングでスタート ・BotがLambdaを通して応答したらストップ

Slide 10

Slide 10 text

まず普通にコンソール画⾯から作ってみた

Slide 11

Slide 11 text

結果は15分ほど。 コンソール画⾯を久しぶりにぽちぽちした

Slide 12

Slide 12 text

CDKを使って作ってみた

Slide 13

Slide 13 text

結果 ディレクトリを作ってBotが応答するまで9分を切った! (半分くらいがインストールやデプロイ時間) インフラ構築がちょー楽になってBot開発に専念できます!!

Slide 14

Slide 14 text

ディレクトリやファイルを作る ↓ Qiitaからテンプレートをコピペ ↓ 必要なモジュールをインストール ↓ いくつかのエラーが出るので修正する ↓ yarn build ↓ cdk deploy やったこと

Slide 15

Slide 15 text

作業⼯程を⽐較してみる

Slide 16

Slide 16 text

例)LambdaとAPIGatwayを設定する CDKだとこのほんの20⾏くらい書いてデプロイするだけ

Slide 17

Slide 17 text

めちゃめちゃ⼯数がおおい! 僕の経験上、設定ミスでなかなか上⼿くいかない コンソールで操作すると

Slide 18

Slide 18 text

実際に⾃分の⼿で確かめてみたい⽅は

Slide 19

Slide 19 text

↓CDKを使って作る.ver ↓AWSコンソールを使って作る.ver ※頻繁アップデートにより動かない場合があります

Slide 20

Slide 20 text

CDKにハマった他の理由

Slide 21

Slide 21 text

構築するアーキテクチャごとコードで管理できる! ←「⾚枠にxxと⼊⼒して次に進みます」 こういう説明をしなくても済むようになる LINEBotを頻繁に作る⼈は、毎回毎回コン ソールで同じ作業をやるのがめんどくさ い!勝⼿にやってほしい! →コードをコピペすればいい GitHubで管理できる!

Slide 22

Slide 22 text

いらなくなったら destroy !! ハンズオンの最後にもあったようにいらなくなったら 「destroy」コマンドを⼊⼒するだけで、関係するものを 全部消してくれます!

Slide 23

Slide 23 text

良い点/悪い点 毎週のようにアップデートが来る先週動いてたコードが動かなくなる←本当の話 開発の回数を重ねるほどありがたみがわかる アーキテクチャ丸々GitHubで管理できるのがものすごく気持ちいいい 構成が⼤きくなっていくと、デプロイに結構時間がかかる TypeScriptわからなくてもJSでなんとかなる CDKの公式workshopが割とわかりやすい

Slide 24

Slide 24 text

-今後に向けて- CDK×LINEBotの記事がまだまだ少ないのでTipsをどんどんアウトプットしていく S3などとも連携してCDKでできる開発を技術をあげる! 今話題のミニアプリの開発にも使えそう →みなさんでLINEBot × AWSCDKを盛り上げていきましょう!!

Slide 25

Slide 25 text

最後に

Slide 26

Slide 26 text

今作ってる⼤規模プロジェクトのテスターにご協⼒ください! - 詳細はまだお話できませんが、今後半年以内に公式発表すると思うのでお楽しみに!- 終了しました

Slide 27

Slide 27 text

ご静聴ありがとうございました!

Slide 28

Slide 28 text

参考⽂献 https://qiita.com/18kondo/items/51b61c129a8220c32177 バージョンのズレでよく出るエラー 松永さんの記事 https://qiita.com/ufoo68/items/d06756b6e7bb97359074 クラスメゾットさんのLINEBot記事 https://dev.classmethod.jp/articles/aws-cdk-line-sample/ ようかんのCDKでLINEBotを作る記事 https://qiita.com/inoue2002/items/a60ad8af95e1775152d0