You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: install.markdown
+2
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,8 @@ layout: default
7
7
8
8
# Install
9
9
10
+
{% include toc.html %}
11
+
10
12
The quickest way to install Elixir is through a distribution or using one of the available installers. If not available, then we recommend the precompiled packages or compiling it.
11
13
12
14
Note that Elixir {{ stable.name }} requires Erlang {{ stable.minimum_otp }} or later. Many of the instructions below will automatically install Erlang for you. In case they do not, read the "Installing Erlang" section below.
Copy file name to clipboardExpand all lines: learning.markdown
+61-59
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,8 @@ layout: default
6
6
7
7
# Learning
8
8
9
+
{% include toc.html %}
10
+
9
11
Our website provides a [Getting Started guide](/getting-started/introduction.html) to learn more about Elixir's foundations and explore how to build projects with [Mix and OTP](/getting-started/mix-otp/introduction-to-mix.html). Elixir also includes [extensive API documentation](/docs.html). If you already know Erlang and you want to know Elixir (or vice-versa), check out our [Crash Course for Erlang developers](/crash-course.html).
10
12
11
13
Outside of our website, the Elixir Community has also produced plenty of resources to explore Elixir from different backgrounds and other perspectives. We are sure you will find a resource that suits your pace and goals.
@@ -90,6 +92,42 @@ If you're a new Elixir developer who's gone through some basic Elixir tutorials
90
92
91
93
<divclass="clear"></div>
92
94
95
+
## In-depth books
96
+
97
+
<h4class="resource">Metaprogramming Elixir</h4>
98
+
99
+
<a class="cover" href="https://pragprog.com/book/cmelixir/metaprogramming-elixir" title="Metaprogramming Elixir: Write Less Code, Get More Done and Have Fun
100
+
– by Chris Mccord"><imgsrc="/images/learning/metaprogramming-elixir.jpg"alt="Metaprogramming Elixir cover"width="190" /></a>
101
+
102
+
Write code that writes code with Elixir macros. Macros make metaprogramming possible and define the language itself. In this book, you'll learn how to use macros to extend the language with fast, maintainable code and share functionality in ways you never thought possible. You'll discover how to extend Elixir with your own first-class features, optimize performance, and create domain-specific languages.
103
+
104
+
<divclass="clear"></div>
105
+
106
+
<h4class="resource">Designing Elixir Systems with OTP</h4>
107
+
108
+
<a class="cover" href="https://pragprog.com/book/jgotp/designing-elixir-systems-with-otp" title="Designing Elixir Systems with OTP: Write Highly Scalable, Self-Healing Software with Layers
109
+
– by James Edward Gray, II and Bruce A. Tate"><imgsrc="/images/learning/designing-elixir-systems.jpg"alt="Designing Elixir Systems with OTP cover"width="190" /></a>
110
+
111
+
You know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that's kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what's happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus.
112
+
113
+
<divclass="clear"></div>
114
+
115
+
<h4class="resource">Concurrent Data Processing in Elixir</h4>
116
+
117
+
<aclass="cover"href="https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir"title="Concurrent Data Processing in Elixir – by Svilen Gospodinov"><imgsrc="/images/learning/concurrent-data-processing.jpg"alt="Concurrent Data Processing cover"width="190" /></a>
118
+
119
+
Learn different ways of writing concurrent code in Elixir and increase your application’s performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that’s not only fast, but also resilient to errors and easy to scale.
120
+
121
+
<divclass="clear"></div>
122
+
123
+
<h4class="resource">Erlang in Anger</h4>
124
+
125
+
<aclass="cover"href="http://www.erlang-in-anger.com"title="Erlang in Anger – by Fred Hebert"><imgsrc="/images/learning/erlang-in-anger.png"alt="Erlang in Anger cover"width="190" /></a>
126
+
127
+
This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang.
Elixir flashcards are a set of beautifully crafted, professionally printed, poker sized flashcards to help you master the Elixir language.
146
-
147
-
Flashcards are a great way to highlight knowledge gaps, identify misconceptions or false beliefs, and help you memorise key concepts.
148
-
When used in groups or teams, flashcards can help spark interesting discussions, and help bring people together to learn in a fun way by playing games.
149
-
150
-
Combined with books, tutorials and screencasts, using flashcards is the killer combination to master Elixir.
Elixir koans is a fun, easy way to get started with the Elixir programming language. It is an idiomatic tour of the language.
159
-
160
-
<divclass="clear"></div>
161
-
162
-
<h4class="resource">Exercism.io</h4>
163
-
164
-
<aclass="cover"href="https://exercism.io/tracks/elixir"title="Elixir Track on Exercism.io"> <imgsrc="https://assets.exercism.io/tracks/elixir-bordered-turquoise.png"alt="Exercism.io Elixir track"width="190" /></a>
165
-
166
-
Exercism.io is an open source platform that provides free practice and mentoring in many languages, including Elixir.
167
-
It features exercises of varying difficulty, from string processing to using OTP, that are mentored by volunteers.
168
-
Once you have completed an exercise you can also view other students' solutions.
169
-
170
-
<divclass="clear"></div>
171
-
172
-
<h4class="resource">Running in Production Podcast</h4>
173
-
174
-
<aclass="cover"href="https://runninginproduction.com/tags/elixir"title="Running in Production Podcast"><imgsrc="/images/learning/running-in-production-logo.jpg"alt="Running in Production Podcast"width="190" /></a>
175
-
176
-
Running in Production is a podcast where developers and engineers talk about
177
-
running small and large Elixir / Phoenix web apps in production.
178
-
179
-
Topics include tech stacks, success stories, lessons learned and deployment tips.
180
-
181
-
<divclass="clear"></div>
182
-
183
177
## Screencasts
184
178
185
179
<h4class="resource">LearnElixir.tv</h4>
@@ -216,38 +210,46 @@ Alchemist Camp is aimed at people who have some web development experience and w
216
210
217
211
<divclass="clear"></div>
218
212
219
-
## In-depth Resources
213
+
## Other resources
220
214
221
-
<h4class="resource">Metaprogramming Elixir</h4>
215
+
<h4class="resource">Elixir Flashcards</h4>
222
216
223
-
<a class="cover" href="https://pragprog.com/book/cmelixir/metaprogramming-elixir" title="Metaprogramming Elixir: Write Less Code, Get More Done and Have Fun
224
-
– by Chris Mccord"><imgsrc="/images/learning/metaprogramming-elixir.jpg"alt="Metaprogramming Elixir cover"width="190" /></a>
Write code that writes code with Elixir macros. Macros make metaprogramming possible and define the language itself. In this book, you'll learn how to use macros to extend the language with fast, maintainable code and share functionality in ways you never thought possible. You'll discover how to extend Elixir with your own first-class features, optimize performance, and create domain-specific languages.
219
+
Elixir flashcards are a set of beautifully crafted, professionally printed, poker sized flashcards to help you master the Elixir language.
220
+
221
+
Flashcards are a great way to highlight knowledge gaps, identify misconceptions or false beliefs, and help you memorise key concepts.
222
+
When used in groups or teams, flashcards can help spark interesting discussions, and help bring people together to learn in a fun way by playing games.
223
+
224
+
Combined with books, tutorials and screencasts, using flashcards is the killer combination to master Elixir.
227
225
228
226
<divclass="clear"></div>
229
227
230
-
<h4class="resource">Designing Elixir Systems with OTP</h4>
228
+
<h4class="resource">Elixir Koans</h4>
231
229
232
-
<a class="cover" href="https://pragprog.com/book/jgotp/designing-elixir-systems-with-otp" title="Designing Elixir Systems with OTP: Write Highly Scalable, Self-Healing Software with Layers
233
-
– by James Edward Gray, II and Bruce A. Tate"><imgsrc="/images/learning/designing-elixir-systems.jpg"alt="Designing Elixir Systems with OTP cover"width="190" /></a>
You know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that's kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what's happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus.
232
+
Elixir koans is a fun, easy way to get started with the Elixir programming language. It is an idiomatic tour of the language.
236
233
237
234
<divclass="clear"></div>
238
235
239
-
<h4class="resource">Concurrent Data Processing in Elixir</h4>
236
+
<h4class="resource">Exercism.io</h4>
240
237
241
-
<aclass="cover"href="https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir"title="Concurrent Data Processing in Elixir – by Svilen Gospodinov"><imgsrc="/images/learning/concurrent-data-processing.jpg"alt="Concurrent Data Processing cover"width="190" /></a>
238
+
<aclass="cover"href="https://exercism.io/tracks/elixir"title="Elixir Track on Exercism.io"> <imgsrc="https://assets.exercism.io/tracks/elixir-bordered-turquoise.png"alt="Exercism.io Elixir track"width="190" /></a>
242
239
243
-
Learn different ways of writing concurrent code in Elixir and increase your application’s performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that’s not only fast, but also resilient to errors and easy to scale.
240
+
Exercism.io is an open source platform that provides free practice and mentoring in many languages, including Elixir.
241
+
It features exercises of varying difficulty, from string processing to using OTP, that are mentored by volunteers.
242
+
Once you have completed an exercise you can also view other students' solutions.
244
243
245
244
<divclass="clear"></div>
246
245
247
-
<h4class="resource">Erlang in Anger</h4>
246
+
<h4class="resource">Running in Production Podcast</h4>
248
247
249
-
<aclass="cover"href="http://www.erlang-in-anger.com"title="Erlang in Anger – by Fred Hebert"><imgsrc="/images/learning/erlang-in-anger.png"alt="Erlang in Anger cover"width="190" /></a>
248
+
<aclass="cover"href="https://runninginproduction.com/tags/elixir"title="Running in Production Podcast"><imgsrc="/images/learning/running-in-production-logo.jpg"alt="Running in Production Podcast"width="190" /></a>
250
249
251
-
This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang.
250
+
Running in Production is a podcast where developers and engineers talk about
251
+
running small and large Elixir / Phoenix web apps in production.
252
+
253
+
Topics include tech stacks, success stories, lessons learned and deployment tips.
0 commit comments