Обновить

Управление методами в зависимости от окружения в 🅰️ngular

Бывают случаи, когда нужно, чтобы определенные методы работали только:

  • 🛠️ В dev-режиме (например, фича-тогглы, дебаг-логи, экспериментальные функции)

  • 🚀 В prod-режиме (аналитика, мониторинг, продакшен-логика)

Вместо того чтобы писать if (isDevMode()) {...} везде, можно использовать декораторы Angular для более чистого и декларативного подхода.

_____

Одно из решений:

export function EnvMode(mode: 'dev' | 'prod') { return function (_: unknown, __: string, descriptor: PropertyDescriptor) { const originalMethod = descriptor.value; descriptor.value = function (...args: unknown[]) { const shouldExecute = mode === 'dev' ? isDevMode() : !isDevMode(); if (!shouldExecute) return; return originalMethod.apply(this, args); }; return descriptor; }; }

_____

Как использовать:

@EnvMode('dev') public setFeatureToggle(): void { // Сработает только в dev-режиме } @EnvMode('prod') public sendAnalytics(): void { // Сработает только в prod-режиме }

_____

🤔 А вы создавали кастомные декораторы? Зачем?

Больше про Angular в тг канале

Теги:
Рейтинг0
Комментарии0

Локальный ИИ класса Opus 4.6 «задешево»: две Tesla P100, 28-поточный Xeon и тесты на реальных задачах

Я собрал домашний сервер с нейросетками, чтобы не зависеть от облака. Далее честный рассказ с цифрами, бенчмарком на 14 реальных задачах и выводами, которые я проверял на себе.

Если совсем коротко: киловатт питания, две серверные Tesla P100 (суммарно 32 ГБ видеопамяти), турбины, которые слегка шумят, но сервер пришлось выселить на кухню, и Xeon на 28 потоков. Всё это выдаёт от 10 до 50 токенов в секунду, в зависимости от модели. DeepSeek в облаке в три раза быстрее, зато это моё и всегда доступное круглые сутки.

Локальный ИИ класса Opus 4.6 «задешево»: две Tesla P100, 28-поточный Xeon и тесты на реальных задачах

Публикации