iT邦幫忙

鐵人檔案

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

Functional Programming in Kotlin 系列

主題將會由淺入深,包含了
- Functional programming 基本語法
- Functional programming 基本原則
- 解釋、應用 Monad
- Category theory 入門
- 實戰運用

鐵人鍊成 | 共 30 篇文章 | 31 人訂閱 訂閱系列文 RSS系列文 團隊Kotlin 鐵人陣
DAY 21

Missing features: Persistent data structure and Pattern Matching

上一篇的解答: fun <R> map(transform: (T) -> R): LinkedList<R> { ret...

2020-09-30 ‧ 由 hungyanbin 分享
DAY 22

Type system and nullability

應該很多人都是從 Java 轉到 Kotlin 陣營的吧?不管是面試或是隨意聊天,在我問別人喜歡 Kotlin 的什麼地方的時候,最常聽到的答案就是 null...

2020-10-01 ‧ 由 hungyanbin 分享
DAY 23

Natural transformation

Definition 今天又回到 Category theory 的領域了,從一開始提到的 object 之間的 morphism - function,到 C...

2020-10-02 ‧ 由 hungyanbin 分享
DAY 24

Monad: a Monoid in the Category of EndoFunctors

終於要來解釋這句話了,距離上一次出現這句話時,我們都還不知道 Monoid, Category, Endofunctor 是什麼,現在除了 Endofuncto...

2020-10-03 ‧ 由 hungyanbin 分享
DAY 25

Bind, Return and Monad laws

先複習一下上一篇的內容,一個 Monad,就是一種 Moniod ,而且中間有個特別的 operator ,而他,剛好就是我們熟悉的 flatMap 如下: M...

2020-10-04 ‧ 由 hungyanbin 分享
DAY 26

所以 Monad 到底哪裡好用了?

在剛接觸 Monad 這名詞時,我相信一定很多人都很好奇 Monad 是甚麼,所以就會開始上網搜尋,然後就會找到下面這個版本,在這個版本中,使用了透明盒子來比喻...

2020-10-05 ‧ 由 hungyanbin 分享
DAY 27

Functional Programming in Practice - Part 1

接下來的三篇,打算要來完成一個登入頁面,使用的技術如下: Android framework Android Architecture component:...

2020-10-06 ‧ 由 hungyanbin 分享
DAY 28

Functional Programming in Practice - Part 2

Side effect operator 使用了 RxJava 之後,並沒有讓這邊的程式碼變得更複雜。但是,這邊有一件事需要被探討,在 LoginReposit...

2020-10-07 ‧ 由 hungyanbin 分享
DAY 29

Functional Programming in Practice - Part 3

接下來處理另一個狀態, LoginFormState ,他也是一個擁有眾多不可能狀態的 Product Type : data class LoginFormS...

2020-10-08 ‧ 由 hungyanbin 分享
DAY 30

完賽心得

終於結束了!!!在這 30 天的過程中學習到許多東西,也經歷了許多不同的心路歷程,從一開始的雄心壯志,提前規劃好所有的章節,本來以為所有的內容有九成的把握了,寫...

2020-10-09 ‧ 由 hungyanbin 分享