Mongoose, Test-Driven Development , NestJS, Jest
Aprenda sobre o funcionamento do Mongoose focando em testes, vol. 1 (1° edição)
Description
Gostaria de conhecer o curso?
Olhe as seções anexadas, todas estão como prévia, incluindo cortes do curso!
===
Minha história com o Mongoose
Usei o Mongoose no projeto "Desenho e Desenvolvimento de uma aplicação web baseado em JavaScript para a plataforma Teranóstico". Gostei muito da biblioteca, por ser fácil de usar, e permite programar o MongoDB de dentro do Node.js. Um dos pontos fortes do MEAN é a possibilidade de se programar todo o stack usando JavaScript: o Mongoose torna isso ainda mais fácil, além de ser amigável ao formato JSON. Também tenho respondido perguntas no Stack Overflow.
===
===
Sobre o curso
O curso procura colocar vários conceitos em um mesmo espaço, sendo assim, como apontou um estudante em forma de feedback público, posso me “contradizer”. Sugiro fortemente que assista às prévias e aos vídeos no YouTube que sugiro antes de comprar o curso. Minha didática tem funcionado, contudo, baseado na minha experiência tanto como aluno de faculdade quanto no YouTube e por aqui, é impossível ensinar todas as pessoas sem conhecer as dificuldades de cada um (Richard Dawkins, Oxford, fala isso em um vídeo). Lembre-se que ofereço aulas particulares, algo mais personalizado para as necessidades de cada aluno. Geralmente, tenho procurado melhorar o curso valendo-me de feedback dos estudantes.
O que é MongoDB?
MongoDB é um banco de dados NoSQL (não relacional): não existem conceitos como tabela. Uma das grandes vantagens do MongoDB é oferecer a possibilidade de se salvar dados de forma heterogênea, focada em objetos JSON (JavaScript Object Notation); além de ser escalável horizontalmente (ou seja, é possível ter diferentes estruturas para se armazenar os dados no mesmo programa, é muito simples).
Apesar de que vamos falar de MongoDB, o foco deste curso é o Mongoose, não o MongoDB, existem muitos outros cursos por aqui focado somente no MongoDB!
Mongoose torna o processo de se trabalhar com o MongoDB ainda mais fácil! Mongoose, além de oferecer a comodidade de se programar em JavaScript/TypeScript de dentro da aplicação Express.js/NestJS, também oferece opções como métodos personalizados ou mesmo já prontos como parte do Mongoose, para se manipular os atributos, ou “paths” na linguagem do MongoDB. Para quem gosta de programação orientada à objetivos, é muito fácil e prazeroso pegar as manhas do Mongoose.
Sobre testes
Entropia mede a desordem de um sistema. De acordo com pesquisadores da área, testes garantem que seu software não vai aumentar a entropia ao aumentar de tamanho. Vamos falar de testes unitários, sem entrar em muitos detalhes por ser um assunto rico em se.
======================================================================================================================
Apesar de testes criar a necessidade de mais códigos, focar em testes desde o início pode ser uma boa estratégia, como argumenta pesquisadores da área.
Por que focar em testes(*):
• Facilita a adição de novas features quando sua plataforma crescer;
• Documenta os comportamentos esperados, conhecido como Behaviour Driven Development (BDD);
• Cria uma rede de segurança de que seu software não vai ficar com bugs ao ser atualizado e/ou melhorado;
• Garante que novos desenvolvedores do seu software não terão dificuldades em dar continuidade ao seu trabalho, até mesmo você caso volte alguns meses depois aos códigos; cada mudança terá um teste para automaticamente verificar se isso quebra o sistema como um tudo.
Assuntos correlacionados
Devido à correlação, os seguintes tópicos são discutidos, de forma adicional(**):
· Test Driven Development (TDD) – TDD é uma forma de se programar, onde se foca nos testes;
· NestJS – framework que promete melhorar o Express, focado em TypeScript;
· Express – biblioteca que oferece suporte ao Node.js;
· Testes de unidade (unit testing) – técnica usada para testar o menor pedaço de código possível;
· Mock – técnica usada para se testar códigos que dependem de outros códigos, alguns chamam isso de "escola de Londres", ou, "mockista";
· Jest – biblioteca em JavaScript usada para se colocar em prática conceitos como teste de unidade de mock.
======================================================================================================================
Ver anexos para amostras desses conceitos.
Este curso vem acompanhado dos seguintes recursos externos:
· GitBook - neste material online, coloco as argumentações do curso. Note que são recursos independentes, sendo assim, pode ficar fora de sintonia;
· Repositório GitHub - com o objetivo de facilitar a vida dos(as) estudantes, o mesmo pode começar de um código pré-pronto ou mesmo somente seguir;
· Slides;
· Vídeo gratuitos no YouTube - existem vídeos no meu canal do MEAN stack, stack que usa o MongoDB, além de vídeos sobre o Mongoose, usando como exemplo, o populate.
Este curso vem acompanhado dos seguintes recursos internos:
· Newsletter com atualizações do curso e artigos de tópicos relacionados, que chamo de aprendizado continuado, procure por no YouTube: “Como funciona o aprendizado continuado nos meus cursos da Udemy?”
· Atualizações dos vídeos, isso inclui novos materiais de tempos em tempos, sem precisar pagar mais por isso, faz parte do acesso vitalício;
· Aulas presenciais de brinde, de tempos em tempos vou organizar algumas aulas 1 a 1, ou mesmo em pequenos grupos;
Talvez seja do seu interesse: sou professor star na plataforma superprof, com revisão de alunos publicadas no perfil, se precisar de ajuda, dou um descontão para vocês que fizerem meu curso! Procure por JavaScript sem colocar a cidade, somente Brasil, geralmente apareço na primeira página de busca! :) Se procurar Angular 2, nesse momento sou o segundo professor.
Gostaria de conhecer meu trabalho? procure por IdeaCodingLab no YouTube!
Junta-se à essa comunidade cada vez maior de programadores JavaScript que usam o MEAN stack, em especial, o MongoDB!
==
Avaliação de alunos comentadas
Venho comentando as avaliações de alunos nosso blog.
Espero que ajude a entender como o curso foi feito, e possíveis futuros para o curso.
Lembre-se, cursos da Udemy estão "vivos": em geral, o professor atualiza constantemente.
==
(**) sendo assim, não recomendo comprar o curso somente por causa desses conceitos.
(*) ver Unit Testing Principles, Practices, and Patterns Book by Vladimir Khorikov
What You Will Learn!
- Como usar o MongoDB, bem básico
- Como usar o Mongoose, foco do curso
- Como fazer testes focados em TDD no mongoose
- Como criar alguns componentes de APIs, usando mongoose
- Um pouco de NestJS
- Testes unitários, não sendo o foco do curso
Who Should Attend!
- Desenvolvedores web que queiram aprender a usar o Mongoose
- Iniciante em programação NodeJS que queiram aprender a usar o Mongoose como forma de se comunicar com o MongoDB
- Estudantes de APIs
- Estudantes de NodeJS
- Estudantes de NestJS