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

Ruby on Rails *

Фреймворк, написанный на Ruby

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

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

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

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

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

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

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

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

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

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

Будущее Web это HTML через WebSockets

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

Будущее веб архитектуры  программного обеспечения уже обретает формы и на этот раз server-side рендеринг (опять). Но есть кое-что новое,  а именно передача HTML по WebSocket.

Подход с использованием SPA(Single Page Appllication) и JSON API привел к тому, что многие команды разработки погрязли в бесконечных спорах о структуре данных и ошибках синхронизации между этими двумя слоями. Это увеличивает стоимость разработки, замедляет релизный цикл и сокращает время, которое можно было бы потратить на инновации.

Читать далее
Всего голосов 8: ↑2 и ↓6-4
Комментарии27

Перестаньте везде использовать first/last

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

Очень часто разработчики на Rails для извлечения заведомо одной записи из базы используют один из методов first/last из ActiveRecord. Это рабочее решение, но есть одно НО: чтобы извлечь всего одну запись база данных должна найти все, подходящие по условию, отсортировать их и вернуть только одну. Если вы подумали "Сортировка одной записи? Да это же легко!", то не будте так оптимистичны, я постараюсь показать, что это важно.

Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии4

Истории

С 4 часов до 1 минуты. Как найти одну строчку, которая ускорит сервис на Ruby

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

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

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

WorkerKiller

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

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

Читать далее
Рейтинг0
Комментарии2

Генерация картинок в коде

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

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

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

Синхронизация баз данных между монолитом и микросервисами с помощью Kafka. Наше решение

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


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

Как перейти с secrets на credentials (Ruby on Rails)

Время на прочтение4 мин
Количество просмотров6.2K
Сredentials в версии Ruby on Rails 5.2.0 — новый золотой стандарт. Старые добрые, но небезопасные файлы .env уступают дорогу. В этой статье вы узнаете:

  • зачем и как перейти от secrets к credentials,
  • как использовать API-ключи в Ruby, YML и js.erb,
  • как раз и навсегда предоставить ключ каждому из команды.
Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии0

HackTheBox. Прохождение Jewel. RCE в Ruby on Rails, sudo и google authenticator, выполнение кода в gem

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

Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :)

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

Как добавить React-компонент в Active Admin

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

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

Мы в ДомКлик в таких случаях используем Vue.js и React, и под катом я расскажу, как именно можно внедрить React-компонент в Active Admin.

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

Метапрограммирование в реальной задаче

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

Всем привет! В этой статье хочу рассказать про метапрограммирование на примере реальной часто встречающейся проблемы.

Когда кто то говорит про метапрограммирование у олдскульного кодировщика случается приступ ярости)

И на это есть причины так и на большом проекте может показаться безумием использовать метапрограммирование, так как код становится очень сложным для чтения. А если в проект включится специалист со стороны, то он и подавно ничего не разберет в этом мета-коде.

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

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

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Как я принёс Ruby в ДомКлик

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


В конце 2017 года я твёрдо решил, что хочу перейти на руководящую работу.

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

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

Масштабность и эффективность меня вдохновляли.
Всего голосов 65: ↑52 и ↓13+39
Комментарии116

Установка discourse в Ubuntu 16.04

Время на прочтение3 мин
Количество просмотров2K
В статье рассматриваются установка discourse в среде разработки, затем в среде эксплуатации, запуск sidekiq и начальная настройка (кроме настройки электронной почты, необходимой для активации аккаутнов по е-мэйл и рассылки уведомлений, а также https).
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии5

Почему в 2020 году мы по-прежнему выбираем Ruby?

Время на прочтение8 мин
Количество просмотров9.3K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Why is Ruby still our choice in 2020?» автора Vira Vashkovska.

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

Язык был очень популярен в 2013-2015 годах, но затем его популярность пошла на спад. Это особенно заметно, если мы сравним статистику Ruby и Ruby on Rails за 2020 года с прогрессом, достигнутым другими инструментами. Stack Overflow провел довольно тривиальное сравнение динамики роста Ruby и Node.js на основе количества заданных вопросов. Да, это не самый объективный показатель, но вы поняли…

image

Количество пользователей Ruby упало, но достаточно ли этого, чтобы объявить о смерти Ruby? На самом деле, нет. Если вы видели такие статьи, как «Ruby is Dead» или «Ruby is Irrelevant», приготовьтесь — ведь в какой-то момент каждый язык был объявлен мертвым. Возьмите Node.js — среда выполнения переживает хорошие времена — и все же люди спешат объявить о ее смерти.
Читать дальше →
Всего голосов 26: ↑16 и ↓10+6
Комментарии10

Ruby Digest 2020·08·1

Время на прочтение7 мин
Количество просмотров3K
Большая подборка информации о Ruby, включая русскоязычные источники, с 1 по 15 августа:
новости, медиа, новинки, релизы, статьи, обучение.


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

Неофициальный гайд по Active Admin

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

Статья про Ruby в блоге компании ДомКлик! Как так получилось, что в молодую компанию завезли мертвый язык? Секрет в том, что на Ruby можно быстро написать и протестировать бизнес-идею. И делается это не без помощи Rails и Active Admin — библиотеки, которая позволяет быстро создать админку с минимальными затратами сил и времени.



Часто можно встретить мнение, что Active Admin хорош только для 15-минутного блога. Мы в ДомКлик считаем (и доказываем на практике), что из этой библиотеки можно выжать намного больше.


Я расскажу про некоторые подходы, которые мы применяем при работе с Active Admin.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии3

Миграции данных в Ruby On Rails

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

img


TL;DR Пожалуйста, выносите код миграции данных в Rake-задачи или пользуйтесь полноценными гемами в стиле миграций схемы. Покрывайте тестами эту логику.

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

Ruby Digest 2020·07·2

Время на прочтение4 мин
Количество просмотров1.7K
Ruby Digest 2020 с 16 по 31 июля: новинки, новости, медиа, релизы, статьи, обучение.
Смотрим, что интресного было во второй половине июля вокруг Ruby.


Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0
Изменить настройки темы

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

Работа

Ruby on Rails
10 вакансий