Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
高校生がLINEBotの魅力をただただ語ってみる
Search
ようかん(YosukeInoue
July 23, 2020
Technology
0
160
高校生がLINEBotの魅力をただただ語ってみる
登壇イベント情報→
https://cammel.connpass.com/event/182234/
ようかん(YosukeInoue
July 23, 2020
Tweet
Share
More Decks by ようかん(YosukeInoue
See All by ようかん(YosukeInoue
今から始めるLINEBot入門
inoue2002
0
110
未来の投げ銭箱
inoue2002
2
64
LINEでAI占い師に相談できる “AI占いくん”の開発/改善の過程
inoue2002
0
290
LINEトークルーム広告v1
inoue2002
0
49
レシピ保存くん
inoue2002
0
400
初めてのServiceMessage
inoue2002
0
98
トーク履歴を分析してみる
inoue2002
0
11k
LINEで使えるAIチャットBot “AIチャットくん”とLINEAPI
inoue2002
0
75
謎コイン
inoue2002
0
64
Other Decks in Technology
See All in Technology
2024/11/29_失敗談から学ぶ! エンジニア向けre:Invent攻略アンチパターン集
hiashisan
0
270
GeminiとUnityで実現するインタラクティブアート
hokkey621
0
340
ゆるSRE勉強会 #8 組織的にSREが始まる中で意識したこと
abnoumaru
2
840
GDGoC開発体験談 - Gemini生成AI活用ハッカソン / GASとFirebaseで挑むパン屋のフードロス解決 -
hotekagi
1
460
Kubernetes だけじゃない!Amazon ECS で実現するクラウドネイティブな GitHub Actions セルフホストランナー / CNDW2024
ponkio_o
PRO
6
420
Will multimodal language processing change the world?
keio_smilab
PRO
2
250
LLMを「速く」「安く」 動かすには / CloudNative Days Winter 2024
pfn
PRO
5
1.2k
ヤプリのデータカタログ整備 1年間の歩み / Progress of Building a Data Catalog at Yappli
yamamotoyuta
3
640
asumikamというカンファレンスオーガナイザの凄さを語る / The Brilliance of Asumikam
tomzoh
1
170
Postman Flowsで作るAPI連携LINE Bot
miura55
0
220
B11-SharePoint サイトのストレージ管理を考えよう
maekawa123
0
120
生成AIを活用したIT運用高度化への挑戦
iotcomjpadmin
0
300
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
32
6.3k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Being A Developer After 40
akosma
87
590k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
A Tale of Four Properties
chriscoyier
156
23k
A better future with KSS
kneath
238
17k
RailsConf 2023
tenderlove
29
920
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Applications with DynamoDB
mza
90
6.1k
Transcript
ߴߍੜ͕ͨͩͨͩ-*/&#PU ͷັྗΛޠͬͯΈΔ 普通科 @ Cammel_LT 2020/7/23 ようかん(@inoue2002) ※過去のLT資料をつなげまくってますごめんなさい
πΠʔτ࿅श #Cammel_LT
ようかん(井上陽介) ・滋賀の普通科⾼校3年⽣(現在進⾏形) ・元陸上競技部キャプテン ・LDGKオンラインハッカソン LINE賞受賞 ・レッドハッカソン2020 奨励賞受賞 ・「⾼校⽣主催のIT勉強会」を主催(#⾼校⽣ミーティング) ⾃⼰紹介 ・Twitter(@inoue2002
) → ・11LINEBot作った ・ポートフォリオ作った!!( youkan.me ) Q . コロナ休校期間何してた?? Q .最近してることは?? ・ LINEBot布教
2019/2にコミュニティに出会う ↓ コミュニティにϋϚΔ ↓ 2020/7時点で80近くのイベントに参加 ↓ 最近は登壇にハマって好き勝⼿喋ってる ようかんは⼀体何者??←よく⾔われる しかし残念ながら、割とその辺にいる⾼校⽣です。
得意なことはNode.jsとLINEAPIとAWS
なんとなく登壇参加したけど。。 最近テスト勉強しかしてないからなんも喋ることない 昔のLTを使い回すか。。 いや、おもんないわ 僕がいま喋りたいことをしゃべろ LINEBotの魅⼒を語る事になった 「今朝」
なんでそんなLINEBot 作ってるん?? LINEが好きだから
LINEBot作ったことありますか?? まだ触った事ない⼈に朗報!いまLINEBot⼊⾨する • 無料で開発できる! • バックエンドやフロントエンドなどの触った事ないところを触れるきっかけになれる! • いろんな課題解決をできるのでみんなに褒められる! • 「LINEミニアプリ」の話題の波に乗れる!
• ようかんの記事を読めば楽チンに始められる! このLTを聞いて皆さんにLINEBot開発をしたくなっていただきます!!
過去に作ったLINEBot 並べるだけ
ようかんbot(開発期間2週間) ・これのおかげでプログラミングを始めた ・沢⼭登壇しているので詳細は去年版の登壇動画へ↓ 課題 ・⾼校⽣活の中、時間割とかをいつでも確認したい ・プリントが多すぎて管理が⼤変 特徴 ・リリース初⽇でユーザー200⼈越えの⼈気 ・先⽣から⼀⻫送信頼まれることもある 備考
料理当番Bot(開発期間1⽇) ・詳細はnoteにまとめてあります→ 課題 ・みんな家にいるようになって⺟のストレス↑ ・料理作ったりやることが増えた 特徴 ・家族グループに「当番発表」と送るだけ ・異なる家族構成版の作成依頼を受けた 備考
部活動紹介Bot(開発期間1⽇) ・過去の登壇動画(youtube)→ 課題 ・休校再開で部活オリエンテーションが中⽌ ・新⼊⽣と部員とのコミュニケーションが取れない 特徴 ・企画/構成/開発/リリースまで1⽇ ・オープンチャットを活かした匿名利⽤と荒らしに強い 備考
studyTimer(開発期間5時間) 勉強グループでのこのメッセージが由来 ・リリースツイート→ 課題 ・家で勉強するも、モチベが続きにくい ・友達の勉強時間を気軽に視覚化できたらモチベになる 特徴 ・DBやキャッシュを利⽤せず、postbackで処理 ・勉強グループに招待して利⽤可能 備考
コロナ⾷ロスbot(開発期間1⽇) ・LDGKハッカソンLINE賞 ・詳細は感想を書いたnote→ 課題 ・コロナによる⾷ロスが多発 ・SNSに慣れておらず、商売しにくい会社がある 特徴 ・Share Target PickerやIcon/Nickname
Switch APIを実装 ・リアルサービスへ実装する話が出てきている 備考
画像アップローダー(開発期間1⽇) 課題 ・画像URLを⼀瞬で発⾏したい時がある ・画像をURLで共有したい 特徴 ・写真を投げるだけで⼀瞬でURLを発⾏してくれる ・⾃分のs3バケットを使っているので他⼈には共有できない ・aws-sdkの練習に作った 備考 ・詳細ツイート→
Twitter動画ダウンローダー(開発期間3時間) ・詳細ツイート→ 課題 ・ツイッターの動画をダウンロードしたい ・サイトを使うと広告とか出てうっとしい 特徴 ・LINEで勝⼿にやってくれるのでなかなか便利 ・たまにできない動画もある(プロモーションとか) 備考 ・友達登録→
カップ麺タイマー (開発期間3ヶ⽉) ・とりあえず試してみるべし→ 課題 ・何気ないカップ麺にお湯を⼊れたあとの待ち時間 ・普段出会わない記事に出会いたい 特徴 ・1~10分までのタイマーに対応 ・DBでユーザーのタイマーを管理 備考
sosmapjapan(開発期間1ヶ⽉) ・友達登録→ 課題 ・直感的にSOSに会える ・SNSに慣れておらず、商売しにくい会社がある 特徴 ・AWSで運⽤しており素早いレスポンス ・リアルサービスで運⽤中(sosmap.pw) 備考
トラべる!(開発期間1⽇) ・レッドハッカソン奨励賞 ・コンセプトを書いたQiita→ ・諸事情により運⽤停⽌中 課題 ・コロナによる⾷ロスが多発 ・SGG3⼈で参加 特徴 ・コロナが収まった後の観光業を⽀援する ・旅⾏の計画が⽴てられる
備考
事例はわかった。 LINEBot作ればいろんな課題を解決できるんだね。 でもどうやって作り始めたらいいのかわからないよ。。 「LINEBot」で検索してもいろんな⾔語の記事が転がってたり、記事が古かったりで何がいいのかわからん!! なんやかんや⼊⾨はきついねん! 安⼼してください。おすすめの構成とLINEBotが学べる記事をご紹介します!!
AWSCDKのやつ
僕がAWSCDKを知ったきっかけ CDKを布教しているLTを聞いた TypeScriptとかCloudFormation とか知らない⾔葉が多かったけ れど、快適になるなら!と思っ て勉強を始めた
勉強始めて数時間後・・ ①TypeScriptかけなくてもNode.jsで書いて も動くので余裕で⼊⾨できた ②備忘録に記事書いた 開発で使うようになり、どんどん好きになった
#PUͷΠϯϑϥߏங$%,Ͱૣ͘ͳΔͷ͔ 検証していきます
条件 ・⾃分が書いたQiitaを⾒ながらコードはコピペ ・CDKを使って⾊々できるスキルを持っている ・ディレクトリを作るタイミングでスタート ・BotがLambdaを通して応答したらストップ
まず普通にコンソール画⾯から作ってみた
結果は15分ほど。 コンソール画⾯を久しぶりにぽちぽちした
CDKを使って作ってみた
結果 ディレクトリを作ってBotが応答するまで9分を切った! (半分くらいがインストールやデプロイ時間) インフラ構築がちょー楽になってBot開発に専念できます!!
ディレクトリやファイルを作る ↓ Qiitaからテンプレートをコピペ ↓ 必要なモジュールをインストール ↓ いくつかのエラーが出るので修正する ↓ yarn build
↓ cdk deploy やったこと
作業⼯程を⽐較してみる
例)LambdaとAPIGatwayを設定する CDKだとこのほんの20⾏くらい書いてデプロイするだけ
めちゃめちゃ⼯数がおおい! 僕の経験上、設定ミスでなかなか上⼿くいかない コンソールで操作すると
実際に⾃分の⼿で確かめてみたい⽅は
↓CDKを使って作る.ver ↓AWSコンソールを使って作る.ver ※頻繁アップデートにより動かない場合があります
CDKにハマった他の理由
構築するアーキテクチャごとコードで管理できる! ←「⾚枠にxxと⼊⼒して次に進みます」 こういう説明をしなくても済むようになる LINEBotを頻繁に作る⼈は、毎回毎回コン ソールで同じ作業をやるのがめんどくさ い!勝⼿にやってほしい! →コードをコピペすればいい GitHubで管理できる!
いらなくなったら destroy !! ハンズオンの最後にもあったようにいらなくなったら 「destroy」コマンドを⼊⼒するだけで、関係するものを 全部消してくれます!
良い点/悪い点 毎週のようにアップデートが来る先週動いてたコードが動かなくなる←本当の話 開発の回数を重ねるほどありがたみがわかる アーキテクチャ丸々GitHubで管理できるのがものすごく気持ちいいい 構成が⼤きくなっていくと、デプロイに結構時間がかかる TypeScriptわからなくてもJSでなんとかなる CDKの公式workshopが割とわかりやすい
-今後に向けて- CDK×LINEBotの記事がまだまだ少ないのでTipsをどんどんアウトプットしていく S3などとも連携してCDKでできる開発を技術をあげる! 今話題のミニアプリの開発にも使えそう →みなさんでLINEBot × AWSCDKを盛り上げていきましょう!!
休校期間のやつ
昨⽇引退試合を無事終え、陸上としばらくお別れ! ⼈⽣の3分の1くらい全⼒になってたのでちょっと寂しい 1年⽣も沢⼭⼊ってくれて、安⼼して引退できた
⼀⾒普通に、いい話に思えますが
これまでいろんな問題がありました
これまでのあらすじ
休校延⻑が発表される
・休校が再開する→部活動の新⼊⽣勧誘などが禁⽌ ・⻑期休校で新⼊⽣の部活動意欲低下のおそれ ・部活動への関⼼を休校中も維持することが⼤切。
同級⽣(各部活の部員) え!学校休み??せっかく準備してたのに部活動紹介の時間無くなった。。 私たちいつの間にか引退になりそうやけど後輩⼊ってくるかな? 妹(新⾼校⼀年⽣) 仮⼊部楽しみにしてたのに。 実際に先輩と喋ってじっくり部活決めたい。。 お互いの課題解決できないかなぁ 課題:お互いがコミュニケーション取れる場所がないこと
じゃあ作ったらええやん。
・各部活のキャプテンに賛同を求め ・LINEBotのコードをカキカキ ・怪しまれそうだったので経緯を書いたホームページ作成 ・アイコンやメニュー画⾯のデザイン…
Ver.1
実際の利⽤イメージ
その後、学校再開が発表
折⾓ならまだ使ってない⼀年⽣に使ってほしい!!! → 学校公式にすれば全員に使ってもらえるのでは??
「⽣徒会の先⽣ー!僕、こんなサービス開発したんですけど、学校公式にしません?? 」 「そうだねぇ。素晴らしいんだけど、、、、、、 責任とかどうする? 職員会議で反対が出そう。。」 先⽣のおっしゃることは理解できるけど、もうちょっと前向きに検討して欲しかった。。 話にならん!!!
学校が協⼒してくれないなら、意地でも⾃分で成功させる!!
やった事① -デザインの改案-
やった事② -QRコードとサービスの宣伝- →
やった事③ -利⽤者アンケート-
⾃由回答に寄せられた意⾒ 「⾯と向かってはきけない各部活の細かいことまできけて本当に助かりました!」(新⼊⽣) 「質問をしたりトークを⾒たりして各部活の様⼦などよく分かって⼤変助かりました」(新⼊⽣) 「先輩の⽬を気にせず質問できたのでとても良かったです!作ってくれた⽅に感謝です!」(新⼊⽣) 「部活のことを詳しく部活の内容を教えて下さり助かりました!」 (新⼊⽣) 「匿名聞けるところとかとても聞きやすくて、先輩もわかりやすく答えてくれたので満⾜です!!」(新⼊⽣) 「こういう時期だからこそこのような形で1年⽣と話す機会を作ってもらえて嬉しかったです〜」(先輩) 「とても役に⽴って部活も無事きめられました。」(新⼊⽣) 「多くの新⼊部員に⼊っていただきました!相談サービスを作ってくださったおかげです。」(先輩)
やった事⑤ -⾃⼰振り返り、報告書作成-
1⼈でも「ありがとう!」と⾔ってくれる⼈がいてよかった 僕⼈⾝が部活動⼤好き⼈間だったので真剣に相談して部活を決め てくれる⼈がいてよかった これからも⼈の⼒になれるサービス開発をしていきます! まとめ ⚠荒らしがいろんなところで発⽣するので、戦うのが⼤変だった
最後に感想を募集しております! 某プロジェクトのテストにご協⼒おねがいします 終了しました
宣伝 同世代でいろんな知⾒を共有できるのでぜひ!
今後とも仲良くしていただけると嬉しいです(^o^) Cammel_LT - LINEBotの魅⼒をただただ語る -