---
# System prepended metadata

title: 'Tópicos para reunião dos Devs:'

---

# Tópicos para reunião dos Devs:

## Clean Code

 - Meaningful Names
 - Functions
 - Comments
 - Formatting;
 - Objects and data structures;
 - Error Handling;
 - Boundaries;
 - Unit tests;
 - Emergence;
 
 
## Nest.js
 - Dependency Injection **(Ale)**
   - O que é?
   - Por que usar?
   - Quais problemas ela resolve?
   - Como fazer e conceitos no nest.js (escopos de injeção, providers, factories, módulos ,etc)
 - ~~Validação de objetos~~ (class-validator) **(Vinícius)**
   - Como usar em um controller?
   - Como criar um custom validator?
   - Grupos de validação;

  - Caching
    - Camada web;
    - No banco de dados (TypeORM);
    - Como usar o redis como storage
  - Guards, Pipes e interceptors
  - Microservices
      - Integração com filas/brokers (RabbitMQ e Redis)

## Web
  - Request/Responses HTTP
  - HTTPS
  - HTTP/2
  - DNS
  - ~~Cookies + session~~ **(Alê)**
    - Tempo de vida dos cookies;
    - Propriedades dos cookies (cookie persistente, http only, secure, max age, etc);
    - Formas de se implementar um sessão do usuário (ex.: famoso shopping cart)
  - ~~JWT~~ **(Ruan)** 
  - GraphQL
    - Intro
    - Como usar no Nest

## Web Security
 - ~~XSS~~ **(Cláudio)**
 - SQL Injection **(Cláudio)**
 - ~~CSRF~~ **(Cláudio)**
 - ~~Broken Authentication~~ **(Vinicius)**
 - Sensitive Data Exposure
 - Insecure Deserialization

## Frontend/Next.js
 - JSX
 - Storybooks
 - Redux
 - React
 - Recoil **(Luigi)**

## Banco de Dados
 - Transactions
 - Índices **(Ruan)**
 - Locks

## Middlewares
 - ~~Modelo de comunicação do RabbitMQ~~ (**Vinicius**)

## Typescript / ES5+
 - ~~Basic types;~~ **(Ale)**
 - Advanced types;
 - Iterators + Generators;
 - Decorators;
 - Classes
   - Modificadores de acesso (private, public, protected, readonly...)
   - Herança;
   - Accessors;
   - Interface vs classes
 - Generics;
 - ~~Module resolution~~ **(Ruan)**;
 - Parallel js/ts (multithreading)

## Practices

- Debugging on VSCode
- Debugging on the terminal + chrome
- Debugging on WebStorm
- Profilling performance of a node application
- Profilling performance a react application
- Profilling memory of a node application
- Profilling memory of a react application

## Design Patterns

### Domain-driven design
- Domain events **(Vinícius)**

## Algorithms, Data Structures & Abstractions

- ~~State machine~~ **(Ale)**

## Python/Django
* Django Models (**Matos**)
