Обновить
355.38

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

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

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

Ваша LLM стримит в никуда: разбираемся, как работать с дисконнектами в FastAPI

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

Что делает ваше FastAPI-приложение, когда клиент неожиданно закрывает соединение? По умолчанию — ничего. Если сервису важно экономить ресурсы (например, при работе с LLM), дисконнекты приходится обрабатывать явно, иначе GPU продолжит генерировать токены в пустоту.

В FastAPI есть встроенные механизмы отмены обработки запроса при дисконнекте клиента. Однако просто включить их недостаточно: нужно подготовить ваш код к этому. Иначе возможны проблемы: зависшие транзакции и сломанный пул соединений с БД.

Читать далее

Новости

Интересные HTML и CSS фичи, которые почему-то обходят стороной

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

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

Во фронтенде изменения происходят постоянно. Только разобрался с одним инструментом, он уже считается устаревшим. Плюс на смену ему появляются новые. В JavaScript регулярно добавляются новые методы и API, а HTML и CSS, разумеется, не отстают.

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

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

Читать далее

Как мы рендерим видео на клиенте с помощью ffmpeg

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

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

В статье покажем, как выглядит решение. Оно подойдет и для бэкенда, но нам пришлось обрабатывать и склеивать ролики именно на клиенте.

Читать далее

Замыкание в JavaScript — зачем функциям личное пространство

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

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

Чтобы не городить глобальные переменные и не писать громоздкие конструкции (что почти всегда ведет к багам), мы посмотрим на еще одну фишку JS.

В предыдущих статьях мы разобрали: функции, их стрелочные записи, методы объектов и даже покорили this. Теперь пора переходить к теме, которая часто пугает на собеседованиях, но на деле оказывается невероятно элегантной — замыканиям.

Читать далее

Обзор 8 приложений To-Do List: как выбрать свой список дел

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

To-do list приложения — это способ записать все свои задачи в одном месте, чтобы не забывать о них и не переживать. Одному нужен минимализм, другому — календарь и привычки, третьему — командная работа и контроль. 

Я собрала обзор так, как выбираю инструмент для себя: проверила приложения в реальных сценариях — быстрый захват на телефоне, планирование недели на ПК, повторы и напоминания — и оценивала не функции, а скорость, с которой они превращают хаос в план.

Читать далее

Переехали из многоэтажного монстра в уютную субурбию: как мы улучшаем процесс онбординга

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

Привет, Хабр! Как вы думаете, с чего начинается путь самурая пользователя? Правильно, с онбординга. Онбординг — это не просто анкета «для галочки», а первый диалог продукта с пользователем. От того, насколько он понятен и предсказуем, зависят и конверсия в заявки, и нагрузка на службу поддержки.

Меня зовут Лена, я работаю дизайнером интерфейсов в ЮMoney. В этой статье делюсь опытом проведения A/B-тестирования изменений процесса онбординга на сайте для B2B-клиентов. Вдруг те же «слепые зоны» и сложные формы есть и в ваших продуктах? Наши решения окажутся вам полезны и помогут улучшить клиентский путь.

Читать далее

От учебной проблемы до 1000 пользователей: как я писал интерактивный учебник по RxJS

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

История проекта началась в прошлом (2025) году. Я преподаю JavaScript в HTML Academy, и когда мне предложили взять поток начинающих разработчиков по Angular, я согласился. Мы успешно прошли базу, но когда дело дошло до HttpClient и обработки данных, я столкнулся с проблемой: студентам сложно понять Observable и реактивный подход, имея в багаже только промисы.

На лекции мне задали резонный вопрос: А где посмотреть актуальные и понятные материалы по RxJS?. Я провел небольшой ресерч и понял, что ниша полупустая: видеокурсы - это долго, документация - сложно, а интерактивной практики почти нет.

Так появился мой open-source проект. В этой статье я показываю честную аналитику за 90 дней: как набрать 1000 пользователей без рекламы, почему провалилась моя любимая фича и как пет-проект превращается в полноценный продукт.

Смотреть аналитику

Идентификатор пакета. Боль кроссплатформы

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

Я очень люблю всякие курсы программирования для детей, где маленьких мальчиков и девочек учат программировать. Им обычно говорят слова типа: «Ты всё сможешь, только попробуй. У тебя обязательно получится. Ты станешь программистом. Ну или, на худой конец, майором-программистом, зато Дубай увидишь».

Как правило, на таких курсах детям не объясняют самое главное. Ты пожизненно будешь рабом каких-то тупых соглашений, на которые, к сожалению, ты повлиять вряд-ли сможешь.

Читать далее

Некоторые базовые моменты перехода на современный Angular

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

Если Вы до сих пор не перешли с *ngIf, @Input() и ChangeDetectorRef на @if и signal/computed/effects, но подумываете об этом, то прошу под кат. Предполагается, что вы уже имеете опыт в Angular. В статье - небольшая выжимка практического опыта.

Читать далее

contextvars: почему thread-local сломался в asyncio и как это починили

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

В мире потоков всё было просто: threading.local() даёт каждому потоку свои данные. Request ID, текущий пользователь, database connection — положил в thread-local, достал когда нужно. FastAPI, Flask, Django — все так делали.

Потом пришёл asyncio, и эта модель сломалась. В одном потоке выполняются тысячи корутин, и thread-local у них общий. Положил request ID в одной корутине — прочитал чужой в другой. contextvars, появившийся в Python 3.7, решает эту проблему, но механика его работы не очевидна.

