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
ebisurb20180724.pdf
Search
Kazushige Tominaga
July 25, 2018
270
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ebisurb20180724.pdf
ebisurb17 #ebisurb
https://ebisurb.connpass.com/event/93818/
Kazushige Tominaga
July 25, 2018
More Decks by Kazushige Tominaga
See All by Kazushige Tominaga
スタディサプリのInternal Platform開発
kazu9su
0
3.6k
[スタディサプリ] Railsアプリケーションのモジュールとして存在していた Darklaunch (Feature Toggles) を Goアプリケーションとしてフルスクラッチでマイクロサービス化した話
kazu9su
0
5.1k
ExplorTechToronto20191016.pdf
kazu9su
0
89
キャッシュ安心戦略 with Feature Toggles
kazu9su
0
590
ポイントで導入するRust
kazu9su
2
8.4k
How to contribute to OSS with test
kazu9su
0
400
プログラミング言語入門Vim編
kazu9su
1
380
プログラミング言語入門
kazu9su
1
2.8k
ebisurb15
kazu9su
0
65
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
480
Scaling GitHub
holman
464
140k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
550
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How STYLIGHT went responsive
nonsquared
100
6.3k
Google's AI Overviews - The New Search
badams
0
1.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Building an army of robots
kneath
307
46k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
830
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