sexta-feira, 15 de março de 2013

Quinto Coding-Dojo do DE508 do Serpro

Dojo DE508

Galera, Dia 22/02/2013, às 10:00 hs, foi realizado o Dojo, na sala 13, 1º Pavimento.

Foi utilizado Javascript + jQuery + Jasmine (biblioteca para testes)

Problema a ser resolvido

Jogo da Memória

- Especificação

- jogo da memória com 6 imagens

- tabuleiro começa vazio e a ordem das peças deve ser definida.

- ao clicar na carta a mesma é virada e exibida ao usuário, e seu sequencial deve ser armazenado

- no clique subsequente, se a imagem da carta for a mesma do elemento anterior, então as duas permanecem exibidas

- caso a imagem na segunda carta virada não coincida com a carta anterior, as duas são desviradas

- o jogo acaba quando todas as cartas estiverem viradas

- o usuário deve ser notificado de que o jogo finalizou

- ao encontrar um par, as cartas do par terão um efeito de realcce(highlight) como feedback para o usuário

Recomendações

- Prioridade para a parte lógica do jogo. Vamos implementar os requisitos através de Desenvolvimento Orientado a Testes, usando o framework jasmine

- Após a implementação da lógica faremos a finalização da interface com o usuário. E vamos seguir a mesma metodologia de Teste em primeiro lugar para essa etapa.

- Vamos trabalhar em pares, com piloto e co-piloto. A dupla deve verbalizar o trabalho executado.

- A audiência deve observar em silêncio e ajudar apenas quando solicitada pela dupla no comando.

Resultado do Dojo

jsFiddle

Código gerado no Dojo pode ser visto em http://jsfiddle.net/abner/KNguU/

Para executar basta clicar em Run

GitHub e Cloud9 IDE

Projeto no github: https://github.com/abner/jogocartas

Projeto numa IDE online (cloud 9 IDE): https://github.com/abner/jogocartas

  • SpecRunner.html executa os testes;
  • index.html tem o protótipo para a interface visual (queremos num outro dojo finalizar a interface visual do jogo)

Instruções para execução no No cloud9 ide:

  • abre o arquivo e clica em Preview

Participantes

Ábner Oliveira

Gustavo Lobo

Eduardo Tourinho

Rafael Mirando

Leandro Nunes

Leopoldo Silva

Avaliação

Pontos positivos:

Ambiente de desenvolvimento na web

Novas tecnologias

Adrenalizante

Pontos negativos:

Não chegamos a utilizar jQuery

Pouco tempo

quarta-feira, 5 de dezembro de 2012

Quarto Coding-Dojo do DE508 do Serpro

O que?

Quarto Coding-Dojo do DE508

Por que?

- Para experimentar e disseminar a técnica e as práticas relacionadas (TDD, Programação em Pares, Refatoração, Baby Steps...).

- E por que é divertido!!!

Quando?

05/12/2012, das 10:00 as 12:00h

Onde?

Serpro, Sala 13, Primeiro Andar

Como foi a agenda?


10' - Apresentação do Problema

60' - Programação em pares, rodízio a cada 5 minutos

15' - Retrospectiva

Quem participou?

Abner, Carol, Gustavo, Leopoldo, Rogério

Qual foi o desafio?

Conver Números Romanos:Realizar a conversão de números romanos em número decimal

Em qual linguagem?

Java, com JUnit e Eclipse

O que aprendemos?

Vai aí a transcrição dos post-its:

Pontos positivos :-)

- Problema Legal (2x)

- Quantidade de participantes

- Sala

- Ferramenta de Cobertura

- Quadro


Pontos de melhoria :-(

- Falta de Coffee-break(2x)

- Reflexo no Quadro

Teve slides?
Não Houve

E fotos?

Então, mostre-me o o código!
Veja aqui o código que conseguimos produzir.

sexta-feira, 30 de novembro de 2012

Terceiro Coding-Dojo do DE508 do Serpro


O que?

Terceiro Coding-Dojo do DE508

Por que?

- Para experimentar e disseminar a técnica e as práticas relacionadas (TDD, Programação em Pares, Refatoração, Baby Steps...).

- E por que é divertido!!!

Quando?

30/11/2012, das 10:00 as 12:00h

Onde?

Serpro, Sala 04, SubSolo

Como foi a agenda?

5' - Apresentação Coding Dojo

10' - Apresentação do Problema

80' - Programação em pares, rodízio a cada 5 minutos

15' - Retrospectiva

Quem participou?

André, Carol, Domingos, Eugênio, Felipe, Gustavo, Leopoldo, Marcelo, Maurício, Mona, Rogério, Sandro

Qual foi o desafio?

Conta de Bar: Calcular o valor total de uma conta de bar

Em qual linguagem?

Java, com JUnit, Eclipse e EasyMock.

O que aprendemos?

Vai aí a transcrição dos post-its:

Pontos positivos :-)

- Conceito com prática

- Presença de mulheres

- Novo conhecimento

- Integração

- Assunto Novo

- Quantidade de Gente

- Evolução na praica de testes

Pontos de melhoria :-(

- Quantidade de Gente

- Falta de controle na interferência da platéia

- Dispersão

- Sala

- Tempo

Teve slides?


Sim, para explicar os conceitos gerais sobre Coding-Dojo. Veja e ouça o SlideCast abaixo (o aúdio foi regravado, pois na hora ficou mais longo...) .

Coding Dojo em 5 Minutos

E fotos?

Então, mostre-me o o código!

Veja aqui o código que conseguimos produzir.

Segundo Coding-Dojo do DE508 do Serpro(2/2)



O que?

Segunda parte do Coding-Dojo #2 do DE508

Por que?

- Para experimentar e disseminar a técnica e as práticas relacionadas (TDD, Programação em Pares, Refatoração, Baby Steps...).

- E por que é divertido!!!

Quando?

23/11/2012, das 15:00 as 16:30h

Onde?

Serpro, Sala 13, Primeiro andar

Como foi a agenda?

75' - Programação em pares, rodízio a cada 5 minutos

15' - Retrospectiva

Quem participou?

Carolina, Domingos, Gustavo, Rogério

Qual foi o desafio?

Cálculo Estatístico Simples - Dada uma lista de números determinar: Valor Mínimo, Valor Máximo, Número de Elementos, Média, Mediana e desvio Padrão

Em qual linguagem?

Java, com JUnit, Eclipse.

O que aprendemos?

Vai aí a transcrição dos post-its:

Pontos positivos :-)

- Pouca Gente

Pontos de melhoria :-(

- Cálculo do Desvio Padrão muito complicado

- Não teve cofee break

Teve slides?

Não Houve

E fotos?

Não houve

Então, mostre-me o o código!

Veja aqui o código que conseguimos produzir.

Segundo Coding-Dojo do DE508 do Serpro(1/2)


O que?

Coding-Dojo #2 do DE508

Por que?

- Para experimentar e disseminar a técnica e as práticas relacionadas (TDD, Programação em Pares, Refatoração, Baby Steps...).

- E por que é divertido!!!

Quando?

14/11/2012, das 10:00 as 12:00h

Onde?

Serpro, Sala 13, Primeiro andar

Como foi a agenda?

5' - Visão geral sobre Dojo

10' - Apresentação do desafio

60' - Programação em pares, rodízio a cada 5 minutos

15' - Retrospectiva

Quem participou?

Anhamona, André Brito, Arílson, Carlos Henrique, Carlos Eugênio, Carolina, Domingos, Gustavo, Leopoldo, Luiz Felipe, Rogério

Qual foi o desafio?

Cálculo Estatístico Simples - Dada uma lista de números determinar: Valor Mínimo, Valor Máximo, Número de Elementos, Média, Mediana e desvio Padrão

Em qual linguagem?

Java, com JUnit, Eclipse.

O que aprendemos?

Vai aí a transcrição dos post-its:

Pontos positivos :-)

- Integração

- Novos Conecimentos

- Questionamentos sobre TDD

- Debate e trabalho em grupo

- Ajuda a internalizar novas idéias e paradigmas

- Tem que ter mais

- 2 horas de apropriação

