Обновить
512K+

Веб-разработка *

Делаем веб лучше

402,04
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Пост-квантовый гибридный алгоритм шифрования для высоко-нагруженных систем с реализацией на TypeScript

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.6K

Новый пост-квантовый гибридный алгоритм шифрования для высоко-нагруженных систем с реализацией на TypeScript. Ring-LWE, работа с ключами с использованием MAC и SHAKE-256, защита от основных видов атак и другие мысли в реализации протокола QuarkDash.

Читать далее

Новости

Когда UI-kit начинает дрейфовать: плагин для WebStorm против поломок React-контрактов

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.4K

В любом зрелом фронтенде проблема редко в том, чтобы написать еще один Button.

Проблема начинается позже. Когда у компонента уже есть десятки использований, Storybook, типы, обвязки, legacy-слои и пара человек, которые “чуть-чуть расширили API, потому что так было удобнее”.

В этот момент UI-kit начинает незаметно плыть.

Читать далее

NextAuth + Django JWT без второй авторизации и ручного хаоса токенов

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.8K

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

Что делаем. Пользователь проходит один вход на фронте, а дальше фронт уже работает с токенами Django как с единственным источником доступа к API. Без второй формы входа, без ручного хранения access token в localStorage, без отдельного костыля под Google OAuth.

Разберем рабочую схему, в которой NextAuth отвечает за пользовательскую сессию на фронте, а Django остается владельцем API-авторизации и выдает JWT. На credentials-входе NextAuth сразу получает access и refresh от Django. На Google OAuth фронт сначала пускает пользователя через провайдера, потом синхронизирует его с Django и тоже получает пару токенов. После этого все запросы идут через один axios-клиент, который сам подставляет access token, сам обновляет его через refresh и сам завершает сессию, если refresh уже недействителен.

Читать далее

Мой AI-агент рапортовал 83 успешных действия. Реальных было 16

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.2K

В дашборде было 83 успешных engagement’а. В аналитике X — 16 настоящих ответов. Пять к одному. Неделю я этого не замечал.

Контекст: у меня автономный AI-агент, который пишет комментарии в X (Twitter) от имени клиентов. Находит релевантные треды, генерирует ответ, публикует через браузер. Без моего участия. Ну, предполагается что без моего участия.

Читать далее

RBACX — что изменилось за полгода: от простого RBAC/ABAC до ReBAC с ИИ-генерацией политик

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.2K

Полгода назад написал первую статью про RBACX — RBAC/ABAC-движок авторизации для Python. С тех пор вышло 25+ релизов, и библиотека стала заметно мощнее: добавил ReBAC с поддержкой OpenFGA и SpiceDB, пакетную проверку прав, ИИ-генерацию политик из OpenAPI-схемы, Redis-кэш, async Django, шортхэнд для ролей и закрыл три security-бага. Рассказываю что, зачем и как это вообще делается в одного.

Читать далее

А системный аналитик нам зачем?

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели19K

В очередной раз пытаемся понять: «есть ли место в нашей команде системному аналитику и нужен ли он нам вообще?»

Читать далее

Как я перестал платить за мусорные лиды

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели9K

Платный трафик на лендинг с формой захвата — это почти всегда мусорные заявки. Номер 123, номер 1111111, четыре цифры вместо телефона. Заявка засчитана, деньги за клик списаны, позвонить некому.

Часть людей заполняет форму абы как — случайно, не хотят оставлять настоящий номер, просто проверяют работает ли кнопка. Причина не важна — важно что за каждую такую заявку вы платите как за нормальный лид. Это типичная проблема для любого кто работает с платным трафиком.

Читать далее

33 несчастья или история одного проекта

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели6.5K

Эту печальную историю стоит прочесть всем, кто еще не понял разницы между «создать» и «владеть» применительно к программному обеспечению.

Заодно узнаете, чем на самом деле занимаются большинство разработчиков на крупных проектах.

Читать далее

Как я в одиночку сделал систему аналитики для Clubs в EA FC, потому что нормальной статистики там просто нет

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.4K

Начну с контекста. Я играю в EA FC (ранее FIFA) в режиме Clubs (11×11), где каждым виртуальным игроком управляет человек. Сам по себе режим интересный, но мне, как человеку, который любит цифры и аналитику, довольно быстро стало не хватать доступной статистики.

Я пришёл в лигу, у которой уже был свой сайт (я в этой статье опущу тему о том, что я администрировал проект порядка 3 лет). Там статистику собирали вручную: люди пересматривали записи матчей и заносили базовые показатели — голы, ассисты, перехваты, отборы и так далее. На основе этих данных считались различные рейтинги: лучшие игроки, бомбардиры, разрушители и прочее.

