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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
1
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
120
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
320
Digitization部 紹介資料
sansan33
PRO
1
6.8k
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
160
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
130
使いにくいの壁を突破する
sansantech
PRO
1
110
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
290
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2k
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.5k
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
300
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
89
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
Embracing the Ebb and Flow
colly
88
5k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Technical Leadership for Architectural Decision Making
baasie
1
240
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
56
50k
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