SlideShare une entreprise Scribd logo
1  sur  75
Télécharger pour lire hors ligne
Core Data in Motion
NSScotland 2013 - Oct 19/20

Monday, 21 October, 13
Who?
• Lori M Olson
• @wndxlori
• on Github too
• and ADN
Monday, 21 October, 13
i Develop
•

•

Monday, 21 October, 13

Ruby (mostly)

•
•
•

Rails
iOS (RubyMotion)
JRuby

Javascript (some)

•
•
•

jQuery
Maps/Charts
Javascript Testing
i Teach
• Ruby on Rails for Real Developers
(RoR4Real)

• Rails for iOS Developers (Rails4iOS)
• Ladies Learning Code - Ruby Introduction

Monday, 21 October, 13
i Speak
•
•
•
•
•

Monday, 21 October, 13

2013

•

RubyConf AU, NSScotland

2012

•

Confoo, RailsConf, Aloha RubyConf

2011

•

jQueryConf, Madison Ruby

2010

•

Conferencia Rails

2009

•

RailsConf
Warning:
LOTS of code

Monday, 21 October, 13
The Story
• To rewrite a (mobile) web application
(WIMBY) as an iOS application

• Using RubyMotion
• WIMBY = Wells In My Back Yard

Monday, 21 October, 13
The Challenges
• LOTS of data
• On a Map
• In a list (table view)
• Filtering by location
Monday, 21 October, 13
Oh, not much data
Monday, 21 October, 13
RubyMotion gems/DSL’s
• Nitron
• MotionDataWrapper
• MotionModel
• MotionMigrate
Monday, 21 October, 13
iOS Basics
• Ray Wenderlich!
• http://www.raywenderlich.com/934/coredata-tutorial-for-ios-getting-started

Monday, 21 October, 13
Problems
• RubyMotion gems/DSL’s hide a lot
• Straight iOS Objective-C development
relies on Xcode magic (hides a lot)

• Complex data is complex
• Large data is large
• What do I do when I reach the limitations
of these solutions?

Monday, 21 October, 13
The Real Problem
• Sometimes you just need to understand

how to solve problems at the most basic
API code level, and the abstractions (and
magic) just get in the way

Monday, 21 October, 13
It’s not as scary as it looks
Monday, 21 October, 13
What?
• Models (entities) in code
• Relationships in code
• Loading data
• Optimization
Monday, 21 October, 13
Models in code

Monday, 21 October, 13
Models in Code
• Hey, isn’t there a sample app for that?
• Locations
• https://github.com/HipByte/

RubyMotionSamples/tree/master/ios/
Locations

• MVCS pattern
Monday, 21 October, 13
location.rb (model)
Monday, 21 October, 13
location.rb (entity)
Monday, 21 October, 13
location.rb (properties)
Monday, 21 October, 13
location_store.rb (store)
Monday, 21 October, 13
location_store.rb (MoM)
Monday, 21 October, 13
location_store.rb (psc)
Monday, 21 October, 13
location_store.rb (MoC)
Monday, 21 October, 13
That was easy

Monday, 21 October, 13
Or was it?

Monday, 21 October, 13
Monday, 21 October, 13
Overly simplistic
• Doesn’t work with multiple models with
relationships

• You need a reference to an entity, to define
a relationship fully

Monday, 21 October, 13
Chicken & Egg problem
Monday, 21 October, 13
Relationships in code

http://www.slowfamilyonline.com/2011/12/slow-news-day-hooray-for-low-tech-toys/tinkertoys/

Monday, 21 October, 13
Solution
• Define your entities. First.
• Lazily! define your entities’ properties
• properties = (attributes and relationships)

Monday, 21 October, 13
Another example
• Ray Wenderlich’s Failed Bank example has 2
models

• So let’s just start there

Monday, 21 October, 13
Just the entity...
Monday, 21 October, 13
MoM, lazily defined properties
Monday, 21 October, 13
attributes
Monday, 21 October, 13
attributes
Monday, 21 October, 13
relationships
Monday, 21 October, 13
relationships
Monday, 21 October, 13
The “other” model
Monday, 21 October, 13
Relationships
• Done
• With that, you can pretty much define any

kind of model and relationship you want, in
code, no magic required.

Monday, 21 October, 13
Data Loading

https://twitter.com/usmanm/status/388407160159211520/photo/1

Monday, 21 October, 13
iOS Core Data Basics
• Back to Ray
• http://www.raywenderlich.com/12170/coredata-tutorial-how-to-preloadimportexisting-data-updated

Monday, 21 October, 13
The RubyMotion way
Monday, 21 October, 13
Read the data file (JSON)
Monday, 21 October, 13
Add data to store
Monday, 21 October, 13
add_bank
Monday, 21 October, 13
That was easy