Выглядело это примерно так: набор таблиц, где действия сгруппированы по категориям и амплуа.

Читать далее

Что не так с веб-компонентами?

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели11K

Если кратко - да все с ними ТАК. Это замечательный набор современных браузерных технологий, для решения реальных задач веб-разработки. Веб-компоненты позволяют делать очень многое, более просто и элегантно, чем это было бы без них. А главное, они позволяют, с потрясающей гибкостью, решать задачи “со звездочкой” - те, которые немного выходят за рамки и требуют более творческого подхода от разработчика.

Почему-же тогда по Хабру гуляют, кхм… некие одиозные личности (не будем показывать пальцем) и рассказывают нам про то, что веб-компоненты это ужас-ужас и полный провал? Давайте разберемся.

Читать далее

Тихая сторона крипторынка: что на самом деле стоит за «магией» торговых ботов

Уровень сложностиСредний
Время на прочтение29 мин
Охват и читатели6K

На дворе 2026 год. В мире неспокойно. Военные конфликты, санкционные войны, передел рынков, борьба за ресурсы. Кажется, что мировая финансовая система уже давно живёт в режиме постоянной турбулентности, и никого это не удивляет.

А что у нас по крипте?

На момент написания статьи биткойн держится в районе 70 тысяч долларов. Кто-то скажет: опять рухнул. И формально будет прав. Относительно недавнего исторического максимума в 126 тысяч долларов это действительно серьёзное снижение — почти в два раза. Но давайте обернёмся и посмотрим на ситуацию не в масштабе недель или месяцев, а в масштабе последних лет.

Не так давно сама идея о том, что биткойн может стоить 100 тысяч долларов, для многих звучала как «бред сумасшедшего». Причём не только для рядовых скептиков, но и для вполне серьёзных и влиятельных экономистов. Сосем недавно отметка в 10 тысяч казалась фантастикой. Потом рынок долго привыкал к 20 тысячам. Затем спорил, возможны ли 50. А сегодня рост до 200 тысяч уже выглядит лишь вопросом времени.

Мы быстро ко всему привыкаем

И хоть крипта больше не находится на периферии финансового мира, она всё же не стала менее рискованной. Не стала менее волатильной. Но перестала быть экзотикой, которую можно снисходительно игнорировать. Если не для всех, то по крайней мере для значительной части людей.

За это время криптоиндустрия уже успела пройти через многое. Эра ICO — время, когда рынок буквально заливали деньгами за одни лишь обещания. Бум L2-решений и новых блокчейнов. Затем волна NFT, различных Web3-сервисов, GameFi-игр и множества других трендов.

Читать далее

«Фронтенд умер»? Жаль, что я узнала об этом только после четырех лет учебы

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.8K

Предлагаю открыть портал в ад и задать вопрос, который сейчас, кажется, витает в воздухе у всех, кто связан с разработкой: фронтенд вообще еще жив? Или логичнее уже сейчас срочно переучиваться, пока через пару лет не пришлось делать это в панике?

Я задаю этот вопрос не как человек с десятилетним опытом, стабильной работой и философским спокойствием. Я задаю его как человек, который четыре года учился, чтобы войти в профессию, а вышел на рынок в момент, когда отовсюду слышно одно и то же: IT умерло, джуны никому не нужны, нейросети уже пишут код, а дальше будет только хуже.

Читать далее

Делаем лимиты ИИ почти бесконечными: умный роутер, который режет затраты на токены в разы и делает их почти бесплатными

Время на прочтение5 мин
Охват и читатели8.8K

$47 за неделю на LLM API — при том что половина запросов тривиальные. Поставил ClawRouter — open source роутер, который анализирует промт по 15 параметрам и отправляет в самую дешёвую подходящую модель. За следующую неделю потратил $1.80. Рассказываю, как работает, что понравилось, что нет и какие есть альтернативы.

Читать далее

Ближайшие события

Frontend Status: свежий дайджест фронтенда и AI — 03.04.2026

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели4.8K

Привет!

Это одиннадцатый выпуск Frontend Status — дайджеста по фронтенд-разработке.

В этом выпуске:

📺 Плейлист по отладке Next.js с Sentry.

🤖 Рэйчел Эндрю и Эдди Османи — два взгляда на AI: когда использовать, а когда координировать целый оркестр агентов.

🛡️ GlassWorm: атака через невидимые Unicode-символы в npm-пакетах и расширениях VS Code.

🎨 CSS Anchor Positioning: два круга, стрелка и ноль строк JS от Темани Афифа.

