From 7570d940537891cb398f51cfc7bce0d1b5e36e9e Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Mon, 16 Nov 2015 14:49:03 -0200 Subject: Adiciona imagens e template de ikiwiki --- aulas/ambientes.rst | 10 +++++----- aulas/clientes.rst | 25 ++++++++++++++----------- aulas/encerramento.rst | 10 +++++----- aulas/reinventando.rst | 27 +++++++++++++++++++++------ aulas/seguranca.rst | 4 ++-- aulas/versionamento.rst | 6 +++--- 6 files changed, 50 insertions(+), 32 deletions(-) (limited to 'aulas') diff --git a/aulas/ambientes.rst b/aulas/ambientes.rst index d9b8629..8755967 100644 --- a/aulas/ambientes.rst +++ b/aulas/ambientes.rst @@ -175,7 +175,7 @@ Roteiro do screencast: 2.3 - Arquivos básicos ~~~~~~~~~~~~~~~~~~~~~~ -* README: em Markdown (.md), reStructuredText (.rst), texto simples (.txt), etc. +* README: em Markdown (.md ou .mdwn), 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). @@ -185,8 +185,8 @@ Roteiro do screencast: # Criando a estrutura básica do seu projeto cd ~/projetos/blogatico - touch README.md ChangeLog TODO.md - gedit README.md + touch README.mdwn ChangeLog TODO.mdwn + gedit README.mdwn 2.3 - Markdown e texto estruturado ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -207,7 +207,7 @@ Roteiro do screncast: :: - gedit TODO.md + gedit TODO.mdwn Imagens: @@ -247,7 +247,7 @@ Roteiro do screencast: # Criando o conteúdo inicial mkdir www cd www - touch index.md + touch index.mdwn # Testando! ../bin/build diff --git a/aulas/clientes.rst b/aulas/clientes.rst index ccf7416..01f69ae 100644 --- a/aulas/clientes.rst +++ b/aulas/clientes.rst @@ -4,7 +4,7 @@ 8.1 - Fazendo e apresentando uma proposta comercial --------------------------------------------------- -8.1 - Items essenciais de uma proposta +8.1 - Itens essenciais de uma proposta ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Descrição das necessidades do cliente. @@ -27,13 +27,16 @@ * A forma e o teor da proposta que dirão se o preço que você pede faz sentido. 8.2 - Estimando o trabalho necessário -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------- * É uma ciência inerentemente inexata. * A experiência do(a) desenvolvedor(a) é fundamental para ganhar intuição. É justamente da sua experiência passada de uso de tempo que você consegue estimar melhor o tempo de cada tarefa. * Programadores(as) em geral são otimistas nas estimativas. Considere sempre um tempo a mais não-alocado para o inesperado. -8.2 - Como cobrar +8.3 - Como e quanto cobrar +-------------------------- + +8.3 - Como cobrar ~~~~~~~~~~~~~~~~~ Por hora corrida ou por projeto? @@ -41,42 +44,42 @@ Por hora corrida ou por projeto? * Por hora corrida: melhor para projetos cujo escopo é pouco definido. * Por projeto: só recomendo cobrar um valor fixo pelo projeto quando o escopo tiver alguma definição, do contrário você pode ser levado a trabalhar muito mais do que o imaginado e a qualidade do seu trabalho tenderá a ser mais baixa, criando uma espiral de problemas. -8.2 - Quanto cobrar +8.3 - Quanto cobrar ~~~~~~~~~~~~~~~~~~~ * Calcule o valor/hora dos seus honorários. * Apresente para o cliente uma tabela com cada tarefa ou grupo de tarefas (design, implementação, controle de qualidade, documentação, etc) com o tempo estimado e o valor da etapa com base no seu valor/hora. Isso facilita muito a negociação e é uma forma de manter um canal aberto de diálogo com o cliente. -8.3 - Quebrando o mercado +8.4 - Quebrando o mercado ------------------------- -8.3 - Competição +8.4 - Competição ~~~~~~~~~~~~~~~~ -A competição no mercado pode forçar a redução do valor/hora. Porém, a redução do preço vem dos seguintes fatores: +A competição no mercado pode forçar a redução do valor cobrado. Porém, a redução do preço vem dos seguintes fatores: * Redução da qualidade: a concorrência pode apresentar uma proposta mais barata que sua, mas você sabe que o produto entregue será muito pior. Certifique-se de indicar na sua proposta o nível de qualidade e manutenção futuras necessárias no seu produto. * Redução de funcionalidade: a concorrência oferece uma proposta mais simples. Isso pode ser mitigado também com o detalhamento da sua solução proposta: crie uma proposta modular: produto básico, intermediário ou avançado, agrupando funcionalidades prioritárias, não-prioritárias e opcionais, com a opção dos módulos serem construídos de forma incremental. * Aumento de eficiência: a concorrência consegue oferecer uma proposta equivalente à sua mas precisa de muito menos horas técnicas para concluí-la. -8.3 - Cooperação +8.4 - Cooperação ~~~~~~~~~~~~~~~~ * Associações de profissionais de uma mesma área são iniciativas que ajudam a diminuir a concorrência desleal. * Instituem de tabelas de preços e faixas salarias de referência. * Faixas comuns: júnior, pleno e sênior. -8.4 - Formalizando sua relação +8.5 - Formalizando sua relação ------------------------------ * MEI: até R$60 mil por ano e apenas R$50 mensais de despesas (dados de 2015). * Simples Nacional: sua empresa cresceu! * CLT e CLT Flex: preferível quando você tiver uma relação estável com um empregador, porém depende do cliente oferecer essa opção. -8.5 - Atividades +8.6 - Atividades ---------------- -8.6 - Referências +8.7 - Referências ----------------- * `Portal do Empreendedor `_. diff --git a/aulas/encerramento.rst b/aulas/encerramento.rst index 7218703..2dd1e75 100644 --- a/aulas/encerramento.rst +++ b/aulas/encerramento.rst @@ -4,19 +4,19 @@ 9.1 - Metodologias e técnicas de produtividade ---------------------------------------------- -* Organização para fluidez. +* Organização almeja fluidez. * Busque uma metodologia pessoal. * Saiba se adaptar a diversas metodologias em equipe. -9.2 - Ambientes de desenvolvimento eficientes ---------------------------------------------- +9.2 - Ambientes de desenvolvimento +---------------------------------- * Deixe seu ambiente de desenvolvimento afinado com o seu trabalho. * Descubra quais são as ferramentas fundamentais para você. * Mantenha templates e scripts de produtividade para facilitar a prototipagem de novos projetos e a execução de tarefas cotidianas. -9.3 - Licenças de software --------------------------- +9.3 - Licenciamento de software +------------------------------- * Qualquer conteúdo é protegido por copyright por padrão. * Licenças de software livre e aberto abrandam o copyright, aproximando seu software do copyleft. diff --git a/aulas/reinventando.rst b/aulas/reinventando.rst index c599aaf..8bb2b3f 100644 --- a/aulas/reinventando.rst +++ b/aulas/reinventando.rst @@ -1,7 +1,7 @@ 7. Quando (não) reinventar a roda ================================= -6.1 - Patterns +7.1 - Patterns -------------- * Separando código de dados, sobretudo dados sigilosos! @@ -11,28 +11,43 @@ * Que fazem uma coisa bem. * E que podem ser facilmente combinados. -6.2 - Antipatterns +7.2 - Antipatterns ------------------ * Hype: cuidado com o ciclo dos modismos! * Linearidade: o mito da pessoa-mês (Lei de Brooks). -* Inferno de dependências +* Inferno de dependências. +* Bitrot: decaimento natural do código! -6.4 - Inventando, reinventando e desinventando +7.3 - Inventando, reinventando e desinventando ---------------------------------------------- Hora de converter nosso projeto blogático para uma plataforma com mais funcionalidades! -6.5 - Documentação: lendo e escrevendo +Roteiro do screencast: + +:: + + cd ~/projetos/blogatico + cp -r ../boaspraticas/_templates/ikiwiki/* . + make + +7.4 - Documentação: lendo e escrevendo -------------------------------------- +* Quanto mais próxima a documentação está do código, mais difícil dela se desatualizar. +* Docblocs / heredocs. + Roteiro do screencast: :: sudo apt-get install ttyrec -6.7 - Referências +7.5 - Atividades +---------------- + +7.6 - Referências ----------------- * `Versionamento Semântico 2.0.0 `_. diff --git a/aulas/seguranca.rst b/aulas/seguranca.rst index 2872035..fa78651 100644 --- a/aulas/seguranca.rst +++ b/aulas/seguranca.rst @@ -7,7 +7,7 @@ * Criptografia é só uma parte das práticas seguras. * Modelagem de ameaças e testes de penetração: inverta os papéis: e se você fosse o/a atacante? * A dificuldade de se encontrar vulnerabilidades. -* Segurança por isolamento. +* Segurança por isolamento ajuda, mas botar a aplicação dentro de um cordão sanitário protege mais o ambiente de hospedagem do que a aplicação. 6.2 - Use bibliotecas criptográficas consolidadas! -------------------------------------------------- @@ -20,7 +20,7 @@ 6.3 - Princípio das permissões mínimas -------------------------------------- -* Exemplo básico. +* Comece o desenvolvimento com o mínimo de permissões necessárias para a sua aplicação e libere o acesso conforme necessário. * 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! diff --git a/aulas/versionamento.rst b/aulas/versionamento.rst index 2dce464..c0592f4 100644 --- a/aulas/versionamento.rst +++ b/aulas/versionamento.rst @@ -109,13 +109,13 @@ Roteiro do screencast: cd ~/projetos/blogatico git status - git add README.md + git add README.mdwn git status - gedit README.md + gedit README.mdwn git status git diff git commit -m "Primeira revisão" - git add README.md # mudanças recentes adicionadas ao estágio de lançamento + git add README.mdwn # mudanças recentes adicionadas ao estágio de lançamento git commit -m "Segunda revisão" git add . git commit -m "Adiciona demais arquivos" # coloca todas as mudanças no estágio e comete -- cgit v1.2.3