Skip to content

iavalli/elixir-basics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elixir-basics

If you have an MVP idea and wish it'd be developed in Elixir, feel free to contact me in any way, and we'll try to cooperate for this purpose.

The code is based on the free Elixir course(RU) produced by Ilya Krukowski: https://www.youtube.com/playlist?list=PLWlFXymvoaJ_SWXOOm2JSqv86ZBkQ9-zo

Ilya's code and Github: https://github.com/bodrovis-learning/Elixir-YT-Series/tree/master

Content by lessons:

  1. Intro, data types and functional programming
  2. Pattern matching
  3. Modules, functions, r, margin conditions
  4. Recursion, list, head, tail, tail optimization
  5. Lambda, higher order functions, Matrix style output
  6. Branching, errors, data structures, kw lists
  7. Processes, monitors, spawn, spawn)link, practice
  8. Long running server processes
  9. Transfers, enum, stream, list inclusions
  10. OTP, GenServer, callbacks, mix, game of stones
  11. Protocols, polymorphism
  12. Metaprogramming, macroses, quote/unqoute, dinamic connection, AST

Why not a fork of the original code? Because the best way to follow the course is to experiment in CLI or IDE.

Try it by yourself: https://elixir-lang.org/install.html - install Elixir https://www.erlang.org/downloads - install Erlang/OTP (if it didn't come with the Elixir installation)

VSCode: install ElixirLS extension, create "filename.ex" or "filename.exs" file. To run the file from CLI: $ iex filename.ex

In CLI: $ iex (to quit, type either double Ctrl+C or System.halt)

The course is recorded in RU, but here everything is in EN. I add comments and some info from other learning sources (listed below).

WHY ELIXIR?

  • most loved and highly paid prog lang
  • mostly used by Senior devs with many years of experience (Stackoverflow research 2023).
  • I believe in standing on giants' shoulders
  • Elixir boosts developers' productivity
  • saves time and money for a business

Some videos to answer the Why question: https://www.youtube.com/watch?v=4cnmyQJToKM https://www.youtube.com/watch?v=C7y4Bs9Jbho https://www.youtube.com/watch?v=MZvmYaFkNJI https://www.youtube.com/watch?v=BNmM2PyHs2c&ab_channel=ElixirToronto https://www.youtube.com/watch?v=lxYFOM3UJzo

This repo will cover basics of: PETAL stack (Phoenix, Elixir, TailwindCSS, Alpine.js, LiveView) - focused on BE And maybe: Ecto (for DBs) ExUnit (for testing) Ash Absinthe (for GraphQL) some libs for blockchain/AI/ML

Related pets will be listed below as github links. Note for comparisons: my first lang is Python.

LEARNING SOURCES: FREE COURSES AND TUTORIALS list=PLWlFXymvoaJ_SWXOOm2JSqv86ZBkQ9-zo - ELixir & functional programming course by Ilya Krukowski (RU), also Ilya has a Solidity course on his channel. The frame of Elixir basics code files here. https://code-basics.com/languages/elixir - interactive Elixir basics training - Hexlet based, EN / RU https://elixirschool.com/ - lessons on different Elixir topics from basics to OTP, testing, Ecto and libraries in diff langs https://www.youtube.com/playlist? https://www.youtube.com/playlist?list=PLYuTgpYrBrVKnzanStbVGD09Cdx4YNEpO - Yuri Zhloba Elixir course (RU), also Yuri has an Erlang course on his channel. https://www.youtube.com/@pragmaticstudio - some videos, also have paid courses which many people recommend, and books on Elixir and its stack.

OFFICIAL DOCS https://elixir-lang.org/docs.html - Elixir official documentation (also has a nice LEARNING section with a list of sources) https://hexdocs.pm/elixir/1.16.2/Kernel.html - Kernel - the standard library of Elixir language https://hexdocs.pm/phoenix/Phoenix.html - Phoenix Framework (also has Guides section) https://hexdocs.pm/phoenix/overview.html - Phoenix framework Guide on the Hexdocs (also look for docs for any published Elixir package here) https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html - Phoenix LiveView docs (and guide)

docs for every Elixir published module may be found on hexdocs.pm.

BOOKS "Grokking Simplicity" - Eric Normand ("Грокаем функциональное мышление" - Эрик Норманд) "Introducing Elixir" Simon St. Laurent, J. David Eisenberg. - 2nd ed.("Введение в Elixir" - Сенлорен С, Эйзенберг Д.) "Elixir in Action" - Saša Jurić "Phoenix in Action" - Geoffrey Lessel "Programming Elixir" - Dave Thomas "Programming Phoenix LiveView" - Bruce A. Tate, Sophie DeBenedetto

(to be continued..)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages