Revisitando Local StorageRevisitando Local Storage - Palestra feita no Front in Rio 2016 sobre armazenamento local e Web Storage Api.
frontinrio.com.br
A apresentação discute como Redis pode ser usado para escalar o desempenho de aplicações ASP.NET, descrevendo suas principais características como armazenamento de dados em memória chave-valor, suporte a estruturas de dados complexas e operações atômicas. Também mostra exemplos de como usar pipelines e pub/sub no Redis.
Azure Cosmos DB - TDC 2017 - São PauloRenato Groff
O documento apresenta o Azure Cosmos DB, um serviço de banco de dados distribuído globalmente oferecido pela Microsoft. Ele fornece características como distribuição global, baixa latência, indexação automática e suporte a vários modelos de dados. Exemplos práticos de uso do Azure Cosmos DB com DocumentDB, MongoDB e .NET são fornecidos em repositórios no GitHub.
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Renato Groff
Este documento resume as principais tecnologias de bancos de dados relacionais e não relacionais disponíveis no Azure, incluindo o Azure SQL Database, PostgreSQL, MySQL, Azure Redis Cache e Azure Cosmos DB. O documento também discute os benefícios da nuvem e por que as empresas estão migrando seus bancos de dados para o Azure.
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017Renato Groff
Palestra sobre o uso de soluções NoSQL como Redis, MongoDB, DocumentDB, Azure Tables e Azure Cosmos DB em aplicações .NET. Apresentação realizada em 18/09/2017 em São Paulo-SP, em meetup promovido pelo grupo Developers-SP.
O documento discute estratégias para melhorar o desempenho de aplicações web, incluindo otimizações no back-end, como cache e processamento assíncrono de requisições, e no front-end, como minificação de arquivos CSS e JavaScript, uso de CDN e lazy load de imagens. O objetivo é fazer com que as aplicações sejam mais rápidas e eficientes.
Criando um baseline de seu ambiente completo utilizando SSIS e SSRSMarcos Freccia
O documento discute como criar um baseline do ambiente SQL Server usando SSIS e SSRS para coletar métricas como uso de CPU, esperas, índices e discos. O autor apresenta as ferramentas que serão utilizadas - SQL Server, SSIS, SSRS e SSDT - e quais métricas serão coletadas, como overview das instâncias, latência de disco e uso de índices.
Sulamita Dantas é uma especialista em SQL Server e BI. Ela fornecerá uma apresentação sobre como fazer backup de bancos de dados SQL Server no serviço de armazenamento Blob do Azure, incluindo vantagens, desvantagens e um passo a passo demostrativo. A apresentação também abordará os tipos de backup, modelos de recuperação e opções de armazenamento de backup.
Revisitando Local StorageRevisitando Local Storage - Palestra feita no Front in Rio 2016 sobre armazenamento local e Web Storage Api.
frontinrio.com.br
A apresentação discute como Redis pode ser usado para escalar o desempenho de aplicações ASP.NET, descrevendo suas principais características como armazenamento de dados em memória chave-valor, suporte a estruturas de dados complexas e operações atômicas. Também mostra exemplos de como usar pipelines e pub/sub no Redis.
Azure Cosmos DB - TDC 2017 - São PauloRenato Groff
O documento apresenta o Azure Cosmos DB, um serviço de banco de dados distribuído globalmente oferecido pela Microsoft. Ele fornece características como distribuição global, baixa latência, indexação automática e suporte a vários modelos de dados. Exemplos práticos de uso do Azure Cosmos DB com DocumentDB, MongoDB e .NET são fornecidos em repositórios no GitHub.
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Renato Groff
Este documento resume as principais tecnologias de bancos de dados relacionais e não relacionais disponíveis no Azure, incluindo o Azure SQL Database, PostgreSQL, MySQL, Azure Redis Cache e Azure Cosmos DB. O documento também discute os benefícios da nuvem e por que as empresas estão migrando seus bancos de dados para o Azure.
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017Renato Groff
Palestra sobre o uso de soluções NoSQL como Redis, MongoDB, DocumentDB, Azure Tables e Azure Cosmos DB em aplicações .NET. Apresentação realizada em 18/09/2017 em São Paulo-SP, em meetup promovido pelo grupo Developers-SP.
O documento discute estratégias para melhorar o desempenho de aplicações web, incluindo otimizações no back-end, como cache e processamento assíncrono de requisições, e no front-end, como minificação de arquivos CSS e JavaScript, uso de CDN e lazy load de imagens. O objetivo é fazer com que as aplicações sejam mais rápidas e eficientes.
Criando um baseline de seu ambiente completo utilizando SSIS e SSRSMarcos Freccia
O documento discute como criar um baseline do ambiente SQL Server usando SSIS e SSRS para coletar métricas como uso de CPU, esperas, índices e discos. O autor apresenta as ferramentas que serão utilizadas - SQL Server, SSIS, SSRS e SSDT - e quais métricas serão coletadas, como overview das instâncias, latência de disco e uso de índices.
Sulamita Dantas é uma especialista em SQL Server e BI. Ela fornecerá uma apresentação sobre como fazer backup de bancos de dados SQL Server no serviço de armazenamento Blob do Azure, incluindo vantagens, desvantagens e um passo a passo demostrativo. A apresentação também abordará os tipos de backup, modelos de recuperação e opções de armazenamento de backup.
O documento discute a possibilidade de usar bancos de dados na nuvem da Microsoft Azure. Ele descreve os serviços de banco de dados relacional SQL Database como uma opção gerenciada que oferece escalabilidade, continuidade e funcionalidades para desenvolvedores sem a necessidade de um DBA. Ele também discute os níveis de serviço disponíveis e suas características de desempenho e preços.
O documento discute tecnologias LAMP e LEMP para desenvolvimento web, comparando bancos de dados SQL e NoSQL, abordando buscas em JSON, cache com Redis, e Software como Serviço (SaaS) com exemplos de serviços de email como PHPMailer e Mandrill.
Monitorando os Recursos e Processos do Servidor, através do Power BISulamita Dantas
O documento discute como monitorar recursos e processos do servidor através do Power BI. Apresenta como configurar o Perfmon e Relog para coletar métricas e importá-las para o SQL Server. Em seguida, cria dashboards no Power BI para visualizar e analisar os dados coletados.
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018Renato Groff
Apresentação sobre o uso de tecnologias NoSQL a partir do Cosmos DB no Microsoft Azure. Palestra realizada no dia 07/04/2018 em São Paulo-SP, durante a edição 2018 do MVPConf.
O documento discute a integração de sistemas usando RabbitMQ como middleware de mensagens. Ele explica como RabbitMQ funciona usando componentes como exchanges, queues e bindings para encaminhar mensagens de produtores para consumidores de maneira assíncrona e com baixo acoplamento. O documento também discute porque o RabbitMQ é uma boa opção para integração e fornece exemplos de como criar produtores e consumidores.
O documento apresenta as vantagens de desenvolver APIs com Node.js e o framework Express, discutindo como iniciar um projeto com ele, configurar rotas e middlewares. Bibliotecas como Swagger, Passport e Knex são apresentadas para documentação, autenticação e acesso a bancos de dados.
O documento discute o MongoDB, um banco de dados NoSQL orientado a documentos. Ele é projetado para problemas que não são facilmente resolvidos por RDBMS tradicionais e pode escalar em muitos servidores. Ele armazena dados como documentos JSON e suporta alta performance, consulta dinâmica e armazenamento eficiente de dados binários.
O documento discute diferentes opções para persistência de dados, incluindo memória, cache, arquivos, rede, bancos de dados e fita. Cada opção é analisada considerando vantagens como desempenho e desvantagens como confiabilidade. O documento recomenda qual opção usar dependendo do tipo e necessidade dos dados, como performance de consulta versus sobrevivência ao reinício.
Atualmente utilizamos MongoDB em um sistema que processa uma média de 300k eventos por dia. O objetivo dessa paletra é compartilhar as lições aprendidas e técnicas de otimizações que utilizamos com foco nos seguintes pontos: Queries, Fields, Sort, Indexes, Replicação, Consistência de dados, Consumo de CPU/memória, Transação.
O documento apresenta Fernando Boaglio e discute MongoDB e OpenShift. Ele explica o que é MongoDB, como surgiu, quem usa e como funciona. Também mostra como implementar um sistema de votação em filmes usando MongoDB no OpenShift e testar o desempenho na nuvem.
1) O documento introduz MongoDB e Java, comparando SQL e NoSQL, e discutindo os modelos de dados chave-valor, coluna, grafo e documento.
2) Ele também aborda o CAP Theorem, o Java MongoDB Driver e Spring Data MongoDB.
3) Por fim, apresenta um estudo de caso sobre um sistema de cadastro de pratos de comida com comentários.
O documento discute conceitos fundamentais de arquitetura web e REST. Ele explica como HTTP funciona para transferir dados entre clientes e servidores e como REST usa verbos HTTP e URLs para acessar recursos de forma uniforme. Também apresenta JSON como formato para representar dados e componentes do Delphi que facilitam o consumo de APIs REST.
O documento descreve como o palestrante melhorou a performance de consultas no BigQuery em 50x ao migrar para a BigQuery Storage Read API e usar o formato de dados Apache Arrow. A apresentação também discute os protocolos gRPC e HTTP/2 e como eles melhoram a performance em comparação com a BigQuery REST API original.
O documento resume os principais conceitos da arquitetura da web, incluindo o modelo cliente-servidor, protocolo HTTP, URLs e como as páginas interagem entre o browser e o servidor. Também discute o desenvolvimento de sistemas web usando linguagens como HTML, Java e PHP.
Dicas para desenvolvedores que querem fazer uma Web rápida e divertida.
Explicações sobre HTTP, HTML, CSS, JavaScripts, ferramentas e bibliotecas que fazem nossa vida mais fácil
O documento resume as principais features introduzidas nas versões Java 8, 9, 10 e 11, incluindo expressões lambda, Stream, Jshell, HTTP client e interferências de tipos. Também discute sobre microserviços, protocolo HTTP, códigos de status e versionamento de contrato de APIs.
O documento discute APIs, sistemas de integração e suas aplicações em negócios. Aborda tópicos como a diferença entre APIs, bibliotecas e frameworks, como APIs funcionam, requisições HTTP, formatos como SOAP, REST, XML e JSON, segurança e autenticação, criação e consumo de APIs. Também discute opções para sites e aplicativos móveis, além de justificar a exposição de dados via APIs.
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMASHeider Lopes
No dia 27/04/2017 foi realizado na FIAP - Unidade Aclimação o Workshop do Bem onde falamos sobre o mundo das APIs - otimizando a integração de sistemas.
Abordamos no evento sobre a importância para conquistar clientes e mantê-los engajados com o seu conteúdo e como conseguir entregar o que ele espera, no momento que ele quer e como surpreendê-lo podendo, para isso, ser utilizado um computador, um tablet, um smartphone ou quem sabe até uma coisa (IoT). Apresentamos como as APIs facilitam a integração entre sistemas e parceiros, favorecendo todo o ecossistema em volta de sua marca.
Confira abaixo os slides apresentados.
Segunda palestra da PHP Conference Brasil, falando sobre webservices, uma visão geral para quem quer começar a usar e métodos e estratégias para quem já os adota
1) Aplicações web permitem que clientes ao redor do mundo acessem recursos em servidores;
2) Servidores recebem solicitações de clientes e devolvem respostas, como páginas HTML ou arquivos;
3) Clientes fazem solicitações usando navegadores e protocolos como HTTP, enquanto servidores respondem usando linguagens como HTML.
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
O documento discute o desenvolvimento de uma aplicação full stack JavaScript usando MongoDB, Express, AngularJS e Node.js. Ele explica como usar essas tecnologias juntas, incluindo o uso de bancos de dados NoSQL, arquitetura MVC, APIs RESTful e WebSockets. Além disso, discute ferramentas como Gulp para automatizar tarefas.
1. O documento introduz o PHP como uma linguagem de script para criar páginas web dinâmicas e interativas.
2. É explicado como instalar o WampServer para configurar um ambiente local de desenvolvimento web com PHP, MySQL e Apache.
3. São apresentados exemplos básicos de código PHP para processar dados em formulários HTML e exibir resultados.
O documento discute a possibilidade de usar bancos de dados na nuvem da Microsoft Azure. Ele descreve os serviços de banco de dados relacional SQL Database como uma opção gerenciada que oferece escalabilidade, continuidade e funcionalidades para desenvolvedores sem a necessidade de um DBA. Ele também discute os níveis de serviço disponíveis e suas características de desempenho e preços.
O documento discute tecnologias LAMP e LEMP para desenvolvimento web, comparando bancos de dados SQL e NoSQL, abordando buscas em JSON, cache com Redis, e Software como Serviço (SaaS) com exemplos de serviços de email como PHPMailer e Mandrill.
Monitorando os Recursos e Processos do Servidor, através do Power BISulamita Dantas
O documento discute como monitorar recursos e processos do servidor através do Power BI. Apresenta como configurar o Perfmon e Relog para coletar métricas e importá-las para o SQL Server. Em seguida, cria dashboards no Power BI para visualizar e analisar os dados coletados.
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018Renato Groff
Apresentação sobre o uso de tecnologias NoSQL a partir do Cosmos DB no Microsoft Azure. Palestra realizada no dia 07/04/2018 em São Paulo-SP, durante a edição 2018 do MVPConf.
O documento discute a integração de sistemas usando RabbitMQ como middleware de mensagens. Ele explica como RabbitMQ funciona usando componentes como exchanges, queues e bindings para encaminhar mensagens de produtores para consumidores de maneira assíncrona e com baixo acoplamento. O documento também discute porque o RabbitMQ é uma boa opção para integração e fornece exemplos de como criar produtores e consumidores.
O documento apresenta as vantagens de desenvolver APIs com Node.js e o framework Express, discutindo como iniciar um projeto com ele, configurar rotas e middlewares. Bibliotecas como Swagger, Passport e Knex são apresentadas para documentação, autenticação e acesso a bancos de dados.
O documento discute o MongoDB, um banco de dados NoSQL orientado a documentos. Ele é projetado para problemas que não são facilmente resolvidos por RDBMS tradicionais e pode escalar em muitos servidores. Ele armazena dados como documentos JSON e suporta alta performance, consulta dinâmica e armazenamento eficiente de dados binários.
O documento discute diferentes opções para persistência de dados, incluindo memória, cache, arquivos, rede, bancos de dados e fita. Cada opção é analisada considerando vantagens como desempenho e desvantagens como confiabilidade. O documento recomenda qual opção usar dependendo do tipo e necessidade dos dados, como performance de consulta versus sobrevivência ao reinício.
Atualmente utilizamos MongoDB em um sistema que processa uma média de 300k eventos por dia. O objetivo dessa paletra é compartilhar as lições aprendidas e técnicas de otimizações que utilizamos com foco nos seguintes pontos: Queries, Fields, Sort, Indexes, Replicação, Consistência de dados, Consumo de CPU/memória, Transação.
O documento apresenta Fernando Boaglio e discute MongoDB e OpenShift. Ele explica o que é MongoDB, como surgiu, quem usa e como funciona. Também mostra como implementar um sistema de votação em filmes usando MongoDB no OpenShift e testar o desempenho na nuvem.
1) O documento introduz MongoDB e Java, comparando SQL e NoSQL, e discutindo os modelos de dados chave-valor, coluna, grafo e documento.
2) Ele também aborda o CAP Theorem, o Java MongoDB Driver e Spring Data MongoDB.
3) Por fim, apresenta um estudo de caso sobre um sistema de cadastro de pratos de comida com comentários.
O documento discute conceitos fundamentais de arquitetura web e REST. Ele explica como HTTP funciona para transferir dados entre clientes e servidores e como REST usa verbos HTTP e URLs para acessar recursos de forma uniforme. Também apresenta JSON como formato para representar dados e componentes do Delphi que facilitam o consumo de APIs REST.
O documento descreve como o palestrante melhorou a performance de consultas no BigQuery em 50x ao migrar para a BigQuery Storage Read API e usar o formato de dados Apache Arrow. A apresentação também discute os protocolos gRPC e HTTP/2 e como eles melhoram a performance em comparação com a BigQuery REST API original.
O documento resume os principais conceitos da arquitetura da web, incluindo o modelo cliente-servidor, protocolo HTTP, URLs e como as páginas interagem entre o browser e o servidor. Também discute o desenvolvimento de sistemas web usando linguagens como HTML, Java e PHP.
Dicas para desenvolvedores que querem fazer uma Web rápida e divertida.
Explicações sobre HTTP, HTML, CSS, JavaScripts, ferramentas e bibliotecas que fazem nossa vida mais fácil
O documento resume as principais features introduzidas nas versões Java 8, 9, 10 e 11, incluindo expressões lambda, Stream, Jshell, HTTP client e interferências de tipos. Também discute sobre microserviços, protocolo HTTP, códigos de status e versionamento de contrato de APIs.
O documento discute APIs, sistemas de integração e suas aplicações em negócios. Aborda tópicos como a diferença entre APIs, bibliotecas e frameworks, como APIs funcionam, requisições HTTP, formatos como SOAP, REST, XML e JSON, segurança e autenticação, criação e consumo de APIs. Também discute opções para sites e aplicativos móveis, além de justificar a exposição de dados via APIs.
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMASHeider Lopes
No dia 27/04/2017 foi realizado na FIAP - Unidade Aclimação o Workshop do Bem onde falamos sobre o mundo das APIs - otimizando a integração de sistemas.
Abordamos no evento sobre a importância para conquistar clientes e mantê-los engajados com o seu conteúdo e como conseguir entregar o que ele espera, no momento que ele quer e como surpreendê-lo podendo, para isso, ser utilizado um computador, um tablet, um smartphone ou quem sabe até uma coisa (IoT). Apresentamos como as APIs facilitam a integração entre sistemas e parceiros, favorecendo todo o ecossistema em volta de sua marca.
Confira abaixo os slides apresentados.
Segunda palestra da PHP Conference Brasil, falando sobre webservices, uma visão geral para quem quer começar a usar e métodos e estratégias para quem já os adota
1) Aplicações web permitem que clientes ao redor do mundo acessem recursos em servidores;
2) Servidores recebem solicitações de clientes e devolvem respostas, como páginas HTML ou arquivos;
3) Clientes fazem solicitações usando navegadores e protocolos como HTTP, enquanto servidores respondem usando linguagens como HTML.
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
O documento discute o desenvolvimento de uma aplicação full stack JavaScript usando MongoDB, Express, AngularJS e Node.js. Ele explica como usar essas tecnologias juntas, incluindo o uso de bancos de dados NoSQL, arquitetura MVC, APIs RESTful e WebSockets. Além disso, discute ferramentas como Gulp para automatizar tarefas.
1. O documento introduz o PHP como uma linguagem de script para criar páginas web dinâmicas e interativas.
2. É explicado como instalar o WampServer para configurar um ambiente local de desenvolvimento web com PHP, MySQL e Apache.
3. São apresentados exemplos básicos de código PHP para processar dados em formulários HTML e exibir resultados.
O documento apresenta uma agenda para um workshop sobre arquitetura front-end e tecnologias front-end. A agenda inclui tópicos como SOA, tipos de arquiteturas para aplicações web, SOFEA, aplicações de página única, padrão Backends for Frontends, Angular, NodeJs, Gulp, Grunt, React e outros.
Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018Renato Groffe
Apresentação sobre o uso do Application Insights (serviço que integra o Microsoft Azure) no monitoramento de APIs REST. Apresentação realizada em meetup promovido pelo grupo NerdZão na cidade de São Paulo-SP no dia 26/02/2018.
O documento apresenta uma introdução ao desenvolvimento web com .NET Core, descrevendo sua história, arquitetura, ferramentas e como transformar um projeto console em um site web usando o framework MVC.
O documento apresenta os conceitos básicos de banco de dados, como são aplicados em aplicações web e possíveis problemas. Explica que bancos de dados armazenam dados em tabelas, podem ser relacionais ou não relacionais e são gerenciados por SGBDs. Também mostra como modelar bancos de dados e como aplicações se comunicam com eles diretamente ou via ORM, além de possíveis causas de problemas como buscas ineficientes.
Este documento resume dicas de desempenho para APIs ASP.NET Core. Aborda tópicos como middlewares, acesso a dados, async/await, cache, compressão, infraestrutura, micro serviços e API gateway. O objetivo é apresentar boas práticas para construir APIs rápidas e escaláveis.
O documento apresenta a agenda do evento APIX 2018, com palestras sobre tópicos relacionados a APIs, como Progressive Web Apps, GraphQL, Design de APIs, Mock Dinâmico de APIs REST, Detecção de Fraudes e Composição de Serviços. A agenda inclui os nomes dos palestrantes de cada sessão. Os gráficos mostram o crescimento anual de casos na plataforma SenseDIA e a interface do game APIXPay.
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017Renato Groff
Apresentação sobre o monitoramento de APIs REST com o Application Insights. Palestra realizada na sede da Microsoft em São Paulo-SP no dia 13/12/2017, em evento promovido pelo grupo .NET São Paulo.
O documento apresenta um minicurso sobre desenvolvimento web com o framework CakePHP. Resume os principais tópicos da seguinte forma:
1) Apresenta os pré-requisitos, conceitos de frameworks, MVC e o framework CakePHP;
2) Explica as vantagens do CakePHP como compatibilidade, facilidade de uso e ferramentas integradas;
3) Demonstra passo a passo a instalação e criação de um blog simples utilizando os recursos do CakePHP como scaffolding, models, controllers e views.
Este documento apresenta o desenvolvimento de uma API RESTful com Java EE, abordando conceitos como HTTP, REST, JAX-RS e implementação de recursos REST em diferentes níveis de maturidade até chegar em uma API completa. O curso também demonstra tópicos como modelagem de dados, DTOs, configuração do projeto com Maven, repositório de dados e consumo da API.
Semelhante a Minicurso - Banco de Dados NoSQL com .Net Core (20)
2. Agenda
1. Net Core
2. API REST
3. Hands On – Criando uma API REST
4. Modelagem de domínios
5. Hands On – Criação de domínio
6. Banco de Dados Não Relacional
7. Hands On – Conectando nossa API ao MongoDB1. Basico do TDD
7. O que é uma API REST?
• Servidor web;
• Utiliza requisições HTTP para extrair,
inserir, atualizar e deletar dados;
• Permite a comunicação entre dois ou
mais softwares distintos;
8. Porque utilizar?
• Padrão adotado por toda a industria de tecnologia;
• Utiliza o padrão HTTP;
• Pode utilizar os principais tipos de formatos de arquivos para troca de
informações, como o JSON e XML;
10. JSON
• Formato de arquivo para
troca de informações mais
utilizado atualmente;
• Simples;
• Performático;
• Leve.
11. Melhores Práticas – KISS
• Semântica intuitiva;
• Termos comuns e concretos (pedido, endereço, produto);
• Não se deve ter mais de uma maneira de obter os mesmos dados;
12. Melhores Práticas – Métodos
• Utilizar os verbos HTTP de maneira intuitiva;
GET /EncontrarUsuario/1
GET /Usuario/1
POST /SalvarContatoUsuario
POST /Usuario/1/Contato
15. O que é DDD ?
• Domain Driven Design;
• Não é tecnologia;
• Requer entendimento do negócio;
• Não deve levar banco de dados em consideração;
• Pode ser representado por meio de diagramas de classe do padrão UML.
16. Exemplo
• Quero um software para restaurantes,
• que me permita através de uma comanda eletrônica,
• marcar a mesa do cliente,
• que permita ao atendente fazer pedidos,
• que o valor desta comanda seja calculada automaticamente,
• e que seja possível efetuar pagamentos parciais ou totais
17. Exemplo
• Quero um software para restaurantes,
• que me permita através de uma comanda eletrônica,
• marcar a mesa do cliente,
• que permita ao atendente fazer pedidos,
• que controle a quantidade de produtos consumidos,
• e que calcule o valor e seja possível efetuar pagamentos parciais ou totais
22. O que é um banco de dados?
• Coleção de dados;
• Representa informações sobre um
domínio específico;
• Possibilita recuperação e manipulação
destes dados.
23. Conceitos de NoSQL
• Not Only SQL;
• Dados semi-estruturados (Schemas
dinâmicos);
• Maior controle da aplicação sobre os
dados;
• Relacionamentos “Embedded”.
25. MongoDB
• Document Database;
• Coleções e documentos ao invés de tabelas e registros;
• Open Source.
• Document Database;
• Coleções e documentos ao invés de tabelas e registros;
• Open Source.
• Document Database;
• Coleções e documentos ao invés de tabelas e registros;
• Open Source.
• Document Database;
• Coleções e documentos ao invés de tabelas e registros;
• Open Source.
27. Vantagens
• Fácil de escalar;
• Trabalha melhor com sistemas distribuidos (microsserviços);
• Desempenho;
• Se adapta à modelagem da sua aplicação;
• Não gera deadlock o/
28. Desvantagens
• Exige mais espaço de armazenamento (HD);
• Ferramentas de gerenciamento imaturas;
• Desempenho;
Contar história da minha experiência com TDD.
Vou contar um pouco sobre a minha experiência com TDD. No primeiro projeto que utilizei essa técnica, eu não tinha um prazo bom, sendo apenas um mês para entregar uma solução, não tinha especificação do negócio e não dominava a técnica, conhecia vagamente o conceito, e já havia realizados testes de unidade anteriormente, mas nunca praticando o TDD.
Durante o desenvolvimento, tive que ir me familiarizando com o TDD e compreendendo melhor como funcionava, me educando a utilizar e aos poucos fui conseguindo desenvolver técnicas e códigos auxiliares que me permitiam ter agilidade em desenvolver utilizando TDD.
O mais interessante dessa experiência foi a forma como eu passei a compreender o modelo de negócios, que até então eu tinha dominio quase nulo. Programar utilizando TDD me fez compreender muito mais o negócio e ver aquilo do ponto de vista do usuário.
Outra coisa interessante foi que eu pude ter um foco maior na arquitetura do software em si, sem me preocupar com banco de dados, de forma que até a última semana de desenvolvimento nós ainda não tinhamos banco de dados pronto, ele foi criado nessa última semana, quando o domínio da solução já estava bem modelado e as regras de negócio estavam todas implementadas.
Contar história da minha experiência com TDD.
Vou contar um pouco sobre a minha experiência com TDD. No primeiro projeto que utilizei essa técnica, eu não tinha um prazo bom, sendo apenas um mês para entregar uma solução, não tinha especificação do negócio e não dominava a técnica, conhecia vagamente o conceito, e já havia realizados testes de unidade anteriormente, mas nunca praticando o TDD.
Durante o desenvolvimento, tive que ir me familiarizando com o TDD e compreendendo melhor como funcionava, me educando a utilizar e aos poucos fui conseguindo desenvolver técnicas e códigos auxiliares que me permitiam ter agilidade em desenvolver utilizando TDD.
O mais interessante dessa experiência foi a forma como eu passei a compreender o modelo de negócios, que até então eu tinha dominio quase nulo. Programar utilizando TDD me fez compreender muito mais o negócio e ver aquilo do ponto de vista do usuário.
Outra coisa interessante foi que eu pude ter um foco maior na arquitetura do software em si, sem me preocupar com banco de dados, de forma que até a última semana de desenvolvimento nós ainda não tinhamos banco de dados pronto, ele foi criado nessa última semana, quando o domínio da solução já estava bem modelado e as regras de negócio estavam todas implementadas.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Contar história da minha experiência com TDD.
Vou contar um pouco sobre a minha experiência com TDD. No primeiro projeto que utilizei essa técnica, eu não tinha um prazo bom, sendo apenas um mês para entregar uma solução, não tinha especificação do negócio e não dominava a técnica, conhecia vagamente o conceito, e já havia realizados testes de unidade anteriormente, mas nunca praticando o TDD.
Durante o desenvolvimento, tive que ir me familiarizando com o TDD e compreendendo melhor como funcionava, me educando a utilizar e aos poucos fui conseguindo desenvolver técnicas e códigos auxiliares que me permitiam ter agilidade em desenvolver utilizando TDD.
O mais interessante dessa experiência foi a forma como eu passei a compreender o modelo de negócios, que até então eu tinha dominio quase nulo. Programar utilizando TDD me fez compreender muito mais o negócio e ver aquilo do ponto de vista do usuário.
Outra coisa interessante foi que eu pude ter um foco maior na arquitetura do software em si, sem me preocupar com banco de dados, de forma que até a última semana de desenvolvimento nós ainda não tinhamos banco de dados pronto, ele foi criado nessa última semana, quando o domínio da solução já estava bem modelado e as regras de negócio estavam todas implementadas.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Contar história da minha experiência com TDD.
Vou contar um pouco sobre a minha experiência com TDD. No primeiro projeto que utilizei essa técnica, eu não tinha um prazo bom, sendo apenas um mês para entregar uma solução, não tinha especificação do negócio e não dominava a técnica, conhecia vagamente o conceito, e já havia realizados testes de unidade anteriormente, mas nunca praticando o TDD.
Durante o desenvolvimento, tive que ir me familiarizando com o TDD e compreendendo melhor como funcionava, me educando a utilizar e aos poucos fui conseguindo desenvolver técnicas e códigos auxiliares que me permitiam ter agilidade em desenvolver utilizando TDD.
O mais interessante dessa experiência foi a forma como eu passei a compreender o modelo de negócios, que até então eu tinha dominio quase nulo. Programar utilizando TDD me fez compreender muito mais o negócio e ver aquilo do ponto de vista do usuário.
Outra coisa interessante foi que eu pude ter um foco maior na arquitetura do software em si, sem me preocupar com banco de dados, de forma que até a última semana de desenvolvimento nós ainda não tinhamos banco de dados pronto, ele foi criado nessa última semana, quando o domínio da solução já estava bem modelado e as regras de negócio estavam todas implementadas.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Como muitos já devem saber, o Test Driven Development é uma técnica que se baseia em um ciclo curto de repetições: - Criação do teste automatizado de uma nova funcionalidade, teste este que deve falhar; - Implementação minima do método a ser testado, possibilitando ao teste passer;
- Por fim, refatoração do método para incluir regras de negócio mais complexas, garantindo a partir dali que aquele teste sempre irá passar.
Antes de explicar a solução para o problema anterior, precisamos falar sobre injeção de dependência.
Injeção de dependência tem como objetivo diminuir o acoplamento e facilitar o reuso.
Consiste em você fazer uma inversão de controles; ao invés de você instanciar uma classe, você passa essa responsabilidade para um builder que fará isso por você.
Dessa forma, programamos para interfaces, garantindo que uma classe não é afetada pela outra quando há modificações.
É simplesmente impossível utilizar TDD sem implementar injeção de dependência no seu projeto, o que faz dele um pré requisito
Contar história da minha experiência com TDD.
Vou contar um pouco sobre a minha experiência com TDD. No primeiro projeto que utilizei essa técnica, eu não tinha um prazo bom, sendo apenas um mês para entregar uma solução, não tinha especificação do negócio e não dominava a técnica, conhecia vagamente o conceito, e já havia realizados testes de unidade anteriormente, mas nunca praticando o TDD.
Durante o desenvolvimento, tive que ir me familiarizando com o TDD e compreendendo melhor como funcionava, me educando a utilizar e aos poucos fui conseguindo desenvolver técnicas e códigos auxiliares que me permitiam ter agilidade em desenvolver utilizando TDD.
O mais interessante dessa experiência foi a forma como eu passei a compreender o modelo de negócios, que até então eu tinha dominio quase nulo. Programar utilizando TDD me fez compreender muito mais o negócio e ver aquilo do ponto de vista do usuário.
Outra coisa interessante foi que eu pude ter um foco maior na arquitetura do software em si, sem me preocupar com banco de dados, de forma que até a última semana de desenvolvimento nós ainda não tinhamos banco de dados pronto, ele foi criado nessa última semana, quando o domínio da solução já estava bem modelado e as regras de negócio estavam todas implementadas.