Записки Вредного программиста

enjoy, motherfuckers ;)

Devconf 2013 - мои впечатления, ссылки на доклады и несколько фоток :)

Прошло 4 года с моего последнего и в то же время первого визита на конференцию разработчиков. 4 года назад сидел я в секции #php и почти не понимал что происходит, не понимал о каких проблемах говорят докладчики, но для меня это было, однозначно, в новинку и очень интересным. В течение всех этих лет желание посещать технические конференции только росло, но возможности, к сожалению, предоставлялось из-за не очень заинтересованных в этом работодателей.

Чуть больше года назад я сменил язык разработки и окончательно перешел на Ruby. Теперь желание заключалось в том, чтобы посетить Ruby секцию на той же DevConf. И вот, наконец, минимечта сбылась, и я на конференции.

К сожалению, пришлось немного опоздать из-за того, что любовь ко сну немного пересилила любовь к получению новых знаний.

Доклады

И вот регистрация и начало нового доклада, который не хотелось пропускать, ведь выступал чел, забаненный на Github’е, специалист по безопасности Егор Хомяков со своим докладом “Безопасный сайт на примере Rails”. Его рассказал про всевозможные атаки в web’е, как с ними бороться нужно и как эти проблемы решают (или как не решают) нами любимые рельсы. Узнал много нового о типах атаках и способов защиты с ними. Презентацию помог достать из интернетов товарищ roma, за что ему отдельное спасибо.

Дальше был кофебрейк, на котором было сложно протиснуться, поэтому кофе попить не удалось, ну, хоть, водички попили.

После кофебрейка удалось таки занять сидячие места и спокойно с интересом послушать очередного докладчика, которым оказался разработчик из Питера Николай Рыжиков, рассказавший нам о DDD в докладе под названием “Domain Driven Design on Rails”. Я очень часто слышал эту аббревиатуру, но так до конца и не понимал что это, как это готовить и как использовать в своих проектах (и сейчас не понимаю, но я научусь).

После очередного интересного доклада, после которого захотелось освоить эти забавные, но еще так непонятные 3D, мы послушали доклад с громким названием “Быстрое тестирование Ruby on Rails” от Александра Балашова, из компании-спонсора DevConf Evrone. Рассказ получился очень поверхностным, который можно уложить в одно приложение: “Используйте поменьше обращений к БД и юзайте Spring, Zeus или spork для ускорения запуска приложения”.

Следующий доклад “Проектирование API” прочитал Игорь Кузнецов – Ruby разработчик из Undev.ru. Этот доклад я очень хотел послушать, потому что реализовывать API самому не приходилось, а очень хотелось попробовать написать что-то подобное, наступая на “подводные камни”. Но, к сожалению, вопросов, которые я бы хотел услышать в докладе не освещалось, а именно аутентификация и больше практических советов, аля как использовать rails-api в связке с гемом devise, какие есть костыли и прочее. Но автор коснулся лишь теоретических основ проектирования API, что тоже было очень интересно послушать, кое-что я занес в заметки, чтобы в дальнейшем посмотреть. Интересно было рассказано про версионирование: отличие мажорной и минорной версии, какие изменения должно увеличивать мажорную, а какие минорную версию. И, конечно же стоит отметить упоминания автором доклада темы JSON Schema, которая одновременно является и документацией для API, и валидатором.

После доклада, который закончился немного раньше мы двинули на обед, благо, что нас отпустили немного раньше положенного времени, ибо, когда мы уходили с обеда очередь за едой была километровая. Покормили знатно, как в Египте прям, шведский стол, куча блюд и куча сладостей с фондю. В общем обед придал новых сил и мы двинули на очередной доклад.

Александров Игорь из компании JetRockets рассказал нам о “Биллинге в SaaS-системах на Rails”. Перед каждым, кто принимает платежи в своих проектах обязательно встает вопрос отдавать биллинг на аутсорс или реализовывать свою систему оплаты. Игорь рассказал и про плюсы, и про минусы обеих систем. Дальше рассказал про путь, в котором вы разрабатывает свою систему: биллинговый интервал и страшное название PCI-compliant, являющееся набором требований для организаций, сервисов, которые работают с платежными данными пользователей. Специально для Devconf 2013 было разработано приложение SpaceShip, показывающее все, что сказал автор доклада: биллинговые периоды, тарифы и пр.

Ну а дальше был апофеоз всего Devconf’а, доклад, ради которого стоило пойти на конференцию, даже если бы не было вкусного обеда и остальных докладчиков. Кирилл Мокевнин, известный и php мире, и в мире Ruby on Rails, превосходный докладчик и специалист, разбирающийся в своем деле. Доклад назывался “Архитектурные практики в Rails”, где Кирилл поделился со слушателями своим опытом разработки, рассказал о проблемах, с которыми сталкивался и как их решал сам. Были описаны следующие проблемы:

  • Организация иерархии в папках с контроллерами и моделями, наименования модулей и написание удобных правил в config/routes.rb.
  • Ссылки в js, замечатели ли вы что очень часто пишем в javascript-coffescript файлах, нечто похожее на “/posts/#{post.slug}”, Кирилл рекомендует использовать для этих целей гем js-routes.
  • Использовать для фильрации и сортировки гем ransack. Данный гем не пробовал, поэтому ничего пока сказать не могу.
  • Также автор затронул вопрос DDD, чем однозначно убедил прочитать в ближайшее время книгу Эрика Эванса “Domain-Driven Design. Tackling Complexity in the Heart of Software”
  • Также несколько примеров, которые приводит Кирилл

К сожалению, после этого доклада пришлось покинуть конференцию, сожалея только о том, что пропущу очередной доклад Кирилла Мокевнина “Ментальное программирование”, но его по техническим причинам прервали. Сам Кирилл, предлагает посмотреть видео на Youtube’e с его предыдущим выступлением, которое называется также.

Подводя итоги

… хочется сказать, что конференция была очень поучительна, но почему-то я ожидал от нее большего. Многие вопросы, которые освещались были мне знакомы, поэтому я прослушал их как чужое мнение на вопросы, с которыми приходилось иметь дело. Но, вцелом, хочется поблагодарить спонсоров и огранизаторов конференции за такую замечательную конференцию, которая дает “волшебный пендель”, прививает очередную порцию любви к программированию и дает пообщаться с коллегами по цеху о методах решения тех или иных вопросов :)

P.S.

Несколько дней писал данный пост, вносил кучу дополнений и изменений, но, думаю, что на этом достаточно, иначе пост никогда не увидит свет.

P.S. №2

Презентации с доклада, которые пропустил:

P.S. №3

Зарабатываю кружечку от Reg.ru, поднимая тяжести.

Комментарии