Как стать автором
Обновить
5.55

Ruby *

Динамический высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Ruby-Дайджест за неделю (17 янв — 24 янв)

Время на прочтение2 мин
Количество просмотров1.2K

В этом дайджесте:

Обновление популярных гемов.
Сборник гайдов и статей (RU/ENG) #3.
Подборка полезных гемов #5.
Интересные open-source проекты на GitHub #4.
Интересный видео/аудио контент, связанный с Ruby.
Где искать работу Ruby-разработчику?
Рабочая/Учебная атмосфера от RubyDigest.

Читать RubyDigest
Всего голосов 8: ↑7 и ↓1+7
Комментарии0

N+1 больше не будет проблемой

Время на прочтение3 мин
Количество просмотров22K

В данной статье я покажу как N1Loader сделает вашу жизнь легче!

Каждый разработчик рано или поздно сталкивается с проблемой N+1. ActiveRecord (Rails default ORM) поддерживает подгрузку ассоциаций с помощью includes для обхода N+1.

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

Читать далее
Всего голосов 9: ↑7 и ↓2+6
Комментарии14

Ruby-Дайджест за неделю (10 янв — 17 янв)

Время на прочтение2 мин
Количество просмотров1.5K

В этом дайджесте:

Обновление популярных гемов.

Сборник гайдов и статей (RU/ENG) #2.

Подборка полезных гемов #4.

Интересный видео/аудио контент, связанный с Ruby.

Подборка ruby-сообществ для совместного изучения/общения.

Новые вакансии на рынке труда.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Построение CLI-Утилит на Ruby при помощи Thor

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

Продолжая цикл статей о других направления разработки на Ruby, кроме веб-разработки. Пришла очередь многим известного Thor, который позволяет делать удобные cli-утилиты с применением Ruby.

Читать далее
Всего голосов 7: ↑5 и ↓2+5
Комментарии2

Истории

Ruby в QA-Test. Часть 1

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

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

Читать первую часть
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

Ruby-Дайджест за неделю (3 янв — 10 янв)

Время на прочтение2 мин
Количество просмотров1.3K

В этом дайджесте:

Обновление популярных гемов.

Сборник гайдов и статей (RU/ENG) #1.

Интересные open-source проекты на GitHub #3.

Подборка полезных гемов #3.

Интересный видео/аудио контент, связанный с Ruby.

Читать RubyDigest
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Ruby-Дайджест за неделю (27 дек — 3 янв)

Время на прочтение2 мин
Количество просмотров1.8K

В этом дайджесте:

• Обновление популярных гемов.
• Статистика по гемам за год.
• Интересные open-source проекты на GitHub #2.
• Подборка полезных гемов #2.
• Интересный контент, связанный с Ruby.
• Рейтинги языка за 2021 год.

Читать RubyDigest
Всего голосов 10: ↑9 и ↓1+11
Комментарии6

Ruby-Дайджест за неделю (20-26 декабря)

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

В этом дайджесте:

Обновление популярных гемов.
Митапы, где засветился Ruby.
Интересные open-source проекты на GitHub.
Ruby 3.1.0
Подборка полезных гемов.
Интересный контент, связанный с Ruby.

Читать RubyDigest
Всего голосов 11: ↑11 и ↓0+11
Комментарии3

Ruby-Дайджест за 3 недели (1-21 декабря)

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

В этом дайджесте:

Обновление популярных и не очень, гемов
Седьмые рельсы?
Конференции/Митапы
"From Node to Ruby on Rails" - Откровение матерого JS разработчика-стартапера после открытия Ruby on Rails

Читать далее
Всего голосов 9: ↑8 и ↓1+10
Комментарии4

«Все дороги ведут к Ruby»: сравнение smart-rb и dry-rb, лайв-кодинг вычислений и карьера в Канаде

Время на прочтение3 мин
Количество просмотров2.8K

Привет! Публикуем полезные материалы по Ruby с нашего митапа. Из видео узнаете:

— Как СберМаркет решает проблему нехватки Ruby-специалистов.

— Как на Ruby реализовать модель, сопоставимую по возможностям целому компьютеру.

— Плюсы и минусы новой серии библиотек smart-rb и уже известной в Ruby-коммьюнити dry-rb.

А еще бонус: мы приглашали Стеллу Миранду, старшего разработчика в Shopify и организатора RubyConfCo и сообщества Rails Girls Vancouver. Она ответила на вопросы о RoR, работе в Shopify, карьерном росте ruby-разработчиков и развитии лидерских качеств, а также о том, как устроены сообщества в Колумбии и Канаде.

