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
創業事業のiOSアプリを一から作りなおしました
Search
Tomoki Kobayashi
August 16, 2019
Programming
2
1.4k
創業事業のiOSアプリを一から作りなおしました
Tomoki Kobayashi
August 16, 2019
Tweet
Share
More Decks by Tomoki Kobayashi
See All by Tomoki Kobayashi
Skip Skip Run Run Run ♫
temoki
0
400
さようならRxSwift こんにちは*****
temoki
1
260
Androidで不安定なPlatform Viewsとの闘い
temoki
0
670
iOSパッケージマネージャー奮闘記 完結編
temoki
2
450
事業譲渡を受けたアプリとの統合で失敗、 そしてユーザーからの評価回復に至るまで
temoki
1
540
Apple Vision Proデベロッパラボに参加してきた
temoki
0
380
年末年始の成果、そして現状の紹介
temoki
0
140
Apple HIGのススメ
temoki
0
230
ChatGPTにSVGでお絵描きさせる
temoki
0
530
Other Decks in Programming
See All in Programming
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
750
Jasprが凄い話
hyshu
0
180
はじめての Go * WASM *OCR
sgash708
1
110
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
240
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
340
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
270
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
270
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
自力でTTSモデルを作った話
zgock999
0
110
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
500
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
160
CDKを使ったPagerDuty連携インフラのテンプレート化
shibuya_shogo
0
110
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Visualization
eitanlees
146
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Optimizing for Happiness
mojombo
377
70k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Done Done
chrislema
182
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Transcript
ۀࣄۀͷJ04ΞϓϦΛ Ұ͔Β࡞Γͳ͓͠·ͨ͠ /BHPZBJ04NFFUVQ 5PNPLJ,PCBZBTIJ!UFNPLJ
גࣜձࣾελϝϯ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE גࣜձࣾελϝϯ 4 w ۀɿ݄ w ໊ࣾɿ4UBS.FNCFST w ਓɿ໊ʙ
w ຊࣾɿ໊ݹ ُౡ w ࢧࣾɿ౦ژେࡕԬ w ࣄۀɿ56/"(
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ۀࣄۀ56/"(ʢπφάʣ 6 w੍ࣾΛத৺ʹͨ͠اۀ͚4/4 wΤϯήʔδϝϯτܦӦʹΑΓʮਓͱ৫ʯΛڧ͘͢Δ wಋೖاۀࣾΛ͑ɺ ສਓͷϢʔβʔ͕ར༻த
56/"(J04ΞϓϦ ͭ͘Γͳ͓͠·ͨ͠
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 11 w56/"(3VCZPO3BJMT 3FBDUͰߏ wJ04"OESPJEΞϓϦશͯΨϫωΠςΟϒͩͬͨ wࣗͷϛογϣϯωΠςΟϒԽ㲈Ұ͔Β࡞Δ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 12 ΞϓϦΛҰ͔Β࡞Δͱ͖ ͞·͟·ͳબʹഭΒΕΔ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 13 wઃܭͲ͏͠Α͏ʁ! wϥΠϒϥϦԿΛ͓͏ʁ! w$*ςετͳͲ࣭֬อͷํʁ!
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 14 wࣗͰࣗ༝ʹબͰ͖Δ" wͨͩ͠બʹରͯ͠Λෛ͏# w߈कͷόϥϯε͕ͱΕͨબΛ$
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 56/"(J04ΞϓϦͭ͘Γͳ͓͠·ͨ͠ 15 56/"(J04ΞϓϦߏஙͰͷ ༷ʑͳબͱͦͷཧ༝ʹ͍͕ͭͯ ࠓͷςʔϚͰ͢
"SDIJUFDUVSF1BUUFSO
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "SDIJUFDUVSF1BUUFSO 17 .71 .77. 7*1&3 3FEVY
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "SDIJUFDUVSF1BUUFSO 18 .71 .77. 3FEVY 7*1&3
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "SDIJUFDUVSF1BUUFSO%7*1&3 19 wωΠςΟϒԽରͷୈҰνϟοτ wը໘ͷߏཁૉৼΔ͍͕ଟ͍ͷ Ͱ.71Ͱ݁ہ 1 ͕ංେԽ wJ04ʹ.77.ʹඞཁͳσʔλ
όΠϯσΟϯάͷΈ͕ͳ͍ w7*1&3.71ͷ1Λ͞Βʹ ‣ϢʔεέʔεΛ*OUFSBDUPS ‣ը໘ભҠͱ%*Λ3PVUFS ‣෦ؒ1SPUPDPMͰґଘ͠5FTUBCMF ‣$PDPB.7$Λ៉ྷʹϨΠϠʔԽ͢Δײ͡
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE νϟοτػೳΛ7*1&3ΞʔΩςΫνϟͰ։ൃͨ͠ 20 56/"(J04ΞϓϦͷ IUUQTTUNODPKQUFDI
)551/FUXPSLJOH
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE )551/FUXPSLJOH 22 63-4FTTJPO JTILBXB"1*,JU .PZB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE )551/FUXPSLJOH 23 63-4FTTJPO JTILBXB"1*,JU .PZB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE )551/FUXPSLJOH%.PZB 24 w༻͢Δ"1*͕ଟ͍ͷͰ63-4FTTJPO "MBNPpSFਏ͍ʜ w"1*͝ͱʹએݴతʹهड़Ͱ͖Δ"1*,JUͱ.PZB w"1*,JU͖͚ͩͲ࠷ۙߋ৽͕Ίʜ w.PZB"MBNPpSFͷϥούʔ wݩͷίʔυͰ"MBNPpSFʹগ͠ґଘ͍ͯ͠Δ
wը૾ϩʔμʔ"MBNPpSF*NBHF͋Δ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 25
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 26
*NBHF-PBEFS
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE *NBHF-PBEFS 43
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE *NBHF-PBEFS 44
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE *NBHF-PBEFS%"MBNPGJSF*NBHF 45 wඞཁͳػೳͲΕ΄΅ἧ͍ͬͯΔ ‣ ࢀߟ 4XJGUͷ༗໊ը૾ΩϟογϡϥΠϒϥϦΛൺֱͯ͠Έͨ ‣ IUUQTRJJUBDPN)@$SBOFJUFNTEGDBFGB
w/VLF͕ߴΒ͍͚͠Ͳʜ w"MBNPpSFʹґଘ͢Δ͜ͱ ܾ·͍ͬͯΔͷͰಉ͡ͷΛ͓͏
-PDBM%BUBCBTF
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF 28 6TFS%FGBVMUT 42-JUF $PSF%BUB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF 29 6TFS%FGBVMUT 42-JUF $PSF%BUB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF 30 6TFS%FGBVMUT 42-JUF $PSF%BUB !
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF 31 6TFS%FGBVMUT 42-JUF $PSF%BUB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE -PDBM%BUBCBTF%'JSFCBTF$MPVE'JSFTUPSF 32 wνϟοτػೳͷϦϞʔτσʔλ3BJMTͷ %#ͱಉظ͞Εͨ$MPVE'JSFTUPSFͰཧ w$MPVE'JSFTUPSFͰऔಘͨ͠σʔλ ࣗಈతʹϩʔΧϧʹΩϟογϡ͞ΕΔ wͪΐͬͱͨ͠ঢ়ଶͷอଘ6TFS%FGBVMUT w'JSFCBTFੵۃతʹ͍ͬͯ͘ʂ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 'JSFCBTF 33 ʴ'BCSJD#FUB "QQ%JTUSJCVUJPOͱͯ͠'JSFCBTFʹ౷߹தʣ %σʔλϕʔε %Ϣʔβʔೝূ %ϓογϡ௨ %ΫϥογϡϨϙʔτ
%Ϣʔβʔߦಈղੳ %ࣾςετ
"TZODISPOPVT 1SPDFTTJOH
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "TZODISPOPVT1SPDFTTJOH 35 "QQMF($% (PPHMF1SPNJTF 3Y4XJGU NBMDPNNBD)ZESB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "TZODISPOPVT1SPDFTTJOH 36 "QQMF($% (PPHMF1SPNJTF 3Y4XJGU NBMDPNNBD)ZESB
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE "TZODISPOPVT1SPDFTTJOH%3Y4XJGU 37 w୯७ͳඇಉظॲཧͱͯ͠ͳΒ(PPHMF1SPNJTFͰे w'JSFTUPSF͔Βͷ֤छσʔλͷྲྀΕΛ߹ͯ͠දࣔ༻ σʔλΛ࡞͢Δͷʹ3Y4XJGUͷΦϖϨʔλ͕ศར wґଘہॴతʹ ϓϨθϯςʔγϣϯͰ༻͠ͳ͍ Ϣʔβʔ
Ұཡ ϧʔϜ Ұཡ ϧʔϜผ طಡใ 4OBQTIPU -JTUFOFS 4OBQTIPU -JTUFOFS 4OBQTIPU -JTUFOFS 0CTFSWBCMF 0CTFSWBCMF 0CTFSWBCMF $PNCJOF -BUFTU ϧʔϜҰཡ ը໘༻σʔλ
0UIFS
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE 0UIFS 39 w*NBHF-PBEFS%"MBNPpSF*NBHF /VLF w+40/%FDPEFS%$PEBCMF w3FTPVSDFT%4XJGU(FO 3TXJGU
w-JOUFS%4XJGU-JOU w-PHHFS%4XJGUZ#FBWFS w1BDLBHF.BOBHFS%$PDPBQPET$BSUIBHF w5FTU'SBNFXPSL%9$5FTU 2VJDL w#VJME%FQMPZ%'BTUMBOF w$*4FSWJDF%ࠓҰਓମ੍ͳͷͰະ༻ #JUSJTF͍͍ͨ
͓ΘΓʹ
$PQZSJHIUTUNO JOD"MMSJHIUTSFTFSWFE ͓ΘΓʹ 41 wࠓޙ͠Β͘ӡ༻Ͱ͖Δόϥϯεͷྑ͍ߏ ʹͰ͖ͨͱࣗෛ͍ͯͨ͠$ wࠓͷ88%$Ͱͷ4XJGU6*ͱ$PNCJOFͷ ൃද͕άαοͱ͖ͨ& w࠙ձͰͷԹ͔͍ϚαΧϦΞυόΠε͓ͪ ͍ͯ͠·͢'
wએɿ݄ͷJ04%$ͰτʔΫ͢ΔΑʂ