Perfil

Vinicius Assef @viniciusban


Sobre mim

-

Propostas

Linux para quem vem do Windows

Nível: iniciante ou total desconhecimento em Linux.


Duração: 6 horas.


Pré-requisitos para participar desse tutorial: usar Windows e querer aprender.


 


O que você deve trazer para participar do tutorial:



  • Um notebook com Windows com pelo menos 4GB de memória RAM, espaço de 50 GB no HD e uma saída USB;

  • Virtualbox (http://www.virtualbox.org) já instalado no seu Windows.


 


Infra-estrutura necessária:



  • Conexão à internet para download de pacotes e interação com o Github;

  • Preciso de um projetor com entrada DVI para ligar o notebook (macbook pro) nele.


 


 


É comum ouvirmos programadores Python dizerem que Linux ou MacOS é melhor do que Windows. Mas por quê eles dizem isso?


Praticamente todos os palestrantes usam computadores MacOS ou Linux nas apresentações. Praticamente todos os exemplos de código que vemos em blogs e projetos no github partem do pressuposto que o leitor/colaborador usa Linux ou MacOS. Por quê isso acontece?


O objetivo desse tutorial de 6 horas é ajudar a responder essas perguntas, dando ao programador que usa Windows uma visão bem prática e descomplicada do que é possível fazer com Linux no dia-a-dia.


Linux é o sucessor do Unix, um sistema operacional feito para programadores. Por isso vou mostrar ferramentas e técnicas de trabalho otimizadas para programadores. Algumas delas simplesmente são impossíveis de fazer no Windows.


Vamos abordar assuntos diversos, em módulos, como segue abaixo.


 


Parte 1: Linux puro



  • Começando do zero absoluto com uma máquina virtual;

  • Como perder o medo do Linux (navegar na internet, instalar um programa, editar um texto);

  • Perder o medo da linha de comando (instalar programas, ver o conteúdo de arquivos, etc.);

  • Ganhe tempo e poderes com a linha de comando (procurar arquivos, procurar conteúdo nos arquivos, procurar e substituir textos sem abrir um editor, encontrar diferenças nos arquivos, ver duplicados, classificar um arquivo, etc.);

  • Os arquivos de configuração (os dotfiles: para que servem, uso recomendado, etc.);

  • Permissões de arquivos (segurança, isolamento, etc.);

  • pipes (entrada e saída padrão, composição de comandos, tratamento de texto, etc.);

  • Automatizando com shell script bem simples.


 


Parte 2: O editor vim é simples, acredite



  • Um editor modal;

  • Edição simples com vim;

  • O poder das macros;

  • Plugins muito úteis.


 


Parte 3: git na linha de comandos



  • Criar e clonar um repositório;

  • Fazer commits;

  • Consertar commits;

  • Push e pull;

  • Branches e merges;

  • Tags.


 


Parte 4: Usando Python no Linux



  • Várias versões de Python sob total controle com pyenv;

  • Ambientes Python isolados com virtualenv;

  • Abandonar o shell do Python e usar Jupyter Notebook com seus projetos Django.


 


Parte 5: Como colaborar com um projeto open source



  • Fazer o sistema de associados da Associação Python Brasil funcionar em um ambiente Linux usando Virtualbox e Vagrant.