作為三十天鐵人挑戰賽的第一篇,我想先說明一下系列選題的緣起。標題中除了前三種常見熱門框架之外,Phoenix (Elixir)目前還非常罕見,Sinatra(R...
什麼是 Elixir Elixir 是個函數式,動態型別的程式語言。繼承 Erlang 可分散,高容錯的特性,作者 José Valim 希望能在保持 Erla...
這幾天陸續比較了Sinatra、Laravel、Django接下來自然是輪到Phoenix如果有人擔心在前五天就比較完所有框架,那接下來的二十幾天要寫什麼怎麼辦...
在討論 Phoenix 的 web.ex 之前,我們先來聊聊 Elixir 中我最喜歡的特性,macro。熟悉 Ruby 的人,可能會知道 Ruby 帶有許多好...
在繼續更多功能以前,我們先處理一下網站樣式。這邊會套用Bootstrap作為前端的樣板:Bootstrap是由Twitter所開發的一套前端樣式工具包,廣受後端...
ORM 是現在動態網站架構中幾乎不可或缺的一部分在Rails有 ActiveRecord、Laravel 是Eloquent,Django則是 QuerySet...
今天結束以後,Phoenix新手教學暫時要告一個段落我當然知道還有很多博大精深的內容可以分享但畢竟我系列的主題不是Phoenix教學而是網站框架的比較我認為如果...
今天的內容原本是昨天的後半部但介紹完Elixir之後,如果把Phoenix環境與概述講完感覺篇幅有點略長,安裝切一半又很奇怪不如整篇作為一個獨立的文章,方便有興...
本篇將介紹 Phoenix 的資料夾結構,及用於快速產生 CRUD 功能的模版生成指令。 接續上次的文章,我們來看看 hello_phx 資料夾裡目前有什麼東...
接續昨天的進度,現在我們有一個乾淨的Phoenix專案首先來新增一個靜態頁面 新增路由 (Router) 打開lib/hello_phoenix/web/rou...
上一篇示範了如何做出一個會動的 Channel,接著要來解釋這些是怎麼運作了。在昨天我們修改過的檔案中,排除掉增加網頁元素的 templates/page/in...
之前幾次在 五倍紅寶石的 React 講座 裡,我都會這樣說: 人類在開發各式 Web 框架的過程中,意識到了其實 View 分為兩個部份,一是 view...
上一篇提到了 Context 及 Schema 的概念,這篇要來談談實作的部份。Phoenix 從最初就是採用 Ecto 這個函式庫來處理資料庫相關的事務。所以...
Plug 在繼續解釋其它的元件之前,要先來解釋一下 Plug。Plug 是 elixir 網路應用間溝通界面的規範,官方有管理一個通用的實作。如果你熟悉 Rub...
測試跟文件是許多 developer 最不想面對,卻也是非常重要的部份。 Elixir 在相關工具的整合上非常用心,讓大家能輕鬆愉快養成寫文件與測試的好習慣。由...
之前我們不斷的明示暗示 Phoenix 已經不太算是個 MVC framework 了 (雖然某些官方文件還是會用 MVC 這個字) 。最主要的原因,在於 20...
前情提要 經由 Endpoint 的 pipeline 處理,並依 URI 進行分派之後,connection 將會傳到的 Controller 的個別函式中。...
過去兩天我們分別介紹了Django與Laravel的console模式與基礎ORM操作今天我們回過頭講解Phoenix的部分 首先,進入介面的指令如下: $ i...
Phoenix 在最初設計時,其中一個重要的目標就是想解決高併發的訊息傳送情境。雖然 Erlang / Elixir 原本就有 message passing...
Phoenix 效能 對於10M到100M的行的簡單查詢來說,Phoenix 要勝過 Hive。對於使用了 HBase API、協同處理器及自定義過濾器的 I...
倒數三天才討論這個主題有點奇怪,坦白說還真的差點忘了之前還沒有做這樣的比較。雖然說Phoenix與Rails高度相似,但也不是說這個主題完全沒有可說明之處。 說...
之前Phoenix的部分示範到如何快速產生CRUD頁面,這對新手來說自然是遠遠不足的,所以既然鐵人賽還有時間,接下來會示範如何用Phoenix建立一個購物網站。...
話說進行到了第二十篇還停在 Router,我幾乎要確定三十篇寫不完想講的東西了。一定是之前碎念太多了。今天要來繼續談 Router 的其它功能。 scope 在...
基本的CRUD完成後,我們要試著挑戰稍微進階一點的功能,例如今天的上傳圖片。 新增欄位 首先我們在產品的model中新增圖片的欄位: $ mix ecto.ge...
上一篇我們從 Endpoint 手中接過了 connection,裡面有經過初步處理的 HTTP request 內容。 在大多數的情況下,開發者很少需要自己寫...
我們用Plug來實作登入的檢驗。首先新增一個新的controller,lib/shop_web/controllers/auth.ex: defmodule S...
中場前言: Unlearnt what you know 請容我引用一句話做為開場: Command line interface is user frien...
在了解LiveView之前,我們先看個影片,先對他有基本的認識再開始。 特性 用戶高互動性LiveView 是 Phoenix 推出的一個能夠提供開發者...
祝各位聖誕佳節愉快! 建立User model 在1.3.0以後拿掉了mix phoenix.gen.model,所以我們改用mix phx.gen.schem...
這篇文章,要來做一個最簡單的 LiveView 範例,簡單了解一下他怎麼用,體會一下他的運作方式。 首先,利用 mix phx.new live_view_...