Разработка
September 7, 2022

Анонс Ruby digest: Точка бифуркации

В этом дайджесте поговорим о механизме FIFO для работы с очередями и посмотрим на альтернативу Puma. Также расскажем об инструменте для подготовки сериализованных данных и изменениях в тарифной политике Heroku.

Начнём с последнего. Бесплатные тарифные планы Heroku уходят в прошлое. Увы, но мошенничество и злоупотребление возможностями бесплатных тарифов стали основными драйверами грядущих изменений. Можно сделать обоснованное предположение, что расходы ресурсов на бесплатных тарифных планах стали аффектить других клиентов. Это сподвигло менеджмент на решительные действия.

Прямая работа с форматами сериализации в Ruby всегда была болью. Даже простые операции, например с XML, могут превратиться в монструозные конструкции. Выход — конвертация в объекты и обратная конвертация в нужный формат. Мы нашли отличный gem, значительно упрощающий жизнь при работе с JSON, YAML, TOML и XML.

Использование нескольких процессов — логичный и удобный приём асинхронного программирования. Но как только этот приём применён на практике возникают вопросы взаимодействия. Так что стоит иметь представление о том, как организовано управление процессами и каким образом между ними поддерживается связь.

8 из 10 рубистов используют Puma в качестве сервера приложений. У него много преимуществ, начиная от высокой скорости работы и заканчивая параллелизмом. Он взял лучшее от старичка Mongrel и с 2015 года официально рекомендуется Heroku в качестве основного веб-сервера для Ruby. Но есть и альтернатива, о которой мы рассказали в полной версии нашего дайджеста.