工作上用得到的函數式程式設計
$2,700.00 Original price was: $2,700.00.$513.00Current price is: $513.00.
隨著多核心電腦成為主流、分散式系統架構也成為顯學,函數式程式設計的重要性也與日俱增。跟物件導向程式設計相比,函數式程式設計著重於用更簡潔的方向表達程式碼真正的意圖。因此當學會用與物件導向程式程計不同的角度來寫程式後,可以讓你在切換不同的程式語言時依然能游刃有餘。
工作上用得到的函數式程式設計
隨著多核心電腦成為主流、分散式系統架構也成為顯學,函數式程式設計的重要性也與日俱增。跟物件導向程式設計相比,函數式程式設計著重於用更簡潔的方向表達程式碼真正的意圖。因此當學會用與物件導向程式程計不同的角度來寫程式後,可以讓你在切換不同的程式語言時依然能游刃有餘。
這門課將會透過容易上手的函數式語言 Elixir,教大家最重要的函數式程式設計觀念。接著介紹如何在 Ruby、JavaScript(也許還有一點 C#)上使用函數式程式設計的技巧。讓你寫出精簡、好除錯的漂亮程式碼!
透過這門課程,你將會學到:
工作上用得到的 Ruby / JavaScript 函數式程式設計手法。
函數式程式設計是什麼。
純函數式語言們寫起來是怎麼樣子。
函數式程式設計的基本概念、手法及好處。
好用的函數式 Library。
Get immediately download 工作上用得到的函數式程式設計
課程講師
蘇泰安 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)
Read more: https://archive.li/RuBqz
Course Features
-
Lectures
0 -
Quizzes
0 -
Duration
50 hours -
Skill level
All levels -
Language
English -
Students
400 -
Assessments
Yes
Q & A
Ask a question
Your question will be answered by a store representative or other customers.
Thank you for the question!
Your question has been received and will be answered soon. Please do not submit the same question again.
Error
An error occurred when saving your question. Please report it to the website administrator. Additional information:
Add an answer
Thank you for the answer!
Your answer has been received and will be published soon. Please do not submit the same answer again.
Error
An error occurred when saving your answer. Please report it to the website administrator. Additional information:
Related products
SEO & Design Website
SEO & Design Website
SEO & Design Website
Jason Miles – Shopify Power: Build An Ecommerce Website Using Shopify
SEO & Design Website
SEO & Design Website
SEO & Design Website
SEO & Design Website
SEO & Design Website
Reviews
There are no reviews yet