Главное Ruby-событие 2016 года

22 октября, Москва

Конференция RailsClub — это отличное место, где можно получить новые знания, пообщаться с коллегами и звездами Ruby, узнать из первых рук, как будут развиваться Ruby и Rails, прокачать свои навыки и вдохновиться на следующий год. Будем обсуждать проектирование, разработку, тестирование, отладку, оптимизацию под большие нагрузки, масштабирование и эксплуатацию RoR проектов.

Купить билет!
Цена билета: 9 000
Потом дороже!

Спикеры

Yukihiro Matsumoto

Создатель Ruby.

Sean Griffin

Rails committer, maintainer of Active Record, Shopify.

Steve Klabnik

Rails и Ruby committer, Rust core team.

Akira Matsuda

Rails committer, Ruby committer, Haml committer, creator of widely used Rails plugins.

Zach Briggs

JavaScript practice lead at TableXI.

Борис Кузнецов

Тимлид в Evrone.

Антон Давыдов

Sidekiq и hanami contributor.

Татьяна Васильева

RubyMine Product Marketing Manager в JetBrains.

Кир Шатров

Production Engineering (SRE) в Shopify.

Алексей Тактаров

Разработчик в These Guys.

Антон Черепанов

Full Stack и DevOps Engineer в Babbel.

Владимир Дементьев

Разработчик в Evil Martians.

Иван Немытченко

Developer Advocate в GitLab.

Станислав Герман

Разработчик в Rambler&Co.

Павел Якшанкин

Ruby-разработчик в компании VoltMobi.

Николай Биенко

Ruby-разработчик в компании Qlean.

Илья Зыкин

Developer в Toptal.

Дмитрий Солдатенков

Технический директор в Tau Technologies.

Сергей Долганов

Разработчик в Evil Martians

Станислав Спиридонов

Разработчик в CloudCastle.

Программа

Поток 1 Поток 2
9:00
10:00
ТЕМА УТОЧНЯЕТСЯ

11:00
ТЕМА УТОЧНЯЕТСЯ

11:45
12:15
RODAUTH, DEVICE AND YOU

Любое веб-приложение не может обойтись без авторизации. Кто-то пишет ее с нуля, а кто-то использует готовые решения. Сегодня мы поговорим о таких решениях — в частности, о rodauth.

Я расскажу об этом инструменте, его плюсах и минусах. Проанализируем rodauth и другие решения, найдем слабые и сильные стороны подхода, использованного разработчиками, а также попробуем вдохновиться библиотекой и воплотить идеи из неё в своих проектах.

12:45
МОНОЛИТНОЕ RAILS-ПРИЛОЖЕНИЕ И КАК С ЭТИМ ЖИТЬ

Сегодня Shopify - это самое старое в мире Rails приложение, кодовая база которого начинается в 2005, помнит Rails 0.9 и составляет 600 моделей и 800 контроллеров. Каждый день около 200 разработчиков работает над ним в одном репозитории.

Как масштабировать Rails не с точки зрения кол-ва запросов в секунду, а с точки зрения инструментов для разработки? Как обеспечить автоматическое код-ревью для 200 разработчиков и не дать им выстрелить себе в ногу? Мы построили большое количество инструментов, которые связывают Rails с окружением разработчика, и помогают быстрее и эффективнее доставлять код. В своём докладе я хотел бы поделиться рецептами этих инструментов.

13:15
JAVASCRIPT FOR RAILS DEVS

Frontend JavaScript is a swampland of buzzwords, leaky abstractions, and complicated toolchains. Lucky for you and me, there are some simple techniques we can use to avoid the quagmire and build dynamic, modern user interfaces that solve human problems.

In this talk I’ll show you a technique for embedding JavaScript components inside of otherwise server rendered pages to create islands of interactivity. This can be done with your existing build system, adding nothing but 20KB of gzipped JavaScript and a dash of common sense.

13:45
14:45
ТЕМА УТОЧНЯЕТСЯ

15:45
ТЕМА УТОЧНЯЕТСЯ

16:30
17:00
ANYCABLE, ИЛИ ACTIONCABLE ДЛЯ ВСЕХ

ActionCable – одно из самых примечательных нововведений Rails 5, которое буквально всколыхнуло Rails сообщество: статьи, инструкции по применению, "лайки" и "репосты" в Twitter. Это не удивительно: минимум настройки сервера, использование бизнес-логики (и даже шаблонов!) в _каналах_, JS-клиент, который просто работает – это пункты "за".

