SlideShare a Scribd company logo
1 of 115
Download to read offline
impactos no design
com programação
funcional
Luiz Costa
@gutomcosta
www.sagadoprogramador.com.br

Sunday, October 20, 13
Sunday, October 20, 13
Programação Funcional?

Sunday, October 20, 13
Programação Funcional?

Sunday, October 20, 13
Programação Funcional?

Sunday, October 20, 13
Programação Funcional?

Sunday, October 20, 13
Programação Funcional?

Sunday, October 20, 13
Programação Funcional?

e alguns novatos
Sunday, October 20, 13
orientação a objetos

Sunday, October 20, 13
Sunday, October 20, 13
conjunto de ideias

Sunday, October 20, 13
conjunto de ideias
encapsulamento

polimorfismo

objetos

herança
estado ...

Sunday, October 20, 13
programação funcional

Sunday, October 20, 13
Sunday, October 20, 13
conjunto de ideias

Sunday, October 20, 13
conjunto de ideias
funções

higher-order functions

imutabilidade

lazy evaluation
recursão ...

Sunday, October 20, 13
código imperativo

Sunday, October 20, 13
código imperativo

Sunday, October 20, 13
código imperativo

Sunday, October 20, 13
código imperativo

Sunday, October 20, 13
código imperativo

Foco no “como fazer”
Sunday, October 20, 13
código declarativo

Sunday, October 20, 13
código declarativo

Foco no “o que fazer”
Sunday, October 20, 13
código declarativo

Sunday, October 20, 13
código declarativo

Foco no “o que fazer”
Sunday, October 20, 13
“When writing a modular program to solve a problem,
one first divides the problem into subproblems, then
solves the subproblems, and finally combines the
solutions. The ways in which one can divide up the
original problem depend directly on the ways in which
one can glue solutions together.”
“Why functional programming matters”

-John Hughes in Research topics in functional programming, 1990

Sunday, October 20, 13
“When writing a modular program to solve a problem,
one first divides the problem into subproblems, then
solves the subproblems, and finally combines the
solutions. The ways in which one can divide up the
original problem depend directly on the ways in which
one can glue solutions together.”
“Why functional programming matters”

-John Hughes in Research topics in functional programming, 1990

Sunday, October 20, 13
“When writing a modular program to solve a problem,
one first divides the problem into subproblems, then
solves the subproblems, and finally combines the
solutions. The ways in which one can divide up the
original problem depend directly on the ways in which
one can glue solutions together.”
“Why functional programming matters”

-John Hughes in Research topics in functional programming, 1990

Sunday, October 20, 13
..argue in the remainder of this paper that functional
languages provide two new, very important kinds of
glue.
higher order function

lazy evaluation
“Why functional programming matters”

-John Hughes in Research topics in functional programming, 1990

Sunday, October 20, 13
building blocks

Sunday, October 20, 13
Sunday, October 20, 13
uma variável?

Sunday, October 20, 13
uma variável?

first class functions
Sunday, October 20, 13
Sunday, October 20, 13
invocando uma função

função como parâmetro

Sunday, October 20, 13
invoca a função
Sunday, October 20, 13
Sunday, October 20, 13
dados e funções separados

Sunday, October 20, 13
dados e funções separados

mesma função variando comportamento
Sunday, October 20, 13
higher order function
uma funcão que recebe outra função como
argumento ou retorna uma função

Sunday, October 20, 13
functional style

Sunday, October 20, 13
OO foco na estrutura
Como substituir uma implementação em
runtime?

Sunday, October 20, 13
FP foco na transformação
transformação?

Sunday, October 20, 13
listas, map, reduce, filter

Sunday, October 20, 13
map

Text
Text
Text
Text

Sunday, October 20, 13
map
clojure.string

Text
Text
Text
Text

Sunday, October 20, 13
map
clojure.string

jose

Sunday, October 20, 13

Text
Text
Text
Textluiz
paulo
map
clojure.string

jose

capitalize

Jose
Sunday, October 20, 13

Text
Text
Text
Textluiz
paulo
map
clojure.string

jose

Text
Text
Text
Textluiz
paulo

capitalize

Jose
Sunday, October 20, 13

capitalize

Paulo
map
clojure.string

jose

Text
Text
Text
Textluiz
paulo

capitalize

capitalize

Jose
Sunday, October 20, 13

capitalize

Paulo

Luiz
focus on results, not
steps
“Functional Thinking”

-Neal Ford - IBM Developer Works series

Sunday, October 20, 13
Filter

Sunday, October 20, 13

clojure.string
Filter

Sunday, October 20, 13

clojure.string
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Filter

1

Sunday, October 20, 13

2

3

4

5

clojure.string

