RubyDay 2019 is the 7th edition of the Italian Ruby conference, and the first organized by GrUSP.

Wednesday 10th April 2019

09:00
1
Creare un applicativo con Rails e Vue.js
Workshop by Andrea Vassallo (6 hour)

In questo workshop vedremo come sviluppare un’app Rails utilizzando VueJS per le componenti frontend. Ci concentreremo sull’integrazione di VueJS con Rails, unendo la potenza e la semplicità dei due framework. Lo scopo del workshop è avvicinare gli sviluppatori frontend allo sviluppo di API ben strutturate e gli sviluppatori backend all'implementazione di frontend più interessanti. In Rails vedremo come creare le rotte, i modelli e i controller per lo sviluppo di API REST. In VueJS ci concentreremo su come creare componenti semplici e scalabili, utilizzando Vuex per la gestione delle risorse e la comunicazione fra componenti.

Thursday 11th April 2019

09:50
3
Zeitwerk: A new code loader for Ruby
Keynote by Xavier Noria (50 minutes)

Zeitwerk is a new code loader for Ruby, and it is going to replace the classic autoloader in Rails 6. In this talk we'll cover what motivated Zeitwerk, how to use it, and interesting aspects of its implementation.

11:00
3
Beauty and the Beast: your application and distributed systems
Talk by Emily Stolfo (50 minutes)

With more applications now using service-oriented architectures, developers must know how to talk to distributed technologies and to handle errors and failures. While you can usually depend on libraries to encapsulate such details, it's important to understand and to be able to predict the behavior of your distributed systems. This talk will arm you with algorithms and testing strategies so you can tame your services and build robust applications.

11:50
3
Enterprise Ruby 2.1
Talk by Nick Sutterer (50 minutes)

In the past three years, the Trailblazer project has evolved from a simple service object implementation to an advanced business logic framework that can define, orchestrate and implement entire application workflows. Let's discover all those new concepts such as workflows, BPMN and state machines.

14:20
3
Building modern web-applications with GraphQL & serverless Ruby
Talk by Marion Schleifer (50 minutes)

Many Ruby programmers are looking for new opportunities now that serverless is becoming more popular. Hasura offers instant realtime GraphQL on Postgres as a serverless backend option. And the best part: you can still use Ruby to write the business logic for the backend! Using a sample application, I will show you how to build fast web applications with a Vue frontend and a backend running on Hasura’s GraphQL engine. We will explore how the different components work together and how you can take full advantage of the combination of these technologies. Slides: https://docs.google.com/presentation/d/1BAsiPyKEHMeB0tb14XGtiQzcGQXQJpD2Rf4mIgWKU8w/edit#slide=id.p

15:10
2
Hanami 2.0
Talk by Luca Guidi (50 minutes)

Hanami is being reinvented. We learned from experience, and community feedback, how to build a much more simplified, fast, and productive framework. This is a preview of how Hanami 2.0 will work.

16:20
1
Live code a game on the browser with Opal and Vue.js
Talk by Elia Schito (50 minutes)

JS is often a struggle for the Ruby developer used to live in the backend. We'll have a fresh look at the language implementing interfaces for a Tetris-like game for the terminal (using MRI) and for the browser (using Opal) using different techniques (vanilla JS, jQuery, Vue.js). The whole thing will be preceded by an introduction to Opal.

17:10
1
Ruby 3.0 Redux
Keynote by Bozhidar Batsov (50 minutes)

For several years now Rubyists around the world have been fascinated by the plans for the next big Ruby release - namely Ruby 3.0. While a lot has been said about 3.0, there’s also a lot of confusion about it - the scope, the timeline, backwards compatibility, etc. This talk is an attempt to summarize everything that’s currently known about Ruby 3.0 and present it into an easily digestible format. We’ll go over all the main features targeting Ruby 3.0 and many of the open questions surrounding them.