Для удобства везде проставили таймкоды, залетайте на нужные темы!

Смотреть далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Таков путь или как я познавал Ruby

Время на прочтение10 мин
Количество просмотров7.4K

Многие из тех, кто прочитает эту статью, уже давно "вошли в IT", а кто-то даже уже успел покинуть наши ряды. Но будут и те, кто только думает о том, чтобы начать свой путь. И я хочу поделиться своим опытом, так как помню, как сложно делать первые шаги и вообще решить, с чего начинать. Особенно потому, насколько недавно это было.

Читать далее
Всего голосов 16: ↑14 и ↓2+17
Комментарии6

Фронтенд на рельсах (почти) без JS

Время на прочтение17 мин
Количество просмотров9.9K

Вопреки слухам на пространствах девелоперских комьюнити, Rails не становится устаревшей технологией, он не собирается умирать, и остается отличным инструментом для разработки вашего нового проекта. И одна из причин заключается в том, что у Rails имеется достаточно инструментов, чтобы покрыть базовый функционал типичного веб-приложения. Вам не нужно думать о том, как обрабатывать НТТР запросы, что использовать для ввода и получения данных из базы, как отрисовать HTML, который пользователи увидят в своих браузерах, и даже как "вдохнуть жизнь" в пользовательский интерфейс.

Читать далее
Всего голосов 14: ↑12 и ↓2+11
Комментарии10

История поиска проблемы, которая происходит раз в 1000 лет

Время на прочтение5 мин
Количество просмотров7.4K

Как сейчас помню, понедельник 25е октября, я заступаю на дежурство по проду и с самого утра мне прилетает задача: сегодня в ночь с 24 на 25 ноября, наблюдалась проблема с недоступностью приложения. Глянув сентри я увидел кучу ошибок от базы со statement timeout, а так же непонятные ActiveRecord::ConnectionNotEstablished: No connection pool with 'primary' found С мыслью "база не отвечала, проблема не на нашей стороне" я спокойно отдал задачу на разбирательство админам, а сам параллельно глянул графики, может там был всплеск каких-нибудь джобок или запросов, но ничего криминального в графане небыло: тяжеловесных джобок в 12 не запускается, а те, что запускаются отработали очень быстро.

Узнать, в чем была проблема
Всего голосов 18: ↑15 и ↓3+15
Комментарии1

Ближайшие события

28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
11 – 13 декабря
Международная конференция по AI/ML «AI Journey»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Slack Ruby App. Часть 3. Тусовка приложения с таким гостем, как Heroku

Время на прочтение7 мин
Количество просмотров1.4K

Максимально переложив ответственность за онлайн своего приложения, ты сможешь сфокусироваться на других задачах, думать больше о новых фичах и новых приложениях. Ведь попробуй просто представить себе, как ты с утречка начинаешь поднимать 20 ботов на своём бедном Lenovo в надежде, что сегодня ни свет, ни интернет не выключится? Представил? А теперь представь если 20 ботов висят на сервере и ты с утра заходишь, смотришь какой у них статус с помощью удобного дашборда. Так и 21е приложение не за горами будет :)

Понимаю, всё звучит так классно, но ты возразишь, а деньги на сервер зачем выбрасывать? Тебе кажется, что твой бот только тебе и интересен, зачем же тратиться. А если я скажу что есть сервис, бесплатный, качественный, функциональный, который в начале кажется сложным, но как всё сложное, его нужно лишь понять и станет простым и отличным помощником.

Выглядит как промо за 50$, но на самом деле я был поражен лишь тем фактом, что если зайти на цены, то там есть раздел Hobby. Это на моей памяти первый случай, когда сервис есть в бесплатном виде, чтобы поддерживать начинания разработчиков, и потом, когда идея окажется работоспособной, тут же можно понемногу увеличивать возможности своего сервиса. Только за это уже можно читать дальше, разве нет?

Читать, читать, читать!
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Эволюция CI в Android

Время на прочтение18 мин
Количество просмотров3.3K

“Твою ж мать, какая же это хтонь!”. Примерно так можно было охарактеризовать все наши инфраструктурные скрипты до недавнего времени. Нужно было что-то менять, и мы сделали это. 

Меня зовут Павел Стрельченко, я – Android-разработчик компании hh. Я расскажу вам как эволюционировали наши CI скрипты на протяжении трех лет, с какими проблемами мы сталкивались, как анализировали их и пытались изменить, а также что вообще делали и к чему в итоге пришли. 

