Offical learning resources
Elixir School
foundational
Thomas. 2018. Programming Elixir
McCord, Tate, Valim. 2019. Programming Phoenix
intermediate
Juric. 2018. Elixir in Action
Lessel. 2018. Phoenix in Action
more: Elixir Books
ElixirSips (280+ videos)
Alchemist Camp (130+ videos)
ElixirCasts (120+ videos)
Elixir for Programmers (8hrs video)
Pragmatic Studio: Elixir & OTP (6hrs video), Phoenix LiveView (6hrs video)
Clean Coders: Elixir (9hrs video)
30 Days of Elixir (30 exercises)
CodeWars.com (395 exercises)
Exercism.io (94 exercises)
Besides the bundled ones
ExUnit
Mix
Logger
Ecto
Plug
I use these frequently
static analyzer: Credo
type-checking: Dialyxir, Dialyzer
http client: HTTPoison, Tesla
html parsing, web-scraping: Floki
json: Jason
csv: NimbleCSV
benchmarking: Benchee
math: Erlang's math module, Decimal
datetime: Timex
auth: Pow
AWS: ExAws
emailing: Bamboo
test coverage: ExCoveralls
mocking: Mox
property-based testing: StreamData
user-interaction testing: Wallaby
job scheduling, queueing: Oban
message processing: Broadway
metrics & monitoring: Telemetry, Prometheus
event sourcing: Commanded
realtime user interaction: LiveView
PaaS: Gigalixir
more: Awesome Elixir
- TDD: mix test with the test's file path & line number
- interactive shell:
iex
for running smaller blocks, also its commandsi
&h
;
iex -S mix phx.server
then importing & calling functions, queries, requests, etc. - printing:
binding() |> IO.inspect()
- Code Runner for running larger blocks
- VSCode debugger's breakpoints
ElixirLS
Elixir snippets
Code Runner
BEAMdasm
ElixirConf
Code Sync
EmpEx
Confreaks
GOTO