Skip to content

Commit 231eebb

Browse files
committed
feat: Adicionar roadmap para desenvolvimento backend em Java
1 parent bb3c4f6 commit 231eebb

2 files changed

Lines changed: 345 additions & 3 deletions

File tree

src/content/docs/index.mdx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ sidebar:
1717
hidden: true
1818
---
1919

20-
import { Card, CardGrid } from '@astrojs/starlight/components';
20+
import { Card, CardGrid } from "@astrojs/starlight/components";
2121

2222
<CardGrid stagger>
2323
<Card title="Notas" icon="open-book">
@@ -27,9 +27,11 @@ import { Card, CardGrid } from '@astrojs/starlight/components';
2727
Código funcional e comentado para ver os conceitos na prática.
2828
</Card>
2929
<Card title="Exercícios" icon="pencil">
30-
Desafios para consolidar o aprendizado. Disponíveis em `examples/exercises.md`.
30+
Desafios para consolidar o aprendizado. Disponíveis em
31+
`examples/exercises.md`.
3132
</Card>
3233
<Card title="Projetos" icon="star">
33-
Projetos completos para aplicar tudo que foi aprendido. Disponíveis em `examples/projects.md`.
34+
Projetos completos para aplicar tudo que foi aprendido. Disponíveis em
35+
`examples/projects.md`.
3436
</Card>
3537
</CardGrid>

src/content/docs/roadmap.md

