Всем привет! Соскучились по нам? ) Мы уже готовимся к новой встрече. Сегодня расскажем о том, что будет на RailsClub 2017 и о том, как еще можно попасть в программу!
23 сентября, конгресс-центр Технополис Москва. Регистрация на сайте.
Итак, что будет:
Richard Schneeman, Ruby Hero 2016. Входит в топ-50 контрибьюторов Ruby on Rails, мэйнтейнер Sprockets. Создатель библиотек Wicked и Derailed Benchmarks, работает на Heroku и занимается сервисом codetriage.co, который помогает людям начать свое путешествие в мир open source.
Threads Aren't Evil
Okay, so threads are pretty evil. But they are also useful, and given the right development patterns, not impossible to work with. In this talk we'll look at some real world Ruby libraries where threads were applied to accomplish otherwise impossible tasks. We'll look at re-writing a real world library to support parallel execution by threads for performance gains. If you're not comfortable with the "«T»" word (threads), this talk is the perfect introduction to practical thread programming in Ruby.
Piotr Solnica, разработчик из Польши, работает техлидом в Icelab. Автор rom-rb и dry-rb, активный OSS контрибьютор. Доклад будет о Rom-rb 4.0, детали пока уточняем!
Nick Sutterer, автор Trailblazer! Где бы ни проходили серьезные и глубокие дебаты об архитектуре софта в open source, если там присутствует бесплатное пиво, Ник Саттерер, скорее всего, где-то рядом. Скажите ему привет, он любит людей.
Ruby Is Dead
Having a simple programming language doesn't mean the applications will be simple. Higher abstractions are needed — but Ruby doesn't seem to give us those! Here is a tour through other languages, and how we can have nice things in Ruby
Luca Guidi, семьянин, независимый OSS разработчик, автор фреймворка Hanami. Тема доклада: Functional web with Ruby, подробности расскажем позже.
Кир Шатров, Production Engineer из Shopify.
Архитектура фреймворка фоновых задач
Наверное, каждый Ruby-разработчик использовал очередь задач и Sidekiq. Однако в сложном проекте фоновые задачи это гораздо больше, чем просто очередь: это приоритетизация очередей, ограничение ресурсов, "«уникальные»" задачи и батчинг на группы задач.
Как обеспечить "«справедливую»" очередь на случае когда один клиент добавил миллион задач, а другой — всего одну? Что происходит с задачами, когда мы хотим остановить воркер после выкатки новой версии приложения? Что делать с задачами, которые проходят по всем записям в БД и занимают неделю? В докладе поговорим о том, что скрывается под капотом всех этих фич — и как некоторые из них реализует Sidekiq (Pro). Послушав доклад, эти фичи перестанут быть для вас магией и станут обычными структурами данных.
Антон Давыдов, разработчик, энтузиаст Open source, Hanami core.
Что нам стоит, экосистему построить
Два года назад, работая над Hanami, я не подозревал, насколько важна экосистема для проекта. Каждый день в своей работе мы используем самые современные технологии: языки, фреймворки, плагины и другие продукты. Мы не задумываемся, сколько времени экономим благодаря развитой экосистеме и готовым решениям распространенных проблем.
Например, многие любят Rails за возможность создать MVP в максимально короткие сроки. В этом заслуга не только самого фреймворка: вокруг Rails существует целая система гемов, а решения большинства задач уже описаны. Поэтому развитая экосистема важна для продукта, которым будет легко и комфортно пользоваться.
Я поделюсь опытом создания экосистемы Hanami. Расскажу, как технология развивается благодаря ее окружению, на какие грабли мы наступили в процессе работы и с чего бы я начал разработку экосистемы, если бы вернулся на 2 года назад.
Андрей Молчанов, Software Developer в Evrone.
Виртуальная машина Руби
Рассмотрим, какое место занимает виртуальная машина в этапе компиляции программы и для чего она нужна. Узнаем, что из себя представляла виртуальная машина в своей первой версии, проанализируем ее недостатки как причины дальнейших изменений.
Беря во внимание текущую реализацию, мы пройдем путь компилляции программы до машинного кода, детально рассмотрев, что происходит внутри нее.
В заключение, мы обсудим куда движется этот проект, что в нем хотят улучшить и каким способом.
Владимир Дементьев, разработчик в Злых марсианах, математик, опенсорс разработчик
Тесты тоже должны быть быстрыми
Тесты занимают важную часть разработки, особенно на Ruby и Rails. Как правило, мы мало уделяем вниманию организации кода тестов и их оптимизации. До тех пор, пока не замечаем, что тратим слишком много времени, чтобы увидеть зелёный цвет в конце тоннеля.
Я хочу рассказать о том, как обнаружить проблемные места в тестах, показать способы их устранения, а также представить новый инструмент, который поможет вам в этом – TestProf.
Анна Щербинина, лид в веб отделе Artec3D.
Сказ о синхронных и асинхронных парадигмах
Web основан на коммуникации: взаимодеи?ствие между сервисами, серверами, утилитами, классами в приложении. Изначально выделились две полярности, синхронное взаимодеи?ствие между компонентами и асинхронное. Очевидно, без синхронного взаимодеи?ствия не обои?тись когда реакция напрямую связана с ответом, полученным на запрос. С асинхронными запросами тоже довольно просто, нам не важно когда они выполнятся, главное, чтобы были выполнены.
Позже появились гибриды, которые семантически синхронны, а в реализации асинхронны. Как пример — общеизвестныи? лонг-пуллинг. Для асинхронных нередко указывается время за которое они должны отработать. Случается, что ответить надо нескольким клиентам, вместо одного.
Каждыи? из типов имеет свои особенности, сильные и слабые стороны, которые мы рассмотрим.
Но что если взглянуть на синхронность и асинхронность под другим углом?
Никита Шильников, Dry-rb и Rom-rb Core developer.
Решаем проблемы типа
Руби — динамически типизированный язык, но это не значит, что в нем типов. Иногда мы хотим большей предсказуемости и очевидности от кода, но у нас нет инструментов для этого в самом языке. Речь пойдет о геме dry-types — одной из основных зависимостей dry-validation и ROM.
Никита Соболев, wemake.services, организатор elixir-lang.moscow и амбассадор Auth0??
Elixir — не Ruby, а лучше
Один из создателей Rails — Jose Valim — создал свой язык программирования. Такой непохожий, но такой знакомый! Еще бы, ведь он вдохновлялся Ruby, когда создавал его. И многие стали считать язык Elixir — новым Ruby. И здесь возникла проблема. Языки принципиально разные. И непонимание различия подходов и принципов погубили уже не один проект. Предлагаю разобраться, что же за новые идеи нам предлагают? Что такое философия Elixir и «Phoenix-way»???
Это еще не все, мы опубликуем остальную программу очень скоро! А если вам есть о чем рассказать сообществу, еще не поздно написать на elena@evrone.ru c темой «Хочу выступить».
Пока все мы ждем конференцию, можно посмотреть видео с RailsClub 2016 и летнего Ruby-митапа. Велкам!
В этом году нас, традиционно поддерживает генеральный партнер конференции: Toptal — распределенная мировая биржа, созданная инженерами, к которой уже присоединились самые талантливые разработчики со всего мира.
До встречи на RailsClub!
23 сентября, конгресс-центр Технополис Москва. Регистрация на сайте.
Итак, что будет:
Richard Schneeman, Ruby Hero 2016. Входит в топ-50 контрибьюторов Ruby on Rails, мэйнтейнер Sprockets. Создатель библиотек Wicked и Derailed Benchmarks, работает на Heroku и занимается сервисом codetriage.co, который помогает людям начать свое путешествие в мир open source.
Threads Aren't Evil
Okay, so threads are pretty evil. But they are also useful, and given the right development patterns, not impossible to work with. In this talk we'll look at some real world Ruby libraries where threads were applied to accomplish otherwise impossible tasks. We'll look at re-writing a real world library to support parallel execution by threads for performance gains. If you're not comfortable with the "«T»" word (threads), this talk is the perfect introduction to practical thread programming in Ruby.
Piotr Solnica, разработчик из Польши, работает техлидом в Icelab. Автор rom-rb и dry-rb, активный OSS контрибьютор. Доклад будет о Rom-rb 4.0, детали пока уточняем!
Nick Sutterer, автор Trailblazer! Где бы ни проходили серьезные и глубокие дебаты об архитектуре софта в open source, если там присутствует бесплатное пиво, Ник Саттерер, скорее всего, где-то рядом. Скажите ему привет, он любит людей.
Ruby Is Dead
Having a simple programming language doesn't mean the applications will be simple. Higher abstractions are needed — but Ruby doesn't seem to give us those! Here is a tour through other languages, and how we can have nice things in Ruby
Luca Guidi, семьянин, независимый OSS разработчик, автор фреймворка Hanami. Тема доклада: Functional web with Ruby, подробности расскажем позже.
Кир Шатров, Production Engineer из Shopify.
Архитектура фреймворка фоновых задач
Наверное, каждый Ruby-разработчик использовал очередь задач и Sidekiq. Однако в сложном проекте фоновые задачи это гораздо больше, чем просто очередь: это приоритетизация очередей, ограничение ресурсов, "«уникальные»" задачи и батчинг на группы задач.
Как обеспечить "«справедливую»" очередь на случае когда один клиент добавил миллион задач, а другой — всего одну? Что происходит с задачами, когда мы хотим остановить воркер после выкатки новой версии приложения? Что делать с задачами, которые проходят по всем записям в БД и занимают неделю? В докладе поговорим о том, что скрывается под капотом всех этих фич — и как некоторые из них реализует Sidekiq (Pro). Послушав доклад, эти фичи перестанут быть для вас магией и станут обычными структурами данных.
Антон Давыдов, разработчик, энтузиаст Open source, Hanami core.
Что нам стоит, экосистему построить
Два года назад, работая над Hanami, я не подозревал, насколько важна экосистема для проекта. Каждый день в своей работе мы используем самые современные технологии: языки, фреймворки, плагины и другие продукты. Мы не задумываемся, сколько времени экономим благодаря развитой экосистеме и готовым решениям распространенных проблем.
Например, многие любят Rails за возможность создать MVP в максимально короткие сроки. В этом заслуга не только самого фреймворка: вокруг Rails существует целая система гемов, а решения большинства задач уже описаны. Поэтому развитая экосистема важна для продукта, которым будет легко и комфортно пользоваться.
Я поделюсь опытом создания экосистемы Hanami. Расскажу, как технология развивается благодаря ее окружению, на какие грабли мы наступили в процессе работы и с чего бы я начал разработку экосистемы, если бы вернулся на 2 года назад.
Андрей Молчанов, Software Developer в Evrone.
Виртуальная машина Руби
Рассмотрим, какое место занимает виртуальная машина в этапе компиляции программы и для чего она нужна. Узнаем, что из себя представляла виртуальная машина в своей первой версии, проанализируем ее недостатки как причины дальнейших изменений.
Беря во внимание текущую реализацию, мы пройдем путь компилляции программы до машинного кода, детально рассмотрев, что происходит внутри нее.
В заключение, мы обсудим куда движется этот проект, что в нем хотят улучшить и каким способом.
Владимир Дементьев, разработчик в Злых марсианах, математик, опенсорс разработчик
Тесты тоже должны быть быстрыми
Тесты занимают важную часть разработки, особенно на Ruby и Rails. Как правило, мы мало уделяем вниманию организации кода тестов и их оптимизации. До тех пор, пока не замечаем, что тратим слишком много времени, чтобы увидеть зелёный цвет в конце тоннеля.
Я хочу рассказать о том, как обнаружить проблемные места в тестах, показать способы их устранения, а также представить новый инструмент, который поможет вам в этом – TestProf.
Анна Щербинина, лид в веб отделе Artec3D.
Сказ о синхронных и асинхронных парадигмах
Web основан на коммуникации: взаимодеи?ствие между сервисами, серверами, утилитами, классами в приложении. Изначально выделились две полярности, синхронное взаимодеи?ствие между компонентами и асинхронное. Очевидно, без синхронного взаимодеи?ствия не обои?тись когда реакция напрямую связана с ответом, полученным на запрос. С асинхронными запросами тоже довольно просто, нам не важно когда они выполнятся, главное, чтобы были выполнены.
Позже появились гибриды, которые семантически синхронны, а в реализации асинхронны. Как пример — общеизвестныи? лонг-пуллинг. Для асинхронных нередко указывается время за которое они должны отработать. Случается, что ответить надо нескольким клиентам, вместо одного.
Каждыи? из типов имеет свои особенности, сильные и слабые стороны, которые мы рассмотрим.
Но что если взглянуть на синхронность и асинхронность под другим углом?
Никита Шильников, Dry-rb и Rom-rb Core developer.
Решаем проблемы типа
Руби — динамически типизированный язык, но это не значит, что в нем типов. Иногда мы хотим большей предсказуемости и очевидности от кода, но у нас нет инструментов для этого в самом языке. Речь пойдет о геме dry-types — одной из основных зависимостей dry-validation и ROM.
Никита Соболев, wemake.services, организатор elixir-lang.moscow и амбассадор Auth0??
Elixir — не Ruby, а лучше
Один из создателей Rails — Jose Valim — создал свой язык программирования. Такой непохожий, но такой знакомый! Еще бы, ведь он вдохновлялся Ruby, когда создавал его. И многие стали считать язык Elixir — новым Ruby. И здесь возникла проблема. Языки принципиально разные. И непонимание различия подходов и принципов погубили уже не один проект. Предлагаю разобраться, что же за новые идеи нам предлагают? Что такое философия Elixir и «Phoenix-way»???
Это еще не все, мы опубликуем остальную программу очень скоро! А если вам есть о чем рассказать сообществу, еще не поздно написать на elena@evrone.ru c темой «Хочу выступить».
Пока все мы ждем конференцию, можно посмотреть видео с RailsClub 2016 и летнего Ruby-митапа. Велкам!
В этом году нас, традиционно поддерживает генеральный партнер конференции: Toptal — распределенная мировая биржа, созданная инженерами, к которой уже присоединились самые талантливые разработчики со всего мира.
До встречи на RailsClub!