iT邦幫忙

鐵人檔案

2018 iT 邦幫忙鐵人賽
回列表
Software Development

函數式編程: 從 Elixir & Phoenix 入門。 系列

Elixir 是個函數式,動態型別的程式語言。繼承了 Erlang 平行化,高容錯的特性及 Ruby 友善易讀的語法,是入門函數式編程很棒的起點。而基於 Elixir 開發的 Phoenix framework,則帶來了高生產力及優秀的分散式運算效能。

藉由 30 天循序漸進的範例與解說,就能讓你練習用全新的角度,來理解何謂程式及網頁框架。

鐵人鍊成 | 共 31 篇文章 | 35 人訂閱 訂閱系列文 RSS系列文
DAY 21

沒有很 thin 的 Controller

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

2018-01-09 ‧ 由 taiansu 分享
DAY 22

再會, model

之前我們不斷的明示暗示 Phoenix 已經不太算是個 MVC framework 了 (雖然某些官方文件還是會用 MVC 這個字) 。最主要的原因,在於 20...

2018-01-10 ‧ 由 taiansu 分享
DAY 23

不是 ORM,但是更好用: Ecto

上一篇提到了 Context 及 Schema 的概念,這篇要來談談實作的部份。Phoenix 從最初就是採用 Ecto 這個函式庫來處理資料庫相關的事務。所以...

2018-01-11 ‧ 由 taiansu 分享
DAY 24

View 與 Template

之前幾次在 五倍紅寶石的 React 講座 裡,我都會這樣說: 人類在開發各式 Web 框架的過程中,意識到了其實 View 分為兩個部份,一是 view...

2018-01-12 ‧ 由 taiansu 分享
DAY 25

測試與文件,and one more thing…

測試跟文件是許多 developer 最不想面對,卻也是非常重要的部份。 Elixir 在相關工具的整合上非常用心,讓大家能輕鬆愉快養成寫文件與測試的好習慣。由...

2018-01-13 ‧ 由 taiansu 分享
DAY 26

Channel.part_1

Phoenix 在最初設計時,其中一個重要的目標就是想解決高併發的訊息傳送情境。雖然 Erlang / Elixir 原本就有 message passing...

2018-01-14 ‧ 由 taiansu 分享
DAY 27

Channel.part_2

上一篇示範了如何做出一個會動的 Channel,接著要來解釋這些是怎麼運作了。在昨天我們修改過的檔案中,排除掉增加網頁元素的 templates/page/in...

2018-01-15 ‧ 由 taiansu 分享
DAY 28

Macro 及 web.ex

在討論 Phoenix 的 web.ex 之前,我們先來聊聊 Elixir 中我最喜歡的特性,macro。熟悉 Ruby 的人,可能會知道 Ruby 帶有許多好...

2018-01-16 ‧ 由 taiansu 分享
DAY 29

Elixir 中的平行運算

Elixir 繼承 Erlang 語言的特性,說平行運算是它最重要的功能也不為過。先前曾提到在 Elixir / Erlang 裡的 light-weight...

2018-01-17 ‧ 由 taiansu 分享
DAY 30

多型: Protocol

雖然我也很想趕快發個感想文結業,但是題目講不完只好再寫一篇。這一篇想來示範所謂的新的角度看程式的一個例子,就是不需要封裝與繼承,還是可以有多型這回事。 一點點理...

2018-01-18 ‧ 由 taiansu 分享