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
github
NVIDIA / personaplex

PersonaPlex code.PersonaPlex: Voice and Role Control for Full Duplex Conversational Speech Models PersonaPlex is a real-time, full-duplex speech-to-speech conversational model that enables persona control through text-based role prompts and audio-based voice conditioning. Trained on a combination of synthetic and real conversations, it produces natural, low-latency spoken interactions with a consistent persona. PersonaPlex is based on the Moshi architecture and weights. PersonaPlex…

  • вторник, 7 апреля 2026 г. в 00:00:03
github
tobi / qmd

mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all localQMD - Query Markup Documents An on-device search engine for everything you need to remember. Index your markdown notes, meeting transcripts, documentation, and knowledge bases. Search with keywords or natural language. Ideal for your agentic flows. QMD combines BM25 full-text search, vector semantic search, and LLM re-ranking—all running locally via node-llama-cp…

  • вторник, 7 апреля 2026 г. в 00:00:02
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