今日やったこと・考えたこと
- 午後は家にいた。昼は近くのショッピングモールに買い物に行ってご飯を食べた。午後はフードコートに行ってパソコンを叩いていた。
- ダイエットの科学読了、プロを目指す人のためのTypeScript入門4章、ソフトウェアアーキテクチャの基礎6章
- 許可を求めるな謝罪せよを悪用する開発者
アーキテクトはどのようにして開発者が各レイヤーの定義を順守していると保証できるだろうか。パターンの重要性を理解していない開発者や、パフォーマンスのような局所的な関心事が優先された結果、「許可を求めるな謝罪せよ」という態度をとる開発者が現れることもある
- 許可を求めるな謝罪せよを悪用する開発者
- Raycastに慣れる7
- マニュアルのFAQを読んだ
今日の学び
- ダイエットの科学を読んだ学び
- ダイエットの科学を読んで
- キムチとナッツを日常的に食べるようになった。納豆と豆腐は以前から食べていた。コーヒーに砂糖(人工甘味料)を入れるのを止めた。野菜と果物を食べることを意識した。朝ごはんにバナナを取り入れようと考えた。
- テスト駆動開発は「作られるメソッドを平均的に小さく単純にする」というポジティブな副作用がある
- 開発者は簡単なテストを書いてから、テストを通すための最小のコードを書くため
- これは、個々の振る舞いと良いテスト境界に焦点を当てさせ、結果的によく整理された高度な凝集性を持つメソッドの作成を促す
- 開発者は簡単なテストを書いてから、テストを通すための最小のコードを書くため
- 専門家が何度も何度も細かい仕事をしていると、どうしても細かい部分が抜けてしまいがちになるという問題に対し、簡潔なチェックリストが効果的なリマインダーとなることから、パイロットや外科医などの職種ではチェックリストが使われている
- TypeScriptでは配列の要素が何個あるかは一般には不明
- 下記のnumsは
number[]
型の変数だが、number[]
型には要素数の情報は乗っていない - そのためコンパイルエラーが起こる
- A spread argument must either have a tuple type or be passed to a rest parameter.
- sum3は3つの引数を受け取るところ、
number[]
型であるnumsの要素は3つとは限らず、3つの引数を渡せないかもしれないため
const sum3 = (a: number, b: number, c: number) => a + b + c; const nums = [1, 2, 3]; // エラー: A spread argument must either have a tuple type or be passed to a rest parameter. console.log(sum3(...nums));
- 下記のnumsは
- 今日の英語
- cyclomatic: 循環的
- mud: 泥
- hence: したがって
- reach out: 手を差し伸べる
- double-check: 二重にチェックする。再確認する
- look into O: Oを調べる、検討する
- What to do ~?: (状況など)何をするべきか?
- dedicated: 指定の。専用の
- muscle memory: 特定の運動課題を反復によって記憶に統合することを含む手続き記憶の一形態。何も考えずにできるアレ