IT Kniga
Интернет-магазин компьютерной литературы

HTML, CSS, Javascript

Чего ждать от Angular в 2025 году? Стратегия

JavaScript - habr.ru - Пнд, 03/02/2025 - 04:15

Привет! Меня зовут Андрей, я занимаюсь фронтенд разработкой на Angular. И в последнее время данный фреймворк нравится мне все больше и больше, поэтому мне стало очень интересно, что же ждет Angular в 2025 году. Какие интересные и полезные фичи завезут и вообще, какой вектор развития у фреймворка.

Не найдя ни одной статьи на русском на это тему - родилась эта :-)

Я разобрал официальную дорожную карту Angular и их стратегию на ближайшие годы. Впереди ускорение, упрощение, новая реактивность и стабильная (возможно) жизнь без zone.js. Давай разбираться, что нас ждёт!

Читать далее
Категории: HTML, CSS, Javascript

Многопользовательский рой агентов для Ollama

JavaScript - habr.ru - Сб, 01/02/2025 - 18:46

???? Многопользовательский рой агентов для Ollama

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

Читать далее
Категории: HTML, CSS, Javascript

Как из каши импортов сделать сортированный список Frontend

JavaScript - habr.ru - Сб, 01/02/2025 - 16:21

Всем привет! Меня зовут Владимир и работаю джуниор фронтенд разработчиком в одной из лучших компаний :-)

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

Читать далее
Категории: HTML, CSS, Javascript

JavaScript. Готовимся к live-coding

JavaScript - habr.ru - Сб, 01/02/2025 - 10:48

Всем привет! Сейчас без live-coding'a никуда: на собеседованиях часто дают одну-две задачки, которые нужно решить за определённое время. Сами задачи могут быть несложными (не супер-пупер алгоритмическими), но новички могут переволноваться и не справиться с ними.

Поэтому в этой статье я хотел бы описать типовые задачи, которые встречаются в этой секции на позицию frontend или backend разработчика (если бэк на JS). Это поможет вам получить общее представление о том, что может ждать вас.

Читать далее
Категории: HTML, CSS, Javascript

«Я делаю рефакторинг ежечасно» или как за пять минут улучшить приложение

JavaScript - habr.ru - Чт, 30/01/2025 - 11:00

История этой статьи началась с того, что я вспомнил о довольно известном высказывании Мартина Фаулера, автора книг и статей по архитектуре ПО, которое нередко вызывает недопонимание (во всяком случае так было у меня) — «Я делаю рефакторинг ежечасно». Первая мысль, которая логично возникает после этого высказывания — уважаемый публицист просто лукавит. Вторая — что, наверное, кроме рефакторинга он в своей жизни ничем больше не занимается. Но так ли это?

В очередной раз с вами Костя Логиновских, ведущий разработчик и технический лидер внутреннего проекта в Cloud.ru. В этой статье предлагаю во всём разобраться и обсудить, как можно делать рефакторинг «за пять минут» и улучшить приложение буквально за утренним кофе.

Читать далее
Категории: HTML, CSS, Javascript

Безопасное взаимодействие с API: от ошибок к стабильности

JavaScript - habr.ru - Чт, 30/01/2025 - 08:10

Каждый frontend-разработчик сталкивался с ошибкой вида TypeError: Cannot read property 'name' of undefined. Это часть целого класса ошибок в JavaScript, возникающих из-за несоответствия фактического формата данных ожидаемому. В этой статье расскажу, как избавиться от подобных проблем и добиться стабильности, внедрив три ключевых шага: API-слой, Backend-for-Frontend (BFF) и проверку с помощью Zod.

Читать далее
Категории: HTML, CSS, Javascript

[Перевод] Компилятор WebAssembly, который помещается в один твит

JavaScript - habr.ru - Ср, 29/01/2025 - 13:01

▍ Введение
Наш первый «компилятор WebAssembly в твите» имел длину 269 байт; с тех пор мы смогли снизить её всего до 192 байтов.

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

let c=(b,l)=>WebAssembly.instantiate(new Int8Array( [,97,115,109,1,,,,1,5,1,96,,1,127,3,2,1,,7,4,1,,,,10, l=(b=b.split` `.flatMap(t=>t>-1?[65,t]:107+'-*/'.indexOf(t))) .length+4,1,l-2,,...b,11]))
А вот пример его использования:

