Conceitos Básicos
  • Introdução
  • Um pouco de história
  • Aula 03 - Por que aprender/usar uma linguagem funcional?
  • Princípios da programação funcional (Parte 1/2)
  • Princípios da programação funcional (Parte 2/2)
  • Programação Funcional e Paralelismo/Concorrência
  • Elixir vs Erlang
  • Instalando o Elixir
  • Usando uma Box pronta para o Elixir
Conhecendo o Básico do Elixir
  • O que veremos nesse módulo?
  • Conhecendo o iex, elixir, elixirc
  • Funcionamento geral do Elixir
  • Conhecendo um pouco mais o IEx
  • Tudo é uma expressão!
  • Conhecendo os Tipos Básicos
  • Integers e Floats
  • Binário, Hexadecimal e Octal
  • Booleanos
  • Como saber o tipo de uma variável/termo?
  • Átomos
  • Strings
  • Binários, Strings e Charlists
  • Listas
  • Tuplas
  • Imutabilidade
  • Criando Módulos e Funções
  • Funções Nomeadas vs Funções Anônimas
  • Capture Operator
  • Pipe Operator
  • First-Class Functions
  • First-Class Functions vs Higher-Order Functions
  • Pattern Matching
  • Pattern Matching com Underscore e Pin Operator
  • Fazendo Matching de Strings
  • Keyword Lists e Maps
  • Múltiplas Definições de Funções
  • Controlando Fluxo com Funções
  • Cláusulas de Guarda
  • Recursão
  • Tail-Call Optmization
  • Recursão com Funções Anônimas
  • Funções Puras vs Impuras
  • Controlando Fluxos
  • Conhecendo Range e Enum.map
  • Lazy Evaluation (Enum.take e Stream)
  • Conhecendo Structs
Criando uma aplicação básica
  • Conhecendo o Mix
  • Um pouco mais sobre o Mix
  • Criando nossa primeira Task
  • Ajustando as mensagens de inicialização
  • Mostrando um Menu
  • Escolhendo um item do menu
  • Refatorando algumas funções
  • Refatorando os módulos
  • Executando as ações do Menu
  • Conhecendo o HEX
  • Criando uma Struct para os amigos
  • Cadastrando os amigos
  • Usando a biblioteca Fake
  • Refatorando a Task Utils.AddFakeFriends
  • Listando os amigos cadastrados
  • Refatorando um pouco mais a aplicação
  • Conhecendo o Mix.Config
  • Refatorando o create para o delete
  • Refatorando o read para o delete
  • Implementando o delete
  • Implementando o update
  • Desafio!
  • Recado Final!