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
65
ももたろう
2014/09/06に行われたXP祭り2014 のLTの資料です。
当日は英語でプレゼンテーションを行いました
terahide
September 06, 2014
Tweet
Share
More Decks by terahide
See All by terahide
アニメに学ぶチームの多様性とコンピテンシー
terahide
0
350
テスト駆動開発でダイエットに挑戦して失敗した話
terahide
0
1.1k
コミュニケーション不全はなぜ起きるか
terahide
0
120
オレオレになりがちなテスト計画を見直した話
terahide
0
110
和服を普段着にするようになって気づいたアジャイルの心
terahide
0
35
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
terahide
0
66
一番アジャイルな料理人はソーマくんだと思うんだ
terahide
0
46
Att
terahide
0
22
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
0
35
Other Decks in Programming
See All in Programming
DenoでOpenTelemetryに入門する
yotahada3
1
190
Your Architecture as a Crime Scene:Forensic Analysis @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
150
iOSでQRコード生成奮闘記
ktcryomm
2
180
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
130
Drawing Heighway’s Dragon- Recursive Function Rewrite- From Imperative Style in Pascal 64 To Functional Style in Scala 3
philipschwarz
PRO
0
210
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
4
810
TCAを用いたAmebaのリアーキテクチャ
dazy
0
260
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
2.4k
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
0
140
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
290
「その気にさせる」エンジニアが 最強のリーダーになる理由
gimupop
3
370
AI Agentを利用したAndroid開発について
yuchan2215
0
160
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Gamification - CAS2011
davidbonilla
80
5.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
570
Practical Orchestrator
shlominoach
186
10k
A Tale of Four Properties
chriscoyier
158
23k
How STYLIGHT went responsive
nonsquared
99
5.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Language of Interfaces
destraynor
156
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Cost Of JavaScript in 2023
addyosmani
48
7.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?