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 korean
Search
Realm
August 25, 2016
Technology
0
3.3k
Swift Realm korean
Slide for Let'Swift 2016 Korea conference
Realm
August 25, 2016
Tweet
Share
More Decks by Realm
See All by Realm
WWDC 2017 Review
realm
0
2.1k
Xcode shortcuts
realm
0
4.7k
Self Branding with GitHub
realm
0
4.3k
Realm Mobile Platform overview and demo
realm
0
2k
Realm advanced topics and demo
realm
0
2k
Realm introduction Seoul meetup 10
realm
0
2.1k
Stuart Hall: How I got 2.3 Million App Downloads
realm
0
1.9k
James Majors: What the Swiftly Func?
realm
1
4.3k
Simina Pasat: Continuous everything for iOS apps
realm
0
630
Other Decks in Technology
See All in Technology
トヨタ生産方式(TPS)入門
recruitengineers
PRO
5
1.2k
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
170
Browser
recruitengineers
PRO
6
1.7k
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
1
120
スプリントレトロスペクティブはチーム観察の宝庫? 〜チームの衝突レベルに合わせたアプローチ仮説!〜
electricsatie
1
120
ソフトウェア エンジニアとしての 姿勢と心構え
recruitengineers
PRO
21
10k
Microsoft Fabric のネットワーク保護のアップデートについて
ryomaru0825
1
110
認知戦の理解と、市民としての対抗策
hogehuga
0
410
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
170
モダンフロントエンド 開発研修
recruitengineers
PRO
7
4.5k
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
29
10k
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
1
330
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.5k
Faster Mobile Websites
deanohume
309
31k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
RailsConf 2023
tenderlove
30
1.2k
How to Think Like a Performance Engineer
csswizardry
26
1.8k
A better future with KSS
kneath
239
17k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Transcript
ݽ߄ੌ ؘఠ߬झ CodeLab
Minwoo Park߅ @tebica *OD
None
Core Data ॳࣁਃ?
There is no such thing as a free lunch ..
ॳӝ औҊ زࣘبо ࡅܰҊ নೠ ӝמਸ ઁҕೞҊ য়ࣗझݶࢲ ޖܐੋ
Swift ݽ߄ੌ ؘఠ߬झ
Swift ?
졶짢핊섾핂쩮핂큲42-JUF$PSF%BUB읊샎 찮읆콛솒 쭎믾쁳 퀺풂칺푷 [FSPDPQZ 짆묻킲읺쨆읺큲펓 짆묻 셂잖 훊 솓핊
폏묻 묻 훟묻 핊쫆 폲콚큲 줂욚 IUUQSFBMNJPLS
Mobile DB World
SQLite ୌೞ Mobile DB World
2014֙ 7ਘ 15ੌ ҕѐ
2 ֙ դ Ә, न Realmਸ ॳҊ
!
*T
None
Realm [relm] ۬ http://endic.naver.com/enkrEntry.nhn? sLn=kr&entryId=57e330e64f644ffda62f545eb1ed4bbe
Realm is not an ORM on top of SQLite Realm
has own C++ core Core Data GreenDAO ORM lite ActiveAndroid are Sqlite based
C++ core: cross platform
Why Realm?
1. Fast 2. Easy to use 3. Features
Fast
http://static.realm.io/downloads/java/android-benchmark.zip
None
memory mapped file Zero-copy
Traditional ORM must copy 1. Data on disk 2. Read
from disk 3. Copy raw data into deserialised intermediate in-memory representation (allocates memory) 4. Copy intermediate representation into language-level in-memory object (allocates memory) 5. Return final object from property access
Realm skips the copy Whole file is memory-mapped & same
format on disk as in-memory 1. Calculate offset of data to read 2. Read from mmapped file 3. Return raw value from property access
Results ز সؘ
Easy to use
рѾೠ ٘
নೠ ௪ܻ + Chaining ௪ܻ
Sorting
Relation
Blocking write Non-blocking read Thread safety
Features for mobile developers
In-memory Realm
AES-256+SHA2 by 64-byte encryption key Encryption
ݣ౭ Threadীࢲ Realm ࢎਊೞӝ ˖펺얺큲엖슪읊멆맧픎3FBMN핆큲큲읊뫃퓮쿦펔삲 ˖팒줂쌚빦믆킪헞픦큲뺓컅섾핂읊짦몮 삲읆큲엖슪펞컪섾핂많쪎몋쇦펖쁢힎읊먿헣푢펔핂 캏핊뫎쇪섾핂읊쫊쿦핖킃삖삲
Realm backgroundীࢲ সؘ غਸٸ UI Thread ীࢲ ঌܿ ߉Ҋ रযਃ!
& fine-grained notification Notification
Browser
CSV Converter
String & Data upto 16MB
None
.JHSBUJPO %FCVHHJOH .VMUJQMF%#
And..
https://github.com/realm/ Open source
Issue on Github
PR on Github
Work with community
Growing fast
None
դ 1֙زউ Realmীѱ ޖटੌ ա? Fine-Grained Notifications Nanosecond Dates Optional
Properties Swift 2 Swift Playgrounds + REPL Live, Queryable Inverse Relationships Key-Value Observation Predicate Subqueries Results Background Updates Encrypted Realm Debugging ObjC Nullability & Generics tvOS watchOS Improved KVC for Collections Frozen Enumeration Schema Subsets Better Carthage Support RealmCollectionType Realm.Configuration Query Improvements Performance Improvements Memory Overhead Improvements Error Handling Improvements Interprocess Improvements Migrations Class Renaming Skipping Migrations
Already compatible with Swift 3 & Xcode 8 https://github.com/realm/realm-cocoa/issues/3796
Facebook Community
Realm, Swift झ
• Realm ೠҴ ಕझ࠘ ಕ: facebook.com/realmkr • Realm ೠҴ ಕझ࠘
Ӓܛ: facebook.com/groups/realmkr • Realm ೠҴ ਤఠ: twitter.com/realmkorea • GitHub: github.com/realm • StackOverflow: stackoverflow.com/questions/tagged/realm • Email:
[email protected]
묻펂 &OHMJTITVQQPSU Strong support
None
Want to be the default choice for iOS/Android
Swift ۽ ॻৈҊ Swift ܳ ਗೞҊח Swift ֎౭࠳ ؘఠ߬झ ޛۿ
Objective-C ب ਗ೧ਃ~
Made by great developers
For great developers
ݽ߄ੌ ѐߊ ҕ ब
Thank you Minwoo Park
[email protected]
www.realm.io/kr @realmkorea