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
A/Bテスト機構がもたらす 大胆な開発体制及び ゆるやかなアプリ体験の変化 / Archite...
Search
Seiji Takahashi
February 01, 2018
Programming
4
7.7k
A/Bテスト機構がもたらす 大胆な開発体制及び ゆるやかなアプリ体験の変化 / Architecture and benefits of AB-test allocation system.
presentation @yahoo, Bonfire API#1.
Seiji Takahashi
February 01, 2018
Tweet
Share
More Decks by Seiji Takahashi
See All by Seiji Takahashi
Go Backends for frontends with GraphQL and gRPC
timakin
6
3.9k
Design Pattern for Image and Text Composition in Go
timakin
5
6.6k
Golang API Testing the HARD way
timakin
13
6.5k
Head First Golang Image Package
timakin
2
10k
React Native Beyond Prototype
timakin
2
1.6k
Performance Optimization on Google AppEngine
timakin
5
6.2k
testcache.pdf
timakin
1
140
How Go cache
timakin
1
78
How Go cache tests
timakin
1
3k
Other Decks in Programming
See All in Programming
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.3k
AI Agentを利用したAndroid開発について
yuchan2215
0
190
JavaOne 2025: Advancing Java Profiling
jbachorik
1
290
❄️ NixOS/nixpkgsにSATySFiサポートを実装する
momeemt
2
170
「その気にさせる」エンジニアが 最強のリーダーになる理由
gimupop
3
440
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
130
ローコードサービスの進化のためのモノレポ移行
taro28
1
310
requirements with math
moony
0
490
英語文法から学ぶ、クリーンな設計の秘訣
newnomad
1
260
ベクトル検索システムの気持ち
monochromegane
1
510
PHPのガベージコレクションを深掘りしよう
rinchoku
0
220
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
2
700
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Automating Front-end Workflow
addyosmani
1369
200k
It's Worth the Effort
3n
184
28k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
4 Signs Your Business is Dying
shpigford
183
22k
The Invisible Side of Design
smashingmag
299
50k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
Why Our Code Smells
bkeepers
PRO
336
57k
Being A Developer After 40
akosma
89
590k
Into the Great Unknown - MozCon
thekraken
35
1.7k
Code Review Best Practice
trishagee
67
18k
Transcript
"#ςετػߏ͕ͨΒ͢ େͳ։ൃମ੍ٴͼ ΏΔ͔ͳΞϓϦମݧͷมԽ #POpSF"1* גࣜձࣾ(VOPTZ ৽نࣄۀ։ൃࣨΤϯδχΞ 4FJKJ5BLBIBTIJ !@@UJNBLJO@@
Seiji Takahashi ͪ·͖Μ @__timakin__ • Career • DeNA •
Platform Development • Serverside Engineering (Perl) • Translimit • Game Development: Craft Warrirors • Game Client Side (Cocos-2dx, C++) • Gunosy • Application Dev: LUCRA • Serverside Engineering (Go) • iOS Client Side (Swift) • Engieering • Language: Go (Contributed), Swift • Platform: GAE, AWS
None
ΞδΣϯμ w "#ςετͱ w ͲΜͳ"#Λ͢Δ͔ w "#ج൫ w "#͕։ൃମ੍ɾΞϓϦମݧʹͨΒ͢͜ͱ
ΞδΣϯμ w "#ςετͱ w ͲΜͳ"#Λ͢Δ͔ w "#ج൫ w "#͕։ൃମ੍ɾΞϓϦମݧʹͨΒ͢͜ͱ
"#ςετͱʁ ࢪࡦͷଥੑɺԾઆΛݕূ͢ΔͨΊʹɺ ϢʔβʔΛαϯϓϦϯάͯ͠ɺ 6*ͳ͍͠σʔλͷมߋͳͲͷ ӨڹΛςετ͢Δͭ
"#ςετͷҙ ݁Ռʹରͯ͠ɺ૬ޓ࡞༻Λ࣋ͬͯ͠·͏Α͏ ͳςετಉ࣌ฒߦͰΒͤͯμϝ FY νϡʔτϦΞϧͷϑϩʔΛՃ͢ΔςετΛ͢Δͱ͖ʜ ؾʹͳΔΧςΰϦͷબͱɺ ϑΥϩʔ͍ͨ͠ഔମͷબͳͲΛಉ࣌ʹߦΘͤΔͱɺ લͷೖྗʹҾ͖ͣΒΕͯޙͷબ͕มΘͬͯ͠·͏ɻ
"#ςετͷҙ ࢪࡦҎ֎ͷཁҼʹΑͬͯ,1*͕ ্Լ͍ͯ͠ͳ͍͔ ""ςετ Ϣʔβʔ͕গͳ͘ɺࣈ͕όϥ͖ͭқ͍࣌ɺ ςετҎ֎ͷཁҼʹΑͬͯ݁Ռ্͕Լ͢ΔՄೳੑ͕͋Δɻ ࣮ࡍʹػೳ͕ಋೖ͞ΕΔલʹɺରϢʔβʔͷߦಈܭଌΛ ͓͍ͯͯ͠ɺςετҎ֎ͷཁҼͷӨڹ͕΄΅ͳ͍͜ͱΛ֬ೝ͢Δɻ
ΞδΣϯμ w "#ςετͱ w ͲΜͳ"#Λ͢Δ͔ w "#ج൫ w "#͕։ൃମ੍ɾΞϓϦମݧʹͨΒ͢͜ͱ
࣮ࡍͷ"#ςετྫ w 1VTI৴ճௐςετ w σΠϦʔͷ1VTI৴ճͲΕ͘Β͍͕Ұ൪ܧଓʹޮ͍ ͯ͘Δͷ͔ w dճͷϨϯδͰଧ͚ͪ
࣮ࡍͷ"#ςετྫ w ΧςΰϦهࣄදࣔग़͠Θ͚ w ৽نϢʔβʔ͚Φεεϝهࣄ w هࣄͷߋ৽࣌ͷ w ಛఆΧςΰϦͷهࣄΛଟΊʹΦεεϝʹදࣔ
࣮ࡍͷ"#ςετྫ w ݕࡧ݁Ռιʔτػೳ w ٻΊΔใΛΑΓಘ͘͢͢ΔιʔτػೳΛ࣮͢Δ͜ͱͰɺ ݕࡧ69ͷ্ɺͻ͍ͯܧଓଞߦಈΛଅਐ͢Δ͔ w Φεεϝݹ͍৽͍͠ݕࡧϫʔυͱͷϚον߹͍ͳͲͰ ݕࡧ݁ՌΛιʔτՄೳʹ͢ΔόʔΛදࣔ w
֤બࢶͷબɺճ
ΞδΣϯμ w "#ςετͱ w ͲΜͳ"#Λ͢Δ͔ w "#ج൫ w "#͕։ൃମ੍ɾΞϓϦମݧʹͨΒ͢͜ͱ
"#ج൫ "#"1* NBJO "1* 6TFS%# "#%# ੳج൫ ࣮ࢪج൫
"#ׂΓͯ શମϢʔβʔ "MMPDBUJPO &YQFSJNFOU 7BSJBOU "MMPDBUJPO &YQFSJNFOU 7BSJBOU
"#ׂΓͯ "MMPDBUJPO &YQFSJNFOU 7BSJBOU "MMPDBUJPO શମϢʔβʔͷதͰͷׂɻ "#ςετΛॏෳͳ࣮͘ࢪ͢Δͨ Ίͷάϧʔϐϯάใɻ "MMPDBUJPO*%͕ಉҰͳΒɺ ͦΕʹॴଐ͢Δ"#ςετ
ಉ࣌ʹ࣮ࢪ͢Δ͜ͱ͕Ͱ͖ͳ͍ɻ
"#ׂΓͯ "MMPDBUJPO &YQFSJNFOU 7BSJBOU &YQFSJNFOU "#ςετͦͷͷɻ ྫ͑1VTI৴ճ"#Λ࣮ࢪ ͢ΔͳΒɺͦΕʹඥͮ͘Ұݸͷ &YQFSJNFOU͕࡞ΒΕΔɻ ଞͷ&YQFSJNFOUͱ
ޡೝ͞Εͳ͍Α͏ʹɺ ϥϯμϜͳLFZ͕ৼΒΕΔɻ
"#ׂΓͯ "MMPDBUJPO &YQFSJNFOU 7BSJBOU 7BSJBOU "#ςετέʔεɻ ྫ͑1VTI৴ճ"#Λ࣮ࢪ ͢ΔͳΒɺʮ̍ճʯʮ̎ճʯͳͲ ͷݸผέʔεΛද͢ɻ &YQFSJNFOU͕ϢχʔΫͰ͑͞
͋Εɺ໊લ͕ଞͷ7BSJBOUͱඃͬ ͯͳ͍ͷͰɺIVNBO SFBEBCMFͳLFZΛৼΔɻ
w "MMPDBUF w Ϣʔβʔ*%ΛݩʹIBTIΛੜ͠ɺಉ͡άϧʔϓͷத͔ΒͲ ͷ"#ςετɺςετέʔεΛ࣮ࢪ͢Δ͔ܾΊΔɻ "#ׂΓͯ
None
ΞδΣϯμ w "#ςετͱ w ͲΜͳ"#Λ͢Δ͔ w "#ج൫ w "#͕։ൃମ੍ɾΞϓϦମݧʹͨΒ͢͜ͱ
w ػೳಋೖΛେʹ͢Δ w ϢʔβʔӨڹ͕ඇৗʹେ͖͍ػೳΛϦϦʔε͢Δࡍɺ "#ج൫Λར༻͢Δ͜ͱͰɺ͘͝Ұ෦ͷݶఆ͞Εͨ Ϣʔβʔʹల։Ͱ͖Δ w ݁ՌɺϢʔβʔͷωΨςΟϒӨڹ͕খ͍͞ঢ়ଶͰ େ͖͍ػೳΛϦϦʔεͰ͖ɺϦϦʔεͷ৺ཧোน͕Լ͕Δɻ "#։ൃମ੍ΛͲ͏ม͑Δ͔
w ຊʹޮ͘ࢪࡦΛߟ͑ΔΑ͏ʹͳΔ w ҰݟPSҰฉ͢Δͱө͑ΔػೳɺϦϦʔεͯ͠ޮՌଌఆͨ͠ Βɺ݁Ռతʹ,1*ʹωΨςΟϒʹޮ͍ͯ͠·͏͜ͱɻ w ʹݟ͑ͳ͍ɺϓϩμΫτΛ͏Ϣʔβʔͷϖϧιφ͕ ঃʑʹ໌֬ʹͳ͍ͬͯ͘ͱಉ࣌ʹɺࢪࡦͱͯͨ͠Γқ͍ ͷ͕Կ͔Θ͔ΔΑ͏ʹͳͬͯ͘Δɻ "#։ൃମ੍ΛͲ͏ม͑Δ͔
w ʮյΕͳ͍ΞϓϦʯ͕͑Δ w "#ج൫Λར༻ͨ͠HSBDFGVMͳϦϦʔεϑϩʔʹΑͬͯɺ ΞϓϦ͕ಥΫϥογϡ͢ΔΑ͏ͳػೳଈ࣌"#ׂΓͯ Λఀࢭ͢Δ͜ͱͰඇެ։ʹͰ͖Δɻ w ݁ՌɺϢʔβʔͱͯ͠ͷલͷΞϓϦ͕ΫϦςΟΧϧͳ ʹΑͬͯ͑ͳ͘ͳΔɺͱ͍ͬͨࣄଶ͕গͳ͘ͳΓɺ ҆৺ͯ͠ར༻Ͱ͖Δɻ
"#ΞϓϦମݧΛͲ͏ม͑Δ͔
w ʢશମ࠷దతʹʣೲಘͷߴ͍ػೳ͕͑Δ w ͦͦ,1*ʹޮ͔ͳ͍ɺงғؾΛΑ͘͢Δͱ͍͏رత؍ ଌʹج͍ͮͯػೳΛϦϦʔε͢Δ͜ͱ͕ͳ͍ɻ w ݁ՌɺϢʔβʔͷߦಈ͕ຊʹվળ͞ΕͨػೳɺΞϓϦΛ ͘͏্Ͱେࣄʹͳͬͯ͘Δػೳ͚ͩΛར༻Ͱ͖Δɻ "#ΞϓϦମݧΛͲ͏ม͑Δ͔
·ͱΊ w แؚɾഉଞͷؔΛ໌֬ʹͨ͠ঢ়ଶͰ"#ςετΛ ߦ͏͜ͱɺ҆શͳϦϦʔεϑϩʔΛங্͘Ͱॏཁɻ w ͦͦϢʔβʔମݧ͕վળ͠ͳ͍ػೳΛϦϦʔε͠ͳͯ͘ ࡁΉɻ։ൃऀͱϢʔβʔํ͕ϋοϐʔʹͳΕΔɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