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.9k
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
権限と承認 〜ユーザー信頼性に繋がる管理画面の根幹について〜
timakin
0
530
Go Backends for frontends with GraphQL and gRPC
timakin
6
4.1k
Design Pattern for Image and Text Composition in Go
timakin
5
6.7k
Golang API Testing the HARD way
timakin
13
6.8k
Head First Golang Image Package
timakin
2
10k
React Native Beyond Prototype
timakin
2
1.7k
Performance Optimization on Google AppEngine
timakin
5
6.4k
testcache.pdf
timakin
1
160
How Go cache
timakin
1
100
Other Decks in Programming
See All in Programming
ゼロダウンタイムでミドルウェアの バージョンアップを実現した手法と課題
wind111
0
170
What’s Fair is FAIR: A Decentralised Future for WordPress Distribution
rmccue
0
180
Chart.jsで長い項目を表示するときのハマりどころ
yumechi
0
110
ノーコードからの脱出 -地獄のデスロード- / Escape from Base44
keisuke69
0
710
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
550
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
6
1.2k
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
2
1.6k
Register is more than clipboard
satorunooshie
1
480
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
160
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
410
Promise.tryで実現する新しいエラーハンドリング New error handling with Promise try
bicstone
3
460
モビリティSaaSにおけるデータ利活用の発展
nealle
0
400
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
670
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Optimizing for Happiness
mojombo
379
70k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
For a Future-Friendly Web
brad_frost
180
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
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 ͦͦϢʔβʔମݧ͕վળ͠ͳ͍ػೳΛϦϦʔε͠ͳͯ͘ ࡁΉɻ։ൃऀͱϢʔβʔํ͕ϋοϐʔʹͳΕΔɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