Elixir  یک زبان برنامه نویسی فانکشنال و همروند است که با هدف عمومی برای طراحی و توسعه انواع نرم افزارها و وب سایت ها ایجاد شده است. این زبان بر روی (Erlang virtual machine (BEAM اجرا می شود. این محیط یک محیط توزیع شده، دارای قابلیت تحمل خطای بالا و اجرای بدون وقفه اپلیکیشن ها است. همچنین این زبان از ماکروها و چندریختی ها پشتیبانی می کند. در این دوره ی آموزشی به ساخت یک وب سایت با زبان الیکسیر می پردازیم.

در این آموزش تصویری با مقدمات Elixir آشنا می شوید.

این دوره آموزشی محصول موسسه Udemy است.

سرفصل های این دوره:

  • به اکسیر خوش آمدید
  • آشنایی با اکسیر
  • نوع های پایه
  • مبانی تفکر تابعی
  • نوع های پیچیده
  • ماژول ها و توابع
  • بازگشتی
  • پردازش
  • پروژه Caesar Cipher
  • و ..

عنوان دوره: Udemy Elixir for Beginners

مدت دوره: 2 ساعت و 30 دقیقه

نویسنده: Ben Emson


Udemy Elixir for Beginners

Ben Emson
2.5 hours
Beginner Level

Do you want web sites that can easily scale to millions of users?
Or build a system to reliably handle the coming Internet of Things (IoT) future?
Perhaps you just want to learn a programming language, which will teach you the techniques for building concurrent, functional, and fault-tolerant software.
Elixir is one of the fastest growing programming languages, for all of these reasons.
Created by Jos� Valim, one of the Ruby on Rails core team members, Elixir is built on the tried and tested Erlang Beam (Virtual Machine). With cherry picked features from other modern languages such as Clojure, Ruby and Python, etc. it's a joy to use, and makes functional programming much more accessible.
Erlang was built from the ground up, to get distributed, and fault-tolerant computing "right". Elixir inherits these qualities, and packages it up in a beautiful modern language, with excellent tooling and access to all the existing Erlang libraries.
If you want to understand how Whatsapp, with less than 60 engineers, can send double the text messages of all the Telecoms companies put together, then come and learn Elixir. It'll be fun!
What can you build with Elixir:
* Websites with Pheonix
* Microservices and APIs
* IoT devices, with the Nerves project - write and manage the client and the server
* Use all the cores on your computer
* Build concurrent event driven services, ideal for Robotics, etc.
What is this course about:
This is a beginners guide to learning the Elixir programming language. You will learn how to read and write in Elixir code, understand recursion, data immutability, and pattern matching.
This course lays the foundation for learning a functional language and gives you confidence with which to build your knowledge.
This is a beginners course in learning the basics of the language thus we do NOT go into OTP, Erlang or Macros.
Build a strong foundation in Elixir and functional programming with this tutorial for beginners.
What Elixir is and what it is good for
Types, functions and tools
Functional programming, immutable data, pattern matching and recursion
Tools, tests and documenting
A Skill for the Future of Programming
A developer in the future will need to have experience building functional and concurrent software. With the rise of the Internet of Things and greater need for scalable and fault-tolerant systems, developers are going to need experience building software that can cope with these kind of challenges.
Learning the fundamentals of Elixir will give you skills for the future. It's free and easy to learn, with excellent documentation and a thriving friendly community.
Understanding an elegant functional language such as Elixir will greatly improve your programming skills in Object Orientated languages, such as Ruby, Python, Java and C#. It will also serve as a foundation for learning other functional languages.
Elixir is the language of the future, and will equip you with the skills that our future jobs are going to require.
Content and Overview
Suitable for students with programming experience who wish to learn a functional language but don't know where to start. You�ll learn all of the Elixir fundamentals and establish a strong understanding of the concept behind Functional programming.
Starting from set up, this course will walk you through the main language concepts and how they work, right up to building your own Elixir programs, and using some of the main tools.
Students completing the course will have the knowledge and confidence to create functional programs written in Elixir. You will be able to read and write code, and understand when to use the correct data structures.
What am I going to get from this course?
Learn Elixir code from your own desk.
Suitable for students with programming experience wishing to learn a functional language, and ideal for users who learn faster when shown.
Visual training method, offering users increased retention and accelerated learning.
Breaks down principles into simple steps.
What are the requirements?
You will need to be familiar with an Object Orientated (OO) language e.g. Ruby, Python, JavaScript, Java, C#, etc.
You will need to be able follow the Elixir installation guide from the Elixir web site: http://elixir-lang.org/install.html
You should be confident in writing code in a text editor, such as Sublime Text, Notepad++, Vim or Emacs
Some command line knowledge will be helpful as you will be executing Elixir programs from the command line
What am I going to get from this course?
Over 28 lectures and 2.5 hours of content!
Understand how to read and write Elixir code
Understand the key tenets of functional programming, immutable data, pattern matching and recursion
Create your own Elixir programs
Use the appropriate tools when building Elixir programs
Think confidently in Elixir, and have detailed knowledge of the most important language primitives
What is the target audience?
This course focuses on beginners in Elixir who want to get knowledge of the language and understand how to program in a functional way
The course covers the main language concepts, and how to write code in Elixir, and use some of it's tools e.g. Mix
Elixir is an excellent language for building, highly scalable, fault-tolerant and concurrent software systems
If you want to build powerful server backends, APIs for your mobile Apps etc, or Internet of Things (IoT) clients and servers, you should consider using Elixir
Elixir can be embeded on the RaspberryPi and Beagle Bone, and it's concurrency and event handling make it an excellent choice for robotics
This course focuses on programmers with Object Orientated (OO) experience, wishing to learn a functional language
Students should have some programming skills, in languages like: Ruby, Python, JavaScript, Java, C#, etc.
If you have experience in a functional language and wish to learn the Elixir language
This course does NOT go into OTP (Open Telephone Platform), so is not suitable for students wishing to learn OTP
The course will NOT go into any details about creating Elixir Macros and Protocols

Section 1: Welcome to Elixir
Lecture 1
Introduction to Elixir
Lecture 2
About this course
Lecture 3
Lecture 4
Elixir introduction resources
1 page
Section 2: Introduction to Elixir
Lecture 5
Hello World x2
Lecture 6
Introduction to Elixir files
Lecture 7
Interactive Elixir REPL (iex)
Section 3: Basic types
Lecture 8
Basic types: numbers
Lecture 9
Atoms, Booleans and Strings
Lecture 10
Basics of anonymous functions and tuples
Section 4: Basics of functional thinking
Lecture 11
Pattern matching basics
Lecture 12
Pattern matching further concepts
Lecture 13
Immutable Data
Section 5: Complex types
Lecture 14
Lecture 15
Keyword lists
Lecture 16
Section 6: Modules & Functions
Lecture 17
Lecture 18
Named function basics
Lecture 19
Function captures and references
Section 7: Recursion
Lecture 20
Recursion and pattern matching
Lecture 21
Tail call optimisation
Lecture 22
Reduce & Map a recursive example
Section 8: Processes
Lecture 23
Spawning processes, sending/receiving messages and Tasks
Lecture 24
Process ping pong example
Section 9: Caesar Cipher Project
Lecture 25
Mix and project dependencies
Lecture 26
Testing & writing code
Lecture 27
Make a command line executable with: escript
Lecture 28
Configuration, documentation and doctest