SlideShare a Scribd company logo
La mia prima
lezione di
pozioni
E se diventassi un alchimista???
Ora vi racconto una storia ...
Chi sono
Sviluppatore nell'anima, nato professionalmente negli anni ’90, ho vissuto
l’avvento della programmazione ad oggetti.
Oggi rivivo l’avvento di una nuova tecnologia, quella della programmazione
funzionale.
Chi sono
CTO & Founder di coders51
Chi sono
twitter: https://twitter.com/gpad619
github: https://github.com/gpad
linkedin: https://it.linkedin.com/in/gianlucapadovani74
Il problema ...
Dobbiamo raccogliere info su come viene accettata la cookie policy dai
vari siti di un nostro cliente.
Semplice server che espone API REST in formato JSON
Perchè non proviamo a farlo in Elixir?
Avanti ...
Alcune regole …
Non volevo usare un framework
Volevo imparare il più possibile su Elixir (non su Phoenix)
Se anche esplodeva tutto lo avrei rifatto in rails/nodejs in 1 gg
Se non riuscivo a farlo in un tempo ragionevole io ed Elixir saremmo stati
non compatibili
Da dove partire …
Mix new nome-del-progetto
Da dove partire …
Mix è un tool che gestisce tutto il ciclo di sviluppo del progetto
Permette di creare nuovi progetti
Permette di compilare
Permette di lanciare i test
Permette di eseguire il progetto
etc ...
E adesso ?!?!
PLUG da https://github.com/elixir-lang/plug
Plug is:
1. A specification for composable modules between web applications
2. Connection adapters for different web servers in the Erlang VM
Plug
Plug
PLUG da https://github.com/elixir-lang/plug
Plug is:
1. A specification for composable modules between web applications
2. Connection adapters for different web servers in the Erlang VM
Web servers in Erlang ?!?
Web servers in Erlang ?!?
Si ma chi vuoi che usi cowboy
come web server ...
E il Json ?!?
Se fossi in ruby andrei su https://rubygems.org/
Se fossi in nodejs andrei su https://www.npmjs.com/
E se sono in Elixir/Erlang ?
Hex.pm
Hex.pm
Hex.pm
Dove salvo i dati?
Mettiamo tutto insieme
Mettiamo tutto insieme
Mettiamo tutto insieme
Vorrei fare TDD ...
TDD
TDD
Developing
Developing
Molti cicli di sviluppo dopo ...
Running!!!
Running
Ma quanto va forte?
Ma quanto va forte?
Ma quanto va forte?
Ma quanto va forte?
Ma quanto va forte?
Ma quanto va forte?
Mi serve un pool manager ...
Mi serve un pool ...
Mi serve un pool ...
Mi serve un pool ...
Mi serve un pool ...
Mi serve un pool ...
Mi serve un pool ...
Ma quanto va forte?
Ma quanto va forte?
Recap
Recap
Ho trovato tutto quello che cercavo
Il linguaggio mi è piaciuto
L’ ecosistema mi è piaciuto
Il deploy è migliorabile ma per ora si sopravvive …
Plug è molto base ci vorrebbe qualcosa sopra (valutare altri framework)
Domanda finale ...
Ma perchè non lo uso sempre?
SìO almeno ci provo :-)
Grazie!!!
twitter: https://twitter.com/gpad619
github: https://github.com/gpad
linkedin: https://it.linkedin.com/in/gianlucapadovani74

More Related Content

La mia prima lezione di pozioni