Как стать автором
Обновить
0
RubyRussia
Конференция разработчиков на Ruby и RoR

RailsClub 2015: Интервью c Киром Шатровым

Время на прочтение4 мин
Количество просмотров3.8K
Привет!

Новая неделя и новое интервью со спикером конференции RailsClub 2015, которая пройдет 26 сентября в Москве. Сегодня на вопросы отвечает Кир Шатров — ведущий разработчик в Злых Марсианах, контрибьютор Rails и ведущий RubyNoname Podcast.

image

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

На Rubyconf 2014 Матц говорил, что одним из фокусов Ruby 3 будет поддержка конкурентности. Задатки этого уже появляются в виде гемов — например, concurrent-ruby, который уже используется во внутренностях Рельс. Я думаю, что сейчас это станет одной из задач в развитии языка; без хорошей поддержки конкурентности у Руби может не быть будущего.
Что касается Rails — я рад, что за последний год появились альтернативы рельсовому стеку: например, Lotus и ROM. Адаптация альтернативных фреймворков на уровне сообщества поможет открыть разработчикам глаза и рассказать о том, что кроме рельс еще есть что-то: другие подходы и другие парадигмы.


Чего не хватает в Rails?

Внутри Rails всего хватает. Осенью туда еще включат ActionCable. Чего не хватает — так это большей модульности. Она возможна, но ей никто не пользуется — сколько у вас есть знакомых, которые применяют Sequel или ROM вместо ActiveRecord?
Думаю, что популярность конкурентов могла бы дать рельсам стимул переписать монолитные компоненты, такие как ActiveRecord.


Любимый язык программирования после Ruby, почему именно он?

Раньше мне очень нравился Go, но после того, как я увидел Clojure, моё мнение о Go изменилось :) Clojure подкупил красивым синтаксисом, наличием REPL и функциональным подходом. После опыта с Clojure, смотреть на код на Go даже стало немного больно. Основной минус Clojure для меня — этот язык менее популярен в продакшене по сравнению с Go, поэтому пока я не представляю, как применить его в боевом проекте.


Какая, по твоему мнению, технология будет наиболее перспективной в ближайшее время?

По моим ощущениям, процентов 70% разработчиков из Rails Core Team — и другие авторитетные разработчики — дико фанатеют от Rust. Думаю, что он наберет определенную аудиторию, как только станет стабильным. Хотя некоторых отсутствие стабильности не останавливает — например, Yehuda Katz уже использует его в своем сервисе Skylight.


Что для тебя Open Source? В каких проектах участвуешь и почему?

Опенсорс и Гитхаб дают возможность поработать вместе с очень талантливыми людьми, у которых есть чему научиться.
1% разработчиков создают фреймворки, а 99% их потребляют. К тому же, приятно, когда ты знаешь, что твой код запускается на тысяче машин.


Любимые ресурсы(блоги/сайты/твиттеры) на темы веб разработки и программирования?

Внимательно слежу за работой Richard Schneeman — автора derailed, набора утилит для бенчмарка рельсовых приложений. Также он недавно оптимизировал время ответа в Рельсах почти на 10%.
Могу порекомендовать рассылку This Week in Rails — в ней собраны все интересные баги и пулл-реквесты в Рельсах за неделю.


Лучшая прочитанная книга по программированию/технологиям?

Однозначно Ruby Under a Microscope, которая дает отличное понимание структур данных в языке, и то, как они реализованы в MRI, JRuby и Rubinius.


Какой бы ты дал совет разработчикам, которые хотят добиться больших успехов?

В руби и рельсах много магических вещей, которые работают из коробки, сразу после добавления гема в проект. Многие разработчики так рады этому, что даже не задумываются, как оно на самом деле работает.
Мне кажется, что если бы мы больше читали исходники гемов вместо того чтобы гуглить или читать документацию, то гораздо лучше бы разбирались в предметной области.
Поэтому совет — каждый раз, когда у вас появляется вопрос, смело набирайте bundle open gem и читайте исходники. И не бойтесь читать исходники рельс :)


Не надоело программировать?

Надоело. Последние полгода пытаюсь максимально отдалиться от программирования в свободное время. Собираюсь пойти на столярные курсы и начать делать мебель. В свободное время люблю готовить, а в июле мы с коллегой проехали тысячу километров на велосипедах по Германии и Дании.


Чем бы занялся, если бы у тебя было 2 месяца свободного оплачиваемого времени?

Я уже давно собираюсь портировать ActiveRecord Attributes API внутрь ActiveModel, для того чтобы в ActiveModel наконец-таки появилась поддержка typecasting и multiple attributes. Сейчас для этого надо использовать сторонний гем — например, virtus. Это позволило бы еще лучше прокачать Form Objects в дефолтном составе Rails.

Еще я бы попробовал написать своё, современное решение для хранения файлов в руби-приложениях. Мне кажется, сейчас сообществу не хватает такого решения, потому что Carrierwave морально устарел (он был написан еще для Merb в 2008), а новый Refile имеет отличную архитектуру, но его процессинг файлов далек от идеала.

Я уже делал первую попытку (см. Storage), но наткнулся на проблемы архитектуры, решил всё переписать, но так и не нашел для этого времени.

Спасибо за интервью и увидимся на конференции!

26 сентября Кир приедет из Хельсинкии выступит на RailsCllub. Полная программа и регистрация на нашем сайте.

На конференции нас ждет русская версия доклада Кира с RailsConf 2015 в Атланте.
На примере бета-версий Rails 4.2 мы убедились, как часто в фреймворке Rails могут случаться регрессии производительности, и как легко они могут остаться незамеченными.
Проблема производительности и ее регрессий становится все более острой в Ruby-сообществе. Это подтолкнуло меня и других контрибьюторов Rails к разработке Rubybench, сервиса для поиска регрессий производительности в Ruby и Rails.

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

Наши спонсоры


Генеральный партнер: Toptal
Золотой партнер: Cloud Castle
Серебряные партнеры: AT-Consulting и Honeybadger
image
Honeybadger — сервис, который мониторит exception, uptime и производительность ваших приложений. При появлении проблемы Honeybadger отправляет уведомление на электронную почту, в чат или даже сообщением на мобильный. Вы можете быстро исправлять баги и строить крутые приложения не отвлекаясь.

Бронзовые партнеры: Rambler&Co и Look at Media

Будьте в курсе наших новостей, подписавшись на рассылку на сайте railsclub.ru, и следите за обновлениями:
RailsClub.ru
twitter.com/railsclub_ru
facebook.com/railsclub
Теги:
Хабы:
+6
Комментарии0

Публикации

Информация

Сайт
rubyrussia.club
Дата регистрации
Дата основания
Численность
Неизвестно
Местоположение
Россия

Истории