Это текстовая расшифровка выпуска нашего влога, поэтому если вам удобнее смотреть, а не читать, добро пожаловать на наш Youtube-канал. В статью получилось добавить множество дополнительных ссылок, так что можно почитать ещё и их. 

Узнать про хтонь
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Сколько мы переплачиваем за сервера используя Ruby on Rails

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

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

Читать далее
Всего голосов 12: ↑8 и ↓4+8
Комментарии55

Slack Ruby App. Часть 2. Добавление чартов, или как делать рендер фронта на сервере

Время на прочтение8 мин
Количество просмотров1.2K

Во время разработки своего приложения в качестве проекта внутри компании, поступил запрос на постройку графика по некоторой выборке данных, чтобы по команде Slash Command происходила постройка графика и его публикация в чат.

Первым делом я обратился к уже существующим решениям, графики через API Google, готовые гемы для Ruby. Основной минус в том, что не было возможности убрать или добавить легенду в том формате, который мне нужен, сложно кастомизировать внешний вид этих графиков и, к примеру, нет возможностей строить график по значению timestamp, а выводить уже значения в формате DateTime.

Имея на вооружении тот метод, который освещает эта статья, любой сможет строить какую угодно страницу полностью на сервере, получать фото этой страницы и использовать её в коде. В будущем можно приспособить этот подход для, например, для предпоказа тем на своем движке, генерации каких-то изображений с подвязкой к внешнему API и заключении всего в html документ. В целом, применений реально много, собственно поэтому и решил поделится solution'ом.

Поэтому предлагаю вам скорее ознакомится с материалом, мы научимся сначала делать график с использованием своего js скрипта, а потом поймём как его рендерить в коде.

Представляю содержание.

Научится
Рейтинг0
Комментарии0

Под капотом Ruby. GVL

Время на прочтение8 мин
Количество просмотров4.7K

Давным давно уже уже была написана статья о том что такое GVL (или GIL, кому как привычнее) и как он работает, однако с того времени некоторые вещи поменялись (к примеру, , а так же в Ruby 3.0 завезли Ractor'ы - новую абстракцию для реальной параллельной работы тредов. Мне стало интересно узнать что поменялось в планировщике ruby для реализации множества GVL. В этой статье я попытаюсь понять алгоритм, по которому GVL передается от одного треда к другому, как блокирующее IO позволяет продолжить работать другим тредам, а так же выяснить до сих пор ли операция добавления элемента в массив является атомарной операцией

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Работаем с индексами при высокой нагрузке в rails с psql: как добавить/удалить индекс и при этом не умереть

Время на прочтение8 мин
Количество просмотров5.8K

Всё, что кладёт прод, делает тебя умнее. © программист, положивший прод

Привет! Я — Женя, рубист из Каруны. В этой статье расскажу, как мы получили, на первый взгляд, тривиальную задачу по работе с индексами, набили кучу шишек и пришли к не очень тривиальному и эффективному решению.

Читать далее
Всего голосов 8: ↑7 и ↓1+11
Комментарии3

Python и Ruby под нагрузкой: высокое искусство некромантии

Время на прочтение11 мин
Количество просмотров18K

Уже больше 20 лет я пишу код на разных языках программирования. Так как многие из этих языков считаются мертвыми, то сегодня я буду говорить о высоком искусстве некромантии — о том, как якобы мертвые языки используются в больших и иногда высоконагруженных проектах. Обрабатывая тысячи веб-запросов в секунду и не порождая необходимости писать свой компилятор PHP или переходить на Go или Rust.

Я расскажу про специфику Ruby и Python при высоких нагрузках, про их мейнстрим, который вы можете встретить в выживших проектах. Я не буду и не хочу говорить про спортивное программирование, где делают миллион запросов в секунду на одной ноде, выжигая из Python или Ruby всё и оставляя голый С. Python и Ruby действительно медленные, у них есть GIL, но при правильном использовании это не проблема, а статья расходов — и я расскажу, что мы можем получить за эти деньги.

Если вы предпочитаете слушать или смотреть (у меня там забавные крылья!) — видео моего выступления на конференции HighLoad++ Весна 2021.

Читать далее
Всего голосов 24: ↑21 и ↓3+25
Комментарии30

Вклад авторов

Работа

Ruby on Rails
3 вакансии
Программист Ruby
4 вакансии