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-2
Search
Hirokazu Maruta
September 27, 2019
Programming
57
0
Share
surprise-lt-for-intern-vol-2
インターン生向けシークレット発表、第2弾。
ゲームを作ってみた話。
number-hit game bot.
Hirokazu Maruta
September 27, 2019
More Decks by Hirokazu Maruta
See All by Hirokazu Maruta
encryption
mochisuna
0
120
わかった気になるチューリングマシン
mochisuna
0
51
Elementary algorithm
mochisuna
0
28
ssh-dynamic-forward
mochisuna
0
63
ServerlessFramework-Trello
mochisuna
0
34
TechBash Slack Reaction Award
mochisuna
0
48
techbash-clasp
mochisuna
0
96
vuejs-night-publish
mochisuna
0
1.2k
docker-multi-stage-build
mochisuna
0
170
Other Decks in Programming
See All in Programming
ハンズオンで学ぶクラウドネイティブ
tatsukiminami
0
130
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
180
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
790
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
270
NakouPAY説明用
annouim0
0
240
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
380
10 Tips of AWS ~Gen AI on AWS~
licux
5
420
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
830
ふりがな Deep Dive try! Swift Tokyo 2026
watura
0
230
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
150
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
280
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
140
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
110
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
490
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Music & Morning Musume
bryan
47
7.2k
The Cult of Friendly URLs
andyhume
79
6.8k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
180
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Facilitating Awesome Meetings
lara
57
6.8k
Producing Creativity
orderedlist
PRO
348
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
340
Transcript
γʔΫϨοτൃද giftee SaaS div. Engineer ·ΔͨͻΖ͔ͣ
ࣗݾհ • ؙాʢ·ΔͨͻΖ͔ͣʣ • Twitter: @mochi_suna • giftee.co SaaSνʔϜΤϯδχΞ •
झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞ʢΧούʣ • ࣗಈԽେ͖ɻख࡞ۀ͖Β͍ɻ • githubɿ @mochisuna
ٕज़໘
͔݁Β
LINEBot ࡞Γ·ͨ͠
ͳ͔ͥͬͯʁ
ωλ͕ࢥ͍͍͔ͭͨΒ
Agenda • LINEBotΛ࡞ͬͯΈͨ • ઃܭࢥ • LINEBotͰͰ͖Δ͜ͱ
࡞ͬͨͷ ʮͯήʔϜʯ bot͕1ʙ100·Ͱͷ ࣈΛϥϯμϜʹهԱ͢Δ • 10ճҎʹͯΕΫϦΞ • Ͱ͖ͳ͚ΕήʔϜΦʔόʔ • େ͖͍/খ͍͞Λڭ͑ͯ͘ΕΔ
Ͳ͏͍͏͜ͱɾɾɾʁ • ήʔϜελʔτʂ • bot͕దʹࣈΛه
Ͳ͏͍͏͜ͱɾɾɾʁ • Ϣʔβʔ͕దʹࣈΛૹΔ • bot͕ฦ͢Δ ͬͱେ͖͍
Ͳ͏͍͏͜ͱɾɾɾʁ • 10ճҎʹͯΔ • Ͱ͖ͳ͔ͬͨΒήʔϜΦʔόʔ ճϛε͔ͬͨΒ ήʔϜΦʔόʔ
ઃܭࢥ
ઃܭࢥ 1. goݴޠ • Standard package layout 2. dockerͰϗοτϦϩʔυ •
σϓϩΠ༻Πϝʔδ = ϩʔΧϧͷΠϝʔδ 3. DDDʹ։ൃ࣌ʹؾྗ͕͚࣋ͭؒͩଇΔ ίʔυ
Why Go? 1. ࣮༻తͳϗοτϦϩʔυͷ࿅श • realizeΛ༻͍ͨϗοτϦϩʔυ • DockerΠϝʔδ࡞ˠϩʔΧϧىಈ 2. ࣮ߦ
3. ظʢࡢͷ͔Βͩ͠ɾɾɾʣ
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 "DUJPO)BOESJOH ΅͘ͷͺͦ͜Μ CloudFirestore
Why FireStore? 1. LINE UIDݻఆ 2. ࠓճେͨ͠σʔλΛ࣋ͨͳ͍ • ͜ͷ࣌ͰKVS͔ͳΓޮՌత •
ͦΕҎ্ʹͬͯΈ͔ͨͬͨϕʔε • ศརͩͬͨΑɻΈΜͳ͓͏
·ͱΊ
LINEBotͱ͍͏ ϓϥοτϑΥʔϜ
໘ന͍
ήʔϜ࡞ΕΔ
Ͱ
ਖ਼͜Εඳ͍ͯΔ ࣌ؒͷํ͕͔ͬͨ
ͦΕͱ͔͘
Πϯλʔϯ ͓͔ͭΕ͞·ʂ