Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ももたろう
Search
terahide
September 06, 2014
Programming
0
61
ももたろう
2014/09/06に行われたXP祭り2014 のLTの資料です。
当日は英語でプレゼンテーションを行いました
terahide
September 06, 2014
Tweet
Share
More Decks by terahide
See All by terahide
アニメに学ぶチームの多様性とコンピテンシー
terahide
0
340
テスト駆動開発でダイエットに挑戦して失敗した話
terahide
0
1.1k
コミュニケーション不全はなぜ起きるか
terahide
0
110
オレオレになりがちなテスト計画を見直した話
terahide
0
100
和服を普段着にするようになって気づいたアジャイルの心
terahide
0
32
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
terahide
0
63
一番アジャイルな料理人はソーマくんだと思うんだ
terahide
0
44
Att
terahide
0
19
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
0
32
Other Decks in Programming
See All in Programming
クックパッド検索システム統合/Cookpad Search System Consolidation
giga811
0
140
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
950
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
1.1k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.2k
Domain-Driven Design (Tutorial)
hschwentner
13
22k
Lambdaの監視、できてますか?Datadogを用いてLambdaを見守ろう
nealle
2
750
自力でTTSモデルを作った話
zgock999
0
120
変化の激しい時代における、こだわりのないエンジニアの強さ
satoshi256kbyte
0
110
CloudRun, Spanner に対する負荷試験の反省と オブザーバビリティによるアプローチ
oyasumipants
1
160
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
240
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
290
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
How STYLIGHT went responsive
nonsquared
99
5.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
The Invisible Side of Design
smashingmag
299
50k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for Performance
lara
605
68k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building Applications with DynamoDB
mza
93
6.2k
RailsConf 2023
tenderlove
29
1k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Cult of Friendly URLs
andyhume
78
6.2k
Transcript
見どころ
英語ができな い てらひで が英語でLTに 挑戦します
てらひで @terahide27 認定スクラムマスター アジャイルコーチ アーキテクト
てらひで @terahide27 http://gigazine.net/news/20140601-anime-2014summer/ 深夜アニメの カバレッジ90%以上
ももたろう
質問です 次のページに 1か所誤りが あります
昔々あるところにお爺さんとお婆さんがいました。働 き者の二人は朝は日の昇る前の暗いうちから、夜は 日が暮れて暗くなるまで毎日毎日働いて暮らしてい ました。それでも二人の暮らしは貧しく日々暮らして いくのが精いっぱいでした。ある日、お爺さんは山に 芝刈りへ、お婆さんは川に洗濯へ出かけました。お 婆さんが川で洗濯をしていると、川の上流から何か が流れてくるではありませんか。なんと大きな桃がど んぶらこ、どんぶらこと流れてきました。お婆さんは 川にはいり桃を拾うと「まぁなんて大きな桃だべや。
おじいさんと一緒に食べることにしましょうかねー」 と桃をしょって帰りました。山から戻ってきたお爺さん と一緒に桃を切ろうとすると、桃はひとりでに「ぱ かーん」と割れ、中から桃子が飛び出てきました。
気づきまし た?
None
http://momokyun.com/
こうしたらわかる •昔々 •お爺さんとお婆さん •流れてきた大きな桃 •桃からももたろう
実装 してみた
注意! もっとよい実装案 があったらぜひ教 えてください
def "ももたろうのストーリー"(){ Calendar cal = Calendar.instance cal.add(Calendar.YEAR, -400) def uncle,aunt
Location.set(Japan,aDeepForest)//TODO a village? uncle = PersonFactory.newInstance() aunt = PersonFactory.newInstance() uncle.move(new Location(20,30),100)//mountain while(true){ Branch b = getBranch() if( b == null){ break; } uncle.pickup(b) } aunt.move(new Location(-30,0),-40)//river for(i=0;i<23;i++){ Clothes c = getClothes (i); aunt.wash(c) } River.flow(new RiverHandler(aunt){ def "catch"(donbrako,aunt){ peach = (Peach)donbrako aunt.keep(peach) } }) def momotaro try{ aunt.cutPeach() }catch(PeachSelfSplitedException e){ momotaro = e.birth } } }
def "ももたろうのストーリー"(){ aLongLongTimeAgo() aDeepForest() def [uncle,aunt] = live() uncle.goMountain() uncle.pickUpBranch(allArround())
aunt.goRiver() aunt.washClothes() eventAtRiver(aunt) def momotaro = birth(aunt.getKeepedPeach) } def eventAtRiver(aunt){ River.flow(new RiverHandler(aunt){ def "catch"(donbrako,aunt){ peach = (Peach)donbrako aunt.keep(peach) } }) } def birth(peach){ def momotaro try{ aunt.cutPeach(new CutPeachHandler(){ def handle(peach){ momotaro = peach.birth } })
あなたの お好みは どちら?
まとめ •意図を伝えるの大事 •読まなくても分かる (直観的) •単純明快
Why Readable? Why Readable?