Обновить
512K+

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

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

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

Как поход в кино превратился в сессию системного дизайна

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

Недавно ходил в кино и, пока стоял в очереди на вход, поймал себя на мысли, что проектирую систему, которой пользуется контролер. На первый взгляд задача примитивная: есть база билетов, контролер сканирует QR, система должна проверить билет и пустить человека. Главное условие - один билет используется ровно один раз.

Я прикинул, и понял, что проблем там гораздо больше, чем кажется ..

Читать далее

Ну когда уже мы перестанем писать код???

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

Что происходит с индустрией прямо сейчас. Агенты, Manus, личный опыт и честный ответ — стоит ли паниковать. Взял идею стартапа, скормил агенту — через 20 минут получил рабочий код. Это круто или страшно? Давайте разбираться.

Читать далее

Атака на axios в npm: как один захваченный аккаунт поставил под угрозу миллионы JavaScript-проектов

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

В экосистеме JavaScript произошёл серьёзный инцидент, который хорошо показывает, насколько опасными стали атаки на open source и цепочки поставок. Исследователи StepSecurity сообщили о компрометации axios — одной из самых популярных HTTP-библиотек в npm (~83 миллионов загрузок в неделю). Злоумышленник получил доступ к аккаунту одного из ведущих мейнтейнеров проекта и опубликовал две вредоносные версии пакета: axios@1.14.1 и axios@0.30.4.

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

Читать далее

JWT авторизация в FastAPI: от теории к практике

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

Представьте себе, что вы разработчик, и перед вами стоит задача: сделать так, чтобы после входа пользователь мог получать свои личные данные, не вводя пароль при каждом клике. Звучит как классическая задача аутентификации, правда?

Традиционный подход — сессии. Вы логинитесь, сервер создаёт сессию, запоминает ваш ID у себя в базе данных, а вам выдаёт куку с ID этой сессии. Всё работает, пока вы на одном сервере. А если у вас их два? Или десять? Куда девать сессии? Начинаются проблемы с синхронизацией, Redis, общими хранилищами…

Альтернатива — JWT (JSON Web Token). В этой статье мы с вами:

Читать далее

Мы сделали лучший REST фреймворк для Django

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

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же core-разработчик фреймворка Litestar, пакета django-stubs и множества других пакетов для Django.

Сегодня я расскажу, как мы сделали самый быстрый и самый семантически корректный фреймворк для создания апишек на Джанго. Поговорим про конкурентов, покажу очень крутые интеграции, поделюсь своей философией и правилами, которые использовались для создания фреймоврка, ну накину на вентилятор для интереса.

Если хотите похоливарить в коментах на тему того, какой фреймворк самый лучший и удобный – залетайте! Обсудим.

Читать далее

Чёрт, опять этот CSS. Коллекция кейсов, когда CSS бесит

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

Привет, Хабр!

CSS часто преподносит сюрпризы, способные запутать даже опытных разработчиков. Я понимаю их раздражение. Тут всё закономерно.

Как человек, хорошо знающий CSS, могу сказать, что он умеет удивлять. Причём так, что в замешательстве оказываются даже опытные разработчики. Поэтому я понимаю разные мемчики по поводу CSS. Они возникли не на пустом месте.

И всё же, несмотря на все потраченные нервы, CSS мне нравится. Поэтому хочется, чтобы разработчики реже тратили время на борьбу с его особенностями. Изменить стандарты языка не в моих силах, но я смог собрать несколько неочевидных моментов, которые в своё время поставили в тупик меня и моих коллег.

Пришёл поделиться с вами. Давайте посмотрим, что я подготовил.

Читать далее

12 слов вместо номера телефона: как мы сделали мессенджер невидимым для файрволов

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

BIP39 вместо номера телефона, ECDH P-256 + AES-256-GCM, non-extractable CryptoKey, трафик неотличимый от HTTPS. Как это устроено, что сломалось в процессе и почему некоторые решения были болезненными.

Читать далее

Какие документы должны быть на сайте?

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

Привет, я — Александра, юрист для digital-агентств и фрилансеров! Специально для всех владельцев сайтов я подготовила подробную статью о том, какие юридические документы должны быть на каждом сайте в зависимости от его вида и наполнения. Прочитав её, вы точно всё поймёте.

Читать далее

37 советов и приемов по написанию качественных тестов для фронтенда

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

Мне нравится писать тесты. Написание теста и последующее обновление кода для его прохождения — всегда увлекательный процесс.

Но нет ничего хуже, чем выяснение того, что проверяют существующие тесты (раньше я сам часто был автором таких тестов).

