Bem-vindo ao Clojure Labs, a trilha aberta do Caramelo Tech sobre Clojure.
Este repositório existe para ajudar pessoas curiosas a aprender, construir e compartilhar conhecimento em comunidade. A ideia é estudar com calma, praticar com exemplos reais e evoluir junto com outras pessoas que também gostam de tecnologia.
As notas deste repositório são publicadas no site do Caramelo Labs.
- Conteúdo didático em português, pensado para estudo progressivo
- Notas em Markdown publicadas no hub do Caramelo Labs
- Exemplos de código e projetos implementados em
examples/ - Exercícios e ideias de projetos em
notes/pratica/ - Espaço aberto para contribuições da comunidade
| Seção | Escopo |
|---|---|
| Introdução ao Clojure | Ambiente, sintaxe, modelo mental funcional e boas práticas |
| Coleções | Vetores, mapas, reduce, ordenação e avaliação lazy/eager |
| Refs, Átomos e Concorrência | Filas persistentes, threads, átomos e retries |
| Testes | clojure.test, arquitetura hexagonal e Diplomat Architecture |
| Prática | Exercícios e projetos para aplicar os conteúdos do lab |
clojure-labs/
├── notes/ -> Notas em Markdown puro publicadas no Caramelo Labs
│ └── pratica/ -> Exercícios e projetos propostos
├── examples/ -> Projeto Leiningen com exemplos de código para explorar no REPL
├── sidebar.json -> Ordem das seções no hub
├── .github/ -> Templates e guias de contribuição
└── LICENSE
Este repositório contém conteúdo e exemplos. A estrutura web que publica os labs vive no repositório hub labs, que busca as notas daqui e monta o site.
- Comece pelo site do lab ou pelas notas em
notes/ - Siga a ordem sugerida em
sidebar.json - Use
examples/para ver implementações prontas - Pratique com os exercícios
- Aplique os aprendizados nos projetos
As notas em notes/ são Markdown puro, sem frontmatter:
- A primeira linha da nota deve ser o título:
# Título da Nota - Use prefixo numérico no nome do arquivo para controlar a ordem:
01-introducao.md,02-conceitos.md - Agrupe conteúdos por tema em subpastas
- Imagens ficam junto das notas e usam caminho relativo
- Links internos publicados no hub usam o caminho completo:
/labs/clojure/<secao>/<arquivo-com-prefixo>/
Ao criar uma nova subpasta de tema, adicione a seção correspondente em sidebar.json.