(await c('11 11 1 - + 4 * 2 /')).instance.exports['']()
Но это не просто хитрый трюк — если вы начнёте разбираться, как работает этот код, то на удивление много узнаете о WebAssembly! В этом посте мы объясним, как это всё работает, пошагово деобфусцируя код. Читать дальше →
Категории: HTML, CSS, Javascript

Обработка ошибок Axios

JavaScript - habr.ru - Ср, 29/01/2025 - 11:15

Привет, Хабр, меня зовут Алёна, я senior фронтент-разработчик в отдела разработки ПО для розничного бизнеса в Райффайзенбанке. Недавно наша команда решила улучшить пользовательский опыт обработки ошибок запроса к бекенду и я решила комплексно исследовать эту тему и собрать воедино все лучшие практики.

Начтем с того, что при обработке ошибок Axios запросов существуют 4 ситуации, которые необходимо по-разному интерпретировать.

Читать далее
Категории: HTML, CSS, Javascript

[Перевод] Две строки CSS, которые снизили производительность со 120 до 40 FPS

JavaScript - habr.ru - Ср, 29/01/2025 - 10:18

FPS расшифровывается как «кадры в секунду» (Frames Per Second) и означает измерение того, сколько кадров, или изображений, отображается на экране за одну секунду. Для frontend-разработчика эта метрика позволяет понять насколько интерфейс плавно и четко работает.

Читать далее
Категории: HTML, CSS, Javascript

[Перевод] Две строки CSS, которые снизили производительность со 120 до 40 FPS

FPS расшифровывается как «кадры в секунду» (Frames Per Second) и означает измерение того, сколько кадров, или изображений, отображается на экране за одну секунду. Для frontend-разработчика эта метрика позволяет понять насколько интерфейс плавно и четко работает.

Читать далее
Категории: HTML, CSS, Javascript

Введение в фикстуры Playwright

JavaScript - habr.ru - Ср, 29/01/2025 - 07:00

Привет! Я Даниил, занимаюсь разработкой на Angular в T-Банке и хочу поделиться с вами опытом использования фикстур в Playwright. Я решил поговорить об этом, потому что вместе с ростом функциональности проектов растут и сложности при тестировании, а фикстуры предоставляют удобный способ избавиться от дублирующегося кода и сложных моков.

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

Читать далее
Категории: HTML, CSS, Javascript

[Перевод] Новые возможности ECMAScript — атрибуты импорта и модификаторы шаблона регулярного выражения

JavaScript - habr.ru - Пнд, 27/01/2025 - 12:05



Атрибуты импорта

Фича ECMAScript "Атрибуты импорта" (import attributes) позволяет импортировать артефакты, отличающиеся от модулей JavaScript. В этом разделе мы рассмотрим, как это выглядит и почему может быть полезным.


Атрибуты импорта достигли 4 стадии в октябре 2024 года и, вероятно, станут частью ECMAScript 2025.

Читать дальше →
Категории: HTML, CSS, Javascript

Callback рефы в React: что это такое и где можно применять

JavaScript - habr.ru - Вс, 26/01/2025 - 19:00

При разработке у нас зачастую возникает необходимость прямого взаимодействия с DOM-элементами. Для такого случая React предоставляет нам механизм рефов (refs), который позволяет получать доступ к элементам после того, как они зарендерятся. Чаще всего используются обычные объектные рефы через useRef (обзовём их так), но также существует другой подход — callback refs. Этот метод даёт нам дополнительную гибкость и контроль над жизненным циклом элементов, позволяя выполнять необходимые нам специфические действия в точные моменты привязки и отвязки элементов. В этой статье я хочу объяснить, что такое callback refs, как они работают, показать проблемы при их использовании и примеры их использования.

Читать далее
Категории: HTML, CSS, Javascript

Зачем нужен шаблон Render props в React?

JavaScript - habr.ru - Вс, 26/01/2025 - 15:37

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

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

Читать далее
Категории: HTML, CSS, Javascript

По мотивам windows заставки «Ленты». Кроссплатформенный скринсейвер на JS и Electron

JavaScript - habr.ru - Сб, 25/01/2025 - 16:30

Со времен появления скринсейвера «Ленты» (ориг. «Ribbons») на Windows 7, эта заставка была стандартом для всех моих рабочих мест, благо в новых версиях Windows (8, 10, 11) эта заставка остается и по сей день. Однако с момента «импортозамещения» десктопной Windows на десктопную Linux, особенно актуального с 2022 года, хотелось получить эту или хотя бы похожую заставку и на этой свобоной платформе. Но вот незадача — нормальный порт найти мне не удалось. Может, конечно, плохо искал (скиньте ссылку в комментариях, если кто‑то нашел что‑то работоспособное).

