Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Caching data in a connected world - VADG
Search
Iván Martín
March 23, 2017
Programming
0
160
Caching data in a connected world - VADG
Iván Martín
March 23, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
190
AI時代もSEOを頑張っている話
shirahama_x
0
190
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
310
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
210
「文字列→日付」の落とし穴 〜Ruby Date.parseの意外な挙動〜
sg4k0
0
320
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
110
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
4
1.5k
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
620
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
11k
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
12
7.4k
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
210
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
13
5.5k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Building Adaptive Systems
keathley
44
2.8k
Code Reviewing Like a Champion
maltzj
527
40k
Agile that works and the tools we love
rasmusluckow
331
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Docker and Python
trallard
46
3.7k
BBQ
matthewcrist
89
9.9k
Transcript
Caching data in a connected world Iván José Martín García
Github: seik Twitter: @seikv
Problema
Problema
Problema
Problema Vivimos en un mundo conectado.
Dependencias
RxJava
<Observable> •Clase principal en la programación reactiva. • Trabaja sobre
un “flujo de datos”. • .subscribeOn() • .observeOn() • Transformaciones.
Realm • Persistir datos de una forma simple. • Muy
fácil de implementar/mantener. • Rápido, muy rápido.
Realm A tener en cuenta
Realm Evaluación perezosa.
Realm Not thread safe.
Realm Object (Necesarios getters y setters)
Guardar datos 1. Obtenemos una instancia de Realm 2. Ejecutamos
una transacción donde guardamos nuestros datos. 3. Cerramos la instancia de realm si no la vamos a usar más.
Obtener datos 1. Obtenemos una instancia de Realm 2. Ejecutamos
una query. 3. Cerramos la instancia de realm si no la vamos a usar más.
Remote API Representación Local Repository
Local 1. Query. 2. Devolvemos el usuario como observable, si
no existe devolvemos un observable vacío.
Remote Llamamos al servicio y por cada item ejecutamos nuestra
función de guardado.
Repository 1. Nos suscribimos en el main thread. 2. Observamos
los cambios en el main thread.
Repository 1. Nos suscribimos en background. 2. Observamos los cambios
en el main thread.
Repository Concatenamos ambos Observables
Representación Manejamos los datos y mostramos un aviso si no
se ha podido mostrar información actualizada.
Representación Nos desuscribimos.
Demo
Demo
Demo https://github.com/Seik/vadg-caching-data
¡Muchas gracias!