Zig256 itens
001

Fila de Prioridade em Zig: Binary Heap Min-Heap

Para implementar uma fila de prioridade em Zig, use um binary heap sobre um ArrayList. Em uma min-heap, o menor elemento fica na raiz; cada pai é menor ou igual aos …

10 min
005

Mutex vs Atomic em Zig: Quando Usar Cada Um

Para escolher entre mutex e atomic em Zig, use esta regra: se você protege uma invariável com vários campos ou vários passos, escolha std.Thread.Mutex; se atualiza um …

12 min
009

Zig Fuzzer: Fuzz Testing Nativo, Targets e CI

Para fazer fuzz testing em Zig, escreva um test que chama std.testing.fuzz com uma função testOne recebendo []const u8, transforme esses bytes em uma chamada real do seu …

12 min
018

Dijkstra em Zig: Caminho Mínimo Passo a Passo

Dijkstra em Zig: Caminho Mínimo Passo a Passo O algoritmo de Dijkstra encontra o menor custo de um vértice de origem até todos os outros vértices alcançáveis de um grafo …

11 min
020

DNS em Zig: Resolver Hostnames, IPv4, IPv6 e Cache

Para resolver um hostname em Zig, use a API de resolução de std.net disponível na versão instalada — normalmente getAddressList —, percorra todos os endereços IPv4 e IPv6 …

12 min
059

Zig em 2026: O Que Saber Antes de Começar

Zig chama atenção porque promete uma combinação rara: controle próximo de C, build system integrado, cross-compilation simples, binários pequenos e uma linguagem que …

9 min
065

Criar CLI Profissional em Zig Passo a Passo

Ferramentas de linha de comando são uma das aplicações mais naturais para Zig. A combinação de binários estáticos pequenos, cross-compilation trivial e inicialização …

9 min
072

Networking em Zig: Sockets TCP e UDP na Prática

Programação de rede é uma das áreas onde Zig realmente brilha. Com controle fino sobre memória, zero overhead de runtime e acesso direto às APIs do sistema operacional, …

7 min
073

Zig Async/Await: O Novo Sistema std.Io Explicado

Zig Async/Await: O Novo Sistema std.Io Explicado O sistema de I/O assíncrono do Zig passou por uma reformulação completa. O antigo modelo de async/await — que havia sido …

9 min
075

Build System do Zig: Guia Completo do build.zig

Build System do Zig: Guia Completo do build.zig O build system de Zig é único — em vez de arquivos declarativos como Makefiles ou CMakeLists.txt, você escreve a lógica de …

7 min
080

Comptime em Zig: Metaprogramação Sem Macros

Se você já programou em C, provavelmente já sofreu com macros do preprocessador. Se veio do C++, sabe que templates podem se tornar um pesadelo de mensagens de erro. E se …

8 min
097

Cheatsheet: Arrays e Slices em Zig

Cheatsheet: Arrays e Slices em Zig Arrays são coleções de tamanho fixo determinado em tempo de compilação. Slices são referências a segmentos contíguos de memória com …

6 min
098

Cheatsheet: Enums e Unions em Zig

Cheatsheet: Enums e Unions em Zig Referência completa para enumerações e unions em Zig, incluindo tagged unions, pattern matching e padrões de uso comuns. Enums Básicos …

5 min
099

Cheatsheet: Error Handling em Zig

Cheatsheet: Error Handling em Zig O sistema de erros de Zig é uma das características mais distintas da linguagem. Em vez de exceções, Zig usa error unions que são …

5 min
100

Cheatsheet: Ponteiros em Zig

Cheatsheet: Ponteiros em Zig Zig tem um sistema de ponteiros mais preciso que C, distinguindo entre ponteiros simples, multi-ponteiros, slices e ponteiros com sentinela. …

5 min
101

Cheatsheet: Sintaxe Básica em Zig

Cheatsheet: Sintaxe Básica em Zig Referência rápida para a sintaxe fundamental da linguagem Zig. Esta cheatsheet cobre tudo que você precisa para começar a escrever …

6 min
102

Cheatsheet: Strings em Zig

Cheatsheet: Strings em Zig Em Zig, strings são simplesmente slices de bytes ([]const u8). Não existe um tipo String especial. Esta cheatsheet cobre todas as operações …

6 min
103

