Фронтендер от бога
Відкрити в Telegram
Божественные дайджесты по фронтенду и немного юмора. По всем вопросам: @godinmedia
Показати більше3 448
Підписники
-224 години
-67 днів
-3430 день
Архів дописів
3 448
JSDocs в VSCode
#почитать
В этой публикации я очень кратко раскрываю, почему переход с IntelliJ IDEA (PhpStorm) на VSCode ломает привычную работу с JSDoc в JavaScript-проектах.⏱Читать статью
3 448
Заменяем JS обычным HTML
#почитать
Уже многие годы JavaScript остаётся «рабочей лошадкой» веба. Если вам нужно сделать то, что невозможно реализовать средствами HTML и CSS, то обычно найти решение помогает JS. И это замечательно! JS помог расширить возможности пользователей, а также стимулировал прогресс HTML и CSS!
Но время идёт, функции HTML и CSS расширяются, поэтому мы должны начать заменять старые и привычные решения на JS новыми, требующими меньше JS.
Я ничего не имею против JS, но у него есть иные задачи, кроме как управление аккордеонами и внеэкранными меню навигации... Кроме того, JS нужно скачивать, распаковывать, обрабатывать, после чего он ещё часто тратит память на мониторинг и поддержку фич. Если мы сможем перенести какую-то функциональность JS в нативный HTML или CSS, тогда пользователям придётся скачивать меньше данных, а оставшийся JS сможет уделить внимание более важным задачам, с которыми (пока) не справляются HTML и CSS.
⏱Читать статью
3 448
Atomic CSS: верстка и легкость бытия
#почитать
Обсудим имеющиеся проблемы в верстке и посмотрим, как атомарный подход их решает (или не решает). Разберем основные мифы, посмотрим на лучшие практики этого подхода и сделаем выводы.
⏱Читать статью
3 448
Реактивность без React или как обойтись без id в html элементах
#почитать
А зачем вообще обходиться без id? Даже не знаю, но это вполне возможно, и приложение будет живым и вполне себе «реактивным». А всю «магию» при этом творит функция, которую я назвал tokenize.
Конечно же я, ни в коем случае, не настаиваю на отказе от id. "Элементарные" id никому не мешают и tokenize`у тоже. Но если обходиться без id, то как же получать ссылки на DOM элементы, для обращения к ним? Вот для этого и нужна функция tokenize, которая собирает референсы в удобную структуру с ветками, подветками и листьями (ссылками на DOM элементы). А вот как она это делает, мы с Вами сейчас и разберём.
⏱Читать статью
3 448
Типизация JavaScript через JSDoc
#почитать
Используете JSDoc для типизации JavaScript? Узнайте, как настроить TypeScript Compiler для профессиональной проверки типов, генерации деклараций и интеграции в процесс разработки.
⏱Читать статью
3 448
16 июля встречаемся с JS‑сообществом SberProfi в Сбер.Среде.
AI уже меняет JavaScript‑разработку. Вопрос не в том, заменит ли он инженеров, а в том, кто освоит его быстрее и качественнее.
🔥 Обсудим изменения на реальных кейсах от Сбера, Cloud․ru и Mish. Очные участники увидят спецформат от блогеров и пообщаются с экспертами GigaCode и GitVerse.
⏳ Начало в 17:00, встреча очных гостей - в 16:00.
Количество очных мест ограничено – успейте зарегистрироваться!
3 448
Обработчики событий в JavaScript
#почитать
Если коротко, вы узнаете о самом удобном способе управлять откликом на действия пользователя или браузера.
⏱Читать статью
3 448
🔍Тестовое собеседование на Frontend-разработчика с ex. TeamLead в Сбер
9 июля(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.
Как это будет:
📂 Даниил Дмитриев, старший разработчик в R-Vision, ex. TeamLead в Сбер, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даниил будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Даниилу
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_front_bot
Реклама. ООО «ШОРТКАТ». ИНН: 9731139396. Erid: 2W5zFFzazVo
3 448
Реактивность без фреймворков (просто эксперимент на чистом JS + Web APIs)
#почитать
Опишу пример, демонстрирующий, насколько важна декларативность в вопросах управления поведением «аппки» (за этим стоят вопросы сохранения высокого уровня абстракции и, как следствие, масштабируемости приложения). Задача - сделать управление мутациями DOM более декларативным и, как заявлено в заголовке, использовать реактивность на примере управления состоянием.
⏱Читать статью
3 448
Настройка Jest и React Testing Library: пошаговое руководство для React и Next.js проектов
#почитать
В этой статье мы подробно рассмотрим процесс настройки среды unit-тестирования веб-приложений на базе React и Next.js с использованием Jest и React Testing Library. Расскажем об установке необходимых зависимостей, создании конфигурационных файлов, настройке Babel и TypeScript, подключении SCSS и SVG, а также организации структуры проекта. Особое внимание уделено специфике настройки Jest в среде Next.js. Материал будет полезен для frontend-разработчиков и команд разработки, которые работают с React или Next.js проектами и хотят внедрить качественное unit-тестирование.
⏱Читать статью
3 448
Насколько быстро браузеры могут обрабатывать данные в Base64?
#почитать
Недавно в браузерах появились удобные и безопасные функции для обработки Base64: Uint8Array.toBase64() и Uint8Array.fromBase64(). Хоть у них и есть множество параметров, смысл их сводится к кодированию и декодированию.
При кодировании они берут 24 бита из входных данных и разделяют их на четыре сегмента по 6 бит, и каждое 6-битное значение (в интервале от 0 до 63) соотносится с конкретным символом из алфавита Base64: первые 26 символов — это буквы A-Z в верхнем регистре, следующие 26 — a-z в нижнем, затем идут цифры 0-9 и, наконец, символы «+» и «/» в качестве 62-го и 63-го символов. Если длина входных данных не кратна трём байтам, то в качестве заполнителя используется знак «=».
⏱Читать статью
3 448
Zod: строгая валидация и удобная типизация. Опыт перехода
#почитать
К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме.
Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string')?
С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.
⏱Читать статью
3 448
JavaScript: практическое руководство по Blob, File API и оптимизации памяти
#почитать
В современных фронтенд-приложениях работа с файлами встречается постоянно: загрузка изображений, экспорт CSV, превью и интерактивные редакторы. Но когда файлы увеличиваются в размере или их количество растет, начинаются проблемы: интерфейс подвисает, расход памяти увеличивается, а браузер иногда просто падает.
В этом руководстве мы разберем шесть практических приемов работы с Blob, которые помогают обрабатывать файлы эффективно и безопасно.
⏱Читать статью
3 448
Практика по исправлению рекурсивных импортов во фронтенд приложении
#почитать
Рекурсивные импорты рассмотрим на примере React/Redux приложении.
Исходный код приложения опубликован тут, можете склонировать и попробовать самостоятельно исправить ошибки. Так сказать закрепить теорию на практике.
⏱Читать статью
3 448
Подходы к state management в React
#почитать
У React-разработчика две беды:
1. Целевые данные изменились, а ререндера нет.
2. Целевые данные не изменились, а ререндер есть.
Есть много вариантов подружить данные с интерфейсом, в рамках данной статьи я пройдусь по самым популярным из них. Выясним, как они устроены и для чего каждый из них подойдет лучше, обсудим конкретные реализации разных паттернов.
⏱Читать статью
3 448
🔍Тестовое собеседование с руководителем Frontend-разработки в этот четверг
18 июня(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.
Как это будет:
📂 Виталий Черков, руководитель группы Frontend разработки с опытом 8+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Виталий будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Виталию
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_front_bot
Реклама.
О рекламодателе.
3 448
Кодирование и декодирование Base64 с atob и btoa
#почитать
Функции btoa() и atob() — это встроенные средства JavaScript для кодирования и декодирования строк в формате Base64.
⏱Читать статью
3 448
Файловые потоки: Vinyl и vinyl-fs в основе Gulp
#почитать
Сила современного Gulp — не в сборке фронтенда, а в автоматизации через потоки файлов. В основе — объект Vinyl и движок vinyl-fs. Эта статья — разбор этих технологий, сценарии применения и замена устаревшего passthrough на актуальные паттерны.
⏱Читать статью
3 448
React изменился, хуки тоже должны измениться
#почитать
В 2026 году React продолжает эволюционировать. Узнайте, как перейти от злоупотребления useEffect к современным паттернам хуков, которые делают код чище, уменьшают ошибки и готовят ваше приложение к будущему.
⏱Читать статью
