Perfil

Arthur Alfredo @arthur2


Sobre mim

-

Propostas

Introdução ao Phoenix framework

Uma breve introdução ao Phoenix framework, suas vantagens, desvantagens e melhores aplicações.


Serão mostrados vários recursos gratuitos e pagos para quem quiser aprender mais e/ou se aprofundar nesse tema.


 

Introdução a programação funcional com Elixir

Objetivo dessa conversa é demonstrar os conceitos básicos de programação funcional como:


- Imutabilidade


- Higher-order functions


- Closure e Lambda functions


- Lazy evaluation


- Pattern matching


Mostrarei também  como alguns desses conceitos podem ser usados na linguagem Elixir.

Phoenix framework

Phoenix é um framework web desenvolvido em Elixir que usa o padrão MVC.


Possui padrões de desenvolvimento similares ao Rails ou Django e uma baixa curva de aprendizado.


Foi desenvolvido para resolver alguns problemas encontrados no rails(especialmente escalabilidade e multiprocessamento).


É um framework focado em produtividade, alta performance, escalabilidade e tolerância a falhas.


Neste tutorial desenvolveremos um pequeno chat em Phoenix para demonstrar como funcionam os channels, o ecto e o padrão MVC.


Os tópicos do tutorial serão:



  • Request pipeline

  • Routers

  • Controllers

  • View e templates

  • Side effects

  • Ecto e Changesets

  • Autenticação de usuários

  • Generators

  • Testing

  • Channels

  • Introdução ao OTP


Duração do tutorial: 4 horas


Para participar você deve levar um notebook com os seguintes softwares instalados:


Programação funcional com Elixir

Programação funcional está se tornando uma tendência para resolver problemas de sistemas distribuídos e de concorrência.


Elixir é uma linguagem de programação funcional e concorrente que roda em cima da máquina virtual do Erlang (BEAM). Foi desenvolvida por José Valim (Brasileiro, ex-Rails core team) para resolver os desafios encontrados no Ruby, porém, mantendo a sintaxe concisa e elegante.


Os tópicos do tutorial serão:



  • História da programação funcional

  • Vantagens em relação a outros paradigmas

  • Conceitos básicos


    • Programação distribuída

    • Concorrência e Paralelismo

    • Pattern Matching

    • Imutabilidade

    • Funções de alta ordem

    • Funções anônimas

    • Lazy evaluation




  • Elixir  


    • Tipos de dados

    • Coleções

    • Maps

    • Módulos e funções nomeadas

    • Listas e Recursão

    • Strings

    • Enums

    • Convenções



Duração do tutorial: 4 horas


Para participar você deve levar um notebook com os seguintes softwares instalados: