forked from elixir-lang/elixir-lang.github.com
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlearning.html
More file actions
406 lines (282 loc) · 24.9 KB
/
Copy pathlearning.html
File metadata and controls
406 lines (282 loc) · 24.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Learning resources - Elixir</title>
<link href="http://feeds.feedburner.com/ElixirLang" rel="alternate" title="Elixir's Blog" type="application/atom+xml" />
<link rel="stylesheet" type="text/css" href="/css/style.css" />
<link rel="stylesheet" type="text/css" href="/css/syntax.css" />
<link rel="stylesheet" href="/js/icons/style.css">
<!--[if lt IE 8]><!-->
<link rel="stylesheet" href="/js/icons/ie7/ie7.css">
<!--<![endif]-->
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" id="font-bitter-css" href="//fonts.googleapis.com/css?family=Bitter:400,700" type="text/css" media="screen" />
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" title="elixir-lang.org" href="/opensearch.xml" />
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-8268430-6"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-8268430-6');
</script>
<!-- Begin Jekyll SEO tag v2.2.3 -->
<meta property="og:title" content="Learning resources" />
<meta property="og:locale" content="en_US" />
<link rel="canonical" href="https://elixir-lang.org/ja/learning.html" />
<meta property="og:url" content="https://elixir-lang.org/ja/learning.html" />
<script type="application/ld+json">
{"@context":"http://schema.org","@type":"WebPage","headline":"Learning resources","url":"https://elixir-lang.org/ja/learning.html"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body class="learning">
<div id="container">
<div class="wrap">
<div id="header">
<div id="branding">
<a id="site-title" href="/" title="Elixir" rel="Home">
<img class="logo" src="/images/logo/logo.png" alt="Elixir Logo" />
</a>
</div>
<div id="menu-primary" class="menu-container">
<div class="menu">
<ul id="menu-primary-items">
<li class="menu-item home"><a class="spec" href="/">Home</a></li>
<li class="menu-item install"><a class="spec" href="/install.html">Install</a></li>
<li class="menu-item getting-started"><a class="spec" href="/getting-started/introduction.html">Guides</a></li>
<li class="menu-item learning"><a class="spec" href="/learning.html">Learning</a></li>
<li class="menu-item docs"><a class="spec" href="/docs.html">Docs</a></li>
<li class="menu-item development"><a class="spec" href="/development.html">Development</a></li>
<li class="menu-item blog"><a class="spec" href="/blog/">Blog</a></li>
<li class="menu-item packages"><a class="spec" href="https://hex.pm/">Packages</a></li>
</ul>
</div>
</div>
<div class="clear"></div>
</div>
<div id="main">
<div id="content">
<h1 id="learning-resources">Learning resources</h1>
<div id="toc" class="toc"></div>
<p>Our website provides a <a href="/getting-started/introduction.html">Getting Started guide</a> to learn more about Elixir’s foundation and explore how to build projects with <a href="getting-started/mix-otp/introduction-to-mix.html">Mix and OTP</a>.</p>
<p>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 follows your pace and interests.</p>
<h2 id="books">Books</h2>
<h4 class="resource">Programming Elixir 1.6</h4>
<p><a class="cover" href="https://pragprog.com/book/elixir16/programming-elixir-1-6" title="Programming Elixir 1.6: Functional |> Concurrent |> Pragmatic |> Fun – by Dave Thomas"><img src="/images/learning/programming-elixir-1-6.jpg" alt="Programming Elixir cover" width="190" /></a></p>
<p>This book is the introduction to Elixir for experienced programmers, completely updated for Elixir 1.6 and beyond. Explore functional programming without the academic overtones (tell me about monads just one more time). Create concurrent applications, but get them right without all the locking and consistency headaches.</p>
<p>Meet Elixir, a modern, functional, concurrent language built on the rock-solid Erlang VM. Elixir’s pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. Maybe the time is right for the Next Big Thing. Maybe it’s Elixir.</p>
<div class="clear"></div>
<h4 class="resource">Elixir in Action</h4>
<p><a class="cover" href="https://www.manning.com/books/elixir-in-action-second-edition" title="Elixir in Action – by Saša Jurić"><img src="/images/learning/elixir-in-action.jpg" alt="Elixir in Action cover" width="190" /></a></p>
<p>Elixir in Action is a tutorial book that aims to bring developers new to Elixir and Erlang to the point where they can develop complex systems on their own. No knowledge about Elixir, Erlang, or functional programming is required, but it is assumed that a reader has a few years of production experience using mainstream OO languages, for example C#, Java, Python, or Ruby.</p>
<p>The book starts with a basic introduction to the Elixir language and functional programming idioms. The central part of the book deals with Erlang VM and OTP, discussing topics such as concurrent programming, fault-tolerance, and distributed systems. Finally, you’ll learn how to package your code into components, create a standalone deployable release, and troubleshoot the running system. The theory is demonstrated through a simplistic example that is gradually expanded throughout the book into a fully standalone releasable system.</p>
<div class="clear"></div>
<h4 class="resource">Adopting Elixir</h4>
<p><a class="cover" href="https://pragprog.com/book/tvmelixir/adopting-elixir" title="Adopting Elixir: From Concept to Production – by Ben Marx, José Valim, Bruce Tate"><img src="/images/learning/adopting-elixir.jpg" alt="Programming Elixir cover" width="190" /></a></p>
<p>Adoption is more than programming. Elixir is an exciting new language, but to successfully get your application from start to finish, you’re going to need to know more than just the language. You need the case studies and strategies in this book.</p>
<p>Learn the best practices for the whole life of your application, from design and team-building, to managing stakeholders, to deployment and monitoring. Go beyond the syntax and the tools to learn the techniques you need to develop your Elixir application from concept to production.</p>
<div class="clear"></div>
<h4 class="resource">Introducing Elixir</h4>
<p><a class="cover" href="http://shop.oreilly.com/product/0636920030584.do" title="Introducing Elixir: Getting Started in Functional Programming – by Simon St. Laurent, J. David Eisenberg"><img src="/images/learning/introducing-elixir.jpg" alt="Introducing Elixir cover" width="190" /></a></p>
<p>Elixir is an excellent language if you want to learn about functional programming, and with this hands-on introduction, you’ll discover just how powerful and fun Elixir can be. This language combines the robust functional programming of Erlang with a syntax similar to Ruby, and includes powerful features for metaprogramming.</p>
<p>This book shows you how to write simple Elixir programs by teaching one skill at a time. Once you pick up pattern matching, process-oriented programming, and other concepts, you’ll understand why Elixir makes it easier to build concurrent and resilient programs that scale up and down with ease.</p>
<div class="clear"></div>
<h4 class="resource">The Little Elixir and OTP Guidebook</h4>
<p><a class="cover" href="http://www.manning.com/tanweihao/" title="The Little Elixir and OTP Guidebook – by Benjamin Tan Wei Hao"><img src="/images/learning/the-little-elixir-and-otp-guidebook-meap.jpg" alt="The Little Elixir and OTP Guidebook cover" width="190" /></a></p>
<p>The Little Elixir & OTP Guidebook gets you started programming applications with Elixir and OTP. You begin with a quick overview of the Elixir language syntax, along with just enough functional programming to use it effectively. Then, you’ll dive straight into OTP and learn how it helps you build scalable, fault-tolerant and distributed applications through several fun examples. Come rediscover the joy of programming with Elixir and remember how it feels like to be a beginner again.</p>
<div class="clear"></div>
<h4 class="resource">Elixir Cookbook</h4>
<p><a class="cover" href="https://www.packtpub.com/application-development/elixir-cookbook" title="Elixir Cookbook – by Paulo A Pereira"><img src="/images/learning/elixir-cookbook.jpg" alt="Elixir Cookbook cover" width="190" /></a></p>
<p>This book is a set of recipes grouped by topic that acts as a reference to get ideas from or to quickly search for a solution to a problem. You will begin by launching an IEx session and using it to test some ideas. Next, you will perform various operations like loading and compiling modules, inspecting your system, generating a supervised app, and so on. Furthermore, you will be introduced to immutability, working with data structures, performing pattern matching, and using stream modules to generate infinite data sequences. You will learn about everything from joining strings to determining the word frequency in text. With respect to modules and functions, you will also discover how to load code from other modules and use guards and pattern matching in functions.</p>
<div class="clear"></div>
<h4 class="resource">Elixir School</h4>
<p><a class="cover" href="http://elixirschool.com" title="Elixir School"><img src="/images/learning/elixir-school.jpg" alt="Elixir School" width="190" /></a></p>
<p>Elixir-School is an open and community driven effort inspired by Twitter’s Scala School. The site’s content consists of peer-reviewed lessons on various Elixir topics that range in difficulty. The lessons are currently available in over 10 languages to help make programming Elixir more accessible to non-English speakers.</p>
<div class="clear"></div>
<h4 class="resource">Joy of Elixir</h4>
<p><a class="cover" href="http://joyofelixir.com" title="Joy of Elixir"><img src="/images/learning/joy-of-elixir.jpg" alt="Joy of Elixir" width="190" /></a></p>
<p><a href="https://joyofelixir.com">Joy of Elixir</a> is a gentle introduction to programming, aimed at people who already know some things about computers, but who have little-to-no programming experience.</p>
<p>This book will teach you the core concepts of the Elixir programming language in a fun and enjoyable way. If you’re completely new to programming and you want to learn how to make a computer do things using the power of programming and you want to experience some joy while doing it, then read this book!</p>
<div class="clear"></div>
<h4 class="resource">Learn Functional Programming With Elixir</h4>
<p><a class="cover" href="https://pragprog.com/book/cdc-elixir/learn-functional-programming-with-elixir" title="Learn Functional Programming With Elixir: New Foundations for a New World – by Ulisses Almeida"><img src="/images/learning/learn-functional-programming-with-elixir.jpg" alt="Learn Functional Programming with Elixir cover" width="190" /></a></p>
<p>Elixir’s straightforward syntax and this guided tour give you a clean, simple path to learn modern functional programming techniques. No previous functional programming experience required! This book walks you through the right concepts at the right pace, as you explore immutable values and explicit data transformation, functions, modules, recursive functions, pattern matching, high-order functions, polymorphism, and failure handling, all while avoiding side effects. Don’t board the Elixir train with an imperative mindset! To get the most out of functional languages, you need to think functionally. This book will get you there.</p>
<div class="clear"></div>
<h2 id="videointeractive-resources">Video/Interactive Resources</h2>
<h4 class="resource">Pragmatic Studio's Elixir/OTP Course</h4>
<p><a class="cover" href="https://pragmaticstudio.com/elixir" title="Pragmatic Studio's Elixir/OTP Course"><img src="/images/learning/pragmaticstudio-elixir.png" alt="Pragmatic Studio's Elixir/OTP Course" width="190" /></a></p>
<p>Put Elixir and OTP into action as you build a concurrent, fault-tolerant application from scratch in this 6-hour video course from The Pragmatic Studio. By developing a real app with real code, you’ll gain practical experience putting all the pieces together to craft applications the Elixir/OTP way.</p>
<p>The first half of the course focuses on core Elixir facets, principles, and techniques. In the second half, we go beyond the basics and focus on what sets Elixir/OTP apart: concurrent processes, the actor model, OTP behaviors, and fault recovery.</p>
<p>If you’re new to Elixir, you’ll get step-by-step guidance in an engaging format you won’t find anywhere else. If you have experience with Elixir, you’ll gain a deeper understanding of things you’ve been taking for granted and fill in any knowledge gaps.</p>
<div class="clear"></div>
<h2 id="other-resources">Other Resources</h2>
<h4 class="resource">Elixir Flashcards</h4>
<p><a class="cover" href="https://elixircards.co.uk/" title="Elixir Flashcards"><img src="/images/learning/flashcards_army.jpg" alt="Elixir Flashcards" width="190" /></a></p>
<p>Elixir flashcards are a set of beautifully crafted, professionally printed, poker sized flashcards to help you master the Elixir language.</p>
<p>Flashcards are a great way to highlight knowledge gaps, identify misconceptions or false beliefs, and help you memorise key concepts.
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.</p>
<p>Combined with books, tutorials and screencasts, using flashcards is the killer combination to master Elixir.</p>
<div class="clear"></div>
<h4 class="resource">Elixir Koans</h4>
<p><a class="cover" href="http://elixirkoans.io/" title="Elixir Koans"><img src="/images/learning/elixir-koans-logo.png" alt="Elixir Koans" width="190" /></a></p>
<p>Elixir koans is a fun, easy way to get started with the Elixir programming language. It is an idiomatic tour of the language.</p>
<div class="clear"></div>
<h4 class="resource">Exercism.io</h4>
<p><a class="cover" href="https://exercism.io/tracks/elixir" title="Elixir Track on Exercism.io"> <img src="https://assets.exercism.io/tracks/elixir-bordered-turquoise.png" alt="Exercism.io Elixir track" width="190" /></a></p>
<p>Exercism.io provides free code practice and mentoring across a range of languages. This is the Elixir track.
The site has a guided series of exercises with varying difficultly that are mentored by volenteers. The exercises range from Hello World to some OTP examples. Once you have completed an exercise you can see other students solutions.</p>
<div class="clear"></div>
<h2 id="screencasts">Screencasts</h2>
<h4 class="resource">Elixir Sips</h4>
<p><a class="cover" href="http://elixirsips.com" title="Elixir Sips: Learn Elixir with Two Short Videos Each Week – with Josh Adams"><img src="/images/learning/elixir-sips.png" alt="ElixirSips cover" width="190" /></a></p>
<p>Elixir Sips is a screencast series that provides 2 short videos - typically from 2 to 7 minutes, but occasionally much longer - each week. The videos consist of various topics, ranging from exploring a module in the standard library to trying out a new project to building a web-based Tetris game from scratch.</p>
<p>The intended audience ranges from someone entirely new to the Elixir language, to experienced developers that want to get a broad range of topics to think about from time to time.</p>
<div class="clear"></div>
<h4 class="resource">LearnElixir.tv</h4>
<p><a class="cover" href="http://www.learnelixir.tv" title="Your video guide to Elixir: Learn it step by step.">
<img src="/images/learning/learn-elixir-tv.png" alt="LearnElixir.tv cover" width="190" />
</a></p>
<p>LearnElixir.tv is a screencast series which provides in-depth, step-by-step videos about Elixir’s main features. Videos range from 7 to 15 minutes in length, and are posted weekly.</p>
<p>It’s intended to help beginners get familiar with all of Elixir’s features by building their knowledge incrementally. Experienced Elixir developers might also learn a trick or two.</p>
<div class="clear"></div>
<h4 class="resource">ElixirCasts.io</h4>
<p><a class="cover" href="https://elixircasts.io" title="ElixirCasts: Elixir and Phoenix screencasts.">
<img src="/images/learning/elixircasts.png" alt="elixircasts.io cover" width="190" />
</a></p>
<p>ElixirCasts is a collection of simple screencasts that cover a wide range of Elixir and Phoenix topics. Each episode tackles a specific problem or explores a new library, demystifying it in a language that’s easy to understand.</p>
<p>Episodes range from beginner focused to more moderate and advanced topics. Come build your knowledge of Elixir with us, one episode at a time.</p>
<div class="clear"></div>
<h4 class="resource">Alchemist Camp</h4>
<p><a class="cover" href="http://alchemist.camp" title="Alchemist Camp: Learn Elixir and Phoenix by building things"><img src="/images/learning/alchemist-camp.png" alt="Alchemist Camp cover" width="190" /></a></p>
<p>Alchemist Camp is the largest producer of free Elixir screencasts and has dozens of hours of screencasts on YouTube. The videos are often longer-form and focused around projects, such as building a small Phoenix clone, or an OTP worker to regularly collect statistics from multiple APIs. Content is driven by viewer request.</p>
<p>Alchemist Camp is aimed at people who have some web development experience and want to ship real-world projects in Elixir.</p>
<div class="clear"></div>
<h2 id="in-depth-resources">In-depth Resources</h2>
<h4 class="resource">Metaprogramming Elixir</h4>
<p><a class="cover" href="https://pragprog.com/book/cmelixir/metaprogramming-elixir" title="Metaprogramming Elixir: Write Less Code, Get More Done and Have Fun – by Chris Mccord"><img src="/images/learning/metaprogramming-elixir.jpg" alt="Metaprogramming Elixir cover" width="190" /></a></p>
<p>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.</p>
<div class="clear"></div>
<h4 class="resource">Erlang in Anger</h4>
<p><a class="cover" href="http://www.erlang-in-anger.com" title="Erlang in Anger – by Fred Hebert"><img src="/images/learning/erlang-in-anger.png" alt="Erlang in Anger cover" width="190" /></a></p>
<p>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.</p>
<div class="clear"></div>
</div><!-- #content -->
<div id="sidebar-primary" class="sidebar">
<div class="widget news">
<h3>
News: <a href="/blog/2018/07/25/elixir-v1-7-0-released/">Elixir v1.7 released</a>
</h3>
</div>
<div class="widget search">
<form method="get" id="search-form" class="search-form" action="https://www.google.com/search" onsubmit="document.getElementById('searchq').value = document.getElementById('searchfield').value + ' site:elixir-lang.org | hexdocs.pm/elixir | hexdocs.pm/mix | hexdocs.pm/eex | hexdocs.pm/logger | hexdocs.pm/iex | hexdocs.pm/ex_unit'; return true;">
<input type="hidden" id="searchq" name="q" value="">
<input class="search-text" type="text" placeholder="Search..." id="searchfield" aria-label="Search box">
<input class="search-submit button" name="submit" type="submit" value="Search" aria-label="Search button">
</form>
</div>
<div class="widget">
<h3 class="widget-title">Official Channels</h3>
<ul>
<li><a class="spec" href="irc://irc.freenode.net/elixir-lang">#elixir-lang on freenode IRC</a></li>
<li><a class="spec" href="https://twitter.com/elixirlang">@elixirlang on Twitter</a></li>
</ul>
</div>
<div class="widget">
<h3 class="widget-title">Join the Community</h3>
<ul>
<li><a class="spec" href="http://elixirforum.com">Elixir Forum</a></li>
<li><a class="spec" href="https://elixir-slackin.herokuapp.com/">Elixir on Slack</a></li>
<li><a class="spec" href="https://discord.gg/elixir">Elixir on Discord</a></li>
<li><a class="spec" href="http://elixir.meetup.com">Meetups around the world</a></li>
<li><a class="spec" href="https://github.com/elixir-lang/elixir/wiki">Wiki with events, resources and talks organized by the community</a></li>
</ul>
</div>
<div id="mini-docu" class="widget">
<a href="http://doc.honeypot.io/elixir-documentary-2018/?utm_source=elixir_home&utm_medium=referral">
<div class="mini-docu-cta">
<div class="mini-docu-copy">Watch the Elixir<br />mini-documentary!</div>
</div>
</a>
</div>
<div class="widget">
<h3 class="widget-title">Important links</h3>
<ul>
<li><a class="spec" href="https://github.com/elixir-lang/elixir">Source Code & Contributing</a></li>
<li><a class="spec" href="https://github.com/elixir-lang/elixir/issues">Issues tracker</a></li>
<li><a class="spec" href="/crash-course.html">Crash course for Erlang developers</a></li>
</ul>
</div>
<div class="widget">
<h3 class="widget-title">Code editor support</h3>
<ul>
<li><a class="spec" href="https://github.com/elixir-lang/emacs-elixir">Emacs Mode</a></li>
<li><a class="spec" href="http://www.alchemist-elixir.org/">Alchemist (Emacs Elixir Tooling)</a></li>
<li><a class="spec" href="https://github.com/elixir-lang/elixir-tmbundle">TextMate / Sublime Text Bundle</a></li>
<li><a class="spec" href="https://github.com/vishnevskiy/ElixirSublime">Sublime Plugin</a></li>
<li><a class="spec" href="https://github.com/elixir-lang/vim-elixir">Vim Elixir</a></li>
<li><a class="spec" href="https://github.com/slashmili/alchemist.vim">Alchemist.vim (Vim Elixir Tooling)</a></li>
<li><a class="spec" href="https://github.com/SteffenBauer/elixir-gtksourceview">GtkSourceView (gedit)</a></li>
<li><a class="spec" href="https://github.com/lucasmazza/language-elixir">Atom Package</a></li>
<li><a class="spec" href="https://github.com/KronicDeth/intellij-elixir">IntelliJ Elixir</a></li>
<li><a class="spec" href="https://marketplace.visualstudio.com/items?itemName=mjmcloug.vscode-elixir">Visual Studio Elixir</a></li>
</ul>
</div>
<div id="elixir-radar" class="widget">
<h3 class="widget-title">Elixir Radar Newsletter</h3>
<p>A weekly Elixir email newsletter with content curated by Plataformatec.</p>
<div class="elixir-radar-cta">
<div class="cta-copy">
<div class="cta-title">
Elixir Radar
</div>
<div class="cta-subtitle">
weekly newsletter
</div>
</div>
<div class="cta-button-container">
<a href="http://plataformatec.com.br/elixir-radar/weekly-newsletter?utm_campaign=elixir_lang_cta&utm_medium=cta&utm_source=elixir_lang_website" class="cta-button">
Subscribe now
</a>
</div>
</div>
</div>
<div id="distilled-by" class="widget">
<h3 class="widget-title">Created at</h3>
<ul>
<li class="image"><a href="http://plataformatec.com.br" title="Plataformatec"><img src="/images/logo/plataformatec.png" alt="Plataformatec Logo" width="190" height="74" /></a></li>
</ul>
<p>
<a class="spec" href="http://plataformatec.com.br">Plataformatec</a> offers consulting and development services for companies using Elixir.
</p>
</div>
</div>
</div><!-- #main -->
<div class="clear"></div>
<div id="copyright">
© 2012–2019 <a href="http://plataformatec.com.br/">Plataformatec</a>. All rights reserved.
</div>
</div><!-- .wrap -->
</div><!-- #container -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="/js/toc/toc.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.toc').toc({
title: '',
listType: 'ol',
minimumHeaders: 2,
headers: 'h2, h3, h4, h5, h6',
linkHere: true,
linkHereTitle: 'Link here',
backToTop: true,
backToTopId: 'toc',
backToTopTitle: 'Back to Table of Contents',
});
$('.jekyll-toc-header a.jekyll-toc-link-here span.jekyll-toc-icon').addClass('icon icon-link');
$('.jekyll-toc-header a.jekyll-toc-back-to-top span.jekyll-toc-icon').addClass('icon icon-chevron-up');
});
</script>
</body>
</html>