⚛️ Storybook MCP для React, data-testid как признак недоступности и пошаговые туры через React Joyride.

👁️ Vue Devtools не работает в продакшене? QA-инженер написал свой инспектор.

🌎 Chrome 147 с scoped view transitions, Safari TP 240 и дайджест веб-платформы за март.

🖌️ Осмысленное трение в UX, ARIA-роли для дизайнеров и тест масштабирования шрифтов в Figma.

…и многое другое.

Читать далее

Как я построил автоматический сервис защиты данных: FastAPI + Marzban + Docker

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.3K

Задача: человек регистрируется, оплачивает, получает ключ на почту и сразу подключается. Без ручной работы с моей стороны. Под капотом — FastAPI, Marzban, PostgreSQL, React, ЮKassa, Resend. Расскажу про архитектуру, грабли и неочевидные решения.

Читать далее

Как настроить автоматические пины из статей сайта в Pinterest

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.9K

Pinterest — не просто соцсеть для рецептов и идей. Это мощная визуальная поисковая система, которая может приводить целевой трафик на статьи, если правильно «подружить» её с сайтом. В этом руководстве я покажу, как сделать так, чтобы Pinterest сам находил новые статьи, подхватывал картинки и описания и создавал пины — без ручного копирования.

Читать далее

Руководство по оптимизации производительности сайта

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.3K

Если у вас есть собственный сайт — вы наверняка проверяли его работу с телефона. Открыли, полистали, остались довольны: «Всё летает». Но это не гарантия, что так же быстро сайт загрузится у ваших посетителей.

Представьте: пользователь заходит на ваш сайт с iPhone (неважно, нового или трёхлетней давности) — и страница зависает, изображения грузятся по одному, скролл дёргается. Через 5–10 секунд он просто закрывает вкладку и уходит к конкурентам. Проблема не в вашем телефоне или интернете, а в скрытых особенностях браузера Safari и устройств iOS.

Ниже — руководство по оптимизации, которое поможет избежать таких сценариев. Пройдитесь по чек‑листу и убедитесь, что каждый пункт выполнен. Даже если ваш сайт кажется быстрым, с большой вероятностью он теряет часть аудитории на Safari.

Читать далее

Продвинутый RBAC: роли, статусы, теги без боли и страданий

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели7.3K

Сегодня детально расскажу про сердце JMatrixPlatform - статусно-ролевой доступ к данным. Это основа платформы, доступная сразу "из коробки", которая реализует продвинутый RBAC с привязкой прав к статусам объектов. Вы не найдёте в общем доступе внятного и современного описания такой методологии, тем более с примерами реализации "из коробки", а это означает, что сегодня очередной эпизод погружения в Области тьмы ИТ, куда не заглядывают модные фреймворки.

Читать далее

TypeScript в Next.js как система контрактов, а не типизация ради типизации

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели4.9K

Когда разработчик начинает писать на Next.js с TypeScript, первая реакция часто довольно холодная. Вместо того чтобы двигаться быстрее, он начинает чаще видеть ошибки. Где-то не совпал shape объекта, где-то строка не подходит в более узкий тип, где-то TypeScript напоминает, что значение может быть undefined. На этом месте легко сделать неправильный вывод. Кажется, что TS просто добавляет трение и требует больше служебного кода.

Обычно проблема не в TypeScript, а в способе мышления. Если использовать его как набор аннотаций поверх уже написанного кода, пользы действительно немного. Но если смотреть на типы как на систему контрактов между слоями приложения, картина меняется. Особенно в Next.js App Router, где у нас постоянно есть границы server и client, внешний ввод из URL, формы, мутации и разные состояния интерфейса.

В этот момент TypeScript перестаёт быть типизацией ради типизации. Он начинает отвечать на более важный вопрос: какие состояния в проекте вообще допустимы, а какие не должны пройти дальше границы. По такой модели я выстроил один из своих проектов Workbench. Не начинать с мысли давайте везде поставим типы, а начинать с мысли где у нас проходит граница, что в неё входит и что из неё может выйти. После этого многие решения в коде становятся почти очевидными.

Читать далее

Статья, в которой я рассуждаю о том, как улучшить code review

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.8K

Представьте себе: вы закончили большую задачу, написали много строк кода, проверили всё, даже подумали над названием каждой переменной! Но откладываете создание PR на день, два, три…из-за того, что не хочется идти в ревью и получать критику?

А мне такое и представлять не надо. Я испытываю подобное почти перед каждый своим ревью, даже спустя 6 лет в разработке.

Читать далее
1
23 ...