工作上用得到的函數式程式設計

-80%

工作上用得到的函數式程式設計

工作上用得到的函數式程式設計

工作上用得到的函數式程式設計

$540.00

In stock

$540.00

這門課將會透過容易上手的函數式語言 Elixir,教大家最重要的函數式程式設計觀念。接著介紹如何在 Ruby、JavaScript(也許還有一點 C#)上使用函數式程式設計的技巧。讓你寫出精簡、好除錯的漂亮程式碼!

Purchase this product now and earn 540 Points!
10 Points = $1

Description

工作上用得到的函數式程式設計

工作上用得到的函數式程式設計

隨著多核心電腦成為主流、分散式系統架構也成為顯學,函數式程式設計的重要性也與日俱增。跟物件導向程式設計相比,函數式程式設計著重於用更簡潔的方向表達程式碼真正的意圖。因此當學會用與物件導向程式程計不同的角度來寫程式後,可以讓你在切換不同的程式語言時依然能游刃有餘。

這門課將會透過容易上手的函數式語言 Elixir,教大家最重要的函數式程式設計觀念。接著介紹如何在 Ruby、JavaScript(也許還有一點 C#)上使用函數式程式設計的技巧。讓你寫出精簡、好除錯的漂亮程式碼!

透過這門課程,你將會學到:

工作上用得到的 Ruby / JavaScript 函數式程式設計手法。
函數式程式設計是什麼。
純函數式語言們寫起來是怎麼樣子。
函數式程式設計的基本概念、手法及好處。
好用的函數式 Library。

課程講師

蘇泰安 Taian Su
蘇泰安 Taian Su

三年電腦雜誌編輯,十年程式開發經驗。 Elixir.tw 及 RailsGirls Taiwan 共同主辦人。現任企業開發顧問及客座講師。專長為函數式及分散式編程,擅長 Elixir、JavaScript / React、Ruby 及 Haskell。

程式新手到進階必備!

不管你是前端工程師 、 Ruby 工程師或是擅長其他語言的前後端工程師,只要你是程式新手或是想要了解目前業界關注的 『函數式程式設計(Functional Programming)』的資深工程師,這門課都能讓你對寫程式這件事有全新的認識。

自 2014 Java SE 8 加入了 Lambda 功能之後,可說現代語言都有函數式程式設計的能力了。甚至在 Ruby 及 JavaScript 這類天生帶著函數式基因的語言裡,受限於舊的思考方式及長久以來的習慣,許多人還是持續用指令式的做法寫出繁瑣的程式。就算看了網路上的文章,也是會使用 map、reduce、filter 這些函式,卻不知道這背後有一整套優雅簡潔的世界觀。

為什麼要學函數式程式設計?

簡潔 + 強大 = 優雅

用更少的行數,更易懂的方式,寫出不容易出錯、好測試及閱讀的程式碼,也能看得懂 LeetCode 上厲害解法的思考脈絡了!

易於維護,容易閱讀和除錯

用全新的角度來理解程式組合及運作的方式。

跨程式語言的觀念

學會一種觀念,就能在 JavaScript、Ruby、Python、C# 3.0 及 Java 8.0 上寫出高效且漂亮優雅的解法。
課程大綱

投影片及補充教材

投影片

範例程式碼

Part 0 – 簡潔的程式碼與世界觀

預覽
簡介 (10:26)

函式裡面有什麼 part 1 (8:43)

函式裡面有什麼 part 2 (7:44)

為什麼要用 Elixir 教? (2:22)

Part 1 – Function 是什麼?

抽象系統 (8:37)

一等公民(First-Class Citizen) (7:10)

你的程式語言可不可以做這件事? (9:04)

Elixir 中的兩種函式:具名與匿名 (8:32)

為什麼要區分具名與匿名這兩種函式? (4:37)

閉包(Closure) (4:56)

不可變性(Immutable)part 1 (5:15)

不可變性(Immutable)part 2 (6:28)

其它語言是怎麼設計的?part 1 (3:47)

其它語言是怎麼設計的?part 2 – Ruby 篇 (13:01)

其它語言是怎麼設計的?part 3 – JavaScript 篇 (2:15)

小結 (2:02)

Part 2 – Pattern Matching

初試 Pattern Matching (9:03)

利用 Pattern Matching 把結構裡的東西拆出來 (12:30)

List 跟 Array 有什麼不一樣? (10:18)

不是只有等號裡有 Pattern Matching (1:18)

為什麼函數式很少用 if … else …? (4:55)

【練習】FizzBuzz (1:50)

【解答】FizzBuzz (3:50)

switch … case 或 case … when 語法 (5:16)

JavaScript 上的 Pattern Matching (2:54)

Part 3 – 遞迴與高階函式

map 跟 each(或 for loop)的差別 (4:48)

遞迴 (3:36)

遞迴的問題 (3:22)

尾呼叫優化(Tail Call Optimization) (7:08)

遞迴與 reduce (5:30)

接收函式的函式 – map 與 filter (6:25)

並行(Concurrent)與平行(Parallel) (6:37)

使用 Zip 函式來注入依賴 (8:47)

flat_map 函式與 wrap 函式的組合技 (12:13)

Pipe Operator (7:04)

Functional Programming 的核心概念 (4:41)

Part 4 – 函式的組合

函式組合 (6:57)

資料轉換 (3:13)

Elixir 與 Erlang part 1 – 背景簡介 (10:23)

Elixir 與 Erlang part 2 – supervisor 與 worker (7:30)

Elixir 與 Erlang part 3 – Phoenix 裡的 LiveView (6:15)

Elixir 與 Erlang part 4 – 小結 (2:35)

Curry Function part 1 – 函式的參數數量不正確會發生什麼事? (6:56)

Curry Function part 2 – Ruby 實作版 (12:06)

Curry Function part 3 – JavaScript 實作版 (11:11)

Curry Function part 4 – Elixir 實作版 (5:26)

方法(Method)vs 函式(Function) (7:33)

在 mutable 語言中做出 closure (1:14)

decorator – 原理介紹 (9:25)

decorator – 使用 JavaScript 與 Ruby 實作 (10:06)

Railway Oriented Programming (12:07)

Optional Chainning (4:18)

抽象層級與函式的型狀 (8:00)

Part 5 – 把 FP 的概念用在其它語言上

整體策略 (6:38)

連續操作過程中印資料 (9:38)

JavaScript 篇 (6:57)

Ruby 篇 (9:26)

Part 6 – 型別系統、容錯、平行化、Macro

型別系統 (9:04)

Macro (10:59)

容錯與平行化 (15:12)

小結 (8:08)

現在就!

Get 工作上用得到的函數式程式設計 download

常見問題

這個課程將於何時呢?
本課程目前已錄製完成並全部上線,想要,隨時都可以囉!
這個線上課程可以收看多久?要如何收看?
在您付款完成後,這門線上課程即能無限次數、永久收看,不用擔心過期喔! 課程上線後,隨時隨地都可以透過手機、平板、與電腦線上觀看課程影片,沒有時間和地點的問題!
這堂課有實體課程嗎?
有的,歡迎到我們的網站 https://5xruby.tw/ 查看相關課程資訊。
我沒有信用卡,該怎麼繳費呢?
除了信用卡外,您也可以使用 ATM 轉帳或銀行匯款,匯款帳號資訊:
玉山銀行 城中分行(代碼 808)
帳號:0532-940-108506
戶名:五倍紅寶石程式資訊教育股份有限公司

請報名並匯款至以上指定帳戶後,請來信至 [email protected] 並附上您在本網站註冊之帳號,在一個工作天內將為您確認並幫您加入此課程。
如果我對課程有問題,該如何詢問呢?
若您對課程內容有任何問題,您可以透過以下管道諮詢:

在有問題的章節下方留言
Email 來信 [email protected] 或 Facebook 訊息討論
若您在北部,我們每個星期二晚上在五倍紅寶石辦公室都有舉辦「默默會」活動,您可以帶著您的問題來與大家一起討論喔!

如果我覺得課程跟想像的有落差,該如何退款?
如果您加入此門課程後 7 天內覺得不滿意,您可以隨時與我們聯繫,我們會協助您辦理退款。(將扣除刷卡手續費)
如果您對課程還有任何問題…
歡迎與我們聯絡 [email protected] !

Read more: https://archive.is/RuBqz

Reviews

There are no reviews yet.


Be the first to review “工作上用得到的函數式程式設計”