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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
jollyjoester
December 07, 2016
Programming
0
1.4k
Repro
モバイルアプリの課題の発見から解決の方法までをワンストップで提供するサービス
jollyjoester
December 07, 2016
Tweet
Share
More Decks by jollyjoester
See All by jollyjoester
AIコードアシスタントとiOS開発
jollyjoester
1
340
市民のためのセキュリティ講座
jollyjoester
0
62
コミュニティMTG in WWDC24
jollyjoester
0
320
BengaluruでLTしてきた
jollyjoester
0
370
try! Swift Tokyo 2024
jollyjoester
0
360
エンジニアが直接会う場の価値について
jollyjoester
8
4.5k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
400
My favorite sessions in WWDC 23
jollyjoester
0
700
みんなでAIと戯れよう
jollyjoester
0
170
Other Decks in Programming
See All in Programming
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
270
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
今から始めるClaude Code超入門
448jp
8
8.7k
AtCoder Conference 2025
shindannin
0
1.1k
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
230
Fluid Templating in TYPO3 14
s2b
0
130
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
Implementation Patterns
denyspoltorak
0
290
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
280
ぼくの開発環境2026
yuzneri
0
220
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
Deep Space Network (abreviated)
tonyrice
0
48
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Optimizing for Happiness
mojombo
379
71k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
The Pragmatic Product Professional
lauravandoore
37
7.1k
[SF Ruby Conf 2025] Rails X
palkan
1
750
Practical Orchestrator
shlominoach
191
11k
Odyssey Design
rkendrick25
PRO
1
490
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.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