Saber como lidar com dependencias em testes é crucial para uma suite de testes simples e rápida e para isso podemos tirar proveito dos test doubles. Entendendo a diferença entre Fake, Stub, Spy e Mock permite escrever testes mais isolados e performaticos.
Continue ReadingDO ZERO A PRODUÇÃO: APRENDA A CONSTRUIR UMA API NODE.JS COM TYPESCRIPT
Lançamento do meu mais novo curso grátis!
Aprenda como criar e rodar micro-serviços na cloud utilizando Node.js com TypeScript, seguindo as melhores práticas de desenvolvimento.
Livro de Node.js Grátis sobre APIs, NoSQL e TDD
Construindo APIs testáveis com Node.js utiliza exemplos do dia a dia para a construção de aplicações Node.js seguindo as melhores práticas de qualidade e desenvolvimento; Um guia, tanto para desenvolvedores iniciantes quanto para experientes, para a construção de aplicações robustas e resilientes guiadas por testes.
Continue ReadingWelcome to my blog
At the moment my content has been published in Portuguese. If you understand Portuguese click on the language switcher to switch to the PT_BR version of the website.
Local Docker images no Minikube
Minikube é muito conhecido por permitir criar um cluster kubernetes local o que facilidade muito o desenvolvimento. Mas como utilizar ele com imagens Docker locais?
Continue ReadingNode js Design Patterns: Singleton
Voce certamente ja utilizou o Singleton design pattern no Node.js e provavelmente nem notou. O Singleton é muito comum e útil no Node.js, no video de hoje vamos entender como e quando utilizar esse design pattern.
Continue ReadingNode js | 3 Maneiras de lidar com serviços externos em testes de integração
Quando escrevemos testes de integração end 2 end (de ponta a ponta) queremos testar o máximo possível, mas o que fazer quando nossa aplicação depende de outros serviços? Como testamos esses serviços? Eles fazem parte do teste? Fazemos um mock ou substituimos eles? Nessa série de 3 videos vamos ver como lidar com serviços externos em testes de integração end 2 end! São 3 maneiras diferentes, vamos ver os pros e contras de cada uma delas!
Continue ReadingPropriedades publicas e privadas chegaram no Node.js v12 com o V8 7.2
Sempre tentamos ter propriedades publicas e privadas no javascript mas nunca tivemos um suporte da linguagem em si, na versão 7.2 do v8 isso mudou! E o Node.js v12 ja tras essa novidade, bora ver como o public and private class fields funcionam?
Continue ReadingNode.js V12 released 🚀💥O que vem de novo por ai?
A versão 12 do Node.js acabou de sair, agendada para virar LTS em outubro de 2019 essa versão traz muitas novidades. Bora saber o que vem de novo?
Node.js Readable Streams v3, sem mais dores de cabeça com pipes
Streams são extramamente comuns no Node.js e são usadas para praticamente todo o I/O que fazemos. Mas quando precisamos encadear muitas streams com pipes a coisa começa a ficar complicada, tratar erros e uma dor de cabeça, debugar memory leaks então nem se fala. Nesse video vamos ver oque a ultima versão do modulo de streams traz para nos salvar, vamos dar uma olhada no stream pipeline!
SOBE O LIVRO: Lean Mindset Ask the Right Questions
Curte Agile/Lean? Acabei de ler o Lean Mindset Ask the Right Questions que foi escrito pela Mary Poppendieck e Tom Poppendieck e vou falar o que achei dessa leitura.
Docker + Node.js + yarn – Dica para reduzir tamanho das imagens
Nesse video vou explicar como criar imagens menores com alguns tricks na integração entre docker + Node.js e yarn! Espero que gostem.
Npm audit, checagem de segurança agora por padrão no cli
Como utilizar variáveis de ambiente no Docker – Série DevOps
Variáveis de ambiente são muito uteis quando se trabalha com containers e no Docker temos várias maneiras de utiliza-las. Nesse video vou mostrar como tirar proveito das env vars no Docker.
Docker!! 5 dicas para otimizar seu Dockerfile – Série DevOps
Imagem do docker fica grande? Build demora muito? Nesse video vou dar 5 dicas que são a base para criar imagens docker super otimizadas!
Como foi a Elastic{ON} 2018? Conversa com Thiago Souza da Elastic
A Elasticon é o evento oficial da Elastic, anualmente anunciam novidades relacionadas a Elastic Stack. Esse ano fui convidado para participar do evento em San Franciso e neste video vou conversar sobre como foi o evento com o Thiago Souza que é Senior Support Engineer na Elastic e também estava la.
Conhecendo o NPX o package runner do NPM
Desde a versão 5.2.x do NPM passou a vir um novo binário junto, o NPX, pouca gente deu bola pra ele, mas ele pode ajudar muito no dia a dia facilitando a execução de binários. Neste video vamos ver como funciona o NPX e como podemos usar ele no dia a dia.
O que é Continuous Delivery(CD / entrega continua), Continuous Integration (CI / integração continua) e Continuous Deployment?
Nesse vídeo vou explicar o que é, como funciona e quais são os princípios e fundamentos para que você possa implementar na sua empresa ou projeto!
Ecmascript Modules no Node.js e o que eu tenho a ver com isso?
Fala galera! Há alguns dias saiu o Node.js 8.5.x, dentre as adições veio uma muito esperada: A %$#$# DOS MÓDULOS Ecmascript NATIVOS!
Dockerizando aplicações Node.js + npm 5
Fala galera! A um tempo atras escrevi sobre como utilizar Docker com Node.js (quem não leu, vale a pena ler junto com este). No post eu falei sobre boas praticas e alguns tricks em rodar Node.js com Docker. Com o lançamento do npm 5 a integração melhorou, dado que agora ele possui o package-lock.json que é muito util na hora de criar imagens docker.
Entendendo o Middleware pattern em Node.js
O padrão de Middleware implementado pelo express já é bem conhecido e tem sido usado por desenvolvedores em outras linguagens há muitos anos. Podemos dizer que se trata de uma implementação do padrão intercepting filter pattern do chain of responsibility.
Suportando modulos Ecmascript (ESM) no Node.js sem Babel
Os módulos do EcmaScript (ESM) já são suportados em vários browsers, porém, no Node.js essa implementação não é tão simples quanto parece, dadas as complexidades em manter a compatibilidade com o CommonJS (para quem quiser entender melhor sugiro este artigo e este ) a comunidade demorou muito para chegar a um acordo sobre como seria feita essa implementação no Node.
Lançamento do Livro: Construindo APIs testáveis com Node.js
Construindo APIs testáveis com Node.js utiliza exemplos do dia a dia para a construção de aplicações Node.js seguindo as melhores práticas de qualidade e desenvolvimento; Um guia, tanto para desenvolvedores iniciantes quanto para experientes, para a construção de aplicações robustas e resilientes guiadas por testes.
Testes em Javascript: Diferença entre Fake, Spy, Stub e Mock
Fala galera, beleza? esse artigo vai fazer parte do livro “construindo APIs testáveis com Node.js” então todos os feedbacks são muito bem vindos.
Resolvi escrever sobre a diferença entre fake, spy, stub e mock pois é comum confundir os termos e também não saber qual testDouble usar para cada cenário. Opa, testeDouble? o que é isso?
Node.js: O que é esse Event Loop afinal?
Enquanto escrevo meu livro Construindo APIs testáveis com Node.js acabei fazendo uma imersão no código do google v8 e também no Node.js para entender como eles trabalham juntos. Agora resolvi dividir esse aprendizado com vocês, esse conteúdo também estará no livro, então todo o feedback é muito bem vindo. O conteúdo se divide em duas partes, a primeira esta aqui , ela é mais introdutória a o que é o google v8, i/o assíncrono e single thread. Aconselho fortemente a leitura antes de prosseguir no artigo de hoje.
Node.js: V8, Single thread e I/O não bloqueante.
Escrevendo o meu livro Construindo APIs testáveis com Node.js acabei fazendo uma imersão no código do google v8 e também no Node.js para entender como eles trabalham juntos, agora resolvi dividir esse aprendizado com vocês, esse conteúdo também estará no livro, então todo o feedback é muito bem vindo.
Desenvolvimento guiado por testes em javascript
Estou escrendo o livro: Construindo APIs testáveis com Node.js e testes serão uma das coisas mais importantes do conteúdo. Para isso, vamos seguir um modelo conhecido como TDD (Test Driven Development ou Desenvolvimento Guiado por Testes).
Estrutura de diretórios e arquivos em projetos Node.js
Um dos primeiros desafios quando começamos uma aplicação em Node.js é a estrutura do projeto. Uma das grandes conveniências do Node, por ser javascript, é a liberdade para estrutura, design de código, patterns e etc, mas isso também pode gerar confusão para os novos desenvolvedores.
Construindo uma API testável com Node.js
Cada vez mais vemos APIs com Node.js. Certamente a facilidade de usar javascript no front-end e backend é um dos motivos desse crescimento. Além disso o Node.js prove algumas caracteristicas atraentes como programação assincronica, modularização e etc.
Tudo o que você precisa saber para rodar Node.js com Docker
Agora além da toalha todo o desenvolvedor deve levar consigo também o Docker. Em tempos em que não precisamos mais instalar serviços na própria maquina. Em que as aplicações são facilmente movidas de um lugar para o outro. Devemos aproveitar isso ao máximo.
Dependências consistentes no NPM com NPM Shrinkwrap
Desde o inicio da era dos desenvolvedores, buscamos cada vez mais a consistência no processo de desenvolvimento. A consistência facilita a automatização de etapas como entrega contínua, integração contínua e deploy contínuo.
Elasticsearch: Aggregations
A popularidade do Elasticsearch não é dada somente devido ao fulltext search, o Elasticsearch possui também uma feature, muito poderosa, chamada aggregation. Aggregations possibilitam classificar dados e extrair métricas facilmente, coisas que de outra forma poderiam levar dias. Continue Reading
Elasticsearch: Pagination e Scroll
Paginar e limitar dados no elasticsearch é uma tarefa simples, então qual o motivo do post? Muitas pessoas passam por problemas de performance quando vão a produção por não entender ou não considerar a implementação de determinadas funcionalidades do elasticsearch, uma delas é a paginação.
Configurando ELK com Docker e Filebeat
O ELK (Elasticsearch, Logstash e Kibana) tomou espaço muito rapidamente no mundo dos logs e das métricas, principalmente por ser open-source e altamente escalável. Mesmo com tamanha adoção esta stack não é simples de configurar, muito pelo contrário, ela exige um bom conhecimento de cada um dos membros que formam o trio ELK.
ECMAScript 6: Desmistificando as Classes
Desde seu anúncio, as classes no javascript tem gerado muita discórdia. Vários desenvolvedores ativos da comunidade tomaram posições divergentes sobre o assunto, um exemplo é o artigo Two Pillars of javascript escrito pelo Eric Elliot, onde ele fala sobre as vantagens da composição sob Continue Reading
ECMAScript 6: default values of parameters
Antes do ECMAScrit6 não havia uma maneira nativa de definir valores padrão para parâmetros, ou seja, precisávamos implementar nossa própria lógica. Uma solução muito utilizada era nomear os parâmetros e testá-los dentro da função para Continue Reading
ECMAscript 6: let e const e block bindings
Na maioria das linguagens, variáveis ou bindings são criados no lugar onde a declaração ocorre. No javascript temos um comportamento um pouco diferente, os lugares onde as variáveis são criadas depende de como foram declaradas, por Continue Reading
Rodando CakePHP com docker-compose, nginx e mysql
Opa gurizada, postzinho falando de como rodar uma aplicação CakePHP 2.x e 3.x usando docker com docker-compose.
Elasticsearch: Filters
Neste video vamos explorar os filters, eles tem uma grande vantagem que é o caching mas também perdem algumas coisas como score.
Elasticsearch: Query parte 2
Fala galera, suave na nave? bom esta é a segunda parte dos videos falando sobre queries. Neste video vamos entrar em alguns tipos mais distintos e com propósitos mais especificos.
Elasticsearch: Query parte 1
Elasticsearch: Explicando filters e queries
Javascript Hoisting o que é?
Opa galera, beleza?
Algumas coisas podem nos trazer certos inconvenientes, como por exemplo comer melância e na sequência tomar leite. Essas coisas nos fazem refletir, por que deus fez desse jeito?
No javascript temos um caso desse tipo: o hoisting. Talvez alguns de vocês ja tenham passado por algum erro gerado por ele e consertaram sem entender o por que aquilo aconteceu.
Elasticsearch: Analyzers
Opa galera, antes de entrarmos nas queries e no fluxo de indexação e busca achei importante entendermos como o elasticsearch interpreta os nossos dados.
Elasticsearch: Index, Mapping, Data
Bom galera neste terceiro video vamos ver como funciona um Index, como ele faz pra guardar os dados. Também como o elasticsearch faz o Mapping dos campos e tipos. Vamos ver também qual a responsabilidade de cada campo na resposta como o took, shards, timed_out.
Elasticsearch: Escalonamento, Replicação e indexação
Bom galeras, esse é o segundo video da série de elasticsearch, aqui vamos ver um como funciona o escalonamento a replicação e também a indexação de dados no elasticsearch.
Elasticsearch: história, conceito, inverted index, ecossistema
Alo galera, bom estou começando uma nova série de videos que tem como objetivo mostrar como o Elasticsearch funciona e como ele se tornou a referência que é hoje em fulltext search.
Apesar de ter um setup muito simples, e também(na maioria dos casos) não é nem preciso alterar as configurações dele para usa-lo por um bom tempo, acho importante mergulhar na estrutura e no ecossistema do elasticsearch pois é algo bem interessante e bacana.