Palestra de Design Patterns sob o ponto de vista arquitetônico, apresentando diferentes tipos de paradigmas e princípios, como o GoF, ISO, GRASP, SOLID, MVC e Aspect.
Presentation on Large Scale Data ManagementChris Bunch
These are the slides for a presentation I recently gave at a seminar on Large Scale Data Management. The first half talks about the current state of affairs in the debate between MapReduce and parallel databases, while the second half focuses on two recent papers on virtual machine migration.
Graphically understand and interactively explore your Data LineageMohammad Ahmed
Graphically understand and interactively explore your Data Lineage:
Data Lineage for ER/Studio gives data management professionals and business users essential insight to the extracts, transformations, and loads of complex enterprise data. Data governance and organizational compliance is supported with detailed metadata management for risk reduction and data discrepancy isolation.
In this presentation we look at the key reasons for using ER/Studio Data Lineage and what it provides you with.To learn more about ER/Studio Data Lineage please look here: http://www.embarcadero.com/products/er-studio-data-lineage or request a demo here: http://forms.embarcadero.com/forms/ERStudioProductInterest
In this webinar we'll explore a data set using Neo4j and Cypher and compare the approach we might take with a relational database and SQL. We'll cover the following topics: Modeling the data set Importing the data Querying the data Evolving the model and queries as the data changes.
Presentation on Large Scale Data ManagementChris Bunch
These are the slides for a presentation I recently gave at a seminar on Large Scale Data Management. The first half talks about the current state of affairs in the debate between MapReduce and parallel databases, while the second half focuses on two recent papers on virtual machine migration.
Graphically understand and interactively explore your Data LineageMohammad Ahmed
Graphically understand and interactively explore your Data Lineage:
Data Lineage for ER/Studio gives data management professionals and business users essential insight to the extracts, transformations, and loads of complex enterprise data. Data governance and organizational compliance is supported with detailed metadata management for risk reduction and data discrepancy isolation.
In this presentation we look at the key reasons for using ER/Studio Data Lineage and what it provides you with.To learn more about ER/Studio Data Lineage please look here: http://www.embarcadero.com/products/er-studio-data-lineage or request a demo here: http://forms.embarcadero.com/forms/ERStudioProductInterest
In this webinar we'll explore a data set using Neo4j and Cypher and compare the approach we might take with a relational database and SQL. We'll cover the following topics: Modeling the data set Importing the data Querying the data Evolving the model and queries as the data changes.
This webinar focuses on how to use graph databases for Identity & Access Management. This webinar is designed for people who work with entitlements, access management, and tracking origins and associations of assets.
Managing and monitoring multiple user authorizations and asset provenance across your enterprise organization is a challenging task. We’ll explore how an interconnected view of your data, gives you better real-time insights and controls than ever before. Neo4j connects your data along intuitive relationships so identity and access management happens quickly and effectively.
In this webinar we’ll start with an overview of Neo4j and Graph-thinking, and continue with exploring some of the use cases showing how Neo4j’s versatile property graph model makes it easier for organizations to evolve identity and access management models.
The Five Graphs of Government: How Federal Agencies can Utilize Graph TechnologyNeo4j
In this session from Neo4j Government Graphday, Philip Rathle discusses how federal agencies and contractors can utilize graphs to power their applications.
Journey of The Connected Enterprise - Knowledge Graphs - Smart DataBenjamin Nussbaum
We live in an era where the world is more connected than ever before and the trajectory is such that data relationships will only continue to increase with no signs of slowing down.
Connected data is the key to your business succeeding and growing in today’s connected world.
Leading enterprises will be the ones that utilize relationship-centric technologies to leverage connections from their internal operations and supply chain to their customer and user interactions. This ability to utilize connected data to understand all the nuanced relationships within their organization will propel them forward as they act on more holistic insights.
Every organization needs a knowledge graph because connected data is an essential foundation to advancing business. Knowledge graphs provide:
- Increased visibility between internal groups
- Efficiency gains
- Cross-functional data collaboration
- Core complete and reliable business insights
- Better customer engagement
The live presentation and discussion can be found here: https://www.youtube.com/watch?v=RQGdw82rAes
Additional reading on why connected data is beneficial: https://www.graphgrid.com/why-connected-data-is-more-useful/
Connected data solutions available by Benjamin and his team via GraphGrid and AtomRain: https://www.graphgrid.com and https://www.atomrain.com
How to Design Retail Recommendation Engines with Neo4jNeo4j
Recommendations are at the core of digital transformation in retail today. Whether you’re building features such as product recommendations, promotion recommendations, personalized customer experience, or re-imagining your supply chain to meet customer demands for same day delivery — you’re facing challenges that require the ability to leverage connections from many different data sources, in real-time. There’s no better technology to meet these challenges than a native graphDB technology such as Neo4j.
Fundamentos dos padrões de projeto de desenvolvimento de software General Responsability Assignment Software Pattern (GRASP), Gang of Four (GoF) e do Padrão Arquitetural Model View Control (MVC)
This webinar focuses on how to use graph databases for Identity & Access Management. This webinar is designed for people who work with entitlements, access management, and tracking origins and associations of assets.
Managing and monitoring multiple user authorizations and asset provenance across your enterprise organization is a challenging task. We’ll explore how an interconnected view of your data, gives you better real-time insights and controls than ever before. Neo4j connects your data along intuitive relationships so identity and access management happens quickly and effectively.
In this webinar we’ll start with an overview of Neo4j and Graph-thinking, and continue with exploring some of the use cases showing how Neo4j’s versatile property graph model makes it easier for organizations to evolve identity and access management models.
The Five Graphs of Government: How Federal Agencies can Utilize Graph TechnologyNeo4j
In this session from Neo4j Government Graphday, Philip Rathle discusses how federal agencies and contractors can utilize graphs to power their applications.
Journey of The Connected Enterprise - Knowledge Graphs - Smart DataBenjamin Nussbaum
We live in an era where the world is more connected than ever before and the trajectory is such that data relationships will only continue to increase with no signs of slowing down.
Connected data is the key to your business succeeding and growing in today’s connected world.
Leading enterprises will be the ones that utilize relationship-centric technologies to leverage connections from their internal operations and supply chain to their customer and user interactions. This ability to utilize connected data to understand all the nuanced relationships within their organization will propel them forward as they act on more holistic insights.
Every organization needs a knowledge graph because connected data is an essential foundation to advancing business. Knowledge graphs provide:
- Increased visibility between internal groups
- Efficiency gains
- Cross-functional data collaboration
- Core complete and reliable business insights
- Better customer engagement
The live presentation and discussion can be found here: https://www.youtube.com/watch?v=RQGdw82rAes
Additional reading on why connected data is beneficial: https://www.graphgrid.com/why-connected-data-is-more-useful/
Connected data solutions available by Benjamin and his team via GraphGrid and AtomRain: https://www.graphgrid.com and https://www.atomrain.com
How to Design Retail Recommendation Engines with Neo4jNeo4j
Recommendations are at the core of digital transformation in retail today. Whether you’re building features such as product recommendations, promotion recommendations, personalized customer experience, or re-imagining your supply chain to meet customer demands for same day delivery — you’re facing challenges that require the ability to leverage connections from many different data sources, in real-time. There’s no better technology to meet these challenges than a native graphDB technology such as Neo4j.
Fundamentos dos padrões de projeto de desenvolvimento de software General Responsability Assignment Software Pattern (GRASP), Gang of Four (GoF) e do Padrão Arquitetural Model View Control (MVC)
Domain-Driven Design não é uma tecnologia ou metodologia. DDD é uma abordagem à modelação de software que providencia uma estrutura de práticas, padrões de programação e terminologias que ajudam à sua concepção.
Nesta sessão vamos conhecer o que é Domain-Driven Design, quando o usar e como implementar.
Design de interfaces com padrões de interaçãoUTFPR
Padrão de interação é uma estrutura recorrente em interfaces que possibilita diversas interações. O padrão de interação é um arranjo de elementos de interface frequentemente utilizado por designers. O padrão não é padrão porque uma autoridade o elegeu, mas porque uma comunidade reproduziu. Isso significa que ele pode deixar de ser reproduzido ou mudar com o tempo.
Por que os padrões mudam os designers precisam estar sempre se atualizando, navegando e observando as mudanças feitas por outros designers. Isso explica porque designers fiquem navegando a esmo pela web, utilizando redes sociais e outras diversões em horário de trabalho. Eles estão atualizando seu conhecimento sobre padrões.
Introdução e conceitos básicos sobre Domain Driven Design (DDD) com foco na solução de problemas do universo de desenvolvimento de software, focando no core business do software a ser desenvolvido
Nesta apresentação é exibido os principais padrões de projetos para criação de um software baseado em programação orientada a objetos escalável e de forma evolutiva.
2. EVANDRO VENANCIO - DESIGN PATTERNS
sobre padrões
É sobre solução
O padrão propõe uma solução para problemas corriqueiros
É sobre reuso
O padrão pode ser aplicado em diversas circunstâncias
É sobre comunicação
O padrão proporciona um entendimento comum entre as pessoas
É sobre organização
O padrão dá sentido as diferenças do universo
É sobre entendimento
Aprender o padrão é aprender como lidar com os problemas
3. EVANDRO VENANCIO - DESIGN PATTERNS
exemplo de padrões
Português, espanhol, inglês, grego
O entendimento das línguas resolve o problema de Babel
Real, dólar, libra, euro, yen
A moeda utilizada em um país é uma espécie de padrão
Código civil, criminal, penal
As diversas leis descrevem os nossos direitos e deveres
Dias, semanas, meses
O ano é organizado e classificado de inúmeras formas
Rock, pop, metal, blues, erudito, new age
Os estilos musicais definem um padrão muito bem estabelecido
4. EVANDRO VENANCIO - DESIGN PATTERNS
padronizando o mundo
ISO
International Organization for Standarlization
Fundada em 1947
Em Genebra, na Suiça
Aprovação e documentação
De normas técnicas, classificação e normas de procedimento
No Brasil: ABNT
Associação Brasileira de Normas Técnicas
No EUA: ANSI
American National Standarts Institute
5. EVANDRO VENANCIO - DESIGN PATTERNS
normas ISO em software
ISO/IEEE 1471 e ISO/IEC 42010
Descreve o arquiteto e a arquitetura de software
ISO/IEC 19501
Descreve a UML como um padrão gráfico para modelagem
ISO/IEC 9126
Requisitos e qualidade de software
ISO/IEC 12207
Processo para ciclo de vida do desenvolvimento (ALM)
E muito mais!
C, C++, VRLM, segurança em TI, gerenciamento de serviços
6. EVANDRO VENANCIO - DESIGN PATTERNS
paradigma OO: a revolução
Motivação
Abstração de conceitos do mundo real
Aplicação
Inteligência Artificial, Linguística e Softwares
Implementação da POO
Conjunto de classes que definem objetos de um sistema
Conceitos chaves
Classe, herança, interface, pacote, polimorfismo, mensagem
Linguagens populares
C++, C#, Java, Python, Ruby, SmallTalk, PHP 4
7. EVANDRO VENANCIO - DESIGN PATTERNS
padrões de projetos
É sobre arquitetura
Utilizar, especificar e definir padrões como solução
Christopher Alexander
Aparece pela primeira vez em 1970 em seus livros
Encapsulamento
Um padrão encapsula um problema/solução bem definida
Generalidade
Permitir a construção de outras realizações a partir deste padrão
Abstração
Representam abstrações da experiência empírica
8. EVANDRO VENANCIO - DESIGN PATTERNS
formato de um padrão
Nome
Uma descrição da solução, mais do que do problema
Exemplo
Figuras, diagramas ou descrições que ilustrem um protótipo
Contexto
A descrição das situações sob as quais o padrão se aplica
Problema
Descrição das forças e restrições e como elas interagem.
Solução
Descreve como construir artefatos de acordo com o padrão
9. EVANDRO VENANCIO - DESIGN PATTERNS
GoF: Gang of Four
Quem são?
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Problemas semelhantes
Soluções ainda mais
Make It Simple
Os padrões devem ser simples e facilmente implementados
Não reescreva código!
Evita que o código seja duplicado e facilita a manutenção
É sobre Interfaces
São os contratos que definem a flexibilidade dos padrões
10. EVANDRO VENANCIO - DESIGN PATTERNS
GoF: tipos de padrões
Criação
Sistemas independentes de como seus objetos são criados
Estruturais
Forma como as classes e objetos formam estrutura maiores.
Comportamentais
Algoritmo e atribuição de responsabilidades entre os objetos.
Ao todos são 23 padrões
Devidamente especificados e aceitos na comunidade.
11. EVANDRO VENANCIO - DESIGN PATTERNS
padrões de criação
Abstract Factory
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Builder
Soluções ainda mais
Factory Method
Os padrões devem ser simples e facilmente implementados
Prototype
Evita que o código seja duplicado e facilita a manutenção
Singleton
São os contratos que definem a flexibilidade dos padrões
12. EVANDRO VENANCIO - DESIGN PATTERNS
padrões estruturais
Adapter
Abstração de conceitos do mundo real
Bridge
Inteligência Artificial, Linguística e Softwares
Composite
Conjunto de classes que definem objetos de um sistema
Decorator
Classe, herança, interface, pacote, polimorfismo, mensagem
Façade
C++, C#, Java, Python, Ruby, SmallTalk, PHP 4
13. EVANDRO VENANCIO - DESIGN PATTERNS
padrões comportamentais
Command
Utilizar, especificar e definir padrões como solução
Interpreter
Aparece pela primeira vez em 1970 em seus livros
Mediator
Um padrão encapsula um problema/solução bem definida
Observer
Permitir a construção de outras realizações a partir deste padrão
Strategy
Representam abstrações da experiência empírica
14. EVANDRO VENANCIO - DESIGN PATTERNS
GRASP
Guia para atribuição de responsabilidade
General Responsibility Assignment Software Patterns
Creator
Figuras, diagramas ou descrições que ilustrem um protótipo
Expert
A descrição das situações sob as quais o padrão se aplica
Controller
Descrição das forças e restrições e como elas interagem.
Low Coupling
Descreve como construir artefatos de acordo com o padrão
15. EVANDRO VENANCIO - DESIGN PATTERNS
High Cohesion
O entendimento das línguas resolve o problema de Babel
Polymorphism
A moeda utilizada em um país é uma espécie de padrão
Pure Fabrication
As diversas leis descrevem os nossos direitos e deveres
Indirection
O ano é organizado e classificado de inúmeras formas
Protected Variations
Os estilos musicais definem um padrão muito bem estabelecido
16. EVANDRO VENANCIO - DESIGN PATTERNS
SOLID
Single responsibility principle
International Organization for Standarlization
Open/closed principle
Em Genebra, na Suiça
Liskov substitution principle
De normas técnicas, classificação e normas de procedimento
Interface segregation principle
Associação Brasileira de Normas Técnicas
Dependency inversion principle
American National Standarts Institute
17. EVANDRO VENANCIO - DESIGN PATTERNS
técnicas e princípios
DRY
Don’t repeat yourself
MVC
Soluções ainda mais
MVVM
Os padrões devem ser simples e facilmente implementados
KISS Principle
Keep it simples, Stupid!
BDD/TDD
São os contratos que definem a flexibilidade dos padrões
18. EVANDRO VENANCIO - DESIGN PATTERNS
POO Separation Of Concerns
Aspect-oriented programming
rão propõe uma solução para problemas corriqueiros
Role-oriented programming
O padrão pode ser aplicado em diversas circunstâncias
Subject-oriented programming
O padrão proporciona um entendimento comum entre as pessoas
19. EVANDRO VENANCIO - DESIGN PATTERNS
outros paradigmas != OO
Imperativo
Abstração de conceitos do mundo real
Estruturado
Inteligência Artificial, Linguística e Softwares
Funcional
Conjunto de classes que definem objetos de um sistema
Procedural
Classe, herança, interface, pacote, polimorfismo, mensagem
Event-Driven
C++, C#, Java, Python, Ruby, SmallTalk, PHP 4
20. EVANDRO VENANCIO - DESIGN PATTERNS
Declarativa
Utilizar, especificar e definir padrões como solução
Automata-based programming
Aparece pela primeira vez em 1970 em seus livros