Programador Autodidata
Guia definitivo para programar profissionalmente
Descrição do livro
Este livro não é apenas sobre aprender a programar.
É sobre todas as outras coisas que você precisa saber que as aulas e os livros não ensinam. Trata-se de um roteiro, um guia que o levará de escrever seu primeiro programa a passar em sua primeira entrevista técnica.
O livro foi dividido em cinco seções:
1. COMECE a programar em Python.
2. APRENDA a programação orientada a objetos e crie um programa poderoso para se sentir motivado.
3. APRENDA a usar ferramentas como o Git, o Bash e as expressões regulares. Em seguida, use suas novas habilidades de codificação para criar um web scraper.
4. ESTUDE os fundamentos da ciência da computação, como as estruturas de dados e os algoritmos.
5. TERMINE utilizando as melhores práticas de codificação, aprendendo dicas de como trabalhar em equipe e recebendo aconselhamento para conseguir uma vaga de emprego em programação.
Ver menos ▲Sumário
Sumário
- Sobre o autor
- Agradecimentos
- Parte I Introdução à programação
- Capítulo 1 ■ Introdução
- Como o livro está estruturado
- O fim do jogo primeiro
- Você não está sozinho
- A vantagem de ser autodidata
- Porque você deve programar
- Não desista
- Como este livro está formatado
- Tecnologias usadas no livro
- Vocabulário
- Desafio
- Capítulo 2 ■ Começando
- O que é programar
- O que é Python
- Instalação do Python
- Solução de problemas
- Shell interativo
- Salvando programas
- Execução de exemplos de programas
- Vocabulário
- Desafio
- Capítulo 3 ■ Introdução à programação
- Exemplos
- Comentários
- Exibição
- Linhas
- Palavras-chave
- Espaçamento
- Tipos de dados
- Constantes e variáveis
- Sintaxe
- Erros e exceções
- Operadores aritméticos
- Operadores de comparação
- Operadores lógicos
- Instruções condicionais
- Instruções
- Vocabulário
- Desafios
- Capítulo 4 ■ Funções
- Representação de conceitos
- Funções
- Definição de funções
- Funções internas
- Reutilização de funções
- Parâmetros obrigatórios e opcionais
- Escopo
- Manipulação de exceções
- Docstrings
- Só use uma variável quando necessário
- Vocabulário
- Desafios
- Capítulo 5 ■ Contêineres
- Métodos
- Listas
- Tuplas
- Dicionários
- Contêineres em contêineres
- Vocabulário
- Desafios
- Capítulo 6 ■ Manipulação de strings
- Strings com aspas triplas
- Índices
- Strings são imutáveis
- Concatenação
- Multiplicação de strings
- Alteração de letras maiúsculas para minúsculas e vice-versa
- Método format
- Método split
- Método join
- Remoção de espaços
- Método replace
- Busca de um índice
- Palavra-chave in
- Escape de strings
- Nova linha
- Fatiamento
- Vocabulário
- Desafios
- Capítulo 7 ■ Loops
- Loops for
- Função range
- Loops while
- Instrução break
- Instrução continue
- Loops aninhados
- Vocabulário
- Desafios
- Capítulo 8 ■ Módulos
- Módulos internos importantes
- Importação de outros módulos
- Vocabulário
- Desafios
- Capítulo 9 ■ Arquivos
- Gravação em arquivos
- Fechamento automático de arquivos
- Leitura em arquivos
- Arquivos CSV
- Vocabulário
- Desafios
- Capítulo 10 ■ Juntando tudo
- Forca
- Desafio
- Capítulo 11 ■ Prática
- Leitura
- Outros recursos
- Como obter ajuda
- Parte II Introdução à programação orientada a objetos
- Capítulo 12
- Paradigmas de programação
- Estado
- Programação procedural
- Programação funcional
- Programação orientada a objetos
- Vocabulário
- Desafios
- Capítulo 13 ■ Os quatro pilares da programaçao orientada a objetos
- Encapsulamento
- Abstração
- Polimorfismo
- Herança
- Composição
- Vocabulário
- Desafios
- Capítulo 14 ■ Mais programação orientada a objetos
- Variáveis de classe versus variáveis de instância
- Métodos mágicos
- Palavra-chave is
- Vocabulário
- Desafios
- Capítulo 15 ■ Juntando tudo
- Cartas
- Baralho
- Jogador
- Jogo
- Guerra
- Parte III Introdução às ferramentas de programação
- Capítulo 16 ■ Bash
- Acompanhamento
- Busca do Bash
- Comandos
- Comandos recentes
- Caminhos relativos versus absolutos
- Navegação
- Flags
- Arquivos ocultos
- Pipes
- Variáveis de ambiente
- Usuários
- Saiba mais
- Vocabulário
- Desafios
- Capítulo 17 ■ Expressões regulares
- Preparação
- Busca simples
- Busca no começo e no fim
- Busca de vários caracteres
- Busca de dígitos
- Repetição
- Escape
- Ferramenta de expressão regular
- Vocabulário
- Desafios
- Capítulo 18 ■ Gerenciadores de pacotes
- Pacotes
- Gerenciador de pacotes pip
- Ambientes virtuais
- Vocabulário
- Desafio
- Capítulo 19 ■ Controle de versões
- Repositórios
- Como começar
- Pushing e pulling
- Exemplo de pushing
- Exemplo de pulling
- Reversão de versões
- diff
- Próximas etapas
- Vocabulário
- Desafios
- Capítulo 20 ■ Juntando tudo
- HTML
- Scraping no Google Notícias
- Vocabulário
- Desafio
- Parte IV Introdução à ciência da computação
- Capítulo 21 ■ Estruturas de dados
- Estruturas de dados
- Pilhas
- Inversão de uma string com uma pilha
- Filas
- Fila para ingressos
- Vocabulário
- Desafios
- Capítulo 22 ■ Algoritmos
- FizzBuzz
- Busca sequencial
- Palíndromo
- Anagrama
- Contagem das ocorrências de caracteres
- Recursão
- Vocabulário
- Desafio
- Parte V Conseguir um emprego
- Capítulo 23 ■ Melhores práticas de programação
- Escreva código como último recurso
- DRY
- Ortogonalidade
- Cada dado deve ter apenas uma representação
- As funções devem executar uma única ação
- Se estiver demorando muito, provavelmente você cometeu um erro
- Faça as coisas da melhor maneira na primeira vez
- Siga as convenções
- Use um IDE poderoso
- Logging
- Teste
- Revisões de código
- Segurança
- Vocabulário
- Capítulo 24 ■ Seu primeiro emprego em programação
- Escolha um caminho
- Ganhando a experiência inicial
- Como conseguir uma entrevista
- A entrevista
- Atalhos para o sucesso na entrevista
- Capítulo 25 ■ Trabalho em equipe
- Domine o básico
- Não pergunte sobre o que puder encontrar no Google
- Alteração de código
- Síndrome do impostor
- Capítulo 26 ■ Leitura adicional
- Os clássicos
- Aulas online
- Hacker News
- Capítulo 27 ■ Próximas etapas
- Encontre um mentor
- Tente aprofundar-se
- Outros conselhos
- Índice remissivo






