tamakipedia

フロントエンドエンジニア。Typescriptもう特訓中です。一日の振り返りや学んだことをちょっとずつ吐いています。

関数の抽象化

関数の抽象化

具体的な処理を一般化することをいいます。
関数の抽象化を行うと、現実に存在するような複雑な問題を
小さなステップに分解することで効率よく処理ができるようになります。

メソッドチェーン

メソッドを実行して、その結果に対してさらにメソッドを実行し、
メソッドを繋げながらなんらかの処理をしてく仕組みのこと

doubleSubstring(str).substring(1,doubleSubstring(str).length).indexOf("ll")

上記のように(.)でメソッドを繋げることが可能です。

関数の合成

関数の出力を別の関数の入力として使用することを関数の合成と呼びます。
f:id:okinawanpizza:20210804010320p:plain

関数の合成では利用可能な関数を再利用することによって、
複雑な問題を解決することができます。
以下の三点が関数の合成において重要になってくるとのことです。

・関数一つにつき一つのタスク
・Don't Repeat Yourself(DRY)
・関数の意図
 → 関数は関数名、パラメーター名、入力、出力など多くの情報を提供します。  
  それらを名前の意味によってある程度理解できるものにしなくてはいけません。  

おしまい

学習習慣が安定してきたのでちょっとだけやり方を変更します。

これまで

始業前2.5時間の学習
時間があれば記事を書いてアウトプット  

これから

朝の学習(2h) 
学習したことをツイッターにてアウトプット
隙間時間で学習(0.5h)
各単元が終わった際にまとめ記事を作成

今までの総学習時間が30.5時間で、
7/19から今日にかけて2.5~3時間の学習を目標に進めてきたので
出だしはいい感じなのかなと言った印象です。

ただ、こうすると始業の3時間前に起きなくてはならないので(笑)
ちょっとそこら辺をうまく改善していきたいなと思います。
今回は朝の学習を30分減らして、減った分は移動中などの隙間時間で補填できるようにしようと思います。

どやらrecursion、スマホでも確認できることがわかりました。
なので移動時間もタイマーなどをつかって5~10分くらいの時間をコツコツ積み上げていこうと思います。
カウント系は study plus を使うことに、、、!!日々の作業時間が記録できてすごくいいです。

今日で学習30時間を突破しました。
思ったより継続して作業できて嬉しいです。
とはいえ、reactの学習が捗っていない、、これは週末はreactかな、、、

おしまい。