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
生体データを取り扱うアプリ開発の勘所
Search
Kohei Tabata
July 11, 2019
Programming
1
95
生体データを取り扱うアプリ開発の勘所
Kohei Tabata
July 11, 2019
Tweet
Share
More Decks by Kohei Tabata
See All by Kohei Tabata
AIと協業する開発の進め方
nerd0geek1
0
97
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
900
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.2k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.2k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1k
みんなで育てるprecheck
nerd0geek1
1
710
matchとは?match導入のメリット
nerd0geek1
4
560
Improve your workflow with Sketch plugin
nerd0geek1
3
1.3k
Looking back try! Swift 2017
nerd0geek1
0
590
Other Decks in Programming
See All in Programming
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1.2k
ML.NETで始める機械学習
ymd65536
0
240
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
290
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
120
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
200
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
170
Ça bouge du côté des animations CSS !
goetter
2
160
読まないコードリーディング術
hisaju
0
110
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
790
sappoRo.R #12 初心者セッション
kosugitti
0
280
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
510
Datadog Workflow Automation で圧倒的価値提供
showwin
1
290
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Writing Fast Ruby
sferik
628
61k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Designing for Performance
lara
605
68k
For a Future-Friendly Web
brad_frost
176
9.6k
Making Projects Easy
brettharned
116
6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Speed Design
sergeychernyshev
27
810
Transcript
ੜମσʔλΛऔΓѻ͏ ΞϓϦ։ൃͷצॴ Health Tech0.5 @TIME SHARINGौ୩Ӊాொ Kohei Tabata
ࣗݾհ ➤ ాാߒฏ(@nerd0geek1) ➤ iOS Engineer @ Saib Studio LLC
➤ ڈͷ11݄͔ΒiOSΞϓϦશମͷ։ൃΛ͓ख͍͍ͯ͠·͢ɻ ➤ ࠷ۙσβΠϯษڧͯ͠ޱग़ͨ͠͠Γͯ͠·͢ɻ
ઃܭࢥͷಋೖͱϦϑΝΫλϦϯάʁ ΞϥʔϜɺλΠϚʔػߏʁ (Timer, UNNotificationRequest) Clean Architecture x RxSwiftʁ fastlane x
CircleCIʹΑΔCI/CDͷಋೖʁ
ͰɺϔϧεέΞاۀ͡Όͳͯ͘ Ͱ͖ΔΑͶʁ
ΞδΣϯμ ➤ ੜମσʔλ × औಘ ➤ ϑΟʔυόοΫαΠΫϧେ͖͗͢(ਭͷ߹Ұ൩) ➤ ͦ͜ʹؔ͢Δ෦ͷ։ൃ͕ϘτϧωοΫʹͳΓ͕ͪ ➤
ੜମσʔλ × ੳ ➤ ੜσʔλσʔλ༰ྔΛצҊͭͭ͠ɺղ૾ߴ͘औಘ͓ͯ͘͠
ੜମσʔλऔಘ͕େม σʔλܭଌ։࢝ σʔλੳ (ΫϥΠΞϯτ) σʔλੳ (αʔό)
ੜମσʔλऔಘ͕େม σʔλܭଌ։࢝ σʔλੳ (ΫϥΠΞϯτ) σʔλੳ (αʔό) ेʙҰ൩
ੜମσʔλऔಘ͕େมɺੜͰ͖ͳ͍ ➤ O:SLEEPͷ߹جຊతͳϢʔεέʔε͕Ұ൩ (ੳͷͨΊʹɺ࠷ݶͰेͷσʔλ͕ඞཁ) ➤ ؔ࿈͢Δػೳɾը໘ͷ։ൃͰεϐʔυ͕ग़ͤͳ͍ ➤ ਭੳϞδϡʔϧͷݕূ ➤ ਭܭଌޙͷը໘ભҠ
➤ etc… ϓϩμΫτ։ൃ͍͔ʹߴʹ։ൃͱݕূΛਐΊΔ͔͕ ΩϞͳͷʹ
։ൃΛߴԽ͢ΔͨΊʹԿΛ͔ͨ͠ʁ ➤ Λཧ͢Δͱ2ͭɻ ➤ ਭੳϞδϡʔϧͷϩδοΫͷਖ਼͠͞ΛݕূͰ͖͍ͯͳ͍ ➤ ਭΛؚΉը໘ભҠɾϑϩʔͷݕূʹ͕͔͔࣌ؒΓ͗͢Δ
ਭੳϞδϡʔϧͷਖ਼͠͞ͷݕূ ➤ ϢχοτςετͷՃ ➤ ͷਭσʔλΛੵ ➤ Ϣχοτςετ͕͍͢͠Α͏ʹɺΫϥε֎ʹެ։͢ΔϝιουΛมߋ ➤ ਭσʔλΛݩʹݕূ༻ͷμϛʔσʔλΛ࡞
ը໘ભҠɺϑϩʔͷݕূ ➤ ίʔυͷॻ͖͑ɺμϛʔσʔλͰΓΔ ➤ ϐϯϙΠϯτͰͷը໘ભҠݕূखݩͰίʔυΛॻ͖͑Δ͜ͱͰରԠ ➤ ը໘ભҠʹσʔλ͕ඞཁͳ߹ɺࣗͷաڈʹੵͨ͠ਭσʔλΛ ͖࣋ͬͯͯɺ͚ͩมߋͯ͠ར༻͢Δ ➤ ։ൃνʔϜશମͷߴԽ͕ඞཁʹͳͬͨ߹ɺ͜ͷ͋ͨΓ
σόοάػೳͱͯ͠࡞͍͔ͬͯ͘…ʁ
None
ੜମσʔλੳେม ➤ O: ͷΞϧΰϦζϜ৸ฦΓʹΑΔମಈ = ՃΛϕʔεͱ ͨ͠ͷ ➤ ԾʹɺࠓͷΞϧΰϦζϜΑΓྑ͍ΞϧΰϦζϜΛ։ൃͨ͠ ߹ɺͦΕ͕Ͳ͏͍ͬͨ݁ՌͱͳΔͷ͔ɺ~िؒͨ
ͣʹݕূ͍ͨ͠ɻ
None
None
ੜσʔλΛDBʹอ࣋͢Εྑ͍ͷͰʁ ➤ ݱঢ়ͷΞϓϦͰɺඵ͝ͱʹҎԼͷΛऔಘ͠ɺͦΕΛ ىচ࣌Ͱੳɺੳ݁ՌͷΈΛαʔόʹૹ৴͍ͯ͠Δɻ ➤ time(Date) ➤ x(Double) ➤ y(Double)
➤ z(Double) ➤ ͜ͷੜσʔλΛղ૾ߴ͍ঢ়ଶͰRealmʹอ࣋͢Ε ྑ͍ͷͰʁ
ͨͩ͠… ➤ ՃใͷੜσʔλϨίʔυ͕͔ͳΓଟ͍ɻ ➤ 1ϨίʔυʹҎԼͷใؚ͕·ΕΔɻ ➤ time(Date, 8byte) ➤ x(Double,
8byte) ➤ y(Double, 8byte) ➤ z(Double, 8byte) ➤ 1ඵຖɺ6࣌ؒਭͱͯ͠ 60 * 60 * 6 * 8 * 4 = 691200Byte ≒ 700kB ➤ 0.1ඵຖͩͱ 60 * 60 * 6 * 10 * 8 * 4 = 6912000Byte ≒ 7MB
ͳͷͰ ➤ ϑΝΠϧαΠζ͕େ͖͘ͳΓ͗͢ͳ͍Α͏ʹཧ ➤ ۩ମతʹ ➤ ੜσʔλۙ30ͷΈΛอ࣋͢ΔΑ͏ʹ࣮ ➤ 30Λ͑Δʹ͍ͭͯݹ͍ͷ͔Βফ͍ͯ͘͠
None
·ͱΊ ➤ ੜମσʔλΛऔΓѻ͏ΞϓϦͱ͍ͬͯجຊมΘΒͳ͍ ➤ ͨͩ͠ɺऔΓѻ͏σʔλͷಛੑ͕ଞͷΞϓϦͱେ͖͘ҟͳΔ (औಘɺੜ͕ࠔ) ➤ طଘͷΞϓϦ։ൃͰಘͨࣝΛ༻͍ͯɺͦ͏͍ͬͨಛघੑʹ ཱ͔ͪ͏