Back to top

расписание

  • Поток #1
  • Поток #2
09:00
РЕГИСТРАЦИЯ
10:00
Pointers for Eliminating Heaps of Memory
Aaron Patterson
In this presentation, we'll cover techniques in Ruby 2.6 that reduce "dead space" memory overhead found in all Ruby programs today. First, we'll cover the compilation process of Ruby programs, instruction optimizations, as well as internal data structures used for running Ruby code. Next, we'll look at how to use this information to maintain liveness of Ruby objects in the code.
Finally, we'll take all the information we covered so far to develop a technique for reducing dead space in the heap. Remember to mark your calendar because this presentation will be remembered for generations.
10:50
Optimizing Ruby on the JVM
Сharles Nutter
JRuby is the premier implementation of Ruby on the JVM, with thousands of production users and compelling performance gains over CRuby. In this talk we'll discuss how you can get the most out of JRuby, showing how JRuby and the JVM optimize your code. JRuby is the fastest, most scalable way to run large Ruby applications...this talk will show you how to get started.
11:30
КОФЕ
12:00
JWT - how to implement uniform authentication flow for API-first applications
Юлия Олецкая
Я не так давно написала гем https://github.com/tuwukee/jwt_sessions. Хочу рассказать об общих принципах создания API-first приложений c единообразным процессом аутентификации для JS-SPA/mobile/сторонних API-клиентов на примере этого гема.
12:40
Events. Events. Events!
Антон Давыдов
Мы проектируем системы разной сложности и обычно думаем о коде и фичах. Но в реальном мире, кроме кода и данных, системы содержат события, которые могут использоваться для разной логики в разных частях монолита или сервисаов.
В своем докладе я расскажу про такой паттерн проектирования систем как event sourcing, так же расскажу при чем тут DDD и CQRS, и почему это может быть полезно разработчикам. Так же, обсудим плюсы и минусы таких систем, рассмотрим подводные камни и поговорим о том, как использовать все это в ruby мире.
13:20
Threads are evil. Async Ruby in action
Юлиан Кулеш
Доклад о состоянии библиотек для асинхронного IO в Ruby, их применении в продакшене, проблемах с которыми можно столкнуться. В докладе будут рассмотрены разные варианты организации асинхронного IO, показаны примеры с помощью библиотеки EventMachine. Описан стоящий за IO механизм и особенности его эксплуатации в Ruby.
Доклад будет постепенно наращивать абстракции и мы пройдем путь от механизмов нотификации ОС до создания плоской асинхронности с использованием Fibers и применении этого механизма в реальных проектах. Не обойдем мы стороной и новшества Ruby, показав как именно Guilds вписываются в общую картину мира и над какими улучшениями в этой области сейчас работают активисты общества.
14:00
ОБЕД
15:00
High performance Ruby services
Maciej Mensfeld
Is 100 mln requests per day a lot for a single Ruby process? Well it really depends on how you approach things.
Ruby is mistakenly associated mostly with the Rails framework, while beyond that there is a whole world worth exploring. HTTP is not always the best or the most efficient way of handling things and synchronous reality is not always the right approach. Come and learn how to harness Ruby potential in the areas that are usually unxeplored.
15:40
Mutant on Rails
Markus Schirp
On applying mutation testing with mutant to Ruby on Rails environments.
16:20
Dropping Down To The Metal
Godfrey Chan
As much as we love Ruby, when we need to drop down to The Metal™, JavaScript is our only hope. This is why I developed the javascript gem to help you harness the raw power of your machines. In this talk, we will examine the Ruby tricks and black magic hidden behind this ludicrous invention. Along the way, we will learn about how Ruby internally deal with variable lookups, method calls, scoping and bindings. Together, we will push the limits of the Ruby language, taking it to places Matz never ever envisioned!
17:00
КОФЕ
17:30
Элис и Боб переводят деньги. От букваря до кровавого энтерпрайза: транзакции, локи, паттерны.
Иван Работяга
На простых примерах разберемся, как работают на практике транзакции и локи, и где они работают совсем не так, как можно ожидать; с какими задачами сталкивается любой разработчик крупных систем, какие существуют решения, где границы их применимости.
18:00
Evolution of Rails application architecture: 14 years in production
Николай Сверчков
С момента первого релиза фреймворка Ruby On Rails были написаны миллиарды строк Ruby-кода. Я расскажу о том, как менялось представление об идеальном Ruby-приложении на протяжении этих четырнадцати лет, и как самые именитые долгожители Ruby-мира организуют архитектуру проектов сегодня. Мы рассмотрим реальные примеры от сотрудников Basecamp, Shopify и Cookpad и выясним в какой точке развития находится Ruby экосистема в данный момент.
18:30
Lightning talks
09:00
РЕГИСТРАЦИЯ
11:30
КОФЕ
12:00
Эйчарские войны: Последние рубисты
Павел Якшанкин
Для ruby-компаний настали тяжёлые времена. Хотя рекрутеры и лиды повстанцев одержали первую победу над перегретым рынком и смогли привлечь в свои ряды сильных ruby-джедаев, HR война далека от завершения.
Избегая встречи с грозными джунами за 200, группа борцов за чистый код обустроила продвинутую рекрутинговую базу на отдаленной системе “Инстамарт”.
А если серьезно о теме поиска и профессионального развития разработчиков я планировал рассказать давно, так как занимаюсь этим с 2013 года, и хотел бы поделиться накопленным опытом привлечения крутых инженеров за адекватные деньги в сложные и, на первый взгляд, не сильно хорошо продающиеся с точки зрения HR-бренда проекты.
Я расскажу как мы сформировали сильную команду разработки и прокачиваем ее изо дня в день. Будет интересно как тем, кто набирает команду и уже немного приуныл, так и тем кто ищет профессионального развития, а находит лишь печеньки в офисе.
Мы поговорим о том как не потеряться на всех этапах подбора специалистов и обратим пристальное внимание на составление плана технического собеседования, за которое даже провалившиеся кандидаты будут благодарить.
Нужны ли логические задачи и вопросы об операционках? Чем привлекать кроме денег? Важны ли soft skills? Как прокачать HR-бренд и не пустить компанию по миру? На все эти вопросы я постараюсь дать ответ.
Во второй части поговорим об адаптации к проекту и профессиональном развитии наших сотрудников - как правильно подойти к составлению грейдов и матриц компетенций, как делать планы развития и стимулировать их выполнение, какую роль играют курсы, митапы, конференции и open source. Важным аспектом этой части станет совмещение интересов разработчика и компании.
12:40
Фичетогглинг. От теории к практике
Иван Шаматов
Фичетогглинг — мощная техника, позволяющая менять поведение системы без изменения кода.
В докладе я постараюсь структурировать информацию о фичетогглах и предложить решения, которые позволят сохранить пользу от фичетогглинга и при этом предоставят возможность справиться с возрастающей сложностью в проекте.
13:20
Один год с легаси
Дмитрий Степаненко
В докладе будет идти речь о проделанной оптимизации нагруженного (8000-9000 запросов в минуту) legacy (190 000 строк кода) Ruby On Rails проекта для поиска и бронирования авиа-билетов. Расскажу, как бороться со старым кодом и не бояться вносить в него изменения; как делать рефакторинг и перепроектирование архитектуры в работающем проекте.
14:00
ОБЕД
15:00
Что тебе в метриках моих?
Андрей Новиков
Развивать большое и нагруженное приложение без мониторинга — трудно и опасно так же, как и пилотировать самолёт без приборов. Почему важно следить за «полётом» приложения, на что нужно обращать внимание, как графики в мониторинге помогают быстро решать возникающие проблемы с производительностью и не допускать их вновь.
На примере боевого опыта с Sidekiq, Prometheus и Grafana расскажу и покажу, как снимать показания с Ruby-приложения, сохранять и выводить их на графики, расскажу пару грустных историй со счастливым концом о том, как это помогает команде и проекту каждый день.
Представлю набор новых гемов для настройки стандартного мониторинга «в два счёта» и для лёгкого включения любых кастомных метрик в своё приложение и свою систему мониторинга.
15:40
MRuby + Nginx: особенности и примеры
Сергей Алексеенко
mruby - это легковесная реализация Ruby, которую можно встраивать в различные приложения на C/C++/Go/Rust. В докладе я расскажу о возможностях языка, поговорим об ограничениях в сравнении с Ruby 2.x, посмотрим на примеры использования как встраиваемого языка.
Подробно рассмотрим расширение ngx_mruby, которое добавляет в Nginx поддержку mruby. Расскажу как его можно использовать в production, на примере динамической загрузки SSL сертификатов для разных доменов.
16:20
Как не надо переходить с Ruby на Go
Влад Богомолов
Типичный жизненный цикл стартапа начинается с небольшого сервиса, написанного на Ruby, который внезапно превращается в десятки тысяч строк туго переплетенного монолита. Самое время перейти на SOA и переписать критичные части. Я расскажу какие ошибки можно собрать при переходе к написанию новых сервисов на Go, и на что стоит обратить внимание.
17:00
КОФЕ
17:30
Regression Test Selection for RSpec
Павел Шутин
Речь пойдет о геме Crystalball, который позволяет делать выборку тестов проекта для запуска на основе изменений кода проекта.
Это доклад для Ruby разработчиков, которые используют RSpec для написания тестов и\или страдают от больших неповоротливых test-suite'ов. Расскажу, как ускорить локальную разработку, а также получать фидбэк от CI быстрее.
18:00
Coming soon

билеты на 6 октября

10 000₽
Осталось 50 билетов