Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
高校生がLINEBotの魅力をただただ語ってみる
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ようかん(YosukeInoue
July 23, 2020
Technology
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
高校生がLINEBotの魅力をただただ語ってみる
登壇イベント情報→
https://cammel.connpass.com/event/182234/
ようかん(YosukeInoue
July 23, 2020
More Decks by ようかん(YosukeInoue
See All by ようかん(YosukeInoue
高校生の時にLINEDCに出会って、 気づけば大学を卒業します!!
inoue2002
0
130
bolt.newで作る Vibe Coding for LINEミニアプリ
inoue2002
0
120
TEQSセミナー
inoue2002
1
320
Stripe Agent Toolkitを試してみた
inoue2002
0
180
今から始めるLINEBot入門
inoue2002
0
260
未来の投げ銭箱
inoue2002
2
210
LINEでAI占い師に相談できる “AI占いくん”の開発/改善の過程
inoue2002
0
530
LINEトークルーム広告v1
inoue2002
0
140
レシピ保存くん
inoue2002
0
2.1k
Other Decks in Technology
See All in Technology
WasmをRustにする
sansantech
PRO
0
250
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
160
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
150
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
340
Refining Active Record
shugo
0
150
How to Design Configuration for Rails Applications
willnet
1
770
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
170
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
A designer walks into a library…
pauljervisheath
211
25k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
How to build a perfect <img>
jonoalderson
1
6.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Navigating Weather and Climate Data
rabernat
0
560
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の魅⼒をただただ語る -