1. O documento discute event sourcing, uma arquitetura orientada a eventos onde o estado de uma aplicação é reconstruído a partir de uma série de eventos passados.
2. Event sourcing oferece vantagens como consistência, capacidade de reprocessar eventos, e separação de dados e comportamento.
3. No entanto, event sourcing também apresenta desafios como curva de aprendizado, necessidade de consistência eventual e complexidade.
Aula 06 banco de dados em asp.net (lado cliente)Gabriel Bugano
Este documento fornece instruções para criar um banco de dados MySQL e desenvolver um site web com páginas em ASP.NET usando esse banco de dados. As instruções incluem como criar tabelas no banco de dados, configurar datasources, exibir dados e navegar entre páginas.
Aula 02 asp.net com fk - pesquisa com filtroGabriel Bugano
O documento descreve como configurar um site ASP.NET para realizar pesquisas em bancos de dados com filtros. Inclui instruções para criar as tabelas no MySQL, definir a página inicial e criar uma página de pesquisa com um campo de texto para filtrar registros por nome do cliente.
Aula 03 asp.net com fk - grid view - excluir e alterarGabriel Bugano
O documento descreve as etapas para configurar um sistema de agência de viagens no ASP.Net para permitir a exclusão e alteração de registros de compras usando Foreign Keys. As etapas incluem criar tabelas no MySQL, adicionar botões e campos ao GridView para exclusão e edição, e codificar os eventos e queries necessários para realizar as operações com Foreign Keys.
Partindo de um código legado com uma organização frágil e pouco reutilizável iremos aprimorá-lo de forma incremental e com foco nas regras de negócio. Utilizaremos princípios de projeto orientado a objetos para torná-lo mais fácil de testar e reutilizar deixando o seu código mais robusto e escalável.
O documento apresenta um exemplo de como implementar injeção de dependência em PHP usando anotações em propriedades para definir as dependências. É mostrado como parsear as anotações para obter as dependências de uma classe, verificar se elas existem em um container e injetá-las no objeto. Isso permite construir objetos sem precisar instanciar diretamente suas dependências.
Clean Code e Object Calisthenics - Aplicados no PHPRafael Neris
Palestra realizada no Meetup Total PHP sobre Clean Code e Object Calisthenics aplicados no PHP.
Nesta palestra são apresentados conceitos importantes para manter seu código limpo e aplicar técnicas de refactoring para manter seu código organizado e performatico.
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
O documento discute a evolução de um framework PHP chamado Adianti Framework ao longo dos anos. Ele aborda desafios como aderir a padrões da comunidade, acrescentar novos componentes, melhorar a estrutura de diretórios e substituir tecnologias incorporadas.
O documento fornece instruções sobre como criar e publicar um aplicativo Android, incluindo como criar ícones, telas iniciais, empacotar o aplicativo, testá-lo em dispositivos, assiná-lo e publicá-lo na Google Play Store.
Aula 06 banco de dados em asp.net (lado cliente)Gabriel Bugano
Este documento fornece instruções para criar um banco de dados MySQL e desenvolver um site web com páginas em ASP.NET usando esse banco de dados. As instruções incluem como criar tabelas no banco de dados, configurar datasources, exibir dados e navegar entre páginas.
Aula 02 asp.net com fk - pesquisa com filtroGabriel Bugano
O documento descreve como configurar um site ASP.NET para realizar pesquisas em bancos de dados com filtros. Inclui instruções para criar as tabelas no MySQL, definir a página inicial e criar uma página de pesquisa com um campo de texto para filtrar registros por nome do cliente.
Aula 03 asp.net com fk - grid view - excluir e alterarGabriel Bugano
O documento descreve as etapas para configurar um sistema de agência de viagens no ASP.Net para permitir a exclusão e alteração de registros de compras usando Foreign Keys. As etapas incluem criar tabelas no MySQL, adicionar botões e campos ao GridView para exclusão e edição, e codificar os eventos e queries necessários para realizar as operações com Foreign Keys.
Partindo de um código legado com uma organização frágil e pouco reutilizável iremos aprimorá-lo de forma incremental e com foco nas regras de negócio. Utilizaremos princípios de projeto orientado a objetos para torná-lo mais fácil de testar e reutilizar deixando o seu código mais robusto e escalável.
O documento apresenta um exemplo de como implementar injeção de dependência em PHP usando anotações em propriedades para definir as dependências. É mostrado como parsear as anotações para obter as dependências de uma classe, verificar se elas existem em um container e injetá-las no objeto. Isso permite construir objetos sem precisar instanciar diretamente suas dependências.
Clean Code e Object Calisthenics - Aplicados no PHPRafael Neris
Palestra realizada no Meetup Total PHP sobre Clean Code e Object Calisthenics aplicados no PHP.
Nesta palestra são apresentados conceitos importantes para manter seu código limpo e aplicar técnicas de refactoring para manter seu código organizado e performatico.
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
O documento discute a evolução de um framework PHP chamado Adianti Framework ao longo dos anos. Ele aborda desafios como aderir a padrões da comunidade, acrescentar novos componentes, melhorar a estrutura de diretórios e substituir tecnologias incorporadas.
O documento fornece instruções sobre como criar e publicar um aplicativo Android, incluindo como criar ícones, telas iniciais, empacotar o aplicativo, testá-lo em dispositivos, assiná-lo e publicá-lo na Google Play Store.
Oficina realizada em 2011. Apresenta a linguagem javascript e os frameworks jQuery e jQuery UI. Contém vários exercícios práticos e demos além de referências úteis.
O documento discute refatoração de código. Apresenta alguns pontos sobre o que não é considerado refatoração, como otimização e correção de bugs. Também aborda motivação para refatoração como código difícil de entender e backlog de bugs crescente. Por fim, exemplifica algumas ferramentas para análise e refatoração de código como PHPMD, PHPUnit e PHPCS.
O documento descreve o framework Adianti, apresentando sua arquitetura, estrutura e funcionalidades. Em suas seções, aborda tópicos como o histórico do framework desde sua criação, sua instalação e uso, além de detalhar recursos como persistência de dados, formulários, grids e componentes visuais. O objetivo principal do framework é fornecer padronização e produtividade para o desenvolvimento de sistemas de negócios.
O documento discute event sourcing, que organiza o domínio de um sistema em uma cadeia de eventos. Event sourcing permite reconstruir o estado atual de uma entidade a partir de uma sequência de eventos passados e fornece vantagens como debug de sistemas em produção e geração de relatórios. Ele também pode ser combinado com CQRS, onde comandos e consultas são separados, permitindo que consultas sejam otimizadas para leitura. Projections podem ser usadas para gerar views consistentes a partir dos event streams.
O documento descreve como desenvolver aplicativos para Android, incluindo como instalar as ferramentas necessárias como Java, Eclipse, SDK do Android e como criar um projeto simples de pesquisa chamado "Gugol" com uma interface gráfica e funcionalidade de pesquisa.
O princípio DRY prega evitar duplicação de código, documentação e outros artefatos de software. Isso inclui refatorar código duplicado em funções ou métodos reutilizáveis e definir estilos CSS genéricos para grupos de elementos. Aplicar DRY leva a software mais limpo, menor e de fácil manutenção.
Android Wear: Expandindo as funcionalidades do seu AndroidHeider Lopes
O documento discute o Android Wear, uma plataforma do Google para dispositivos vestíveis. Apresenta o que é o Android Wear, como funciona, formas de integração e dicas de desenvolvimento para aplicativos para essa plataforma.
1) O documento discute princípios de código limpo, incluindo nomes significativos, única responsabilidade de métodos e funções, e estruturas de decisão claras.
2) É enfatizado o uso de nomes que revelem a intenção do código, métodos com única responsabilidade e o retorno de exceções ao invés de valores especiais.
3) Exemplos mostram como refatorar código para seguir esses princípios de código limpo.
TDC 2015 - Execução em Background e Live Tiles em Universal AppsDiego Castro
Slides usado na palestra "Execução em Background e Live Tiles em Universal Apps" na trilha "Universal Windows" do TDC 2015
http://www.thedevelopersconference.com.br/tdc/2015/saopaulo/trilha-universal-windows
O documento apresenta uma introdução ao framework jQuery. Ele discute a filosofia, vantagens e exemplos de uso do jQuery, incluindo seletores, funções e eventos. Além disso, o documento aborda plugins populares como jQuery UI, DataTables e Flot que podem ser usados junto com o jQuery.
Este documento fornece instruções passo-a-passo para criar uma lista de tarefas usando HTML5, CSS3 e armazenamento local. Ele explica como adicionar campos de formulário, armazenar dados localmente, exibir itens armazenados e implementar funcionalidades de arrastar e soltar.
Mais conteúdo relacionado
Semelhante a Event Sourcing: pare de jogar seus dados fora!
Oficina realizada em 2011. Apresenta a linguagem javascript e os frameworks jQuery e jQuery UI. Contém vários exercícios práticos e demos além de referências úteis.
O documento discute refatoração de código. Apresenta alguns pontos sobre o que não é considerado refatoração, como otimização e correção de bugs. Também aborda motivação para refatoração como código difícil de entender e backlog de bugs crescente. Por fim, exemplifica algumas ferramentas para análise e refatoração de código como PHPMD, PHPUnit e PHPCS.
O documento descreve o framework Adianti, apresentando sua arquitetura, estrutura e funcionalidades. Em suas seções, aborda tópicos como o histórico do framework desde sua criação, sua instalação e uso, além de detalhar recursos como persistência de dados, formulários, grids e componentes visuais. O objetivo principal do framework é fornecer padronização e produtividade para o desenvolvimento de sistemas de negócios.
O documento discute event sourcing, que organiza o domínio de um sistema em uma cadeia de eventos. Event sourcing permite reconstruir o estado atual de uma entidade a partir de uma sequência de eventos passados e fornece vantagens como debug de sistemas em produção e geração de relatórios. Ele também pode ser combinado com CQRS, onde comandos e consultas são separados, permitindo que consultas sejam otimizadas para leitura. Projections podem ser usadas para gerar views consistentes a partir dos event streams.
O documento descreve como desenvolver aplicativos para Android, incluindo como instalar as ferramentas necessárias como Java, Eclipse, SDK do Android e como criar um projeto simples de pesquisa chamado "Gugol" com uma interface gráfica e funcionalidade de pesquisa.
O princípio DRY prega evitar duplicação de código, documentação e outros artefatos de software. Isso inclui refatorar código duplicado em funções ou métodos reutilizáveis e definir estilos CSS genéricos para grupos de elementos. Aplicar DRY leva a software mais limpo, menor e de fácil manutenção.
Android Wear: Expandindo as funcionalidades do seu AndroidHeider Lopes
O documento discute o Android Wear, uma plataforma do Google para dispositivos vestíveis. Apresenta o que é o Android Wear, como funciona, formas de integração e dicas de desenvolvimento para aplicativos para essa plataforma.
1) O documento discute princípios de código limpo, incluindo nomes significativos, única responsabilidade de métodos e funções, e estruturas de decisão claras.
2) É enfatizado o uso de nomes que revelem a intenção do código, métodos com única responsabilidade e o retorno de exceções ao invés de valores especiais.
3) Exemplos mostram como refatorar código para seguir esses princípios de código limpo.
TDC 2015 - Execução em Background e Live Tiles em Universal AppsDiego Castro
Slides usado na palestra "Execução em Background e Live Tiles em Universal Apps" na trilha "Universal Windows" do TDC 2015
http://www.thedevelopersconference.com.br/tdc/2015/saopaulo/trilha-universal-windows
O documento apresenta uma introdução ao framework jQuery. Ele discute a filosofia, vantagens e exemplos de uso do jQuery, incluindo seletores, funções e eventos. Além disso, o documento aborda plugins populares como jQuery UI, DataTables e Flot que podem ser usados junto com o jQuery.
Este documento fornece instruções passo-a-passo para criar uma lista de tarefas usando HTML5, CSS3 e armazenamento local. Ele explica como adicionar campos de formulário, armazenar dados localmente, exibir itens armazenados e implementar funcionalidades de arrastar e soltar.
Semelhante a Event Sourcing: pare de jogar seus dados fora! (12)
14. Impedance Mismatch
One might say Databases are from Mars and Objects
are from Venus. Databases do not map naturally to
object models. It’s a lot like trying to push the north
poles of two magnets together.
— Phil Haack
15. $data !== $behavior
→ Linguagem onipresente
→ Foco nos processos de negócio
→ Rich Domain Model
→ Projeções específicas para
cada necessidade
23. Orientado a objetos
class ShoppingCart
{
use EventSourcing;
private $items = [];
public function addItem(CartItem $item) : void
{
$this->recordThat(ItemAddedToCart::occur($item));
}
public function whenItemAdded(ItemAddedToCart $event) : void
{
$this->items[] = $event->item();
}
}
24. Prooph
→ Suporte para EventStore, PostgreSQL, MySQL,
MongoDB...
→ Event Engine para RAD
→ Documentação
!
→ Comunidade tope!
→ http://getprooph.org