O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Elixir and Phoenix: Real World Functional Programming

Video Description

Boost your programming skills by learning the next-generation functional programming language and web framework

About This Video

  • Boost programming skills through a different mode of thinking
  • Think in terms of an alternative programming language

In Detail

To become a professional-level programmer, you need to learn different types of language. Everyone knows Object Oriented Programming but few people realize they need to learn a Functional Programming language that scales well in distributed computing! Elixir is one such language. It's a fairly young language but has gained immense popularity in the past couple of years—it's the language of the future. Learning Elixir and its web framework Phoenix means you will gain this high-demand job skill for the near future.

In this course, we will start from scratch with Elixir and then move on to Phoenix, the next-generation web framework that is set to replace a lot of Ruby, Django, PHP, and even Node deployments. The course assumes that you've had some basic programming experience before. If you know a bit of Python (just the basics: if, while, for, lists, dictionaries, and tuples) or Java, you'll be all set.

We aim to give you a feel for the rhythm behind Elixir and Phoenix so that you are in a position to understand its underlying philosophy and use it to your advantage. We will quickly cover the fundamentals of the Elixir language. Similarly, we will cover different aspects of Phoenix in a way that is both quick and efficient instead of spending many hours explaining simple concepts.

All the code files are placed at https://github.com/PacktPublishing/Elixir-and-Phoenix-Real-World-Functional-Programming

Downloading the example code for this course: You can download the example code files for all Packt video courses you have purchased from your account at http://www.PacktPub.com. If you purchased this course elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Chapter 1 : Getting Started with Elixir
    1. Welcome and Introduction 00:03:30
    2. Installing Elixir on Windows 00:02:48
    3. Installing Elixir on Linux 00:01:52
    4. Installing Elixir on Mac 00:01:58
    5. Distributed Code Execution in Under 2 Minutes 00:03:02
  2. Chapter 2 : Elixir Language Basics
    1. Language Basics 00:06:51
    2. Maps/Dictionaries in Elixir 00:03:21
    3. Operations on Data Structures 00:10:12
    4. Code Structuring with Pattern Matching 00:08:33
    5. Branching and Decision Making 00:04:18
  3. Chapter 3 : Code Modularity / Thinking in Elixir
    1. Introduction to Modules 00:05:17
    2. Pattern Matching for Function Definitions 00:04:51
    3. Guards in Function Definitions 00:04:12
    4. Anonymous Functions and Default Values 00:04:57
    5. The Awesome Pipe Operator 00:08:33
    6. Loops and Recursion 00:07:30
    7. File Handling 101 00:03:25
    8. Require, import and Elixir Structures 00:07:16
    9. Concurrency Basics 00:04:22
  4. Chapter 4 : Phoenix Setup
    1. Setup Phoenix and Prereqs on Windows 00:07:16
    2. Setup Phoenix and Prereqs on Linux 00:06:55
    3. Setup Phoenix and Prereqs on Mac 00:04:54
  5. Chapter 5 : Phoenix and MVC Basics
    1. Quick Intro to MVC 00:06:30
    2. Creating a New Page 00:04:10
    3. Passing Values to Pages 00:05:46
    4. Path Helpers and Flash Messages 00:05:05
    5. Function Calls in Views 00:03:22
  6. Chapter 6 : Message Passing
    1. Message Passing and PubSub 00:14:57
  7. Chapter 7 : Ecto and Phoenix: Database Connectivity
    1. Talking to Databases through Ecto 00:06:16
    2. Adding and Validating Constraints 00:05:14
    3. Using Repo for Communication 00:03:09
  8. Chapter 8 : Authorization and Session Management
    1. Structuring Code through Contexts 00:08:10
    2. Credentials for Accounts 00:06:13
    3. Linking Authorization Credentials to Users 00:03:31
    4. Wrapping up the User-Credential Link 00:04:55
    5. Session Management 00:08:48
    6. Session Plugs 00:06:04
  9. Chapter 9 : Protection Your Web App
    1. Protecting Pages 00:06:26
    2. Adding Authors 00:05:00
    3. Link Pages to Authors 00:10:49
    4. Associate New Pages to Logged in User 00:06:06
    5. Adding Page View Count 00:05:58