Обновить
512K+

JavaScript *

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

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

Год с React Hook Form и Zod: меньше кода, но не без нюансов

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

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

Читать далее

108 окон: как команда без разработчиков и бюджета построила Интерактивный дом-таймлайн про ТВ 90-х

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

Мы сделали интерактивный дом-таймлайн про телевидение 90-х и 00-х. Под катом: как команда без разработчиков дошла от JSON-файла на VPS за до корпоративного Kubernetes

Читать

Почему JS/TS — не функциональный язык (и почему это важно понимать)

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

Мотивацией для написания этого поста стали два года собеседований JS/TS-инженеров. Я интересуюсь языками и функциональным программированием, поэтому всегда «разбавлял» технические вопросы разговором о парадигмах. И заметил любопытную асимметрию.

Об ООП кандидаты рассуждали уверенно — но в основном на концептуальном уровне, не вдаваясь в то, как именно ООП реализовано в JavaScript. С FP картина была другой: уверенности меньше, зато критика — конкретная и повторяющаяся: «иммутабельность дорогая по памяти», «рекурсия небезопасна из-за стека». Что характерно — эти аргументы почти всегда были сформулированы через опыт работы с JS, а не с Haskell, Clojure или Scala.

Это важная деталь. Любая парадигма существует на двух уровнях: концептуальном (идеальная модель) и имплементационном (как конкретный язык эту модель выражает). Судить о FP по JS — примерно то же самое, что судить об ООП по bash-скриптам с глобальными переменными.

Параллельно я регулярно слышал, что JS — функциональный язык. Аргументы варьировались от «там есть .map()» до рассуждений о чистых функциях и каррировании. Именно это и стало поводом для поста: я хочу объяснить, что я считаю функциональным языком — и почему JS таковым не является. Не перечислить отсутствующие фичи, а показать, почему их нет и что это значит в реальном рантайме.

Читать далее

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

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

Привет!

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

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

📺 Для тех, кто хочет делать игровые интерфейсы быстрее: видео про 2D-игры с AI и Phaser, где генеративные инструменты работают как напарник, а не как «чёрный ящик».

🤖 В AI-разделе — разбор того, что уже можно брать в прод: micro-ml на Rust/WASM, кейс крупной техкомпании с роем из 50+ агентов, Flint Alpha и практическая интеграция Claude с видео.

🛡️ По безопасности фокус на снижении рисков: прикладной XSS, бесплатная оценка уязвимостей кода от GitHub и дорожная карта крупной техкомпании по постквантовой криптографии.

🎨 CSS-блок про баланс визуала и доступности: почему box-shadow не заменяет outline в forced-colors и как сохранить корректный фокус.

⚛️ React-секция для тех, у кого интерфейсный слой растёт в сложности: управление модалками без хаоса, UI без брейкпоинтов и состояние компонентов через radio state machine.

⚡ В JS/TS — практичный набор без перегруза: Pretext для текста, k-means для палитр, модульная архитектура, Intl API и Web Audio API в Node/Bun.

🅰️ Angular-раздел посвящён Signal Forms в v21 и тому, как перейти к типизированным формам без ручных подписок.

🌐 В стандартах и дизайне — что уже можно внедрять сейчас: CSS Image Animation, Baseline за март, Liquid UI и UX-подходы для legacy-систем.

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

Читать далее

Как я тестировал локально новый Qwen 3.6 и Gemma 4

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

Всем привет
! Текст полностью написан человеком !

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

Оборудование на котором тестировал (Ноутбук Asus TUF AMD Ryzen + дискретная Nvidia rtx 4070 8GB):

Читать далее

Безошибочная работа с Kafka из Node js. Часть 2 Консьюмер

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

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

Читать далее

Axios и проблема зависимостей

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

Как взлом одного npm-аккаунта за 3 часа распространил RAT на 174 000 пакетов и почему стандартные инструменты вроде NPM Audit это не поймали. Разбираем инцидент с Axios: механику атаки, слепые пятна в CI/CD и то, что реально работает.

Читать далее

Я потратил 10 лет на создание легкого PHP фреймворка для разработки WEB-приложений

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

Привет, All!

Как вам идея, отказаться от тегов вообще и делать WEB-проекты исключительно на классах? А еще, чтобы и клиентский, и серверный коды шли рядом, как в десктопном приложении.И чтобы с одними и теми же переменными можно было работать и в PHP, и в JavaScript.

«Зачем?» — сапросит кто‑то. Отвечу: чтобы можно было строить не DOM‑элементы, а объекты предметной области бизнес‑процессов, которые автоматизирует мое приложение. И чтобы не тратить время на разные async, promise, ajax и так далее, пусть за это отвечает фреймворк!

Я говорю примерно вот о таком построении WEB-приложения:

Читать далее

Почему ваш бандл тяжелее чем должен быть — тестирую tree shaking на 7 бандлерах

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

