Archive for outubro \05\+00:00 2009

Dojo 006 – Microsystem!

outubro 5, 2009

Nós conseguimos fazer um microsystem! Ele tem a função de tocar uma música, passar para frente, para trás, parar e carregar uma lista de músicas!

Data: 03/10/2009.

Presentes: Cairo Noleto, Cleiton Francisco, Dmitry Rocha, Ewerton Costa, Ricardo Farias e o “Jeová” (Esqueci o nome, é algo parecido com isso :P).

UPDATE: O nome é Joval 🙂

Estavam lá também presentes o prof. Fábio Gomes e a Mônica, mas eles não participaram, apenas estavam por lá.

Linguagem: Ruby.

Problema: Music Player.

Estávamos sem um problema para resolver, mas o Cleiton chegou com o music player para fazermos.

Após um pouco de explicação nós começamos a codificar.

Solução: Está no github.

Tínhamos várias classes para fazer, fizemos duas, faltou várias funcionalidades, mas mais uma vez terminamos o Coding Dojo com o problema resolvido(ou pelo menos parte dele).

Retrospectiva:

Nós fizemos no IF-PI. Pela empolgação e motivação da galera na lista, eu achei que ia bombar, que ia ter cerca de 20 pessoas, cheio de gente, várias rodadas. NADA, só foi especulação, mais uma vez frustrado!

Nós discutimos sobre, mesmo mudando de data, a pouca presença das pessoas. O prof. Fábio deu a idéia de que poderíamos fazer um Coding Dojo especial uma vez ao mês, onde poderia ser no IF-PI.

Eu já tinha pensado em fazer um “Dojo itinerante” e ir em faculdaes/empresas divulgando a importância do Coding Dojo.

Outra coisa que o Fábio falou foi sobre falar mais das vantagens/desvantagens da prática do Coding Dojo, explanar mais sobre TDD/BDD, programação em par e esse tipo de coisa.

Por conta da pouca presença das pessoas, ainda usaremos nos próximos Dojos Ruby, queríamos conversar com todos sobre o uso de Java e tal, mas como não tinha javeiro em peso, rubistas ganham!

Sobre o Coding Dojo nós chegamos aos pontos:

Positivos:

  • Problema Simples e do conhecimento de todos
  • Projetor
  • Ambiente
  • Novo participante
  • Bom inicio

Negativos:

  • Precisa de mais participantes
  • Mais incentivo
  • Mais divulgação sobre as vantagens
  • Participação do Ricardo e do Dmitry
  • Lanche
  • Máquina fotográfica

Sobre a máquina, eu realmente esqueci, tanto a máquina, como tirar as fotos do celular, o que resultou em algumas fotos no final!

Mas eu só vou colocar uma, nosso amigo Dmitry Rocha, o mais novo dono e proprietário de um MacBook, quis se mostrar um cara bastante inteligente quando resolveu pegar seu macbook e fazer pose para uma foto. Ele se enganou quando eu percebi que seu lindo macbook nem estava ligado, resultado:

Cleiton, Dmitry e os MacBooks

Cleiton, Dmitry e os MacBooks

O que é Coding Dojo?

outubro 1, 2009

Algumas pessoas entraram na lista do Coding Dojo Piauí e perguntaram o que é Coding Dojo, como funciona, aonde está sendo realizado e quando.

Dessas perguntas, duas delas não tem uma resposta definitiva. Atualmente estamos realizando o Coding Dojo no Jus Navigandi, ficaremos por lá enquanto o espaço permitir. E estava sendo realizado todas as quarta feiras, mas notamos uma grande evasão, então estamos reencontrando um dia melhor para realizar o Coding Dojo.

O Coding Dojo é uma espécie de treinamento prático de desenvolvimento. Ele é fundamentado nas técnicas Ágeis de desenvolvimento de software. É uma atividade realizada em grupo, de no mínimo duas pessoas.

Para realizar o Coding Dojo é necessário apenas algumas coisas básicas:

  • Um computador
  • Um projetor (Nós utilizamos um segundo monitor)
  • Duas cadeiras
  • Duas pessoas

O Coding Dojo funciona da seguinte forma: É escolhido um problema que deve ser levado a cada Coding Dojo (No nosso caso, nós discutimos os problemas na lista, para não perder muito tempo), a maioria dos participantes deve saber uma linguagem de programação e conhecer um framework de testes nessa linguagem (A linguagem não deve ser restritiva, não podemos impedir que um problema seja resolvido por causa da linguagem.).

