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
Realmビギナーが知っとくべき内容で打線組んだwww
Search
yimajo
March 12, 2015
Technology
5
7.1k
Realmビギナーが知っとくべき内容で打線組んだwww
potatotips15 で発表した資料です
http://connpass.com/event/12140/
yimajo
March 12, 2015
Tweet
Share
More Decks by yimajo
See All by yimajo
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
370
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
300
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
260
良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: iOSアプリ開発ユニットテストの場合
yimajo
22
6.3k
TCAの Shared Stateって どういう仕組みになってんの?
yimajo
0
2.3k
Swift 5.9 からの Observation はiOS17 未満 からも使えて struct の変更検知もできるんすかね?
yimajo
2
1k
不安定なテストは200種類あんねん
yimajo
3
1k
TCA v0.19.0からのSwitchStore/CaseLetが良い
yimajo
0
1.9k
TCAでViewStoreにKeyPath DynamicMemberLookupが使われてる件
yimajo
0
1.2k
Other Decks in Technology
See All in Technology
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
430
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
2
290
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
4
150
Large Vision Language Modelを用いた 文書画像データ化作業自動化の検証、運用 / shibuya_AI
sansan_randd
0
120
生成AIを活用したZennの取り組み事例
ryosukeigarashi
0
210
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
340
セキュアな認可付きリモートMCPサーバーをAWSマネージドサービスでつくろう! / Let's build an OAuth protected remote MCP server based on AWS managed services
kaminashi
2
140
Git in Team
kawaguti
PRO
2
200
Why Governance Matters: The Key to Reducing Risk Without Slowing Down
sarahjwells
0
120
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
230
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
510
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
150
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Faster Mobile Websites
deanohume
310
31k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Being A Developer After 40
akosma
91
590k
Speed Design
sergeychernyshev
32
1.1k
Gamification - CAS2011
davidbonilla
81
5.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Transcript
3FBMNϏΪφʔ͕ͬͱ͖͘ ༰ͰଧઢΜͩXXX גࣜձࣾΩϡϦΦγςΟιϑτΣΞ ࠓળۣ !ZJNBKP ୈճQPUBUPUJQT
ଧॱ कඋ બख໊ ༡ 3FBMNͷಡΈํʮϨϧϜʯ ೋ 3-.0CKFDUαϒΫϥεͷϓϩύςΟఆ͕ٛΧϥϜΛࣔ͢
த /4/VMMOJMͰอଘͰ͖ͳ͍ Ұ ओΩʔTUSJOH͔Ͱͳ͚Ε͍͚ͳ͍ ӈ /4%BUF͕ϛϦඵΛอଘͰ͖ͯͳ͍ ࡾ 3FBMN +40/͕ࣗಈͰ*40ܗࣜͷจࣈྻΛ/4%BUFʹ ͯ͠͠·͏ ࠨ +40/&YQPSUͷίʔυOJMΛߟྀ͍ͯ͠ͳ͍ ั 3-.0CKFDUͷϓϩύςΟଐੑॻ͔ͳ͍͜ͱΛਪ /4*OUFHFS͡Όͳ͘JOU@UΛ͏͖࣌͋Δ 3FBMN DPDPB WΛ༻ɻόάमਖ਼͞ΕͨΓ༷มΘΔͨΊ༰ӏವΈʹ͠ͳ͍Ͱ͍ͩ͘͞
3FBMNಡΈํΛΧλΧφͰදݱ͢Δͱ ʮϨϧϜʯ
ͦͦ3FBMNͱ w 3FBMNϞόΠϧϑΝʔετͰγϯϓϧ͔ͭϞμ ϯͳ࣍ੈσʔλϕʔε w IUUQTHJUIVCDPNSFBMNSFBMNDPDPB w 0CKFDUJWF$ 4XJGUͱ"OESPJE͔Β͑ΔϥΠ ϒϥϦ͕͋Δ
w ϦΞϧϜ͡Όͳͯ͘ϨϧϜͱಡΉ
ࠓճશͯJ04ʹ͍ͭ ͯͷ
3-.0CKFDUαϒΫϥεͷϓϩύςΟఆ͕ٛ ΧϥϜΛࣔ͢
@interface Dog : RLMObject @property NSString *name; @end ϞσϧͰςʔϒϧఆٛ ͑Δܕ
#00- CPPM JOU /4*OUFHFS MPOH qPBU EPVCMF $('MPBU /44USJOH /4%BUF /4%BUB 3-.0CKFDUͷαϒΫϥε
@interface Dog : RLMObject @property NSString *name; @property NSNumber *age;
// Ճͨ͠ @end ϞσϧͰςʔϒϧఆٛ ͑ͳ͍ܕͰఆٛͯ͠͠·͏ͱz࣮ߦ࣌ʹྫ֎zɻ ͜Ε୯७ϛεͳͷͰͦͷΫϥεΛར༻͢Δࡍʹ ͕͔Δͷخ͍͠ɻ
/4/VMMOJMͰอଘ͕Ͱ͖ͳ͍ͷͰσʔλ͕ ͳ͍͜ͱΛදͮ͠Β͍
8FC"1*Λར༻ͨ͠߹ ϨεϙϯεʹΦϓγϣφϧͳ߲͕͋Δ ͱ/4/VMMOJM͕ར༻Ͱ͖ͳ͍ͷਏ͍
ٯʹ ϩʔΧϧͰ࡞ͨ͠σʔλΛ3FBMNʹอଘ͢Δ ߹Φϓγϣφϧͳ߲ ͬͱগͳ͍͔͠Εͳ͍ͨΊ ͋·ΓؾʹͳΒͳ͍ͱࢥ͏
ଥڠҊ w ͦͷ͕͋Δ͔ͳ͍͔ͷ#00-ϑϥάΛอଘ߲ ͷҰͭͱͯ࣋ͭ͠ ଥڠҊ w ͳΒ*/5@.*/ͳͲఆԽ͞Ε͍ͯΔΘ Εͳͦ͞͏ͳͰଘࡏ͠ͳ͍ͱ͍͏ҙຯ͚ͩΛ ࣔ͢
ͪͳΈʹ
/44USJOHʹOJMΛ ಥͬࠐΊΔ
None
w OJM͕อଘͰ͖ͯΔΑ͏ʹݟ͑Δ͚Ͳ w ۭจࣈ!lz͕อଘ͞Ε͍ͯͯɺOJMͰͳ͍͔Β ҙ͕ඞཁ
ओΩʔTUSJOH͔Ͱͳ͚Ε͍͚ͳ͍
w ྫ֎ʹTUSJOH͔JOUΛ͑ͱॻ͍ͯ͋Δ w JOU͚ͩͰͳ͘MPOHͳͲ͑ΔͷͰͰ͋Ε ྑ͍
/4%BUF͕ϛϦඵΛอଘͰ͖ͯͳ͍
w ݱࡏͷ࠷৽ W Ͱ࣌ؒͷখҎԼ͕ ΓࣺͯΒΕɺϛϦඵҎԼ͕อଘͰ͖ͳ͍ w IUUQTHJUIVCDPNSFBMNSFBMNDPDPB JTTVFT
w /45JNF*OUFSWBM͏ͷ͕ૉ w ͕ͩ͋͘·Ͱج४͔Βͷ*OUFSWBMʹͳΔͷͰ ͦͷج४ΛͲ͜ʹ͢Δ͔దʹܾΊͨ͘ͳ Δ w 8FC"1*͔Β*40ܗࣜʢྫ 5 ʣͰૹΒΕͯ͘ΔΑ͏ͳ
έʔεͳΒͦΕΛ/44USJOHͰอଘ͢Δͷѱ͍ํ ๏͡Όͳ͍ؾ͕͢Δ ϛϦඵҎԼ͍͍ͨ࣌ͷ ଥڠҊ
ଥڠҊͲͪΒΛબΜͰ ෦อଘ͕Ͳ͏͋Εϝιουܦ༝ Ͱ/4%BUFΛฦ͢Α͏ʹ͢Ε 3-.0CKFDUΛࢀর͢Δଆؾʹ͠ ͳ͍ͰࡁΉ͔
@interface Dog : RLMObject @property NSTimeInterval *birthDateInterval; // NSDate͕ཉ͚͠ΕpropertyΛNSDateʹͯ͠ฦ͢ɻ //
birthDateInterval͕-1ͳΒnilΛฦ͍͍ͤ - (NSDate *)birthDate; @end
3FBMN +40/͕ࣗಈͰ*40ܗࣜͷจ ࣈྻΛ/4%BUFʹͯ͠͠·͏
3FBMN +40/ͱ͍͏ ϥΠϒϥϦ͕͋Δ w +40/ͷϚοϐϯάϧʔϧΛ.BOUMFͷΑ͏ʹॻ ͚Δ w Ϛοϐϯάϧʔϧ3-.0CKFDUΛܧঝͨ͠Ϋϥ εͷΫϥεϝιουͱͯ͠هड़͠/4%JDUJPOBSZ Ͱฦ͢
IUUQTHJUIVCDPNNBUUIFXDIFPL3FBMN+40/
+ (NSDictionary *)JSONInboundMappingDictionary { return @{ @"id": @"identifier", @"created_at": @"createdAt"
}; } Ϛοϐϯάϧʔϧྫ LFZ͕KTPOͷLFZ WBMVF͕Ϛοϐϯά͢ΔϓϩύςΟ໊
w *40ܗࣜͷจࣈྻ/4%BUFʹͯ͘͠ΕΔ w Ͱ/4%BUFϛϦඵࣺͯΔ͠ w σʔλ͕ͳ͍ͱ͖/4%BUFͰOJMอ࣋͢Δͷϫʔ ΫΞϥϯυ͕ඞཁͳͷͰ w ࣌Λ/4%BUFͰอଘͨ͘͠ͳ͍࣌͋ͬͯ ͋Γ͕ͨ໎తͳʜ
+40/&YQPSUͷίʔυ OJMΛҙ͍ࣝͯ͠ͳ͍
+40/&YQPSUͱ IUUQTHJUIVCDPN"INFE"MJ+40/&YQPSU
+40/&YQPSUͱ w +40/&YQPSU+40/ͷϑΝΠϧ͔ΒΫϥεΛఆ ٛͯ͘͠ΕΔπʔϧ w Ϛοϐϯά༻ͷϝιουͷίʔυੜͯ͠ग़ ྗͯ͘͠ΕΔ IUUQTHJUIVCDPN"INFE"MJ+40/&YQPSU
ྫ - (instancetype)initWithDictionary:(NSDictionary *)dictionary { if(dictionary == nil || [dictionary
isKindOfClass:[NSNull class]]){ return nil; } self = [super init]; if(![dictionary[@"id"] isKindOfClass:[NSNull class]]){ self.identifier = [dictionary[@"id"] integerValue]; } if(![dictionary[@"name"] isKindOfClass:[NSNull class]]){ self.name = dictionary[@"name"]; } return self; } ͨͩEJDUJPOBSZ<!lJEz>͕OJMͳΒ@JEFOUJpFSOJMʹͳΓྫ֎͕ ى͖ΔͷͰɺ͜ͷ݅ࣗମΧελϚΠζඞཁʹͳΔ
+40/ &YQPSUͰࣗಈੜ͞ ΕΔίʔυΛݩʹΧελϚΠ ζ͍ͯ͘͠ͷ͕ྑͦ͞͏
3-.0CKFDUͷϓϩύςΟ ଐੑॻ͔ͳ͍͜ͱΛਪ
w 3FBMNͰɺOPOBUPNJD BUPNJD TUSPOH DPQZ XFBLͷ Α͏ͳ0CKFDUJWF$ͷϓϩύςΟଐੑ͕ແࢹ͞Ε·͢ w 3FBMNͷதͰɺಠࣗͷ࠷దԽ͞Εͨଐੑ͕ΘΕ·͢ɻ ͦͷͨΊɺࠞཚΛආ͚ΔͨΊʹɺ3FBMNϞσϧΫϥεΛએ
ݴ͢Δͱ͖ɺϓϩύςΟଐੑΛ͚ͳ͍͜ͱΛਪ͍ͯ͠ ·͢ɻ w ϓϩύςΟଐੑΛ͚ͨ߹ɺ3-.0CKFDU͕3FBMNʹอ ଘ͞ΕΔ·Ͱ༗ޮʹͳΓ·͢ɻ ެࣜϦϑΝϨϯεΑΓ IUUQSFBMNJPKQEPDTDPDPB
ແࢹ͞ΕΔͷ͔͞Εͳ ͍ͷ͔͔ΓͮΒ͍ʜ
͜͏͍͏͜ͱʁ %#ʹอଘ͞Εͨ 3-.0CKFDUΛ࡞ͬͨ ଐੑͷࢦఆ͕༗ޮ ଐੑͷࢦఆΛແࢹʁ w Կʹ͠Ζଐੑͷࢦఆ͠ͳ͍΄͏͕ྑͦ͞͏ %#͔Βऔಘ ଐੑͷࢦఆΛແࢹʁ
/4*OUFHFSʹ͢ΔͱCJU$16ͰࠔΔ͜ͱ ͋Δ
ωλ͕ਚ͖ͯ3FBMNͱ ؔͳ͍ΜͰ͕͢
w CJU$16ͷ߹/4*OUFHFSCJU w CJU͚ʹϏϧυ͞Ε্ͨͰCJU$16ͳΒ /4*OUFHFSCJUʹͳΔ w ϋʔυΣΞΞʔΩςΫνϟʹΑΒͣɺॴఆͷό ΠτͰ͋Δ͜ͱ͕อূ͞ΕͨΈࠐΈσʔλ ܕ͕0CK$Ͱ͑ΔͷͰͦΕΛ͏΄͏͕ྑ͍ 8FC"1*ͰCJUͷΛฦ
͞ΕΔࡍ
@interface Employ : RLMObject @property uint64_t identifier; @end ྫ͑ූ߸ͳ͠CJUͷΛอଘ͢Δඞཁ͕͋Δ ͳΒ/4*OUFHFSͰͳ͘JOU@UVJOU@UΛ͑
͍͍ͱࢥ͏
ͦͷଞ
w 3FBMN DPDPB ͷόʔδϣϯΞοϓ͕͍ w /4/VMMOJMΛಥͬࠐΊͳ͍͙͢ʹղܾ͢Δ ͩΖ͏ͱࢥ͏ w %#ͱͯ͠Ϣʔβʔͷखݩʹͬͯ͠·͏͜ͱͳ ͷͰมͳϫʔΫΞϥϯυΛͤͣͳΔ͘ૉ
ͳରԠ͍ͨ͠