Представляю вашему вниманию мои советы по написанию высококачественных тестов для фронтенда.

Читать далее

Долг понимания — скрытая цена кода, сгенерированного искусственным интеллектом

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

“Долг понимания” (comprehension debt) — это скрытая цена, которую человеческий интеллект и память платят в результате чрезмерной зависимости от ИИ и автоматизации. Для инженеров это особенно актуально в сфере разработки агентных систем.

Когда команды активно используют инструменты для генерации кода с помощью ИИ, возникают определенные издержки, которые не отражаются в показателях производительности. Особенно это касается случаев, когда проверка всего кода, генерируемого ИИ, становится утомительной. Эти издержки накапливаются постепенно, и в конечном итоге их приходится оплачивать — с процентами. Это называется “долг понимания” или “когнитивный долг”.

Читать далее

Завязывайте с вайбкодингом! Серьезно

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

Мне очень не нравится термин. Он подсознательно «сужает» взгляд на ИИ и ограничивает его использование.

«Когда у вас в руке молоток, все становится похожим на гвозди».

Вайб‑кодинг словно бы говорит: «Иди и программируй!»

Есть данные, и нужен какой‑то отчет? Иди вайбкодь! Бэкенд, фронтенд, VPS, вот это всё. А зачем, если тот же ИИ можно просто попросить сделать Excel файлик с нужной структурой и нужными формулами? И он будет понятнее, с ним можно будет работать в будущем, его можно отдать кому‑то, не решая вопросы про доступы, безопасность и тому подобное

Хотите запустить блог или какой‑то контентный проект? Иди вайбкодь! Изучай Next.js, Sanity, Supabase, Vercel! Деплой, отлаживай! Но зачем, если можно взять хоть Ghost, хоть WordPress, с помощью того же ИИ получить рекомендации по нужным плагинам и темам, настроить всю верстку, и получить понятное обновляемое решение?

Читать далее

Продвижение сайтов в Новосибирске. Дикое SEO начала 00-х

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

Ну что, расскажем, как всё начиналось? Даже не знаю, рассказать правду или как оно было на самом деле. В любом случае, получится предельно личный мемуар об эволюции новосибирского Digital-рынка. Поскольку я в «продвижении» сайтов обитаю с 2003 года, на роль компетентного наблюдателя, который видел рождение, смерть и реинкарнацию десятков алгоритмов, бизнесов и специалистов, я как минимум подхожу.

Читать далее

Почему применение SaaS/IDaaS для аутентификации и авторизации наиболее эффективно, сравнение

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

Мой опыт показал, что этот простой на первый взгляд механизм часто вызывает неожиданные сложности в реализации. Когда в дискуссиях меня начинают спрашивать почему, приходится долго объяснять. Поэтому решил создать эту статью как ликбез, да и чтобы в процессе свои мысли структурировать для будущих аргументов.

TLDR;

Использование SaaS в авторизации и аутентификации пользователей для решений не ограниченных контуром предприятия имеют самую большую эффективность и удобство. (можно промотать страницу в самый конец - там будет сравнительная таблица)

Читать далее

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

URL как источник правды в Next.js App Router

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

Когда разработчик приходит в Next.js из обычного React SPA, он часто тащит с собой старую схему мышления. Есть поле ввода, значит будет useState. Есть поиск, значит будет useEffect. Есть список данных, значит будем следить за изменением состояния и вручную запускать новый запрос.

На маленьком экране это вроде работает. Но очень быстро выясняется, что в приложении уже не одно состояние, а три. Есть значение в поле, значение в URL, данные, загруженные по одному из этих значений. Потом появляется четвёртая проблема. Кнопки Back и Forward начинают вести себя странно. Ссылкой на результат поиска неудобно делиться. А отладка превращается в угадайку, потому что не до конца понятно, что именно сейчас считается главным источником правды.

В App Router это решается проще. Если фильтр является частью состояния страницы, его логично держать в URL. Тогда схема становится прямой: URL изменился -> сервер прочитал searchParams -> выполнил fetch -> отрендерил новый список. В этот момент Next.js начинает восприниматься как понятный инженерный инструмент.

Читать далее

Почему ваш пароль уже взломан (и как это исправить)

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

Слабые пароли — головная боль и для пользователей, и для разработчиков. Первые считают, что «кто будет меня взламывать», вторые уверены: «я не банк, кому нужна моя база». А в это время ботнеты методично перебирают комбинации, словарные атаки становятся умнее, а нейросети уже научились генерировать пароли по шаблонам, которые мы считали сложными — но результаты пока не впечатляют.

