diff options
Diffstat (limited to 'aulas/ambientes.rst')
-rw-r--r-- | aulas/ambientes.rst | 143 |
1 files changed, 126 insertions, 17 deletions
diff --git a/aulas/ambientes.rst b/aulas/ambientes.rst index 57eebef..7499b02 100644 --- a/aulas/ambientes.rst +++ b/aulas/ambientes.rst @@ -1,43 +1,104 @@ 2. Ambientes de desenvolvimento =============================== +2.1 - Ambiente básico +--------------------- + +2.1 - Sistemas Operacionais +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + - Neste curso será adotado o sistema operacional GNU/Linux como plataforma básica de trabalho. - Porém, o conteúdo do curso pode ser facilmente adaptado para outros sistemas, como é o caso do MacOSX. - Se você usa Windows, recomendamos: - A criação de uma máquina virtual em GNU/Linux usando o Vagrant de acordo com a aula de `DevOps <devops.html>`_. - Ou o uso do Cygwin juntamente com seu editor de textos favorito. -2.1 - Ambiente básico e a guerra dos editores de texto ------------------------------------------------------- +2.1 - O essencial +~~~~~~~~~~~~~~~~~ -2.1 - Ambiente básico -~~~~~~~~~~~~~~~~~~~~~ +Desktop sem distrações: o que é o mínimo que você precisa? -- Desktop sem distrações: o que é o mínimo que você precisa? - Editor de texto ou IDE: produz código. - Emulador de terminal: execução de tarefas. - Navegador web: ambiente de teste. +Roteiro do screencast: + +#. Exibir um desktop básico e limpo. +#. Discorrer sobre cores de fundo, teclas de atalho e abas de terminal e editor de texto. + 2.1 - Editores ~~~~~~~~~~~~~~ - Vantagens dos IDEs (NetBeans, Eclipse, Aptana, etc): - Facilidade de uso. - Ambiente de desenvolvimento integrado. -- Vantagens dos editores de texto (Atom, Emacs, VIM, Notepad++, gedit etc): +- Vantagens dos editores de texto (Atom, Emacs, VIM, Notepad++, Gedit etc): - Simplicidade. - Performance. +Roteiro do screncast: + +#. Abrir alguns editores de texto e IDEs e seus sites. + 2.2 - Emulador de terminal ~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Despacha comandos para sistemas. -- Comandos podem ser automatizados. +- Despacha comandos textuais. +- Comandos podem ser automatizados em scripts. +- Comandos básicos de UNIX usados no curso. +- Atalhos do terminal (histórico de comandos, limpeza da tela e movimentos do cursor). +- Shells: bash, zsh, php, python, rvm, node, etc! + +Roteiro do screencast: + +:: + + # Navegação + pwd + ls + ls / + ls .. + ls ~ + cd + cd - + cd .. + cd / + + # Criando e apagando arquivos e pastas + touch arquivo + mkdir pasta + rm arquivo + rmdir pasta + + # Movendo e copiando arquivos + cp arquivo pasta + mv pasta pasta.20151112 + rm arquivo + + # Criando atalhos + ln pasta.20151112 pasta.latest + ls -l + + # Procurando ajuda! + man ls + + # Quem sou eu? + whoami + + # Executando com permissões de superusuário + sudo whoami + + # Instalando um programa + sudo apt-get install git 2.3 - Fluxo de trabalho -~~~~~~~~~~~~~~~~~~~~~~~ +----------------------- + +2.3 - Básico +~~~~~~~~~~~~ -- Diário de bordo: de um arquivo de texto a um blog sobre desenvolvimento. +- Diário de bordo: de um arquivo de texto a um blog sobre desenvolvimento (o próprio blogático, no nosso caso!). - Organização de pastas. - Backups. @@ -45,18 +106,49 @@ Roteiro do screencast: :: - # Criando uma pasta para projetos - mkdir ~/projetos + # Criando uma pasta para projetos + mkdir ~/projetos - # Criando a pasta do nosso projeto - mkdir ~/projetos/blogatico + # Criando a pasta do nosso projeto + mkdir ~/projetos/blogatico + +2.3 - Arquivos básicos +~~~~~~~~~~~~~~~~~~~~~~ + +* README: em Markdown (.md), reStructuredText (.rst), texto simples (.txt), etc. +* ChangeLog: opcional e pode ser gerado automaticamente. +* Makefile ou outro arquivo dependendo do método de construção do software (Rakefile, setup.py, etc). + +Roteiro do screencast: + +:: # Criando a estrutura básica do seu projeto cd ~/projetos/blogatico touch README.md ChangeLog TODO.md -2.4 - Scripts e templates -------------------------- +2.3 - Sistemas de tickets (tarefas) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Kanban. +* Arquivo TODO em formatos plaintext, Markdown, etc. +* Um arquivo por tarefa em pastas `open` e `closed`. +* Taskwarrior ou similar. +* Aplicação própria (Trac, etc) +* TODOs and FIXMEs ao longo do código (em última instância). + +Roteiro do screncast: + +:: + + gedit README.md TODO.md + +Imagens: + +* Diversos sistemas de tickets. + +2.3 - Scripts e templates +~~~~~~~~~~~~~~~~~~~~~~~~~ - Configurações, scripts e atalhos de produtividade. - Templates de desenvolvimento. @@ -66,7 +158,24 @@ Roteiro do screencast: * Porém tem um custo de criação e de manutenção. * Existem customizações disponíveis e prontas para uso. -2.5 - Atividades +Roteiro do screencast: + +:: + + # Criando um script! + mkdir bin + touch bin/build + + # Não funciona sem permissão de execução! + ./bin/build + + # Agora vai! + chmod +x bin/build + ./bin/build + + gedit bin/build + +2.4 - Atividades ---------------- #. Teste diversos editores de textos e IDEs disponíveis para sua plataforma de desenvolvimento. Avalie cada um deles em termos de performance, funcionalidades, facilidade de uso e adaptação. A preferência pela plataforma de desenvolvimento varia muito de pessoa para pessoa: tente descobrir a sua! |