Cheatsheet: Structs em Zig

Cheatsheet: Structs em Zig Structs são o principal mecanismo de composição de dados em Zig. Diferente de linguagens OOP tradicionais, Zig não tem herança, mas oferece …

5 min
104

Cheatsheet: Tipos de Dados em Zig

Cheatsheet: Tipos de Dados em Zig Referência completa de todos os tipos disponíveis na linguagem Zig, com exemplos práticos e tabelas de consulta rápida. Tipos Inteiros …

6 min
107

Cifra de César em Zig — Tutorial Passo a Passo

Cifra de César em Zig — Tutorial Passo a Passo Neste tutorial, vamos implementar a Cifra de César, um dos algoritmos de criptografia mais antigos e conhecidos. Apesar de …

9 min
110

Como Comparar Strings em Zig

Como Comparar Strings em Zig Em Zig, strings são slices de bytes ([]const u8) e não podem ser comparadas diretamente com ==. Em vez disso, a biblioteca padrão fornece …

4 min
111

Como Compilar o Zig do Código-Fonte

Como Compilar o Zig do Código-Fonte Compilar o compilador Zig a partir do código-fonte é um procedimento voltado para usuários avançados, contribuidores do projeto e …

7 min
112

Como Configurar Zig no GitHub Actions (CI/CD)

Como Configurar Zig no GitHub Actions (CI/CD) Automatizar a compilação, os testes e o deploy do seu projeto Zig com GitHub Actions é uma prática essencial para manter a …

8 min
113

Como Converter entre Tipos de String em Zig

Como Converter entre Tipos de String em Zig Em Zig, não existe um único tipo “string”. Em vez disso, existem vários tipos relacionados que representam …

5 min
114

Como Criar e Gerenciar Threads em Zig

Introdução Threads permitem executar múltiplas tarefas simultaneamente, aproveitando os múltiplos núcleos do processador. Em Zig, a API std.Thread oferece uma interface …

5 min
115

Como Criar um Cliente TCP em Zig

Introdução Um cliente TCP é um programa que inicia uma conexão com um servidor remoto usando o protocolo TCP (Transmission Control Protocol). TCP garante a entrega …

4 min
116

Como Formatar Strings com std.fmt em Zig

Como Formatar Strings com std.fmt em Zig O sistema de formatação de Zig (std.fmt) é poderoso e seguro em tempo de compilação. Diferente de printf em C, o compilador …

4 min
117

Como Gerenciar Múltiplas Versões do Zig

Como Gerenciar Múltiplas Versões do Zig Conforme você trabalha com o Zig em diferentes projetos, inevitavelmente surge a necessidade de manter múltiplas versões do …

7 min
118

Como Implementar uma Pilha (Stack) em Zig

Introdução Uma pilha (stack) é uma estrutura de dados que segue o princípio LIFO (Last In, First Out) — o último elemento inserido é o primeiro a ser removido. Pilhas são …

4 min
125

Como instalar Zig no Windows, Linux e macOS

Para instalar Zig, baixe o compilador em ziglang.org/download, escolha o arquivo do seu sistema e arquitetura, extraia a pasta e adicione essa pasta ao PATH. Abra um novo …

6 min
127

Como Migrar um Projeto C para Zig

Introdução Migrar um projeto C existente para Zig não precisa ser um esforço de “tudo ou nada”. A interoperabilidade bidirecional entre Zig e C permite uma …

4 min
128

Como Obter Informações do Sistema em Zig

Introdução Obter informações sobre o sistema é útil para logs, diagnóstico, ajuste de performance e decisões em tempo de execução (como número de threads). Zig permite …

3 min
129

Como Ordenar Arrays e Slices em Zig

Introdução Ordenar dados é uma das operações mais comuns em programação. Zig oferece funções de ordenação eficientes na biblioteca padrão através do módulo std.mem, …

4 min
130

Como Parsear JSON em Zig

Introdução JSON (JavaScript Object Notation) é o formato de dados mais usado para APIs web, configuração e troca de dados entre sistemas. Em Zig, a biblioteca padrão …

5 min
132

Como Trabalhar com Big Integers em Zig

Introdução Tipos numéricos comuns como u64 e i128 têm limites de tamanho. Quando você precisa trabalhar com números que excedem esses limites – como em …

4 min
133

