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 advanced topics and demo
Search
Realm
June 12, 2017
Technology
2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Realm advanced topics and demo
Realm advanced topics and demo
Realm World Tour Seoul June 8th 2017
Realm
June 12, 2017
More Decks by Realm
See All by Realm
WWDC 2017 Review
realm
0
2.2k
Xcode shortcuts
realm
0
4.8k
Self Branding with GitHub
realm
0
4.4k
Realm Mobile Platform overview and demo
realm
0
2.1k
Realm introduction Seoul meetup 10
realm
0
2.2k
Stuart Hall: How I got 2.3 Million App Downloads
realm
0
2k
James Majors: What the Swiftly Func?
realm
1
4.3k
Simina Pasat: Continuous everything for iOS apps
realm
0
670
James Majors: What making Records taught me about writing code
realm
0
1.4k
Other Decks in Technology
See All in Technology
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.6k
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
120
ブラウザ研修 2026
recruitengineers
PRO
5
830
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
LanceDB入門
mocobeta
5
190
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
230
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
470
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.8k
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
150
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
猫付きpingコマンドを自作
uyuki234
0
110
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
210
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
ラッコキーワード サービス紹介資料
rakko
1
4.3M
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Prompt Engineering for Job Search
mfonobong
0
400
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
Typedesign – Prime Four
hannesfritz
42
3.1k
The untapped power of vector embeddings
frankvandijk
2
1.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
740
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
73
41k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
570
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Transcript
Part 3: Advanced topics and demo Leonardo YongUk Kim (
[email protected]
)
• MVCC (RMD) • Zero Copy (RMD) • Event Handling
(RMD + RMP) • RMP Demo (RMP)
MVCC: Multi Version Concurrency Control
ݒ B+ ܻ৬ MVCC • ݒ B+ ܻܳ
ஸۢ ӝળਵ۽ ҳࢿ. • ߸҃ ࢎ೦ਸ MVCC(Multi Version Concurrency Control)۽ ҙܻ.
ݒ B+ ܻ … ప࠶ ܖ ஸۢਵ۽ࠗఠ ؘఠ
ਫ਼Ӭ݅ਃ? ৵ ஸۢࠗఠભ? … ప࠶ ܖ ஸۢਵ۽ࠗఠ ؘఠ
ੋؙझ ܴ ݫੌ ചߣഐ 1 ٣ܻয়
[email protected]
1004 2
[email protected]
1005 3 ѱஎ
[email protected]
1006 4 ш
[email protected]
1007
ੋؙझ ܴ ݫੌ ചߣഐ 1 ٣ܻয়
[email protected]
1004 2
[email protected]
1005 3 ѱஎ
[email protected]
1006 4 ш
[email protected]
1007 ܴਵ۽ ઑഥ೮णפ.
ੋؙझ ܴ ݫੌ ചߣഐ 1 ٣ܻয়
[email protected]
1004 2
[email protected]
1005 3 ѱஎ
[email protected]
1006 4 ш
[email protected]
1007 ాੋ ؘఋ߬झח ೠ ঀ פ. -> நए झ
ੋؙझ ܴ ݫੌ ചߣഐ 1 ٣ܻয়
[email protected]
1004 2
[email protected]
1005 3 ѱஎ
[email protected]
1006 4 ш
[email protected]
1007 ೠ ঀ ೞݶ ਊ ݏ ঋইࢲ ಁ٬ب ֍যঠ פ.
ੋؙझ ܴ ݫੌ ചߣഐ 1 ٣ܻয়
[email protected]
1004 2
[email protected]
1005 3 ѱஎ
[email protected]
1006 4 ш
[email protected]
1007 ೠঀ ೞݶ நएਯ ֫Ҋ ಁ٬ ਃহযਃ.
ߡ زदઁয(MVCC) A B C D F G E H
I ߡ 1 Root
ॳӝ ے࣌ ࢜ झշࢫਸ ٟ݅פ. A B C D F
G E H I E’ H’ C’ A’ Root ߡ 2
ॳӝ ীب ੍ӝо оמפ. A B C D F G
E H I E’ H’ C’ A’ ߡ 2 ॳӝ ߡ 1 ੍ӝ
੍ӝח ߓఋ ঋणפ. A B C D F G E
H I E’ H’ C’ A’ ߡ 2 ॳӝ ਬ 2: ߡ 1 ੍ӝ ਬ 1: ߡ 1 ੍ӝ
উפ A B C D F G E H I
E’ C’ A’ Root ߡ 1 ࢿ ܻૉ ߊࢤ ߡ 1 উ ನੋఠب ৈ ߡ 1ਵ۽
пӝ ܲ झۨ٘ ۽ஸਸ оפ. A B C D F
G E H I E’ H’ C’ A’ ਬ 3:ߡ 2 ॳӝ ਬ 2: ߡ 1 ੍ӝ ਬ 1: ߡ 1 ੍ӝ झۨ٘ ۽ஸ 1: ߡ 1 झۨ٘ ۽ஸ 2: ߡ 1 झۨ٘ ۽ஸ 3: ߡ 1 -> 2
ഒۆझ۞ ࣻ ח झۨ٘ ۽ஸ • ߓఋ ঋѱ ബਯਵ۽ ੍ӝ,
ॳӝܳ ೞӝ ਤ೧ ݫఋ ؘఠܳ झۨ٘ ױਤ۽ . • ݫݽܻ ݗਵ۽ োѾػ ؘఠח ݣ౭ झۨ٘۽ ҕਬغҊ . • ݅ झۨ٘ ۽ஸ۽ ৌܽ Realm, RealmList, RealmResults, RealmObject ёܳ ܲ झۨ٘۽ ׳ೡ ࣻ হ. • ܲ झۨ٘ীࢲ ௪ܻܳ ೞݶ ݣ౭ झۨ٘ ܐ ҕਬ ؋ী ߄۽ ੍.
Zero copy
җѢ ಕझ࠘ জ ޙઁ • JSON ੋ٬җ ٣٬ী ݆ ܻࣗझܳ
ೲ࠺. • ࢎਊغ ঋ ؘఠب ٣٬ਸ ೧ࢲ Java ёী ওযঠ ೣ. • ೧Ѿ଼: ҳӖ FlatBuffersܳ ॳ.
ాੋ ࣻച (Hydrate) • ؘఠ߬झীࢲ ܐܳ ޙৌա ӝఋ ੋ٬ ػ
ഋక۽ оઉ২פ. • य ٣٬ਸ ೧ࢲ оઉৡ ؘఠܳ ކٶ Java ёী ইસפ.
CPU৬ ݫݽܻܳ խ࠺ೞח ࣻച • ؘఠ߬झীࢲ ܐܳ ޙৌա ӝఋ ੋ٬ػ
ഋక۽ оઉ২פ. • ॳب ঋ ؘఠب оઉয়Ҋ ߸ജө Ѣଢ଼যਃ. • य ٣٬ਸ ೧ࢲ оઉৡ ؘఠܳ ކٶ Java ё ٘ ই સפ. • ॳب ঋਸ ؘఠܳ ࠗ द ߸ജೞҊ ކٶ ٘ী ওযਃ.
FlatBuffers • Facebook জীࢲ FlatBuffers (Google)ਸ بੑೞৈ ਬݺ೧.
Zero copy public long id() { int o = __offset(4);
return o != 0 ? bb.getLong(o + bb_pos) : 0; } public String name() { int o = __offset(6); return o != 0 ? __string(o + bb_pos) : null; } ByteBuffer bb = ByteBuffer.wrap(bytes); MyObject obj = MyObject.getRootAsMyObject(bb); long id = obj.id(); String name = obj.name();
• Realmب Zero copy അ rowী ೠ ࠁ ஸۢҗ ۽
ੋؙझী null ޙৌਸ पઁ ؘఠо ӟ ప࠶ ۽৬ ஸۢਸ ਊ೧ࢲ झ݂ਸ оҊ ১
• RealmProxyObject name setName getName RealmObject realmGet$name realmSet$name RealmProxyObject •
Annotation Processing Tool সਸ न೧સפ.
Event Handling
ؘఠ ܴ݅ ࢤпೞۄ. 1. ۄب ߮ ӝ߈ ۽Ӓې߁. 2. ࢲߡ
ࢎ٘(RMP)ب ߮ ӝ߈ ۽Ӓې߁. ۄ ؘఠ ߸҃ ࢲߡ ࢎ٘ ؘఠ ߸҃ ࢲߡ ೩ٜ۞ ഐ ۄ ೩ٜ۞ ഐ
ۄ ؘఠ ߸҃ ࢲߡ ࢎ٘ ؘఠ ߸҃ ࢲߡ ೩ٜ۞ ഐ
ۄ ೩ٜ۞ ഐ
ۄ ؘఠ ߸҃ ࢲߡ ࢎ٘ ؘఠ ߸҃ ࢲߡ ೩ٜ۞ ഐ
ۄ ೩ٜ۞ ഐ
Good bye REST!
RMP Demo
None
Code
জ ࣗѐ (Scanner)
ࢎա ଼ਸ झப೧ࢲ
IBM Watson ࢲ࠺झܳ ج۰ࢲ…
೧ࢳػ Ѿҗܳ ߈ജפ.
None
ࢎਊо ࢎਸ ନणפ.
۽ஸ DBী زӝചؾפ.
۽ஸ DB৬ ࢲߡо زӝച
ࢲߡ ߮ ೩ٜ۞о ৌ݀פ
߮ ೩ٜ۞о ৲टী ܳ ׳פ.
৲ट ܳ ࠙ࢳפ -_-b
ܻ Ѿҗо ߮ ೩ٜ۞ীѱ ܻఢ
߮ ೩ٜ۞о DBܳ সؘ פ
ࢲߡ৬ ۽ஸ DBо زӝച
ۄ ߸҃ ܻझց ഐغҊ UIܳ јनפ
Scanner জ ࣗ https://github.com/realm-demos/realm-scanner
[email protected]
ݽ؛ Scanner, Swift
None
nullਸ ೲਊೞ ঋणפ.
?۽ աח ఋੑ null ೲਊ
ݽ؛ Scanner, Java
None
RealmObject ёܳ ࢚ࣘ.
nullਸ ೲਊೞ ঋח ٘.
ળ getters/setters ࣻח ইתפ.
ੋૐ (Java)
None
ই٣, ಁझਕ٘ܳ ׳೧ࢲ SyncCredetialsܳ ٟ݅פ.
۽Ӓੋ
ੋૐ ࢲߡ ҃۽
ࢿҕ
Realm ࢸ
ؘఠ ߬झ ҃۽
Realm ੋझఢझ
Realm ੋझఢझܳ ੜ ײद. (ۨಌ۠झ )
ੋૐ (Swift)
۽Ӓੋਸ פ.
Realm ࢸ
Realm ੋझఢझ
নೠ ੋૐ (Java)
None
নೠ ੋૐ (Swift)
None
ॳӝ
None
ॳӝী݅ ے࣌ ࢤࢿ
ݽ؛ਸ ਊೞৈ ੋझఢझ ࢤࢿ
Scan ੋझఢझ ࢚క ࣻ
߸҃ ҙܻܳ ਤೠ ߮ ܻझց ١۾ ࢲߡա জ ܲ ࠗ࠙ীࢲ
ؘఠо ߸҃غਸ ٸ ܻझցܳ ഐ. (iOS ҃ীח Key-Value Observationب ਗ.)
੍ӝ
ё оઉয়ӝ
ఠ݂җ ۳
߸҃ ঌܿ (Java)
߸҃ػ ёо ੋ۽ ׳ؽ.
߸҃ ঌܿ (Swift)
iOS ળ Key-Value Observation
߸҃ ঌܿ (ࢲߡ)
None
ࢲߡ ߮ ೩ٜ۞ܳ ٜ݅ ٸח ѐ షਸ ਊ೧ࢲ ۽Ӓੋ.
ߑӘ ݅ٚ admin_user৬ NOTIFIER_PATH ҃۽, ࢚ױ ߔਵ۽ ܻझցܳ ١۾.
change_event নೠ ࣘࢿਸ ਊ.
Realm ੋझఢझ
ੌ۲ ࢚ ё.
ੋؙझо ୶о, ઁ, ߸҃ ਵ۽ ࣁೞѱ ׳. Fine-grained notifications.
Thank you
[email protected]
realm.io/kr
[email protected]