From bf5f80b9a219dbc47a975ccae00539bbb01f33e3 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sat, 31 Oct 2015 20:07:30 -0200 Subject: Versão inicial das aulas em markdown MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO.rst | 4 +-- aulas/ambientes.md | 20 ++++++++++++ aulas/devops.md | 18 +++++++++++ aulas/licencas.md | 0 aulas/metodologia.md | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++ aulas/versionamento.md | 5 +++ 6 files changed, 131 insertions(+), 3 deletions(-) create mode 100644 aulas/ambientes.md create mode 100644 aulas/devops.md create mode 100644 aulas/licencas.md create mode 100644 aulas/metodologia.md create mode 100644 aulas/versionamento.md diff --git a/TODO.rst b/TODO.rst index e37260c..83a4b85 100644 --- a/TODO.rst +++ b/TODO.rst @@ -1,6 +1,4 @@ TODO ==== -- Migrar para `sphinx `_. -- Gerar saídas em HTML e pdf. - +- Gerar saídas em pdf. diff --git a/aulas/ambientes.md b/aulas/ambientes.md new file mode 100644 index 0000000..184498b --- /dev/null +++ b/aulas/ambientes.md @@ -0,0 +1,20 @@ +Ambiente básico +--------------- + +* Editor de texto ou IDE: produz código. +* Emulador de terminal: execução de tarefas. +* Navegador web: ambiente de teste. + +Editores +-------- + +* Vantagens dos IDEs (NetBeans, Eclipse, Aptana, etc): + * Ambiente de desenvolvimento integrado. +* Vantagens dos editores de texto (Atom, Emacs, VIM, Notepad++, gedit etc): + * Simplicidade. + * Performance. + +Referências +----------- +* [Atom](https://atom.io/). +* [Lime Text Editor](http://limetext.org/). diff --git a/aulas/devops.md b/aulas/devops.md new file mode 100644 index 0000000..7ea4619 --- /dev/null +++ b/aulas/devops.md @@ -0,0 +1,18 @@ +DevOps: desenvolvendo e orquestrando +==================================== + +* 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. + +Referências +----------- + +* [Automatizando a instalação (deploy) e atualização de sites com Git - Thiago Belem / Blog](http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/). +* [Deploy estilo Heroku usando Git – Elton Minetto](http://eltonminetto.net/blog/2013/11/11/deploy-estilo-heroku-usando-git/). +* [Deploy fácil com git - Dan Jesus](https://danjesus.github.io/blog/deploy-facil-com-git/). +* [PuPHPet - Online GUI configurator for Puppet & Vagrant](https://puphpet.com/). diff --git a/aulas/licencas.md b/aulas/licencas.md new file mode 100644 index 0000000..e69de29 diff --git a/aulas/metodologia.md b/aulas/metodologia.md new file mode 100644 index 0000000..1f389d1 --- /dev/null +++ b/aulas/metodologia.md @@ -0,0 +1,87 @@ +1. Metodologias e técnicas de produtividade +=========================================== + +## 1.1 - Apresentação + +### 1.1 - Apresentação do professor e do curso + +* Silvio Rhatto, desenvolvedor autodidata. +* Curso dividido em aulas independentes umas das outras. +* O curso completo é acompanhado pelo desenvolvimento de uma pequena aplicação. + +### 1.1 - O que são boas práticas de desenvolvimento? + +* Trata-se de *organização* no trabalho para que ele flua. +* Não há um único caminho: existem inúmeras metodologias e técnicas. +* Vou ensinar as mais *simples* e que tendem a resistir ao tempo. +* Foco em Software Livre e Aberto (FOSS). +* Experimente diversas metodologias, técnicas e ferramentas e monte seu próprio kit. + +### 1.1 - Queremos / não queremos + +Queremos evitar: + +* Ansiedade. +* Procrastinação. +* Empacamento. +* Ruído. + +Queremos: + +* Simplicidade sem comprometer funcionalidade (KISS). +* Excelência (melhoria incremental) ao invés de perfeccionismo obssessivo. + +## 1.2 - Mitos e verdades do desenvolvimento + +* Linearidade: pessoa-mês (Lei de Brooks). +* Métricas: dificuldade de se estimar o tempo gasto. +* Deterioramento natural do software! + +## 1.3 - Metodologias pessoais + +## 1.3 - Metodologias pessoais - Básico + +* Evitar distrações. +* Uma tarefa por vez. +* Foco na missão. +* Fazer o essencial. + +### 1.3 - Metodologias pessoais - Pomodoro + +* É a técnica mais simples. +* Material: alarme e lista de tarefas. + +## 1.4 - Metodologias pessoais - Get Things Done (GTD) + +* GTD. +* ZTD. + +## 1.5 - Metodologias em equipe + +* A catedral e o bazar: Lei de Linus. +* Agile. +* Scrum. +* XP. +* Kanban. +* TDD. + +Começando um projeto +-------------------- + +* Brainstorm! O que é o projeto? +* Pesquisa do que já existe. + +Referências +----------- + +* [Best coding practices - Wikipedia, the free encyclopedia](https://en.wikipedia.org/wiki/Best_coding_practices). +* [Best practices for software development projects](http://www.ibm.com/developerworks/websphere/library/techarticles/0306_perks/perks2.html). +* [Boas práticas de engenharia de software | Guia da Startup e da Gestão de Produtos de Software](http://www.guiadastartup.com.br/boas-praticas-de-engenharia-de-software/). +* [Boas Práticas de Desenvolvimento – melhorando o seu dia-a-dia](http://blog.matheusbodo.com/boas-praticas-de-desenvolvimento-melhorando-o-seu-dia-a-dia/). +* [Melhores Práticas para Desenvolvimento de Sistemas e Software](http://www.ibm.com/developerworks/br/rational/library/systems-software-lifecycle-development/). +* [Arquitetura, padrões, projetos e boas práticas sobre desenvolvimento de software - georgemendonca](http://softwarelivre.org/georgemendonca/blog/arquitetura-padroes-projetos-e-boas-praticas-sobre-desenvolvimento-de-software). +* [HOME -The Pomodoro Technique®](http://pomodorotechnique.com/). +* [Técnica de Pomodoro: Melhorar a Produtividade | Freelancer e Produtividade](http://www.escolafreelancer.com/tecnica-de-pomodoro-melhorar-produtividade/) +* [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/). diff --git a/aulas/versionamento.md b/aulas/versionamento.md new file mode 100644 index 0000000..e01481c --- /dev/null +++ b/aulas/versionamento.md @@ -0,0 +1,5 @@ +Referências +----------- + +* [Skeleton: Responsive CSS Boilerplate](http://getskeleton.com/) +* [Versionamento Semântico 2.0.0](http://semver.org/lang/pt-BR/). -- cgit v1.2.3