Como Trabalhar com Tempo e Timestamps em Zig

Introdução Trabalhar com tempo é essencial para logs, medição de performance, timestamps em dados, timeouts e agendamento de tarefas. Zig oferece std.time com funções …

3 min
134

Como Usar Arrays Dinâmicos (ArrayList) em Zig

Introdução Em muitas situações, você precisa de uma coleção que cresce e diminui dinamicamente durante a execução do programa. Arrays fixos em Zig têm tamanho definido em …

4 min
135

Como Usar FixedBufferAllocator em Zig

Introdução O FixedBufferAllocator permite alocar memória a partir de um buffer pré-existente, sem recorrer ao heap. Isso é particularmente útil em sistemas embarcados, …

3 min
136

Como Usar GeneralPurposeAllocator em Zig

Introdução O GeneralPurposeAllocator (GPA) é o alocador de uso geral recomendado em Zig para desenvolvimento e depuração. Ele fornece detecção de erros como double-free, …

4 min
137

Como Usar HashMap em Zig

Introdução Um HashMap (também chamado de dicionário ou mapa) é uma estrutura de dados que associa chaves a valores, permitindo inserção, busca e remoção em tempo O(1) …

4 min
138

Como Usar Mutex para Sincronização em Zig

Introdução Um Mutex (Mutual Exclusion) é um mecanismo de sincronização que garante que apenas uma thread acesse um recurso compartilhado por vez. Sem sincronização …

5 min
139

Como Usar Operações Atômicas em Zig

Introdução Operações atômicas são instruções de CPU que executam de forma indivisível, sem possibilidade de interrupção por outra thread. Elas permitem sincronização …

4 min
140

Como Usar Thread Pool em Zig

Introdução Um thread pool é um padrão que mantém um conjunto fixo de threads reutilizáveis para processar tarefas. Em vez de criar e destruir threads para cada tarefa …

4 min
141

Como Usar Timers e Sleep em Zig

Introdução Timers e sleep são fundamentais para controlar o fluxo temporal de programas: pausar entre operações, implementar polling, criar intervalos periódicos e medir …

3 min
158

Estratégias de Alocação de Memória em Zig

Estratégias de Alocação de Memória em Zig Zig não tem garbage collector — a gestão de memória é explícita e controlada pelo desenvolvedor através de allocators. Esta …

2 min
162

Ferramentas de Desenvolvimento para Zig em 2026

Ferramentas de Desenvolvimento para Zig em 2026 Para ferramentas internas de operação, veja também o guia de ferramentas internas em Zig para DevOps, que conecta CLI, …

3 min
175

Masterclass: Gerenciamento de Memória em Zig

Masterclass: Gerenciamento de Memória em Zig Bem-vindo à série mais completa sobre gerenciamento de memória em Zig em português. Esta masterclass foi projetada para …

2 min
177

Merge Sort em Zig — Implementação e Explicação

Merge Sort em Zig — Implementação e Explicação O Merge Sort (ordenação por intercalação) é um algoritmo de ordenação baseado na técnica de divisão e conquista. Ele divide …

4 min
181

Padrões Errdefer para Cleanup em Zig

Introdução errdefer é uma das features mais elegantes de Zig. Diferente de defer (que executa sempre), errdefer executa apenas quando a função retorna um erro. Isso …

4 min
182

Padrões Try/Catch de Erros em Zig

Introdução Zig usa error unions em vez de exceções. Uma função que pode falhar retorna !T (error union), e o chamador deve tratar o erro com try (propagar) ou catch …

3 min
185

Projetos Práticos em Zig — Aprenda Construindo

Projetos Práticos em Zig — Aprenda Construindo Bem-vindo à nossa coletânea de 50 projetos práticos em Zig! Cada tutorial guia você passo a passo na construção de uma …

2 min
186

Quando Usar Zig (e Quando Não Usar)

Introdução Zig é uma linguagem excelente, mas não é a ferramenta certa para tudo. Este artigo fornece uma análise honesta de quando Zig brilha e quando outras linguagens …

5 min
189

Rate Limiter em Zig: Token Bucket Passo a Passo

Rate Limiter em Zig: Token Bucket Passo a Passo Resposta rápida: para criar um rate limiter em Zig, mantenha um token bucket por cliente. Cada requisição consome um …

11 min
196