Lines changed: 340 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,340 @@
1+
---
2+
title: "Java Backend Roadmap"
3+
description: "Um guia prático e progressivo para dominar Java moderno e backend."
4+
lastUpdated: 2026-04-15
5+
sidebar:
6+
order: 99
7+
tags: ["java", "roadmap"]
8+
---
9+
10+
Um guia prático e progressivo para dominar Java moderno e backend.
11+
12+
## 🧱 1. Fundamentos de Programação
13+
14+
### Lógica de Programação
15+
16+
- Algoritmos e resolução de problemas
17+
- Pseudocódigo
18+
- Linguagens de programação
19+
20+
### Conceitos básicos
21+
22+
- Variáveis e constantes
23+
- Tipos de dados (primitivos e não primitivos)
24+
- Atribuição de valores
25+
- Comentários
26+
27+
### Operações
28+
29+
- Operadores aritméticos
30+
- Operadores relacionais e de igualdade
31+
- Operadores lógicos
32+
- Incremento e decremento
33+
- Precedência de operadores
34+
35+
### Entrada e saída
36+
37+
- Leitura de dados
38+
- Escrita de dados
39+
- Concatenação
40+
41+
### Controle de fluxo
42+
43+
- Condicionais (`if`, `else`, `switch`)
44+
- Estruturas de repetição (`for`, `while`, `do-while`)
45+
46+
### Estruturas de dados
47+
48+
- Arrays
49+
- Listas
50+
- Mapas
51+
- Pilhas e filas (conceitual)
52+
53+
## 🧩 2. Programação Orientada a Objetos (POO)
54+
55+
### Fundamentos
56+
57+
- Classes e objetos
58+
- Métodos e atributos
59+
- Instanciação
60+
61+
### Pilares da POO
62+
63+
- Encapsulamento
64+
- Herança
65+
- Polimorfismo
66+
- Abstração
67+
68+
### Conceitos avançados
69+
70+
- Interfaces
71+
- Classes abstratas
72+
- Sobrecarga vs sobrescrita
73+
- Modificadores de acesso (`public`, `private`, `protected`)
74+
75+
## ☕ 3. Java Core (Moderno)
76+
77+
### Fundamentos da linguagem
78+
79+
- Estrutura de um projeto Java
80+
- JVM, JDK e JRE
81+
- Processo de compilação
82+
83+
### Orientação a objetos em Java
84+
85+
- Construtores
86+
- `this` e `super`
87+
- Classe `Object`
88+
89+
### Tipos e memória
90+
91+
- Autoboxing / Unboxing
92+
- Upcasting / Downcasting
93+
94+
### Collections
95+
96+
- List, Set, Map
97+
- `ArrayList`, `HashMap`, `HashSet`
98+
- Comparators e Comparable
99+
100+
### Manipulação de Strings
101+
102+
- Métodos principais
103+
- Imutabilidade
104+
105+
### Exceptions
106+
107+
- Checked vs Unchecked
108+
- Try / Catch / Finally
109+
- Boas práticas
110+
111+
### Java moderno (Java 8+ até 21+)
112+
113+
#### Funcional
114+
115+
- Lambda expressions
116+
- Method reference
117+
- Streams API
118+
- Optional
119+
120+
#### Novidades recentes
121+
122+
- Records
123+
- Text Blocks
124+
- Pattern Matching (`instanceof`, `switch`)
125+
- Sealed Classes
126+
- Virtual Threads (Project Loom)
127+
128+
### APIs importantes
129+
130+
- Java Time API
131+
- Java IO / NIO
132+
- Concurrency API (Threads, Executors)
133+
134+
### Performance e JVM
135+
136+
- Garbage Collector
137+
- JIT Compiler
138+
- Memory model
139+
140+
## 🌿 4. Git e GitHub
141+
142+
### Versionamento
143+
144+
- Conceito de versionamento
145+
- Repositórios e branches
146+
147+
### Comandos essenciais
148+
149+
```
150+
git clone
151+
git branch
152+
git checkout
153+
git status
154+
git add
155+
git commit
156+
git push
157+
git pull
158+
```
159+
160+
### Fluxo de trabalho
161+
162+
- Pull Requests
163+
- Code Review
164+
- Merge
165+
- Resolução de conflitos
166+
167+
## 🗄️ 5. Banco de Dados (SQL)
168+
169+
### Fundamentos
170+
171+
- CREATE DATABASE
172+
- CREATE TABLE
173+
- INSERT
174+
- SELECT
175+
- UPDATE
176+
- DELETE
177+
- TRUNCATE
178+
179+
### Relacionamentos
180+
181+
- Chaves primárias e estrangeiras
182+
183+
### JOINS
184+
185+
- INNER JOIN
186+
- LEFT JOIN
187+
- RIGHT JOIN
188+
- FULL OUTER JOIN
189+
- SELF JOIN
190+
191+
## 🌐 6. HTTP, APIs e REST
192+
193+
### Conceitos
194+
195+
- O que é API
196+
- Cliente vs servidor
197+
- REST
198+
199+
### HTTP
200+
201+
- Métodos: GET, POST, PUT, DELETE, PATCH
202+
- Status codes:
203+
- 1xx → Informacional
204+
- 2xx → Sucesso
205+
- 3xx → Redirecionamento
206+
- 4xx → Erro do cliente
207+
- 5xx → Erro do servidor
208+
209+
### Boas práticas REST
210+
211+
- Recursos
212+
- Idempotência
213+
- Versionamento
214+
215+
## 🌱 7. Spring Web
216+
217+
### Setup
218+
219+
- Spring Initializr
220+
- Maven vs Gradle
221+
222+
### Fundamentos
223+
224+
- IoC (Inversão de Controle)
225+
- Injeção de dependência
226+
- Beans
227+
228+
### Desenvolvimento
229+
230+
- Controllers (`@RestController`)
231+
- Rotas (`@RequestMapping`)
232+
- Teste com Postman / Insomnia
233+
234+
### Integrações
235+
236+
- Consumo de APIs externas
237+
- Comunicação entre serviços
238+
239+
## 🗃️ 8. Spring Data
240+
241+
### Persistência
242+
243+
- JPA
244+
- Hibernate
245+
- DAO Pattern
246+
247+
### Repositórios
248+
249+
- `CrudRepository`
250+
- `JpaRepository`
251+
252+
### Banco em memória
253+
254+
- H2 Database
255+
256+
### CRUD completo
257+
258+
- Criar
259+
- Listar
260+
- Atualizar
261+
- Deletar
262+
263+
## 🔐 9. Spring Security
264+
265+
### Conceitos
266+
267+
- Autenticação vs autorização
268+
269+
### Segurança
270+
271+
- Basic Auth
272+
- JWT
273+
- OAuth2
274+
275+
### Implementação
276+
277+
- Login com JWT
278+
- Refresh Token
279+
- Password encoder (BCrypt)
280+
281+
## 🧪 10. Qualidade de Software
282+
283+
### Testes
284+
285+
- Testes unitários (JUnit, Mockito)
286+
- Testes de integração
287+
- Testes de contrato
288+
289+
### Boas práticas
290+
291+
- SOLID
292+
- Clean Code
293+
294+
## ☁️ 11. Ecossistema Backend
295+
296+
### Arquitetura
297+
298+
- Arquitetura em camadas
299+
- Arquitetura hexagonal
300+
- Microsserviços
301+
302+
### Infraestrutura
303+
304+
- Docker
305+
- Cloud (AWS, GCP, Azure)
306+
307+
### Dados e mensageria
308+
309+
- NoSQL (MongoDB, Redis)
310+
- Filas (RabbitMQ, Kafka)
311+
312+
## 🛡️ 12. Segurança e Produção
313+
314+
- OWASP Top 10
315+
- Logging e observabilidade
316+
- Monitoramento
317+
- Resiliência (retry, circuit breaker)
318+
319+
## 🎯 13. Outros tópicos
320+
321+
- System Design
322+
- Performance tuning
323+
- Escalabilidade
324+
- Engenharia de plataforma
325+
- IA aplicada ao desenvolvimento
326+
327+
## 🧠 Dica
328+
329+
> Foque em **projetos reais** ao invés de só teoria.
330+
331+
Sugestões:
332+
333+
- API REST completa com autenticação
334+
- Sistema com mensageria (Kafka)
335+
- Microsserviço com Spring Boot
336+
337+
---
338+
339+
🔥 **Regra de ouro:**
340+
Aprenda → Aplique → Ensine → Repita

0 commit comments

Comments
 (0)