Veja como o PHP evoluiu durante seu desenvolvimento, novidades da versão mais recente, dicas de como usar a linguagem de maneira profissional e exemplos das diversas formas em que podemos aplicar a linguagem.
O documento apresenta os principais conceitos da programação funcional usando a linguagem F#, como imutabilidade, funções como valores, composição de funções, type providers e features como Option e unidades de medida. O objetivo é mostrar como F# oferece um paradigma diferente de programação e como seus recursos podem ser usados no desenvolvimento .NET.
O documento apresenta os principais conceitos da programação funcional usando a linguagem F#, como imutabilidade, funções como valores, tipos fortemente tipados, pipelines e composição. O palestrante destaca recursos da linguagem como Option, unidades de medida e type providers para carregar dados dinamicamente.
O documento discute os princípios SOLID para boas práticas de programação orientada a objetos. Apresenta os cinco princípios: Single Responsibility (classes devem ter uma única responsabilidade), Open-Closed (classes devem estar abertas para extensão mas fechadas para modificação), Liskov Substitution (classes base devem ser substituíveis por suas subclasses), Dependency Inversion (módulos de alto nível não devem depender de módulos de baixo nível) e Interface Segregation (interfaces específicas são melhores do que interfaces genéricas).
O documento discute a implementação de uma funcionalidade de "gostar ou não gostar" em um site de namoro utilizando técnicas de BDD e API first. O autor descreve como modelou as camadas, APIs e casos de uso da funcionalidade através de testes executáveis para garantir uma arquitetura de qualidade e maleável.
O documento discute o modelo canônico, explicando que é importante para apoiar os princípios de design de serviço como acoplamento frouxo e abstração de serviço. Recomenda-se começar identificando conceitos-chave, modelando apenas o necessário e desnormalizando dados para simplificar. Entidades de domínio e relacionamentos também devem ser mapeados no modelo.
Veja como o PHP evoluiu durante seu desenvolvimento, novidades da versão mais recente, dicas de como usar a linguagem de maneira profissional e exemplos das diversas formas em que podemos aplicar a linguagem.
O documento apresenta os principais conceitos da programação funcional usando a linguagem F#, como imutabilidade, funções como valores, composição de funções, type providers e features como Option e unidades de medida. O objetivo é mostrar como F# oferece um paradigma diferente de programação e como seus recursos podem ser usados no desenvolvimento .NET.
O documento apresenta os principais conceitos da programação funcional usando a linguagem F#, como imutabilidade, funções como valores, tipos fortemente tipados, pipelines e composição. O palestrante destaca recursos da linguagem como Option, unidades de medida e type providers para carregar dados dinamicamente.
O documento discute os princípios SOLID para boas práticas de programação orientada a objetos. Apresenta os cinco princípios: Single Responsibility (classes devem ter uma única responsabilidade), Open-Closed (classes devem estar abertas para extensão mas fechadas para modificação), Liskov Substitution (classes base devem ser substituíveis por suas subclasses), Dependency Inversion (módulos de alto nível não devem depender de módulos de baixo nível) e Interface Segregation (interfaces específicas são melhores do que interfaces genéricas).
O documento discute a implementação de uma funcionalidade de "gostar ou não gostar" em um site de namoro utilizando técnicas de BDD e API first. O autor descreve como modelou as camadas, APIs e casos de uso da funcionalidade através de testes executáveis para garantir uma arquitetura de qualidade e maleável.
O documento discute o modelo canônico, explicando que é importante para apoiar os princípios de design de serviço como acoplamento frouxo e abstração de serviço. Recomenda-se começar identificando conceitos-chave, modelando apenas o necessário e desnormalizando dados para simplificar. Entidades de domínio e relacionamentos também devem ser mapeados no modelo.
DDD Tactical Design with Clean Architecture - Ivan PaulovichIvan Paulovich
The document discusses tactical design and clean architecture. It begins with an introduction of the speaker and then defines tactical design as applying design patterns and building blocks within a bounded context to enrich the domain model in a hands-on way. It then defines clean architecture as having patterns, principles, and practices with classes and modules that follow principles of dependency inversion, stable abstractions, and stable dependencies. The rest of the document provides examples of tactical design and clean architecture concepts like entities, value objects, aggregates, and domain-driven design patterns.
Clean Architecture Essentials - Stockholm Software CraftsmanshipIvan Paulovich
About the talk:
Software Architecture is not about picking frameworks then gluing the pieces together! Let's dig into a software implementation designed to support the use cases, we will learn how to make the use cases a standalone component and see how a good architecture allows major decisions to be deferred. We will discuss component coupling and cohesion during the development timeline. Is your application architecture a Web Application? Are your tests taking too long to run? You will learn how to make the delivery mechanism an irrelevant and testable detail.
About the speaker:
Ivan Paulovich is an Agile .NET developer that enjoy solutions based on use cases and decoupled from technology details. Active on GitHub he supports OSS about Domain-Driven Design, TDD, Event Sourcing, CQRS, SOLID and Microservices. Microsoft MVP Reconnect. Checkout @ivanpaulovich on GitHub.
Software Architecture is not about picking frameworks and then gluing the pieces together! Let's dig into a software implementation designed to support the use cases, we will learn how to make the use cases a standalone component and see how a good architecture allows major decisions to be deferred. We will discuss component coupling and cohesion during the development timeline. Is your application architecture a Web API? Are your tests taking too long to run? You will learn how to make the delivery mechanism an irrelevant and testable detail.
Building rich domain models with ddd and tdd ivan paulovich - betssonIvan Paulovich
The document discusses building rich domain models using domain-driven design (DDD) and test-driven development (TDD). It warns against common anti-patterns when using these approaches, such as starting with the data model or reverse engineering. The document advocates for focusing on domain objects, value objects, entities and aggregates and using TDD to drive the design from tests. It provides examples of modeling customer and account domains using these DDD and TDD techniques.
The document discusses moving to a microservices architecture. It defines microservices as small, autonomous services that work together and are modeled around business domains. The principles of microservices include automating processes, prioritizing consumers, hiding implementation details, decentralizing systems, deploying independently, and isolating failures. The document outlines challenges in developing microservices and splitting existing monolithic applications into microservices.
Produzindo e consumindo um stream de eventosIvan Paulovich
O documento discute o armazenamento de dados usando streams de eventos como uma alternativa ao armazenamento em bancos de dados relacionais. Ele explica como os dados são atualmente armazenados em bancos de dados e as limitações desse modelo, e introduz o conceito de armazenamento em fluxo de eventos, discutindo seus benefícios como auditoria, redundância e preparação para big data. A solução proposta envolve a produção e consumo de eventos do domínio armazenados em um stream com projeções em bancos de dados.
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...Ivan Paulovich
Investiga uma solução tecnológica para ampliar a segurança em creches e instituições de educação infantil. Realiza uma pesquisa de mercado sobre a sensação de segurança dos usuários dessas instituições. Avalia um sistema de armazenamento baseado em fluxo de dados (Kafka), propõe uma arquitetura baseada em Event Sourcing, CQRS e Domain-Driven-Design (DDD) e sugere uma implementação seguindo os princípios do desenvolvimento de microsserviços usando C# e ASP.NET Core.
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crechesIvan Paulovich
Este documento discute como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches. Ele apresenta o modelo de event sourcing como uma alternativa ao armazenamento de dados relacional tradicional, fornecendo auditoria completa das operações e a capacidade de reverter mudanças. O documento também descreve os desafios técnicos e benefícios dessa abordagem, incluindo alta performance, distribuição de dados e suporte a novas funcionalidades.
O documento descreve o projeto de referência eShopOnContainers, que mostra como desenvolver uma loja online usando microserviços containerizados. Ele destaca as diferenças entre arquiteturas monolíticas e de microserviços, como implantação, armazenamento e comunicação, e aborda estilos arquiteturais como Domain-Driven Design aplicado a um microserviço de pedidos.
O documento discute os conceitos-chave de Linguagem Ubíqua e Projeto Orientado a Domínio, incluindo Contextos Delimitados, Mapeamento de Contextos, Estilos Arquiteturais, Agregações e Eventos de Domínio. Ele fornece links para recursos adicionais sobre esses tópicos.
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHIvan Paulovich
O documento apresenta uma agenda para um workshop sobre CI/CD utilizando o VSO e Docker no Azure. A agenda inclui introduções ao CI/CD, Docker e .NET Core CLI, demonstrações de integração contínua, entrega contínua e implantação contínua, e laboratórios práticos para configurar um agente VSTS no Ubuntu e publicar imagens Docker no Azure.
Windows Azure Mobile Services InfoTech 2014Ivan Paulovich
O documento apresenta os principais recursos do Azure Mobile Services, incluindo monitoramento 24/7, push notifications, armazenamento de dados em SQL, Table Storage e MongoDB, autenticação com Active Directory, Facebook, Twitter e Google, e integração com Office 365 e SharePoint. Demos são apresentados para autenticação e autorização, tarefas agendadas, chamadas de API e integração com Git.
O documento discute as oportunidades no mercado de TI, incluindo carreiras valorizadas, certificações, capacitação, comunidades, empreendedorismo e trabalho no exterior. Ele fornece exemplos de salários para diferentes carreiras de TI e destaca a importância da capacitação constante através de treinamentos e certificações.
O documento discute as vantagens e desvantagens de várias técnicas de conexão persistente entre servidores e clientes, incluindo SignalR, que permite comunicação em tempo real na web. SignalR usa vários protocolos como WebSockets e polling de longa duração para fornecer conexões persistentes independentemente do navegador. O documento também fornece links para recursos adicionais sobre SignalR.
Construindo apps de tempo real com SignalRIvan Paulovich
O documento apresenta uma palestra sobre SignalR, uma biblioteca do ASP.NET que permite comunicação em tempo real entre servidor e cliente na web. A palestra inclui uma introdução ao SignalR, demonstrações de uso em aplicativos como jogos e bate-papo, e referências para mais informações.
O documento apresenta SignalR, uma biblioteca do ASP.NET para comunicação em tempo real entre servidor e clientes. É demonstrado como poucas linhas de código permitem criar aplicações multicliente interativas, como jogos e bate-papos. SignalR permite que o servidor chame métodos no cliente e vice-versa de forma simples.
A apresentação discute como levar aplicações para a nuvem, mostrando como migrar aplicações ASP.NET e usando a função VM Role no Windows Azure. O palestrante também fornece demonstrações de como migrar aplicações e responde perguntas da audiência.
O documento apresenta uma introdução ao ASP.NET Web API, incluindo seus recursos principais como serviços HTTP, separação de responsabilidades e suporte a aplicações RESTful. Ele também resume os principais tópicos abordados como roteamento, consultas, criação e atualização de recursos, tratamento de exceções e hospedagem da API.
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptIvan Paulovich
Este documento fornece instruções sobre como criar aplicativos para Windows 8 usando apenas HTML5 e JavaScript. Ele discute como usar o ASP.NET Web API para criar uma API RESTful com suporte a CRUD e como implementar consultas e paginação. Também mostra como tratar exceções e hospedar a API sem um servidor web.
DDD Tactical Design with Clean Architecture - Ivan PaulovichIvan Paulovich
The document discusses tactical design and clean architecture. It begins with an introduction of the speaker and then defines tactical design as applying design patterns and building blocks within a bounded context to enrich the domain model in a hands-on way. It then defines clean architecture as having patterns, principles, and practices with classes and modules that follow principles of dependency inversion, stable abstractions, and stable dependencies. The rest of the document provides examples of tactical design and clean architecture concepts like entities, value objects, aggregates, and domain-driven design patterns.
Clean Architecture Essentials - Stockholm Software CraftsmanshipIvan Paulovich
About the talk:
Software Architecture is not about picking frameworks then gluing the pieces together! Let's dig into a software implementation designed to support the use cases, we will learn how to make the use cases a standalone component and see how a good architecture allows major decisions to be deferred. We will discuss component coupling and cohesion during the development timeline. Is your application architecture a Web Application? Are your tests taking too long to run? You will learn how to make the delivery mechanism an irrelevant and testable detail.
About the speaker:
Ivan Paulovich is an Agile .NET developer that enjoy solutions based on use cases and decoupled from technology details. Active on GitHub he supports OSS about Domain-Driven Design, TDD, Event Sourcing, CQRS, SOLID and Microservices. Microsoft MVP Reconnect. Checkout @ivanpaulovich on GitHub.
Software Architecture is not about picking frameworks and then gluing the pieces together! Let's dig into a software implementation designed to support the use cases, we will learn how to make the use cases a standalone component and see how a good architecture allows major decisions to be deferred. We will discuss component coupling and cohesion during the development timeline. Is your application architecture a Web API? Are your tests taking too long to run? You will learn how to make the delivery mechanism an irrelevant and testable detail.
Building rich domain models with ddd and tdd ivan paulovich - betssonIvan Paulovich
The document discusses building rich domain models using domain-driven design (DDD) and test-driven development (TDD). It warns against common anti-patterns when using these approaches, such as starting with the data model or reverse engineering. The document advocates for focusing on domain objects, value objects, entities and aggregates and using TDD to drive the design from tests. It provides examples of modeling customer and account domains using these DDD and TDD techniques.
The document discusses moving to a microservices architecture. It defines microservices as small, autonomous services that work together and are modeled around business domains. The principles of microservices include automating processes, prioritizing consumers, hiding implementation details, decentralizing systems, deploying independently, and isolating failures. The document outlines challenges in developing microservices and splitting existing monolithic applications into microservices.
Produzindo e consumindo um stream de eventosIvan Paulovich
O documento discute o armazenamento de dados usando streams de eventos como uma alternativa ao armazenamento em bancos de dados relacionais. Ele explica como os dados são atualmente armazenados em bancos de dados e as limitações desse modelo, e introduz o conceito de armazenamento em fluxo de eventos, discutindo seus benefícios como auditoria, redundância e preparação para big data. A solução proposta envolve a produção e consumo de eventos do domínio armazenados em um stream com projeções em bancos de dados.
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...Ivan Paulovich
Investiga uma solução tecnológica para ampliar a segurança em creches e instituições de educação infantil. Realiza uma pesquisa de mercado sobre a sensação de segurança dos usuários dessas instituições. Avalia um sistema de armazenamento baseado em fluxo de dados (Kafka), propõe uma arquitetura baseada em Event Sourcing, CQRS e Domain-Driven-Design (DDD) e sugere uma implementação seguindo os princípios do desenvolvimento de microsserviços usando C# e ASP.NET Core.
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crechesIvan Paulovich
Este documento discute como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches. Ele apresenta o modelo de event sourcing como uma alternativa ao armazenamento de dados relacional tradicional, fornecendo auditoria completa das operações e a capacidade de reverter mudanças. O documento também descreve os desafios técnicos e benefícios dessa abordagem, incluindo alta performance, distribuição de dados e suporte a novas funcionalidades.
O documento descreve o projeto de referência eShopOnContainers, que mostra como desenvolver uma loja online usando microserviços containerizados. Ele destaca as diferenças entre arquiteturas monolíticas e de microserviços, como implantação, armazenamento e comunicação, e aborda estilos arquiteturais como Domain-Driven Design aplicado a um microserviço de pedidos.
O documento discute os conceitos-chave de Linguagem Ubíqua e Projeto Orientado a Domínio, incluindo Contextos Delimitados, Mapeamento de Contextos, Estilos Arquiteturais, Agregações e Eventos de Domínio. Ele fornece links para recursos adicionais sobre esses tópicos.
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHIvan Paulovich
O documento apresenta uma agenda para um workshop sobre CI/CD utilizando o VSO e Docker no Azure. A agenda inclui introduções ao CI/CD, Docker e .NET Core CLI, demonstrações de integração contínua, entrega contínua e implantação contínua, e laboratórios práticos para configurar um agente VSTS no Ubuntu e publicar imagens Docker no Azure.
Windows Azure Mobile Services InfoTech 2014Ivan Paulovich
O documento apresenta os principais recursos do Azure Mobile Services, incluindo monitoramento 24/7, push notifications, armazenamento de dados em SQL, Table Storage e MongoDB, autenticação com Active Directory, Facebook, Twitter e Google, e integração com Office 365 e SharePoint. Demos são apresentados para autenticação e autorização, tarefas agendadas, chamadas de API e integração com Git.
O documento discute as oportunidades no mercado de TI, incluindo carreiras valorizadas, certificações, capacitação, comunidades, empreendedorismo e trabalho no exterior. Ele fornece exemplos de salários para diferentes carreiras de TI e destaca a importância da capacitação constante através de treinamentos e certificações.
O documento discute as vantagens e desvantagens de várias técnicas de conexão persistente entre servidores e clientes, incluindo SignalR, que permite comunicação em tempo real na web. SignalR usa vários protocolos como WebSockets e polling de longa duração para fornecer conexões persistentes independentemente do navegador. O documento também fornece links para recursos adicionais sobre SignalR.
Construindo apps de tempo real com SignalRIvan Paulovich
O documento apresenta uma palestra sobre SignalR, uma biblioteca do ASP.NET que permite comunicação em tempo real entre servidor e cliente na web. A palestra inclui uma introdução ao SignalR, demonstrações de uso em aplicativos como jogos e bate-papo, e referências para mais informações.
O documento apresenta SignalR, uma biblioteca do ASP.NET para comunicação em tempo real entre servidor e clientes. É demonstrado como poucas linhas de código permitem criar aplicações multicliente interativas, como jogos e bate-papos. SignalR permite que o servidor chame métodos no cliente e vice-versa de forma simples.
A apresentação discute como levar aplicações para a nuvem, mostrando como migrar aplicações ASP.NET e usando a função VM Role no Windows Azure. O palestrante também fornece demonstrações de como migrar aplicações e responde perguntas da audiência.
O documento apresenta uma introdução ao ASP.NET Web API, incluindo seus recursos principais como serviços HTTP, separação de responsabilidades e suporte a aplicações RESTful. Ele também resume os principais tópicos abordados como roteamento, consultas, criação e atualização de recursos, tratamento de exceções e hospedagem da API.
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptIvan Paulovich
Este documento fornece instruções sobre como criar aplicativos para Windows 8 usando apenas HTML5 e JavaScript. Ele discute como usar o ASP.NET Web API para criar uma API RESTful com suporte a CRUD e como implementar consultas e paginação. Também mostra como tratar exceções e hospedar a API sem um servidor web.
14. Single Responsibility Principle
• Violação do SRP.
• Regras de negócio e Persistência quase sempre não devem se
misturar.
• Regras de negócio mudam frequentemente.
SRP