Разберём, почему thread-local не работает в async, как устроены contextvars, и какие паттерны использовать.

Читать далее

DOM-дерево — как не запутаться в ветвях объектной модели документа

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

Бывало такое: смотрите вы на красивую страницу интернет-магазина, открываете консоль разработчика (ту самую, по F12 или через правый клик), а там — лес из тегов, который вообще не похож на то, что вы видите глазами?

Привет, Хабр! Меня зовут Александр Дудукало, я автор курса по JavaScript. В этой статье мы продолжаем знакомиться с элементами страницы, а именно с DOM. Эти знания вам точно понадобятся в работе с любым проектом. Давайте же больше узнаем, что это за дерево и как с ним работать. Поехали.

Читать далее

Как AI убъет вашу базу: безопасность вайбкодинга в 2026

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

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

А если не проверяешь? Replit удаляет базу данных, Claude Code становится инструментом киберпреступников, а твой стартап оказывается взломан за 16 минут.

Это не статья про «не используйте AI». Это статья про то, почему проверка — не опциональный этап, а ваш последний рубеж обороны.

Читать далее

Главные изменения JavaScript в 2026 году

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

В 2026 году обновят JavaScript. Окончательный список изменений сформируется из проектов ECMAScript, достигших 4 этапа к марту. Но многие из них уже на заключительной стадии, а другие готовы и доступны в некоторых браузерах и средах. Под катом — что ждёт разработчиков и какие проблемы будут решены в этом апдейте.  

Читать далее

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

Наш опыт формирования шаблона фоновых сервисов на базе .NET

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

Привет, Хабр! На связи снова разработчик из компании АльфаСтрахование. Наша скрам-команда занимается автоматизацией бизнес-процессов Операционного блока, и для решения многих задач нам часто требуются фоновые операции. В этой статье я расскажу о шаблоне фонового сервиса на .NET, который мы используем в своей работе

Читать далее

Фронтенд 2026: что умерло, что выжило и что взлетело неожиданно

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

Я открываю старый проект 2020 года и вижу знакомые имена в package.json: create-react-app, enzyme, moment.js, axios. Пять лет назад это был золотой стандарт. Сегодня же эти технологии вызывают у коллег искреннее недоумение: «Зачем это тут?»

А ведь прошло всего пять лет.

И за эти 5 лет изменилось очень многое: SPA переживает упадок, TypeScript стал обязательным стандартом, роль фронтенд-разработчика расширяется до full-stack. А дальше что, браузеры заменят фреймворки?

Читать далее

Полгода без ручного кода: как я стал AI-диспетчером и научился большему, чем за предыдущие два года

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

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

Читать далее

Как совместить утилиты и рукописный CSS в атомарном подходе?

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

Всем здравствуйте, дорогие читатели!

Меня зовут Рамазан, я Frontend-разработчик, энтузиаст и я люблю исследовать грани возможностей современных Web-технологий.

В этой статье мы поговорим о том, нормально ли применять в рамках Atomic CSS подхода рукописный CSS. Бытуют разные мнения по этому поводу. Кто-то считает, что в атомарном подходе нужно использовать только утилиты, а кто-то допускает и произвольные сочетания рукописных CSS классов с ними. Я постараюсь разобраться в этом, аргументируя свою позицию.

Читать далее

Реально ли вайбкодингом без профильных знаний написать простую игру и захватит ли ИИ программистов в ближайшем будущем?

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

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

Читать далее

Как варить внутренние инструменты быстро, красиво и эффективно

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

Всем привет! Меня зовут Дарья Андреева, я руковожу командой бэкенда Биллинга и B2B‑платформы Яндекс 360. Наша команда, чтобы сократить TTM и освободить разработчиков от рутины, создаёт удобные внутренние инструменты. Сегодня я хочу поделиться своим опытом и порассуждать о внутренних инструментах.

Начну с контекста. Яндекс 360 — это виртуальный офис для работы и личных дел, куда входят Диск, Почта, Календарь, Телемост, Мессенджер, Документы и другие сервисы. В течение четырёх лет команда растёт больше чем в два раза каждый год. Растёт нагрузка на сервисы, и вместе с ней бэклог. Поэтому автоматизация и ускорение процессов для нас вопрос выживания: без этого мы не смогли бы двигаться с той скоростью, которая нам нужна.

Эта статья — попытка собрать наш опыт, чтобы вы избежали наших грабель и могли быстро отвечать на главный вопрос: как реализовать тот или иной внутренний инструмент. Расскажу, какой критерий считается основным при выборе подхода к разработке внутренних инструментов, какой тип админок будет самым подходящим в той или иной ситуации и чем могут помочь готовые инструменты. 

Читать далее

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

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

Привет! Это второй выпуск Frontend Status — дайджеста по фронтенд-разработке. В выпуске — два десятка материалов: от коротких демо до гайдов и спецификаций.

В подборке — то, чем живёт фронт прямо сейчас: свежий CSS, AI-инструменты (генеративный UI, офлайн-поиск по сайтам, Figma → React), записи (Remotion, ИИ и верстка), апдейты браузеров и платформ (geolocation, Grid Lanes, WebNN, угрозы и учётные данные). Плюс React и Angular, WASM-язык COI, Temporal API и обход блокировок Cursor/Claude через OpenCode.

Читать
1
23 ...

Вклад авторов