Проверка JavaScript: как найти ошибку в коде

Проверка JavaScript: как найти ошибку в коде

Дмитрий Борисенко
Дмитрий Борисенко

Скрипт молча не работает или страница падает с ошибкой в консоли. Разбираем, как проверить JavaScript на синтаксические ошибки, какие опечатки ломают код чаще всего и чем ошибка синтаксиса отличается от ошибки выполнения.

Что такое JSON: формат данных простыми словами

Что такое JSON: формат данных простыми словами

Дмитрий Борисенко
Дмитрий Борисенко

JSON — это текст, в котором программы передают друг другу данные: пары «ключ — значение», объекты и списки. Разбираем синтаксис на примерах, показываем, чем JSON отличается от XML и YAML, и какие ошибки в нём ломают всё чаще всего.

Превью ссылки в соцсетях: Open Graph и обновление og:image

Превью ссылки в соцсетях: Open Graph и обновление og:image

Дмитрий Борисенко
Дмитрий Борисенко

Когда вы кидаете ссылку в чат, соцсеть показывает карточку с картинкой и текстом. За неё отвечают теги Open Graph. Разбираем, какие теги нужны, каким должен быть og:image и как сбросить кэш превью в Telegram, Facebook и ВКонтакте, если картинку поменяли, а старая всё ещё висит.

HTML-дерево и DOM-дерево: почему браузер строит не то, что вы написали

HTML-дерево и DOM-дерево: почему браузер строит не то, что вы написали

Дмитрий Борисенко
Дмитрий Борисенко

Браузер не копирует вашу разметку в память один в один: он достраивает пропущенные теги, закрывает забытые и выкидывает лишние наружу. Разбираем, где HTML-дерево расходится с DOM-деревом и почему из-за этого молча не работают CSS-селекторы.

Тень в CSS: box-shadow и text-shadow с готовыми примерами

Тень в CSS: box-shadow и text-shadow с готовыми примерами

Дмитрий Борисенко
Дмитрий Борисенко

Как сделать тень блока и тень текста, чем inset отличается от обычной тени и почему красивая тень получается не из чёрного цвета. Готовый код для карточек, кнопок и наведения.

CSS Grid Layout: полное руководство с примерами

CSS Grid Layout: полное руководство с примерами

Дмитрий Борисенко
Дмитрий Борисенко

Освойте CSS Grid Layout на практических примерах. Узнайте, как создавать сложные макеты с помощью grid-контейнеров, grid-элементов и адаптивных паттернов вёрстки.

CSS Container Queries: будущее адаптивных компонентов

CSS Container Queries: будущее адаптивных компонентов

Дмитрий Борисенко
Дмитрий Борисенко

Разбираемся, как контейнерные запросы делают компоненты по-настоящему адаптивными. Строим макеты, которые подстраиваются под размер контейнера, а не только под ширину экрана.