Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
生体データを取り扱うアプリ開発の勘所
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kohei Tabata
July 11, 2019
Programming
160
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
生体データを取り扱うアプリ開発の勘所
Kohei Tabata
July 11, 2019
More Decks by Kohei Tabata
See All by Kohei Tabata
AIと協業する開発の進め方
nerd0geek1
0
190
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
1k
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.6k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.4k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.3k
みんなで育てるprecheck
nerd0geek1
1
860
matchとは?match導入のメリット
nerd0geek1
4
650
Improve your workflow with Sketch plugin
nerd0geek1
3
1.6k
Looking back try! Swift 2017
nerd0geek1
0
710
Other Decks in Programming
See All in Programming
FreeBSDでZabbixを動かす.pdf
kenkino
0
280
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
460
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
170
新卒PdEのリアル
ryu1013
1
500
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
570
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
190
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
280
アクセシビリティから考える情報設計
high_g_engineer
0
370
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
470
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
620
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
720
Designing Powerful Visuals for Engaging Learning
tmiket
1
550
BBQ
matthewcrist
89
10k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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
·ͱΊ ➤ ੜମσʔλΛऔΓѻ͏ΞϓϦͱ͍ͬͯجຊมΘΒͳ͍ ➤ ͨͩ͠ɺऔΓѻ͏σʔλͷಛੑ͕ଞͷΞϓϦͱେ͖͘ҟͳΔ (औಘɺੜ͕ࠔ) ➤ طଘͷΞϓϦ։ൃͰಘͨࣝΛ༻͍ͯɺͦ͏͍ͬͨಛघੑʹ ཱ͔ͪ͏