Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
生体データを取り扱うアプリ開発の勘所
Kohei Tabata
July 11, 2019
Programming
1
68
生体データを取り扱うアプリ開発の勘所
Kohei Tabata
July 11, 2019
Tweet
Share
More Decks by Kohei Tabata
See All by Kohei Tabata
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
780
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
3.5k
家庭をプロジェクトとして運営した話
nerd0geek1
2
3.6k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
810
みんなで育てるprecheck
nerd0geek1
1
480
matchとは?match導入のメリット
nerd0geek1
4
410
Improve your workflow with Sketch plugin
nerd0geek1
3
950
Looking back try! Swift 2017
nerd0geek1
0
460
fastlane勉強会挨拶
nerd0geek1
0
1.3k
Other Decks in Programming
See All in Programming
Hatena Engineer Seminar #23「新卒研修で気軽に『ありがとう』を伝え合える Slack アプリを開発した話」
slashnephy
0
320
Zynq MP SoC で楽しむエッジコンピューティング ~RTLプログラミングのススメ~
ryuz88
0
370
ポケモンで学ぶiOS 16弾丸ツアー 🚅
giginet
PRO
1
610
Enumを自動で網羅的にテストしてみた
estie
0
1.3k
Gradle build: The time is now
nonews
1
480
Writing Greener Java Applications
hollycummins
0
340
フロントエンドで学んだことをデータ分析で使ってみた話
daichi_igarashi
0
180
Ruby Pattern Matching
bkuhlmann
0
610
jq at the Shortcuts
cockscomb
1
430
OSSから学んだPR Descriptionの書き方
fugakkbn
4
130
Workshop on Jetpack compose
aldefy
0
140
Git Rebase
bkuhlmann
10
1.2k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
Navigating Team Friction
lara
177
12k
Atom: Resistance is Futile
akmur
256
24k
Fireside Chat
paigeccino
16
1.8k
Web development in the modern age
philhawksworth
197
9.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.6k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
Making the Leap to Tech Lead
cromwellryan
117
7.7k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Music & Morning Musume
bryan
37
4.6k
Building Applications with DynamoDB
mza
85
5k
Bootstrapping a Software Product
garrettdimon
299
110k
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
·ͱΊ ➤ ੜମσʔλΛऔΓѻ͏ΞϓϦͱ͍ͬͯجຊมΘΒͳ͍ ➤ ͨͩ͠ɺऔΓѻ͏σʔλͷಛੑ͕ଞͷΞϓϦͱେ͖͘ҟͳΔ (औಘɺੜ͕ࠔ) ➤ طଘͷΞϓϦ։ൃͰಘͨࣝΛ༻͍ͯɺͦ͏͍ͬͨಛघੑʹ ཱ͔ͪ͏