aboutsummaryrefslogtreecommitdiff
path: root/aulas
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2015-11-05 14:01:52 -0200
committerSilvio Rhatto <rhatto@riseup.net>2015-11-05 14:01:52 -0200
commit2507491140852b91c560577bdac4d35c1cd95523 (patch)
tree7f873e232dc6b9a21e01858d0e74ea9c83a961a3 /aulas
parent4a4815ac85d84d5bf013c8c9a67dc557f6e1f8e9 (diff)
downloadboaspraticas-2507491140852b91c560577bdac4d35c1cd95523.tar.gz
boaspraticas-2507491140852b91c560577bdac4d35c1cd95523.tar.bz2
Atualização geral
Diffstat (limited to 'aulas')
-rw-r--r--aulas/ambientes.rst27
-rw-r--r--aulas/clientes.rst11
-rw-r--r--aulas/devops.rst8
-rw-r--r--aulas/encerramento.rst30
-rw-r--r--aulas/licencas.rst50
-rw-r--r--aulas/metodologias.rst10
-rw-r--r--aulas/reinventando.rst9
-rw-r--r--aulas/seguranca.rst21
-rw-r--r--aulas/versionamento.rst38
9 files changed, 184 insertions, 20 deletions
diff --git a/aulas/ambientes.rst b/aulas/ambientes.rst
index 7a0787c..7a751db 100644
--- a/aulas/ambientes.rst
+++ b/aulas/ambientes.rst
@@ -5,15 +5,18 @@
- Porém, o conteúdo do curso pode ser facilmente adaptado para outros sistemas.
- Se você usa Windows ou MacOSX para desenvolvimento e quiser seguir normalmente o curso, recomendamos a criação de uma máquina virtual em GNU/Linux usando o Vagrant de acordo com a aula de `DevOps <devops.html>`_.
-Ambiente básico
----------------
+2.1 - Ambiente básico e a guerra dos editores de texto
+------------------------------------------------------
+
+2.1 - Ambiente básico
+~~~~~~~~~~~~~~~~~~~~~
- Editor de texto ou IDE: produz código.
- Emulador de terminal: execução de tarefas.
- Navegador web: ambiente de teste.
-Editores
---------
+2.1 - Editores
+~~~~~~~~~~~~~~
- Vantagens dos IDEs (NetBeans, Eclipse, Aptana, etc):
- Ambiente de desenvolvimento integrado.
@@ -21,18 +24,28 @@ Editores
- Simplicidade.
- Performance.
-Fluxo de trabalho
------------------
+2.2 - Emulador de terminal
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+2.3 - Fluxo de trabalho
+~~~~~~~~~~~~~~~~~~~~~~~
- Diário de bordo: de um arquivo de texto a um blog sobre desenvolvimento.
- Organização de pastas.
- Backups.
+
+2.4 - Scripts e templates
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
- Scripts de produtividade.
+- Templates de desenvolvimento.
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!
+#. 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!
+
+#. Crie uma pasta para o seu projeto.
Referências
-----------
diff --git a/aulas/clientes.rst b/aulas/clientes.rst
index 22dbb7f..bb3b398 100644
--- a/aulas/clientes.rst
+++ b/aulas/clientes.rst
@@ -1,2 +1,13 @@
8. Lidando com os clientes
==========================
+
+6.1 - Como fazer / Apresentar uma proposta comercial para um cliente?
+---------------------------------------------------------------------
+
+6.2 - Items essenciais de uma proposta
+--------------------------------------
+
+6.3 - Como cobrar
+-----------------
+
+- Por hora ou por projeto?
diff --git a/aulas/devops.rst b/aulas/devops.rst
index 947feed..559251f 100644
--- a/aulas/devops.rst
+++ b/aulas/devops.rst
@@ -3,18 +3,18 @@
- Vagrant, docker, KVM e afins.
- Ambientes reprodutíveis.
+- Integração contínua usando o `Travis CI <http://travis-ci.org/>`_.
- Fazendo o deploy:
- CLI básico (copiar, mover, apagar e permissões).
- SSH e rsync.
- Deploy via git.
-- Integração contínua usando o `Travis CI <http://travis-ci.org/>`_.
Atividades
----------
-- Instale o vagrant.
-- Crie uma máquina virtual para desenvolver o seu projeto.
-- Crie uma conta no Travis CI.
+#. Instale o vagrant.
+#. Crie uma máquina virtual para desenvolver o seu projeto.
+#. Crie uma conta no Travis CI.
Referências
-----------
diff --git a/aulas/encerramento.rst b/aulas/encerramento.rst
index 15b58e3..ca1124f 100644
--- a/aulas/encerramento.rst
+++ b/aulas/encerramento.rst
@@ -1,2 +1,32 @@
9. Encerramento
===============
+
+9.1 - Metodologias e técnicas de produtividade
+----------------------------------------------
+
+9.2 - Ambientes de desenvolvimento eficientes
+---------------------------------------------
+
+9.3 - Licenças de software
+--------------------------
+
+9.4 - Controle de versão e social coding
+----------------------------------------
+
+9.5 - DevOps: desenvolvendo e orquestrando
+------------------------------------------
+
+9.6 - Segurança e privacidade
+-----------------------------
+
+9.7 - Quando (não) reinventar a roda
+------------------------------------
+
+9.8 - Lidando com os clientes
+-----------------------------
+
+9.9 - Seguindo adiante
+----------------------
+
+* Sempre haverá novos métodos para eliminar as dificuldades acidentais na programação.
+* Não existem verdades absolutas, mas sim um caminho para reavaliações e autoconhecimento.
diff --git a/aulas/licencas.rst b/aulas/licencas.rst
index f0f35b2..98a0195 100644
--- a/aulas/licencas.rst
+++ b/aulas/licencas.rst
@@ -1,8 +1,54 @@
3. Licenciamento
================
+3.1 - O que é e por quê licenciar?
+----------------------------------
+
+* Propriedade intelectual: marcas, patentes, direito autoral.
+* Licença padrão e automática: copyright.
+* No Brasil: `Lei 9610/98 <http://www.planalto.gov.br/ccivil_03/leis/L9610.htm>`_.
+
+3.2 - Licenças básicas
+----------------------
+
+3.2 - Domínio Público
+~~~~~~~~~~~~~~~~~~~~~
+
+- Obras sem direitos autorais.
+- Existe direito moral (autores/as podem reinvindicar a autoria).
+
+3.2 - New BSD
+~~~~~~~~~~~~~
+
+3.2 - MIT
+~~~~~~~~~
+
+3.3 - GNU GPL
+-------------
+
+Quatro liberdades do software livre:
+
+- 0. Rodar.
+- 1. Estudar.
+- 2. Redistribuir.
+- 3. Melhorar.
+
+* Exemplo: `licença desta documentação </LICENSE.html>`_.
+
+3.4 - Creative Commons
+----------------------
+
+3.5 - Outras licenças
+---------------------
+
+3.5 - Apache
+~~~~~~~~~~~~
+
+3.5 - Mozilla
+~~~~~~~~~~~~~
+
Atividades
----------
-- Escolha uma licença para o seu projeto.
-- Entre no gerador de licenças do CreativeCommons e gere uma licença. Guarde o código de embarcação da mesma para inseri-la no seu projeto.
+#. Escolha uma licença para o seu projeto.
+#. Entre no gerador de licenças do CreativeCommons e gere uma licença. Guarde o código de embarcação da mesma para inseri-la no seu projeto.
diff --git a/aulas/metodologias.rst b/aulas/metodologias.rst
index 424e1bf..65a7895 100644
--- a/aulas/metodologias.rst
+++ b/aulas/metodologias.rst
@@ -1,8 +1,8 @@
1. Metodologias e técnicas de produtividade
===========================================
-1.1 - Apresentação
-------------------
+1.1 - O que são boas práticas em desenvolvimento?
+-------------------------------------------------
1.1 - Apresentação do professor e do curso
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -114,7 +114,9 @@ Queremos:
Atividades
----------
-- Adote a técnica Pomodoro numa tarefa grande e importante do seu dia. Você pode usar qualquer cronômetro disponível -- do seu computador, do telefone, do relógio de pulso ou mesmo um timer de cozinha. Permaneça apenas realizando a tarefa importante em cada bloco de 25 minutos. Avalie a eficácia do método: ele te ajudou?
+#. Adote a técnica Pomodoro numa tarefa grande e importante do seu dia. Você pode usar qualquer cronômetro disponível -- do seu computador, do telefone, do relógio de pulso ou mesmo um timer de cozinha. Permaneça apenas realizando a tarefa importante em cada bloco de 25 minutos. Avalie a eficácia do método: ele te ajudou?
+
+#. Para este curso, definimos o nosso projeto de exemplo como sendo um website bem simples. Você pode fazer o mesmo ou então escolher qualquer projeto que queira fazer usando qualquer linguagem de programação e adaptar as atividades propostas nas aulas seguintes de acordo com o seu caso. Sugerimos apenas que você escolhe um nome para o seu projeto, mesmo que temporário! Mas lembre-se: nomes tem poder! :)
Referências
-----------
@@ -130,7 +132,7 @@ Referências
- `Técnica pomodoro – Wikipédia, a enciclopédia livre <https://pt.wikipedia.org/wiki/T%C3%A9cnica_pomodoro>`_.
- `Zen to Done - ZTD - Lucas Teixeira <http://lucasteixeira.com/ztd/>`_.
- `Zen To Done (ZTD): The Simple Productivity System : zen habits <http://zenhabits.net/zen-to-done-ztd-the-ultimate-simple-productivity-system/>`_.
-- `Time management - Wikipedia, the free encyclopedia <https://en.wikipedia.org/wiki/Time_management`_.
+- `Time management - Wikipedia, the free encyclopedia <https://en.wikipedia.org/wiki/Time_management>`_.
- `Princípios por trás do Manifesto Ágil <http://www.agilemanifesto.org/iso/ptbr/principles.html>`_.
- `Manifesto para o desenvolvimento ágil de software <http://www.manifestoagil.com.br/>`_.
- https://www.mountaingoatsoftware.com/blog/differences-between-scrum-and-extreme-programming
diff --git a/aulas/reinventando.rst b/aulas/reinventando.rst
index 0f13e13..25f05fb 100644
--- a/aulas/reinventando.rst
+++ b/aulas/reinventando.rst
@@ -1,2 +1,11 @@
7. Quando (não) reinventar a roda
=================================
+
+6.1 - Antipatterns
+------------------
+
+6.2 - Inferno de dependências
+-----------------------------
+
+6.3 - Documentação: lendo e escrevendo
+--------------------------------------
diff --git a/aulas/seguranca.rst b/aulas/seguranca.rst
index 55d1483..787c9f0 100644
--- a/aulas/seguranca.rst
+++ b/aulas/seguranca.rst
@@ -1,2 +1,23 @@
6. Segurança e privacidade
==========================
+
+6.1 - Segurança começa no desenvolvimento
+-----------------------------------------
+
+* Criptografia é só uma parte das práticas seguras.
+* Testes de penetração: inverta os papéis: e se você fosse o/a atacante?
+
+6.2 - Use bibliotecas consolidadas!
+-----------------------------------
+
+6.3 - Princípio das permissões mínimas
+--------------------------------------
+
+6.4 - Criptografia básica
+-------------------------
+
+* Assinaturas digitais.
+* Comunicação cifrada.
+
+6.5 - Certificados x509 para SSL/TLS/HTTPS
+------------------------------------------
diff --git a/aulas/versionamento.rst b/aulas/versionamento.rst
index 61cb10e..1e3e075 100644
--- a/aulas/versionamento.rst
+++ b/aulas/versionamento.rst
@@ -1,12 +1,44 @@
4. Controle de versão e social coding
=====================================
+4.1 - O que é? Pra que serve?
+-----------------------------
+
+* Versionando desde o dia 0.
+
+4.2 - Quais sistemas existem?
+-----------------------------
+
+4.3 - Git: introdução
+---------------------
+
+4.4 - Git: navegando no histórico
+---------------------------------
+
+4.5 - Git: ramificações (branches)
+----------------------------------
+
+4.6 - Usando o git-flow
+-----------------------
+
+4.7 - Social coding (gitlab, github, etc)
+-----------------------------------------
+
+4.8 - Github: criando e forkando um projeto
+-------------------------------------------
+
+4.9 - Github: fazendo um pull request
+-------------------------------------
+
+4.10 - Github: sistema de tickets
+---------------------------------
+
Atividades
----------
-- Instale o git.
-- Crie uma conta do `Github <https://github.com>`_ e uma no `Gitlab <https://gitlab.com>`_.
-- Faça um pequeno site com o Skeleton.
+#. Instale o git.
+#. Crie uma conta do `Github <https://github.com>`_ e uma no `Gitlab <https://gitlab.com>`_.
+#. Faça um pequeno site com o Skeleton.
Referências
-----------