Обновить
112.09

TypeScript *

Cтрого типизированная надстройка для JavaScript

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

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

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

Привет!

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

В этом выпуске — разговор с одним из создателей WebAssembly о версии 3.0, трезвый взгляд на AI-копилотов и что приходит им на смену. Прокачиваемся в CSS и JS: что уже baseline в 2026, как не провалиться в ловушки дат и зачем нужен «Can I Stop». По фреймворкам: Angular чинит уязвимости и наконец делает формы человечными, Vue — про доступность, Svelte лидирует в State of JS. Плюс Bun, сайт конференции Three.js, опасный баг в Chromium и статья для тех, кто устал просто «рисовать пиксели».

Читать

Новости

Ну это полный мэтч! Как мы сделали бота для знакомств в чатах

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

Всем привет! Меня зовут Иван, я руковожу компанией НИИ Крокодил.

Как и многие в IT, я состою в куче рабочих чатов, суммарно там, наверное, пару сотен человек. И каждый такой чат живёт одинаково: миллион сообщений, обсуждения сменяются одно за другим, а любая важная информация улетает вверх и теряется.

Особенно заметно, когда в чат приходят новички и пишут интро. Человек рассказывает, кто он и чем занимается, а через пару минут этот текст уже никто не увидит: его просто смывает потоком сообщений.

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

В этой статье расскажу, как мы с командой его сделали.

Читать далее

Швейцарский ножик для распознавания речи

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

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

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

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

Читать далее

Все паттерны в автоматизации тестирования

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

Когда я только начинал свой путь в автоматизации, мне отчаянно не хватало толкового и структурированного материала по паттернам проектирования именно для автотестов. Хороших статей про паттерны в целом — вагон, а вот с привязкой к тестированию — днём с огнём не сыщешь.

Паттерны — это та вещь, которая моментально выдает уровень культуры кода и понимание инженерных практик. Неудивительно, что на собеседованиях на позицию Automation QA любят покопаться в этой теме.

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

Добро пожаловать в обсуждение! Буду рад конструктивной критике и дополнениям.

Читать далее

Проектируем профессиональный фронт для мессенджера

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

Перед тем как писать наш будущий мессенджер нужно определиться с технологией на которой будем его разрабатывать. Явными фаворитами среди инструментов web разработки для SPA являются Angular и React. Я не буду акцентировать преимущества каждого из этих инструментов, а остановлюсь сразу на Angular, т.к. ранее проводил ресёрч по не классическим виртуализированным спискам и выявил, что для данной задачи он справится эффективнее, чем React.

Читать далее

Как мы написали React Native библиотеку для Яндекс Карт за два дня с Claude

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

Сначала коротко о том, зачем нам это было нужно.

Мы в основном пилим решения для фудтеха, а для мобилок используем React Native (почему, рассказывали тут). 

В одном из таких проектов (российская сеть ресторанов по франшизе) нам нужно было прикрутить Яндекс Карты. Изначально хотели взять либу react-native-yamap (респект тем, кто ее делал) — но как выяснилось, она работает только на старой архитектуре RN. 

После обновления до 0.76 версии, где Fabric стала использоваться по умолчанию, приложения на iOS начали падать: карта не рендерится, события не доходят до JS, приложение крашится при взаимодействии с картой и вот это вот всё. И судя по открытым тикетам, мы не одни, кто столкнулся с этой проблемой. 

Полезли искать, написал ли кто-то уже библиотеку под новую архитектуру — но либо таких людей нет, либо ни с кем не делятся. Спойлер: мы пока тоже не будем, ещё обкатываем либу на своих проектах — но уже сейчас хотим рассказать, как собрали новый пакет с помощью Claude Code за два дня.

Читать далее

Покрытие регресса автотестами: практический опыт внедрения E2E

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

По мере роста продукта регрессионное тестирование быстро становится узким местом: количество сценариев растет, время проверки увеличивается, а цена ошибки перед релизом становится выше. В нашем случае переход к E2E-автотестам стал способом ускорить регресс и основой стабильных, предсказуемых релизов. В статье делимся тем, как мы выстроили покрытие регресса автотестами и встроили его в рабочие процессы команды.

Немного о проекте

