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
Repro
Search
jollyjoester
December 07, 2016
Programming
0
1.2k
Repro
モバイルアプリの課題の発見から解決の方法までをワンストップで提供するサービス
jollyjoester
December 07, 2016
Tweet
Share
More Decks by jollyjoester
See All by jollyjoester
コミュニティMTG in WWDC24
jollyjoester
0
130
BengaluruでLTしてきた
jollyjoester
0
210
try! Swift Tokyo 2024
jollyjoester
0
170
エンジニアが直接会う場の価値について
jollyjoester
8
3.9k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
220
My favorite sessions in WWDC 23
jollyjoester
0
500
みんなでAIと戯れよう
jollyjoester
0
60
続く勉強会の作り方
jollyjoester
1
730
Code for INZAIの歩み
jollyjoester
0
280
Other Decks in Programming
See All in Programming
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
140
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
770
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
CSC307 Lecture 10
javiergs
PRO
0
310
実用的かつリーズナブルな 「Azure × Gemini × LINE」~キャラクターBot 実装ライブデモ~
tomodo_ysys
1
170
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
Terraformテスト入門
msato
0
530
TiDB Serverless ~理想のServerless DBを考える~
soso_15315
1
160
Featured
See All Featured
Designing for Performance
lara
604
67k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
Faster Mobile Websites
deanohume
303
30k
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
We Have a Design System, Now What?
morganepeng
46
7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
Transcript
ϞόΠϧΞϓϦͷ՝ͷൃݟ͔Β ղܾͷํ๏·ͰϫϯετοϓͰఏڙ͢ΔαʔϏε
2 ਖ਼ࣜϦϦʔε 2015.4.22
3 ʑͷίϯςετड࣮
4 ϝσΟΞӡӦ άϩʔεϋοΫδϟʔφϧ
5 3ԯԁͷࢿۚௐୡͱଟ͘ͷΞοϓσʔτ 2016.3.7
6 ಋೖΞϓϦ 2015/4/22 ݱࡏ 2,000
7 ༷ʑͳΞϓϦͷάϩʔεϋοΫʹߩݙ
ReproͰ͡ΊΔ ΞϓϦͷάϩʔεϋοΫ
αʔϏεʹؔΘ͍ͬͯͯ͜Μͳ ͜ͱʹΜͰ͍·ͤΜ͔ʁ ?
Ϣʔβʔ͕ͳ͔ͳ͔ఆணͯ͘͠Εͳ͍ ίϯόʔδϣϯϨʔτ͕ͳ͔ͳ্͔͕Βͳ͍
None
ϚʔέςΟϯά ఆྔੳ ఆੑੳ ߦಈσʔλ ߦಈσʔλ
ReproΛͬͯͲ͏αʔϏεΛͤ͞Δͷʁ
ϚʔέςΟϯάɾΞϓϩʔν վળɾΞϓϩʔν
ϚʔέςΟϯάɾΞϓϩʔν վળɾΞϓϩʔν
վળɾΞϓϩʔν Ϧςϯγϣϯੳ ͰϚδοΫφϯόʔΛಛఆ ϑΝωϧੳ ͰՕॴΛಛఆ ಈը ͰՕॴͷ ݪҼΛಛఆɾվળ # %
≤ * ab n√a ± ≠ x f (x)
ϚδοΫφϯόʔͬͯͳʹʁ # % ≤ * ab n√a ± ≠ x
f (x)
ϚδοΫφϯόʔͱ ৽نϢʔβʔʹମݧͤ͞Δ͜ͱͰ ͦͷޙͷܧଓ͕ܶతʹ্͕Δ Ϣʔβʔߦಈ ճ
৽نϢʔβʔ Ϧϐʔλʔ add refresh 5ਓϑΥϩʔ νϡʔτϦΞϧྃ Ϣʔβใొ πΠʔτ͢Δ TwitterࣾͷϚδοΫφϯόʔ
Twitterࣾͷվળࣄྫ
ReproͰͲ͏ͬͯ ϚδοΫφϯόʔΛಛఆ͢Δͷʁ # % ≤ * ab n√a ± ≠
x f (x)
Ϧςϯγϣϯੳ Ϧςϯγϣϯੳͱɺ ฏͨ͘ݴ͑ ʮ࣌ؒͷܦաʹ͏ϢʔβʔͷఆணʯΛՄࢹԽ͢Δੳํ๏Ͱ͢ɻ ΞϓϦΛͬͯ͘Β͏ͨΊ ʹɺॳճΞΫηε͔Β̏ޙʹ ΞϓϦΛ্ཱͪ͛ͨϢχʔΫ Ϣʔβʔ̋ˋͰɺ̓ޙ… ͱ͍͏͜ͱΛੳͰ͖·͢ɻ
ઃఆͨ͠Ϣʔβʔߦಈ ΛҰཡͰࣗಈදࣔ Πϕϯτͷ࣮ߦ ճΛબ
None
3
վળɾΞϓϩʔν Ϧςϯγϣϯੳ ͰϚδοΫφϯόʔΛಛఆ ϑΝωϧੳ ͰՕॴΛಛఆ ಈը ͰՕॴͷ ݪҼΛಛఆɾվળ # %
≤ * ab n√a ± ≠ x f (x)
None
ϑΝωϧੳ ϑΝωϧੳͱɺΞϓϦىಈͳͲಛఆͷΠϕϯτ͔Βతୡ·Ͱ ͷ֤ϓϩηεͰɺΛѲ͢Δੳख๏Ͱ͢ɻ ୯७ͳίϯόʔδϣϯϨʔτͩ ͚Ͱͳ͘ɺΧʔτʹཉ͍͠ ͷΛೖΕ͕ͨɺܾࡁ͠ͳ͔ͬ ͨɻήʔϜͷνϡʔτϦΞϧ ಥഁͯ͠ɺεςʔδ̏·ͰΫϦ ΞΛͨ͠ਓ˓ˋͰ͋ͬͨɻͳ Ͳͷੳ͕ՄೳͰ͢ɻ
ϑΝωϧੳͱఆੑੳͰΞϓϦΛվળ ϚδοΫφϯόʔΠϕϯτ લΠϕϯτ લʑΠϕϯτ લʑલΠϕϯτ ͜ͷϢʔβͷ ߦಈΛಈըͰੳ
ϚʔέςΟϯά ఆྔੳ ఆੑੳ ߦಈσʔλ ߦಈσʔλ
1
1
1
ϚʔέςΟϯάɾΞϓϩʔν վળɾΞϓϩʔν
վળɾΞϓϩʔν ϚʔέςΟϯάɾΞϓϩʔν
Repro͕ఏڙ͢ΔϚʔέςΟϯάػೳͱׂ ΞϓϦϝοηʔδ ίϯόʔδϣϯϨʔτ վળʹޮՌత ϓογϡ௨ ϦςϯγϣϯϨʔτ վળʹޮՌత
ैདྷܕͷϝοηʔδ৴ͷ՝ A A A Ϣʔβʔશһʹ ಉ͡ϝοηʔδ ΛҰ੪৴
Ұ੪৴ΞϯΠϯετʔϧʹͭͳ͕Δ ௨͕ݪҼͰΞϯΠϯετʔϧ ͨ͜͠ͱ͕͋Γ·͔͢ʁ ? ͳ͍ 69% ͋Δ 31% શମ31%ͷϢʔβʔ͕ɺϓογϡ௨Λཧ༝ ʹΞϓϦΛΞϯΠϯετʔϧΛܦݧɻ
A ΞϯΠϯετʔϧͨ͠ओͳཧ༝ʁ ? ʮසൟʹૹͬͯ͘Δ͔Βʯ͕45.1%ɺ ʮຖճಉ͡ϝοηʔδ͔ͩΒʯ͕37.3%ɻ A 0 12.5 25 37.5 50 ϓογϡ௨͕ຖճಉ͡ϝοηʔδ͔ͩΒ සൟʹૹͬͯ͘Δ͔Β ૹͬͯΔ͕࣌ؒෆຬͨ͏͔ͩΒ ϝοηʔδʹڵຯ͕Θ͔Βͳ͍͔Β ΞϓϦΛར༻͠ͳ͘ͳΒ͔ͩΒ ͦͷଞ Ҿ༻ɿAPPBANKʮʲΞϓϦ։ൃऀ͚ʳϓογϡ௨ͷޮՌΛߴΊΔςΫχοΫʯ
Ϣʔβʔͷʹ߹Θͤͨϝοηʔδ৴ A B C
ϚʔέςΟϯά ఆྔੳ ఆੑੳ ߦಈσʔλ ߦಈσʔλ
1
None
None
None
None
None
ੳ݁Ռ͔ΒϢʔβʔΛλʔήςΟϯά Ϣʔβʔ͕ͳ͔ͳ͔ఆணͯ͘͠Εͳ͍ ίϯόʔδϣϯϨʔτ͕ͳ͔ͳ্͔͕Βͳ͍
ಋೖޮՌ
ͦͷଞͷΠϯφοϓ ϚʔέςΟϯάྫ ࣍ճͷҰཡϖʔδ දࣔΛτϦΨʔʹ ҰཡϖʔδΛෳճ ๚ΕͨϢʔβʔ બఆͰ໎͍͕ͪͳϢʔβʔΛ ਓؾϥϯΩϯάϖʔδʹ༠ಋ͢Δ ͜ͱͰɺΞϓϦͷUX͕վળ͠ɺ ఆண্͕
Λ͓໎͍Ͱ͔͢ʁ ಉ͡ΧςΰϦʔͷΛ໎ΘΕ͍ͯΔ ํ͕ߪೖͨ͠ਓؾϥϯΩϯά͕֬ೝͰ ͖·͢ɻࠓ͙͢ϥϯΩϯάΛνΣοΫʂ ·ͩ୳͢ ϥϯΩϯά ΛΧʔτʹೖΕΔ ϘλϯΛτϦΨʔʹ Χʔτʹ͍ΕΔ͕ະߪ ೖͷϢʔβʔ ΧʔτམͪܦݧϢʔβʔʹɺظݶ ͖ϙΠϯτΛ༩͢Δ͜ͱͰɺ ໎͍ڝ߹ൺֱΛ͗ɺίϯόʔ δϣϯ্͕ ̍̌ҎͷܾࡁͰ ˒˒̍̌̌ϙΠϯτGET˒˒ Χʔτʹ͕Ճ͞Ε·ͨ͠ʂ ͙͢ʹܾࡁ͍ͨͩ͘ͱɺࠓͳΒ௨ৗϙ ΠϯτʹՃ͑̍̌̌ϙΠϯτΛϓϨη ϯτʂ͜ͷνϟϯεΛಀ͞ͳ͍ʂ ·ͩങΘͳ͍ ͙͢ʹܾࡁ͢Δ ܾࡁྃΛτϦΨʔʹ ݄ؒͰ1Ҏ্ߪೖΛͨ͜͠ ͱͷ͋ΔϢʔβʔ ෳճߪೖܦݧͷ͋ΔϩΠϠϧ ΧελϚʔʹɺങ͍ޙʹϨ Ϗϡʔ͍ͨͩ͘͜ͱͰɺΞϓϦ ධՁ͕վળ ͝ߪೖ͋Γ͕ͱ͏͍͟͝·͢ʂ ΞϓϦͷ͍উखͳͲԿͰ͔ͨ͠ʁ ্࣭ͷͨΊɺϨϏϡʔධՁʹ͝ڠ ྗ͍ͩ͘͞ɻ͜Ε͔ΒԠԉΑΖ͘͠ ͓ئ͍͠·͢ʂ ·ͩങΘͳ͍ ͙͢ʹܾࡁ͢Δ ΞϓϦϝοηʔδʢϙοϓ ΞοϓʣͷΠϕϯττϦΨʔ Λ׆༻͠ϢʔβʔͷΞϓϦૢ ࡞ͷதͰΑΓޮՌతʹ৴͕ Մೳʹʂ ϑΝʔετ ίϯόʔδϣϯ ϙΠϯτ༩ ϨϏϡʔڠྗͷ͓ئ͍
ͦͷଞͷΠϯφοϓ ϚʔέςΟϯάྫ ࠂ ΞϓϦμϯϩʔυͷཁҼͱ ͳͬͨΩϟϯϖʔϯʹ߹Θͤ ϓογϡ௨ΞϓϦϝο ηʔδΛදࣔ͠ίϯόʔδϣ ϯΞοϓʂ
ಋೖΞϓϦͷޮՌతࣄྫ λΠτϧ ΞϓϦ δϟϯϧ ػೳ ༰ ݁ՌɾޮՌ ϨϏϡʔڠྗͷ͓ئ ͍දࣔͰɺධՁ্ ʹߩݙ
EC KPIੳ× ΞϓϦ ϝοηʔ δ×τϦ Ψʔදࣔ ෳճߪೖ࣮ͷ͋ΔํΛηάϝϯτͯ͠ɺ࣍ճߪೖྃޙʹΞϓ ϦϝοηʔδΛදࣔͤ͞ΔɻͦͷࡍϘλϯΛ̎ͭઃఆ͠ɺߴධՁ ͕Β͑ͦ͏ͳӈϘλϯɺURLεΩʔϜͰAppStoreͷϨχϡʔ ϖʔδඈ͠ɺࠨϘλϯʮΛใࠂ͢Δʯͱ͍͏໊લʹ͠ ͯɺࣗࣾΞϯέʔτʹඈͨ͠ɻ ϩΠϠϧΧελϚʔʹݶఆ͠ɺ͔ͭߪೖޙͱ͍͏ຬײ͕ߴ ·͍ͬͯΔঢ়گͰϨϏϡʔڠྗΛ͓ئ͍͢Δ͜ͱͰɺ˒͕̑ Β͍͘͢ͳΓɺ·ͨຬ͕͍ਓɺࣾϨϏϡʔ ϖʔδͰٵऩͰ͖ͨɻ ΞϓϦϝοηʔδ ͷޮՌΞοϓͰϓϩ ϑΟʔϧใͷొ ্͕ Ϛονϯ ά ΞϓϦ ϝοηʔ δ×ϓο γϡ௨ ϓϩϑΟʔϧใΛॆ࣮ͤ͞Δ͜ͱ͕༗ྉ՝ۚͷϓϩηεͱͯ͠ ॏཁͳ͜ͱ͕Θ͔Γɺొ্ͷͨΊɺΞϓϦϝοηʔδͰొ ͷϝϦοτΛૌٻɺ͞ΒʹΞϓϦϝοηʔδʹηοτ͢ΔλΠ τϧͱɺϓογϡ௨ͷλΠτϧΛಉ͡ʹͨ͠ɻ ϓογϡ௨ΛಡΈ։෧ͨ͠ਓ͕ɺΞϓϦىಈ࣌ʹಉ༷ͷ ༰ͷΞϓϦϝοηʔδΛड͚औΔͨΊɺૂ͍ͱ͢Δίϯ όʔδϣϯ͕7.4ഒΞοϓͨ͠ɻ ϚδοΫφϯόʔ ੳͰUIͷେ෯มߋʹ ޭ ΩϡϨʔ γϣϯɾ ϝσΟΞ Ϧςϯ γϣϯ× Ϣʔβʔ ૢ࡞ಈը ϚδοΫφϯόʔੳͷ݁ՌɺݕࡧػೳΛ2ճҎ্ར༻ͨ͠৽ن ϢʔβʔͷϦςϯγϣϯ͕ߴ͍ࣄ͕Θ͔ΓɺಈըΛݟͨͱ͜Ζݕࡧ ػೳΛݟ͚ͭΔࣄ͕ग़དྷ͍ͯͳ͍Ϣʔβʔ͕ଟ͔ͬͨͨΊݕࡧόʔ Λৗʹ࠷্෦ʹग़͢Α͏ʹUIΛվળͨ͠ɻ ݕࡧػೳΛར༻͢Δ৽نϢʔβʔ2.4ഒɺ7ޙͷϦςϯγϣ ϯ͕40ˋ্ঢͨ͠ɻ ૹྉແྉͷPOPΞο ϓදࣔͰސ٬୯ՁΛ Ξοϓ ίϚʔε ΞϓϦ ϝοηʔ δ×τϦ Ψʔදࣔ ΧʔτʹೖΕͨ͜ͱΛτϦΨʔʹʮʓʓʓԁҎ্ߪೖ͢Δͱૹྉແ ྉʯͷϝοηʔδΛදࣔɻϘλϯʮ͏গ͠ΛݟΔʯʮ͙͢ ʹߪೖखଓ͖ʯͷ2छΛஔͨ͠ɻ ΞϓϦϝοηʔδදࣔରऀͷ͕ɺʮ͏গ͠ ΛݟΔʯͷϘλϯΛԡ͠ങ͍Λܧଓɺސ٬୯Ձ͕ेˋ্ ঢͨ͠ɻ νϡʔτϦΞϧͷߦ ಈ؍ͰUXͷมߋ ήʔϜ Ϣʔβʔ ૢ࡞ಈը νϡʔτϦΞϧૢ࡞࣌ͷಈըΛը͠ɺϖʔδจࣈΛಡΈඈ͞ Εқ͍ՕॴΛൃݟ͠ɺϖʔδΛ2ͭʹׂͨ͠ΓɺจࣈΛݮΒ͢ ͳͷͲͷUXΛվળͨ͠ɻ νϡʔτϦΞϧΛ͔ͬ͠Γ͜ͳͯ͠Β͏͜ͱͰΞϓϦͷཧ ղΛਂ·ͬͨɻ݁Ռ߹උͱ͍ͬͨϢʔβʔͷෳࡶͳߦ ಈΛˋ্ঢͤ͞ɺϦςϯγϣϯΞοϓʹܨ͕ͬͨɻ
Ϣʔβʔͷڹ
ʢגʣϝϧΧϦ ࣥߦһɹদຊཾ༞͞Μ দຊ ཾ༞ ίϗʔτϑΝωϧͷ݁Ռ͔Βͦͷ··Pushͱ͔৴ Ͱ͖Δػೳ͔ͳΓ͔ͭ͑·͢Ͷʔʂ
ኍ ۭ ͓ർΕ༷Ͱ͢ʂ গ͕࣌ؒ͠ܦͬͯ·ͬͨͷͰ͕͢ɺiOS։ൃ͕མͪண͍ͨͷ ಋೖ͖ͤͯ͞·ͨ͠ʂ ΈΜͳײಈ͓ͯ͠Γ·͢ʂ͜Εੌ͍ΞϋମݧͰ͢ʂ ʢגʣϑΝϯίϛϡχέʔγϣϯζ ϝσΟΞࣄۀ෦ ኍۭ͞Μ
ʢגʣϦΫϧʔτΩϟϦΞ εϚʔτσόΠε։ൃάϧʔϓ ാढ़थ͞Μ ാ ढ़थ ࠓ·ͰϢʔβʔϏϦςΟςετΛͨ͠ΓɺUXϧʔϜͰͷϢʔβ ʔͷݕͳͲ৭ʑ͖ͬͯ·͕ͨ͠ɺͳ͔ͳ͔Ϣʔβʔͷ͋ Γͷ··ͷߦಈΛௐΔ͜ͱ͕͍··ͰͰ͖·ͤΜͰͨ͠ɻ Reproࠓ·ͰͷۤΛ؆୯ʹղܾͯ͘͠Ε·ͨ͠ɻॳΊ͔ͯͭ ͬͨͱ͖ɺࢥΘͣΛ্͛ͯ͠·͏ײಈ͕͋Γ·ͨ͠ʂ
ʢגʣΣϒΫϧʔ ৽نࣄۀ෦ ௗډେ͞Μ ௗډ େ Ϣʔβʔ໊ઢɻ αʔϏεఏڙऀ͕ݴ͏ʮͦΕʯ͕ɺຊʹͦ͏Ͱ͋Δͷ͔ɻ ReproΛ͏ͱɺຊͷҙຯͰจࣈ௨ΓʮϢʔβʔ໊ઢʯΛΔ ͜ͱ͕ग़དྷ·͢ɻ ࣄ࣮ԾઆΑΓحͳΓɻ
͏ΊΒΕ·ͤΜʢΘΒʣɻ
None