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
7年間開発を続けるサービスを支える 負債返済日の取り組み
Search
Shingo Tomioka
December 08, 2018
Programming
3
2.3k
7年間開発を続けるサービスを支える 負債返済日の取り組み
Rails Developers Meetup 2018 Day 4 Nouvelle Vague (
https://techplay.jp/event/702297
) で話したスライドです。
Shingo Tomioka
December 08, 2018
Tweet
Share
More Decks by Shingo Tomioka
See All by Shingo Tomioka
Engagement 事業チーム の開発事情
stomk
0
120
モデルの説明コメントを書く文化が会社に浸透してきた話
stomk
0
500
A/Bテストをやるときに 気をつけていること
stomk
3
1.5k
Other Decks in Programming
See All in Programming
趣味全開のAITuber開発
kokushin
0
190
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
2.6k
AHC045_解説
shun_pi
0
480
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
290
ベクトル検索システムの気持ち
monochromegane
31
9.9k
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
320
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
2
390
フロントエンドテストの育て方
quramy
11
2.9k
Code smarter, not harder - How AI Coding Tools Boost Your Productivity | Webinar 2025
danielsogl
0
120
DataStoreをテストする
mkeeda
0
280
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
340
SwiftUI API Design Lessons
niw
1
260
Featured
See All Featured
Designing for Performance
lara
607
69k
Site-Speed That Sticks
csswizardry
5
480
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Making Projects Easy
brettharned
116
6.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
178
53k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
The Cult of Friendly URLs
andyhume
78
6.3k
Documentation Writing (for coders)
carmenintech
69
4.7k
Transcript
©2018 Wantedly, Inc. 7ؒ։ൃΛଓ͚ΔαʔϏεΛࢧ͑Δ ෛ࠴ฦࡁͷऔΓΈ Rails Developers Meetup 2018 Day
4 Nouvelle Vague 8.Dec.2018 - Shingo Tomioka
©2018 Wantedly, Inc. • Ԭ ਅޛʢShingo Tomiokaʣ • ɹ @meea_t
• Wantedly, Inc. 2017৽ଔೖࣾ • Wantedly Visit ͷ Web ϑϩϯτΤϯυɾόοΫΤϯυΛ։ൃ ࣗݾհ
Wantedly Visit Ŗ ͨΒ͘Λ໘ന͘
։ൃνʔϜߏ • ΤϯδχΞ Web 12ਓɾΞϓϦ5ਓ͘Β͍ • 3~5ਓ͘Β͍ͰҰͭͷػೳΛ։ൃ͢ΔখνʔϜ ͕͍͔ͭ͋͘Δ VISIT
ΞʔΩςΫνϟ • WebɾόοΫΤϯυϞϊϦγοΫ Rails + α • ࠷ۙϚΠΫϩαʔϏεԽਐΊ͍ͯΔ͕ɺϝ ΠϯͷαʔϏεͣͬͱϝϯςφϯε͍ͯ͘͠ ඞཁ͕͋Δ
ϝΠϯϨϙδτϦͷίʔυྔʢߦʣ 0K 200K 400K 600K 800K 1,000K 2011 2012 2013
2014 2015 2016 2017 2018 2019
ΞʔΩςΫνϟ৫ͷྺ࢙ʹ͍ͭͯͷ͘Θ͍͠… https://speakerdeck.com/kawasy/wantedly-niokeru-purodakuto-ji-shu-zu-zhi-7nian-jian-falsejin-hua
©2018 Wantedly, Inc. • ίʔυϕʔεͷ݈શੑΛอͪɺ։ൃͷੜ࢈ੑΛ ҡ͍͖͍࣋ͯͨ͠ • ීஈͷ։ൃதαʔϏεͷKPI͕ॏཁͳͷͰɺ KPIʹ݁͠ͳ͍λεΫ༏ઌ͕͘ͳͬͯ ͠·͏
• ීஈখνʔϜ୯ҐͰ։ൃ͍ͯ͠Δ͚Ͳɺશ ମͱͯ͠ҰͭͷαʔϏεɾҰͭͷϦϙδτϦ Λҡ͍࣋ͯ͘͠ඞཁ͕͋Δ ͘αʔϏεΛ։ൃ͚͍ͭͮͯͨ͘͠Ίʹ
©2018 Wantedly, Inc. • ීஈ༏ઌ্͕͕Βͳ͍λεΫʹूதͯ͠ औΓΉઐ༻ͷ • 1.5ϲ݄ʹ1ճ͘Β͍։࠵ • νʔϜશһͰऔΓΉ
ňෛ࠴ฦࡁʯ
©2018 Wantedly, Inc. • ෛ࠴ฦࡁܥ • ੜ࢈ੑ্ܥ • ΤϥʔͷཧɾόάϑΟοΫε •
ύϑΥʔϚϯεվળ • ύοέʔδͷΞοϓσʔτ • πʔϧͷಋೖ • υΩϡϝϯτඋ • etc. Δ͜ͱ
©2018 Wantedly, Inc. • ʮෛ࠴ฦࡁʯͱݺΜͰ͍Δ͕ɺऔΓΉͷ ٕज़తෛ࠴͚ͩʹݶΒͳ͍ • ʮ͋ΕΓ͍ͨɾͬͨํ͕͍͍͚ͲͰ͖ͳ͍ʯ ͱ͍͏৺ཧతෛ࠴Λฦ͢Ͱ͋Δ ňෛ࠴ฦࡁʯ
લͬͯ issue ΛཱͯͯΓ͍ͨ͜ͱΛॻ͍͓ͯ͘ • 1ճͷෛ࠴ฦࡁ͕ऴΘͬͨλΠϛϯάͰ࣍ճ͕ εέδϡʔϦϯά͞Εɺissue ཱ͕ͯΒΕΔ
લͬͯ issue ΛཱͯͯΓ͍ͨ͜ͱΛॻ͍͓ͯ͘
©2018 Wantedly, Inc. • ͜͜ΛͳΜͱ͔͍ͨ͠ͱ͍͏ͷɺීஈͷ։ ൃΛ͍ͯ͠Δͱ͖ʹײ͡Δ • ͕ͦͷͱ͖࣌ؒΛ͔͚ΒΕͳ͍͜ͱ͕ଟ͍ • Issue
ʹϝϞ͓͍ͯͯ͠ɺ͋ͱͰΔͱܾΊͯ ͓͘͜ͱͰɺͦͷॠؒ։ൃʹूத͚ͭͮ͠ ΒΕΔ લͬͯ issue ΛཱͯͯΓ͍ͨ͜ͱΛॻ͍͓ͯ͘
©2018 Wantedly, Inc. • 10:00 ू·ͬͯλεΫΛཧׂͯ͠ΓৼΓ • 10:30~18:30 ֤ࣗλεΫʹऔΓΉ •
18:30 Ռൃදɾ;Γ͔͑Γ 1ͷྲྀΕ
©2018 Wantedly, Inc. λεΫͷׂΓৼΓ
©2018 Wantedly, Inc. λεΫͷׂΓৼΓ • γʔτʹॻ͖ग़ͯ͠༏ઌΛ͚ͭͯΞαΠϯ • ͜͜ʹਐḿʢstatus: WIP/DONE
PRͷϦϯΫʣ ॻ͖ࠐ·Ε͍ͯ͘ • ϋοΧιϯײ
©2018 Wantedly, Inc. ࠷ۙͬͨྫΛ͍͔ͭ͘հ
໘͚ͩͲΒͳ͖Ό͍͚ͳ͍ͭ
Facebook API Λ͍ଓ͚ΔͨΊʹΞϓϦϨϏϡʔΛૹΔ
ෛ࠴ฦࡁܥ
©2018 Wantedly, Inc. • ϦΫΤετϩάΛݩʹɺΘΕ͍ͯͳ͍Τϯ υϙΠϯτΛྻڍ • 2ਓͰ1Ͱ100ݸͷϖʔδΛআ • શମͷ7%Λݮ
ΘΕ͍ͯͳ͍ϖʔδͷআ
࡞ۀͷ༷ࢠ
ੜ࢈ੑ্ܥ
©2018 Wantedly, Inc. • config/routes.rb ͷத͕2300ߦ • (annotate ʹΑΔίϝϯτΛআ͍ͯ) •
ಉ͡Ϧιʔε͕ଟͷ namespace Լʹଘࡏ • users • admin/users • enterprise/users • api/v1/users • api/v2/users • … config/routes.rb ϑΝΠϧΛׂ
config/routes.rb ϑΝΠϧΛׂ
config/routes.rb ϑΝΠϧΛׂ
©2018 Wantedly, Inc. • ઐ༻ͷΛઃ͚Δ͜ͱͰɺͦΕҎ֎ͷ αʔϏεΛ৳ͨ͢Ίͷ։ൃʹूதͰ͖Δ • ͕ܾ࣌ؒ·͍ͬͯΔ͜ͱͰूதྗ্͕͕Γɺ Ռ͕ग़͍͢ ෛ࠴ฦࡁͷ͍͍ͱ͜Ζ
©2018 Wantedly, Inc. • νʔϜશһͰಉ͡ʹऔΓΉ͜ͱͰ • ΈΜͳͬͯΔͷͰɺଞͷਓʹฉ͖͍ͨ͜ͱ͕͋ͬ ͨͱ͖ؾ݉Ͷͳ͘ฉ͚Δ • ීஈͷ։ൃதͩͱअຐ͢Δͷਃ͠༁ͳ͍ͱ͍͏ؾ࣋ͪʹͳΔ
• ͜ͷʹ͍Ζ͍Ζ͍͔ͬͨ͡ΒɺͳΜ͔յΕΔ͔ ͱ͍͏ͷ͕ڞ༗͞ΕͯΔ • ීஈͷ։ൃதʹΖ͏ͱ͢Δͱɺͬͱ͘͢͝৻ॏʹਐΊΔඞཁ͕ ͋Δ • ʮ͋ͷਓෛ࠴͍Ζ͍Ζฦͯ͠Δ͚ͲɺՌग़ͯ͠ ͳ͍ʯΈ͍ͨʹͳΒͳ͍ ෛ࠴ฦࡁͷ͍͍ͱ͜Ζ
©2018 Wantedly, Inc. • ීஈผʑʹ։ൃ͍ͯ͠ΔνʔϜͷԣͷίϛϡχ έʔγϣϯͷػձʹͳΔ • ීஈ͕ࣗ৮Βͳ͍ൣғؚΊɺίʔυϕʔε શମΛϝϯςφϯε͍ͯ͘͠ҙ͕ࣝੜ·ΕΔ ෛ࠴ฦࡁͷ͍͍ͱ͜Ζ
©2018 Wantedly, Inc. • ύοέʔδͷΞοϓσʔτ • ෛ࠴ฦࡁͷதͰ༏ઌ͕͘ͳΓ͕ͪ • ෛ୲ΛݮΒͨ͢Ίʹ Dependabot
Λಋೖͯ͠ ि࣍൪੍ʹ͢Δఆணͤͣ ͏·͘Ͱ͖͍ͯͳ͍ͱ͜Ζ
©2018 Wantedly, Inc. • Gem ʢݱঢ়ʣશ෦ΔͷఘΊ͍ͯΔ • ඞཁʹͳͬͨͱ͖ʹΔ • ηΩϡϦςΟΞοϓσʔτऔΓࠐΉ
• npm ύοέʔδ࠷৽ʹै͍͖͍ͯͨ͠… • ಛʹ React पΓͱ͔ • ࠷ۙϑϩϯτΤϯυपΓͷج൫Λ͑Δઐͷ ϝϯόʔ͕Ͱ͖ͨͷͰظʂ ύοέʔδͷΞοϓσʔτ
©2018 Wantedly, Inc. • ࡉΕʹͰ͖ΔͳΒࡉΕʹ • ཻ͕େ͖͘ɺ͔ͭॏཁͳͷϓϩδΣΫτ ͱͯ͠εέδϡʔϧʹΈࠐΜͰΔ • େ͖ͳͦͦԿ͕ͳͷ͔ͷ
نΛௐΔͱ͜Ζ͔Β࢝ΊΔඞཁ͕͋Δ • ͦͷ࡞ۀΛෛ࠴ฦࡁʹΔ͜ͱ͋Δ 1ͰΓ͖Εͳ͍λεΫ͕Ͱ͖ͳ͍ʁ
©2018 Wantedly, Inc. • 1લʹ 4.1 => 5.0 ʹ্͛ͨ •
4ܥʹ্͛ͨͷ2014 • ґଘ gem ͷΞοϓσʔτͳͲࡉ͔͍࡞ۀ ਓͰࣄલʹ • ਓख͕ඞཁͳ࡞ۀνʔϜશһͰ͕ͬͱͬͨ • Breaking changesɺdeprecation warning ରԠ • ςετΛͻͨ͢Β௨ΔΑ͏ʹ͍ͯ͘͠ • etc. Rails ΞοϓάϨʔυ
ؾ߹͍ͰΓͬͨ…͕ɺ
©2018 Wantedly, Inc. • 50ਓ͘Β͍͔͔ͬͨ • ఆͷഒҎ্ • ϝδϟʔόʔδϣϯΛ্͛Δͷɺ͕ͬͱΔ ʹ͠ΜͲ͍ίʔυྔʹ
• ࠓෛ࠴ฦࡁʹͰ͖ΔλεΫΛͪΐͪ͜ΐ͜ ਐΊ͍ͯΔ ఆҎ্ʹେมͩͬͨ
©2018 Wantedly, Inc. • ͘αʔϏεΛ։ൃ͠ଓ͚Δʹɺίʔυϕʔ εͷ݈શੑͱ։ൃͷੜ࢈ੑΛอ͍ͬͯ͘͜ͱ͕ ඞཁ • ͱ͍͑KPIେࣄͳͷͰɺීஈͳ͔ͳ͔࣌ؒ ͕औΕͳ͍
• ʮෛ࠴ฦࡁʯͱ͍͏ઐ༻ͷΛઃ͚ͯɺूத తʹऔΓΉΑ͏ʹ͍ͯ͠Δ ·ͱΊ
©2018 Wantedly, Inc. • ઐ༻ͷΛઃ͚Δ͜ͱͰɺͦΕҎ֎ͷ αʔϏεΛ৳ͨ͢Ίͷ։ൃʹूதͰ͖Δ • νʔϜશһͰಉ͡ʹऔΓΉ͜ͱͰɺίϛϡ χέʔγϣϯऔΓ͍͢͠ɺใݟڞ ༗͍͢͠
• ීஈผʑʹ։ൃ͍ͯ͠ΔϝϯόʔɺνʔϜ ͰҰͭͷαʔϏεΛҡ͍࣋ͯ͘͠ͱ͍͏ҙ͕ࣝ ੜ·ΕΔ ·ͱΊ
એ Wantedly ͰϛʔτΞοϓ͕࡞ΕΔΑ͏ʹͳΓ·ͨ͠ʂษڧձͱ͔ʹͬͯͶʂ www.wantedly.com/meetups