Sobre a linguagem tem um ponto a mais a ser observado, nós preferimos Ruby porquê é uma linguagem fácil de se aprender. Mas nem por isso vamos fazer todos os Coding Dojos em Ruby. Queremos começar a fazer em Java usando JUnit, mas queremos que mais linguagens entre no Coding Dojo (Python, C, Erlang, Closure, Haskell, PHP, <coloque uma linguagem aqui>).

Sobre as regras do Coding Dojo são simples:

  • Dois programadores, 1 piloto e 1 co-piloto.
  • A cada 7 minutos o piloto sai, o co-piloto assume e entra um novo co-piloto da platéia.
  • Enquanto os testes não estão passando, a platéia só pode fazer perguntas (Que não devem ser tendenciosas).
  • Quando os testes estão passando, então discutimos um pouco sobre o andamento do código.
  • Ao final é necessário a retrospectiva.

A retrospectiva serve para melhorarmos os próximos Coding Dojo, considerada a atividade mais importante, já que é aqui que vamos colher o feedback.

E um ponto importante que o Ewerton lembrou na lista é a comunicação, sem ela o dojo falhará! Assim como vários e vários projetos de softwares sem comunicação.

Dojo PHB 004 – Jogo da Velha – continuação

outubro 1, 2009

dojophb004a

Data: 25/09/2009

Presentes: 11 pessoas – Daniel Kohler Oliveira, Antonio José Costa do Nascimento, Roniere da Silva Sousa, Evaldo Sávio Silva Araújo da Costa, Ariel Soares Teles, Nécio de Lima Veras, Mábio Alves Coelho, Regis Pires Magalhães, Francisco Gerson Amorim de Meneses, Luan Machado Pontes e Alan Sousa Santos.

Linguagem: Java

Problema: Jogo da Velha (continuação do Dojo passado)

Solução: atualizada no GitHub.

Resumo:

Na sexta-feira (dia 25/09/2009) demos continuidade ao nosso jogo da velha.

Dessa vez resolvemos validar algumas situações e implementar algumas funcionalidades relacionadas à jogabilidade.

O resumo dos requisitos é esse:

  • Tamanho do tabuleiro (3×3)
  • Preenchimento
    • Não permitir preenchimento em posição já preenchida (ok)
    • Não permitir preenchimento de valores inválidos (diferente de O ou X) (ok)
    • Não permitir preenchimento em posições inválidas (ok)
    • Preencher todo o tabuleiro (ok)
    • Garantir a alternância de valores de preenchimento (to do)
    • Criar histórico de jogadas (to do)
  • Jogo
    • Checar fim de jogo
      • Checar tabuleiro cheio (ok)
      • Checar vencedor (to do)
    • Checar vencedor (nem sempre há um) (to do)
    • Sugestão de lance (to do)
    • Checar perigo (iminência de término de jogo) (to do)

Como vemos, há muito a fazer (To Do). E como o problema está muito interessante, resolvemos continuá-lo no próximo DOJO.

As atualizações do código foram “comitadas” ao github.

Retrospectiva

Na retrospectiva, pontuamos o seguinte:

Foi bom:
– tempo bem aproveitado em codificação
– amadurecimento dos participantes em testes e no entendimento
dos requisitos
– aprofundar alguns aspectos do problema
– Novos participantes da platéia
– Melhor entrosamento dos pares
Pode melhorar:
– nem todos participaram devido ao tempo
– piloto e co-piloto devem falar para todos
– participação da platéia antes do verde
– lanche (já prometido para a próxima reunião – Mábio)

Foi bom

  • tempo bem aproveitado em codificação
  • amadurecimento dos participantes em testes e no entendimento dos requisitos
  • aprofundar alguns aspectos do problema
  • novos participantes da platéia
  • melhor entrosamento dos pares

Pode melhorar

  • nem todos participaram devido ao tempo
  • piloto e co-piloto poderiam falar para todos
  • participação da platéia antes do verde
  • lanche (já prometido para a próxima reunião pelo Mábio)
É isso. Continuamos na próxima sexta, dia 2 de outubro de 2009!!!…
dojophb004b