TGViewer
Rails, Ruby, AI, Full stack | by the-teacher Rails, Ruby, AI, Full stack | by the-teacher @pro_ruby_on_rails_ru · 316 subscribers
Post #103 271
Memoization

Мемоизация — это приём оптимизации, при котором первый результат вычисления кэшируется в памяти и при следующем вызове уже используется готовое значение.

Цель — не выполнять тяжёлые операции дважды.

Зачем нужно?

🔘Уменьшает количество запросов к базе
🔘ускоряет повторные вычисления
🔘снижает нагрузку на API и Базы данных
🔘ускоряет рендеринг страниц

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

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

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

Важно:
Мемоизация подходит для данных, которые не меняются в рамках одного запроса.

#словарь

Группа: @pro_ruby_on_rails_ru
Вопросы:
@ilia_zykin

❤️ лайк 🔂 репост
  • ❤ 5
More from @pro_ruby_on_rails_ru
  1. Sep 25, 2026Как работает JEV и почему о нем так много говорят Текущие AI модели это чаще всего текстов…
  2. Sep 25, 2026JEV для Ruby/Rails приложений В ActiveHarness я добавил поддержку Vercel и новый тип модел…
  3. Sep 24, 2026Мальчик: — HR: Для проверки ваших навыков мы дадим вам простое тестовое задание. — Dev: Я…
  4. Sep 24, 20262014 — Илья Николаевич: "Ну неужели в Ruby on Rails нельзя сделать обвязку над поиском и н…
  5. Sep 9, 2026Подключение платежки Недавно кто-то из читателей написал что-то в духе — "подключить плате…
  6. Sep 9, 2026Микро SaaS. Ожидание / Реальность AI открыл мне двери в мой 2014 год, когда я был молодым…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →