Держит прод
Присоединился: 26 августа 2022 18:54
Последний визит: 30 октября 2026 16:24
Темы: 4 / Ответы: 69
Ответ
RE: Генератор аутентификации в Rails 8: выкидывать Devise или рано?

Для нового проекта я бы взял генератор. Главный плюс: это обычный код в твоём репозитории, его можно прочитать целиком за полчаса. В Devise, когда над...

2 года назад
Форум
Ответ
RE: Kamal 2 или Capistrano для клиента с одним VPS

Все, кто начинал до Rails 8. Те, кто придёт через пару лет, будут знать Kamal, потому что он идёт в новом приложении из коробки. Я бы новый проект дел...

2 года назад
Ответ
RE: Отчёт за день: заказы с полуночи до трёх ночи уезжают во вчера

Это пояс, да. `config.time_zone` влияет на то, как Rails показывает и разбирает время, но в базе `created_at` всё равно лежит в UTC. `DATE(created_at)...

2 года назад
Форум
Ответ
RE: Индекс по email есть, а в EXPLAIN всё равно Seq Scan

Потому что индекс построен по `email`, а ищете вы по `lower(email)`. Для планировщика это разные выражения, и обычный индекс тут не подходит. Путей дв...

2 года назад
Ответ
RE: counter_cache показывает 12 комментариев, а их 9

Ещё поищите `update_column(:post_id, ...)` или `update_all` при переносе комментариев между постами, это тоже идёт мимо счётчика.

2 года назад
Ответ
RE: Rails 7.2 на проде вторую неделю: впечатления и пара граблей

Он берёт соединение из пула только на время блока и сразу возвращает. Старый `connection` держит его за потоком до конца запроса или джобы. В Puma с п...

2 года назад
Форум
Ответ
RE: Что проверять в request-спеке, а что в спеке модели? Путаюсь

Грубое правило: модельный тест проверяет правила, а request-спек проверяет, что эндпоинт эти правила применяет и правильно отвечает. Все варианты нева...

2 года назад
Ответ
RE: Белая ночь, 20 июня: встреча на Васильевском, потом гуляем до развода

Буду. По набережной пройдусь с вами, а потом домой на Петроградку через Биржевой, пока не развели

2 года назад
Ответ
RE: Настройки магазина в jsonb: индексировать или выносить в колонки?

Если ключ нужен в фильтрах постоянно, я бы вынес его в обычную boolean-колонку: индекс проще, тип настоящий, валидации нормальные. Если пока не хочетс...

2 года назад
Ответ
RE: Заявка: Ruby 3.3 поверх YJIT, что дал сам апгрейд, цифры с прода

Артём, пять миллисекунд и минус 40 МБ на каждом воркере за одно обновление версии, без единой строчки кода. Это очень хорошая сделка. Основное время т...

2 года назад
Ответ
RE: Первая неделя на работе: routes.rb на 900 строк, как в нём ориентироваться

Ещё в development можно открыть /rails/info/routes, там поиск прямо в браузере. А если файл на 900 строк, это повод когда-нибудь предложить разнести е...

2 года назад
Форум
Ответ
RE: Вебхук от платёжки пришёл дважды, и бонусы начислились два раза

Плюс уникальный индекс на `bonuses.payment_id`, если бонус по платежу бывает один. Последний рубеж, когда всё остальное подвело.

3 года назад
Ответ
RE: Платёжный вебхук приходит дважды, и бонусы начисляются два раза

Можно и через `payment.with_lock` с проверкой статуса внутри, но условный UPDATE лучше: никто не ждёт на блокировке.

3 года назад
Ответ
RE: Ввели в команде лимит 400 строк на PR. Что вышло через месяц

Цифры хорошие. Изменение схемы обычно режется на три PR: первый добавляет колонку и начинает писать в обе, второй переносит старые данные, третий пере...

3 года назад
Ответ
RE: Откатили деплой, а миграция уже прошла. Как вы планируете откаты?

Я бы записал в договорённости по шагам, по схеме расширения и сжатия: 1. релиз N: добавляем новое, старое не трогаем, код пишет в оба места; 2. перено...

3 года назад
Страница 3 / 5