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
0
52
surprise-lt-for-intern-vol-2
インターン生向けシークレット発表、第2弾。
ゲームを作ってみた話。
number-hit game bot.
Hirokazu Maruta
September 27, 2019
Tweet
Share
More Decks by Hirokazu Maruta
See All by Hirokazu Maruta
encryption
mochisuna
0
110
わかった気になるチューリングマシン
mochisuna
0
45
Elementary algorithm
mochisuna
0
24
ssh-dynamic-forward
mochisuna
0
59
ServerlessFramework-Trello
mochisuna
0
30
TechBash Slack Reaction Award
mochisuna
0
45
techbash-clasp
mochisuna
0
87
vuejs-night-publish
mochisuna
0
1.1k
docker-multi-stage-build
mochisuna
0
170
Other Decks in Programming
See All in Programming
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
8.5k
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
840
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
650
What's new in Spring Modulith?
olivergierke
1
170
CSC509 Lecture 08
javiergs
PRO
0
250
コード生成なしでモック処理を実現!ovechkin-dm/mockioで学ぶメタプログラミング
qualiarts
0
260
AkarengaLT vol.38
hashimoto_kei
1
120
ALL CODE BASE ARE BELONG TO STUDY
uzulla
28
6.7k
CSC305 Lecture 10
javiergs
PRO
0
240
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
110
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
610
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Facilitating Awesome Meetings
lara
57
6.6k
Producing Creativity
orderedlist
PRO
347
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Embracing the Ebb and Flow
colly
88
4.9k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
GitHub's CSS Performance
jonrohan
1032
470k
The World Runs on Bad Software
bkeepers
PRO
72
11k
RailsConf 2023
tenderlove
30
1.3k
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ͱ͍͏ ϓϥοτϑΥʔϜ
໘ന͍
ήʔϜ࡞ΕΔ
Ͱ
ਖ਼͜Εඳ͍ͯΔ ࣌ؒͷํ͕͔ͬͨ
ͦΕͱ͔͘
Πϯλʔϯ ͓͔ͭΕ͞·ʂ