Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
次世代MobileデータベースRealm
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kishikawa Katsumi
February 19, 2016
Programming
540
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
次世代MobileデータベースRealm
Developers Summit 2016
Kishikawa Katsumi
February 19, 2016
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
Accessibility APIでテキストの内容、位置、サイズを取得する実装パターン
kishikawakatsumi
0
87
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
200
Running Swift without an OS
kishikawakatsumi
0
1.2k
浮動小数の比較について
kishikawakatsumi
0
640
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
280
愛される翻訳の秘訣
kishikawakatsumi
3
500
Private APIの呼び出し方
kishikawakatsumi
3
1.1k
iOSでSVG画像を扱う
kishikawakatsumi
0
270
Other Decks in Programming
See All in Programming
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.4k
Are APIs Still Relevant in the AI Era?
soyuka
0
400
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
5.9k
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
230
速習iPhone Duo対応
yuukiw00w
2
930
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
430
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
9.4k
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.4k
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
210
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
260
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
520
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
340
Being A Developer After 40
akosma
91
590k
Making Projects Easy
brettharned
120
6.8k
From π to Pie charts
rasagy
1
380
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
340
Building a Scalable Design System with Sketch
lauravandoore
464
34k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
Agile that works and the tools we love
rasmusluckow
331
22k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
440
Chasing Engaging Ingredients in Design
codingconduct
0
340
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Transcript
如⚅➿.PCJMFر٦ةك٦أ 3FBMN
IUUQTHJUIVCDPNLJTIJLBXBLBUTVNJ LJTIJLBXBLBUTVNJ IUUQCMPHLJTIJLBXBLBUTVNJDPN 3FBMN 5FDIOJDBM"EWJTPS 3FBMN*OD։
None
3FBMNהכ⡦ַ
ٌغ؎ٕرغ؎أ㼔欽ח倜׃ֻ⡲ر٦ةك٦أ 0CKFDUJWF$䎃剢։ +BWB䎃剢։ 4XJGU䎃剢։ ٌغ؎ٕ欽鷿ח剑黝⻉ׁגְ 鹼䒀ٗ٦س ئٗ؝ؾ٦ ط؎ذ؍ـ٥ؙٔٝ 3FBMNהכ⡦ַ
ؔ٦فٝا٦أ ぐ珏غ؎ٝر؍ؚٝ0CKDUJWF$4XJGU+BWBⰕ׆ ⰻ鿇أزٖ٦آؒٝآٝתזֻⰕ✮㹀 杝荈ؒٝآٝ42-JUF⢪גְזְ 3FBMNהכ⡦ַ
넝鸞ז⹛⡲ 农〾⻉垥彊鄲⪒ وٕثفٓحزؿؓ٦ي J04049"OESPJE +4JOCFUB /&5JODPNJOH 湫䠬涸דءٝفٕז"1* ♨㻝ז؟ه٦ز傈劤铂0, 3FBMNך暴ꞿ
None
3FBMNِ٦ؠ٦
3FBMNָ⢪גְ،فٔ 傈劤穗幥倜耀ꨵ㶨晛 1JOUFSFTU $BNFSBO "8" 薉⽃铂؟فٔ 4ZODCZ8BOUFEMZ $IBUXPSL (SPVQPO GFBUIFSGPS5XJUUFS
5XJUQBOF 'BMDPO1SP "QMPT J$PNJDT &JHIUCZ4BOTBO
넝鸞ז⹛⡲
*OTFSU6QEBUF .7$$،٦ؗذؙثٍ ط؎ذ؍ـ٥ؙٔٝ 2VFSZ ئٗ؝ؾ٦ 鹼䒀ٗ٦س 넝鸞ז⹛⡲
ػؿؓ٦وٝأ嫰鯰
傈劤Ⰻ㕂ך⡝䨽♰⟝嗚稊ׅ،فٔ
HJUIVCDPNLJTIJLBXBLBUTVNJ3FBMN$PSF%BUB1FSGPSNBODF
Realm CoreData શ݅औಘ 0.0004ඵ 8.01ඵ ෦Ұகݕࡧ 0.09ඵ 1.27ඵ ෦Ұகݕࡧʴιʔτ 0.09ඵ
2.23ඵ ♰⟝ך⡝䨽ر٦ةך嗚稊鸞䏝
Realm CoreData શ݅औಘ 12MB 65MB ෦Ұகݕࡧ 12MB 18MB ෦Ұகݕࡧʴιʔτ 12MB
20MB ♰⟝ך⡝䨽ر٦ةך嗚稊ًٌٔ嶊顤
农〾⻉堣腉
let key = NSMutableData(length: 64)! SecRandomCopyBytes(kSecRandomDefault, key.length, UnsafeMutablePointer<UInt8>(key.mutableBytes)) let config
= Realm.Configuration(encryptionKey: key) let realm = try! Realm(configuration: config) 农〾⻉堣腉
إٝءذ؍ـז䞔㜠ך⥂㶷 խ⦐➂䞔㜠ծ،ؕؐٝزز٦ؙٝזו 衼⡲埄זוד⥂隊ׁر٦ة 农〾⻉堣腉
وٕثفٓحزؿؓ٦ي
None
class Article: Object { dynamic var id: Int = 0
dynamic var title: String = "" dynamic var contents: String = "" dynamic var creationDate: NSDate = NSDate() dynamic var modificationDate: NSDate = NSDate() dynamic var deletionDate: NSDate? = nil dynamic var user: User? = nil let comments = List<Comment>() } ٌرٕذ٦ـٕ㹀纏 J04
public class Article extends RealmObject { @PrimaryKey private int id;
private String title; private String contents; private Date creationDate; private Date modificationDate; private Date deletionDate; private User user; private RealmList<Comment> user; } ٌرٕذ٦ـٕ㹀纏 "OESPJE
let realm = try! Realm() // RealmίωΫγϣϯ let article =
Article() article.title = titleTextfield.text article.contents = contentTextfield.text realm.write { // τϥϯβΫγϣϯ realm.add(article) } ر٦ةך⥂㶷 J04
Realm realm = Realm.getInstance(this); // RealmίωΫγϣϯ realm.beginTransaction(); // τϥϯβΫγϣϯ։࢝ Article
article = realm.createObject(Article.class); article.setText(titleTextfield.getText()); article.setContents(contentTextfield.getText()); realm.commitTransaction(); // τϥϯβΫγϣϯऴྃ ر٦ةך⥂㶷 "OESPJE
let realm = try! Realm() letɹarticles = realm .objects(Article) .filter("user
= %@", currentUser) .sorted("modificationDate", ascending: false) ؙؒٔ J04
Realm realm = Realm.getInstance(this); RealmResults<Article> result = realm .where(Article.class) .equalTo("user.id",
currentUser.getId()) .findAll() .sort("modificationDate", Sort.DESCENDING); ؙؒٔ "OESPJE
Storage Engine ObjectStore API Objective-C Binging Java Binging Swift Binging
C++ وٕثفٓحزؿؓ٦ي佄ִ ،٦ؗذؙثٍ
J04"OESPJE⚕倯ד3FBMNָ⢪גְ،فٔ "8" &JHIUCZ4BOTBO 㹺做،ٕغيגי J20/
ٌغ؎ٕرغ؎أפך剑黝⻉ ך➬穈
䗡䎿׃鹼䒀ٗ٦س
颩ְغ؎ٝر؍ؚٝ堣圓ח״䗡䎿׃鹼䒀ٗ٦س فٗػذ؍ח،ؙإأׅתדְַזر٦ة⥂䭯׃זְ 㣐ꆀךر٦ة侧⼧ծ侧涰♰⟝ד넝鸞ח満ًٌٔד⸬桦״ֻ䪔ִ 䗡䎿׃鹼䒀ٗ٦س
పఈͨ͠Ԇϩʔυ articles = realm.objects(Article).filter("user = %@", currentUser)
పఈͨ͠Ԇϩʔυ articles = realm.objects(Article) .filter("user = %@", currentUser)
పఈͨ͠Ԇϩʔυ let allArticles = realm.objects(Article) let articles = allArticles.filter(“user =
%@", currentUser)
పఈͨ͠Ԇϩʔυ let allArticles = realm.objects(Article) let articles = allArticles.filter(“user =
%@", currentUser) 3FTVMUT"SUJDMF 5BCMF"SUJDMF
పఈͨ͠Ԇϩʔυ let allArticles = realm.objects(Article) let articles = allArticles.filter(“user =
%@", currentUser) 3FTVMUT"SUJDMF 5BCMF"SUJDMF 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS
పఈͨ͠Ԇϩʔυ let articles = allArticles.filter(“user = %@", currentUser) let count
= articles.count 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS $PVOU 7JFX
పఈͨ͠Ԇϩʔυ let count = articles.count let article = articles[0] 3FTVMUT"SUJDMF
5BCMF"SUJDMF 2VFSZVTFS $PVOU 7JFX "SUJDMF 3PX*OEFY 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS $PVOU 7JFX
పఈͨ͠Ԇϩʔυ let article = articles[0] let title = article.title "SUJDMF
3PX*OEFY 3FTVMUT"SUJDMF 5BCMF"SUJDMF 2VFSZVTFS $PVOU 7JFX "SUJDMF 3PX*OEFY 5JUMF(FUUFS 3FBMN 4USJOH 5JUMF
ئٗ٥؝ؾ٦ ر٦ة♧ⴖ؝ؾ٦׃זְ
.FNPSZNBQQFEؿ؋؎ٕ ًٌٔהر؍أؙ♳דずׄؿؓ٦وحزךر٦ة ׅץגךؙؒٔכؔؿإحزך乼⡲ فٗػذ؍ך،ؙإأדⴱגر٦ة《䖤 ئٗ٥؝ؾ٦
3FBMN ך➭ך03. 㹋ꥷח،ؙإأׅ鿇ⴓ ֽر٦ة铣⳿ׅ ⟝侧ⴓך ؔـآؙؑز ָ⡲
.7$$"SDIJUFDUVSF .VMUJ7FSTJPO$PODVSSFODZ$POUSPM
.VMUJ7FSTJPO$PODVSSFODZ$POUSPM غ٦آّٝ㾶娖ח״زٓٝؠؙءّٝך盖椚 ぐزٓٝؠؙءّٝכծ֮儗挿ךأشحفءّحز 铣鴥כⴽך铣鴥ծ剅ֹ鴥ـٗحؙ׃זְ 剅ֹ鴥כ铣鴥ـٗحؙ׃זְ 剅ֹ鴥ה剅ֹ鴥כـٗحؙׅ .7$$"SDIJUFDUVSF
ꟼ鸬ך؝أزָ㸜ְ ط؎ذ؍ـ٥ؙٔٝ
3FBMNךر٦ة圓鸡כ䊬㣐ז# USFF 㼎ծ㼎㢳ךꟼ鸬荈搫ח邌植דֹ ه؎ٝة籬ּֽծ؝أزך넝ְ+PJOכ♶銲 6*ך鿪さחさׇגر٦ة圓鸡㹀纏׃װְׅ ꟼ鸬ך؝أزָ㸜ְ
ⵖꣲ✲갪חאְג
㛇劤涸ז俑㶵הغ؎زꂁծ傈➰ծ׃ג侧⦼㘗ך ꂁװ鳤剅湫䱸⥂㶷דֹזְ㔐鼘瘻ؔـآؙؑزדٓحفׅ 㼛勻涸חכ㢳圫זر٦ة㘗.BQ4FU 63- 㔿㹀鹌侧 FUD؟ه٦ز ٌرٕךⵖꣲ
䗳׆暴㹀ךؙٓأך؟ـؙٓأדזֽלזזְ 3FBMNؔـآؙؑزכ鹼䒀ٗ٦سך㹋植ךծفٗؗءה׃ג⹛⡲ׅ ךדծ鸐䌢ךؔـآؙؑزה殯ז㜥さָ֮ أٖحس馄ִג3FBMNؔـآؙؑز床ֿׅהָדֹזְ 3FBMNؔـآؙؑزךⵖꣲ
宕竲⻉ׁגְזְ⦼ח㼎ؙׅؒٔכ劢؟ه٦ز ꟼ侧זוד㢌䳔׃⦼勴⟝חׅծ醱侧ךؕٓيךさ鎘⦼勴⟝ח ׅזו 宕竲⻉ׁגְזְ⦼嗚稊穠卓ה׃ג㼪⳿ׅ 䚍ⴽָˏ'ˏה.ד⥂㶷ׁגְהֹծ侧⦼ח㢌䳔׃ג侧ִ ♳־זו ؙؒٔךⵖꣲ
J1IPOFזודכ֮玎䏝⟃♳ךؿ؋؎ٕ؟؎ؤחזהNNBQ ָ㣟 侁ׅؿ؋؎ًٌٕٔחوحؾؚٝדֹזְ رغ؎أ⣛㶷ָծְְ.#։ 㼛勻涸חծًٌٔوحفך眔㔲ⴓⶴֿׅהד㼎䘔✮㹀 ؿ؋؎ٕ؟؎ؤךⵖꣲ
3FBMNחאְג锃ץ 罋项俱
˖ Ⱅ䒭8FC؟؎ز! IUUQTSFBMNJPKQ ˖ (JU)VC IUUQTHJUIVCDPNSFBMNSFBMNDPDPB IUUQTHJUIVCDPNSFBMNSFBMNKBWB
˖ ِ٦ؠ٦ؚٕ٦ف! IUUQTXXXGBDFCPPLDPNHSPVQTSFBMNKQ ˖ ؟ه٦زثٍحز! IUUQTMBDLSFBMNJP ˖ 5XJUUFS! IUUQTUXJUUFSDPNSFBMN+BQBO ˖ ى٦ز،حف! IUUQSFBMNDPOOQBTTDPN 罋项俱
3FBMN+BQBONFFUVQ SFBMNDPOOQBTTDPN
3FBMN+BQBONFFUVQ SFBMNJPKQOFXT
3FBMN+BQBONFFUVQ SFBMNDPOOQBTTDPN ։ه٦ز吳䒭⠓爡銮倜㺊 ։ٖغٖآ٦ؤ吳䒭⠓爡幪靼ؼؕٔؒ ։4BOTBO吳䒭⠓爡邌麣
3FBMNعٝؤؔٝ SFBMNDPOOQBTTDPN ։ٖغٖآ٦ؤ吳䒭⠓爡幪靼ؼؕٔؒ
3FBMN+BQBO6TFS(SPVQ GBDFCPPLDPNHSPVQTSFBMNKQ
1VCMJD3FBMN4MBDL! TMBDLSFBMNJP