В этой статье я разберу аутентификацию с самого начала: почему пароли до сих пор актуальны, как оценить их реальную стойкость (с честными расчётами), что происходит с паролем на сервере и какие ошибки допускают разработчики. В конце — чек-лист для обеих аудиторий.

Копнём поглубже?

Приключения с Go и YDB Serverless: как я уложился в бесплатный тир Yandex Cloud после Spring Boot и PostgreSQL

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

Долгое время я пытался научиться слепому десятипальцевому методу печати, но всегда это заканчивалось поражением. Учился на Keybr — на нём освоил английский. Частотный метод, когда ты печатаешь настоящие слова из самых частых букв, мне подошёл. Но столкнулся с тем, что заглавные буквы, пунктуация и цифры спрятаны за кучей настроек. Подумал — зачем это прятать, если можно сделать структурированные этапы и дать чёткий путь прохождения? Так я начал разработку TypeStep — тренажёра слепой печати с частотным методом и этапами прохождения. А теперь — про то, на чём это всё построено и с чем пришлось столкнуться.

Читать далее

Headless CMS на Go — самая минималистичная система управления сайтом

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

Когда очередной лендинг требует «просто принимать заявки и показывать новости», разработчик оказывается перед выбором: поднять Laravel/Django с кучей зависимостей, купить SaaS-подписку, или написать что-то своё. Я выбрал третий путь — и это оказалось интереснее, чем я ожидал.

В этой статье разбираю архитектурные решения, которые принял при написании LightHeadless — минималистичного headless CMS на Go.

Читать далее

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

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

Привет!

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

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

📺 TanStack AI генерирует картинки, а не только чат-ботов.

🤖 Почему ИИ выдаёт глупый код — и трёхуровневая архитектура, которая это исправляет.

🎨 Математическая модель masonry-раскладки на Flexbox — с алгеброй, а не «работающим примером».

⚡ TypeScript 6.0, обновления безопасности Node.js, петиция против AI-кода в ядре Node.js и Kafka из Node.js по-взрослому.

⚛️ TanStack улучшил пропускную способность SSR в 5 раз, а Strawberry Browser переписал 130 000 строк с React на Svelte за две недели.

🅰️ Angular выпустила официальные скиллы для AI-агентов.

💚 Компоненты визуализации звука для Vue.js на Web Audio API.

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

Читать

От логинов до SQL: какие бреши в web-приложениях ищут хакеры и как их устранить

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

Сегодня веб-приложения остаются основой для функционирования бизнеса. Их стабильность влияет как на финансовую, так и репутационную составляющие организации. Но также внешние ресурсы компаний являются привлекательной целью для злоумышленников. По данным представителей сервиса WAF ГК «Солар», за 2025 год общее количество кибератак на веб-приложения выросло на 89% в сравнении с 2024 годом. Учитывалась статистика по организациям из разных сфер, в том числе госсектора, логистики и транспорта, ритейла, финансов, промышленности.

Успешность такой кибератаки зависит в том числе от наличия уязвимостей в веб-приложениях. Ими злоумышленники могут пользоваться, чтоб получить доступ к системе, а затем ее компрометировать. Компания «Анлим», центр компетенций по информационной безопасности, не первый год специализируется на пентесте (от англ. penetration test). За время многочисленных проектов по взлому ИТ-инфраструктуры специалисты компании «Анлим» назвали три наиболее распространенных уязвимости, а также рассказали о способах их устранения.

Читать далее

Вайбкодинг за выходные: как ручной QA-инженер собрал свой «Тиндер для кино» с помощью ИИ

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

Сразу сделаю чистосердечное признание: я ручной тестировщик. Я не умею писать код с закрытыми глазами, и да — эту статью мне тоже помог структурировать ИИ по моим промптам. Зато я умею декомпозировать задачи, выстраивать логику продукта и ломать то, что уже написано.

Меня бесила ситуация, когда я не могу подобрать себе фильм для просмотра. Обычно, у фильмов только скудное описание и рейтинг. Чтобы посмотреть трейлер нужно умудриться его найти. Да, можно прочитать отзывы, но там в основном рецензии на пару минут чтения

Я решил, что мне нужен инструмент, который превратит выбор фильма из рутины в развлечение. Бюджет — 0 рублей. Команда — я и нейросеть (Gemini 3.1 Pro).

В IT сейчас активно спорят про «вайбкодинг». Кто-то считает это абсолютным злом и костылестроением, кто-то — неизбежным будущим. Я решил проверить этот подход на практике и за выходные собрал MVP своего сервиса.

Читать далее