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
84
生体データを取り扱うアプリ開発の勘所
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
880
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.1k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.1k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
980
みんなで育てるprecheck
nerd0geek1
1
670
matchとは?match導入のメリット
nerd0geek1
4
540
Improve your workflow with Sketch plugin
nerd0geek1
3
1.3k
Looking back try! Swift 2017
nerd0geek1
0
570
fastlane勉強会挨拶
nerd0geek1
0
1.5k
Other Decks in Programming
See All in Programming
僕がつくった48個のWebサービス達
yusukebe
18
17k
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
4
1.6k
色々なIaCツールを実際に触って比較してみる
iriikeita
0
270
Pinia Colada が実現するスマートな非同期処理
naokihaba
2
160
Piniaの現状と今後
waka292
5
1.5k
Tuning GraphQL on Rails
pyama86
2
1k
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
350
Golang と Erlang
taiyow
8
1.9k
Googleのテストサイズを活用したテスト環境の構築
toms74209200
0
270
Dev ContainersとGitHub Codespacesの素敵な関係
ymd65536
1
130
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
570
Synchronizationを支える技術
s_shimotori
1
150
Featured
See All Featured
Teambox: Starting and Learning
jrom
132
8.7k
A Modern Web Designer's Workflow
chriscoyier
692
190k
Typedesign – Prime Four
hannesfritz
39
2.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Music & Morning Musume
bryan
46
6.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
Producing Creativity
orderedlist
PRO
341
39k
Automating Front-end Workflow
addyosmani
1365
200k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Visualization
eitanlees
144
15k
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
·ͱΊ ➤ ੜମσʔλΛऔΓѻ͏ΞϓϦͱ͍ͬͯجຊมΘΒͳ͍ ➤ ͨͩ͠ɺऔΓѻ͏σʔλͷಛੑ͕ଞͷΞϓϦͱେ͖͘ҟͳΔ (औಘɺੜ͕ࠔ) ➤ طଘͷΞϓϦ։ൃͰಘͨࣝΛ༻͍ͯɺͦ͏͍ͬͨಛघੑʹ ཱ͔ͪ͏