Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ebisurb20180724.pdf
Search
Kazushige Tominaga
July 25, 2018
1
250
ebisurb20180724.pdf
ebisurb17 #ebisurb
https://ebisurb.connpass.com/event/93818/
Kazushige Tominaga
July 25, 2018
Tweet
Share
More Decks by Kazushige Tominaga
See All by Kazushige Tominaga
スタディサプリのInternal Platform開発
kazu9su
0
1.7k
[スタディサプリ] Railsアプリケーションのモジュールとして存在していた Darklaunch (Feature Toggles) を Goアプリケーションとしてフルスクラッチでマイクロサービス化した話
kazu9su
0
3.2k
ExplorTechToronto20191016.pdf
kazu9su
0
72
キャッシュ安心戦略 with Feature Toggles
kazu9su
0
560
ポイントで導入するRust
kazu9su
2
8.3k
How to contribute to OSS with test
kazu9su
0
380
プログラミング言語入門Vim編
kazu9su
1
370
プログラミング言語入門
kazu9su
1
2.7k
ebisurb15
kazu9su
0
56
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
What's in a price? How to price your products and services
michaelherold
246
12k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
A better future with KSS
kneath
240
18k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Transcript
$JSDMF$*Ͱ࢝ΊΔςετฒྻԽ
2 ࣗ ݾ հ Fablic, inc. —> Rakuten, inc.
Software Engineer 5PNNZ @tooooooooomy
3 w $JSDMF$*ͷฒྻԽʹؔ͢Δઃఆɾػೳ w .JOJUFTUϋοΫ w ςετґଘੑͷഉআ w ςετ݁Ռͷه w
ฒྻԽͷ݁Ռൺֱ w ൪֎ฤ ͳͥඞཁͳͷ͔Λ͑Δ w ·ͱΊ ࣍
4 લఏ @ਓਓਓਓਓਓਓਓਓਓਓਓ@ ɹ$JSDMF$*Ͱ͢ʂʂʂʂɹʻ ʉ̮̮̮̮̮̮̮̮̮̮̮̮ʉ
$JSDMF$*ͷฒྻԽʹؔ͢Δઃఆɾػೳ
6 $JSDMF$*ͷฒྻԽʹؔ͢Δઃఆɾػೳ ɾฒྻΛࢦఆ
7 $JSDMF$*ͷฒྻԽʹؔ͢Δઃఆɾػೳ ɾ(MPCCJOH5FTU'JMFT w DJSDMFDJUFTUTHMPCίϚϯυͰࢦఆͨ͠ϑΝΠϧΛग़ྗͯ͘͠ΕΔ w ϑΝΠϧຖʺσΟϨΫτϦຖ w σϑΥϧτͰࢦఆ͍ͯ͠ΔQBSBMMFMJTNͰׂͯ͘͠ΕΔ
8 $JSDMF$*ͷฒྻԽʹؔ͢Δઃఆɾػೳ ɾ4QMJUUJOH5FTU'JMFT
9 ͜ͷग़ྗ݁ՌΛTQMJUUJOHίϚϯυʹ͢ $JSDMF$*ͷฒྻԽʹؔ͢Δઃఆɾػೳ ɾ4QMJUUJOH5FTU'JMFT
10 $JSDMF$*ͷฒྻԽʹؔ͢Δઃఆɾػೳ ɾ4QMJUUJOH5FTU'JMFT w σϑΥϧτͰࢦఆ͍ͯ͠ΔQBSBMMFMJTNͰׂͯ͘͠ΕΔ
11 ɾ(MPCCJOH4QMJUUJOH5FTU'JMFT $JSDMF$*ͷฒྻԽʹؔ͢Δઃఆɾػೳ
.JOJUFTUϋοΫ
13 .JOJUFTUϋοΫ .JOJUFTUʹϑΝΠϧΛෳࢦఆ࣮ͯ͠ߦͰ͖ΔΦϓγϣϯ͕ͳ͍ʜ
14 .JOJUFTUϋοΫ .JOJUFTUʹϑΝΠϧΛෳࢦఆ࣮ͯ͠ߦͰ͖ΔΦϓγϣϯ͕ͳ͍ʜ @ਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓ@ ɹෳࢦఆͰ͖ΔΑ͏ʹ֦ு͢Δɹʻ ʉ̮̮̮̮̮̮̮̮̮̮̮̮̮̮̮̮ʉ
15 .JOJUFTUϋοΫ w 3BLFGJMFΛ࡞UFTUJOHSBLFͱ͔ͷ໊લͰอଘ w ͜ΕͰSBLFUFTUDJSDMFIPHF@UFTUSCGVHB@UFTUSCͷΑ͏ͳࢦఆ͕Մೳ
ςετґଘੑͷআ
17 ςετґଘੑͷআ w 5JNFDPQSFUVSOΕ 5JNFDPQGSFF[Fͯ͠SFUVSO͠ΕͯΔ͚Ͳશମͱͯ͠Ͳ͔͜ͰSFUVSO͍ͯͯ͠ ཱ͍ͯ͠Δ
18 ςετґଘੑͷআ w ҙ֎ʹ͜Ε͚ͩͩͬͨʜ
19 ςετґଘੑͷআ w ൪֎ฤ w ͕࣌ؒϛϦඵͣΕΔΈ͍ͨͳςετ͕ͨ·ʹམͪͯ5JNFDPQؔ࿈ͩͱࢥͬͯ ͨΒݟͯΔΧϥϜҧͬͨͷ͋Γ·ͨ͠
20 ςετґଘੑͷআ w ͓·͚ σόοά w DJSDMFDJUFTUTHMPCUFTU @UFTUSC]DJSDMFDJUFTUTTQMJUͷ݁Ռ࣮ ߦ͢ΔςετҰཡͳͷͰɺ݁ՌΛDJSDMFDJ্ͰFDIPͯ͠ҰཡΛόΠφϦαʔ
ν͍ͯ͘͠ͱศར
ςετ݁Ռͷه
22 ςετ݁Ռͷه w ςετ݁ՌΛه͢Δͱʜ w ςετϑΝΠϧׂʹUJNJOHͱ͍͏Φϓγϣϯ͕͑Δ w ࣮ߦ࣌ؒͰ͍͍ײ͡ʹׂͯ͘͠ΕΔ w $JSDMF$*ͷJOTJHIUTͰ͍ςετɺΑࣦ͘ഊ͢ΔςετΛදࣔ͢ΔΑ͏ʹͳΔ
23 ςετ݁Ռͷه w +6OJUGPSNBUUFSTΛಋೖ
24 ςετ݁Ռͷه w UFTU@IFMQFSSC w ඞਢϥΠϒϥϦͷSFRVJSF w SFQPSU@EJS ςετ͕อଘ͞ΕΔσΟϨΫτϦ Λࢦఆ
25 ςετ݁Ռͷه w 3TQFDͷ߹ɺίϚϯυͷҾʹΦϓγϣϯΛࢦఆ w ͨͩ͠ɺSBLFλεΫͷςετΛߦ͍ͬͯΔ߹Φϓγϣϯ͕ڝ߹ͯ͠ςετࣦഊ͢ Δ߹͕͋Δ w ͦͷ߹ɺSTQFDϑΝΠϧʹઃఆΛॻ͖ग़ͯ͠ಡΈࠐ·ͤΔ
26 ςετ݁Ռͷه w DJSDMFDJDPOGJHZNMͰTUPSF@UFTU@SFTVMUTΛઃఆ w QBUIҎԼͷςετ݁Ռ͕อଘ͞Εɺ࣍ճҎ߱ͷςετ࣮ߦ࣌ʹ༻͞ΕΔ w TUPSF@UFTU@SFTVMUT
27 ςετ݁Ռͷه w DJSDMFDJDPOGJHZNMͰTUPSF@UFTU@SFTVMUTΛઃఆ w QBUIҎԼͷςετ݁Ռ͕อଘ͞Εɺ࣍ճҎ߱ͷςετ࣮ߦ࣌ʹ༻͞ΕΔ w TUPSF@UFTU@SFTVMUT ҙ ͜͜ʹڥม͑ͳ͍Α͏Ͱ͢
28 ςετ݁Ռͷه w DJSDMFDJDPOGJHZNM
29 ςετ݁Ռͷه w DJSDMFDJDPOGJHZNM
30 ςετ݁Ռͷه w DJSDMFDJDPOGJHZNM
31 ςετ݁Ռͷه w DJSDMFDJDPOGJHZNM
32 ςετ݁Ռͷه
33 ςετ݁Ռͷه
34 ςετ݁Ռͷه ศར
ฒྻԽͷ݁Ռൺֱ
36 ฒྻԽͷ݁Ռൺֱ • ճ ݱঢ়ҡ࣋ • ճ
վળݟΒΕͳ͔ͬͨ • ճ ͷվળ͕ݟΒΕͨ • ճ ࣦഊ͢Δͱ͜ΖʹͳΜΒ͔ͷґଘ͕͋Δ͔͠Εͳ͍ͷͱɺ͕શ͘վળ͞Ε͍ͯͳ ͍ • ճ ճͱൺͯݦஶͳ݁ՌಘΒΕͳ͔ͬͨɻ
37 ฒྻԽͷ݁Ռൺֱ w ߟ w ฒྻͰ̑΄Ͳͷվળ͕ݟΒΕͨͷͰͬͨҙຯ͕͋ͬͨ w ҰํͰ·ͰฒྻΛ૿ͯ͠ɺʹݟ͑ΔվળݟΒΕͳ͔ͬͨ w ϫʔετέʔεʹҾͬுΒΕΔͷͰɺҰఆҎ্ͷՌΛٻΊΔ߹ฒྻ
Λϫʔετέʔε͕࠷খͱͳΔ·Ͱ૿͢ඞཁ͕͋Δ w حճͷฒྻԽͰςετ͕ࣦഊ͢Δ͜ͱ͕ଟ͔ͬͨ ݪҼະٻ
ͳͥඞཁͳͷ͔Λ͑Δ
39 ൪֎ฤ ͳͥඞཁͳͷ͔Λ͑Δ ͕Μͬͯઆ໌ͯ͠ΈΔ w $JSDMF$*ίϯςφͷίετ͕͔͔Δ w ฒྻԽ͢Δͱ༻ίϯςφ্͕ΔͷͰɺ͓͕͔͔ۚΔ w ༧ࢉΛ͍࣋ͬͯΔͷΤϯδχΞͰͳ͍͜ͱଟ͍ͷ
w ͱ͍͏͔ΤϯδχΞͰԿ͕Ͳ͏ͳͬͯΔ͔Γ͍ͨ
40 ൪֎ฤ ͳͥඞཁͳͷ͔Λ͑Δ w લఏ w $*ͱ $*ίʔυΛຊ൪ʹσϓϩΠ͢Δલʹɺҙਤͨ͠ڍಈ͢Δ͔ΛࣗಈͰςετ͢ΔΈ w $JSDMF$*ͱ
IUUQTDJSDMFDJDPN $*Λ࣮ߦͯ͘͠ΕΔαʔϏεɻಉ࣌ʹ࣮ߦͰ͖Δςετ ίϯςφ Λ૿͢ͱ͓͕͔͔ۚΔ ݱঢ়ίϯςφͰӡ༻͍ͯ͠Δ ίϯςφΛ͑Δςετ࣮ߦཁٻ͕͋Δͱɺͪঢ়ଶʹͳΔɻ લͷςετ͕ऴΘΔ·Ͱͭ w ςετͷฒྻ࣮ߦͱ ݱࡏɺϥΫϚͷςετ࠷ॳ͔Β࠷ޙ·ͰΖ͏ͱ͢Δͱ࠷Ͱڧ͔͔Γ·͢ɻ ͦΕͰ͕͔͔࣌ؒΓ͗͢ΔͷͰɺׂͯ͠ςετΛ࣮ߦ͢Δ ฒྻ࣮ߦ ͜ͱͰςετ࣌ؒΛॖ͍ͯ͠·͢ w ίϯςφΛ૿͢ͱΑ͘ͳͳΔ͜ͱ ಉ࣌ʹ࣮ߦͰ͖Δςετ͕૿͑ͯɺΤϯδχΞ͕༡ΜͰ͍Δ ςετͷྃΛ͍ͬͯΔ ͕࣌ؒগͳ͘ͳΔɻ
41 ൪֎ฤ ͳͥඞཁͳͷ͔Λ͑Δ w Δ͜ͱݟੵΓ w ࣌ؒͷ͔͔͍ͬͯΔςετͷฒྻΛ্͛Δ ݱࡏɺฒྻͰ࣮ߦ͍ͯ͠ΔςετΛฒྻͰ࣮ߦ͢Δ͜ͱͰɺ ˠͰͷվળ͕ظ͞Ε·͢ɻ Ұฏۉ_ճ࣮ߦ͞Ε͍ͯΔͷͰɺ
ͷ ༡ΜͰ͍Δ࣌ؒ ͕ݮ͞Ε·͢ɻ w ݄͕NJOʷͳͷͰ)݄ݮͰ͖·͢ w ʢ૿Ճֹʣʸ) w ͭ·Γԁ࣌ w ͓ಘ w ͞Βʹ͕͍ͪ࣌ؒͷͰίϯςΩετεΠονͷίετ͕͍ʂ
42 ·ͱΊ w ςετͷӅΕͨґଘੑΛऔΓআ͘ w .JOJUFTUͰෳϑΝΠϧΛࢦఆ࣮ߦͰ͖ΔΑ͏ʹ͢Δ w ςετ݁ՌΛอଘͯ͠վળ࣮ߦʹ׆͔͢ w ޮՌΛ͑ͯ༧ࢉΛؾ࣋ͪΑ͘ग़ͯ͠Β͏
43 ͓ؾ࣋ͪ
44 ࢀߟ w IUUQTDJSDMFDJDPNEPDTQBSBMMFMJTNGBTUFSKPCT w IUUQTDJSDMFDJDPNEPDTDPMMFDUUFTUEBUB w IUUQTDJSDMFDJDPNEPDTJOTJHIUT w IUUQTTUBDLPWFSGMPXDPNRVFTUJPOTIPXUPSVONVMUJQMFSBJMTVOJUUFTUT
BUPODF w IUUQTHJUIVCDPNTKSTQFD@KVOJU@GPSNBUUFS w IUUQTHJUIVCDPNDJSDMFDJNJOJUFTUDJ
એ
46 3BLVUFOͰΤϯδχΞΛੵۃ࠾༻தʂ
47 એ w BTBLVTBWJN IUUQTBTBLVTBWJNDPOOQBTTDPNFWFOU
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