Вы уверены, что ваш бандлер вырезает неиспользуемый код? Я тоже был уверен — пока бандл Next.js проекта не оказался в два раза тяжелее, чем нужно. Прогнал одинаковый тест на webpack, rollup, vite, esbuild и Next.js — 5 из 7 ломаются на банальном barrel файле. Полез в исходники, нашёл основную причину — и она оказалась не там, где ожидал.

Читать далее

Пишем свой текстовый 3D движок в браузере

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

Сразу скажу: это перевод моей же статьи на Medium, но с небольшими дополнениями и более практичным разбором реализации.

Читать далее

Упрощаем работу с рутиной или как стать Гендальфом Белым

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

Надеюсь, все смотрели «Властелин колец»: там был харизматичный волшебник Гэндальф. В начале фильма (и книги) к его имени добавляли «Серый», а затем его стали величать «Белым». Так вот, это обозначение его ранга в иерархии магов. Можно уже открыть форточку для проветривания. Чтобы поменять статус, требуется преодолеть нечеловеческие испытания и обрести просветление. Так и в IT: пройдя все невзгоды, ты становишься сеньором. А сегодня я постараюсь облегчить вам этот путь.

Читать далее

Разработка нового статического анализатора: PVS-Studio JavaScript

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

Вот уже 18 лет статический анализатор кода PVS-Studio находится на рынке. За это время он обзавёлся поддержкой языков C, C++, C# и Java. Разумеется, останавливаться на этих языках мы не планируем, и в этой статье расскажем про разработку нового JavaScript/TypeScript анализатора, который выйдет уже совсем скоро.

Читать далее

Как правильно реализовать кнопку «Назад» во Vue: просто о сложном

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

Сегодня разберём тему, которая кажется элементарной, но на практике вызывает кучу вопросов. Речь о кнопке «Назад» в приложении на Vue.

Казалось бы, что тут сложного? Кликнули - ушли на предыдущую страницу. Но нет. Большинство разработчиков, даже с опытом, не до конца понимают, как устроена навигация в роутерах и как работает история браузера. А это критично, когда речь заходит о предсказуемом поведении приложения.

Читать далее

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

WebGPU, библиотека Orillusion и кастомные шейдеры: как я создавал 4D Тессеракт

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

Orillusion + кастомные шейдеры: полный разбор процесса

Как зарегистрировать WGSL-шейдер, связать его с геометрией, настроить атрибуты и добиться анимации. Разбираем compute-шейдеры для GPU-вычислений и инстансинг на примере пяти вращающихся 4D-тессерактов. Если вам интересно то код и небольшие пояснения ниже.

Читать далее

Предварительная загрузка изображений с помощью JavaScript

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

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

Читать далее

Формы в Angular: от Reactive Forms к Signal Forms

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

Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик.

В прошлой статье мы познакомились с новыми функциями input(), output() и model(), которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами.

В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms. Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.

Читать далее

Как я сделал PWA-приложение для заметок и ссылок за вечер (и почему оно работает без интернета)

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

У каждого из нас есть «чёрная дыра», куда уходят полезные ссылки. Кто-то сохраняет их в «Избранном» браузера, кто-то пишет сам себе в Telegram, кто-то держит десяток вкладок открытыми «на потом». У меня была та же проблема. Я пробовал Notion, Evernote, Google Keep, Obsidian - всё это мощные инструменты, но для простого «сохранить ссылку и не забыть» они часто избыточны.

Так родилась идея KylikLink - минималистичного PWA-приложения для заметок и ссылок, которое работает без интернета и не требует регистрации.

Читать далее

Вышел Playwright 1.59: как тестировщикам с пользой применить каждую новую фичу

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

Playwright 1.59 — не очередное инкрементальное обновление. Это заявка на то, куда движется автоматизация тестирования, и это направление глубоко агентное. Если вы ждали, когда инструменты догонят AI-driven воркфлоу, о которых все говорят, этот релиз закрывает разрыв.

Разберём каждую крупную фичу и, что важнее, как каждую из них можно применить немедленно.

Читать далее

Как я написал свою библиотеку валидации схем и создал свою альтернативу Zod

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

Несколько лет назад в одном из моих проектов на чистом JavaScript возникла задача: валидировать большие вложенные объекты со сложной структурой. Объекты содержали различные подобъекты, к каждому из которых применялись свои правила валидации в зависимости от типа.

Задача усложнялась двумя дополнительными требованиями:

Читать далее

Создаем WCAG-доступный DatePicker на React: как Claude пишет основу, а мы доводим до ума

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

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

Недавно нам для одного из проектов понадобился DatePicker. Сам компонент под NDA, поэтому показать его не можем. Но чтобы поделиться процессом, мы специально для статьи собрали похожий концепт - с открытым кодом и возможностью потыкать вживую (ссылка ждет в конце).

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

Так началось наше приключение с созданием полностью доступного компонента выбора даты с использованием React и Typescript, следуя строгому паттерну WAI-ARIA APG «Date Picker Dialog»

Приготовьтесь к инсайтам, багам и победам!

Читать далее