6

7

8

9
Reduce

0

Sunday, October 20, 13

10

20

30

40
Reduce
função

0

Sunday, October 20, 13

10

20

30

40
Reduce
função

100

Sunday, October 20, 13
Argentum
Análise de Candlesticks, bolsa de valores

Sunday, October 20, 13
Candlesticks

Sunday, October 20, 13
Argentum
Domain Model

Sunday, October 20, 13
antes, um pouco de
clojure
muito pouco mesmo ...

Sunday, October 20, 13
Clojure

Sunday, October 20, 13
Clojure

Sunday, October 20, 13
Clojure

Sunday, October 20, 13
Clojure

Sunday, October 20, 13
Clojure

Sunday, October 20, 13
Clojure

Sunday, October 20, 13
como representar os
conceitos?
Negócio, Candlestick

Sunday, October 20, 13
Sunday, October 20, 13
Sunday, October 20, 13
Sunday, October 20, 13
define uma abstração

Sunday, October 20, 13
Sunday, October 20, 13
dados e funções separados
Sunday, October 20, 13
dados e funções separados
Sunday, October 20, 13
decompose an algorithm into functions that are
simple, meaningful and useful.
“Tutorial on Good Lisp Programming Style”
-Peter Norvig in 1992

Sunday, October 20, 13
decompose an algorithm into functions that are
simple, meaningful and useful.
“Tutorial on Good Lisp Programming Style”
-Peter Norvig in 1992

Sunday, October 20, 13
decomposição
Sunday, October 20, 13
decomposição
Sunday, October 20, 13
invariantes

decomposição
Sunday, October 20, 13
decomposição
Sunday, October 20, 13
decomposição
Sunday, October 20, 13
decomposição
Sunday, October 20, 13
decomposição
Sunday, October 20, 13
dependência de outro
namespace

decomposição
Sunday, October 20, 13
Argentum
Geração de gráfico com indicadores

Sunday, October 20, 13
Argentum
Geração de gráfico com indicadores

Sunday, October 20, 13

define uma
abstração
Argentum
Geração de gráfico com indicadores

define uma
abstração

define comportamentos diferentes
Sunday, October 20, 13
como variar o
comportamento?

Sunday, October 20, 13
declara as funções
Sunday, October 20, 13
compondo funções
Sunday, October 20, 13
decomposição de função

compondo funções
Sunday, October 20, 13
higher order functions

compondo funções
Sunday, October 20, 13
calculando a média móvel
Sunday, October 20, 13
calculando a média móvel
Sunday, October 20, 13
calculando a média móvel
Sunday, October 20, 13
calculando a média móvel
Sunday, October 20, 13
com diferentes
building blocks, é
preciso repensar as
decisões de design

Sunday, October 20, 13
OO e FP Juntos?

Sunday, October 20, 13
Functional in the small, OO in the large.
“Tell Above, and Ask Below - Hybridizing OO and Functional design”
-Michael Feathers, blog post

Sunday, October 20, 13
Functional Core, imperative shell.
“Destroy all soft ware - episode 72”

-Gary Bernhardt, destroy on soft ware screen cast series

Sunday, October 20, 13
conclusão

Sunday, October 20, 13
Functional Programming is more
a mindset than a particular set
of tools or languages.
“Functional Thinking”

-Neal Ford - IBM Developer Works series

Sunday, October 20, 13
Obrigado

Sunday, October 20, 13
Referências
SICP - http://mitpress.mit.edu/sicp/full-text/book/book.html
Why functional programming matters - http://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf
Clojure - http://clojure.org/
Functional Thinking - http://www.ibm.com/developerworks/java/library/j-ft1/index.html
Tell Above, and ask Below - http://michaelfeathers.typepad.com/michael_feathers_blog/2012/03/
tell-above-and-ask-below-hybridizing-oo-and-functional-design.html
Functional Core, imperative shell - https://www.destroyallsoftware.com/screencasts/catalog/
functional-core-imperative-shell
Tutorial on good lisp programming style - http://www.cs.umd.edu/~nau/cmsc421/norvig-lispstyle.pdf

Sunday, October 20, 13

More Related Content

Similar to Impactos no design com programação funcional

The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project ArgoWesley Lindamood
 
Building great portfolios for designers
Building great portfolios for designersBuilding great portfolios for designers
Building great portfolios for designersKarthi Subbaraman
 
MOPCON 2013 - APP急速視覺UX回饋應用
MOPCON 2013 - APP急速視覺UX回饋應用MOPCON 2013 - APP急速視覺UX回饋應用
MOPCON 2013 - APP急速視覺UX回饋應用anistar sung
 
How to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David BonillaHow to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David BonillaCodemotion
 
