Fundamentos
TL;DR
Base teórica de ciência da computação, independente de linguagem ou stack: algoritmos, estruturas de dados, OO, banco de dados, redes e testes.
Esta estante reúne os fundamentos que sustentam qualquer prática de desenvolvimento — o conhecimento que sobrevive à troca de linguagem, framework ou paradigma. Aqui ficam as notas sobre algoritmos e suas análises de complexidade, estruturas de dados clássicas, princípios de orientação a objetos, modelagem e teoria de banco de dados, redes e protocolos que sustentam a comunicação entre sistemas, e práticas de testes automatizados. É o terreno comum que conecta todas as outras estantes técnicas.
Conteúdo
- Fundamentos — visão geral da área
- Algoritmos — algoritmos clássicos, análise e complexidade
- Estruturas de Dados — listas, árvores, grafos, hash, etc.
- Orientação a Objetos — princípios e padrões de OO
- Banco de dados — modelagem, SQL, normalização, índices
- Redes e Protocolos — TCP/IP, HTTP, modelo OSI
- Testes — testes unitários, integração, TDD, mocks
- O programa como teoria — programação como construção de teoria (Naur); por que o entendimento mora nas pessoas, não no código
Veja também
- Domínios — índice das estantes
- Arquitetura — aplicação dos fundamentos em design de sistemas
- Sendas — trilhas que cruzam fundamentos com outras áreas