RubyRussia 2022: как выбрать себе доклад?
Самое большое (по версии Юкихиро Мацумото) русскоязычное событие по Ruby и Rails случится уже вот-вот: 30 сентября и 1 октября. Чтобы ориентироваться было легче, мы подробно описали каждый доклад, оценили их по сложности и обозначили, кому конкретно они будут полезны. Проверяйте, попали ли мы в ваши ожидания и интересы! И регистрируйтесь, конечно.
Ruby под нагрузкой, или меняем Puma на Falcon за неделю до релиза
Александр Шерман, Product Teamlead в Самокате
Сложность: ⭐⭐⭐
Хороший доклад про высокие нагрузки в Ruby. В третьей версии языка добавили асинхронный Fiber. Это позволяет писать приложения, которые смогут в асинхронном режиме работы выдавать огромное количество запросов в секунду. Фича новая, ей меньше года, а Самокат — одна из немногих компаний, кто её уже попробовал и внедрил. Можно подслушать и применить у себя.
Кому будет полезно: Всем рубистам, которым надо обрабатывать гору запросов в секунду и они ради этого готовы писать чуть более сложные штуки.
ActiveRecord Schema Consistency —, а если проверю?
Евгений Демин, Principal Engineer в Toptal
Сложность: ⭐⭐
Toptal — один из мировых лидеров в использовании Руби, и это один из ключевых докладов конференции. Их доклады традиционно про практические штуки. В этот раз узнаем, как они валидируют, что рубисты используют Active Record правильно.
Евгений Демин сделал для этого open-source утилиту, а в докладе расскажет, как эта задача появилась и решилась. Узнаем, как он сделал первую версию, как другие делали что-то конкурирующее. И, конечно, будут подробности про утилиту и ошибки, которые она помогает исправлять.
Кому будет полезно: Всем. Отличный доклад о том, как писать более качественный код. Отдельно советуем послушать тем, кто хочет участвовать в open-source проектах: увидите, как развивать и поддерживать свой проект. Ну и, может, поучаствуете в развитии проекта Евгения.
3 попытки и 8 лет перехода с Ruby на Elixir
Дмитрий Клейменов, Elixir Developer в Evrone
Сложность: ⭐⭐
Наш коллега расскажет, как он из Ruby-разработчика перешёл на Elixir. В отличие от многих других историй это не «захотел и стал», а история борьбы и превозмогания. Дмитрий переходил в Elixir 8 лет, потому что Ruby хороший и не отпускает. Ему помогло то, что ему нравился именно язык. И теперь он расскажет, что рубисты могут найти в Elixir, чем он им понравится и какие задачи можно решить.
Кому будет полезно: Это не мотивационная лекция, а хардкорный разбор двух швейцарских мультитулов. Понравится тем, кто ищет возможность посмотреть на Elixir глазами опытного Ruby-разработчика, который решился сменить стек. Ruby, конечно, хорош, но посмотрим, чем удивит Elixir.
Ещё это отличный повод задуматься тем, кто уже несколько лет пишет на Ruby и хочет «осмотреться» в стеке, решать задачи интереснее и с ещё большим удовольствием от работы.
JSON: API это не JSON API: выбор API в УЧИ.РУ
Александр Меркулов, Тимлид/Backend разработчик в Учи.ру
Сложность: ⭐
Александр расскажет, как многочисленные Ruby-приложения Учи.ру взаимодействуют друг с другом. На протяжении многих лет Учи.ру смело ставили разные эксперименты, искали хороший способ взаимодействия приложений. И между собой, и с фронтендом для разных задач. Это очень хорошая история о том, как может выглядеть долгая и продуктивная техническая работа в компании.
Кому будет полезно: Обязательно к просмотру, если хотите узнать больше о выборе API и посмотреть, как работают большие системы. А вообще эта история — отличный пример классной технической экспертизы в компании. Учи.ру не стесняются делиться результатами экспериментов, рассказывать о пройденном пути — тут есть на что посмотреть.
Ruby, Cucumber, русский язык: автотесты для Альфа-Банка
Елена Рыжкова, Ведущий инженер по автоматизированному тестированию ПО в Альфа-Банке
Сложность: ⭐
Елена расскажет, как Ruby приходит в компанию не потому, что нужна разработка, а из-за очень хороших решений для тестирования в экосистеме языка. Несколько десятков человек в Альфе уже пишут тесты на Ruby и счастливы.
Речь пойдёт про легендарную платформу для тестирования — Cucumber. Она позволяет описывать тесты на обычном, естественном языке — русском, немецком, английском и так далее с помощью специальной нотации Gherkin.
Логика тут в том, что описывая тесты на своём родном языке, мы гораздо лучше разделяем код и описание тестов. Из доклада мы как раз узнаем, как устроено тестирование больших систем с помощью Cucumber — у Альфа-банка больше тысячи описаний тестов на этой нотации. Елена расскажет, как организована работа с этим всем и объяснит, как Ruby помогает компании, в которой непосредственно разработки на этом языке нет.
Кому будет полезно: Это важный доклад для всех, кто знает про Cucumber, но не использует его, потому что не понимает зачем. А использование кукумбера, между прочим, помогает лучше тестировать код. Из доклада узнаете, где его можно использовать уже сейчас в вашей работе.
Аппликативное программирование в Ruby: секретные архивы тайного общества адептов railway–программирования
Дмитрий Цепелев, Senior Backend Engineer в Toptal
Сложность: ⭐⭐⭐⭐
Хардкор-хардкор. Дмитрий Цепелев — известный большой теоретик Ruby-разработки. Очень сильный инженер, активно участвует в жизни open-source сообщества. Специализируется на сложном коде и сложных подходах в разработке — это подход, который помогает суперсложным системам хоть как-то изложить логику своей работы в языке программирования.
Речь пойдёт о нетривиальных вещах: о сложных концепциях, редких фишках языка. Чтобы не создавать сотни тысяч строк кода, приходится искать необычные, но хитрые и элегантные решения. Такая теория решения изобретательских задач в программировании.
Кому будет полезно: Ух, задачка c серьёзной звёздочкой. В основном, для самых опытных разработчиков, которые хотят хардкора, хотят посмотреть, куда развивается современная разработка и с какими подходами она экспериментирует.
Джуны и миддлы узнают, как пишут код матёрые рубисты. Стремиться надо именно к такому, поэтому слушайте ключевые слова, гуглите и разбирайтесь потихоньку.
Готовим крафтовые API-клиенты без головной боли
Сергей Плешанов, ViceCTO в Домклик
Сложность: ⭐
В лучшем смысле этого термина «научно-популярный» доклад для всех рубистов. В больших компаниях часто приходится делать повторяющиеся штуки, в частности — API-клиенты. И вот под руководством Сергея был разработан смешанный подход, когда часть кода генерируется, а часть пишется вручную. Узнаем, как Домклик получает лучшее от обоих подходов.
Сергей расскажет про качественный код без дублирования: как не повесить на себя технический долг, чтобы создаваемые API-клиенты можно было бы чинить, улучшать, развивать. Но при этом не терять «крафтовости» кода, когда пишешь ручками.
Кому будет полезно: Всем вообще, кто хочет писать код лучше. То есть поддерживаемый, без лишнего дублирования. Чтобы можно было вернуться и улучшить что-то, что было написано год-два назад. Читаемый для новых разработчиков. В котором ошибки можно исправить один раз во всех системах.
table_sync: синхронизируем базы микросервисов без SQL и SMS
Ибрагимов Рустам, Team Lead в Umbrellio
Сложность: ⭐⭐⭐
Доклад о решении сложной задачи по синхронизации баз данных для микросервисов. 150 слайдов, которые пролетят за 20 минут.
Вообще есть много разных подходов к этому «снаряду». Кто-то настраивает для синхронизации данных разные БД, другие используют шину данных. Рустам расскажет про необычный подход и open-source инструмент, который стал побочным результатом этой работы.
За 20 минут тут не разберешься, поэтому это скорее тизер подхода и опенсорс-решения. Если вам понравится тизер — Рустам ответит на вопросы.
Кому будет полезно: Тем, кто любит сложные задачи. После доклада вам будет, куда копать.
Чем dry-rb (не) полезен мне
Егор Шморгун, Ruby Developer в Level.Travel
Сложность: ⭐⭐
В Ruby есть сложные штуки. Dry-rb — одна из них. Но нет инструментов плохих и хороших, всему своё место.
У Егора нет 10 лет опыта, но это и здорово. Без хардкора и отсылок к авторитету вы сможете услышать мнение об этом инструменте со стороны, сравнить его со своим, подготовиться к использованию dry-rb. Это штука не только для сложных архитектурных вопросов, можно сразу узнать — стоит ли игра свеч.
Кому будет полезно: Джунам и миддлам в обязательном порядке. Рано или поздно вы столкнётесь с dry-rb. Сеньоры и лиды — приходите тоже, нам нужна ваша поддержка и советы, ведь все вы там были.
Как мы еще не перешли с Vue.js на Hotwire
Марсель Мустафин, Team Lead in Uscreen
Сложность: ⭐
Ещё один яркий доклад конференции. Несколько месяцев назад вышли 7 Рельсы, DHH в привычной революционной манере презентовал Hotwire. Технология и вправду крутая и прорывная. Использование Hotwire принципиально отличается от текущего стандартного подхода с использованием Vue или React — он пронизывает приложение целиком и даёт принципиально иной способ создания фронтенда.
Hotwire располагает к эксперименту, предлагает отбросить старое и начать писать меньше кода, делать по-настоящему fullstack-приложения.
Uscreen в принципе пропагандируют fullstack-подход. И Hotwire кажется идеальным решением для них. Посмотрим, каких результатов им уже удалось добиться.
Кому будет полезно: Всем, кто облизывался на Hotwire, но ждал, пока его попробует кто-то другой. Если думаете, что React это сложно и должен быть способ делать современные решения попроще — послушайте, что говорят пионеры нового подхода.
Чиним отставание реплик, не меняя архитектуру ruby монолита
Александр Панасюк, Тимлид кросс-функциональной команды в СберМаркете
Сложность: ⭐⭐
Ещё один доклад из мира больших проектов. Что делать, если количество пользователей увеличилось в 14 раз, вы масштабировались, используете реплики, но они начинают отставать? Тут будет и конкретный ответ на вопрос, и результаты экспериментов, в общем — классная техническая история.
Кому будет полезно: Это архитектурный доклад, он довольно серьёзный. Джуны увидят, что их ожидает в случае успеха стартапа, на который они сейчас работают. Миддлы и сеньоры послушают, как другие справляются с тем, с чем они борются сейчас или столкнутся в ближайшем будущем.
Убьет ли HTTP/2 лонг-поллинг и вебсокеты?
Александр Уланов, Senior Full Stack Engineer в Learning Tapestry, Inc
Сложность: ⭐
Learning Tapestry делают сервис по управлению школьными автобусами, там хардкорный real-time: школьники, водители, операторы, всё должно быть быстро и secure. Тут бывает, что не браузер бэкенду много чего отправляет, а бэкенд что-то говорит десяткам тысяч браузеров, где открыт сайт.
Послушаем про коммуникацию браузера с бэкэндом, пробежимся по текущим решениям, их достоинствам и недостаткам. Немного поспекулируем на тему «а что поменялось с приходом HTTP/2, HTTP/3?»
Кому будет полезно: Тут простыми словами описано всё для тех, кто работает с real-time. Если вы уже работаете с этими задачами, то будет суперполезно.
Другим тоже советуем заглянуть. Никогда не знаешь, когда от бизнес-подразделения прилетит задачка «хотим, чтобы оператор в чатике отвечал пользователям в реальном времени».
Что узнали рубисты igooods, делая push-уведомления
Георгий Быков, Backend Developer в igooods
Сложность: ⭐
Пуши — частая практическая задача. И где им быть, как не в доставке? Курьер забрал заказ, везёт заказ, стоит у двери, поставьте ему 5 звёзд.
Георгий Быков из igooods буквально проведёт нас за руку в сложности и интересные места этой бизнесовой фичи. Какие есть агрегаторы, зачем они нужны и чем отличаются? Что маркетинг хочет от пушей и как это влияет на код? К чему готовиться? Что иметь в виду при обновлении приложения в сторе?
Кому будет полезно: Конечно начинающим и продолжающим разработчикам. Вы с этим однозначно столкнётесь. Если вы давно сеньор и вам «пффф, скучно», то зря-зря. Мы будем говорить не только про разработку, но и про бизнесовые вопросы, коммуникацию с бизнес-департаментами. Большим и взрослым дядькам там приходится использовать свои софт-скиллы, чтобы защитить свои технологические решения.
Node.js for ruby developer — личный опыт
Матвеев Дмитрий, CTO в Поток.Диджитал
Сложность: ⭐⭐
Мы любим посмотреть на другие технологии через Ruby-очки. Про Elixir уже было, теперь про JS.
У Потока много Ruby-разработки, но в наследство команде достался проект с Node.js на бэкенде. Дмитрий расскажет, что такое для рубиста — работа в чужом стеке. Правда ли, что любой рубист достаточно хорошо знает JS, чтобы создавать бэкенд? В чём разница между языками и экосистемами? Что будет привычно и непривычно для рубиста? Что будет нового в экосистеме Node.js? Чего будет не хватать?
Кому будет полезно: Тем, кто смотрит по сторонам, как и в докладе про Elixir.
А вообще рубистам часто приходится работать с JS-кодом, вот увидите, как выглядит «очень много JS-кода + Ruby». Посмотрим, насколько велики риски в таком проекте.
И не забудьте самое главное — зарегистрироваться!
Команда RubyRussia 2022 ждёт вас — выбирайте доклады, заносите даты в календарь, готовьте интересные и заковыристые вопросы спикерам. Увидимся 30 сентября и й октября!