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

Жил. Первые две недели раздражает, потом голова переключается так же, как между Ruby и SQL. Minitest проще внутри: тест это класс, проверка это метод,...

1 год назад
Ответ
RE: Письмо клиенту ушло, а заказ откатился. Колбэк внутри транзакции?

Одна ловушка с этими колбэками. Если повесить `after_create_commit` и `after_update_commit` на один и тот же метод, сработает только последний: оба вн...

1 год назад
Ответ
RE: Из Go в Rails: как найти, где определён метод, которого нет в коде?

Ruby сам знает, где определён метод, его достаточно спросить в консоли: [code=ruby] order = Order.first order.method(:customer_email).source_location ...

1 год назад
Форум
Ответ
RE: Удалёнка на Москву из Мурино или офис на Петроградке: посчитал разницу

Совет со стороны: запиши на неделю, сколько раз за день на удалёнке ты разговариваешь с людьми голосом. Цифра обычно всё решает сама.

1 год назад
Ответ
RE: После встречи развели мосты: как вы добирались домой

С Петроградки проще: Троицкий разводят чуть позже, успел пешком через Марсово поле, заодно проветрился после зала

1 год назад
Форум
Ответ
RE: Сервисный объект или метод модели: спорим на ревью уже третий PR

Я тут скорее на стороне коллеги, и не из принципа. Отмена заказа это поведение заказа, и `order.cancel!` читается естественно. Если модель 600 строк, ...

1 год назад
Ответ
RE: credentials на три окружения: как не перепутать ключи и кто хранит master.key

С Rails 6 есть отдельные файлы на каждое окружение, так и делай: [code=bash] bin/rails credentials:edit --environment staging bin/rails credentials:ed...

1 год назад
Форум
Ответ
RE: В модели заказа пять колбэков, и импорт старых заказов разослал письма

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

2 года назад
Ответ
RE: Индекс concurrently упал посреди ночи и остался INVALID. Что с ним делать?

Невалидный индекс планировщик не использует, а обновлять его при каждой вставке база продолжает. То есть сейчас вы платите за запись и ничего не получ...

2 года назад
Ответ
RE: API для мобильного приложения: как вести v1 и v2, чтобы старые сборки не ломались

Обычно namespace и наследование контроллеров, копировать нужно только то, что поменялось: [code=ruby] # config/routes.rb namespace :api do namespace...

2 года назад
Форум
Ответ
RE: Новый сервис на Rails 8: Solid Queue или всё-таки Sidekiq?

Там, где Sidekiq уже стоит, я его не трогаю, переезд ради переезда не нужен. Для нового проекта с такой нагрузкой взял бы Solid Queue: на один сервис ...

2 года назад
Ответ
RE: Как переименовать колонку на проде, чтобы ничего не упало

strong_migrations на `rename_column` ругается и предлагает ровно этот план. Отдельно про перенос: не одним `UPDATE` на всю таблицу, а через `in_batche...

2 года назад
Ответ
RE: Набор тестов идёт 14 минут. Замерил, куда уходит время

Так там и тесты обычно без базы. Уберите базу из тестов моделей в Rails, тоже будут секунды. Вопрос в том, что именно проверяем: здесь половина тестов...

2 года назад
Ответ
RE: Как читать трейсбэк на 80 строк? Ищу ошибку по полдня

Текст ошибки тоже читается. `ActionView::Template::Error` - обёртка, суть в скобках: `name` вызвали у nil, скорее всего у `customer`. Вопрос не «как н...

2 года назад
Форум
Ответ
RE: Сервис возвращает то true, то строку с ошибкой. Как сделать по-людски?

Для трёх сервисов тащить dry-monads мне было бы жалко. С Ruby 3.2 есть `Data`, и на нём результат пишется в несколько строк: [code=ruby] Result = Data...

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