Pontos de melhoria :-(

- Implementação complexa no início do Dojo

- Pouco tempo ou iterações

- Ainda não foi internalizado, acho que deve ser repetido

- Sugiro exemplos simples de algum sistema, como validação de CPF, CNPJ, NI, etc

- Exemplo real para mostrar como aplicar no dia a dia

Teve slides?

Sim, para explicar os conceitos gerais sobre Coding-Dojo. Segue o link

Coding Dojo em 5 Minutos

E fotos?

Não houve

Então, mostre-me o o código!

Veja aqui o código que conseguimos produzir.

Primeiro Coding-Dojo do DE508 do SERPRO



O que?

Coding-Dojo #1 do DE508

Por que?

- Para experimentar e disseminar a técnica e as práticas relacionadas (TDD, Programação em Pares, Refatoração, Baby Steps...).

- E por que é divertido!!!

Quando?

09/11/2012, das 10:00 as 12:00h

Onde?

Serpro, Sala 13, Primeiro andar

Como foi a agenda?

5' - Visão geral sobre Dojo
10' - Apresentação do desafio
60' - Programação em pares, rodízio a cada 5 minutos
15' - Retrospectiva

Quem participou?

Anhamona, André Brito, Arílson, Carlos Henrique, Carlos Eugênio, Carolina, Djalma, Domingos, Fábio, Gustavo, Leopoldo, Rogério

Qual foi o desafio?

Crivo de Eratóstenes. Um algoritmo que lista uma seqüência de números primos até um determinado valor N .

Em qual linguagem?

Java, com JUnit, Eclipse.

O que aprendemos?

Vai aí a transcrição dos post-its:

Pontos positivos :-)
- Integração da equipe
- Debate de Soluções
- Feedback sobre forma de codificar
- Participação de todos
- Clima bom da equipe
- Explicação do coding dojo
- Bastante válida
- Praticar TDD
- Terapia do riso pós GDES
- Trabalho colaborativo

Pontos de melhoria :-(
- Nada
- Tempo muito engessado
- Muito palpite da platéia
- Frio
- O algoritmo foi simples, não deu pra praticar muito o TDD. Uma pessoa chegou a implementar 3 testes que passaram com sucesso sem alterar o código.
- Vale repetir o tema

Teve slides?

Sim, para explicar os conceitos gerais sobre Coding-Dojo. Veja e ouça o SlideCast abaixo (o aúdio foi regravado, pois na hora ficou mais longo...).

Coding Dojo em 5 Minutos

E fotos?

Não houve

Então, mostre-me o o código!

Veja aqui o código que conseguimos produzir.

Neste link tem um uma explicação sobre o TDD, com o mesmo problema que utilizamos do Dojo.

domingo, 21 de outubro de 2012

Dojo@RA Backbone.js 20/10/2012


O que?
Coding Dojo de Backbone.js

Quando?
20/10/2012, das 09h30 às 11h30

Onde?  
Radialistas Associados

Teve anúncio: 
Segundo o anúncio inicial: 
No próximo sábado vai rolar um coding dojo usando a tecnologia backbone.js na RA - Radiologistas Associados, no Edf Thomé de Souza.

A participação é gratuita. 
Agenda planejada:

  • 5 minutos - o que é Coding Dojo.
  • 5 minutos - backbone.js
  • 80 minutos - coding dojo (aprox. 16 pilotagens)
  • 30 minutos - retrospectiva, feedback e papo sobre próximos encontros.
Sobre a tecnologia:

Backbone.js is a JavaScript data modeling framework intended to decouple data handling code from the DOM, being useful especially when the user interacts with the data. 
Site principal: http://backbonejs.org/
Entre várias aplicações usuárias, estão:
Apresentação feita pelo autor: http://www.infoq.com/presentations/Backbonejs
 Maiores informações sobre o local, e inscrições em http://www.eventbrite.com/event/4619043684




O que aprendemos?

:(

- organização; horário; testes
- faltou TDD; a falta de conhecimento nas ferramentas
- ambiente de desenvolvimento; backbone verboso, não é DRY; platéia não deixando o piloto pensar sozinho
- pouca gente; exemplo com padrões não muito bons
- o exemplo do boilerplate não segue o DRY
- mais participação da comunidade

:)

- local; pessoal -> equipe esperta; horário; tecnologia - backbone
- aprender backbone.js; que seja apenas o começo
- novo local; backbone.js; interação
- novo framework; nível do pessoal; colaboração
- didática boa; backbone é uma grande "ferramenta"; participação espetacular de todos
- interação; proposta; network; curti backbone

Fontes:
Publicados no Google Code.



Fotos: