aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2015-11-12 15:33:29 -0200
committerSilvio Rhatto <rhatto@riseup.net>2015-11-12 15:33:29 -0200
commit9c70507ce73635da4d0de31605344b9bc45327c4 (patch)
tree63c1d5bd4e62d60a2c4d34b3ed54aeb9c6438ee8
parentb052d533cc6ec260c6413e8e0e250fd88021f60b (diff)
downloadboaspraticas-9c70507ce73635da4d0de31605344b9bc45327c4.tar.gz
boaspraticas-9c70507ce73635da4d0de31605344b9bc45327c4.tar.bz2
Mais screencasts
-rw-r--r--aulas/ambientes.rst143
-rw-r--r--aulas/licencas.rst1
-rw-r--r--aulas/reinventando.rst6
-rw-r--r--aulas/seguranca.rst17
-rw-r--r--aulas/versionamento.rst12
5 files changed, 158 insertions, 21 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!
diff --git a/aulas/licencas.rst b/aulas/licencas.rst
index d56b8af..61de438 100644
--- a/aulas/licencas.rst
+++ b/aulas/licencas.rst
@@ -132,6 +132,7 @@ Roteiro do screencast:
::
+ cd ~/projetos/blogatico
wget https://www.gnu.org/licenses/gpl.txt -O LICENSE.txt
3.6 Atividades
diff --git a/aulas/reinventando.rst b/aulas/reinventando.rst
index d27f40c..16086d4 100644
--- a/aulas/reinventando.rst
+++ b/aulas/reinventando.rst
@@ -23,3 +23,9 @@ Hora de converter nosso projeto blogático para uma plataforma com mais funciona
6.5 - Documentação: lendo e escrevendo
--------------------------------------
+
+Roteiro do screencast:
+
+::
+
+ sudo apt-get install ttyrec
diff --git a/aulas/seguranca.rst b/aulas/seguranca.rst
index 103b25b..cce1689 100644
--- a/aulas/seguranca.rst
+++ b/aulas/seguranca.rst
@@ -13,6 +13,23 @@
6.3 - Princípio das permissões mínimas
--------------------------------------
+* Permissões de arquivos são propriedades no sistema de arquivo! Elas não são necessariamente preservadas com a cópia de arquivos entre sistemas!
+
+Roteiro do screencast:
+
+::
+
+ # Vendo as permissões e a posse de arquivos e pastas
+ ls -l projetos
+
+ # Mudando as permissões de um arquivo
+ touch cofrinho
+ chmod 000 cofrinho
+ chmod 600 cofrinho
+
+ # Mudando a posse de arquivos e pastas
+ chown
+
6.4 - Criptografia básica
-------------------------
diff --git a/aulas/versionamento.rst b/aulas/versionamento.rst
index a2324a1..63b18b2 100644
--- a/aulas/versionamento.rst
+++ b/aulas/versionamento.rst
@@ -77,9 +77,8 @@ Roteiro do screencast:
::
- cd ~/projetos/blogatico
- git config --global user.name "Seu Nome"
- git config --global user.email "seu@email"
+ git config --global user.name "Seu Nome"
+ git config --global user.email "seu@email"
4.3 - Repositórios
~~~~~~~~~~~~~~~~~~
@@ -108,7 +107,7 @@ Roteiro do screencast:
::
- gedit README.md # edite seu arquivo
+ gedit README.md # edite seu arquivo
git status
git add README.md # em seguida edite mais um pouco
git status
@@ -145,6 +144,7 @@ Roteiro do screencast:
::
+ cd ~/projetos/blogatico
git log
git cola
gitk
@@ -178,6 +178,7 @@ Roteiro do screencast:
::
+ cd ~/projetos/blogatico
git branch develop
git checkout develop
git commit
@@ -200,6 +201,7 @@ Roteiro do screencast:
::
+ cd ~/projetos/blogatico
git flow init
git flow feature start doc
@@ -215,6 +217,7 @@ Roteiro do screencast:
::
# No repositorio
+ cd ~/projetos/blogatico
git submodule add https://github.com/dhg/Skeleton skeleton
git commit -a -m "Adiciona skeleton"
@@ -246,6 +249,7 @@ Roteiro do screencast:
#. Instale o git.
#. Crie uma conta do `Github <https://github.com>`_ ou no `Gitlab <https://gitlab.com>`_.
#. Faça um pequeno site com o Skeleton.
+#. Bônus: git log to ChangeLog!
Referências
-----------