Ruby MeetUp

01.10.2020 18:00 185
Ruby MeetUp

01 октября в 18:00 (по МСК) встречаемся на youtube-канале ОЭЗ «Иннополис»: https://www.youtube.com/watch?v=5-UNhgoatYA&feature=youtu.be

 

Тема №1: CI/CD на коленке для вашей любимой рельсы

Спикер: Валентин Завадский, CEO Rubyroid Labs, Community Leader at Minsk.rb, Co-host at ProConf Podcast

Валентин с легкостью достает языком до кончика носа. В 15 лет бросил играть в доту и начал программировать. Администрировал локальную сеть и умеет обжимать витую пару по памяти. Учился проектировать процессоры и настраивать маршрутизаторы. Случайно влюбился в Ruby больше чем 10 лет назад и с тех пор верен зову своего сердца. Интересуется всем тем, что описали в книжках писатели-фантасты, так и самим книжками.

Давай задеплоим по-классике через капистрано на VPS? Капистрано это медленно, давай mina? Зачем вообще голый VPS, давай на хероку и не будем париться? Хероку дороговат, давай лучше через cloud66? Зачем переплачивать за cloud66 и heroku, есть же dokku? Вообще-то у нас тут грант на AWS на 10000$, давай попробуем Beanstalk? Beanstalk какой-то сложный, давайте докер и контейнеры? Будем сразу контейнеры ECS запускать? AWS это вендор-лок, давай что-нибудь свое поднимем? Kubernetes сейчас из каждого утюга, там автомасштабирование и вот это все, попробуем? А тесты и проверки где будем запускать? Может прикрутим CircleCI или TravisCI? Старичок Jenkins нас никогда не подводил, может его? Говорят, есть какой-то DroneCI, пробовали его? Зачем нам какой-то внешний CI, давайте поднимаем Gitlab и там есть встроенный? Обсудим может на курилке?

 

Тема №2: MPI: распределённая модель данных

Спикер: Александр Ильчуков, руководитель направления серверной разработки MPI

Александр обладает четырёхлетним опытом разработки сетевых сервисов на Ruby, при этом последние полтора года он ведёт разработку серверной части и решает архитектурные задачи в рамках основного продукта MPI. Среди его профессиональных интересов можно выделить низкоуровневые аспекты производительности сетевых сервисов, эффективную обработку запросов и протоколы взаимодействия с различными СУБД (например, PostgreSQL, Redis). Вне сетевых вопросов Александр старается держать руку на пульсе современной криптографии и её теоретических обоснований.

В докладе рассматривается эволюция модели данных серверной части основного продукта MPI. Специфика бизнес-требований и требований к целостности модели данных привела к созданию большого количества сложных, сильно связанных моделей в рамках монструозного RoR-монолита. Разделение этого монолита на сервисы, написанные с использованием различных технологий, усугубляет проблему разделения модели: необходимо, чтобы данные оставались сильно связанными, даже если они находятся в различных базах данных. Решение этой проблемы использует такие нетривиальные инструменты, как перевод доменной логики в СУБД и внедрение взаимодействия баз данных друг с другом. В конце доклада описываются ключевые недостатки подхода.

 

Тема №3: Автоматизируем синхронизацию HTTP API и документации без генерации клиента, сервера и документации

Спикер: Ефимов Дмитрий, Ruby-Dev Lead в FunBox

Последние 5 лет Дмитрий пишет веб на Ruby, запускает микросервисы и поддерживает b2b-продукты на всех этапах их жизненного цикла. В работе приходится взаимодействовать со множеством HTTP API.

На профессиональном пути Ruby-разработчика рано или поздно встречается HTTP API. Тебе может понадобиться настроить клиент или даже написать своё API. В такие моменты разработчик может столкнуться с конфликтом что документация на API начинает отличается от реализации и приходится делать много ручной работы.

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

В то же время существуют еще другие варианты для автоматизации синхронизации HTTP API и документации. Что это за подходы, какие есть готовые инструменты и в чём заключаются нюансы работы со всем этим хозяйством – расскажу в докладе.

 

Эксперт митапа:

Григорий Петров,

DevRel в Evrone, руководитель программного комитета

Moscow Python Conf++.

 

Мы ждём всех, кто хочет пообщаться со спикерами и задать вопросы.

Участие бесплатное, но нужно зарегистрироваться и присоединиться к группе по ссылке в telegram https://t.me/ruby_meetupchat

 

Подписывайтесь:

Чат Telegram: https://t.me/ruby_meetupchat (в чате появится ссылка на YouTube трансляцию) 

Facebook: https://www.facebook.com/sezinnopolis/

Instagram: https://www.instagram.com/sez_innopolis/

Все самые актуальные ИТ-вакансии в Иннополисе: https://telete.in/innopolisitjob