Pular para o conteúdo

Desenvolvimento backend

Aprenda a construir aplicações do lado do servidor dominando HTTP, um framework web, bancos de dados, projeto de APIs e as decisões de arquitetura que permitem escalar.

Intermediário 13 etapas

Etapas

Servidor e HTTP

  1. HTTP e o lado do servidorEntenda requisições, respostas, cabeçalhos e cookies, porque toda decisão de backend acaba passando pelo protocolo HTTP.
    • MDN Web Docs developer.mozilla.orgfree

      Repositório completo e documentação aberta de referência mantida pela Mozilla sobre tecnologias web abertas, CSS e HTML.

  2. Escolha um frameworkMonte uma aplicação pequena com rotas e middlewares em um framework popular para entender o ciclo de uma requisição.
    • Node.js nodejs.orgfree

      Ambiente de execução JavaScript assíncrono e orientado a eventos no lado do servidor construído sobre o motor V8 do Google.

    • Django djangoproject.comfree

      Framework web de alto nível em Python que incentiva o desenvolvimento rápido, limpo e seguro com arquitetura model-template-view.

    • FastAPI fastapi.tiangolo.comfree

      Framework moderno em Python para construção de APIs de alta performance baseado em tipos padrão e documentação automática OpenAPI.

    • Spring Framework spring.iofree

      Ecossistema completo em Java para desenvolvimento de microsserviços e aplicações corporativas robustas com injeção de dependência.

Bancos de dados

  1. SQL e modelagem relacionalModele tabelas, escreva consultas SQL e use transações, a escolha padrão de armazenamento na maioria dos sistemas.
    • PostgreSQL postgresql.orgfree

      Sistema gerenciador de banco de dados objeto-relacional robusto e extensível, padrão da indústria para sistemas de informação.

    • Curso em Vídeo cursoemvideo.comfree

      Plataforma educacional brasileira gratuita com cursos fundamentais de lógica de programação, banco de dados MySQL e linguagens backend.

    • Savepoint Blog savepoint.blog.brfree

      Blog brasileiro com tutoriais práticos, análises de desempenho, segurança e rotinas de administração de bancos de dados PostgreSQL.

  2. Índices e desempenho de consultasAprenda como os índices funcionam e como ler planos de execução, a correção mais comum para endpoints lentos.
    • Use The Index, Luke! use-the-index-luke.comfree

      Guia didático indispensável de Markus Winand explicando indexação de banco de dados e otimização de consultas SQL.

    • Planet PostgreSQL planet.postgresql.orgfree

      Agregador oficial de publicações e artigos técnicos produzidos por desenvolvedores e especialistas da comunidade PostgreSQL global.

  3. Migrações de esquemaVersione as mudanças do banco junto com o código para que todos os ambientes evoluam com segurança.
    • Flyway flywaydb.orgfreemium

      Ferramenta de migração e versionamento de esquemas de banco de dados baseada em convenções e controle de versão simples.

    • Liquibase liquibase.comfreemium

      Solução de automação de alterações e governança de esquemas de banco de dados integrada a fluxos de CI/CD.

  4. Bancos NoSQL (opcional)Saiba quando um banco de documentos ou um armazenamento em memória serve melhor que tabelas relacionais, e o que se perde.
    • MongoDB mongodb.comfreemium

      Banco de dados orientado a documentos NoSQL com esquemas flexíveis baseados em JSON projetado para alta escalabilidade horizontal.

    • Redis redis.iofree

      Armazenamento de estrutura de dados em memória de alta performance usado como banco de dados em cache e mensageria.

    • DB-Engines db-engines.comfree

      Base de conhecimento independente com métricas de popularidade, modelos arquiteturais e características de sistemas de banco de dados.

  5. Ferramentas de administração (opcional)Use clientes gráficos para explorar esquemas, rodar consultas e administrar bancos sem depender só do terminal.
    • DBeaver dbeaver.iofree

      Ferramenta universal de banco de dados para exploração, consulta SQL e gerenciamento de dados em múltiplos SGBDs.

    • pgAdmin pgadmin.orgfree

      Ambiente gráfico oficial de desenvolvimento e administração projetado especificamente para o PostgreSQL.

APIs, arquitetura e qualidade

  1. Projetar e testar APIsDefina recursos consistentes, documente contratos e teste requisições para que os clientes possam confiar na sua API.
    • Postman postman.comfreemium

      Plataforma colaborativa para desenvolvimento, teste automatizado e documentação de APIs HTTP e REST.

    • MDN Web Docs developer.mozilla.orgfree

      Repositório completo e documentação aberta de referência mantida pela Mozilla sobre tecnologias web abertas, CSS e HTML.

  2. Arquitetura e padrões de projetoAplique princípios de engenharia de software e padrões de projeto para manter o código compreensível enquanto ele cresce.
    • Engenharia de Software Moderna engsoftmoderna.infofree

      Livro-texto online gratuito do Prof. Marco Tulio Valente (DCC/UFMG) abordando métodos ágeis, arquitetura, testes e DevOps.

    • Refactoring.Guru refactoring.gurufree

      Guia didático em português explicando padrões de projeto, refatoração de código e arquitetura limpa com diagramas interativos.

  3. Diagramas de arquitetura (opcional)Documente a arquitetura com diagramas em níveis de detalhe, facilitando conversas com o time sobre o sistema.
    • C4 Model c4model.comfree

      Abordagem leve e independente de ferramentas criada por Simon Brown para mapear e visualizar a arquitetura de software em múltiplos níveis.

    • PlantUML plantuml.comfree

      Ferramenta de modelagem de software de código aberto que permite gerar diagramas UML e de arquitetura a partir de texto simples.

  4. Qualidade de códigoAutomatize a análise estática para encontrar bugs, vulnerabilidades e código duplicado antes que cheguem à produção.
    • SonarQube sonarsource.comfreemium

      Plataforma de análise estática contínua de código para detecção de bugs, vulnerabilidades de segurança e débitos técnicos.

Escala e sistemas distribuídos

  1. Cache e mensageriaAlivie o banco com cache e desacople serviços com filas de eventos, duas ferramentas centrais para lidar com crescimento.
    • Redis redis.iofree

      Armazenamento de estrutura de dados em memória de alta performance usado como banco de dados em cache e mensageria.

    • Apache Kafka kafka.apache.orgfree

      Plataforma distribuída de streaming de eventos para pipelines de dados em tempo real e mensageria de alta vazão.

  2. Sistemas intensivos em dadosEstude replicação, particionamento e consistência, e veja como empresas reais escalaram seus backends na prática.
    • Designing Data-Intensive Applications dataintensive.netpaid

      Livro de referência de Martin Kleppmann sobre princípios de arquitetura de dados distribuídos, tolerância a falhas e escalabilidade.

    • High Scalability highscalability.comfree

      Publicação especializada em estudos de caso reais e estratégias de alta disponibilidade adotadas por grandes plataformas tecnológicas.

    • Martin Fowler's Bliki martinfowler.comfree

      Blog influente com ensaios sobre desenvolvimento ágil, refatoração contínua, arquitetura de software e testes.

Veja também

Links externos, de seus respectivos autores. Esta trilha é conteúdo original da IPL.