Front-End: O que é e o que faz
Front-End: O que é e o que fazFront-End: O que é e o que faz
Front-End: O que é e o que fazEduardo Rabelo
 
RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osRIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osryancanulla
 
Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010Matt Aimonetti
 
Introduction to Confluence Blueprints
Introduction to Confluence BlueprintsIntroduction to Confluence Blueprints
Introduction to Confluence BlueprintsMatthew Cobby
 
Practical Ruby Projects with MongoDB - Ruby Midwest
Practical Ruby Projects with MongoDB - Ruby MidwestPractical Ruby Projects with MongoDB - Ruby Midwest
Practical Ruby Projects with MongoDB - Ruby MidwestAlex Sharp
 
Next Generation Application Development
Next Generation Application DevelopmentNext Generation Application Development
Next Generation Application DevelopmentKen Ng
 
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskGetting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskWooga
 
Getting the Most out of Your Tools
Getting the Most out of Your ToolsGetting the Most out of Your Tools
Getting the Most out of Your ToolsKrzysztof Szafranek
 
Reactive applications using Akka
Reactive applications using AkkaReactive applications using Akka
Reactive applications using AkkaMiguel Pastor
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...Atlassian
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...Atlassian
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...Atlassian
 
We're not designing posters, here!
We're not designing posters, here!We're not designing posters, here!
We're not designing posters, here!André Luís
 
Everything you always wanted to know about search in typo3
Everything you always wanted to know about search in typo3Everything you always wanted to know about search in typo3
Everything you always wanted to know about search in typo3Olivier Dobberkau
 
Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkRichard Tuin
 

Similar to Impactos no design com programação funcional (20)

The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
 
Building great portfolios for designers
Building great portfolios for designersBuilding great portfolios for designers
Building great portfolios for designers
 
MOPCON 2013 - APP急速視覺UX回饋應用
MOPCON 2013 - APP急速視覺UX回饋應用MOPCON 2013 - APP急速視覺UX回饋應用
MOPCON 2013 - APP急速視覺UX回饋應用
 
How to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David BonillaHow to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David Bonilla
 
Front-End: O que é e o que faz
Front-End: O que é e o que fazFront-End: O que é e o que faz
Front-End: O que é e o que faz
 
RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osRIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl os
 
Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010
 
Introduction to Confluence Blueprints
Introduction to Confluence BlueprintsIntroduction to Confluence Blueprints
Introduction to Confluence Blueprints
 
Practical Ruby Projects with MongoDB - Ruby Midwest
Practical Ruby Projects with MongoDB - Ruby MidwestPractical Ruby Projects with MongoDB - Ruby Midwest
Practical Ruby Projects with MongoDB - Ruby Midwest
 
Kanbanboards
KanbanboardsKanbanboards
Kanbanboards
 
Next Generation Application Development
Next Generation Application DevelopmentNext Generation Application Development
Next Generation Application Development
 
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskGetting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
 
Getting the Most out of Your Tools
Getting the Most out of Your ToolsGetting the Most out of Your Tools
Getting the Most out of Your Tools
 
Reactive applications using Akka
Reactive applications using AkkaReactive applications using Akka
Reactive applications using Akka
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
 
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
 
We're not designing posters, here!
We're not designing posters, here!We're not designing posters, here!
We're not designing posters, here!
 
Everything you always wanted to know about search in typo3
Everything you always wanted to know about search in typo3Everything you always wanted to know about search in typo3
Everything you always wanted to know about search in typo3
 
Phpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and MinkPhpday - Automated acceptance testing with Behat and Mink
Phpday - Automated acceptance testing with Behat and Mink
 

More from Luiz Costa

Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal RailsLuiz Costa
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Luiz Costa
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
Aplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningAplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningLuiz Costa
 
A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...
A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...
A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...Luiz Costa
 
Rest Teoria E Pratica
Rest Teoria E PraticaRest Teoria E Pratica
Rest Teoria E PraticaLuiz Costa
 

More from Luiz Costa (6)

Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal Rails
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
Aplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningAplicações Práticas de Machine Learning
Aplicações Práticas de Machine Learning
 
A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...
A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...
A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores ...
 
Rest Teoria E Pratica
Rest Teoria E PraticaRest Teoria E Pratica
Rest Teoria E Pratica
 

Recently uploaded

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 CVKhem
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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 FMESafe Software
 
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.pptxRustici Software
 
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.pdfsudhanshuwaghmare1
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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 WorkerThousandEyes
 
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 Takeoffsammart93
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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 REVIEWERMadyBayot
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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 DevelopmentsTrustArc
 

Recently uploaded (20)

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
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
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
 
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
 
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
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 

Impactos no design com programação funcional