Проект представляет собой распределенную систему, состоящую из двух web-порталов на React, порядка двадцати микросервисов на .NET и нескольких интеграций со сторонними системами. Все компоненты участвуют в одном сквозном бизнес-процессе, а релизы выходят регулярно — в среднем раз в две недели.

QA-инженер подключился к проекту уже после начала активной разработки. В этот момент мы осознанно отказались от наращивания объемной ручной тестовой документации и сделали ставку на E2E-автотесты.

Почему Е2Е?

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

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

Читать далее

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

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

Привет!

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

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

Медиа · TanStack Router и маршрутизация в React · Pinia и будущее Vue (Эдуардо Сан Мартин)

AI · Агентное будущее Next.js · AGENTS.md по-новому (Эдди Османи) · Вайб-кодинг и ценность кода (Маттео Коллина) · Таймлайн LLM за 10 лет

Безопасность и браузеры · OWASP для агентных приложений (Auth0) · Firefox 148 setHTML() вместо innerHTML · CSS corner-shape в Blink (Chrome)

CSS · Псевдокласс :near() · Смерть скролл-фейду (Крис Койер) · x86 на чистом CSS/HTML

JS/TS · Зелёный дизайн интерфейсов (Смэшинг) · Полифил switch · TypeScript v6 beta · TSSLint v3 · Асинхронные паттерны

A11y · .visually-hidden в 2026 (Дэвид Бушелл)

Фреймворки · React: React Doctor, SVAR Gantt, когда RSC тормозит · Angular: PrimeNG 19→21, Taiga UI CDK v4.72 · Vue: Nuxt на русском, VueUse

Разное и 3D · Ностальгия по вебу 90-х · Штраф Amazon 2,5 млрд за тёмные паттерны · WebGL composite (Three.js) · voxCSS и Mahjong

Читать

Согласованность API по принципу единого источника истины

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

Представим ситуацию: идет тяжёлый спринт, вы выполнили кучу задач, написали тонну нового функционала, готовитесь к релизу и вдруг обнаруживайте, что часть фич перестала работать! Идёте разбираться и обнаруживайте, что оказывается бэкендер Вася в последний момент решил переименовать поля в json-е, а вам об этом не сказал!

Ситуация образная, но позволяет быстро обрисовать одну из болей во время разработки. В этой статье я бы хотел рассказать об одном из вариантов её решения в коде с помощью подхода Единого источника истины(Single source of truth).

Читать далее

Перестаем бороться с компилятором TypeScript и начинаем писать безопасный и строго типизированный код

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

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

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

Читать далее

B4 — обход DPI с веб-интерфейсом

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

B4 - инструмент обхода DPI на Go с веб-интерфейсом.

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

Читать далее

Проблема ретроспективного внедрения интернационализации (i18n)

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

Одна из главных проблем i18n в приложениях заключается в том, что о ней вспоминают в последнюю очередь.

Обычно мы разрабатываем продукт, проверяем соответствие рынку (Product-Market Fit) и только спустя месяцы или годы решаем: «Пора выходить на глобальный уровень».

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

Как же с этим справиться? Заморозить разработку на неделю и рефакторить каждый компонент?

В последнее время я вижу много решений, основанных на compiler-driven подходе. Обещание заманчивое: добавьте пару строк кода, и приложение «само» станет мультиязычным.

Однако есть существенные недостатки.

Читать далее

Как мы победили утечки памяти в реактивных веб-компонентах (RWC)

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

Вкладки браузера разрастались до 5 ГБ. Причина — эффекты в реактивной системе, которые продолжали жить после удаления компонентов из DOM: подписки на сигналы не очищались, замыкания удерживали ссылки на мёртвые узлы, а каждый переход по SPA множил «призрачные» обновления. Разбираем, как иерархия parent-child эффектов, привязка к disconnectedCallback через effectSet и WeakRef полностью решили проблему — без ручного управления подписками

Читать далее

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

Организация импортов в React + TypeScript: настройка ESLint для порядка и чистоты кода

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

Стек: React, TypeScript, ESLint 9, IDE: VS Code.

Импорты в приложении – самодокументируемая шапка файла. Взглянув на неё, можно быстро сделать вывод о содержимом: какие библиотеки, компоненты, типы и стили - если речь о React-компоненте - используются в файле, и создать общее впечатление о модуле.

