iT邦幫忙

functional programming相關文章
共有 294 則文章
鐵人賽 Modern Web DAY 10
Javascript 從寫對到寫好 系列 第 10

技術 Day 10 - Functional Programming 初探 (3) - 實戰購物車流程

前言 這兩天花了滿多心力在介紹 FP 的觀念跟方法,但其實大部分都停留在理論,或者教科書上的那種 apple、banana 的練習,大家都是在職場上走跳的,把理...

鐵人賽 Modern Web DAY 9

技術 Day 9 - Functional Programming 初探 (2) - Currying 與 Composition

前言 今天會繼續來聊聊 FP 的一些重要觀念,而且會更偏向實際的做法,看看 Javascript 怎麼結合昨天聊到的 First-class、HoF、pure...

鐵人賽 Software Development DAY 9

技術 Day 09 - Type Signature

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

鐵人賽 Modern Web DAY 8

技術 Day 8 - Functional Programming 初探 (1) - HoF 與 Side Effects

前言 Functional Programming 其實是我相對不熟的主題,但因為在寫一些較難的程式時,往往會突然感受到有這些神奇的力量存在(?),再加上現在...

鐵人賽 Software Development DAY 8

技術 Day 08 - Transduce II

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

鐵人賽 Software Development DAY 7

技術 Day 07 - Transduce I

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

鐵人賽 Software Development DAY 6

技術 Day 06 - Lenses (Basic)

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

鐵人賽 Modern Web DAY 6

技術 Day 6 - Function 時空旅行 (1) - 參數優化

前言 Array 跟 Object 兩兄弟的故事告一段落了,接著是 Object 在外面養(?)的另外一個兄弟 - function 浪漫一點來說,functi...

鐵人賽 Software Development DAY 5

技術 Day 05 - Ramda

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

鐵人賽 Software Development DAY 4

技術 Day 04 - Function Composition

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

鐵人賽 Software Development DAY 3

技術 Day 03 - Curry

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

鐵人賽 Software Development DAY 2

技術 Day02 - Pure Function

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

鐵人賽 Software Development DAY 1

技術 Day 01 - Hi, Functional Programming

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

技術 mostly:functional 謝幕與片尾曲

The future is already here – it's just not evenly distributed.未來早就來臨了,然而它並不是平均分...

技術 mostly:functional 終章:Monad 的實體

可是我的心,比整個宇宙,還要大了那麼一點點。 -- 費爾南多‧佩索亞, 詩選:A Little Larger Than the Entire Universe...

鐵人賽 Software Development DAY 30

技術 mostly:functional 第二十九章:Monad 的法則

梅賈德斯不是照人類傳統的時間來記戴,而是著眼在一個世紀發生的生活故事,一切同時存在於一瞬間。 -- 加布列·賈西亞·馬奎斯, 百年孤寂 又一次來到牆的前面...

鐵人賽 Software Development DAY 29

技術 mostly:functional 第二十八章的試煉: Applicative 的證明

小測驗 我們在上一章的最開始,示範了元組上的 <*>,其中有一條是這樣寫的: pure (+8) <*> ("hello&...

鐵人賽 Software Development DAY 29

技術 mostly:functional 第二十八章:Applicative 的實體

建築跟外觀一樣散發著新穎的氣息,而格局跟上一間也相當類似。而這次大廳中央放著兩座雕塑,兩個之間看起來幾乎是一樣的,只是其中一個比較長一點。而跟之前建築裡的相比,...

鐵人賽 Software Development DAY 27

技術 mostly:functional 第二十六章的試煉:Functor 的證明

一樣是上次那個模仿 Maybe 行為的 type: -- Haskell 語法 data MightBe = NoThanks | Ok a deriving...

鐵人賽 Software Development DAY 27

技術 mostly:functional 第二十六章:升格,再一次升格,然後再…

在後面幾個比較深的房間裡,我訝異的發現,那些短箭頭,還能夠進化成更加特別的形狀… const 在 Monoid 的章節裡,我們看過了 id 這個什麼事都不...

鐵人賽 Software Development DAY 26

技術 mostly:functional 第二十五章:Functor 的實體

一進門,就看到矗立在大廳中央的雕像,有點像是箭頭,又有點像是管子。臺座周圍四散著一堆各自相異,但卻都比較短的箭頭。當我隨手拿起一個箭頭想看時,雕像一側呼吸般閃滅...

鐵人賽 Software Development DAY 25

技術 mostly:functional 第二十四章:Functor 的法則

…人被視為一個歷程,一個成為 (becoming) 的歷程。該模式相信,每一個人都可能改變。即使外在的改變很有限,內在的改變卻是可能的。這個信念是普世皆然、毫...

鐵人賽 Software Development DAY 29

技術 Functional Programming in Practice - Part 3

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

鐵人賽 Software Development DAY 24

技術 mostly:functional 第二十三章的試煉:Monoid 的證明*

我們可以自己實作一個模仿 Maybe 行為的 type: -- Haskell 語法 data MightBe = NoThanks | Ok a deriv...

鐵人賽 Software Development DAY 24

技術 mostly:functional 第二十三章:Monoid 的 Monoid

延著走道往下,我走過一個又一個的房間。忽然有一種奇怪的念頭浮上,我感覺其實每個房間裡的鏡子雖然看似迥異,但其實一直都是同一面鏡子。它只是跟隨著我,不斷的移動到下...

鐵人賽 Software Development DAY 23

技術 mostly:functional 第二十二章:Monoid 的實體

來到隔壁的建築,我發現這裡幾乎跟剛才那棟非常類似,房間的格局、配置、擺設。但不同的是,這裡的每一間房間,都有一面鏡子。 中綴與前綴 我們可以發現,Semi...

鐵人賽 Software Development DAY 28

技術 Functional Programming in Practice - Part 2

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

鐵人賽 Software Development DAY 27

技術 Functional Programming in Practice - Part 1

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

鐵人賽 Software Development DAY 22

技術 mostly:functional 第二十一章:Monoid 的法則

…那我告訴你一件有趣的事吧。----- 腦只是鏡子。連接在機械上的腦所生出的不是腦的原主意識,而是所接續的機械的意識。 -- 京極夏彥, 魍魎之匣 而當我...