Testes Avancados em Zig — Serie Completa

Testes Avancados em Zig: Serie Completa Testes sao a base de software confiavel. Zig possui um sistema de testes integrado na linguagem que e simples, poderoso e nao …

1 min
197

Testes Unitários Básicos em Zig

Introdução Testes em Zig são cidadãos de primeira classe — integrados diretamente na linguagem com o bloco test. Não há necessidade de framework externo. Os testes ficam …

3 min
198

Thread Pool em Zig — Tutorial Passo a Passo

Thread Pool em Zig — Tutorial Passo a Passo Neste tutorial, vamos construir uma thread pool em Zig — um pool de threads reutilizáveis que processam tarefas de uma fila …

6 min
204

Web Scraper em Zig — Tutorial Passo a Passo

Web Scraper em Zig — Tutorial Passo a Passo Neste tutorial, vamos construir um web scraper em Zig que faz requisições HTTP, extrai informações de páginas HTML e salva os …

9 min
205

Zig Brasil: Comunidade Ziglang e Como Participar

Para encontrar a comunidade Zig Brasil, comece pelo Telegram em português e pela lista de e-mail zig-brasil, ambos listados na página de comunidades do Zig. Para estudar …

6 min
207

Zig HTTP GET: buscar APIs com std.http.Client

Introdução Requisições HTTP GET são a forma mais comum de buscar dados da web. Em Zig, a biblioteca padrão oferece std.http.Client para fazer requisições HTTP com …

6 min
209

Zig para Segurança Cibernética

Zig para Segurança Cibernética A maioria das vulnerabilidades críticas de software (buffer overflows, use-after-free, null pointer dereferences) são causadas por erros de …

2 min
211

Zig vs Assembly — Quando Usar Cada Um

Introdução A questão “Zig ou Assembly?” pode parecer estranha à primeira vista — são linguagens de níveis de abstração bastante diferentes. Porém, Zig opera …

5 min
214

Zig vs Nim — Comparação Completa

Introdução Zig e Nim são duas linguagens de programação modernas que buscam oferecer alternativas viáveis ao C e C++ para programação de sistemas. Embora compartilhem o …

6 min
215

Zig vs Odin — Qual Escolher?

Introdução Zig e Odin pertencem à mesma geração de linguagens de programação de sistemas que buscam simplicidade como princípio fundamental. Ambas rejeitam a complexidade …

4 min
221

PostgreSQL em Zig: Criando um Driver Nativo

PostgreSQL é um dos bancos de dados relacionais mais poderosos e populares. Embora Zig não tenha ainda um driver nativo escrito 100% em Zig, sua interoperabilidade …

9 min
224

Zig e Lua: Criando Extensões Nativas

Lua é uma das linguagens de scripting mais populares do mundo — leve, embutível e extremamente rápida quando combinada com LuaJIT. Mas quando você precisa de performance …

7 min
228

Zig SIMD: Guia Completo de Vectorização

A vectorização SIMD é uma das técnicas mais poderosas para otimização de performance em computação moderna. Com SIMD (Single Instruction Multiple Data), você processa …

10 min
234

JSON em Zig 0.16: parseFromSlice, Value e deinit

JSON é o formato de dados mais popular da web moderna. APIs REST, configurações, logs e troca de dados entre sistemas usam JSON. Saber trabalhar com JSON é uma habilidade …

21 min
238

Tratamento de Erros em Zig: Guia Completo

Tratamento de Erros em Zig: Guia Completo O sistema de erros de Zig é uma das características mais distintivas desta linguagem de programação de sistemas. Diferente de …

15 min
249

Zig Build System: Guia Completo do build.zig

O Zig Build System é uma das features mais poderosas da linguagem Zig. Diferente de C e C++ que dependem de ferramentas externas como Make, CMake, Autotools ou Meson, Zig …

23 min
251

Zig para Iniciantes: Aprenda do Zero em 2026

Quer aprender Zig do zero em português? Comece instalando a linguagem, execute um programa pequeno e avance nesta ordem: sintaxe e tipos → funções e controle de fluxo → …

9 min
252

Zig para Iniciantes: Primeiros Passos em 2026

Quer aprender Zig do zero mas não sabe por onde começar? Você está no lugar certo. Este é o primeiro artigo da série “Zig para Iniciantes”, projetada para …

11 min