Обновить
512K+

JavaScript *

Прототипно-ориентированный язык программирования

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

Stitches закрыт — да здравствует StyleX

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

История фронтенда хорошо показывает, что инструменты редко исчезают мгновенно. Чаще они проходят понятный цикл: сначала решают конкретную проблему и быстро набирают популярность, потом становятся привычной частью стека, а со временем уступают место следующему подходу. Примерно так развивается и CSS-in-JS. Когда он появился, это выглядело логичным шагом: стили рядом с компонентами, темы, токены и удобная интеграция с React. Со временем стало ясно, что у этой модели есть и ограничения — стили генерируются в рантайме, усложняется SSR, а в больших приложениях начинают накапливаться накладные расходы. Появились попытки сделать CSS-in-JS легче и быстрее. Одной из них стал Stitches: он сохранил удобный DX и заметно сократил рантайм. Но развитие проекта остановилось, а требования к фронтенду продолжают расти. Поэтому всё чаще обсуждают другой подход — перенос генерации стилей на этап сборки. В этой логике и появился StyleX.

Читать далее

Поколение JSON: цена удобных абстракций и упадок культуры ресурсов

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

В 1988 году бортовой компьютер с памятью 128 КБ посадил космический корабль в шторм. Сегодня ваш смартфон с многоядерным процессором заикается при скролле списка контактов. Мы привыкли думать, что данные невесомы, а JSON – это «просто текст». В этой статье мы препарируем один обычный fetch-запрос и посчитаем его реальную цену: в байтах, миллисекундах и скрытых архитектурных издержках. Разберемся, почему мы стали «поколением JSON» и как вернуть себе инженерную осознанность в эпоху избыточности.

Читать далее

Time-Travel Debugging: почему Ctrl+Z это только начало

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

Time-travel debugging — это возможность сохранять снимки состояния приложения и перемещаться между ними. Традиционно он ассоциируется с инструментами отладки, такими как Redux DevTools. Однако пользователи современных приложений (Figma, Google Docs, VS Code) ожидают функциональности по перемещению между состояниями и от форм и веб-приложений.

Эта статья делится на две части:

Теория (Часть 1): Универсальные паттерны и концепции, которые останутся актуальны независимо от используемых библиотек.

Практика (Часть 2): Туториал по реализации пользовательского time-travel с использованием Nexus State.

Читать далее

Когда curl перестаёт работать: многоуровневый детект ботов и где в этой схеме живёт облачный браузер

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

Эта статья не о том, что Puppeteer плохой инструмент. Puppeteer — отличный. И грамотный TLS-фингерпринтинг вынесет большинство защит. Но есть класс задач, где даже идеальный сетевой стек не спасает — потому что детект давно приземлился на уровень поведения рендеринг-движка. Разберём, как Cloudflare и Akamai палят вас через WebGL и Canvas, и почему "чистый" код больше не работает.

Вскрываем антифрод

Инвалидация nginx кэша

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

Высоконагруженная система. Несколько миллионов страниц. Много сервисов, много данных. Имеются кэши разного уровня. Возникла идея сделать полный html кэш страницы. Достаем с полки nginx, ставим перед системой, включаем кэширование запросов. Работает. Но как быть, если данные изменяются? Надо сбрасывать кэш.

Читать далее

GridKit Enhanced: Enterprise-функции для TanStack Table

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

Все любят TanStack Table. Она гибкая, headless, даёт полный контроль над рендерингом.

Но в какой-то момент приходят требования от бизнеса:

«Давайте добавим аудит всех изменений для compliance»

«А можно логировать, как часто меняют сортировку?»

«Нужен экспорт в Excel для пользователей»

«Почему таблица тормозит на 10 000 строк?»

«Отслеживайте действия пользователей для аналитики»

И разработчик понимает: TanStack — отличный инструмент, но для enterprise-функций нужно написать кучу обвязки:

Event-система (вместо бесконечных useEffect)

Performance monitoring (метрики, алерты)

Validation (схема, проверка, исправление)

Plugin-менеджер (аудит, аналитика, экспорт)

Это 3-4 недели работы.

Читать далее

Визуальный инспектор аудиографов на Web Audio API: мотивация создания, детали реализации и размышления о стандарте

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

Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик и создатель Web Audio Studio — браузерного инструмента для визуализации и исследования аудиографов на Web Audio API. В этой статье я хочу поделиться историей разработки этого проекта, техническими деталями и особо интересными инженерными вызовами, с которыми я столкнулся в процессе его создания. Кроме того, я выскажу свои мысли о Web Audio API, о том, почему этот стандарт недооценен у веб-разработчиков и что с этим можно сделать (спойлер: во многом ему не хватает хорошего инструментария для разработки и отладки).

Читать далее

Vue DnD Kit v2: революция в мире Drag N Drop для Vue.js

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

Vue DnD Kit v2: headless drag-and-drop с composable API — делай что хочешь, как хочешь

Если вы когда-нибудь пробовали сделать drag-and-drop на Vue по-настоящему гибким — с кастомным overlay, вложенными зонами, multi-drag и анимацией при отпускании — вы знаете, что большинство библиотек держат вас в клетке. Vue DnD Kit v2 эту клетку сломал.

И вам это понравится!)

Читать далее

