Se Preparando para a Jornada

Iniziamo. È gratuito!
o registrati con il tuo indirizzo email
Se Preparando para a Jornada da Mind Map: Se Preparando para a Jornada

1. Introdução ao Módulo

1.1. Quem sou eu

1.1.1. Isaac Pontes

1.1.2. Bacharel em Sistemas de Informação

1.1.3. CTO e Instrutor da OneBitCode

1.2. O que você vai aprender?

1.2.1. O que é a web

1.2.2. O que faz um programador

1.2.3. O que é back-end, front-end e full-stack

1.2.4. Conhecimentos básicos da computação

1.2.5. Como usar um editor de código

2. O que é a web e como ela funciona

2.1. É uma rede que conecta computadores

2.1.1. Baseada em uma arquitetura **cliente-servidor**

2.1.2. Computadores são encontrados na rede através de um **endereço de IP**, por exemplo: http://74.125.196.94/

2.1.3. Endereços de IP podem ser mapeados para nomes humanamente legíveis, os **nomes de domínio**

2.2. O que acontece quando abrimos um site?

2.2.1. Cliente solicita informações

2.2.2. Servidor processa a solicitação

2.2.3. Servidor responde a solicitação

2.2.4. Cliente recebe a resposta

2.3. Essa comunicação acontece através de protocolos

2.3.1. HTTP: páginas html

2.3.2. SMTP: emails

2.3.3. FTP: transferência de arquivos

2.3.4. etc

3. Programador e seus super poderes

3.1. Programador é o profissional que desenvolve software

3.2. Software é um conjunto de instruções para o computador

3.3. O que um programador pode criar?

3.3.1. Websites, landing pages, etc

3.3.2. Aplicações GUI (web, desktop, mobile)

3.3.3. Aplicações CLI

3.3.4. Sistemas embarcados (que controlam máquinas e dispositivos específicos)

3.3.5. Scripts de automação, chatbots e outros utilitários

3.3.6. E muitos outros tipos de software

3.4. Como é o trabalho de um programador?

3.4.1. Presencial, híbrido ou remoto

3.4.2. Fixo (CLT), prestador de serviços (PJ) ou freelancer

3.4.3. E também pode optar por diferentes especializações (front-end, back-end, mobile, embarcados, etc)

3.5. Como é a remunaração?

3.5.1. Pode variar bastante, desde um salário mínimo até ganhos de mais de R$ 30K por mês

3.6. Níveis de um programador

3.6.1. Júnior

3.6.2. Pleno

3.6.3. Sênior

4. Desenvolvimento front-end, back-end e full-stack

4.1. Há alguns anos, o desenvolvimento web era mais simples e projetos muitas vezes eram desenvolvidos por um único programador ou por equipes bem pequenas

4.2. Com o passar do tempo os projetos foram ficando mais complexos, levando à necessidade de dividir as responsabilidades

4.3. Front-end

4.3.1. Responsável pelo desenvolvimento da aplicação do cliente, ou seja, a parte que roda no navegador do usuário

4.3.2. Cuida de todo o visual do site ou aplicação e da realização de requisições ao back-end para obter os dados da aplicação

4.3.3. Trabalha principalmente com HTML, CSS e JavaScript. Também utiliza frameworks como Vue, React e Next.js

4.4. Back-end

4.4.1. Responsável pelo desenvolvimento da aplicação do servidor, ou seja, a parte que o usuário "não vê"

4.4.2. Cuida de questões como integração com bancos de dados e criação de APIs para servir os dados para o front-end

4.4.3. Pode trabalhar com diferentes linguagens de programação, como JavaScript (com Node.js), Ruby e Pyhton, bancos de dados SQL e NoSQL, entre outras tecnologias

4.5. Full-stack

4.5.1. É o profissional que entende todas as partes do desenvolvimento web

4.5.2. Pode trabalhar tanto como front-end quanto como back-end, e também pode desenvolver uma aplicação por completo "sozinho"

5. Sistemas Operacionais

5.1. É o principal software de um computador

5.2. É responsável por permitir que o usuário seja capaz de interagir com o hardware

5.2.1. Executar outros softwares

5.2.2. Gerenciar o uso da memória, o armazenamento, o processamento, o sistema de arquivos, etc

5.2.3. Por exemplo, você sabe o que realmente acontece ao executar um arquivo no seu PC?

5.2.3.1. Como os arquivos são armazenados em disco, o SO começará encontrando-o no disco

5.2.3.2. O arquivo então é carregado para a memória RAM, que é mais eficiente que a memória secundária (HD, SSD, etc)

5.2.3.3. Depois disso o arquivo será lido e executado pelo processador

5.2.3.4. Agora imagine isso acontecendo continuamente e em paralelo

5.3. Os 3 SOs mais usados por programadores são o MacOS, o Linux e o Windows

5.3.1. Todos os módulos podem ser feitos com qualquer um dos SOs

5.3.2. Minha recomendação pessoal: Linux

5.3.3. Opção extra: Linux no Windows através do WSL

6. Navegador e Ferramentas do Desenvolvedor

6.1. Navegadores recomendados: Firefox, Edge e Chrome (ou outros navegadores baseados em Chromium)

6.2. DevTools ou Ferramentas do Desenvolvedor são recursos dos navegadores para ajudar a analisar e testar uma página web

6.3. Pode ser aberto

6.3.1. pressionando **F12**

6.3.2. com o atalho **Ctrl + Shift + i**

6.3.3. clicando em um elemento da página com o botão direito do mouse e escolhendo **Inspecionar**

7. Conhecendo o Editor de Código

7.1. Baixe o Visual Studio Code em: https://code.visualstudio.com

8. Conhecendo o Terminal

8.1. O terminal é a forma mais simples de interagir com o SO

8.2. Com ele podemos enviar comandos diretamente para o SO

8.3. Muitas das tarefas que fazemos através da interface gráfica podem ser feitas pelo terminal, como acessar pastas, abrir arquivos, executar programas, etc

8.4. Comandos essenciais

8.4.1. pwd: exibe o caminho do diretório atual

8.4.2. ls: lista o conteúdo do diretório atual

8.4.3. mkdir: cria um diretório vazio

8.4.4. cd: muda de diretório

8.4.5. ni ou touch: cria um arquivo vazio

8.4.6. cp: copia um arquivo

8.4.7. mv: move um arquivo

8.4.8. rm: remove um arquivo ou diretório

9. Encerramento

9.1. O que você aprendeu

9.1.1. O que é a web

9.1.2. O que faz um programador

9.1.3. O que é back-end, front-end e full-stack

9.1.4. Conhecimentos básicos da computação

9.2. Ferramentas que você instalou

9.2.1. Visual Studio Code

9.2.2. Terminal (PowerShell)

9.2.3. Node.js e npm