Categoria

Linguagens de Programação e Runtimes

Como usar o GC tuning em aplicações Java de alto throughput
Linguagens de Programação e Runtimes

Como usar o GC tuning em aplicações Java de alto throughput

O Garbage Collection (GC) em Java gerencia automaticamente a memória, mas impacta diretamente o throughput de aplicações de alta carga. O ciclo de vida de objetos envolve alocação na geração jovem (Eden), promoção para sobrevivente e, eventualmente, para a geração velha. Durante a coleta, ocorrem pausas stop-the-world que interrompem a execução da aplicação.

05/05/2026
Como usar o modo strict do TypeScript sem sofrer na migração
Linguagens de Programação e Runtimes 05/05/2026

Como usar o modo strict do TypeScript sem sofrer na migração

O modo strict do TypeScript não é uma única configuração, mas um conjunto de flags de verificação rigorosa que, quando ativadas, transformam o compilador em um guardião implacável de segurança de tipos. As principais flags incluem noImplicitAny, strictNullChecks, strictFunctionTypes, strictBindCallApply, strictPropertyInitialization e noImplicitThis. Ao ativar strict: true no tsconfig.json, todas essas flags são habilitadas simultaneamente.

Como usar o módulo asyncio em Python para I/O concorrente eficiente
Linguagens de Programação e Runtimes 05/05/2026

Como usar o módulo asyncio em Python para I/O concorrente eficiente

O módulo asyncio introduz um modelo de concorrência baseado em event loop (laço de eventos). Diferente do threading tradicional, onde múltiplas threads compartilham a CPU com preempção, o asyncio utiliza um único thread que gerencia uma fila de tarefas cooperativas. O event loop alterna entre essas tarefas quando elas encontram operações de I/O bloqueantes, permitindo que o programa continue executando outras tarefas enquanto aguarda respostas externas.

Como usar o módulo threading e multiprocessing em Python com segurança
Linguagens de Programação e Runtimes 05/05/2026

Como usar o módulo threading e multiprocessing em Python com segurança

O Global Interpreter Lock (GIL) é um mutex que protege o interpretador Python, garantindo que apenas uma thread execute bytecode por vez. Isso significa que threads em Python não executam código em paralelo real para operações CPU-bound. Para operações I/O-bound (como leitura de arquivos, requisições HTTP), o GIL é liberado durante operações de I/O, permitindo concorrência eficiente.

Como usar o protocolo em Elixir para polimorfismo sem herança
Linguagens de Programação e Runtimes 05/05/2026

Como usar o protocolo em Elixir para polimorfismo sem herança

Em linguagens orientadas a objetos tradicionais, o polimorfismo é frequentemente alcançado por meio de herança de classes. Uma classe pai define um comportamento genérico, e classes filhas o sobrescrevem. Em Elixir, linguagem funcional que roda na Erlang VM, não existe herança clássica. Não há classes, nem hierarquias de tipo rígidas. Isso levanta uma questão: como compartilhar comportamentos entre tipos diferentes sem herança?

Como organizar projetos Python grandes
Linguagens de Programação e Runtimes 05/05/2026

Como organizar projetos Python grandes

A base de qualquer projeto Python grande começa com uma estrutura de diretórios bem definida. A abordagem mais recomendada para projetos escaláveis é o layout src/, que separa o código fonte da raiz do projeto:

Como gerenciar dependências em projetos Node.js
Linguagens de Programação e Runtimes 05/05/2026

Como gerenciar dependências em projetos Node.js

O gerenciamento de dependências é um dos pilares fundamentais para qualquer projeto Node.js moderno. Com um ecossistema que ultrapassa 2 milhões de pacotes disponíveis no registro público, saber como gerenciar essas dependências de forma eficiente é crucial para manter a estabilidade, segurança e produtividade do desenvolvimento.

Como criar CLIs simples com cobra para automações internas em Go
Linguagens de Programação e Runtimes 05/05/2026

Como criar CLIs simples com cobra para automações internas em Go

Cobra é um framework CLI para Go, criado por Steve Francia (spf13) e usado por projetos como Kubernetes, Hugo e Docker. Ele fornece uma estrutura robusta para criar interfaces de linha de comando com suporte a subcomandos, flags e argumentos, sendo ideal para automações internas.

Como depurar problemas de rede em aplicações Node
Linguagens de Programação e Runtimes 05/05/2026

Como depurar problemas de rede em aplicações Node

Problemas de rede em aplicações Node.js podem ser particularmente desafiadores devido à natureza assíncrona e orientada a eventos da plataforma. Este artigo apresenta um guia prático para diagnosticar e resolver os problemas de rede mais comuns, desde o rastreamento básico de requisições até a análise avançada de tráfego.

Bun 1.x no dia a dia: o que mudou na prática para apps Node.js existentes
Linguagens de Programação e Runtimes 05/05/2026

Bun 1.x no dia a dia: o que mudou na prática para apps Node.js existentes

Bun é um runtime JavaScript all-in-one criado por Jarred Sumner, escrito em Zig, que combina runtime, bundler, test runner e gerenciador de pacotes em uma única ferramenta. Diferente do Node.js, que depende de V8 e do ecossistema npm com múltiplas ferramentas separadas, Bun usa JavaScriptCore da Apple e implementa internamente o que o Node.js delega a bibliotecas externas.