匿名函式可以有效的作為資料或參數傳遞,有著好用的靈活性。但我們總是會希望將相同功能的function進行封裝,方便找查與拿來使用,因此才會有模組(Module)...
因為Elixir是函數式的程式語言,因此function在elixir中是一等公民,可直接宣告存進變數中,也可以做為參數傳入其他函式做執行,基本上跟一般的資料型...
資料的不變性 (Immutability) Elixir是個函數式的程式語言,因此他有一個特性,也就是資料具有不變性。簡單講就是當一個資料被生成後就無法對其進...
Map (映射) Map是一種類似於JS的Object或是Python的Dictionary的資料型態,其表示法是用%{}包裹,並且以key => va...
Elixir Programming Language 是 Ruby Programmer José Valim 嘗試提升Ruby效能時,發現Ruby沒有適合的...
List (串列) 在elixir中,List串列是資料結構中的single-linked-list的實作,他長得像這樣:[1, "haha&quo...
元組 (Tuple) 元組是一組固定大小的記憶體空間,用大括號包裹,裡面可存放種型態的資料,並且與其他語言的陣列一樣,讀取所花的時間是O(1)。 iex(1)...
如同各個語言,elixir有整數,並且在不同的前綴下被視為不同進位的整數 iex(1)> 24 24 iex(2)> 0b11000 24 iex...
在各個不同的作業系統下,通常會有不同的安裝流程,所以安裝過程大家就自己去看官網的教學。安裝說明 安裝elixir的過程中,通常也會將erlang一起安裝下來,因...
這次開賽的主題,是因為在偶然間認識了elixir這個語言,其中函數式編程的概念,特別的吸引我。 如果去看官網的logo,可以看到一個大大的水滴狀,是非常好看的...
透過 30 天的文章,我們看過了絕大部份的 Elixir 語法、背景與哲學,說明了 Phoenix 的世界觀,並概略的瀏覽過各個組件的運作方式。藉著思考用什麼...
雖然我也很想趕快發個感想文結業,但是題目講不完只好再寫一篇。這一篇想來示範所謂的新的角度看程式的一個例子,就是不需要封裝與繼承,還是可以有多型這回事。 一點點理...
Elixir 繼承 Erlang 語言的特性,說平行運算是它最重要的功能也不為過。先前曾提到在 Elixir / Erlang 裡的 light-weight...
在討論 Phoenix 的 web.ex 之前,我們先來聊聊 Elixir 中我最喜歡的特性,macro。熟悉 Ruby 的人,可能會知道 Ruby 帶有許多好...
上一篇示範了如何做出一個會動的 Channel,接著要來解釋這些是怎麼運作了。在昨天我們修改過的檔案中,排除掉增加網頁元素的 templates/page/in...
Phoenix 在最初設計時,其中一個重要的目標就是想解決高併發的訊息傳送情境。雖然 Erlang / Elixir 原本就有 message passing...
測試跟文件是許多 developer 最不想面對,卻也是非常重要的部份。 Elixir 在相關工具的整合上非常用心,讓大家能輕鬆愉快養成寫文件與測試的好習慣。由...
之前幾次在 五倍紅寶石的 React 講座 裡,我都會這樣說: 人類在開發各式 Web 框架的過程中,意識到了其實 View 分為兩個部份,一是 view...
上一篇提到了 Context 及 Schema 的概念,這篇要來談談實作的部份。Phoenix 從最初就是採用 Ecto 這個函式庫來處理資料庫相關的事務。所以...
之前我們不斷的明示暗示 Phoenix 已經不太算是個 MVC framework 了 (雖然某些官方文件還是會用 MVC 這個字) 。最主要的原因,在於 20...
前情提要 經由 Endpoint 的 pipeline 處理,並依 URI 進行分派之後,connection 將會傳到的 Controller 的個別函式中。...
話說進行到了第二十篇還停在 Router,我幾乎要確定三十篇寫不完想講的東西了。一定是之前碎念太多了。今天要來繼續談 Router 的其它功能。 scope 在...
上一篇我們從 Endpoint 手中接過了 connection,裡面有經過初步處理的 HTTP request 內容。 在大多數的情況下,開發者很少需要自己寫...
Plug 在繼續解釋其它的元件之前,要先來解釋一下 Plug。Plug 是 elixir 網路應用間溝通界面的規範,官方有管理一個通用的實作。如果你熟悉 Rub...
本篇將介紹 Phoenix 的資料夾結構,及用於快速產生 CRUD 功能的模版生成指令。 接續上次的文章,我們來看看 hello_phx 資料夾裡目前有什麼東...
中場前言: Unlearnt what you know 請容我引用一句話做為開場: Command line interface is user frien...
本篇將解釋 mix project 的基本概念,以及各種函式的呼叫方式。 mix mix 是 elixir 內建的多功能指令。它可以用來新建專案、安裝管理函式庫...
Sigil 也是個鍊金術哏,中文的意思是「符文」。這個語法是為了統一各種情況所需的文字類表達式,並提供語言上擴充的空間,以符合各種不同領域的需求。 文字類表達式...
江湖上總有個傳言,說函數式編程的神人不需要 if 跟 else,只要 map, filter, reduce 就可以把事情都做完了。我覺得這個傳言該是要有中文版...
「不可變性」聽起來就怪怪的 談到函數式編程時,總是會看到 immutable 及它的名詞 immutability。我們今天就試著解釋這個觀念,及它在函數式編程...