DDD и гексагональная архитектура DDD (Domain-Driven Design) — метод разработки, в основе которого лежит глубокое понимание предметной области Важный принцип DDD — выделить ядро домена, содержащее бизнес-логику, и…
Встраивание одной веб-страницы в другую механизм: iframe HTML-тег, предназначенный для встраивания внешнего документа формирует внутри страницы независимый контекст браузера включает полнофункциональный отдельный DOM…
Методы Next.js для получения данных во время рендеринга страниц getStaticProps: запускается на этапе сборки (build time) применяется для статического предрендеринга страниц используется, когда данные не обновляются…
Контекст безопасности: клиентское хранилище и web security LocalStorage не использует шифрование и доступен любому скрипту, выполняющемуся в пределах того же домена. Базовый уровень защиты обеспечивает изоляция по…
Как локализовать дефект, если обновление сайта не отображается? Проверить кэш браузера: очистить его или выполнить принудительное обновление Проверить, был ли обновлённый код задеплоен на сервер Проверить CDN: срок…
архитектурный подход к созданию распределённых систем приложение разделяется на самостоятельные сервисы каждый из них выполняет определённую бизнес-задачу сервисы обмениваются данными через строго определённые API…
Оптимизация загрузки сайтов оптимизация фронтенда и бэкенда минимизация и сжатие ресурсов (HTML, CSS, JS, изображения) критический путь рендеринга: критические CSS, defer и async для скриптов lazy loading изображений…
Как устроена идемпотентность: хранение ключей и механизм обработки идемпотентность — это гарантия того, что повторный вызов приводит к тому же результату ключ идемпотентности обычно создаётся клиентом или сервером и…
Браузерная работа, фронтенд Для этого применяется метод location.reload() Если вызвать его без аргументов, страница будет загружена из кеша (cache) Аргумент true в reload() запускает принудительную загрузку с сервера…
SEO-оптимизация: защита от дублирования контента Проверка присутствия тега <link rel="canonical" href="..."> на страницах URL внутри тега должен быть абсолютным и корректным Автоматический сканер: разбор HTML и…
Жизненный цикл веб-запроса в Laravel/Yii2 (Nginx → PHP-FPM → контроллер → JSON) Nginx принимает HTTP-запрос и передаёт его PHP-FPM по FastCGI PHP-FPM запускает PHP-скрипт, точкой входа которого служит public/index.php…
Контекст: работа с Git и объединение веток Конфликт появляется, когда две ветки изменяют одни и те же строки несовместимым образом В этом случае Git приостанавливает слияние и отмечает файлы, содержащие конфликты Для…