Закурсорить мечту. Часть 1: А стоит ли пробовать?

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

Если кто-то из вас мечтает создать свой продукт, но не может решиться, копит бюджет или ищет инвесторов, этот цикл может изменить вашу жизнь.

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

Читать дальше →

Wish-лист на 8 марта по книге «Пять языков любви» или как автоматизировать романтику

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

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

Я прочитал книгу Гэри Чепмена «Пять языков любви», поймал пару инсайтов и за 5 вечеров написал сервис-переводчик для пар. Внутри: Flask, Vanilla JS (да, в 2025 году, и я объясню почему), DeepSeek API для генерации карточек в стиле «Love is…» и алгоритм матчинга, который понимает мою жену лучше, чем я за 10 лет брака. Под катом — история о том, как код помогает чинить баги в коммуникации.

Читать далее

Хоткеи, которые я реально использую каждый день — справочник за 10 лет разработки

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

Мышечная память не ждёт ответа от API и работает без интернета. Собрал справочник шорткатов, которые реально прижились за 10 лет: WebStorm, Chrome, терминал, alt-коды для таблиц и файловых деревьев. Осознанно олдскульный формат — статья в закладки.

Читать далее

Обновления GigaIDE за февраль 2026

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

Вот и закончился февраль, за который в GigaIDE появилось ещё больше полезного. Ниже — краткий обзор обновлений PRO-функциональности GigaIDE, которую можно найти в нашем маркетплейсе. Обзор инкремента за январь доступен по ссылке.

Читать далее

Обучаем нейросеть онлайн

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

Небольшая статья о том как я под впечатлением статьи с Хабра "Возможно, самый гениальный код на python на сегодня: разбираем 200-строчный microgpt от Андрея Карпаты" решил проверить все это на практике, и перенес код при помощи нейросети в онлайн формат.

Читать далее

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

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

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

Привет!

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

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

Читать

Обманываем систему мониторинга Discord-серверов: self-bot + LLM против капчи

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

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

Да смоооожем

Одна формула, позволяющая понять 3D-графику

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

Учась в школе, я обнаружил очень простую математическую формулу, о которой не перестаю думать и сегодня. Смысл её в следующем: представьте, что у вас есть 3D-точка в воображаемом 3D-пространстве за экраном. Для проецирования этой 3D-точки на экран нужно взять её координату X, поделённую на Z, и аналогично её Y / Z. И в результате вы получите проекцию точки на экран: x'=\frac{x}{z} и y'=\frac{y}{z}. А если у вас есть множество точек в этом 3D-пространстве за экраном, и вы начнёте их анимировать и вращать их, а потом воспользуетесь этой формулой для рендеринга всех точек на экране, то это будет выглядеть, как 3D-сцена или 3D-объект. Давайте попробуем эту формулу в деле.

Читать далее

Бизнес-логика первична, микросервисы — вторичны

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

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

Но есть более фундаментальный вопрос - кто в системе определяет правила игры?

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

- часть проверок живeт во фронтенде

- часть - в API,

- часть - в промежуточных сервисах

- часть — во временных проверках, добавленных после инцидентов

Добавили новый сервис в цепочку - и изменилось поведение.

Вынесли проверку в отдельный процессинг - и появились состояние гонки.

Перестроили оркестрацию - и неожиданно стала недоступной операция, которая раньше работала.

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

Для финтеха это особенно критично. Допустимость действия - это не просто проверка прав. Это функция состояния процесса, версии правил, контекста операции и регуляторных ограничений. Если эта допустимость зависит от связности сервисов или порядка их вызова, система становится хрупкой и уязвимой, и тогда, начинается разговор о подходе, в котором бизнес-логика централизуется, версионируется и становится инвариантной к физической архитектуре.

Мы отвлекаем существенные ресурсы в поисках решения для проблем.

Читать далее

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

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

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

Для проекта я буду использовать нашу подготовленную ИИ-базу — шаблон проекта с инструкциями-промптами для искусственного интеллекта. В статье расскажу, насколько это было сложно, где агенты ошибались самостоятельно, а где — из-за меня. 

Короче, если хотите начать оптимизировать работу в CRM через кастомные приложения и посмотреть, с чего начинать и что бывает в результате — вам сюда. 

Читать далее

Tailwind CSS v4 против MUI, Ant Design и Styled Components: архитектурный разбор

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

В 2026 году выбор инструмента для стилизации — это не вопрос вкуса, а вопрос архитектуры. Мы разберём, где Tailwind CSS v4 выигрывает у признанных лидеров: компонентных библиотек (MUI, Ant Design) и CSS-in-JS решений (Styled Components).

Читать далее

Скам для айтишников. Вредоносные репозитории в процессе найма

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

Недавно, в одной из соцсетей, наткнулся на короткий пост, в котором автор написал:

«СКАМИНА ДЛЯ АЙТИШНИКОВ
Выглядит так —
Приглашают на интервью, в конце говорят, что вот проект, с которым нужно будет работать, и кидают ссылку на GitHub.
Говорят: склонируй, расскажу, что там по архитектуре.
Ну и если склонировать, там внутри таски для VS Code, которые качают и запускают обфусцированный код.
Берегите себя.»

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

Давайте разберемся, как это работает.

Читать далее