Monday, 21 October, 13
Or was it?

Monday, 21 October, 13
How many wells do I
have to load again?

Monday, 21 October, 13
244,292
Oh.

Monday, 21 October, 13
save for each add
Monday, 21 October, 13
That won’t work
•
•
•
•
Monday, 21 October, 13

Read in the whole file first?!?
add, save, add, save

•

horribly inefficient for large data loads

add, add, add ...., save once

•

yah, never mind

add, add, add, save, add, add, add, save

•

better, but still fails on out-of-memory
Wait, what?

Monday, 21 October, 13
Back to Core Data
Basics
• Thankfully, Ray figured that out.
• Updated the tutorial to operate as an OS X
(console) app.

• RubyMotion can do that, too.

Monday, 21 October, 13
New, improved load
Monday, 21 October, 13
streaming (CSV) load
Monday, 21 October, 13
create_bank (no save)
Monday, 21 October, 13
saves, every 100
progress every 100/1000
Monday, 21 October, 13
Catch the odd ones
Monday, 21 October, 13
Ta da!
244,292 wells loaded

Monday, 21 October, 13
And then your table
view chokes on 244k
items

Monday, 21 October, 13
Optimization!

http://fineartamerica.com/featured/dont-cross-the-streams-trever-miller.html

Monday, 21 October, 13
Back to Basics (again)
• Ray sure has a lot of good material, doesn’t
he?

• http://www.raywenderlich.com/999/coredata-tutorial-for-ios-how-to-usensfetchedresultscontroller

Monday, 21 October, 13
Why?
• NSFetchedResultsController gives us huge
performance benefits

• Avoids loading all the data in memory at
once

Monday, 21 October, 13
bank_store.rb
Monday, 21 October, 13
failed_bank_table_view_controller.rb
Monday, 21 October, 13
failed_bank_table_view_controller.rb
Monday, 21 October, 13
number of rows
Monday, 21 October, 13
cell for row
Monday, 21 October, 13
configure cell
Monday, 21 October, 13
the delegate
Monday, 21 October, 13
Monday, 21 October, 13
DEMO!

Monday, 21 October, 13
That’s All, Folks!
•
•

Questions? Comments?

•
•
•
•

@wndxlori

Monday, 21 October, 13

https://github.com/wndxlori/
WNDXRubyMotion/tree/master/FailedBankCD
lori@wndx.com
http://www.linkedin.com/in/loriolson
http://www.wndx.com
Core Data in Motion
• It’s an ebook!
• Early pre-release
• http://coredatainmotion.com

Monday, 21 October, 13

Contenu connexe

Tendances

Rails & Backbone.js
Rails & Backbone.jsRails & Backbone.js
Rails & Backbone.js
Cheenu Madan
 

Tendances (20)

