2020-03-21-tommy
昨日ゲイシャというコーヒーを初めて飲んだのだけどめっちゃフルーティで美味かった。
11:18
待ち合わせまで時間があったのでコワーキングスペースに来た。何しよう。iPad忘れたから読書ははかどらない。
11:41
頭疲れていて問題解けそうにないのでNetflixオリジナルのBill Gatesのドキュメンタリーを観る。 「慈善事業を何のためにやるのか?」と問われて "For optimization" と答えていたのが印象的だった。プログラマーらしい答えだ。
プログラミング以外にジミヘンやシェイクスピアが好きだったPaul Allenって魅力的な人だったんだなぁ。 時間来たので途中までで終わり。
コワーキングスペースに来たのに何もワーキングしていない。
ルール確認する
そういや他の人の解答をあとで見れないのなら教育的効果は薄いなと思った。
見れるっぽい。
お、 "ANALYSIS" タブに Ruby も含め模範解答載ってるじゃん。
ルール特に気をつけなきゃいけないこと無さそうだった。
https://www.youtube.com/watch?v=URSWYvyc42M
観ていく。
Unit Tests: Goals
Thorough
Stable
Fast
Few
Focus on Message
tommy.icon 字幕無しでも使われる単語がソフトウェア関連に限られるからけっこういけるな。
tommy.icon ジョークで笑っている場面についていけないことはあるが。
Message Origin
https://gyazo.com/c5abc452051c9db18d725707709206f2
Message Type
Query
Command
現実にはこれらの Message Type が合成される
tommy.icon POODR本と同じ自転車の例えきたw
https://gyazo.com/0c1dd5a209c69666ba5785e46fa1566c
https://gyazo.com/bb2bd28dfb0cdbe877e0d0a88e37d28f
https://gyazo.com/01f5775b758fea75680bc62e5021cd74
https://gyazo.com/a1ed109dc7a2d3dfc7476da40841c683
https://gyazo.com/c8c5e62e8e71f7d98d6e41d7f2501aed
https://gyazo.com/3c23a9c1a63e0933eac8a9f883d9b48c
https://gyazo.com/9e51f5dccf074462f93144d2a5c8299b
https://gyazo.com/a3ac760be5fad33aaaa240d6270705a3
https://gyazo.com/b1f2d2143ff68a969e8968b8b1af0f97
https://gyazo.com/704b668e28cb80854158c4e789c88e92
https://gyazo.com/467b0fd305b9f8449c62b5e68cf79d21
https://gyazo.com/43488d449de9ebb058bf84e4ea4bd21d
Summary
Be a minimalist
Use good judgement
Test everything once
Test the interface
Trust collaborators
Insist on simplicity
tommy.icon めっちゃまとまっていて良い講演だった。
tommy.icon POODR本は何度でも読み返したい。
tommy.icon テストの世界でもOOPにおける責務の明確化、メッセージでのやりとり、インターフェイスに対するプログラミングを意識することが大事なのだなぁと思った。
演算関数の実装か。面白そう。
デザインパターンとか適用したら良さそうだがまずは泥臭くやってみよう。
BNFとかその辺に繋がりそうだなぁ。
演算子関数が肝になりそう。
部分適用かカリー化かどっちか忘れたけどそれでいけそう。
Ruby はいけるんかな?いけそうだが。
あかん、思ったよりムズい。
疲れで頭働かなくなってるのでやめとこっかな。
やめてNetflix観る。