From 2507491140852b91c560577bdac4d35c1cd95523 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Thu, 5 Nov 2015 14:01:52 -0200 Subject: Atualização geral MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aulas/ambientes.rst | 27 +++++++++++++++++++------- aulas/clientes.rst | 11 +++++++++++ aulas/devops.rst | 8 ++++---- aulas/encerramento.rst | 30 +++++++++++++++++++++++++++++ aulas/licencas.rst | 50 +++++++++++++++++++++++++++++++++++++++++++++++-- aulas/metodologias.rst | 10 ++++++---- aulas/reinventando.rst | 9 +++++++++ aulas/seguranca.rst | 21 +++++++++++++++++++++ aulas/versionamento.rst | 38 ++++++++++++++++++++++++++++++++++--- 9 files changed, 184 insertions(+), 20 deletions(-) (limited to 'aulas') 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 `_. -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 `_. - 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 `_. 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 `_. + +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 `_. + +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 `_. - `Zen to Done - ZTD - Lucas Teixeira `_. - `Zen To Done (ZTD): The Simple Productivity System : zen habits `_. -- `Time management - Wikipedia, the free encyclopedia `_. - `Princípios por trás do Manifesto Ágil `_. - `Manifesto para o desenvolvimento ágil de software `_. - 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 `_ e uma no `Gitlab `_. -- Faça um pequeno site com o Skeleton. +#. Instale o git. +#. Crie uma conta do `Github `_ e uma no `Gitlab `_. +#. Faça um pequeno site com o Skeleton. Referências ----------- -- cgit v1.2.3