$30 off During Our Annual Pro Sale. View Details »
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
590
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
170
How Go cache
timakin
1
110
Other Decks in Programming
See All in Programming
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
3
1.2k
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
11
3.9k
関数実行の裏側では何が起きているのか?
minop1205
1
600
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
400
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
210
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1k
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
18k
開発に寄りそう自動テストの実現
goyoki
1
450
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
150
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
270
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
300
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
5
270
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Optimizing for Happiness
mojombo
379
70k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Embracing the Ebb and Flow
colly
88
4.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
A Modern Web Designer's Workflow
chriscoyier
697
190k
How STYLIGHT went responsive
nonsquared
100
5.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.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 ͦͦϢʔβʔମݧ͕վળ͠ͳ͍ػೳΛϦϦʔε͠ͳͯ͘ ࡁΉɻ։ൃऀͱϢʔβʔํ͕ϋοϐʔʹͳΕΔɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