iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
Software Development

Functional Programming in JS 系列

身為寫了好幾年 javaScript 的前端工程師,卻天真以為會 map、reduce 就代表懂 Functional Programming,但完全大錯特錯啊,這個領域古老又博大精深,雖然不算好入門但入坑後就會愛上他。這系列會盡量用淺顯的範例圖文跟大家一起學習函數式編程,從最基本的 pure function、immutable 、HOF 到 composition、functor 、monad...還有如何運用在專案中。另外還有篇幅的話也會順便分享被迫 Work From Home 超過半年的日子。

鐵人鍊成 | 共 30 篇文章 | 225 人訂閱 訂閱系列文 RSS系列文
DAY 21

Functor 2: 圖解 Box Data Type

"The combination of calling map and the box tab type would lead we call fu...

2020-09-21 ‧ 由 hannahpun 分享
DAY 22

Applicative

Functor 能夠使用神奇的 map 讓 Data Type (Box) 也能接受一般函式 如果我們把函式也封裝成 Context 呢? 這時,就需要再定義一...

2020-09-22 ‧ 由 hannahpun 分享
DAY 23

Functor 3: 程式碼解說篇

覺得前幾篇幾乎只用圖片解釋 Functor 可能不太知道真實程式世界會長什麼樣子,所以決定再加篇幅用程式來舉例加深印象。 Box 這種 data type...

2020-09-23 ‧ 由 hannahpun 分享
DAY 24

Functor 4: 圖解 Box Data Type 之方法 map、flatMap、chain

Functor 對初學者來說實在有點難懂,所以不知不覺已來到第四篇,希望看完這一系列可以真的懂他在幹嘛。 基本上除了系列 1 之外,其他都是在探究 Box 這種...

2020-09-24 ‧ 由 hannahpun 分享
DAY 25

Functor 5: 用 Effect functor 解決真實世界的 Side Effect

在第五天 Buzz word 2 : Side Effect 曾經說到會提供另一個很複雜解決 Side Effect 的方法: Effect functor,今...

2020-09-25 ‧ 由 hannahpun 分享
DAY 26

[練習] Functor Exercise

希望這是 Functor 系列最後一篇了,來小試身手一下看你對 Functor 的掌控度 (鐵人賽結束後會回來加題數) Q: 以下要怎麼改成 FP 呢? co...

2020-09-26 ‧ 由 hannahpun 分享
DAY 27

Monad: 圖解篇

恭喜大家跟我一樣到達最後一系列的大魔王魔幻領域 Monad! 我第一次聽到 Monad 腦中只浮現這個 (OS. 好想去迪士尼當工程師可惜北加沒有迪士尼 @@)...

2020-09-27 ‧ 由 hannahpun 分享
DAY 28

Either Monad: 更優雅的除錯

(↑ 沒有誇張,這圖我畫了兩個小時以上,用 Canva 畫曲線實在是太難了啊... ) Monad 本身在 FP 中已可以榮獲最難跨越的門檻冠軍,何況是用 ja...

2020-09-28 ‧ 由 hannahpun 分享
DAY 29

Either Monad: 應用在真實專案

自己認為學會一項新技能之後最興奮的就是怎麼運用到專案了,這篇會用每一個網站都需要處理的"串接 API "為例。從發 request 去要...

2020-09-29 ‧ 由 hannahpun 分享
DAY 30

Functional Programming 之未完待續心得篇

一開始以為 FP 大約只會寫個 20 篇,結果不但沒篇幅給我說 remote working 的事,連本體 FP 都覺得值得寫的還好多,只好之後再慢慢發佈在自己...

2020-09-30 ‧ 由 hannahpun 分享