SlideShare a Scribd company logo
1 of 16
Coderetreat
In Developers’ Summit 2013 Unconference / 今回はさわりだけ
(probably next time )
                                             @haradakiro
• ペアプロでプログラミング技術を学ぶセッション
• 1セッション 45 分 / 1日6セッション

• 課題は、Conway’s Game of Life


• セッション終わったらコードは          消す



Coderetreat って何?
• 毎回セッション毎にペア交代

• 言語は何でもいい
 • 使いたい・使える開発環境は準備してきてね

• 各セッション毎にチャレンジ課題
 • トライするかは自由
  •   If 文禁止
  •   ループ禁止
  •   複数行メソッド禁止
  •   配列利用禁止
  •   しゃべるの禁止
  •   などなど




Coderetreat って何?
• 参加費は無料
• まともな昼ご飯が出る

• 45分で終わらせなくてよい




Coderetreat のルール
09:00 - 09:15 会場、趣旨説明、準備
09:15 - 10:00 ペアプロ セッション#1
10:00 - 10:15 ふりかえり#1
10:15 - 11:00 ペアプロ セッション#2
11:00 - 11:15 ふりかえり#2
11:15 - 12:00 ペアプロ セッション#3
12:00 - 12:15 ふりかえり#3
12:15 - 13:45 昼食(昼食は提供されます)
13:45 - 14:30 ペアプロ セッション#4
14:30 - 14:45 ふりかえり#4
14:45 - 15:30 ペアプロ セッション#5
15:30 - 15:45 ふりかえり#5 (おやつのじかん)
15:45 - 16:30 ペアプロ セッション#6
16:30 - 16:45 ふりかえり#6
16:45 - 17:00 全体ふりかえり




Codereterat
スケジュール例
• 二次元格子のセル
• 個々のセルには8つの近傍セル

• 近傍セルのうち2個もしくは3個が生きていたら、生
  存
• 近傍セルのうち3個が生きていたら、誕生
• それ以外の場合(1個以下もしくは4個以上)は、死亡




Conway’s Game of Life
•   きづいたこと
•   うまくいったこと
•   うまくいかなかったこと
•   次のセッションでためすこと

• ハッシュタグ #coderetreat



セッションふりかえ
り
• どんなクラスをつかってセル、格子を表現した?
• それは、わかりやすい?誤解をまねかない?

• 言語が提供するクラスを使わないでやってみる。




Primitive Obsession
•   テスト全部通せ
•   意図が分かるコードを書け
•   すべてを一回、一回だけ書け
•   余計なコードはいっさいなしだ




XP Simplicity Rules
• 5行
• 3行
• 1行

• ちなみに APL では?
 • life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}



1メソッドの長さ
は?
• 増えると大変
• 10超えのメソッドとか見たくもない

• 増やさないには、どうする?

 • 条件分岐禁止!




McCabe Cyclomatic
Complexity
• Ping – Pong TDD
  • 一人がテストコード書く、もう一人がプロダクトコー
    ド書く
• 配列はもういらないよね
• TDD as if you mean it
  • テストコードなしのプロダクトコード書いてないよね
• そろそろループもいらなくない?
• プログラマーならコードで語れ!(しゃべるの禁止)




Try
• 今日学んだことは(もしあれば)、何ですか?
• 今日驚いたことは(もしあれば)、何ですか?

• 休み明けの仕事で、何かやりかたを変えてみます
  か?




Closing Circle
• Legacy Code Retreat – 開催(たぶん来月)
 • Code Retreat for Legacy Code




Next Event –
To be Announced
• ありがとうございます
  • スポンサーの皆様
  • 会場提供の皆様
  • 参加者の皆様

• Please Try At Your Work Place!
  • ブログ書いてね
  • Coderetreat.org をのぞいてみてね

• ご質問などは harada.kiro@gmail.com へどうぞ。




Thank You!
• 募集開始は Twitter 上でアナウンス
 • どこかの参加募集サイト上で
 • スポンサーが集まったら




Coderetreat 募集要項

More Related Content

