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
SwiftとRealmによるアプリ開発実践ノウハウ
Search
t_hayashi
October 23, 2015
Technology
8
1.4k
SwiftとRealmによるアプリ開発実践ノウハウ
2015/10/22のヒカ☆ラボにてお話したネイルブックの姉妹アプリ『サロンブック』についてどのように開発を行ったかのスライドです。
t_hayashi
October 23, 2015
Tweet
Share
Other Decks in Technology
See All in Technology
Dr. Werner Vogelsの14年のキーノートから紐解くエンジニアリング組織への処方箋@JAWS DAYS 2026
p0n
1
140
DevOpsエージェントで実現する!! AWS Well-Architected(W-A) を実現するシステム設計 / 20260307 Masaki Okuda
shift_evolve
PRO
3
800
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
4
530
今のWordPress の制作手法ってなにがあんねん?(改) / What’s the Deal with WordPress Development These Days?
tbshiki
0
460
複数クラスタ運用と検索の高度化:ビズリーチにおけるElastic活用事例 / ElasticON Tokyo2026
visional_engineering_and_design
0
160
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
180
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
NewSQL_ ストレージ分離と分散合意を用いたスケーラブルアーキテクチャ
hacomono
PRO
4
350
情シスのための生成AI実践ガイド2026 / Generative AI Practical Guide for Business Technology 2026
glidenote
0
260
楽しく学ぼう!ネットワーク入門
shotashiratori
1
380
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
120
モブプログラミング再入門 ー 基本から見直す、AI時代のチーム開発の選択肢 ー / A Re-introduction of Mob Programming
takaking22
5
1.5k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
71
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Mind Mapping
helmedeiros
PRO
1
120
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
260
Raft: Consensus for Rubyists
vanstee
141
7.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Code Reviewing Like a Champion
maltzj
528
40k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
140
Transcript
4XJGUͱ3FBMNʹΑΔ ΞϓϦ։ൃ࣮ફϊϋ גࣜձࣾεϐΧྛୡ
ࣗݾհ גࣜձࣾεϐΧ J04ɺαʔόΤϯδχΞ w ྛୡ 2JJUBTPSB!HJUIVC (JU)VCTPSB 0CKFDUJWF$ 1ZUIPO 4XJGU
αϩϯϒοΫ ຬͰ͖Δࢪज़Λͯ͘͠ΕΔ ͱ͓͖ͬͯωΠϧαϩϯ͕ݟ͔ͭΔʂ
ΞδΣϯμ w ։ൃڥ w ϓϩδΣΫτߏ w 3FBMNͷಋೖ w Ϗϡʔߏ w
4XJGUͷྑ͔ͬͨʗۤ࿑ͨ͠
։ൃڥ w 9DPEF w 77%PDVNFOUFS w 'V[[Z"VUPDPNQMFUF w 4XJGU w
SFBMNDPDPB w ͦͷଞπʔϧ#VOEMFSͰཧ w .BD#PPL1SP.JE w ()[*OUFM$PSFJ w (#.)[%%3
ڥมͷѻ͍ ։ൃڥ
ղܾ͍ͨ͜͠ͱ w QCYQSPK͕ઃఆͷมߋͷͨͼߋ৽͞Εͳ͍͜ͱ w Ճɾߋ৽͕֬ೝ͍͢͜͠ͱ w ڥมΛ؆୯ʹΓସ͑ΒΕΔ͜ͱ ڥมͷѻ͍ ؒҧ͑ͯϩʔΧϧใΛίϛοτɻɻ ઃఆใ͕ίϯϑϦΫτͰखಈϚʔδɻɻ
ߦͬͨ͜ͱ w ڥมΛFOWϑΝΠϧͰཧ w த୯७ͳLFZWBMVFͷཏྻͨ͠ςΩετ w ͔ͦ͜ΒదٓɺదͳϑΥʔϚοτΛग़ྗ ڥมͷѻ͍ FOW YDDPOpHZBNMFSC
(MPCBMTXJGUFSC %FCVHYDDPOpH 3FMFBTFYDDPOpH (MPCBMTXJGU ςϯϓϨʔτ ఆٛϑΝΠϧ JGEFGJOGPQMJTUͰࢀর ίʔυ্Ͱࢀর
ߦͬͨ͜ͱ ڥมͷѻ͍ FOW YDDPOpHZBNMFSC (MPCBMTXJGUFSC %FCVHYDDPOpH 3FMFBTFYDDPOpH (MPCBMTXJGU ςϯϓϨʔτ ఆٛϑΝΠϧ
JGEFGJOGPQMJTUͰࢀর ίʔυ্Ͱࢀর (JUͰόʔδϣϯཧ όʔδϣϯཧ֎ w ڥมΛFOWϑΝΠϧͰཧ w த୯७ͳLFZWBMVFͷཏྻͨ͠ςΩετ w ͔ͦ͜ΒదٓɺదͳϑΥʔϚοτΛग़ྗ
ߦͬͨ͜ͱ ڥมͷѻ͍ FOW YDDPOpHZBNMFSC (MPCBMTXJGUFSC %FCVHYDDPOpH 3FMFBTFYDDPOpH (MPCBMTXJGU ςϯϓϨʔτ ఆٛϑΝΠϧ
JGEFGJOGPQMJTUͰࢀর ίʔυ্Ͱࢀর (JUͰόʔδϣϯཧ όʔδϣϯཧ֎ ݸผͰཧ w ڥมΛFOWϑΝΠϧͰཧ w த୯७ͳLFZWBMVFͷཏྻͨ͠ςΩετ w ͔ͦ͜ΒదٓɺదͳϑΥʔϚοτΛग़ྗ
YDDPOGHZBNMFSC ڥมͷѻ͍
YDDPOGHZBNMFSC ͜͜Ͱఆٛͨ͠εΩʔϚຖʹग़ྗ͞ΕΔ ڥมͷѻ͍ JGEFGJOGPQMJTUͰࢀর
ߦͬͨ͜ͱ ڥมͷѻ͍ FOW YDDPOpHZBNMFSC (MPCBMTXJGUFSC %FCVHYDDPOpH 3FMFBTFYDDPOpH (MPCBMTXJGU ςϯϓϨʔτ ఆٛϑΝΠϧ
JGEFGJOGPQMJTU ίʔυ্Ͱࢀর w ڥมΛFOW w த୯७ͳLFZWBMVF w ͔ͦ͜ΒదٓɺదͳϑΥʔϚοτΛग़ྗ ϓϩδΣΫτઃఆຊମͷมߋ࠷খݶʹ
ߦͬͨ͜ͱ ڥมͷѻ͍ FOW YDDPOpHZBNMFSC (MPCBMTXJGUFSC %FCVHYDDPOpH 3FMFBTFYDDPOpH (MPCBMTXJGU ςϯϓϨʔτ ఆٛϑΝΠϧ
JGEFGJOGPQMJTU w ڥมΛFOW w த୯७ͳLFZWBMVF w ͔ͦ͜ΒదٓɺదͳϑΥʔϚοτΛग़ྗ ίʔυ্Ͱࢀর ϓϩδΣΫτઃఆຊମͷมߋ࠷খݶʹ ઃఆͷมߋ͕ςϯϓϨʔτϑΝΠϧͷࠩʹ
ߦͬͨ͜ͱ ڥมͷѻ͍ FOW YDDPOpHZBNMFSC (MPCBMTXJGUFSC %FCVHYDDPOpH 3FMFBTFYDDPOpH (MPCBMTXJGU ςϯϓϨʔτ ఆٛϑΝΠϧ
JGEFGJOGPQMJTU w ڥมΛFOW w த୯७ͳLFZWBMVF w ͔ͦ͜ΒదٓɺదͳϑΥʔϚοτΛग़ྗ ίʔυ্Ͱࢀর ϓϩδΣΫτઃఆຊମͷมߋ࠷খݶʹ ઃఆͷมߋ͕ςϯϓϨʔτϑΝΠϧͷࠩʹ ڥมͷΓସ͑ఆٛϑΝΠϧͰ
3BLFpMF Α͘ར༻͢ΔॲཧλεΫԽ ˠڥมͷϑΝΠϧੜ ˠॳճڥߏங ʨ#VOEMFSɺHJUTVCNPEVMFɺ$PDPB1PETɺFOWʩ ˠ(PPHMF"OBMZUJDTΠϕϯτ༻ϑΝΠϧੜ (PPHMFεϓϨουγʔτͰཧ͞ΕͨఆٛҰཡΛίϯόʔτ ˠ$SBTIMZUJDT#FUB ˠݱࡏ+FOLJOT͕࣮ߦ ڥมͷѻ͍
ϓϩδΣΫτߏ
ղܾ͍ͨ͜͠ͱ w νʔϜ։ൃͰͷίϯϑϦΫτ w ಛʹॳظ։ൃՃɾมߋ͕ଟ͍ͷͰා͍ w ϩδοΫपΓ୯ମςετ͍ͨ͠ w ͳΔ͘ૄ݁߹ʹ͍ͨ͠ ϓϩδΣΫτߏ
ςετڥ͕͋·Γඋग़དྷ͍ͯͳ͔ͬͨɻɻ
ߦͬͨ͜ͱ w ։ൃॳϓϩδΣΫτҰͭͷΈ w ϏϡʔΛؚΉ୯ମςετڥ·Ͱ͍ͬͯͳ͔ͬͨ w ৽͍͠ϝϯόʔ͕ೖΔλΠϛϯάͰ࠷ݶϞσϧपΓ ୯ମςετ͕ߦ͑ΔΑ͏ϓϩδΣΫτΛׂ w Ϗϡʔܥ
w Ϟσϧܥ ϓϩδΣΫτߏ
EZOBNJDGSBNFXPSLΛར༻ w 7JFX w 7JFX$POUSPMMFS w 4UPSZCPBSE w "QQ%FMFHBUF w
.PEFM w "1* w &OUJUZ w $POTUBOUT ϓϩδΣΫτߏ ࢀরՄೳ ࢀরෆՄ
EZOBNJDGSBNFXPSLΛར༻ w 7JFX w 7JFX$POUSPMMFS w 4UPSZCPBSE w "QQ%FMFHBUF w
.PEFM w "1* w &OUJUZ w $POTUBOUT ϓϩδΣΫτߏ ࢀরՄೳ ࢀরෆՄ
EZOBNJDGSBNFXPSLΛར༻ w 7JFX w 7JFX$POUSPMMFS w 4UPSZCPBSE w "QQ%FMFHBUF w
.PEFM w "1* w &OUJUZ w $POTUBOUT ϓϩδΣΫτߏ ϓϩδΣΫτຖʹ୲͠։ൃɺίϯϑϦΫτ ͕ى͖ʹ͍͘Α͏ʹ
EZOBNJDGSBNFXPSLΛར༻ w 7JFX w 7JFX$POUSPMMFS w 4UPSZCPBSE w "QQ%FMFHBUF w
.PEFM w "1* w &OUJUZ w $POTUBOUT ϓϩδΣΫτߏ ϓϩδΣΫτຖʹ୲͠։ൃɺίϯϑϦΫτ ͕ى͖ʹ͍͘Α͏ʹ Ϟσϧʹؔͯ͠୯ମςετΛ༻͍ͯ։ൃ
EZOBNJDGSBNFXPSLΛར༻ w 7JFX w 7JFX$POUSPMMFS w 4UPSZCPBSE w "QQ%FMFHBUF w
.PEFM w "1* w &OUJUZ w $POTUBOUT ϓϩδΣΫτߏ ϓϩδΣΫτຖʹ୲͠։ൃɺίϯϑϦΫτ ͕ى͖ʹ͍͘Α͏ʹ Ϟσϧʹؔͯ͠୯ମςετΛ༻͍ͯ։ൃ ϏϡʔɺϞσϧͷࢀর͕ҰํʹͳΓɺ ࠷ݶͷૄ݁߹Λ୲อ
ίϯύΠϧ w ը໘ w ػೳάϧʔϓ w 4UPSZCPBSET w 7JFX$POUSPMMFST ϓϩδΣΫτߏ
ίϯύΠϧ w ϑΝΠϧ w ߦ Ϗϡʔ Ϟσϧ
ίϯύΠϧ࣌ؒฏۉඵ ˞48*'5@8)0-&@.0%6-&@015*.*;"5*0/l:&4zར༻࣌ ϓϩδΣΫτߏ
ίϯύΠϧ w ϑΝΠϧ w ߦ ίϯύΠϧ࣌ؒฏۉඵ ˞48*'5@8)0-&@.0%6-&@015*.*;"5*0/l:&4zར༻࣌ ϓϩδΣΫτߏ
͜ͷΦϓγϣϯ͕ͳ͍ͱίϯύΠϧ͕ԆʑऴΘΒͳ͍ʜ Ϗϡʔ Ϟσϧ
3FBMN
͖͔͚ͬ w Ϣʔβମݧతʹͪ࣌ؒΛ͍ͨ͘͠ w ΤϯδχΞʹͱͬͯ௨৴ճݮΒ͍ͨ͠ Realm
͖͔͚ͬ w Ϣʔβମݧతʹͪ࣌ؒΛ͍ͨ͘͠ w ΤϯδχΞʹͱͬͯ௨৴ճݮΒ͍ͨ͠ Realm Ωϟογϡػߏ͕ඞਢ
͖͔͚ͬ w Ϣʔβମݧతʹͪ࣌ؒΛ͍ͨ͘͠ w ΤϯδχΞʹͱͬͯ௨৴ճݮΒ͍ͨ͠ Realm Ωϟογϡػߏ͕ඞਢ ͕࣌ग़࢝Ί͍ͯͨ3FBMNΛ࠾༻ w ͍͍͢ΠϯλʔϑΣʔε
w ύϑΥʔϚϯε
3FBMN w Ωϟογϡ༻్Ͱ༻ w αʔό্ͷσʔλߏΛͦͷ··ɺ3FBMNΦϒδΣΫτʹϚο ϐϯά w +40/Ϩεϙϯε͔Βͷอଘʹख͕ؒͳ͍ w λΠϜϥΠϯͳͲͷϦετΩϟογϡ͕͍ͨ͠ΊɺΦϒδΣ
Ϋτ୯ମຖʹอଘ
3FBMN w Ωϟογϡ༻్Ͱ༻ w αʔό্ͷσʔλߏΛͦͷ··ɺ3FBMNΦϒδΣΫτʹϚο ϐϯά w +40/Ϩεϙϯε͔Βͷอଘʹख͕ؒͳ͍ w λΠϜϥΠϯͳͲͷϦετΩϟογϡ͕͍ͨ͠ΊɺΦϒδΣ
Ϋτ୯ମຖʹอଘ Ωϟογϡऔಘ࣌ؒΛ߹Θͤͯه
3FBMN w ($%γϦΞϧΩϡʔͰಡΈॻ͖ w ˞·ΕʹεϨου͕มΘΔ͕͋Γɺݱࡏ ϝΠϯεϨου͔ΒͷಡΈࠐΈซ༻
1SPNJTF w 3FBMNͱ"1*Λܨ͗͜Ή෦ʹ1SPNJTFΛར༻ w લड़ͷϝϯόʔ͕ಋೖ w ίʔϧόοΫࠈʹͳΒͣʹࡁΉ w ޙ͔ΒৼΔ·͍Λࠩ͠ࠐΉ͜ͱ͕༰қ
3FBMN w Ωϟογϡ֬ೝʙ"1*ϦΫΤετྫ w ˞Ϗϡʔͷୡ௨Λར༻
3FBMN w Ωϟογϡ֬ೝʙ"1*ϦΫΤετྫ w ˞Ϗϡʔͷୡ௨Λར༻ Ωϟογϡ͕ʨແ͍ɾ༗Δɾݹ͍ʩͱ͖ͷৼΔ͍ ͕͖ͬ͢Γॻ͚Δ
3FBMN w ར༻γʔϯ
3FBMN w ར༻γʔϯ λΠϜελϯϓ͕ݹ͚Ε͍߹ΘͤΛߦ͏ ͍߹ΘͤதͰҎલͷใΛϏϡʔʹө ͍߹Θ͕ͤྃ͠ɺΩϟογϡʹอଘ͞Ε Εɺ௨ܦ༝Ͱ࠶ө
3FBMN w ར༻γʔϯ λΠϜελϯϓ͕ݹ͚Ε͍߹ΘͤΛߦ͏ ͍߹ΘͤதͰҎલͷใΛϏϡʔʹө ͍߹Θ͕ͤྃ͠ɺΩϟογϡʹอଘ͞Ε Εɺ௨ܦ༝Ͱ࠶ө
w ৗʹ3FBMN͔ΒͷөʹͳΔͷͰɺ࣮͕γϯϓϧʹ w ଟͷ௨ͳͷͰɺଞͷը໘Ͱͷߋ৽ൃੜಛผͳରԠͳ࣮͘ݱ
Ϗϡʔߏ
શମతʹςʔϒϧϏϡʔΛར༻ w ՝ w ֤7JFX$POUSPMMFSͰͷEFMFHBUF EBUB4PVSDF ͷ࣮ͷෛ୲ w ηϧͷՃɾআͳͲͷૢ࡞ॲཧ w
3FBMNΦϒδΣΫτͷεϨουΞΫηε Ϗϡʔߏ
ߦͬͨ͜ͱ w දࣔ͢Δ༰ͷσʔλΦϒδΣΫτΛ༧Ίੜ͠ɺϦ ετͰอ࣋͢Δ w ͦͷϦετΛࢹ͠ɺςʔϒϧϏϡʔʹঢ়ଶΛө 3FBMN ΦϒδΣΫτ 3FBMN ΦϒδΣΫτ
3FBMN ΦϒδΣΫτ ηϧσʔλ ΦϒδΣΫτ දࣔ͞ΕΔλΠϛϯάͰ ηϧʹσʔλΛө Ϗϡʔߏ
ߦͬͨ͜ͱ w දࣔ͢Δ༰ͷσʔλΦϒδΣΫτΛ༧Ίੜ͠ɺϦ ετͰอ࣋͢Δ w ͦͷϦετΛࢹ͠ɺςʔϒϧϏϡʔʹঢ়ଶΛө 3FBMN ΦϒδΣΫτ 3FBMN ΦϒδΣΫτ
3FBMN ΦϒδΣΫτ ηϧσʔλ ΦϒδΣΫτ දࣔ͞ΕΔλΠϛϯάͰ ηϧʹσʔλΛө Ϗϡʔߏ 3FBMNʹΞΫηεͨ͠εϨου ͰσʔλΦϒδΣΫτΛੜ
ߦͬͨ͜ͱ w දࣔ͢Δ༰ͷσʔλΦϒδΣΫτΛ༧Ίੜ͠ɺϦ ετͰอ࣋͢Δ w ͦͷϦετΛࢹ͠ɺςʔϒϧϏϡʔʹঢ়ଶΛө 3FBMN ΦϒδΣΫτ 3FBMN ΦϒδΣΫτ
3FBMN ΦϒδΣΫτ ηϧσʔλ ΦϒδΣΫτ දࣔ͞ΕΔλΠϛϯάͰ ηϧʹσʔλΛө Ϗϡʔߏ ७ਮͳΦϒδΣΫτͳͷͰ ϝΠϯεϨου͔ΒΞΫηεՄೳ
None
ςʔϒϧϏϡʔΠϕϯτΛॲཧ͢ΔΫϥεΛܧঝ͠ɺ ͦΕͧΕͷදࣔ༰Λཧ͢Δ
4XJGUͷྑ͔ͬͨʗۤ࿑ͨ͠ ࣮ߦ࣌ʹؾ͘όά͕ίϯύΠϧ࣌ʹर͑Δ ࣗવʹ݅ΛཏͰ͖ΔͷͰ࿙Ε͕ͳ͘ͳΔ ؆ܿʹָ͘͠ॻ͚Δʂ ิ͕ޮ͔ͳ͍ ͱʹ͔͘ίϯύΠϧ͕͍ ʢ9DPEF͕සൟʹΫϥογϡʣ ։ൃΛ௨ͯ͠
4XJGUͷྑ͔ͬͨʗۤ࿑ͨ͠ ࣮ߦ࣌ʹؾ͘όά͕ίϯύΠϧ࣌ʹर͑Δ ࣗવʹ݅ΛཏͰ͖ΔͷͰ࿙Ε͕ͳ͘ͳΔ ؆ܿʹָ͘͠ॻ͚Δʂ ิ͕ޮ͔ͳ͍ ͱʹ͔͘ίϯύΠϧ͕͍ ʢ9DPEF͕සൟʹΫϥογϡʣ ։ൃΛ௨ͯ͠ όʔδϣϯΞοϓຖʹྑ͘ͳ͍ͬͯΔ
IUUQTXXXXBOUFEMZDPNQSPKFDUT