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
70
ももたろう
2014/09/06に行われたXP祭り2014 のLTの資料です。
当日は英語でプレゼンテーションを行いました
terahide
September 06, 2014
Tweet
Share
More Decks by terahide
See All by terahide
アニメに学ぶチームの多様性とコンピテンシー
terahide
0
400
テスト駆動開発でダイエットに挑戦して失敗した話
terahide
0
1.1k
コミュニケーション不全はなぜ起きるか
terahide
0
130
オレオレになりがちなテスト計画を見直した話
terahide
0
130
和服を普段着にするようになって気づいたアジャイルの心
terahide
0
39
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
terahide
0
96
一番アジャイルな料理人はソーマくんだと思うんだ
terahide
0
52
Att
terahide
0
24
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
0
37
Other Decks in Programming
See All in Programming
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
730
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
1.7k
iOSアプリ開発もLLMで自動運転する
hiragram
6
2.3k
ワンバイナリWebサービスのススメ
mackee
10
7.7k
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
870
〜可視化からアクセス制御まで〜 BigQuery×Looker Studioで コスト管理とデータソース認証制御する方法
cuebic9bic
3
320
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
220
機械学習って何? 5分で解説頑張ってみる
kuroneko2828
0
190
人には人それぞれのサービス層がある
shimabox
3
650
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
280
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
10
1.7k
漸進。
ssssota
0
1.7k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Facilitating Awesome Meetings
lara
54
6.4k
It's Worth the Effort
3n
184
28k
RailsConf 2023
tenderlove
30
1.1k
Building Adaptive Systems
keathley
43
2.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
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?