Saint P Ruby User Group Presents
Saint P Rubyconf
2018, 10th June
Saint P Rubyconf II is the most significant Ruby event for developers in Saint Petersburg, Russia
The Conference is continuously developing, and we decided to move forward.
This time the event will be held in IFMO University campus.
We invited several Ruby stars. Nick Sutterer & Bozhidar Batsov will join us this year.
The official language of the event is English now. All speakers will give talks in English.
And the last but not least, we expect a record-breaking number of participants. Last year we hosted about 120 people, now we are preparing for 300 people to come.
Conference Program
Sunday, June 10
9.00 - 10.00
9.00 - 10.00
Registration / coffee
10.00 - 10.15
10.00 - 10.15
Openning
10.15 - 11.00
10.15 - 11.00
Creativity vs. Metaprogramming
Vladimir Dementyev. Developer @ Evil Martians
Ruby was designed to make programmers happy. One of the features that makes it possible is a comprehensive metaprogramming tooling.
How does metaprogramming relate to happiness? Through creativity: Ruby allows you to write code the same way you think, doesn't limit the exressiveness, and, of course, helps you to be a magician.
Let's talk about metaprogramming internals ("How things work?") and techniques (or patterns).
11.00 - 11.45
11.00 - 11.45
Conflict-Free Replicated Data Types in practice
Artem Filatov. Developer @ Cryptopay
While developing modern distributed applications nowadays, engineers often face the problem with data synchronization between nodes of a cluster or between a server and various clients to have a consistent state.
There are plenty of methodologies and algorithms dedicated to this kind of issues discovered for now. In the last decade, Conflict-free Replicated Data Types actively rose in popularity and maturity.
We will focus on the basics of CRDT algorithms and practical implementation of state-based and operation-based CRDT solutions, that integrates client-side technologies with Ruby backend and distributed storage.
11.45 - 12.30
11.45 - 12.30
RuboCop
Bozhidar Batsov. VP Engineering @Toptal, author of Rubocop
In this talk we'll go over everything you need to know about RuboCop - a powerful Ruby static code analyzer that makes it easy for you to enforce a consistent code style throughout your Ruby projects.
We'll begin by examining the events that lead to the creation of RuboCop, its early days and its evolution, effective RuboCop usage and some of its cool but little-known features. Then we'll continue with a brief look into RuboCop's internals and show you how easy it is
to extend its functionality.
We'll wrap the talk with a glimpse inside RuboCop's future and discuss some of the challenges the project faces and some of the work that remains to be done, before RuboCop finally reaches the coveted 1.0 version.
12.30 - 13.15
12.30 - 13.15
Lunch
13.15 - 14.00
13.15 - 14.00
Events. Events. Events!
Anton Davydov. Indie OSS developerㅤㅤㅤㅤ, Space-Rocket ship builder 🚀@hanami core 🌸
We build different systems and usually think about code and data. But in the real world, each system has different events which you can use for simple logic and work with different services.
In my talk, I'll tell about event sourcing, DDD, and CQRS. Why and where it'll be useful. Also, I'll cover some hidden pitfalls and discuss how to use it in ruby world.
14.00 - 14.45
14.00 - 14.45
Petri nets based testing
Alexey Rodionov. Developer @ Toptal. Watir, Selenium, Mozilla contributor
Ruby community has always been supportive for all the different kinds of testing activities. Many tools and practices were pioneered there and then moved on to other languages. However, nowadays, what we consider a common way to write tests becomes insufficient and tests no longer can reveal bugs, catch regressions and be our safeguard.
I'll show how we faced the problem of bugs slipping through traditional tests in Toptal, how we started migration to our in-house model-based testing framework, why we use Petri nets rather than state machines for modeling and what we ended up with.
14.45 - 15.30
14.45 - 15.30
Trailblazer way
Nick Sutterer. Author of Trailblazer, the Advanced Business Logic Framework
15.30 - 16.00
15.30 - 16.00
Coffee break
16.00 - 16.45
16.00 - 16.45
ROM.rb & dry-rb in practice
Nikita Shilnikov. @dry-rb and @rom-rb core developer
Practical example of developing a web app using rom-rb and dry-rb gems.
rom-rb and dry-rb gems heavily rely on ideas coming from other languages but even if you understand them, it's often not clear where to start and how to apply them properly. I'll show a working (I hope) example of application based on dry-system and ROM, will describe the architecture and workflow of building new features with them.
16.45 - 17.30
16.45 - 17.30
A Healthy Monolith
Nikolay Sverchkov. Backend Ruby developer @ Evil Martians
Supporting an overgrown monstrous project, a so-called Monolith that was shaped according to the tenets of the "Rails way", is a usual problem for our community. Many developers blame Rails for the fact that it allows, and even promotes, this way of project building, and that there are no tools available out of the box to make this growth healthier. I'll tell you how Evil Martians live with their own Monolith and demonstrate the that the Monolith is not in fact a problem — it's an opportunity
17.30 - 18.15
17.30 - 18.15
Make API Client Great Again (with Contracts)
Sergey Dolganov. Backend developer @ Evil Martians, open-source enthusiast.
I'm gonna tell, how I went through a lot of pain while working with many services (Facebook, Zoho, DHL, eBay, GitHub, StackOverflow and more) using HTTP API. Eventually, I've created a tool (with Design by Contracts approach under the hood) to handle all that craziness, so I'll show my way to handle instability and irregularities with external dependencies.
18.15 -
18.15 -
Afterparty
General Partners
Partners
Participating partners
Pics from last year conference
See more on facebook and vk
Place place place
Lomonosova 9, IFMO Campus
Saint Petesburg, Russia
info@spbrubyconf
Lomonosova 9, IFMO Campus
Saint Petersburg
Made on
Tilda