Similar to Coderetreat のススメ at Developers' Summit 2013 Unconference

"レガシーコード"再考
"レガシーコード"再考"レガシーコード"再考
"レガシーコード"再考irof N
 
オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話terahide
 
もっとうまく頻繁に価値を届けたいチームのためのスクラム勉強会(公開用)
もっとうまく頻繁に価値を届けたいチームのためのスクラム勉強会(公開用)もっとうまく頻繁に価値を届けたいチームのためのスクラム勉強会(公開用)
もっとうまく頻繁に価値を届けたいチームのためのスクラム勉強会(公開用)Katsunobu Harada
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」nishikawa_makoto7
 
Perl入学式をやってみた! - YAPC::Asia 2012
Perl入学式をやってみた! - YAPC::Asia 2012Perl入学式をやってみた! - YAPC::Asia 2012
Perl入学式をやってみた! - YAPC::Asia 2012Takayuki Fukumoto
 
110901 tokyo scipy1_アンケート結果
110901 tokyo scipy1_アンケート結果110901 tokyo scipy1_アンケート結果
110901 tokyo scipy1_アンケート結果Shohei Hido
 

Similar to Coderetreat のススメ at Developers' Summit 2013 Unconference (7)

"レガシーコード"再考
"レガシーコード"再考"レガシーコード"再考
"レガシーコード"再考
 
オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話
 
勉強会のすゝめ 2.0
勉強会のすゝめ 2.0勉強会のすゝめ 2.0
勉強会のすゝめ 2.0
 
もっとうまく頻繁に価値を届けたいチームのためのスクラム勉強会(公開用)
もっとうまく頻繁に価値を届けたいチームのためのスクラム勉強会(公開用)もっとうまく頻繁に価値を届けたいチームのためのスクラム勉強会(公開用)
もっとうまく頻繁に価値を届けたいチームのためのスクラム勉強会(公開用)
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
 
Perl入学式をやってみた! - YAPC::Asia 2012
Perl入学式をやってみた! - YAPC::Asia 2012Perl入学式をやってみた! - YAPC::Asia 2012
Perl入学式をやってみた! - YAPC::Asia 2012
 
110901 tokyo scipy1_アンケート結果
110901 tokyo scipy1_アンケート結果110901 tokyo scipy1_アンケート結果
110901 tokyo scipy1_アンケート結果
 

More from Kiro Harada

Kaizen in Action for Regional Scrum Gathering Tokyo 2017
Kaizen in Action for Regional Scrum Gathering Tokyo 2017Kaizen in Action for Regional Scrum Gathering Tokyo 2017
Kaizen in Action for Regional Scrum Gathering Tokyo 2017Kiro Harada
 
Kaizen in Action
Kaizen in ActionKaizen in Action
Kaizen in ActionKiro Harada
 
TPS, Lean, and Scrum - How They Are Developed and Influenced One Another
TPS, Lean, and Scrum - How They Are Developed and Influenced One AnotherTPS, Lean, and Scrum - How They Are Developed and Influenced One Another
TPS, Lean, and Scrum - How They Are Developed and Influenced One AnotherKiro Harada
 
ぐるぐるDDDは何を目指しているのか
ぐるぐるDDDは何を目指しているのかぐるぐるDDDは何を目指しているのか
ぐるぐるDDDは何を目指しているのかKiro Harada
 
スクラムパタン入門
スクラムパタン入門スクラムパタン入門
スクラムパタン入門Kiro Harada
 
Is Xp still extreme?
Is Xp still extreme?Is Xp still extreme?
Is Xp still extreme?Kiro Harada
 
改善の3つの顔
改善の3つの顔改善の3つの顔
改善の3つの顔Kiro Harada
 
3 Faces of Kaizen
3 Faces of Kaizen3 Faces of Kaizen
3 Faces of KaizenKiro Harada
 
TPS Lean and Agile - Brief History and Future
TPS Lean and Agile - Brief History and FutureTPS Lean and Agile - Brief History and Future
TPS Lean and Agile - Brief History and FutureKiro Harada
 
