Dry-rb: o que, por que e como - curso 4900 esfregar. da ThinkNetica, treinando 3 webinars, data de 27 de novembro de 2023.
Miscelânea / / November 27, 2023
Formatar
3 webinars com duração de 2 horas
Prática
Você fará parte da prática durante a aula e parte você mesmo após o webinar.
Comunicação
Você terá suporte por chat ao vivo e webinars abordarão dúvidas e erros comuns, exemplos de melhores práticas e soluções.
Resultado
- Você entenderá por que a injeção de dependência é necessária, como ela ajuda na manutenção, testabilidade e modularidade dos aplicativos.
- Você entenderá o que os contêineres de Inversão de Controle (IoC) têm a ver com isso e quais opções de análise você pode usar com base nas dependências dos contêineres
- Familiarize-se com o padrão ferroviário (não confundir com o padrão ferroviário) e aprenda como essa abordagem ajuda a escrever uma lógica de negócios que pode falhar em qualquer uma das etapas.
- Crie uma estrutura de serviço simples na qual você possa usar qualquer biblioteca de transporte (como para chamadas de consumidor e http/rpc) e quaisquer bibliotecas para persistência, não apenas AR ou ROM.
- Você aprenderá quais tipos de validação podem existir e como escrever um validador para qualquer esquema de dados.
- Você aprenderá o que há no desenvolvimento Ruby fora do RoR, graças ao qual poderá entender não apenas hanami, mas também frameworks em outras linguagens (as abordagens são usadas em Python, Java, JS e outros ecossistemas)
- Aprenda a usar uma mônada
Requisitos para participantes
1. Um ano de experiência em desenvolvimento Ruby. É importante saber coisas básicas relacionadas ao desenvolvimento web, como MVC, a capacidade de consultar o banco de dados e escrever testes mínimos.
2. Perfil no GitHub
3. Linha de comando básica e habilidades git
4. Desejo de compreender outras abordagens além do caminho dos trilhos
3 webinários
Tarefas práticas
Comunicação com o autor e respostas a perguntas
Dia 1. Dependências, DI, contêineres IoC. Montamos a estrutura do projeto.
- Primeiro, você terá que entender as dependências do código, ou seja, em quaisquer bibliotecas, classes, módulos, funções, etc. que são usados na unidade principal.
- Vejamos duas maneiras de rastrear dependências: injeção de dependência e básica. Vamos ver como o DI ajuda na escrita de testes unitários e de integração.
- Para não aumentar a complexidade, vejamos os contêineres IoC, cuja implementação é o contêiner seco.
- Para gerenciamento de carregamento, considere o sistema seco. Por fim, veremos um projeto básico que permitirá adicionar quaisquer camadas ao sistema.
Como resultado, você será capaz de:
Entenda o que é dry-rb em geral e o que é estilo de arquitetura em camadas e quais problemas ele resolve. E também entender como DI e containers auxiliam na criação de estruturas de aplicações. Posteriormente, escreveremos nossa primeira aplicação usando sistema seco.
Dia 2. Escrevemos lógica de negócios. Ferrovia, objetos de resultado e validação.
- Para trabalhar com lógica de negócio, consideraremos o padrão ferroviário, que permite conectar as etapas técnicas de um processo de negócio em uma cadeia na qual cada etapa pode completar todo o processo.
- Para que a ferrovia funcione, usaremos as notações DO das mônadas secas como forma de implementar o padrão. Vamos discutir como e por que usar mônadas.
- E para ter certeza de que o esquema de dados com o qual trabalhamos e que escrevemos no banco de dados é válido, usaremos dry-schema e dry-validation.
Como resultado, você será capaz de:
Aprenda a usar a abordagem ferroviária para descrever a lógica de negócios. Você entenderá por que as mônadas são necessárias como objetos de resultado e como validar dados e lógica de negócios.
Dia 3. Adicionando as camadas de transporte e persistência. Vejamos o restante das bibliotecas dry-rb.
- Vejamos maneiras de adicionar vários transportes (http, coelho, kafka) e bibliotecas de persistência (rom, sequela, etc) e expandir nosso projeto.
- Vamos dar uma olhada rápida nas bibliotecas secas restantes e falar sobre onde usá-las. E também o que os objetos funcionais têm a ver com isso?
- Vamos discutir o que pode ser feito a seguir com a estrutura do espaço em branco e como alterá-la. O que adicionar, o que remover, como chegar à fatia e à estrutura hexagonal.
Como resultado:
Vamos montar o sistema em uma única peça.
Vejamos como adicionar qualquer tipo de camada de transporte e persistência.
Vejamos as bibliotecas restantes do ecossistema dry-rb.
Vamos discutir as próximas etapas para o desenvolvimento ou para o uso de uma peça bruta acabada.