Sobre o projeto

build-your-own-x é uma compilação curated pela comunidade de tutoriais bem escritos e práticos que guiam desenvolvedores na reconstrução de tecnologias reais do zero. A filosofia subjacente é o aprendizado estilo Feynman: compreender profundamente um sistema implementando-o você mesmo. ## O que é abordado O repositório organiza os tutoriais por domínio tecnológico. Cada entrada linka para um tutorial ou artigo escrito em uma linguagem de programação específica. Domínios notáveis incluem: - **Renderizador 3D** — ray tracing, rasterização, renderização de software OpenGL, PBR - **Modelo de IA** — LLMs, modelos de difusão, pipelines RAG - **Realidade Aumentada** — tutoriais Unity ARCore/ARKit - **Cliente BitTorrent** — parsing bencode, protocolos peer - **Blockchain / Criptomoeda** — proof-of-work, smart contracts, consenso - **Bot** — bots IRC, Telegram, Discord, Slack, Reddit, Twitter - **Ferramenta de Linha de Comando** — apps CLI em Go, Rust, Zig, Node.js - **Banco de Dados** — KV stores, clones Redis, bancos graph, motores SQL - **Docker / Contêineres** — implementação de contêineres Linux em C, Go, Python, bash - **Emulador / Máquina Virtual** — emuladores CHIP-8, Game Boy, NES - **Framework Front-end** — React, Redux, AngularJS, virtual DOM do zero - **Jogo** — desenvolvimento de jogos em C, C++, C#, Go, Java, JavaScript, Python, Ruby, Rust - **Git** — reimplementação do git clone, commit e push em várias linguagens - **Memory Allocator** — implementação customizada de malloc - **Network Stack** — stack TCP/IP, VPN, switch virtual - **Rede Neural** — perceptrons, MLPs, OCR, reimplementation de deep learning - **Sistema Operacional** — tutoriais de construção de SO - **Processador** — design de CPU do zero - **Linguagem de Programação** — design de linguagens e compiladores - **Mecanismo de Busca** — internals de search engine - **Shell** — construir seu próprio shell - **Navegador Web** — implementação de browser engine - **Servidor Web** — HTTP server do zero ## Linguagens representadas Os tutoriais abrangem uma ampla gama de linguagens, incluindo C, C++, Go, Python, JavaScript, TypeScript, Rust, Ruby, Java, C#, Haskell, Nim, Kotlin, Scala, Crystal, Common Lisp, R, Lua, Zig e mais. ## Como usar Navegue pelo sumário do README para encontrar uma tecnologia que deseja entender profundamente, e siga o tutorial linkado. Cada tutorial é um guia autossuficiente e passo a passo, escrito pela comunidade open-source. Repositório: https://github.com/codecrafters-io/build-your-own-x