Category : javascript

javascript
Учительская рутина: как я автоматизировал Дневник.ру

У меня, как у учителя, есть две боли, которые стабильно отнимают время и силы.Первая — заполнение Дневник.ру. Вторая — проверка домашнего задания.С первой болью всё более-менее понятно: она рутинная, однообразная и техническая. Её можно описать, разложить на шаги и хотя бы частично автоматизировать.Со второй всё намного сложнее. Там уже не просто рутина. Там куча нюансов, и я пока сам до конца не понимаю, как это надо решать правильно.Поэтому в этой статье хочу рассказать про первую боль, показ…

  • вторник, 7 апреля 2026 г. в 00:00:56
javascript
NextAuth + Django JWT без второй авторизации и ручного хаоса токенов

Во многих fullstack-проектах на Next.js и Django авторизация разваливается в одном и том же месте. На фронте удобно использовать NextAuth, потому что он закрывает формы входа, OAuth, серверную сессию и клиентские хуки. На бэкенде хочется иметь обычный JWT-контур на Django REST Framework, чтобы защищать API, работать с access и refresh токенами и не привязывать бизнес-логику к фронту. В итоге часто получается неприятная схема: пользователь логинится через NextAuth, потом отдельно логинится в Dja…

  • вторник, 7 апреля 2026 г. в 00:00:41
javascript
Анатомия чистильщика ссылок: как не сломать веб в Manifest V3

Каждый день мы делимся ссылками в мессенджерах, копируем их из браузера или кликаем по ним. И почти всегда к реальному адресу прилипает хвост из UTM-меток, fbclid, gclid и прочего мусора, которым маркетологи и платформы помечают наш трафик.Создать расширение, которое отрезает этот хвост с помощью регулярного выражения — задача на 10 минут. Но сделать так, чтобы это расширение не сломало работу сайтов, не убило поисковики и не вызвало бесконечные циклы переадресации в современных реалиях Manifes…

  • понедельник, 6 апреля 2026 г. в 00:00:08
javascript
Как правильно называть маршруты в Vue Router: два простых правила, которые спасут ваш проект

В официальной документации Vue Router часто приводят достаточно простые примеры: const routes = [ { path: '/user/:username', component: User, } ]На первый взгляд всё логично. Но короткие примеры в доках созданы, чтобы показать синтаксис, а не хорошие практики. В реальном проекте, где десятки экранов, несколько разработчиков и сотни переходов, такой подход быстро превращается в источник багов и головной боли.Давайте разберём два простых правила, которые сделают работу с роути…

  • понедельник, 6 апреля 2026 г. в 00:00:07
javascript
Оживляем UI на мобилках с Sensor API

Речь пойдёт о реализации реакции веб-интерфейса на наклон устройства, смещение бликов, теней, для придания ему таким образом интерактивности и объёма.Device Orientation API существует уже давно, мобильные устройства с гироскопом стали основным окном для приложений и сайтов, в тренде эмоциональный дизайн, всевозможные эффекты "блеска" / градиентов встречаются повсеместно, и кажется пора это всё объединить! И ведь Apple выкатили эту фишку в liquid glass! Но... лично по моему мнению, как-…

  • понедельник, 6 апреля 2026 г. в 00:00:06
javascript
Что всё таки не так с веб компонентами

Господа, продолжаем разбиратся в тонкостях веб компонент. Сделал тут бенч - сравнениe фреймворков ( $mol/lit/symbiot ) по todomcv. Вроде говорим об одном, а бенч о другом, разве не так ? Ан-нет, что бы разобраться с веб компонентами нужны фреймворки которые ставят их во главу угла, те, кто "сделал на них ставку".Вот что мне удалось понять:Первое. Память: 124 байта на веб-компонент, и 16 байт на JS object. Разница на порядок, это много, и без виртуализации интерфейс скорее всего будет л…

  • понедельник, 6 апреля 2026 г. в 00:00:05