Найти в Дзене
Bitrix Как правильно чистить кэш (общий, управляемый, композитный)
В Битрикс три основных слоя кэша: общий (кэш компонентов в /bitrix/cache), управляемый/тегированный (логика «по тегам» в /bitrix/managed_cache) и композитный HTML (целые страницы в /bitrix/html_pages). Чистим их по разным поводам и разными способами: через публичную панель «Очистить кэш», через админку «Настройки → Инструменты → Очистка файлов кэша», точечно — программно (очистка по тегу), радикально — удалением содержимого соответствующих папок. Начинайте с точечной очистки, избегайте «убить всё» в пиковые часы, после — прогрейте ключевые страницы...
3 месяца назад
Подготовка к собеседованию frontend (Задачки по typescript)
Для наглядности решаем задачки в сервисе https://www.typescriptlang.org/ Начнем с простой задачи на типизацию функции, проставляем решение в места с ... const X = {a:1, b:2, c: 3}; function getProperty<...>(obj: ..., key: ...): ... { return obj[key]; } getProperty(X, 'c'); Решением делитесь в комментариях Также типизируем функцию, но задачка гораздо сложней: в TODO добавь корректные дженерики и типы параметров/возврата: const X = { a: 1, b: 'bee', c: true, d: { n: 42 } }; function getMany(/* TODO */) { return keys...
3 месяца назад
Подготовка к собеседованию frontend (Symbol.iterator)
Symbol.iterator делает любые ваши объекты «родными» для for...of, спреда ([...]), Array.from, деструктурирования и т. п. Ниже будут приведены реальные примеры для реальных задач. Часто нужно получить список рабочих дат для планирования задач/напоминаний, генерации слотов и т. п. Полезно для вычисления контекста: ближайший positioned родитель, контейнер с data-*, ближайшая форма и т...
3 месяца назад
Подготовка к собеседованию frontend (тонкости подключения стилей и скриптов)
CSS почти всегда рендер-блокирующий → кладём в <head>, оптимизируем через critical CSS + preload/media. Скрипты по умолчанию парсер-блокируют → используем defer, а для модулей — type="module" (они «деферятся» сами). Для CDN — SRI + crossorigin. Шрифты — preload + font-display. Следим за порядком подключений, кэшем и CORS. Ниже — все тонкости с проверенными приёмами и ловушками Пример «чистого» подключения (html): Critical CSS inline, остальное — отложить: Альтернативные темы: Можно подключать несколько таблиц и переключать их в рантайме: <link rel="preload" href="/fonts/Inter...
3 месяца назад
«Method not found» в Telegram WebView: как я искал причину ошибки
Несколько дней гонялся за таинственным method not found: как я искал причину и почему виноват оказался Telegram. Пару дней подряд мне в Sentry прилетал лаконичный репорт: Error: method not found Без стека и без понятного источника. Проект — Vue + vue-router. В Chrome и мобильных браузерах всё стерильно. Значит, это точно мой косяк — решил я и ушёл дебажить. Проект на Vue + vue-router. В Chrome и мобильных браузерах — стерильно. Иногда в проде в Sentry прилетает лаконичное: Error: method not found Без стека, без явного источника...
4 месяца назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала