Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
高校生がLINEBotの魅力をただただ語ってみる
Search
ようかん(YosukeInoue
July 23, 2020
Technology
180
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
92
bolt.newで作る Vibe Coding for LINEミニアプリ
inoue2002
0
98
TEQSセミナー
inoue2002
1
300
Stripe Agent Toolkitを試してみた
inoue2002
0
160
今から始めるLINEBot入門
inoue2002
0
230
未来の投げ銭箱
inoue2002
2
200
LINEでAI占い師に相談できる “AI占いくん”の開発/改善の過程
inoue2002
0
510
LINEトークルーム広告v1
inoue2002
0
140
レシピ保存くん
inoue2002
0
1.8k
Other Decks in Technology
See All in Technology
kaonavi Tech Night#1
kaonavi
0
110
ファミコンでPHPを動かす / PHP on the Famicom
tomzoh
2
450
そのドキュメント、自動化しませんか?
yuksew
1
300
Network Firewallやっていき!
news_it_enj
0
170
[2026-07-15] AI Ready なはずだったアーキテクチャと、見えてきた課題・次に目指す状態
wxyzzz
9
4k
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
1
600
AICoEでAIネイティブ組織への進化
yukiogawa
0
200
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
570
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
1.5k
「最後に責任を取るのはチーム」— 人間のPRレビューを最小化してアップデートしたメンタルモデル
jnishime_dresscode
0
920
穢れた技術選定について
watany
17
5.6k
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
3.4k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
The Language of Interfaces
destraynor
162
27k
First, design no harm
axbom
PRO
2
1.2k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Mobile First: as difficult as doing things right
swwweet
225
10k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
420
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
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の魅⼒をただただ語る -