Хорошо, когда эта «шапка» имеет единый порядок: мы быстро можем увидеть, например, какие типы использует файл, много ли компонентов он содержит и т.п. Короче говоря – это ускоряет и точечный, и общий анализ файла. Ну и просто приятно, когда код содержится в порядке и подчиняется единым правилам.

Читать далее

Как я запилил Skill для $mol, чтобы Claude Code перестал писать на React

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

Привет, Хабр! Последние несколько месяцев я пишу на фреймворке $mol. $mol очень крутая штука, но для иишки слишком мало информации в датасетах.

Агент постоянно что то да путал, и даже не смотря на типизацию в моле ( даже в css ) это всё очень долго кругами ходило.

Агент:

Читать далее

Kawai-Focus 2.3: логика приложения на TypeScript

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

В данной статье я покажу код на JS, который не поместился в предыдущей статье, а также перепишу его на TS. Кратко расскажу о преимуществах TS над JS и о том, что необходимо понимать для перехода.

В прошлой статье я также упоминал, что у Сергея получилось запустить мой проект на Tauri в режиме разработки на Arch. Он поделился со мной информацией в issue на GitHub и тем самым внёс вклад в проект. Поэтому я решил попробовать исправить проблему на основе его issue. Заодно расскажу, что такое issue и как оно выглядит.

Заваривайте чай, доставайте вкусняшки — пора «снимать первый урожай помидор»! 🍅

Читать далее

Новые реактивные формы в Angular: Signal Forms API

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

Привет! Меня зовут Незар, я фронтенд-разработчик из Т-Банка. В 21 релизе Angular команда разработчиков представила экспериментальное API для построения реактивных форм с помощью сигналов. В статье подробно его разберем. 

Тому, кто знаком с классическими Reactive Forms в Angular, новый Signal Forms API покажется эволюционным шагом: те же мощные возможности, но с сигналами — а значит, с автоматической реактивностью, полной типизацией и меньшим количеством шаблонного кода. 

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

Читать далее

Выбор стека для веб-сайта: обзор типов рендеринга — SSR, SSG, CSR и другие

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

В современном мире веб-разработки выбор стратегии рендеринга сайта является одним из ключевых решений, определяющих его производительность, оптимизацию для поисковых систем (SEO) и пользовательский опыт. От того, как и где генерируется HTML-код вашего приложения, зависит скорость загрузки, интерактивность и даже стоимость инфраструктуры. В этой статье мы подробно рассмотрим основные типы рендеринга — Client-Side Rendering (CSR), Server-Side Rendering (SSR), Static Site Generation (SSG), Incremental Static Regeneration (ISR) и набирающие популярность React Server Components (RSC) — их преимущества, недостатки, влияние на SEO и производительность, а также приведем примеры технологических стеков для каждого подхода.

Статья будет полезна для всех кто занимается разработкой сайта(вайбкодеры, веб-разработчки итп.)

Читать далее

Роль, контекст, данные: формула рабочего промпта для кода

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

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

Меня зовут Карлен, я Lead Fullstack разработчик в ITFB Group. Хочу поговорить о том, как превратить нейросеть из «игрушки» в настоящего компаньона, который усиливает ваши навыки 😎 Речь пойдет не об обзоре AI-инструментов (выбор оставим за вами), а об искусстве составления промптов — «разговорном интерфейсе» между вами и вашим digital-напарником.

Читать далее

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

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

Привет!

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

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

Медиа: Mastra Workspaces (свой «Claude Code»), Рич Харрис про RSC, безопасность фреймворков.

AI: безопасность агентов, пост-обучение LLM (Netflix), Brave Search API.

A11y: Axe MCP в DevTools, чеклист Shopify, role="presentation".

Браузеры: Interop 2026, WebMCP и ранний доступ в Chrome.

3D: 3D-труба на R3F, procedural snake на Three.js.

CSS: эластичный текст, pie chart, параллакс, пирамиды, вихрь, Ambient, освещение.

JS/TS: sql.js, Perspective BI, TS-дженерики.

React: State of React 2025, shadcn vs MUI, HighTable, FrankenTUI, Ant Design 6.3, оптимизация.

UX/UI: фоновые задачи, интерфейсы для агентов, семантические токены.

Тестирование: JIT Tests от Meta (тесты от LLM).

Разное: Electrobun, учебник математика/CS/AI, WarCraft 3 UI, npmx, Stockfish 18.

Читать
1
23 ...