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
サービスがゼロからN億円規模になるまに実践した7つのやっていき / 7_yatteiki_ba...
Search
kikunantoka
July 06, 2019
Technology
1
1.3k
サービスがゼロからN億円規模になるまに実践した7つのやっていき / 7_yatteiki_battle_conference_u30_2019
kikunantoka
July 06, 2019
Tweet
Share
More Decks by kikunantoka
See All by kikunantoka
個人開発しているサービスのインフラをAWSからGCPに載せ替えた話 💪 / kojin_kaihatsu_night_3
kikunantoka
0
1.1k
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / gotanda_js_13
kikunantoka
1
2.4k
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / frontend_night_1
kikunantoka
3
1.6k
Gatsby.jsとNetlifyとの付き合い方 / gatsby-js-and-netlify
kikunantoka
3
590
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
2
660
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
1
1.8k
今日から始める Flood.io / fuka-taisaku-night-01
kikunantoka
0
320
20万RPMを捌くRailsアプリケーションの作り方
kikunantoka
0
810
MVPに絞ったら個人開発でもちゃんとリリースできた話
kikunantoka
1
520
Other Decks in Technology
See All in Technology
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
300
データ基盤からデータベースまで?広がるユースケースのDatabricksについて教えるよ!
akuwano
3
140
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
170
ビギナーであり続ける/beginning
ikuodanaka
3
790
Claude Code に プロジェクト管理やらせたみた
unson
6
4.6k
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
110
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
1.2k
ゼロからはじめる採用広報
yutadayo
3
990
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
260
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
150
shake-upを科学する
rsakata
7
800
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
300
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
700
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
A Tale of Four Properties
chriscoyier
160
23k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
The Cult of Friendly URLs
andyhume
79
6.5k
4 Signs Your Business is Dying
shpigford
184
22k
Thoughts on Productivity
jonyablonski
69
4.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Transcript
αʔϏε͕θϩ͔ΒNԯԁنʹͳΔ·Ͱʹ ࣮ફͨ͠7ͭͷ͍͖ͬͯ BATTLE CONFERENCE UNDER30 #2019 on 2019/07/06 @kikunantoka
ࣗݾհ about: name: Fumitaka Kikukawa work_at: giftee Inc. job: engineer
twitter: @kikunantoka age: 28 // ೖࣾͯ͠3ऑ // ΪϦΪϦU30
ݸਓ։ൃ https://nakamy.com
ϘʔυήʔϜ੍࡞ https://tapir-studio.com
αʔϏε͕θϩ͔ΒNԯԁنʹͳΔ·Ͱʹ ࣮ફͨ͠7ͭͷ͍͖ͬͯ BATTLE CONFERENCE UNDER30 #2019 on 2019/07/06 @kikunantoka \
ͲΜͳαʔϏεΛ։ൃ͍ͯ͠Δͷ͔Λ͠·͢ /
• ࠒͷʮখ͞ͳ͋Γ͕ͱ͏ʯͷؾ࣋ͪʹఴ͑ͯɺΪϑτΛଃΕΔαʔϏε • ड͚औͬͨΪϑτձһొͳ͠Ͱ͓ళͰͱަ͕Ͱ͖Δ To C
• ΪϑτϢχʔΫͳURLͳͷͰɺීஈͷLINEͳͲʹ؆୯ʹఴ͑Δ͜ͱ͕Ͱ͖Δ To C https://giftee.co/r/------
• ΪϑτͰਓͱਓΛͭͳ͙αʔϏε To C
• ΪϑτͰਓͱاۀͭͳ͍Ͱ͍Δ To B
• ΪϑτͷURLΛೲͯ͠ΪϑτΛΩϟϯϖʔϯʹ׆༻ͯ͠Β͏Ϗδωε To B https://giftee.co/r/------ https://giftee.co/r/------ https://giftee.co/r/------ https://giftee.co/r/------ https://giftee.co/r/------ https://giftee.co/r/------
https://giftee.co/r/------
• ΪϑτͷURLΛೲͯ͠ΪϑτΛΩϟϯϖʔϯʹ׆༻ͯ͠Β͏Ϗδωε To B
• தʹɺΪϑτΛ্ख͘׆༻͢Δखஈ͕ͳ͍ΫϥΠΞϯτ ΪϑτΛଃΔखஈ͕ͳ͍ To B
ᶃ ϑΥϩʔ&ϦπΠʔτ ᶄ Twitterೝূ ᶅ ͦͷͰநબ ᶆ Ϊϑτ͕Β͑Δ • ΠϯελϯτΟϯΩϟϯϖʔϯΛؾܰʹ࣮ࢪ͢ΔͨΊͷϓϥοτϑΥʔϜΛ։ൃ
To B
HJGUFFΠϯελϯτΟϯGPS5XJUUFSͷڧΈᶃ நબ͔Βܠͷఏڙ·ͰҰؾ௨؏Ͱ͝ఏڙ நબγεςϜ ʢΠϯελϯτΟϯʣ σδλϧΪϑτͷఏڙ ʢछྨҎ্ͷܠʣ ϦΞϧλΠϜʹநબɺ ͦͷͰܠΛ༩ aࣾͰ($1ͱུ͞Εͩ͢ʜ
Πϯϑϥ aࣾͰ($1ͱུ͞Εͩ͢ʜ ݴޠ ϑϨʔϜϫʔΫ Λࢧ͑Δٕज़
αʔϏε͕θϩ͔ΒNԯԁنʹͳΔ·Ͱʹ ࣮ફͨ͠7ͭͷ͍͖ͬͯ BATTLE CONFERENCE UNDER30 #2019 on 2019/07/06 @kikunantoka /
ͲΜͳ͜ͱΛҙࣝ͠ͳ͕Β։ൃ͖͔ͯͨ͠Λ͠·͢ \
ϓϥοτϑΥʔϜΛ࡞͍ͬͯ͘ 1
ϓϥοτϑΥʔϜΛ࡞͍ͬͯ͘ • B͚αʔϏεͩͱडୗ։ൃʹͳΓ͕ͪ • GCP͋ΔΫϥΠΞϯτ͔ΒʮTwitterͷΩϟϯϖʔϯΛΓ͍ͨʯͱ૬ஊ͞Εͨ͜ ͱ͔Β࢝·ͬͨ • ೲظ͕ഭ͍͕ͬͯͨɺฐࣾͷ༏लͳBizνʔϜͳΒଞʹͲΜͲΜҊ݅Λऔͬͯ͘Δ ͱࢥͬͨͷͰɺ൚༻తͳϓϥοτϑΥʔϜͱͯ͠։ൃΛ࢝Ίͨ •
ػೳՃʹ͓͍ͯͦͷػೳ͕ଞͷΫϥΠΞϯτඞཁͱ͍ͯ͠Δ͔ΛݟۃΊΔ
খ࢝͘͞Ί͍ͯ͘ 2
খ࢝͘͞Ί͍ͯ͘ • ఆ͗͢͠ͳ͍ɺখ͘͞։ൃͯ͠ɺখ͘͞ݕূ͢Δ • ࠷ॳϏδωεతʹ্ख͍͔͘͘ݟ͑ͳ͍ͷͰɺΠςϨʔςΟϒʹ։ൃ͍ͯ͘͠ • ൚༻తʹ͗͢͠ΔͱDBͷ੍Λ͔͚ͮΒ͔ͬͨΓ͢ΔͷͰɺόϥϯεΛͱΔ • 2ӡ༻ͯ͠Έͯɺ͍͔ͭඞཁ͔͠Εͳ͍…ແବʹͳͬͨ͜ͱ͕ଟ͔ͬͨ •
YAGNI ͕ຊʹେ
OneνʔϜͰ։ൃ͍ͯ͘͠ 3
OneνʔϜͰ։ൃ͍ͯ͘͠ • B͚αʔϏεͩͱΫϥΠΞϯτͷΛҰ൪ฉ͍͍ͯΔͷBizνʔϜ • िʹ1ͷఆྫΛBizνʔϜͱ߹ಉͰߦ͏ • ࠲੮ಉ͡ౡͰ͔͍߹ͬͯ࠲Δ • ೲಘײΛ࣋ͬͯ։ൃ͢Δ •
࣌ʹΫϥΠΞϯτʹձ͍ʹߦͬͯੜͷΛฉ͖ʹ͍͘ • B͚ͷLPΛҰॹʹ࡞ͬͨΓͨ͠
PMFୡޙػೳΛΨϯΨϯ։ൃ͍ͯ͘͠ 4
PMFୡޙػೳΛΨϯΨϯ։ൃ͍ͯ͘͠ • ϓϩμΫτͱͯ͠ஹ͕͠ݟ͑ͨΒશྗͰίϛοτ͢Δ • ཧը໘։ൃͳͲɺӡ༻λεΫΛଞͷਓʹҠৡ͍ͯͨ͘͠Ίͷ։ൃΛߦ͍ɺ։ൃʹ ॆͯΒΕΔ࣌ؒΛ૿͍ͯ͘͠ • αʔϏεӡ༻͕࢝·͔ͬͯΒ͕ຊ൪ • LINEೝূίʔυೝূͳͲɺೝূͷύλʔϯΛ૿͍ͯ͘͠
• ը໘ΧελϚΠζͳͲͷΦϓγϣϯͰՔ͍Ͱ͍͘
αʔϏεΛεέʔϥϒϧʹ͍ͯ͘͠ 5
GCPͷ2ؒʢ˞Πϝʔδʣ • αʔϏεͷͱͱʹΩϟϯϖʔϯͷΕ͕ؒͳ͘ͳ͖ͬͯͨ • ্࿈ಈͳͲͷେܕҊ݅ೖͬͯ͘ΔΑ͏ʹͳ͖ͬͯͨ • αʔϏεΛམͱͤͳ͍ • Ϩίʔυ૿͖͑ͯͨ
αʔϏεΛεέʔϥϒϧʹ͍ͯ͘͠ • εέʔϧ͢ΔίʔυΛॻ͘ / ϩοΫॲཧɺεϩʔΫΤϦʹҙ͢Δ • ෛՙݕূͯ͠औΓআ͍͍ͯ͘ • Elastic Beanstalk
ΛͬͯWebαʔόΛԽ͠εέʔϥϒϧʹͨ͠ • RDSΛ Aurora ʹ͢Δ͜ͱͰεέʔϧΞοϓͷμϯλΠϜΛগͳͨ͘͠ • ͍ͭͰεέʔϧΞτ / εέʔϧΠϯͰ͖ΔڥΛ͑Δ͜ͱͰΠϯϑϥඅ༻Λ ͑Δ͜ͱ͕Ͱ͖ͨ
LINEϓογϡ৴ʹ͑ΒΕͨ ☺ ʊਓਓਓਓਓਓਓਓਓਓਓʊ ʼ ࠷େ30ສϦΫΤετ ʻ ʉY^Y^Y^Y^Y^Y^Y^Y^ʉ • ༑ͩͪ2300ສͷΞΧϯτͰLINEϓογϡΛߦͬͨ݁Ռ
ఆظతʹDBͷ੍Λݟ͍ͯ͘͠ 6
ఆظతʹDBͷ੍Λݟ͍ͯ͘͠ • ϚΠάϨʔγϣϯΛྲྀͨ݁͠Ռͷ db/schema.rb ϑΝΠϧΛ֬ೝ͢Δ • σʔλͷෆ߹Λͳ͘͢࠷ޙͷࡆDBͷ੍ • ϨϏϡʔͰݟಀ͍ͯͨ͠͏͔ͬΓ੍ுΓΕΛݕͰ͖Δ •
࣌ͱఆ͕มΘ͍ͬͯΔ߹͋Δ • ෆཁͳςʔϒϧΛআͰ͖Δ • Ϩίʔυ͕ཷ·͔ͬͯΒ੍ΛுΓ͢ͷେม
ͨΓલͷ͜ͱΛͨΓલʹ͍ͬͯ͘ 7
LinterΛద༻͢Δ • Rubyͩͱ Rubocop • ϝϯόʔ͕OSS׆ಈҙࣝͰ͖ΔΑ͏ʹrubocop.ymlRailsʹ४ڌͨ͠ • ൿͷλϨʢಠࣗϧʔϧʣͳΔ͘࡞Βͳ͍
ΤϥʔτϥοΩϯάαʔϏε݈શͳঢ়ଶΛอͭ • ேձͰൃੜͨ͠Τϥʔͷ୨Է͠ΛΔ • SentryΛͪΌΜͱӡ༻͢Δ
ΤϥʔτϥοΩϯάαʔϏε݈શͳঢ়ଶΛอͭ • ղܾͨ͠Resolve • 90ҎʹରԠ͢Δ • ֎෦αʔϏεىҼͷͷ10 times / minͳͲͰIgnore
• ֎෦αʔϏεͰେ͖ͳো͕ى͖͍ͯͨ࣌ʹ௨͕ͪΌΜͱདྷΔ
RubyRailsͷόʔδϣϯ࠷৽ʹอͭ • ηΩϡϦςΟΞοϓσʔτ͕͍ͭͰͰ͖ΔڥΛ͑Δ • 2ӡ༻͍ͯ͠ΔαʔϏε͕ͩɺRuby (2.6.3) Rails (5.2.3)࠷৽ • Ұྫͱͯ͠ɺRubyͷόʔδϣϯΛ্͛Δ͚ͩͰɺCSVͷಡΈࠐΈ
/ ॻ͖ࠐΈͷߴ ԽͷϝϦοτΛڗडͰ͖Δ • GemͷΞοϓσʔτʹ Dependabot Λ׆༻͢Δ • ͨͬͨͷ2͚ͩͲɺ͜ͷੵΈॏͶ͕େ
αʔϏε͕͍ͯ͘͠த ͨΓલͷ͜ͱΛͨΓલʹΔͷ ΊͬͪΌେมͳͷͰ ΈΜͳͰ͍͖ͬͯ·͠ΐ͏
None
ίϚʔγϟϧ - We are hiring !!!