Todos os artigos

Python

Cobertura e testes de integração

Nesta aula, você aprenderá a medir e melhorar a cobertura de testes com a ferramenta coverage, além de entender o que são testes de integração, como isolá-los corretamente e como integrar tudo em um pipeline de CI. O conteúdo inclui exemplos práticos, boas práticas e exercícios com respostas.

✓ Lido
Rust

Padrões de mutabilidade interior

Nesta aula, exploramos os padrões de mutabilidade interior em Rust, que permitem modificar dados mesmo quando há referências imutáveis, respeitando as regras de segurança da linguagem. Abordamos as principais ferramentas: Cell, RefCell, Mutex, RwLock, OnceCell e Lazy, com exemplos práticos e critérios para escolher a mais adequada.

✓ Lido
PHP

Uploads seguros

Esta aula aborda como implementar uploads de arquivos seguros em PHP, cobrindo validação de tipo real, armazenamento fora da raiz web, renomeação de arquivos e os principais riscos associados. O conteúdo inclui exemplos práticos de código, boas práticas de segurança e exercícios para fixação.

✓ Lido
Go

Profiling com pprof

Esta aula ensina a usar o pacote pprof de Go para realizar profiling de performance, cobrindo análise de CPU e memória, integração com servidores HTTP via net/http/pprof, interpretação de relatórios e otimização guiada por dados.

✓ Lido
Python

Type checking

Nesta aula, exploramos o conceito de type checking em Python, com foco na ferramenta mypy, tipos graduais, generics e os benefícios da verificação estática de tipos. Você aprenderá como adicionar anotações de tipo ao seu código, usar mypy para detectar erros antes da execução e aproveitar generics para criar código mais flexível e seguro.

✓ Lido
DevOps

Helm e gerenciamento de pacotes

Nesta aula, você aprenderá sobre o Helm, o gerenciador de pacotes para Kubernetes, seus conceitos fundamentais como Charts e Templates, e casos de uso práticos. Veremos como criar, instalar e gerenciar aplicações no Kubernetes de forma eficiente e reproduzível.

✓ Lido
Rust

Design com traits

Nesta aula, exploramos o design de software em Rust usando traits, focando em composição sobre herança, a diferença entre traits genéricas e objetos de trait, e a importância da coesão. Inclui exemplos práticos e exercícios para consolidar o aprendizado.

✓ Lido
Python

Linting e formatação

Esta aula aborda ferramentas essenciais de linting e formatação para Python: flake8, ruff, black e isort. Você aprenderá a configurá-las, integrá-las ao seu editor e ao fluxo de desenvolvimento, garantindo código limpo, consistente e de alta qualidade.

✓ Lido
PHP

Prevenindo CSRF

Esta aula aborda a prevenção de ataques CSRF (Cross-Site Request Forgery) em aplicações PHP, explicando o conceito, a implementação de tokens CSRF, o uso de cookies SameSite e a implementação prática de proteção em formulários e requisições.

✓ Lido
Shell Script (Linux/Bash)

Logging em scripts

Nesta aula, você aprenderá a implementar logging eficaz em scripts Bash, cobrindo funções de log, níveis de severidade, redirecionamento para arquivo e stderr, e inclusão de timestamps. O conteúdo inclui exemplos práticos, boas práticas e exercícios com respostas.

✓ Lido
Python

Debugging

Nesta aula, vamos explorar técnicas e ferramentas essenciais para depurar código Python, desde o uso do depurador interativo pdb até a função breakpoint() e boas práticas de logging. Você aprenderá a identificar e corrigir erros de forma eficiente, substituindo o uso indiscriminado de print por abordagens mais profissionais.

✓ Lido
Segurança da Informação

Segurança de Arquivos e Objetos

Esta aula aborda a segurança de arquivos e objetos, focando em três tópicos essenciais: path traversal, canonicalization e permissions. Você aprenderá a identificar vulnerabilidades de travessia de diretórios, a importância de normalizar caminhos para evitar ataques e como configurar permissões adequadas para proteger arquivos e objetos em sistemas de informação.

✓ Lido
Go

Estilo funcional em Go

Nesta aula, exploramos o estilo funcional em Go, abordando funções de ordem superior, closures e implementações manuais de map/filter, além de discutir as limitações da linguagem para esse paradigma. Ao final, você será capaz de aplicar esses conceitos para escrever código mais expressivo e reutilizável.

✓ Lido
JavaScript

Modo estrito (use strict)

Esta aula explora o modo estrito do JavaScript, uma diretiva que altera a semântica do código para evitar erros silenciosos e melhorar a segurança. Você aprenderá o que muda, por que ativar e as principais diferenças de comportamento em relação ao modo não estrito.

✓ Lido
Rust

Abstrações de custo zero

Esta aula explora o conceito de abstrações de custo zero em Rust, mostrando como o compilador otimiza código de alto nível para desempenho igual ao código manual. Inclui exemplos práticos, comparação entre iteradores e loops, e uma visão geral de como inspecionar o assembly gerado.

✓ Lido