スクラム再入門(仮) Developer Summit 関西 2013
スクラム再入門(仮) Developer Summit 関西 2013スクラム再入門(仮) Developer Summit 関西 2013
スクラム再入門(仮) Developer Summit 関西 2013Kiro Harada
 
ぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそう
ぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそうぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそう
ぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそうKiro Harada
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す Kiro Harada
 
改善のためのちょっとしたコツ
改善のためのちょっとしたコツ改善のためのちょっとしたコツ
改善のためのちょっとしたコツKiro Harada
 
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門Kiro Harada
 
アジャイルマネジメントとは?
アジャイルマネジメントとは?アジャイルマネジメントとは?
アジャイルマネジメントとは?Kiro Harada
 
A Tip to Help Your Kaizen
A Tip to Help Your KaizenA Tip to Help Your Kaizen
A Tip to Help Your KaizenKiro Harada
 
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみるとJenkins に XFD を追加してみると
Jenkins に XFD を追加してみるとKiro Harada
 
アジャイル開発をはじめる前に
アジャイル開発をはじめる前にアジャイル開発をはじめる前に
アジャイル開発をはじめる前にKiro Harada
 

More from Kiro Harada (20)

Kaizen in Action for Regional Scrum Gathering Tokyo 2017
Kaizen in Action for Regional Scrum Gathering Tokyo 2017Kaizen in Action for Regional Scrum Gathering Tokyo 2017
Kaizen in Action for Regional Scrum Gathering Tokyo 2017
 
Kaizen in Action
Kaizen in ActionKaizen in Action
Kaizen in Action
 
TPS, Lean, and Scrum - How They Are Developed and Influenced One Another
TPS, Lean, and Scrum - How They Are Developed and Influenced One AnotherTPS, Lean, and Scrum - How They Are Developed and Influenced One Another
TPS, Lean, and Scrum - How They Are Developed and Influenced One Another
 
ぐるぐるDDDは何を目指しているのか
ぐるぐるDDDは何を目指しているのかぐるぐるDDDは何を目指しているのか
ぐるぐるDDDは何を目指しているのか
 
スクラムパタン入門
スクラムパタン入門スクラムパタン入門
スクラムパタン入門
 
Is Xp still extreme?
Is Xp still extreme?Is Xp still extreme?
Is Xp still extreme?
 
改善の3つの顔
改善の3つの顔改善の3つの顔
改善の3つの顔
 
3 Faces of Kaizen
3 Faces of Kaizen3 Faces of Kaizen
3 Faces of Kaizen
 
TPS Lean and Agile - Brief History and Future
TPS Lean and Agile - Brief History and FutureTPS Lean and Agile - Brief History and Future
TPS Lean and Agile - Brief History and Future
 
スクラム再入門(仮) Developer Summit 関西 2013
スクラム再入門(仮) Developer Summit 関西 2013スクラム再入門(仮) Developer Summit 関西 2013
スクラム再入門(仮) Developer Summit 関西 2013
 
ぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそう
ぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそうぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそう
ぐるぐるDDD/Scrum - モデリングと実装のうずまきをまわそう
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す
 
改善のためのちょっとしたコツ
改善のためのちょっとしたコツ改善のためのちょっとしたコツ
改善のためのちょっとしたコツ
 
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門
 
アジャイルマネジメントとは?
アジャイルマネジメントとは?アジャイルマネジメントとは?
アジャイルマネジメントとは?
 
A Tip to Help Your Kaizen
A Tip to Help Your KaizenA Tip to Help Your Kaizen
A Tip to Help Your Kaizen
 
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみるとJenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
 
Arduino jenkins
Arduino jenkinsArduino jenkins
Arduino jenkins
 
アジャイル開発をはじめる前に
アジャイル開発をはじめる前にアジャイル開発をはじめる前に
アジャイル開発をはじめる前に
 
Scrum & Kanban
Scrum & KanbanScrum & Kanban
Scrum & Kanban
 

Recently uploaded

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Recently uploaded (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

Coderetreat のススメ at Developers' Summit 2013 Unconference