iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

Functional Programming For Everyone 系列

這個系列文會分享一年來筆者學習 FP 的心路歷程與學習資源,希望可以幫助對 FP 有興趣的開發者減少學習曲線,並且推廣 FP 的好處,讓更多人使用 FP。

文章主要會用 JavaScript 跟 TypeScript. 可能使用跟講解到的函式庫會有 ramda, fp-ts 與 io-ts.

鐵人鍊成 | 共 30 篇文章 | 20 人訂閱 訂閱系列文 RSS系列文 團隊拒絕奴性的網友
DAY 1

Day 01 - Hi, Functional Programming

Alert: 以下會將 Functinoal Programming 簡稱 FP. 關於我 yo! What's up 這是筆者第一次參加 IT 鐵人賽,希...

2021-09-16 ‧ 由 Jing.tech 分享
DAY 2

Day02 - Pure Function

yo! what's up! 本篇文章會簡單地介紹基本的 Functional Programming 概念,這些概念不僅重要,更是貫穿了之後的主題。 Pure...

2021-09-17 ‧ 由 Jing.tech 分享
DAY 3

Day 03 - Curry

yo, what's up? 今天要來介紹 Functional Programming 重要的概念,Curry. Curry 的功用? 我們先來看一個簡單的函...

2021-09-18 ‧ 由 Jing.tech 分享
DAY 4

Day 04 - Function Composition

yo, what's up 今天就來談談 Functional Programming 的核心,Compose. 有了這個概念後,就可以把多個功能單一的函式組合...

2021-09-19 ‧ 由 Jing.tech 分享
DAY 5

Day 05 - Ramda

yo, what's up Ramda 是一個 Functional Programming 的函式庫,而 Ramda 的所有函式都有自帶 currying....

2021-09-20 ‧ 由 Jing.tech 分享
DAY 6

Day 06 - Lenses (Basic)

yo, what's up 今天要在 FP 裡很有用的概念 Lenses, 它可以減少在處理資料結構邏輯時的複雜度,並且可以寫出更容易閱讀以及更乾淨的程式。 從...

2021-09-21 ‧ 由 Jing.tech 分享
DAY 7

Day 07 - Transduce I

從一個簡單的問題開始 假設我們目前有一組長度為一百萬的陣列,需要將陣列內的每個數值乘三並且只保留偶數,那我們會如何實作這簡單的問題? 根據上面的問題,我們在實作...

2021-09-22 ‧ 由 Jing.tech 分享
DAY 8

Day 08 - Transduce II

review 上一篇介紹了 transduce 基本概念後,就可以知道 transduce 就是對資料結構進行 transform 並 reduce, 其核心...

2021-09-23 ‧ 由 Jing.tech 分享
DAY 9

Day 09 - Type Signature

yo, what's up? 到目前為止,目前我們把最基本的概念 pure function, curry, compose 到比較進階概念 lens, tra...

2021-09-24 ‧ 由 Jing.tech 分享
DAY 10

Day 10 - Algebraic structure

yo, what's up 本章要來介紹 FP 的重要觀念,Algebraic structure! What's Algebraic structure?...

2021-09-25 ‧ 由 Jing.tech 分享