Oslo Day of Docker Opening Keynote

Post on 15-Jan-2017

1844 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

Transcript

cyber-dojoexecuting your code for fun and not for profit

late 2009

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

demo

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

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

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.orggoogle 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

regexcyber-dojo.org

cyber-dojo.org

git commit.../katas/B6/A35C8EF4/frog/sandbox/.../katas/B6/A35C8EF4/frog/.git/

git gotcha!

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

Bray

thank you

thank yous

Byran Wills-Heath Nadya Sivers Seb Rose

Olve Maudal Dymtro Mindra Mike Long

twitter : @JonJaggeremail : jon@jaggersoft.com

blog : http://jonjagger.blogspot.co.uk/charity : http://cyber-dojo.org

top related