Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Nakamyというサービスを作った話 @社内LT会
Search
kikunantoka
April 13, 2018
Technology
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nakamyというサービスを作った話 @社内LT会
社内LT会@giftee
kikunantoka
April 13, 2018
More Decks by kikunantoka
See All by kikunantoka
個人開発しているサービスのインフラをAWSからGCPに載せ替えた話 💪 / kojin_kaihatsu_night_3
kikunantoka
0
1.3k
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / gotanda_js_13
kikunantoka
1
2.4k
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / frontend_night_1
kikunantoka
3
1.8k
サービスがゼロからN億円規模になるまに実践した7つのやっていき / 7_yatteiki_battle_conference_u30_2019
kikunantoka
1
1.4k
Gatsby.jsとNetlifyとの付き合い方 / gatsby-js-and-netlify
kikunantoka
3
650
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
2
750
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
1
1.9k
今日から始める Flood.io / fuka-taisaku-night-01
kikunantoka
0
370
20万RPMを捌くRailsアプリケーションの作り方
kikunantoka
0
860
Other Decks in Technology
See All in Technology
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
740
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
880
データ_AIの事業の勝敗をわけるもの
nek0128
1
480
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
550
おい、エージェントを使って終わらせろ
nwiizo
3
910
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
160
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
1.4k
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
3
1.2k
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
170
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
510
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
150
ほんとうの信頼性はヒーローが死んでからはじまる / True reliability begins after the hero dies
vtryo
0
120
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
580
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
260
Into the Great Unknown - MozCon
thekraken
41
2.7k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
280
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
430
GitHub's CSS Performance
jonrohan
1033
470k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
Nakamyͱ͍͏αʔϏεΛ࡞ͬͨ @kikunantoka ࣾLTձ@giftee on 2018/04/13
ࣗݾհ about: name: Fumitaka Kikukawa twitter: @kikunantoka job: engineer work_at:
giftee Inc. // giftee is a good company.
ԿͬͯΜͷʁ
ԿͬͯΜͷʁ ʢࣾͰ($1ͱུ͞Εͩ͢ʜʣ
Nakamyͱ͍͏αʔϏεΛ࡞ͬͨ • ։ൃͨ͠αʔϏεʹ͍ͭͯ • ݸਓ։ൃͷֶͼ • NakamyΛࢧ͑Δٕज़ • ࠓޙͷ͍͖ͬͯ
։ൃͨ͠ αʔϏεʹ͍ͭͯ
https://nakamy.com
Nakamy • ༑ୡͷiPhoneͷதΛ͚ΔαʔϏε • Facebook࿈ܞͯ͠ɺϗʔϜը໘ΛΞοϓϩʔ υ͢Εɺ༑ୡͷϗʔϜը໘ΛݟΕΔ • কདྷతʹϢʔβଐੑʹج͍ͮͨΞϓϦͷϨ ίϝϯυͳͲ
None
User 01 User 02 User 03 User 04
࡞͖͔͚ͬͨͬ • Βͳ͍ΞϓϦ͕ͨ͘͞Μ͋ͬͯɺ͍ͬͨͳ͍ • ͝൧ͷ࣌ʹʮ͓͢͢ΊͷΞϓϦ͋Δʁʯͬͯฉ͍ ͯ1ݸ͔2ݸ͙Β͍͔͠Ҿ͖ग़ͤͳ͍ • ༑ୡͷiPhoneͷதΛ͖͍ͨ • ͩͬͨΒɺ͍ͬͦͷ͜ͱϗʔϜը໘ΛΞοϓϩʔ
υͤͯ͞ɺը૾ղੳ͠Α͏
ݸਓ։ൃͷֶͼ
શવਐ·ͳ͍ • खΛಈ͔ͤΔਓࣗͻͱΓ • શʹϞνϕʔγϣϯʹґଘ • ฏ8࣌ؒಇ͍ͨޙͷΓ + •
ࣄͰαʔϏε։ൃ͍ͯ͠Δ࣌ͷͳ͔ ͳ͔͑ΒΕͳ͍
ٕज़ʹڽΓͩ͢ͱશવਐ·ͳ͍ • React on Rails on SSR on SPA with
HMR with Redux with CSS Modules • ΞϓϦԽΛߟ͑ͯ next.js + Railsʁ • ڥߏங͢Δ͚ͩͰຬͯ͠͠·ͬͨ • ؊৺ͷΞϓϦέʔγϣϯίʔυશવਐΜͰ͍ ͳ͔ͬͨ
MVPΛϦϦʔε͢Δ͜ͱΛతͱ͢Δ • ։ൃ͕ظԽ͢ΔͱϞνϕʔγϣϯ͕མͪͯ ͘Δ • ͑Δ͕࣌ؒগͳ͍͜ͱΛҙࣝͯ͠ಈ͘ • ࣮͢Δػೳٕज़ͷऔࣺબ • ʮ࡞Ζ͏ͱࢥͬͯ·͢ʯԿ࢈·ͳ͍
NakamyͷMVP • ϗʔϜը໘ΛΞοϓϩʔυ͢Δͱը૾ղੳ͞ Εͯɺதʹೖ͍ͬͯΔΞϓϦҰཡ͕औಘͰ͖ ͯɺͦͷΞϓϦͷৄࡉ͕ݟΕͯ… • ༑ୡͷϗʔϜը໘ͷεΫϦʔϯγϣοτͷը ૾͕ݟΕΔ • FB࿈ܞ,
༑ୡػೳ, Ξοϓϩʔυػೳ
ϦϦʔε͢Δ͜ͱͰ • Γ߹͍͔ͬͯ͠ͳͯ͘ɺগͳ͘ͱ ڹ͕͋Δ • ࣍ͷػೳΛ։ൃ͢ΔϞνϕʔγϣϯʹͳΔ • ࠓ͍ͬͯΔ͜ͱΛڞ༗͘͢͠ͳΔ
ϦϦʔε͢Δ͜ͱͰ • αʔϏεͷ໘ന͞ΛମײͰ͖Δ • CTO͕ωλߘͯ͠Δw • ಉ͡ΞϓϦΛ͜ͷਓͱ͜ͷਓ͕͍ͬͯΔɺௐ ͯΈΑ͏
ձࣾͰ͏ٕज़ͱڞ௨Խ͢Δ • AnsibleCFnͷςϯϓϨʔτGemfileͳͲ ࣄ͔Βྲྀ༻Ͱ͖ͨ • ٯʹSemantic UIͳͲݸਓ։ൃ͔Βࣄʹ׆ ͔͢͜ͱ͕Ͱ͖ͨ • ڞ௨Խ͢Δͱࣄͱݸਓ։ൃͰֶͼͷ૬ޮ
Ռ͕͋Δ
ίετΛ͔͚ͳ͍ • ConohaͳͲͷVPSΛ͓͏ͱ͚ͨ͠Ͳɺ݁ہAWSͰ Public IPͷΠϯελϯε1ஔ͍ͯ͋ΔߏͱมΘΒ ͳ͍ͱ͍͏ׂΓΓ • ແྉΛ࠷େݶʹ͏ • Bastionஔ͔ͳ͍
• $0.55 / month ʢcdn༻ͷαϒυϝΠϯͷΈʣ
ΫϩʔζͷλΠϛϯάΛܾΊΔ • ແྉ͕͍ͬͯΔ1ͷؒʹɺαʔόఔ ͷϚωλΠζͷॲཱ͕ͨͳ͚ΕɺΫϩʔ ζ͢Δ • AWSͷແྉ͕ྑ͍அϙΠϯτͱͳΔͷͰ • ࣈΛਨΕྲྀ͠ଓ͚Δͱਏ͘ͳΓͦ͏
ϚωλΠζ • ΞϓϦͷΞϑΟϦΤΠτͷഽײΛ௫Ή • ϒϩάͰΞϓϦͷհͷهࣄΛॻ͍ͯݕূ • 50 PVs /day Ͱ
¥200 / month ͙Β͍
શવ·Βͳ͍ • ϚωλΠζ͚ͯMAU֫ಘ͍͕͍ͨ͠͠ • Γ߹͍ͷҬΛͳ͔ͳ͔ग़ͳ͍… • γΣΞػೳʁ • ϒϩάϝσΟΞʁ •
Ωϟϯϖʔϯʁ
NakamyΛࢧ͑Δٕज़
Wappalyzer ᐌ͘
Πϯϑϥ • AWS • ແྉߏ
όοΫΤϯυ • Rails 5.1.3 # facebook API gem 'koala' #
image gem 'carrierwave' gem 'fog-aws' gem 'rmagick' gem 'carrierwave-magic' gem 'piet' gem 'piet-binary' # error log gem 'sentry-raven' # views gem 'autoprefixer-rails' gem 'semantic-ui-sass' gem 'jquery-rails' gem 'slim-rails' # database gem 'seed-fu' # authorization gem 'omniauth-facebook' gem 'devise'
ϑϩϯτΤϯυ • Rails ͷ View Ͱ Slim + Sass •
SPAͰ͋Δඞཁੑͷݕ౼େࣄͦ͏ • JSΛΰϦοͱॻ͖ͨ͘ͳͬͨΒɺ෦తʹ VueΛ͏༧ఆ
CSSϑϨʔϜϫʔΫ • Semantic UI • Grid • ඞཁͦ͏ͳίϯϙʔωϯτἧ͍ͬͯΔ • semantic-ui-sass
ͱ͍͏GemͰೖΔ
Sentry • Τϥʔ௨αʔϏε • ձࣾͰAirbrake͔ΒSentryʹΓ͑த
ࠓޙͷ͍͖ͬͯ
ࠓޙͷ͍͖ͬͯ • ·ͱͳΞϓϦέʔγϣϯʹ্͍͛ͯ͘ • ऩӹԽΛࢦ͢ • Nakamy Insight • ϗʔϜը໘ΛऔΓ্͍͛ͯ͘
• Nakamy for Mac • ͲΜͳΤσΟλͬͯΔʁͱ͔Γ͍ͨ
࣌ؒ༨ͬͨΒฉ͍ͯཉ͍͠ • ϩΰͷͩ͜ΘΓ
࣌ؒ༨ͬͨΒฉ͍ͯཉ͍͠ • ϩΰͷͩ͜ΘΓ ࣋ͬͯΔΞϓϦेਓे৭
࣌ؒ༨ͬͨΒฉ͍ͯཉ͍͠ • ϩΰͷͩ͜ΘΓ ᶃ ᶄ ᶅ ᶆ ᶇ ᶈ ᶉ
ᶊ ᶋ ᶌ ࣋ͬͯΔΞϓϦेਓे৭
օ͞Μ༑ୡͷiPhoneΛ ͍ͯΈ·ͤΜ͔ʁ
https://nakamy.com
ίϚʔγϟϧ • We are hiring!!! - Ұॹʹಇؒ͘Λืूதʂ ձһສਓಥഁʂ ࠃ/PͷΧδϡΞϧΪϑταʔϏε