——Chris Bell Learning Elixir at Made by Manyhtml
在今年奧蘭多的Elixir大會上演講以後,就常常有人問我:大家團隊是如何學習Elixir和OTP的?react
和學習其餘語言同樣,學習Elixir也須要付出時間,須要耐心。以咱們的經驗來看,對Ruby和JavaScript很熟練的工程師,可以很好地適應Elixir。不過,咱們發現,整體來講有三個難點:git
Programming Elixir, Dave Thomas (Pragmatic Programmers)
不要光看,要作練習。這樣你才能瞭解這門語言的方方面面。說實話,我沒有作徹底部的練習,可是我作完了OTP章節,而後本身開始了這方面的試驗。github
Exercism.io Exercises
我很喜歡這裏面的練習,類型不少。有些須要你花上一些時間來解決。我很享受這種簡短的編程練習。web
Cameron Price’s talk on Micropatterns from Empex 2016
一篇關於模式的有趣演講,適合剛開始學習Elixir的人。編程
Programming Phoenix: Chris McCord, Jose Valim and Bruce Tate (Pragmatic Programmers)
參考書中的聖經。咱們用它來搞清楚構建Phoenix應用的正確方法,它也是一個很好的Phoenix和Ecto入門書。設計模式
Writing a Blog Engine in Phoenix, Brandon Richie
教你從零開始構建Phoenix應用。socket
A Deep Dive into Ecto, Lew Parker
很詳細,有些內容有點過期。分佈式
Working with Ecto Associations and Embeds, Jose Valim
當我要處理Ecto中的Changeset和嵌套關係時,經常就會想到這篇文章。ide
這裏就開始深刻了。OTP並非一個巨大的庫,可是學會如何使用進程來構建軟件,確實是一道須要跨越的障礙。你還須要對BEAM有所瞭解。
Mix and OTP Guide, Elixir Lang
這對你熟悉一些基本概念頗有幫助。儘管看完了你可能還有些迷惑,但不要緊。
The Zen Of Erlang, Fred T-H
我找不到比這篇文章更好的對Erlang的歸納了。我數不清有多少次打開它。這是一篇長文,你須要準備好書籤。
Intro to OTP, Jesse J Anderson
從零開始構建一個GenServer,能幫助你理解它們是如何工做的。
The Most Basic Erlang Service -> Worker Pattern
一篇Supervisor的例子。沒有什麼特別的地方,可是一篇很好的介紹,關於以Erlang的方式構建軟件。
Designing for Scalability with Erlang/OTP, Francesco Cesarini, Steve Vinoski (O’Reilly Media)
大量優秀的設計模式和技巧。我剛開始讀,不過已經被人推薦過不少次了。
一位咱們的工程師,Eli,設計了一個小遊戲。你能夠經過它來學習。
這裏還有一些其它的遊戲,能幫助你開始學習:
咱們能夠用所學到的OTP知識來擴展它們,好比用Ecto來保存數據,用web sockets (Phoenix Channel) 來實時交流,甚至是分佈式和碎片化。