[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders
 
Triage: real-world error logging for web applications
Triage: real-world error logging for web applicationsTriage: real-world error logging for web applications
Triage: real-world error logging for web applications
 
Javascript now and in the future
Javascript now and in the futureJavascript now and in the future
Javascript now and in the future
 
SFJS 6-19-2012
SFJS 6-19-2012SFJS 6-19-2012
SFJS 6-19-2012
 
Gatsby vs. Next.js
Gatsby vs. Next.jsGatsby vs. Next.js
Gatsby vs. Next.js
 
SF Hadoop Users Group August 2014 Meetup Slides
SF Hadoop Users Group August 2014 Meetup SlidesSF Hadoop Users Group August 2014 Meetup Slides
SF Hadoop Users Group August 2014 Meetup Slides
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
 
Windycityrails page performance
Windycityrails page performanceWindycityrails page performance
Windycityrails page performance
 
Amazing Speed: Elasticsearch for the .NET Developer- Adrian Carr, Codestock 2015
Amazing Speed: Elasticsearch for the .NET Developer- Adrian Carr, Codestock 2015Amazing Speed: Elasticsearch for the .NET Developer- Adrian Carr, Codestock 2015
Amazing Speed: Elasticsearch for the .NET Developer- Adrian Carr, Codestock 2015
 
Untangling spring week11
Untangling spring week11Untangling spring week11
Untangling spring week11
 
Lisp in the Cloud
Lisp in the CloudLisp in the Cloud
Lisp in the Cloud
 
PharoDAYS 2015: On Relational Databases by Guille Polito
PharoDAYS 2015: On Relational Databases by Guille PolitoPharoDAYS 2015: On Relational Databases by Guille Polito
PharoDAYS 2015: On Relational Databases by Guille Polito
 
Untangling spring week9
Untangling spring week9Untangling spring week9
Untangling spring week9
 
[CocoaHeads Tricity] Michał Zygar - Consuming API
[CocoaHeads Tricity] Michał Zygar - Consuming API[CocoaHeads Tricity] Michał Zygar - Consuming API
[CocoaHeads Tricity] Michał Zygar - Consuming API
 
Rails & Backbone.js
Rails & Backbone.jsRails & Backbone.js
Rails & Backbone.js
 
UNM Tech Day 2018 - Ansible: 
Server and Network Device Automation
UNM Tech Day 2018 - Ansible: 
Server and Network Device AutomationUNM Tech Day 2018 - Ansible: 
Server and Network Device Automation
UNM Tech Day 2018 - Ansible: 
Server and Network Device Automation
 
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.jsThrough Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
 
Can i Get C# for Free ?
Can i Get C# for Free ?Can i Get C# for Free ?
Can i Get C# for Free ?
 
Week10
Week10Week10
Week10
 
Untangling spring week10
Untangling spring week10Untangling spring week10
Untangling spring week10
 

En vedette

Boletín Informativo de MERCATENERIFE Nº22
Boletín Informativo de MERCATENERIFE Nº22Boletín Informativo de MERCATENERIFE Nº22
Boletín Informativo de MERCATENERIFE Nº22
MERCATENERIFE
 
Nobia Interim Report Q2 2011-07-19
Nobia Interim Report Q2 2011-07-19Nobia Interim Report Q2 2011-07-19
Nobia Interim Report Q2 2011-07-19
Nobia Group
 
Minerva - Divulgação dos resultados do 1T09
Minerva - Divulgação dos resultados do 1T09Minerva - Divulgação dos resultados do 1T09
Minerva - Divulgação dos resultados do 1T09
BeefPoint
 
Store Operation Process
Store Operation ProcessStore Operation Process
Store Operation Process
Shahzad Khan
 
A história das equações do segundo grau
A história das equações do segundo grauA história das equações do segundo grau
A história das equações do segundo grau
Adriano Capilupe
 

En vedette (20)

PROYECTO
PROYECTOPROYECTO
PROYECTO
 
Boletín Informativo de MERCATENERIFE Nº22
Boletín Informativo de MERCATENERIFE Nº22Boletín Informativo de MERCATENERIFE Nº22
Boletín Informativo de MERCATENERIFE Nº22
 
PLE
PLEPLE
PLE
 
Smart recycling workflow
Smart recycling workflowSmart recycling workflow
Smart recycling workflow
 
The rabbits / Presentacion de los conejos en ingles
The rabbits / Presentacion de los conejos en inglesThe rabbits / Presentacion de los conejos en ingles
The rabbits / Presentacion de los conejos en ingles
 
Digital Torque Wrench-Shore Durometer
Digital Torque Wrench-Shore DurometerDigital Torque Wrench-Shore Durometer
Digital Torque Wrench-Shore Durometer
 
Nobia Interim Report Q2 2011-07-19
Nobia Interim Report Q2 2011-07-19Nobia Interim Report Q2 2011-07-19
Nobia Interim Report Q2 2011-07-19
 
2014 - Images of NOVEMBER - Nov 9 - Nov 15_PPS
2014 -  Images of NOVEMBER - Nov 9 - Nov 15_PPS2014 -  Images of NOVEMBER - Nov 9 - Nov 15_PPS
2014 - Images of NOVEMBER - Nov 9 - Nov 15_PPS
 
Mode d’emploi LEDsky - Comment brancher un ruban à led étanche?
Mode d’emploi LEDsky - Comment brancher un ruban à led étanche?Mode d’emploi LEDsky - Comment brancher un ruban à led étanche?
Mode d’emploi LEDsky - Comment brancher un ruban à led étanche?
 
Minerva - Divulgação dos resultados do 1T09
Minerva - Divulgação dos resultados do 1T09Minerva - Divulgação dos resultados do 1T09
Minerva - Divulgação dos resultados do 1T09
 
Betaloc Tablets for Treating High Blood Pressure
Betaloc Tablets for Treating High Blood PressureBetaloc Tablets for Treating High Blood Pressure
Betaloc Tablets for Treating High Blood Pressure
 
Manuel eGroupWare pour les utilisateurs v.1.02
Manuel eGroupWare pour les utilisateurs v.1.02Manuel eGroupWare pour les utilisateurs v.1.02
Manuel eGroupWare pour les utilisateurs v.1.02
 
Orientation Classes Presentation
Orientation Classes PresentationOrientation Classes Presentation
Orientation Classes Presentation
 
Prezentare materiale compozite
Prezentare materiale compozitePrezentare materiale compozite
Prezentare materiale compozite
 
Store Operation Process
Store Operation ProcessStore Operation Process
Store Operation Process
 
Parque Nacional Laguna de la Restinga (2003)
Parque Nacional Laguna de la Restinga (2003)Parque Nacional Laguna de la Restinga (2003)
Parque Nacional Laguna de la Restinga (2003)
 
A história das equações do segundo grau
A história das equações do segundo grauA história das equações do segundo grau
A história das equações do segundo grau
 
Bonificaciones nuevos autónomos oct 2015
Bonificaciones nuevos autónomos oct 2015Bonificaciones nuevos autónomos oct 2015
Bonificaciones nuevos autónomos oct 2015
 
Étude nationale covoiturage courte distance : leviers d'action et benchmark
Étude nationale covoiturage courte distance : leviers d'action et benchmarkÉtude nationale covoiturage courte distance : leviers d'action et benchmark
Étude nationale covoiturage courte distance : leviers d'action et benchmark
 
The future of the business landscape: What's in store for companies?
The future of the business landscape: What's in store for companies?The future of the business landscape: What's in store for companies?
The future of the business landscape: What's in store for companies?
 

Similaire à Core Data in Motion

eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
PatrickCrompton
 
GitHub Notable OSS Project
GitHub  Notable OSS ProjectGitHub  Notable OSS Project
GitHub Notable OSS Project
roumia
 
Cloud east shutl_talk
Cloud east shutl_talkCloud east shutl_talk
Cloud east shutl_talk
Volker Pacher
 
dataviz on d3.js + elasticsearch
dataviz on d3.js + elasticsearchdataviz on d3.js + elasticsearch
dataviz on d3.js + elasticsearch
Mathieu Elie
 
Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013
Caelum
 

Similaire à Core Data in Motion (20)

node.js in action
node.js in actionnode.js in action
node.js in action
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
 
GitHub Notable OSS Project
GitHub  Notable OSS ProjectGitHub  Notable OSS Project
GitHub Notable OSS Project
 
HH.JS - State of the Automation
HH.JS - State of the AutomationHH.JS - State of the Automation
HH.JS - State of the Automation
 
Cloud east shutl_talk
Cloud east shutl_talkCloud east shutl_talk
Cloud east shutl_talk
 
Responsive Design and jQuery Mobile
Responsive Design and jQuery MobileResponsive Design and jQuery Mobile
Responsive Design and jQuery Mobile
 
(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and Ruby Pro...
(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyPro...(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyPro...
(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and Ruby Pro...
 
ActiveRecord 2.3
ActiveRecord 2.3ActiveRecord 2.3
ActiveRecord 2.3
 
Bar Camp Auckland - Mongo DB Presentation BCA4
Bar Camp Auckland - Mongo DB Presentation BCA4Bar Camp Auckland - Mongo DB Presentation BCA4
Bar Camp Auckland - Mongo DB Presentation BCA4
 
PhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or LessPhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or Less
 
Mobileweb
MobilewebMobileweb
Mobileweb
 
RubyMotion: Put your Dreams in Motion with Ruby
RubyMotion: Put your Dreams in Motion with RubyRubyMotion: Put your Dreams in Motion with Ruby
RubyMotion: Put your Dreams in Motion with Ruby
 
dataviz on d3.js + elasticsearch
dataviz on d3.js + elasticsearchdataviz on d3.js + elasticsearch
dataviz on d3.js + elasticsearch
 
Qcon talk
Qcon talkQcon talk
Qcon talk
 
Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013
 
MongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsMongoDB, E-commerce and Transactions
MongoDB, E-commerce and Transactions
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
 
DevNation Atlanta
DevNation AtlantaDevNation Atlanta
DevNation Atlanta
 
Intro to Ruby on Rails
Intro to Ruby on RailsIntro to Ruby on Rails
Intro to Ruby on Rails
 

Plus de Lori Olson

Plus de Lori Olson (7)

Do The Work
Do The WorkDo The Work
Do The Work
 
Rockstars & Consultants, who needs 'em
Rockstars & Consultants, who needs 'emRockstars & Consultants, who needs 'em
Rockstars & Consultants, who needs 'em
 
RubyMotion Introduction
RubyMotion IntroductionRubyMotion Introduction
RubyMotion Introduction
 
Mobile rage
Mobile rageMobile rage
Mobile rage
 
Maps and Scale
Maps and ScaleMaps and Scale
Maps and Scale
 
Rockstars & Consultants - who needs 'em
Rockstars & Consultants - who needs 'emRockstars & Consultants - who needs 'em
Rockstars & Consultants - who needs 'em
 
Powerful UX, not just for desktops anymore
Powerful UX, not just for desktops anymorePowerful UX, not just for desktops anymore
Powerful UX, not just for desktops anymore
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Core Data in Motion