Slide 1

Slide 1 text

Ruby Coding Dojo RailsConf 2014

Slide 2

Slide 2 text

Carlos Souza @caike David Rogers @al_the_x

Slide 3

Slide 3 text

! Developers To All beginner, intermediate and expert.

Slide 4

Slide 4 text

Technology! … in the open source community. Gets Better

Slide 5

Slide 5 text

every week to the Ruby on Rails repository ~100 commits

Slide 6

Slide 6 text

Getting Better not enough time invested in practice. We Are Not

Slide 7

Slide 7 text

– Bruce Lee “Practice, yo.”

Slide 8

Slide 8 text

WORK PRACTICE !=

Slide 9

Slide 9 text

DOJO ಓ ৔ A Japanese term for place of the way.

Slide 10

Slide 10 text

KATAs “Detailed choreographed patterns of movements praticed either solo or in pair.” Dave Thomas @PragDave

Slide 11

Slide 11 text

KATAs “Detailed choreographed patterns of movements praticed either solo or in pair.” Test Driven! Development

Slide 12

Slide 12 text

KATAs “Detailed choreographed patterns of movements praticed either solo or in pair.” Pair! Programming

Slide 13

Slide 13 text

• Randori • Prepared • Code Retreat KATAs

Slide 14

Slide 14 text

RANDORI

Slide 15

Slide 15 text

RANDORI 1 Computer + 1 Projector + Audience (5-15 people) + Pair Rotation

Slide 16

Slide 16 text

PREPARED

Slide 17

Slide 17 text

PREPARED Watch someone perform a Kata that has been previously worked on.

Slide 18

Slide 18 text

CODE RETREAT A day-long event where you work on the same problem, pair programming with different people and switching languages. Corey Haines @CoreyHaines http://coderetreat.org

Slide 19

Slide 19 text

PREPARED KATA

Slide 20

Slide 20 text

Calculator • addition • accept 2 numbers • return result

Slide 21

Slide 21 text

BREAK

Slide 22

Slide 22 text

PROBLEM #1 • Groups of 3 • 3:00 minute rotation

Slide 23

Slide 23 text

ETIQUETTES • RED GREEN REFACTOR! • No talk on RED • If you are not coding, keep quiet. • If you have a idea, show it with code. • NO VOODOO: keep it simple. • If you are stuck, ask for help.

Slide 24

Slide 24 text

Calculator • 1 operation: Addition • takes n numbers • don’t use inject

Slide 25

Slide 25 text

require 'minitest/unit' require 'minitest/autorun' ! class CalculatorTest < MiniTest::Unit::TestCase ! def test_adds_two_numbers end ! end while true; do ruby test.rb; sleep 2; done test.rb bash

Slide 26

Slide 26 text

ETIQUETTES • RED GREEN REFACTOR! • No talk on RED • If you are not coding, keep quiet. • If you have a idea, show it with code. • NO VOODOO: keep it simple. • If you are stuck, ask for help.

Slide 27

Slide 27 text

RETROSPECTIVE

Slide 28

Slide 28 text

PROBLEM #2 • Groups of 3 • 3:00 minute rotation

Slide 29

Slide 29 text

StringCalculator • 1 operation: Addition • takes Strings! ! calc.add('one', 'two')

Slide 30

Slide 30 text

RETROSPECTIVE

Slide 31

Slide 31 text

RESOURCES

Slide 32

Slide 32 text

RESOURCES meetup.com

Slide 33

Slide 33 text

RESOURCES codeschool.com