2024年9月13日(金)
今朝は5:50起床。
久々に5時台に起きられたので偉い!
朝活
家の周りを散歩して冷水シャワーを浴びてコーヒーを淹れる。
今日のコーヒーは上島珈琲店の上島珈琲店ブレンド。
今日もReact 18の洋書を読む。
Functional Programming (FP)
- イミュータビリティ(不変性)
- JavaScriptの配列のメソッドの内、pushはイミュータビリティに従っていないが、concatは従っている
- pushは既存の配列に変更を加える
- concatは既存の配列は変更せず新たな配列を返す
- Pure Function(純粋関数)
- 同じインプットに対して同じ結果となる
- 副作用が無い
- 状態を変更しない
- DOMは純粋関数ではないのでアプリケーションの状態に影響を及ぼす
- グローバルな状態に影響を及ぼす関数は純粋関数ではない
- Higher-Order Function(高階関数)(HoFs)
- 関数を引数に取る
- 必要に応じて関数を返す
- JavaScriptはFirst-class functions(第一級関数)を持つ
- 第一級関数は関数を変数のように扱うことができる
- Currying(カリー化)
- 複数の引数を取る関数を、1つの引数と別の関数を返す手法
const add = (x, y) => x + y
の関数は以下のように書き換えられる
const add = x => y => x + y
const add1 = add(1) // 引数として1を取った状態のy => x + yを返す
console.log(add1(2)) // 3 (1 + 2)
console.log(add1(3)) // 4 (1 + 3)
- Composition
- 複数の関数を組み合わせて1つの関数を作る手法
const add = (x, y) => x + y
const square = x => x * x
const addAndSquare = (x, y) => square(add(x, y))
console.log(addAndSquare(2, 3)) // 25 (2+3=5, 5*5=25)
1時間半程お勉強して朝活終了。
昼食
- ひきわり納豆
- 醤油おこわ
- 味噌汁
親戚が作ってきてくれた醤油おこわが旨かった!
お昼から贅沢な食事だ。
夕食
- 梨
- 麻婆豆腐
- 味噌汁
- いちじく
- キュウリの酢の物
- 牛丼
母渾身の牛丼。
車麩が載っているのがポイント。
玉葱の味がしっかりしていておいしい!
身体測定
実家暮らしなので体重のみ測定。
- 体重:61.7kg
軽めに出ることで定評のある実家の体重計でこの数値ということは1週間で2kg以上増えている。
豪華な昼食を食べ過ぎたか。
明日は稲刈りがんばろう!
コメント