Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
O objetivo desta palestra é mostrar como é possível evoluir e reescrever partes de uma aplicação legada com mais 5 anos em produção utilizando técnicas de uma parte Domain Driven Design conhecida como Strategic Design. É uma aplicação web escrita em Python e Django que suporta a operação de um grupo focado em medicina do trabalho, com clínicas espalhadas pelo país.
Nesta palestra vamos mostrar uma abordagem que pode ajudar times que precisam lidar com aplicações legadas grandes e complexas no caminho da modernização.
A proposta desta apresentação é mostrar uma alternativa para construção de aplicações com Ruby on Rails que dá ênfase a modelagem de domínio, separando o código que resolve o problema de negócio do código do framework.
1) O documento descreve como o Domain Driven Design (DDD) e o Strategic Design estão ajudando a modernizar um legado de sistema para uma empresa de medicina do trabalho.
2) O sistema começou simples mas cresceu de forma desorganizada ao longo de 5 anos, levando a muitos bugs. O DDD está sendo usado para dividir o domínio em Bounded Contexts e melhorar a arquitetura.
3) A estratégia envolve isolar funcionalidades em módulos/libs, definir interfaces para comunicação com o legado, e
O documento discute programação reativa e serverless no Azure. Na primeira parte, fornece contexto histórico sobre a evolução dos sistemas e mudanças nos paradigmas de programação. A segunda parte explica conceitos de programação reativa e como ela se relaciona com programação funcional. A terceira parte introduz o tópico de serverless e discute seu espectro de uso na nuvem.
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
Thiago Lima é um empreendedor e especialista em tecnologia com mais de 30 anos de experiência desenvolvendo e liderando equipes de tecnologia. Ele falará sobre microsserviços, desde a decomposição de sistemas até práticas de monitoramento e resiliência.
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOAllan Reis
O documento descreve os conceitos e aplicações da computação em nuvem, incluindo como as empresas podem fornecer serviços de software, plataforma e infraestrutura como serviço. Também discute os tipos de nuvens públicas, privadas e híbridas e como a computação em nuvem pode afetar os sistemas, funcionários e segurança de uma empresa de tecnologia da informação.
O documento discute princípios arquiteturais e boas práticas para o desenvolvimento de microsserviços, incluindo Domain-Driven Design, 12 Factor Apps, testes, resiliência e automação.
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
O objetivo desta palestra é mostrar como é possível evoluir e reescrever partes de uma aplicação legada com mais 5 anos em produção utilizando técnicas de uma parte Domain Driven Design conhecida como Strategic Design. É uma aplicação web escrita em Python e Django que suporta a operação de um grupo focado em medicina do trabalho, com clínicas espalhadas pelo país.
Nesta palestra vamos mostrar uma abordagem que pode ajudar times que precisam lidar com aplicações legadas grandes e complexas no caminho da modernização.
A proposta desta apresentação é mostrar uma alternativa para construção de aplicações com Ruby on Rails que dá ênfase a modelagem de domínio, separando o código que resolve o problema de negócio do código do framework.
1) O documento descreve como o Domain Driven Design (DDD) e o Strategic Design estão ajudando a modernizar um legado de sistema para uma empresa de medicina do trabalho.
2) O sistema começou simples mas cresceu de forma desorganizada ao longo de 5 anos, levando a muitos bugs. O DDD está sendo usado para dividir o domínio em Bounded Contexts e melhorar a arquitetura.
3) A estratégia envolve isolar funcionalidades em módulos/libs, definir interfaces para comunicação com o legado, e
O documento discute programação reativa e serverless no Azure. Na primeira parte, fornece contexto histórico sobre a evolução dos sistemas e mudanças nos paradigmas de programação. A segunda parte explica conceitos de programação reativa e como ela se relaciona com programação funcional. A terceira parte introduz o tópico de serverless e discute seu espectro de uso na nuvem.
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
Thiago Lima é um empreendedor e especialista em tecnologia com mais de 30 anos de experiência desenvolvendo e liderando equipes de tecnologia. Ele falará sobre microsserviços, desde a decomposição de sistemas até práticas de monitoramento e resiliência.
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOAllan Reis
O documento descreve os conceitos e aplicações da computação em nuvem, incluindo como as empresas podem fornecer serviços de software, plataforma e infraestrutura como serviço. Também discute os tipos de nuvens públicas, privadas e híbridas e como a computação em nuvem pode afetar os sistemas, funcionários e segurança de uma empresa de tecnologia da informação.
O documento discute princípios arquiteturais e boas práticas para o desenvolvimento de microsserviços, incluindo Domain-Driven Design, 12 Factor Apps, testes, resiliência e automação.
O documento discute a arquitetura de microserviços, definindo-a como um estilo arquitetural que enfatiza a decomposição de aplicações em microserviços de baixo acoplamento gerenciados por equipes multifuncionais. Também aborda os pré-requisitos de arquitetura para microserviços, como a computação distribuída, a orquestração versus coreografia e o uso de mensageria.
O documento discute estratégias para refatorar um sistema monolítico em microsserviços, abordando tópicos como identificação de domínios, implementação de novos requisitos, divisão do monolito e refatoração do banco de dados. Uma estratégia sugerida é criar serviços que se comunicam com o monolito através de uma camada anti-corrupção para garantir o sincronismo dos dados durante a transição.
O documento descreve a evolução da computação desde os mainframes da década de 1970 até a nuvem (cloud computing) atual, definindo cloud computing como um modelo no qual a computação ocorre remotamente via internet. Ele também explica os três tipos de nuvens (pública, privada e híbrida), as três camadas de serviços de nuvem (IaaS, PaaS e SaaS) e algumas plataformas de nuvem como Windows Azure, Amazon EC2 e Google AppEngine.
O documento discute microserviços e arquitetura de microsserviços. Define microserviços como aplicações pequenas e independentes que se comunicam através de APIs HTTP. Explora vantagens como escalabilidade e desvantagens como coordenação entre serviços. Também discute tecnologias como Docker, Spring Cloud e abordagens para banco de dados em arquiteturas de microsserviços.
O documento fornece um resumo sobre Cloud Computing e a plataforma OpenNebula. Ele define Cloud Computing e explica que OpenNebula é uma ferramenta open source para criar infraestrutura como serviço (IaaS) em nuvens privadas, públicas ou híbridas. Ele também descreve a arquitetura de OpenNebula e fornece um exemplo de como pode ser usado para gerenciar recursos virtuais e físicos.
O documento descreve um projeto de sistema chamado ThingProvider que aplica arquitetura de microsserviços para integrar dispositivos IoT. O sistema será dividido em quatro módulos: autenticação, interface web, nós e servidor. Cada sensor IoT irá expor uma API REST. O servidor gerenciará as APIs locais e a interface web permitirá aos usuários acessarem e compartilharem serviços.
O documento discute o desenvolvimento em nuvem, definindo-o como computação remota acessada pela internet. Apresenta os principais modelos de serviço (SaaS, PaaS e IaaS), tecnologias como MapReduce, Amazon EC2, Eucalyptus e plataformas como Google App Engine e Microsoft Azure. Por fim, discute aplicações, desafios e referências sobre computação em nuvem.
Este documento discute a migração de uma arquitetura baseada em ESB (Enterprise Service Bus) para MSA (Microservices Architecture) em nuvem. Ele descreve os principais conceitos de MSA, como microsserviços, Service Mesh e padrões de comunicação, e fornece uma estrutura de referência para a migração, incluindo estratégias como "strangler" e "extracting services".
Talk apresentada na Faculdade Uniritter, referente a arquitetura de microserviços.
Foi falado sobre a historio dos serviços, principais pessoas, sistemas monolíticos, serviços, até chegar a esta arquitetura de microserviços.
Logo sera publicado o resumo criado para cada slide para melhor entendimento.
O documento introduz o conceito de Cloud Computing, discutindo suas motivações, características e modelos. Apresenta os benefícios em redução de custos e aumento de eficiência, mas também riscos relacionados à segurança e dependência do fornecedor. Aborda os desafios na adoção de serviços Cloud pelas organizações.
1) O documento descreve um treinamento sobre AWS (Amazon Web Services) realizado por Jonathan Baraldi da Solid IT.
2) O treinamento aborda conceitos de cloud computing, serviços da AWS como S3, VPC e auto scaling.
3) Inclui demonstrações práticas e exercícios para os participantes.
Este documento apresenta conceitos de computação em nuvem, incluindo:
1) Definições de computação em nuvem, arquiteturas, desafios e estudos de caso.
2) Dois estudos de caso detalhando autenticação centrada no usuário e uma nuvem privada distribuída.
3) Resultados experimentais comparando abordagens de autenticação e testes de desempenho da nuvem privada.
Nuvens híbridas:Conectando aplicações locais com a nuvem na plataforma Windo...Osvaldo Daibert
O documento discute mecanismos para integrar aplicações locais com a plataforma Windows Azure, incluindo o Windows Azure Connect que permite conectividade segura entre redes on-premise e a nuvem usando protocolos IP padrão. Também apresenta considerações para avaliar aplicações quanto à adequação para a nuvem e cenários de desenvolvimento híbrido.
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceFernando Carvalho
O documento discute a história e definições de computação em nuvem, destacando o modelo de serviço de software como serviço (SaaS) e a arquitetura multitenante da Salesforce. A arquitetura da Salesforce armazena metadados para gerar aplicações virtualizadas em tempo de execução para múltiplos clientes, proporcionando escalabilidade. No entanto, garantias de desempenho e qualidade de serviço para cada cliente ainda são desafios nesse modelo de nuvem compartilhada.
Microserviços - Universidade Metodista - EETI 2016Renato Groff
Tópicos abordados nesta apresentação realizada durante o a semana EETI 2016 da Universidade Metodista - São Paulo (02/05/2016):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microserviços
Este documento fornece uma introdução à arquitetura de microsserviços. Explica as diferenças entre arquiteturas monolíticas e de microsserviços, abordando tópicos como comunicação síncrona e assíncrona, estilos de integração, gerenciamento de dados descentralizado e descoberta e registro de serviços. Finalmente, discute implantação usando Docker e Kubernetes.
O documento resume uma apresentação sobre o framework Struts 2 e seu uso no projeto Minha Casa Minha Vida. O documento discute o que é Struts, seu histórico, recursos principais e como foi usado no projeto, com foco na arquitetura MVC e validação.
Este artigo descreve (1) o paradigma de publish-subscribe e como ele fornece uma abordagem push-based para disseminar informações de forma persistente para múltiplos consumidores, (2) alguns middlewares que implementam este paradigma, incluindo suas características-chave como expressividade, topologia, eventos, transmissão e qualidade do serviço, e (3) exemplos de middlewares publish-subscribe como o Data Distribution System, WebSphere MQ e Tuxedo.
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
O documento discute o uso de visão computacional e inteligência artificial para aplicações médicas e industriais. Ele descreve como CPUs, GPUs e VPUs podem processar IA localmente e com baixo custo usando ferramentas como OpenVINO. Isso permitiria diagnósticos médicos remotos em tempo real com baixo consumo de energia.
O documento discute a arquitetura de microserviços, definindo-a como um estilo arquitetural que enfatiza a decomposição de aplicações em microserviços de baixo acoplamento gerenciados por equipes multifuncionais. Também aborda os pré-requisitos de arquitetura para microserviços, como a computação distribuída, a orquestração versus coreografia e o uso de mensageria.
O documento discute estratégias para refatorar um sistema monolítico em microsserviços, abordando tópicos como identificação de domínios, implementação de novos requisitos, divisão do monolito e refatoração do banco de dados. Uma estratégia sugerida é criar serviços que se comunicam com o monolito através de uma camada anti-corrupção para garantir o sincronismo dos dados durante a transição.
O documento descreve a evolução da computação desde os mainframes da década de 1970 até a nuvem (cloud computing) atual, definindo cloud computing como um modelo no qual a computação ocorre remotamente via internet. Ele também explica os três tipos de nuvens (pública, privada e híbrida), as três camadas de serviços de nuvem (IaaS, PaaS e SaaS) e algumas plataformas de nuvem como Windows Azure, Amazon EC2 e Google AppEngine.
O documento discute microserviços e arquitetura de microsserviços. Define microserviços como aplicações pequenas e independentes que se comunicam através de APIs HTTP. Explora vantagens como escalabilidade e desvantagens como coordenação entre serviços. Também discute tecnologias como Docker, Spring Cloud e abordagens para banco de dados em arquiteturas de microsserviços.
O documento fornece um resumo sobre Cloud Computing e a plataforma OpenNebula. Ele define Cloud Computing e explica que OpenNebula é uma ferramenta open source para criar infraestrutura como serviço (IaaS) em nuvens privadas, públicas ou híbridas. Ele também descreve a arquitetura de OpenNebula e fornece um exemplo de como pode ser usado para gerenciar recursos virtuais e físicos.
O documento descreve um projeto de sistema chamado ThingProvider que aplica arquitetura de microsserviços para integrar dispositivos IoT. O sistema será dividido em quatro módulos: autenticação, interface web, nós e servidor. Cada sensor IoT irá expor uma API REST. O servidor gerenciará as APIs locais e a interface web permitirá aos usuários acessarem e compartilharem serviços.
O documento discute o desenvolvimento em nuvem, definindo-o como computação remota acessada pela internet. Apresenta os principais modelos de serviço (SaaS, PaaS e IaaS), tecnologias como MapReduce, Amazon EC2, Eucalyptus e plataformas como Google App Engine e Microsoft Azure. Por fim, discute aplicações, desafios e referências sobre computação em nuvem.
Este documento discute a migração de uma arquitetura baseada em ESB (Enterprise Service Bus) para MSA (Microservices Architecture) em nuvem. Ele descreve os principais conceitos de MSA, como microsserviços, Service Mesh e padrões de comunicação, e fornece uma estrutura de referência para a migração, incluindo estratégias como "strangler" e "extracting services".
Talk apresentada na Faculdade Uniritter, referente a arquitetura de microserviços.
Foi falado sobre a historio dos serviços, principais pessoas, sistemas monolíticos, serviços, até chegar a esta arquitetura de microserviços.
Logo sera publicado o resumo criado para cada slide para melhor entendimento.
O documento introduz o conceito de Cloud Computing, discutindo suas motivações, características e modelos. Apresenta os benefícios em redução de custos e aumento de eficiência, mas também riscos relacionados à segurança e dependência do fornecedor. Aborda os desafios na adoção de serviços Cloud pelas organizações.
1) O documento descreve um treinamento sobre AWS (Amazon Web Services) realizado por Jonathan Baraldi da Solid IT.
2) O treinamento aborda conceitos de cloud computing, serviços da AWS como S3, VPC e auto scaling.
3) Inclui demonstrações práticas e exercícios para os participantes.
Este documento apresenta conceitos de computação em nuvem, incluindo:
1) Definições de computação em nuvem, arquiteturas, desafios e estudos de caso.
2) Dois estudos de caso detalhando autenticação centrada no usuário e uma nuvem privada distribuída.
3) Resultados experimentais comparando abordagens de autenticação e testes de desempenho da nuvem privada.
Nuvens híbridas:Conectando aplicações locais com a nuvem na plataforma Windo...Osvaldo Daibert
O documento discute mecanismos para integrar aplicações locais com a plataforma Windows Azure, incluindo o Windows Azure Connect que permite conectividade segura entre redes on-premise e a nuvem usando protocolos IP padrão. Também apresenta considerações para avaliar aplicações quanto à adequação para a nuvem e cenários de desenvolvimento híbrido.
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceFernando Carvalho
O documento discute a história e definições de computação em nuvem, destacando o modelo de serviço de software como serviço (SaaS) e a arquitetura multitenante da Salesforce. A arquitetura da Salesforce armazena metadados para gerar aplicações virtualizadas em tempo de execução para múltiplos clientes, proporcionando escalabilidade. No entanto, garantias de desempenho e qualidade de serviço para cada cliente ainda são desafios nesse modelo de nuvem compartilhada.
Microserviços - Universidade Metodista - EETI 2016Renato Groff
Tópicos abordados nesta apresentação realizada durante o a semana EETI 2016 da Universidade Metodista - São Paulo (02/05/2016):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microserviços
Este documento fornece uma introdução à arquitetura de microsserviços. Explica as diferenças entre arquiteturas monolíticas e de microsserviços, abordando tópicos como comunicação síncrona e assíncrona, estilos de integração, gerenciamento de dados descentralizado e descoberta e registro de serviços. Finalmente, discute implantação usando Docker e Kubernetes.
O documento resume uma apresentação sobre o framework Struts 2 e seu uso no projeto Minha Casa Minha Vida. O documento discute o que é Struts, seu histórico, recursos principais e como foi usado no projeto, com foco na arquitetura MVC e validação.
Este artigo descreve (1) o paradigma de publish-subscribe e como ele fornece uma abordagem push-based para disseminar informações de forma persistente para múltiplos consumidores, (2) alguns middlewares que implementam este paradigma, incluindo suas características-chave como expressividade, topologia, eventos, transmissão e qualidade do serviço, e (3) exemplos de middlewares publish-subscribe como o Data Distribution System, WebSphere MQ e Tuxedo.
Semelhante a TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organizar sua aplicacao para habilitar uma arquitetura distribuida (20)
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
O documento discute o uso de visão computacional e inteligência artificial para aplicações médicas e industriais. Ele descreve como CPUs, GPUs e VPUs podem processar IA localmente e com baixo custo usando ferramentas como OpenVINO. Isso permitiria diagnósticos médicos remotos em tempo real com baixo consumo de energia.
TDC2019 Intel Software Day - ACATE - Cases de Sucessotdc-globalcode
O documento fornece um panorama geral da tecnologia e inovação em Santa Catarina, destacando:
1) O setor representa 5,6% da economia catarinense, com faturamento de R$15,53 bilhões;
2) As cidades de Florianópolis e Blumenau são os dois polos com maior crescimento de faturamento no estado;
3) Santa Catarina tem a maior proporção de startups no país, com 19,95% do total nacional.
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
The document discusses Intel Graphics Performance Analyzers (Intel GPA), a suite of graphics performance tools created by Intel to optimize games and real-time graphics applications. It describes Intel GPA's profiling workflow which involves analyzing frames to identify bottlenecks, determining if issues are CPU or GPU bound, and identifying hotspots. It then provides overviews of the tools in Intel GPA like the System Analyzer, Trace Analyzer, Frame Analyzer and their capabilities for profiling graphics performance.
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinotdc-globalcode
O documento apresenta uma palestra sobre detecção de objetos em tempo real utilizando redes neurais convolucionais e o framework OpenVINO da Intel. É discutido o algoritmo YOLO para detecção de objetos em imagens e sua implementação no Intel AI Dev Cloud para treinamento. Também é mostrado como otimizar modelos de deep learning utilizando o OpenVINO para inferência em tempo real.
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...tdc-globalcode
O documento apresenta uma palestra sobre OpenCV, biblioteca de código aberto para visão computacional. Aborda os fundamentos da visão computacional e aplicações da OpenCV, incluindo processamento de imagens, reconhecimento de padrões e diretrizes para melhor desempenho em processadores Intel. Também discute tópicos como aprendizado de máquina profundo, YOLO e conformidade com leis de privacidade como o GDPR.
TDC2019 Intel Software Day - Inferencia de IA em edge devicestdc-globalcode
This document discusses Intel's compiler optimizations and how they may differ depending on the microprocessor. It notes that:
- Intel's compilers may optimize differently for non-Intel microprocessors, including optimizations for SSE2, SSE3, and SSSE3 instruction sets.
- Intel does not guarantee the availability, functionality, or effectiveness of any optimization on non-Intel microprocessors.
- Microprocessor-dependent optimizations are intended for use with Intel microprocessors only. Certain non-Intel specific optimizations are also reserved for Intel microprocessors.
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publicatdc-globalcode
O documento discute a aplicação de bancos de dados orientados a grafos para análise de vínculos na segurança pública. Esses bancos permitem modelar dados de crimes e suspeitos como vértices e arestas em um grafo, possibilitando correlacionar informações de forma mais eficiente do que bancos relacionais. Isso pode identificar proximidades entre suspeitos e verificar vínculos de diferentes perspectivas em tempo real, auxiliando investigações criminais.
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.
This document summarizes the development of an API for addresses in Go. It describes using Beego and pure Go for scalability. It implemented middlewares for routing, error handling, authentication, and logging. It also integrated New Relic for metrics. The API routes and controllers are chained through the middleware handlers. In conclusion, the API was able to successfully provide address functionality and insights through integration of middlewares and third-party services.
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?tdc-globalcode
O documento discute a importância da personalização e da relevância na web. Defende que sites devem entender os usuários individuais e fornecer experiências adaptadas às necessidades e desejos únicos de cada pessoa. Explica como o web mining, logs de servidor e clientes podem ser usados para analisar o comportamento dos usuários e melhorar a usabilidade e a relevância dos sites.
TDC2018SP | Trilha Go - Clean architecture em Golangtdc-globalcode
O documento descreve os princípios da arquitetura limpa em Go, dividindo o código em 4 camadas: entidades, casos de uso, controladores e frameworks/drivers. A arquitetura promove independência de frameworks, teste, interface gráfica e bancos de dados, além de permitir testes por camada. Um exemplo completo está disponível em um repositório no GitHub.
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
O documento discute as vantagens de usar a linguagem Go para testes de software, apresentando diversas ferramentas para testes com Go, como Godog para testes de aceitação baseados em BDD, Gomega para testes unitários e Ginkgo para execução de testes. Também cita empresas que usam Go em produção como Uber, Docker e Dropbox.
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciatdc-globalcode
O documento discute (1) a tokenização como método seguro de armazenar dados de cartão, (2) as integrações com as APIs do Google Pay e Apple Pay para permitir pagamentos móveis dentro de aplicativos, e (3) a crescente tendência dos pagamentos digitais em carteiras móveis em todo o mundo.
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
O documento discute o Azure SignalR Service, um serviço gerenciado pela Microsoft que permite escalar aplicações em tempo real sem gerenciar a infraestrutura subjacente. O serviço oferece fallback automático entre protocolos de comunicação e permite 1000 conexões por unidade com SLA de 99,9%. O documento também fornece instruções sobre como adicionar o serviço a uma aplicação ASP.NET Core.
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETtdc-globalcode
O documento discute a evolução do .NET, desde seu foco inicial em aplicativos empresariais para Windows até se tornar uma pilha multiplataforma de código aberto. Também compara o .NET Framework e o .NET Core, explicando quando cada um é mais adequado, e demonstra o SQL Server rodando no Linux.
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8tdc-globalcode
This document discusses new features in C# 7 and 8, including pattern matching, tuples, out variables, discards, ref returns and locals, expression-bodied members, numeric literals, local functions, generalized async returns, default literals, non-trailing named arguments, leading separators for numeric literals, private protected access, reference semantics with value types using in, ref, and ref readonly. It also provides links to documentation and proposals for each feature.
1) A apresentação introduz Fernando Mendes e Mikaeri Ohana, arquiteto de software e desenvolvedor de software respectivamente, e descreve o tópico da palestra sobre obter métricas com TDD utilizando build automatizado e deploy no Azure. 2) A palestra discute os benefícios dos testes unitários, TDD e cobertura de código e faz uma demonstração. 3) As ferramentas xUnit, OpenCover e ReportGenerator são apresentadas para testes, cobertura e relatórios.
TDC2018SP | Trilha .Net - .NET funcional com F#tdc-globalcode
O documento apresenta a linguagem de programação funcional F# como parte do .NET, destacando que é fortemente tipada e permite programação funcional "impura" com interoperabilidade com o ecossistema .NET. Também menciona o apoio da Microsoft à linguagem e exemplos de onde ela pode ser usada.
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
O documento descreve o Blazor, um projeto experimental que permite criar SPAs usando C# e WebAssembly. Ele explica que o WebAssembly é um novo formato para compilação web e lista algumas vantagens do Blazor, como ser estável e usar ferramentas da indústria. Também menciona pré-requisitos para usar o Blazor e dicas de hospedagem.
Egito antigo resumo - aula de história.pdfsthefanydesr
O Egito Antigo foi formado a partir da mistura de diversos povos, a população era dividida em vários clãs, que se organizavam em comunidades chamadas nomos. Estes funcionavam como se fossem pequenos Estados independentes.
Por volta de 3500 a.C., os nomos se uniram formando dois reinos: o Baixo Egito, ao Norte e o Alto Egito, ao Sul. Posteriormente, em 3200 a.C., os dois reinos foram unificados por Menés, rei do alto Egito, que tornou-se o primeiro faraó, criando a primeira dinastia que deu origem ao Estado egípcio.
Começava um longo período de esplendor da civilização egípcia, também conhecida como a era dos grandes faraós.
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Biblioteca UCS
A biblioteca abriga, em seu acervo de coleções especiais o terceiro volume da obra editada em Lisboa, em 1843. Sua exibe
detalhes dourados e vermelhos. A obra narra um romance de cavalaria, relatando a
vida e façanhas do cavaleiro Clarimundo,
que se torna Rei da Hungria e Imperador
de Constantinopla.
O Que é Um Ménage à Trois?
A sociedade contemporânea está passando por grandes mudanças comportamentais no âmbito da sexualidade humana, tendo inversão de valores indescritíveis, que assusta as famílias tradicionais instituídas na Palavra de Deus.
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Betel, Ordenança para buscar a paz e fazer o bem, 2Tr24, Pr Henrique, EBD NA TV, 2° TRIMESTRE DE 2024, ADULTOS, EDITORA BETEL, TEMA, ORDENANÇAS BÍBLICAS, Doutrina Fundamentais Imperativas aos Cristãos para uma vida bem-sucedida e de Comunhão com DEUS, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Comentários, Bispo Abner Ferreira, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organizar sua aplicacao para habilitar uma arquitetura distribuida
1. Globalcode – Open4education
Modular Monoliths
Luiz Costa
gutomcosta@gmail.com / @gutomcosta
Como é possível organizar sua aplicação para habilitar uma arquitetura distribuída
5. A monolithic application is self-contained, and independent
from other computing applications. The design philosophy is
that the application is responsible not just for a particular
task, but can perform every step needed to complete a
particular function.
Wikipedia -Monolithic application
6. A monolithic application is self-contained, and independent
from other computing applications. The design philosophy is
that the application is responsible not just for a particular
task, but can perform every step needed to complete a
particular function.
Wikipedia -Monolithic application
7. A monolithic application is self-contained, and independent
from other computing applications. The design philosophy is
that the application is responsible not just for a particular
task, but can perform every step needed to complete a
particular function.
Wikipedia -Monolithic application
9. …The system is divided into a number of relatively
independent modules with well defined interfaces; each one
is small enough and simple enough to be thoroughly
understood and well programmed…
On the criteria to be used in decomposing systems into modules - David Parnas, 1971
10. …The system is divided into a number of relatively
independent modules with well defined interfaces; each one
is small enough and simple enough to be thoroughly
understood and well programmed…
On the criteria to be used in decomposing systems into modules - David Parnas, 1971
11. …The system is divided into a number of relatively
independent modules with well defined interfaces; each one
is small enough and simple enough to be thoroughly
understood and well programmed…
On the criteria to be used in decomposing systems into modules - David Parnas, 1971
33. Total unification of the domain
model for a large system will
not feasible or cost-effective
“Domain Driven Design, Chapter 14 - Maintaining Model Integrity", pág: 332
Eric Evans - Blue Book
39. Bounded Context
…delimits the applicability of a particular
model so that team members have a clear
and shared understanding of what has to be
consistent and how it relates to other
contexts.
“Domain Driven Design, Chapter 14 - Maintaining Model Integrity", pág: 336
Eric Evans - Blue Book
43. Paciente
Atendimento
+ qual nome, nascimento…?
+ qual dia do agendamento?
+ qual endereço de atendimento?
Paciente
Vacinação
+ como a caderneta de vacinação
está organizada?
+ qual a próxima vacina?
+ qual vacina foi aplicada?
Paciente
Financeiro
+ qual custo das vacinas aplicadas?
+alguma condição de desconto?
+qual meio de pagamento utilizado?
É responsabilidade de cada
contexto modelar os dados da
melhor maneira, de acordo
com a as suas
responsabilidades.
44. Um módulo é a
implementação de um
Bounded Context
52. Todas as regras de negócio são
programadas aqui. Normalmente são
objetos puros, sem relação com
persistência ou infra-estrutura
Expostas
através de
casos de uso
61. Deve permitir o paciente agendar a
aplicação de vacina.
Ao fazer o agendamento deve-se efetuar o
pagamento e reservar o estoque dos
produtos agendados.
User Story
62. User Story
Deve permitir o paciente agendar a
aplicação de vacina.
Ao fazer o agendamento deve-se efetuar o
pagamento e reservar o estoque dos
produtos agendados.
66. O ideal é que um contexto só
exponha objetos de
fronteira. Ex: Use Cases,
Services ou Repositories
Se precisar retornar um
conjunto de dados mais
complexo, dê preferência
para Hashs ou Tuplas
Mantenha o domain model
protegido dentro do
contexto. O ideal é não
deixar “vazar" do contexto
os objetos de domínio
67. public class
Deve se reduzir o número de classes públicas para promover o
encapsulamento
80. Contexto de pagamento como microserviço
O único ponto de contato com o contexto de
pagamento no agendamento, era o objeto de
fronteira Pagamento. Este objeto vai precisar
ser alterado, e ao invés de chamar o contexto
diretamente, vamos introduzir uma service
layer para implementar a chamada remota ao
microserviço de pagamento
O contexto de pagamento foi extraído e
adicionado em uma nova aplicação rails. Foi
necessário expor uma api para disponibilizar o
acesso aos casos de uso. Neste caso,
provavelmente os respositórios deverão ser
alterados para conectar no banco de dados
diferente.
81. Contexto de pagamento como microserviço
O único ponto de contato com o contexto de
pagamento no agendamento, era o objeto de
fronteira Pagamento. Este objeto vai precisar
ser alterado, e ao invés de chamar o contexto
diretamente, vamos introduzir uma service
layer para implementar a chamada remota ao
microserviço de pagamento
O contexto de pagamento foi extraído e
adicionado em uma nova aplicação rails. Foi
necessário expor uma api para disponibilizar o
acesso aos casos de usos. Neste caso,
provavelmente os respositórios deverão ser
alterados para conectar no banco de dados
diferente.
82. Como extrair o contexto de
Gestão de Estoque?
Como lidar com o Domain Event AgendamentoCriado?
84. Contexto de estoque como microserviço
O contexto de agendamento continua
publicando o domain event
AgendamentoCriado da mesma forma que
antes, nada muda aqui.
O Event Handler original é substituído por
outro que public o evento em um Broker de
mensagem. Ex: RabbitMQ, Kafka, ActveMQ
No microserviço de estoque, é necessário
adicionar na ACL, handlers que serão
estimulados pelas mensagens entregues pelo
broker. Estes handlers, delegam a execução
para os caso de uso.
85. Contexto de estoque como microserviço
O contexto de agendamento continua
publicando o domain event
AgendamentoCriado da mesma forma que
antes, nada muda aqui.
O Event Handler original é substituído por
outro que public o evento em um Broker de
mensagem. Ex: RabbitMQ, Kafka, ActveMQ
No microserviço de estoque, é necessário
adicionar na ACL, handlers que serão
estimulados pelas mensagens entregues pelo
broker. Estes handlers, delegam a execução
para os casos de uso.