Обновить
4K+

Ruby *

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

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

Трудности перехода: каков Elixir на вкус после Ruby

Время на прочтение13 мин
Охват и читатели8.5K

Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir.

Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, а Elixir там нет. Более того, есть истории о том, как люди возвращались с Elixir обратно на Ruby. Я считаю, что на это сильно влияет вход в язык. Elixir классный, но в первые месяцы знакомства с ним мне самой так не казалось. Настолько классный, что я не хочу назад. В этой статье я расскажу про трудности перевода перехода.

Читать далее

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

Время на прочтение2 мин
Охват и читатели1.1K

Новый формат дайджеста.

- WebPacker в скором времене перестанет поддерживать Ruby.
- В ближайшем будущем C Ruby может содержать в себе код Rust. Matz одобрил.
- Spree Commerce получил релиз 4.4. Система электронной коммерции Rails с открытым исходным кодом.
- Sidekiq исполнилось 10 лет. Рассказ автора.

- Обновления гемов.

- Поиск работы Ruby-разработчиком.

Читать RubyDigest

Как рутинное обновление гемов привело к созданию подписок на $73К

Время на прочтение3 мин
Охват и читатели7.9K

Как и почему рутинное обновление Руби гемов менее чем за 1 час создало 475 новых подписок на общую сумму $73.271 долларов.

Читать далее

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

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

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

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

Читать RubyDigest

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

Время на прочтение3 мин
Охват и читатели23K

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

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

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

Читать далее

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

Время на прочтение2 мин
Охват и читатели1.6K

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

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

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

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

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

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

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

Читать далее

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

Время на прочтение4 мин
Охват и читатели2.8K

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

Читать далее

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

Время на прочтение4 мин
Охват и читатели4.7K

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

Читать первую часть

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

Время на прочтение2 мин
Охват и читатели1.4K

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

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

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

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

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

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

Читать RubyDigest

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

Время на прочтение2 мин
Охват и читатели1.9K

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

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

Читать RubyDigest

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

Время на прочтение4 мин
Охват и читатели1.7K

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

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

Читать RubyDigest

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

Время на прочтение4 мин
Охват и читатели1.9K

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

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

Читать далее

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

Время на прочтение3 мин
Охват и читатели2.9K

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

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

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

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

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

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

Смотреть далее

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

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

Время на прочтение10 мин
Охват и читатели8.5K

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

Читать далее

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

Время на прочтение5 мин
Охват и читатели7.6K

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

Узнать, в чем была проблема

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

Время на прочтение7 мин
Охват и читатели1.5K

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

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

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

Читать, читать, читать!

Эволюция CI в Android

Время на прочтение17 мин
Охват и читатели3.6K

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

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

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

Узнать про хтонь

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

Время на прочтение4 мин
Охват и читатели10K

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели1.3K

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

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

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

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

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

Научится

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

Время на прочтение8 мин
Охват и читатели5.5K

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

Читать далее