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
GraphQLとの向き合い方2022年版
quramy
48
14k
A designer walks into a library…
pauljervisheath
207
24k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Why Our Code Smells
bkeepers
PRO
337
57k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Become a Pro
speakerdeck
PRO
28
5.4k
We Have a Design System, Now What?
morganepeng
53
7.7k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