際際滷

際際滷Share a Scribd company logo
cyber-dojo
executing your code for fun
and not for profit
late 2009
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
https://github.com/JonJagger/cyber-dojo
Interactive
Dojo
Environment
Integrated
Development
Environment
 team based
 learning focused
 test driven
 work slower
 no time pressure
 repeat work
 have fun
 individual based
 finish focused
 test driven?
 work faster
 time pressure
 don't repeat work
 make money
Oslo Day of Docker Opening Keynote
demo
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
6x
6x
6x
6x
6x
6x
6x
30 seconds
6x
red == tests ran; 1 or more failed
6x
green == tests ran; all passed
6x
amber == tests didn't run
6x
Oslo Day of Docker Opening Keynote
Oslo Day of Docker Opening Keynote
time's up!
Interactive
Dojo
Environment
Integrated
Development
Environment
 team based
 learning focused
 test driven
 work slower
 no time pressure
 repeat work
 have fun
 individual based
 finish focused
 test driven?
 work faster
 time pressure
 don't repeat work
 make money
 work slower  work faster
FAQ
 learning focused  finish focused
Oslo Day of Docker Opening Keynote
how does it work?
.../katas/B6/A35C8EF4/manifest.json
Java
Cucumber
FizzBuzz
cyber-dojo.org uuidgen == B6A35C8EF4
{
language: "Java, Cucumber",
exercise: "FizzBuzz"
}
B6A35C
cyber-dojo.org
.../katas/B6/A35C8EF4/frog/sandbox/
avatar == frog
.../katas/B6/A35C8EF4/frog/.git/
cyber-dojo.org
.../katas/B6/A35C8EF4/frog/sandbox/source-files
source-files
cyber-dojo.org
.../katas/B6/A35C8EF4/manifest.json
{
language: "Java, Cucumber",
...
}
cyberdojofoundation/java_junit
cyberdojofoundation/java_cucumber
cyberdojofoundation/csharp_nunit
cyberdojofoundation/go_testing
docker containers
cyber-dojo.org
google compute engine instances
gce-node-01
gce-node-02
gce-node-03
cyberdojofoundation/java_cucumber
cyberdojofoundation/java_cucumber
cyberdojofoundation/java_cucumber
cyberdojofoundation/...
cyberdojofoundation/...
cyberdojofoundation/...
cyberdojofoundation/...
cyberdojofoundation/...
cyberdojofoundation/...
cyber-dojo.org
.../katas/B6/A35C8EF4/frog/sandbox/source-files
gce-node-02 /tmp/.../source-files
rsync
cyberdojofoundation/java_cucumber
google compute engine instance
gce-node-02
/tmp/.../source-files
$ eval "$(docker-machine env gce-node-02)"
$ docker run 
--volume=/tmp/.../:/sandbox:rw 
--net=none 
...
cyberdojofoundation/java_cucumber 
/bin/bash "timeout 10s ./cyber-dojo.sh 2>&1"
cyber-dojo.org
cyberdojofoundation/java_cucumber
google compute engine instance
gce-node-02
/tmp/.../source-files
cyber-dojo.org
cyberdojofoundation/java_cucumber
$ eval "$(docker-machine env gce-node-02)"
$ docker run 
--volume=/tmp/.../:/sandbox:rw 
--net=none 
...
cyberdojofoundation/java_cucumber 
/bin/bash "timeout 10s ./cyber-dojo.sh 2>&1"
google compute engine instance
regex
cyber-dojo.org
cyber-dojo.org
git commit
.../katas/B6/A35C8EF4/frog/sandbox/
.../katas/B6/A35C8EF4/frog/.git/
git gotcha!
Oslo Day of Docker Opening Keynote
test_wrapper.sh
summary
Interactive
Dojo
Environment
Integrated
Development
Environment
 team based
 learning focused
 test driven
 work slower
 no time pressure
 repeat work
 have fun
 individual based
 finish focused
 test driven?
 work faster
 time pressure
 don't repeat work
 make money
30,000+ practice-sessions
Oslo Day of Docker Opening Keynote
Bray
thank you
thank yous
Byran Wills-Heath Nadya Sivers Seb Rose
Olve Maudal Dymtro Mindra Mike Long
twitter : @JonJagger
email : jon@jaggersoft.com
blog : http://jonjagger.blogspot.co.uk/
charity : http://cyber-dojo.org

More Related Content

Oslo Day of Docker Opening Keynote