И тут на просторах github очень удачно нашелся вот этот репозиторий. Автор в canvas с использованием JS наваял на мой взгляд очень даже симпатичную анимацию по мотивам того самого скринсейвера «Ленты».

Причем он в README отметил, что пытался сделать из этой анимации PWA (Progressive Web App), но почему‑то у него ничего из этого не вышло, читай «failed». Вопрос, почему человек, наваявший такой годный «генератор лент», не смог в PWA, оставим за скобками.
А тут как раз я, начавший недавно по служебной необходимости, изучать всем известный фреймворк Electron для создания кроссплатформенных настольных web‑приложений... Чем не альтернатива PWA?

Причина написания сего опуса как и прежде — поделиться чем‑то, что делал для себя и ближайшего окружения, с теми, кому это может быть интересно.

Читать далее
Категории: HTML, CSS, Javascript

Веб-приложения будущего: что нужно знать о WebAssembly

JavaScript - habr.ru - Сб, 25/01/2025 - 12:32


Часто при разговоре о веб-разработке на ум приходят JavaScript и различные фреймворки. Но что, если бы веб-приложения могли запускаться с той же производительностью, что и нативные, а разработчики могли бы писать их на Rust, C++ или Go? Вот тут-то на сцену и выходит WebAssembly (Wasm) — инструмент, который позволяет взглянуть на веб-разработку иначе. Он открывает возможности для выполнения сложных вычислений, запуска игр, виртуальных машин и приложений для анализа данных прямо в браузере. Все это — с высокой производительностью и кроссплатформенностью, от настольных компьютеров до мобильных устройств.

В этой статье разберемся, как работает WebAssembly, чем он привлекает разработчиков и какие проблемы решает. Вы узнаете, почему его активно поддерживают такие компании, как Google, Unity и Unreal Engine, и какие перспективы открывает Wasm для будущего веб-разработки. Подробности под катом! Читать дальше →
Категории: HTML, CSS, Javascript

[Перевод] Чем отличается мой Type Predicate Generator?

JavaScript - habr.ru - Пт, 24/01/2025 - 22:51

Кратко: это максимально безопасный по типизации инструмент, генерирует статические файлы с кодом для максимальной совместимости, быстрый благодаря предварительной компиляции (AOT) и компактный. Также он предоставляет удобный генератор модульных тестов, чтобы можно было быть почти на 100% уверенным, что создаваемые предикаты работают, как ожидается.

Этот пост предлагает детальное сравнение Generator с другими инструментами для проверки типов во время выполнения, а также дает более широкий обзор смежных тем. Со временем пост постепенно превращается в более аналитическую статью, а не просто «мой X круче, чем ваш Y».

Погрузиться
Категории: HTML, CSS, Javascript

Как и для чего мы делали симуляцию курьерской доставки

JavaScript - habr.ru - Пт, 24/01/2025 - 12:46

С самого начала разработки курьерки мы генерировали много идей по улучшению алгоритмов. Мы не стеснялись выкатывать кучу фичей и проверять их работоспособность А/Б тестами. Не было ни дня, когда у нас не крутились эксперименты в продакшене. Что-то мы выкидывали, что-то оставляли, но не хардкодили, чтобы иметь гибкость. Страна большая и у каждого региона свои особенности, которые влияют на плотность заказов, логистику и потребность в курьерах. Поэтому наборы фичей и их значения различаются. Мы поняли, как отдельная фича влияет на продуктовые метрики, но как набор фичей в совокупности влияет на итоговый результат?

Запускать А/Б тесты для каждого набора фичей слишком долго и затратно, ведь команде надо создавать и тестировать новые фичи. Но найти наилучшие комбинации фичей для разных регионов и городов быстро с наименьшими затратами ресурсов команды — было жизненно необходимо. Поэтому мы создали копию реального мира, чтобы внутри неё пробовать самые смелые идеи.

Читать далее
Категории: HTML, CSS, Javascript

Пишем идеальную mobile-first галерею

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

Читать далее
Категории: HTML, CSS, Javascript

Пишем идеальную mobile-first галерею

JavaScript - habr.ru - Пт, 24/01/2025 - 11:44

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

Читать далее
Категории: HTML, CSS, Javascript

Большая распродажа компьютерной литературы

Полный список здесь

RSS-материал