Category : javascript

javascript
Книга аутентификации

Это моя личная книга по аутентификации. Она представляет собой сборник руководств, рекомендаций и примеров по внедрению аутентификации в веб-приложениях, основанный на моем личном опыте. Книга совершенно бесплатна и не содержит рекламы. Надеюсь, она будет полезна всем, кто хочет узнать больше об аутентификации, безопасности и веб-технологиях в целом.Как следует из названия, эта книга в значительной степени посвящена системе аутентификации и авторизации для веб-приложений. Более общие вопросы бе…

  • среда, 29 июля 2026 г. в 00:00:13
javascript
Модель исполнения JavaScript по спецификации ECMAScript: call stack, контексты, окружения и замыкан…

Все привыкли, что есть какой-то call stack и работает он по LIFO: последним зашёл — первым вышел. Вызвал функцию — кадр лёг на вершину, функция вернулась — кадр сняли. Дальше этого знание обычно и не идёт.Ровно та же история — с асинхронной половиной: про event loop, микротаски и макротаски слышал почти каждый, все знают, что промисы «бегут вперёд» setTimeout. А на «почему именно так и где это вообще записано» ответа обычно нет. Её мы тоже разберём — но под самый конец: живёт она уже за границе…

  • среда, 29 июля 2026 г. в 00:00:12
javascript
Чат на сайте стоит дороже, чем кажется: как я замерил его цену и переписал виджет под результат

Полгода назад я закрывал технический долг по производительности на клиентском проекте. Обычная история: интернет‑магазин, мобильный Performance в PageSpeed — 29, владелец каждую неделю спрашивает, когда будет зелёная зона. Мы сделали всё, что делают в таких случаях. Перегнали изображения в WebP и AVIF, вынесли критический CSS в инлайн, убрали три подключения Google Fonts на self‑host, порезали неиспользуемый JavaScript, настроили кэширование на уровне Nginx, подключили CDN. Работы на два месяца…

  • среда, 29 июля 2026 г. в 00:00:10
javascript
Широкий вход, узкий выход: Vue 3 внутри jQuery‑формы без бесконечных циклов

Добавить на страницу новые функции, не трогая саму страницу, звучит как противоречие. Но альтернативу мы посчитали командой: полное переписывание заняло бы год, в течение которого страница не получила бы ни одной новой функции. Мост между старым кодом и новым занял два месяца, и строил его уже я один. Расскажу, как этот мост устроен, почему получился несимметричным, где чуть не зациклился и что в нём так и осталось кривым.Страница, которую нельзя переписатьСтраница — карточка заказа в CRM, ей б…

  • среда, 29 июля 2026 г. в 00:00:10
javascript
Языковая Модель без магии: Крошечная Language Model на чистом Node.js

Схема Языковой МоделиEnglish | РусскийTokenization → embeddings → causal Transformer → LM head → softmax → loss → backpropagation. Без TensorFlow, без PyTorch, и без hidden autograd.Учебная causal language model без TensorFlow, PyTorch и ML-библиотек. Каждый скаляр, нейрон, градиент, attention score и шаг обновления весов реализован обычным JavaScript и доступен для просмотра в отладчике.В проекте остался один сценарий и одна команда:node src/train.js --generalize --adaptive-teach Достаточно No…

  • вторник, 28 июля 2026 г. в 00:00:04
javascript
Ваш AI-агент не понимает код. Он просто очень уверенно угадывает — поэтому мы создали SLICER

“AI agents write units of changes that look good in isolation. They are consistent with themselves and your prompt. But respect for the whole…”«AI-агенты создают отдельные изменения, которые хорошо выглядят сами по себе. Они согласованы внутри себя и соответствуют вашему запросу. Но целостность всей системы при этом остаётся без внимания».— Mo Bitar, создатель Standard Notes, после двух лет активной разработки с AIAI-агент хорошо пишет код локально, но теряет систему целиком — поэтому мы создал…

  • понедельник, 27 июля 2026 г. в 00:00:19
javascript
2 года в Obsidian: мой workflow, архитектура заметок, плагины и синхронизация

ВведениеОколо двух лет я использую Obsidian как основное приложение для ведения заметок, планирования и написания статей. В этой статье я хочу поделиться своим полным workflow: от распределения заметок по папкам и горячих клавиш до детального Cheatsheet по хранилищу и организации метода Zettelkasten.Сразу уточню: Obsidian становится действительно удобным только тогда, когда человек сам собирает под себя хранилище и находить подходящий ему метод. Ниже я разбираю реализацию по частям, чтобы кажды…

  • понедельник, 27 июля 2026 г. в 00:00:17
javascript
Фронтенд никогда не умрёт

Каждые пять лет я слышу одно и то же: фронтенд больше не нужен, ему остался последний год. Сначала говорили про визуальные конструкторы - Wix, Tilda, все дела. Потом, когда ИИ выстрелил, начали хоронить разработчиков под флагом «AI напишет тебе кнопку за секунду». А сейчас новая мода - фулстекеры. Приходят такие ребята и говорят: «Да зачем нам отдельный фронт, я сам и бэк, и фронт на коленке соберу, проект сэкономит, все будут счастливы».Давай просто выдохнем и разберемся, что на самом деле про…

  • понедельник, 27 июля 2026 г. в 00:00:12
javascript
пошКОДим: как превратить React-компонент в неуправляемый комбайн — 15 вредных советов

Компонент, который делает всё, невозможно управляемо изменятьКомбайн не пишут — его выращивают. По одному разумному шагу за спринт. На планировании оценивают задачу: «добавить бейдж VIP на карточку клиента». Разработчик открывает CustomerCard.tsx, молчит и говорит: «Дня три». Никто не смеётся — все открывали этот файл. В нём почти семьсот строк, и он умеет всё: грузит клиента и его заказы, кэширует, валидирует форму, различает три роли, экспортирует CSV и не падает. Сцена собирательная, но файл…

  • воскресенье, 26 июля 2026 г. в 00:00:07