iT邦幫忙

functional programming相關文章
共有 288 則文章
鐵人賽 自我挑戰組 DAY 24

技術 Good Morning, Functional JS (Day 23, Immutability 值不可變性)

本系列文章,內容以探討 Kyle Simpson. Functional-Light JavaScript 一書內容為主 目標:是讀懂 FP,能用 code...

鐵人賽 Software Development DAY 9

技術 More FlatMap : List and Try

今天再來講多一點 flatMap 的例子吧!首先從 List 開始! FlatMap for List 一樣先看例子,以下這個例子的目標是分解句子中的單字,其中...

鐵人賽 Software Development DAY 21

技術 沒有很 thin 的 Controller

前情提要 經由 Endpoint 的 pipeline 處理,並依 URI 進行分派之後,connection 將會傳到的 Controller 的個別函式中。...

鐵人賽 Software Development DAY 13

技術 Algebraic Data Type II

Algebraic Data Type 的 0 與 1 在數學中,我們都知道數字 0 ,0 乘任何數字都是 0 、 0 加上任何數字的話就是該數字本身 ,或是...

鐵人賽 Software Development DAY 3

技術 Day 03 - Curry

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

鐵人賽 Software Development DAY 13

技術 條件分支,還有不是你以為的那個 for

江湖上總有個傳言,說函數式編程的神人不需要 if 跟 else,只要 map, filter, reduce 就可以把事情都做完了。我覺得這個傳言該是要有中文版...

鐵人賽 Software Development DAY 10

技術 集合: List, Tuple, Keyword List 及 Map

之前提過,在 OO 語言裡,認為資料及操作一群相關的資料的行為應該放在同一個地方,形成「物件」這種概念。 而在函數式編程裡,卻用完全不同的角度在看待資料結構以及...

鐵人賽 Software Development DAY 20

技術 Day 20 - Maybe Monad II (Piping)

Review 前一篇文章我們談到了如何實作一個 Maybe Monad,而其主要的功能就是處理無值的情境,今天我們要來介紹另外一種寫法去實作 Maybe Mon...

鐵人賽 Software Development DAY 14

技術 Sigil 及 Struct

Sigil 也是個鍊金術哏,中文的意思是「符文」。這個語法是為了統一各種情況所需的文字類表達式,並提供語言上擴充的空間,以符合各種不同領域的需求。 文字類表達式...

鐵人賽 Modern Web DAY 3
學會Elm寫前端 系列 第 3

技術 03 瞭解 Elm 裡的 function

everything is an expression 我不太知道expression 在中文要怎麼翻?叫做表達式好了。在elm或是其他functional p...

鐵人賽 自我挑戰組 DAY 9

技術 Good Morning, JS (Day 8, Spread and Gather)

本系列文章,內容以探討 Kyle Simpson. Functional-Light JavaScript 一書內容為主 目標:是讀懂 FP,能用 code...

鐵人賽 自我挑戰組 DAY 8

技術 Good Morning, JS (Day 7, 敲敲打打玩轉 function)

本系列文章,內容以探討 Kyle Simpson. Functional-Light JavaScript 一書內容為主 目標:是讀懂 FP,能用 code...

鐵人賽 Software Development DAY 15

技術 mix 專案,與使用其它模組裡的函式

本篇將解釋 mix project 的基本概念,以及各種函式的呼叫方式。 mix mix 是 elixir 內建的多功能指令。它可以用來新建專案、安裝管理函式庫...

鐵人賽 自我挑戰組 DAY 16

技術 Good Morning, Functional JS (Day 15, Composition part 1)

本系列文章,內容以探討 Kyle Simpson. Functional-Light JavaScript 一書內容為主 目標:是讀懂 FP,能用 code...

鐵人賽 自我挑戰組 DAY 17

技術 Good Morning, Functional JS (Day 16, Composition part 2)

本系列文章,內容以探討 Kyle Simpson. Functional-Light JavaScript 一書內容為主 目標:是讀懂 FP,能用 code...

鐵人賽 Software Development DAY 14

技術 Introduce Monoid

上一篇的解答: sealed class Either<A, B>() { class Left<A, B>(val valu...

鐵人賽 Modern Web DAY 8

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

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

鐵人賽 Software Development DAY 19

技術 Curried function

前面看過兩次,今天終於要來介紹咖哩(誤)了,坦白說,在我的日常開發中並不會使用到這個概念,所以我沒辦法說服自己說,這是一個很方便的東西,以下到內容是我查閱資料整...

鐵人賽 Software Development DAY 6

技術 Non-deterministic, side effect and Try

今天要來談談“意外”這件事,沒有人喜歡“意外”對吧?尤其是 PM 或是 QA 的神之手,有時候就是會給你“意外”的操作出一些 bug ,而你又重現不出來時,要怎...

鐵人賽 Software Development DAY 11

技術 Day 11 - Algebraic Data Types

yo, what's up? Product Type Product types 允許同時存在兩種以上的資料型態在內 舉例來說現在我們建立一個特別的型別叫...

鐵人賽 Software Development DAY 1

技術 在開始之前…

簡介字數不夠用,但是又有不得不碎念的事,只好放到這邊來了。下一篇才是預想中真正的開始。 這系列是想來講個故事。一個關於函數式程式設計的故事。 本來是這樣開始寫的...

鐵人賽 Modern Web DAY 10
Javascript 從寫對到寫好 系列 第 10

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

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

鐵人賽 Software Development DAY 5

技術 Day 05 - Ramda

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

鐵人賽 自我挑戰組 DAY 23

技術 Good Morning, Functional JS (Day 22, 減少副作用的方法)

本系列文章,內容以探討 Kyle Simpson. Functional-Light JavaScript 一書內容為主 目標:是讀懂 FP,能用 code...

鐵人賽 Software Development DAY 19

技術 Router.part_1

上一篇我們從 Endpoint 手中接過了 connection,裡面有經過初步處理的 HTTP request 內容。 在大多數的情況下,開發者很少需要自己寫...

鐵人賽 Modern Web DAY 14

技術 Day 14:什麼是純函式 ?(2):抽象化

在前一章節中,我們聊到如何透過撰寫純函式,來幫我們的函式進行優化。 然而在剛開始寫程式時,我其實很難將函式中一些重複性的概念抽離出來,於是會寫出一些「過於流程化...

鐵人賽 Software Development DAY 9

技術 基本型別及運算

今天來說明幾種 Elixir 中的基本型別及一些常用到的語法細節,比較簡單的部份就直接寫 code 不說明了。 註解 # 註解 do_something() #...

鐵人賽 Software Development DAY 16

技術 那種會從灰燼裡復活的鳥: Phoenix

中場前言: Unlearnt what you know 請容我引用一句話做為開場: Command line interface is user frien...

鐵人賽 Software Development DAY 6

技術 Day 06 - Lenses (Basic)

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

技術 匿名函數遞迴

遞迴是在函數中呼叫自己形成的,但是匿名函數沒有名字,要怎麼讓它遞迴?最近比較有空了,所以來試試看,也稍微練練手,究竟很久沒寫文。(其實是因為快被火了,就做到月底...