Но есть и весомое "против": все это написано на Ruby – языке, который я очень люблю, но который пока еще сильно уступает в вопросах масштабируемости и производительности _конкурентных_ приложений, а значит, либо ваше приложение рухнет под нагрузкой, либо ваш чек за серверные ресурсы начнет стремительно расти.

А теперь давайте представим, что никаких "против" нет, а есть _идеальный_ ActionCable с приятным Rails интерфейсом и производительностью и надежностью Erlang/Elixir приложения (с "2 million connections"). Я хочу представить свою попытку "приблизиться к _идеалу_" – AnyCable.

17:30
RUBYMINE TIPS&TRICKS

Каждый разработчик, безусловно, обладает своим набором хитростей и привычек, делающих его работу не только более приятной, но и более продуктивной. Каждый разработчик стремится пополнить этот набор. Любая IDE, в свою очередь, призвана помочь разработчику сосредоточиться на коде, по возможности взяв на себя рутинные задачи. Но, как и любой инструмент, IDE становится тем эффективнее, чем полнее используется ее арсенал.

В этом докладе мне хотелось бы показать несколько наиболее любимых нашими пользователями хитростей и возможностей RubyMine, которые помогут не только писать, но и сопровождать, анализировать, постоянно улучшать код. Неважно каким редактором вы пользуетесь, этот доклад может быть интересен и полезен, так как за каждым сочетанием клавиш быстрого доступа стоит наш собственный опыт и искреннее желание упростить нашу собственную жизнь – жизнь разработчиков ПО.

18:00
ПРОЕКТИРОВАНИЕ МОНОРЕЛЬСОВОГО ПРИЛОЖЕНИЯ В ЭРУ МИКРОСЕРВИСОВ

Вероятно, вы уже разрабатывали микросервисные приложения, что-то читали про них или кто-то из ваших коллег порывается начать новый проект с микросервисов. Из моего доклада вы узнаете когда микросервисы оправданы, о сложностях, которые привносят микросервисы в разработку, о влиянии их на бизнес и о том, как начать путь монолитного приложения в сторону микросервисов.

Кроме того, вы узнаете о том, когда (никогда) стоит начинать новый проект с микросервисов, как разделить существующий монолит на сервисы и как структурировать код уже сейчас так, чтобы этот процесс прошел менее болезненно в будущем. Кому-то может показаться интерсным опыт успешных компаний, проделавших нелегкий путь от монолитного приложения к микросервисной архитектуре.

18:30
LT: БЕЗОПАСНЫЙ ВЫЗОВ МЕТОДОВ

Новый синтаксический сахар в руби 2.3.1 добавляет оператор безопасного вызова метода, но зачастую, многие разработчики, используя такие вызовы, ухудшают поддерживаемость кода. В докладе рассмотрим основные паттерны безопасных вызовов в Ruby on Rails и в каких случаях необходимо их использовать.

18:40
LT: OSS. ЧТО В МЕШКЕ?

Я работаю над проектами с существенным legacy и большим количеством зависимостей. Пробегая время от времени по Gemfile'у проекта я замечаю, что некоторые из гемов мне совсем незнакомы. Нужно рано или поздно проверить эти зависимости и понять, актуальны ли они и насколько хорошо эти проекты поддерживаются — возможно, стоит избавиться от лишнего и тем более устаревшего кода. Такая же проблема возникает и при добавлении новой зависимости или выборе одного гема из множества аналогов.

Было бы здорово иметь возможность разом проверить, в каком состоянии работа над гемом, посмотреть его историю развития и поддержки на GitHub или RubyGems и сравнить с аналогами.Это мотивировало меня заняться исследованием — что на самом деле известно о гемах через публичные источники источники, такие как GitHub, RubyGems, RubyToolbox, Bestgems. Что из всей этой информации может быть полезным для принятия решения, а что — просто бесполезные числа.

Я покажу интересную инфографику о трендах и истории развития известных проектов (hanami, resque, delayed_job и других), расскажу об особенностях получения информации с указанных выше источников, а также нескольких способах ее классификации. И, конечно, проведу демо проекта, который стал результатом исследования и будет доступен для использования!

18:50
LT: RHOMOBILE. РАЗРАБОТКА КРОСС- ПЛАТФОРМЕННЫХ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

Вы любите Ruby и Ruby on Rails ? Вам нужно мобильное приложение на всех распространенных платформах ?

Есть решение - Rhomobile. Продукт с восьмилетней историей и полностью open source. Вы можете легко создавать кросс-платформенные гибридные мобильные приложения. Все как с Ruby on Rails - интерфейс на HTML/CSS/JS, а логика и работа с данными на Ruby, только сервер не удаленный, а локальный прямо на самом устройстве. Поддерживаются iOS, Android и все еще распространенные в корпоративном секторе WinCE/WM. В докладе на примере простого приложения я покажу как это работает.

9:00
10:00
11:00
ЗАДАЧИ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ ИЗ РЕАЛЬНОЙ ЖИЗНИ

Правильно распределенные ресурсы или оптимально составленные маршруты и расписания могут сэкономить бизнесу кучу денег. На первый взгляд этот класс задач уже давно разобран в научной литературе. Однако сложность предметной области реально работающего бизнеса и огромная размерность задачи могут бросить вызов программистам даже сегодня.

Я расскажу о примерах решения таких задач из реальной жизни, алгоритмах и проблемах, с которыми мы столкнулись при их реализации.

11:45
12:15
ДАЙТЕ ФРОНТЕНДУ В RAILS ВТОРОЙ ШАНС!

Ах, какие интриги происходят во фронтенд-коммьюнити в последние годы! Сложно сказать, это ли усталость или просвещение (fatigue or enlightenment) от JavaScript, ясно одно — фронтенд-разработка несется впереди планеты всей со скоростью сверхзвукового локомотива. В то же время бизнес и проекты живут обычной жизнью. Подходы к разработке фронтенда в Rails безнадежно устарели: сборка ассетов через Sprockets — это долго, неудобно, негибко.

В своем докладе я бегло затрону текущее состояние фронтенда и расскажу об остро стоящих проблемах сборки ассетов в Rails. Проведу эксурс в современные системы сборки Webpack, Gulp, Brunch и Rollup и покажу, как они могут быть интегрированы в экосистему Rails на примере реальных проектов. Доклад будет полезен бекенд и фронтенд разработчикам, а также может быть интересен руководителям проектов для поднятия общего представления процессов внутри команды.

12:45
ТЕМА УТОЧНЯЕТСЯ

13:15
SERVERLESS ARCHITECTURE AND AWS.

Serverless Architecture позволяет создавать и запускать приложения и сервисы без необходимости управления инфраструктурой. AWS имеет большое кол-во сервисов, используя которые можно построить многие компоненты системы с использованием бессерверной архитектурой.

При этом вам не потребуется заниматься выделением ресурсов, масштабированием и обслуживанием серверов для запуска приложений, баз данных и систем хранения данных. В добавок вы получите высоконадежную, масштабируемую и недорогую инфраструктурную платформу в облаке. Доклад будет полезен всем разработчикам, чтобы взглянуть по новому на построение приложений и как уйти от монолитного приложения. Также расскажу о работе с AWS, о плюсах и минусах

13:45
14:45
15:45
СЕРВЕРНАЯ РАЗРАБОТКА С УДОВОЛЬСТВИЕМ: RUBY ON RAILS ДЛЯ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ НА ПРИМЕРЕ ЯКИТОРИИ

На примере платформы, разработанной для московской сети ресторанов Якитория, расскажу, как мы создали уникальную для рынка систему, которая пронизывает все бизнес-процессы большой компании - от заказа в мобильном приложении, минуя колл-центр и менеджеров ресторанов, до отслеживания координат курьеров.

На конкретном примере слушатели познакомятся с особенностями серверной разработки на Ruby on Rails под мобильные приложения, узнают, как решать нестандартные задачи и проектировать API для мобильных приложений, проводить мониторинг работы платформы, а также выяснят, в каких направлениях может развиваться Ruby-разработчик в мобильном продакшене.

16:30
17:00
ВОЗМОЖНОСТИ РУБИ В КОНКУРЕНТНОМ ПРОГРАММИРОВАНИИ

Мы поговорим про модель памяти, посмотрим как можно использовать файберы и зачем они нужны, обсудим дальнейшее развитие руби в многопоточных средах

17:30
DEPLOY.RB

Сейчас даже только что созданное Rails 5 приложение связано с многими внешними сервисами: база данных, кеш хранилище, поисковая служба, задачи по расписанию и т.д.

В своей презентации я расскажу о своей новой open source инициативе, которая должна помочь разработчику запустить базовое Rails 5 приложение в продакшн режиме быстро и с минимальными усилиями.

18:00
Конгресс-центр Технополис
Волгоградский проспект, 42к5

Спасибо, ваши данные отправлены!

Мы свяжемся с вами в течение суток, чтобы подготовить документы для участия в конференции.

Спасибо, ваш билет оплачен.

До встречи на конференции!