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
ebisurb20180724.pdf
Search
Kazushige Tominaga
July 25, 2018
1
240
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.6k
[スタディサプリ] Railsアプリケーションのモジュールとして存在していた Darklaunch (Feature Toggles) を Goアプリケーションとしてフルスクラッチでマイクロサービス化した話
kazu9su
0
2.9k
ExplorTechToronto20191016.pdf
kazu9su
0
67
キャッシュ安心戦略 with Feature Toggles
kazu9su
0
550
ポイントで導入するRust
kazu9su
2
8.2k
How to contribute to OSS with test
kazu9su
0
370
プログラミング言語入門Vim編
kazu9su
1
360
プログラミング言語入門
kazu9su
1
2.7k
ebisurb15
kazu9su
0
53
Featured
See All Featured
Embracing the Ebb and Flow
colly
86
4.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
How to Ace a Technical Interview
jacobian
277
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Making Projects Easy
brettharned
116
6.3k
Scaling GitHub
holman
459
140k
It's Worth the Effort
3n
185
28k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
210
The World Runs on Bad Software
bkeepers
PRO
69
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