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
surprise-lt-for-intern-vol-1
Search
Hirokazu Maruta
June 21, 2019
Technology
0
51
surprise-lt-for-intern-vol-1
インターン生の課題がLINEBot作成だったので、インターン生が制作物の発表を終えた後に社員からのサプライズLTとして登壇しました。
Hirokazu Maruta
June 21, 2019
Tweet
Share
More Decks by Hirokazu Maruta
See All by Hirokazu Maruta
encryption
mochisuna
0
120
わかった気になるチューリングマシン
mochisuna
0
48
Elementary algorithm
mochisuna
0
27
ssh-dynamic-forward
mochisuna
0
61
ServerlessFramework-Trello
mochisuna
0
30
TechBash Slack Reaction Award
mochisuna
0
45
techbash-clasp
mochisuna
0
91
vuejs-night-publish
mochisuna
0
1.1k
surprise-lt-for-intern-vol-2
mochisuna
0
55
Other Decks in Technology
See All in Technology
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
180
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
260
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
210
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.5k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
Greatest Disaster Hits in Web Performance
guaca
0
280
プロポーザルに込める段取り八分
shoheimitani
1
570
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6k
What's in a price? How to price your products and services
michaelherold
247
13k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
180
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
sira's awesome portfolio website redesign presentation
elsirapls
0
150
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
Context Engineering - Making Every Token Count
addyosmani
9
660
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Transcript
LINEBotͰLTձΛྑ͍ͨ͘͠ giftee SaaS div. Engineer ·ΔͨͻΖ͔ͣ
ࣗݾհ • ؙాʢ·ΔͨͻΖ͔ͣʣ • Twitter: @mochi_suna • giftee.co SaaSνʔϜΤϯδχΞ •
झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞ʢΧούʣ • ࣗಈԽେ͖ɻख࡞ۀ͖Β͍ɻ • github
ٕज़໘
͔݁Β
LINEBot ࡞Γ·ͨ͠
Agenda • LINEBotΛ࡞ͬͯΈͨ • ઃܭࢥ • LINEBotͰͰ͖Δ͜ͱ • ࢥ͍ͷৎ
LINEBot
࡞ͬͨͷ ʮLTձBotʯ ΠϕϯτͷࢀՃͱΞϯέʔτ • Πϕϯτͷ։࠵ɾऴྃ • ΠϕϯτͷࢀՃɾ • Πϕϯτͷථ •
ूܭʢະ࣮ʣ
LTձBot • ΠϕϯτΛ։࠵ LINEBot Φʔφʔʢొஃऀʣ Πϕϯτ ʢ-5ձͳͲʣ Πϕϯτ࡞ Πϕϯτ։࠵
LTձBot • ։࠵ࡁΈͷΠϕϯτʹࢀՃ ࢀՃऀ LINEBot Φʔφʔʢొஃऀʣ Πϕϯτ ʢ-5ձͳͲʣ ΠϕϯτࢀՃ
LTձBot • ࢀՃதͷΠϕϯτʹථ ࢀՃऀ LINEBot Φʔφʔʢొஃऀʣ Πϕϯτ ʢ-5ձͳͲʣ ථ
LTձBot • ूܭʢ͜ΕͲ͏͠Α͔ͬͳ͊ɾɾɾʣ ࢀՃऀ LINEBot Φʔφʔʢొஃऀʣ Πϕϯτ ʢ-5ձͳͲʣ ूܭ
ઃܭࢥ
ઃܭࢥ 1. goݴޠ • Standard package layout 2. dockerͰϗοτϦϩʔυ •
σϓϩΠ༻Πϝʔδ = ϩʔΧϧͷΠϝʔδ 3. DDDʹ։ൃ࣌ʹؾྗ͕͚࣋ͭؒͩଇΔ ίʔυ
Why Go? 1. ࣮༻తͳϗοτϦϩʔυͷ࿅श • realizeΛ༻͍ͨϗοτϦϩʔυ • DockerΠϝʔδ࡞ˠϩʔΧϧىಈ 2. ࣮ߦ
3. *͕ͭ͘ͱͪΐͬͱมΘΔʢϙΠϯλతͳҙຯͰʣ ܾͯ͠RailsΛ͍ͨ͘ͳ͔͔ͬͨΒͱ͔Ͱͳ͍
What’s DDD? • ΤΠϓϦϧϑʔϧͳͷͰӕͭ͘ • ͍͍ͩͨ͜Μͳײ͡
What’s DDD? • ΤΠϓϦϧϑʔϧͳͷͰӕͭ͘ • ͍͍ͩͨ͜Μͳײ͡ ґଘؔͷ໌֬ͳ͕Մೳ
Standard Package Layout ϧʔτύοέʔδυϝΠϯλΠϓͷͨΊʹ ଘࡏ͢Δ 3PVUFS 4FSWJDF 3FQPTJUPSZ *OGSBTUSVDUVSF .Z42-
*OUFSGBDF NBJO 4FSWJDF 3FQPTJUPSZ Handler Service Action Entity Call DB ORM
Standard Package Layout ϧʔτύοέʔδυϝΠϯλΠϓͷͨΊʹ ଘࡏ͢Δ 3PVUFS 4FSWJDF 3FQPTJUPSZ *OGSBTUSVDUVSF .Z42-
*OUFSGBDF NBJO 4FSWJDF 3FQPTJUPSZ Handler Service Action Entity Call DB ORM DDDͱ ͷ ૬ ੑ ͕ ྑ ͍
͜͏͍ͤͣ localhost:8080 localhost:3306 "DUJPO)BOESJOH ΅͘ͷͺͦ͜Μ
LINEBotͰͰ͖Δ͜ͱ
ΞΫγϣϯςϯϓϨʔτ ֬ೝςϯϓϨʔτ ϘλϯςϯϓϨʔτ ΧϧʔηϧςϯϓϨʔτ બςϯϓϨʔτ ͳͲ
Ϧονϝχϡʔ
Ϧονϝχϡʔ • LINE@ίϯιʔϧ͔ΒઃఆՄೳ
ࠓճ͜ͷลΛશྗͰར༻ • ϢʔβʔʹίϚϯυΛ֮͑ͤͨ͘͞ͳ͍ • ײతʹૢ࡞͍ͨ͠ • ී௨ʹͬͯΈ͍ͨ • ઃఆΛָʹ͍ͨ͠
શମతʹࡶʁ
શମతʹࡶʁ
·ͱΊ • LTձͰʹཱͪͦ͏ͳbotΛ࡞Γ·ͨ͠ • LINEBot͍͢͝ • ׂͱଟػೳ • ͿͬͪΌ͚͜ΜͳʹϦονͳΈʹ͢Δඞཁͳ͔ͬͨ •
ngrokΫιศར • ߏ͏গ͠ਪᏏ͕ඞཁ͔ͳ͊
·ͱΊ • LTձͰʹཱͪͦ͏ͳbotΛ࡞Γ·ͨ͠ • LINEBot͍͢͝ • ׂͱଟػೳ • ͿͬͪΌ͚͜ΜͳʹϦονͳΈʹ͢Δඞཁͳ͔ͬͨ •
ngrokΫιศར • ߏ͏গ͠ਪᏏ͕ඞཁ͔ͳ͊ ί ϯ τ Ϧ Ϗϡ ʔ λ ʔ ਵ ࣌ ื ू ͯ͠ · ͢
Πϯλʔϯ ͓͔ͭΕ͞·ʂ