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.8k
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
4k
Design Pattern for Image and Text Composition in Go
timakin
5
6.7k
Golang API Testing the HARD way
timakin
13
6.7k
Head First Golang Image Package
timakin
2
10k
React Native Beyond Prototype
timakin
2
1.6k
Performance Optimization on Google AppEngine
timakin
5
6.3k
testcache.pdf
timakin
1
150
How Go cache
timakin
1
89
How Go cache tests
timakin
1
3.1k
Other Decks in Programming
See All in Programming
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
660
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
350
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
20
3.8k
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
390
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
260
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
2
210
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
280
GoのGenericsによるslice操作との付き合い方
syumai
3
710
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
390
#QiitaBash MCPのセキュリティ
ryosukedtomita
0
530
VS Code Update for GitHub Copilot
74th
1
520
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
360
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
How STYLIGHT went responsive
nonsquared
100
5.6k
Embracing the Ebb and Flow
colly
86
4.7k
A designer walks into a library…
pauljervisheath
207
24k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Designing for Performance
lara
609
69k
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 ͦͦϢʔβʔମݧ͕վળ͠ͳ͍ػೳΛϦϦʔε͠ͳͯ͘ ࡁΉɻ։ൃऀͱϢʔβʔํ͕ϋοϐʔʹͳΕΔɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