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
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
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
120
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
220
VS Code Update for GitHub Copilot
74th
1
400
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.1k
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
470
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
820
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
160
Gleamという選択肢
comamoca
6
760
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
110
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
690
XSLTで作るBrainfuck処理系
makki_d
0
210
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
420
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
A Tale of Four Properties
chriscoyier
160
23k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Code Reviewing Like a Champion
maltzj
524
40k
How to Ace a Technical Interview
jacobian
277
23k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
940
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
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!