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

JavaScript - habr.ru

RSS-материал Хабр
JavaScript – прототипно-ориентированный язык программирования
Обновлено: 33 минуты 1 секунда назад

Книга: «Искусство юнит-тестирования с примерами на JavaScript. 3-е межд. изд.»

Ср, 26/03/2025 - 11:15
Привет, Хаброжители!

Если вы хоть раз сталкивались с юнит-тестами, вы знаете, что это одновременно и благословение, и проклятие. С одной стороны, они помогают ловить баги на ранних этапах, с другой — могут превратиться в настоящий ад, если написаны неправильно. Книга «Искусство юнит-тестирования с примерами на JavaScript» от Роя Ошерова и Владимира Хорикова — это глубокий, практический и местами даже философский взгляд на то, как писать тесты, которые действительно работают, а не создают дополнительные проблемы. И в этой статье вы не только узнаете о самой книге, но и мнение о ней от научного редактора российского издания — Дмитрия Колфилда.
Читать дальше →
Категории: HTML, CSS, Javascript

Postman скрипт для обновления токена авторизации

Ср, 26/03/2025 - 10:16

Недавно по работе занимался тестирование очередного апи и столкнулся с таким неудобством, что все запросы требуют авторизации, а токен живёт всего 5 минут. Из-за этого приходилось постоянно делать запрос авторизации и обновлять токен вручную.

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

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

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

Итак исходное положение. Имеем некую коллекцию запросов в постмане и все креды для авторизации сохранённые в переменных.

У нас есть запрос Auth, который получает токен авторизации.

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

Мышление за пределами кода: почему я написал книгу, которой мне самому не хватало

Ср, 26/03/2025 - 06:15

Привет, меня зовут Андрей, и я написал книгу.

Нет, не о синтаксисе и не про очередной набор «лучших практик».
А о том, что часто остаётся за кадром — в рефлексии, в мыслях после проектов, в спорах между «пишем быстро» и «делаем правильно».

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

Создание простого хука для работы с формами в React на основе `zod`

Втр, 25/03/2025 - 22:21

Создание простого хука для работы с формами в React на основе zod

В этой статье мы реализуем удобный хук useForm, который минимизирует ререндеры и упрощает работу с формами в React, используя FormData для сбора данных и zod для валидации. Рассмотрим разницу между контролируемыми и неконтролируемыми компонентами.

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

Создание игры с помощью LLM более полугода назад и этой же игры теперь. Что изменилось?

Втр, 25/03/2025 - 13:34

И вот прошло 9 месяцев, модели стали значительно совершеннее, и качество написания кода улучшилось в разы, если не на порядок.

Тогда в своей статье «Кажется, LLM программирует лучше меня» я с изрядной долей самоиронии описал в подробностях пошагово написание кода игры «Шарики», Lenes (Color Lines).

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

Поэтому проведем такой же эксперимент с новейшей моделью такого же размера и попробуем на экспертном уровне оценить степень прогресса в данной области.

Что изменилось за это время?

Для тех, кто хочет сразу получить конечный ответ: в прошлый раз эта игра была создана за 15 шагов, теперь за 2 шага.

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

Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 2 — VueJS3 + Centrifugo с монетизацией приложения

Втр, 25/03/2025 - 05:09

В первой части мы построили бэкенд на FastAPI, Aiogram, Redis и Centrifugo, заложив основу для анонимного чата в Telegram. Теперь пришло время развернуть фронтенд и создать стильный и отзывчивый интерфейс с использованием VueJS 3 в формате Telegram MiniApp.

В этой статье мы:

Разработаем интерактивный UI с фильтрами поиска, анимациями загрузки и real-time чатом.
Настроим мгновенный обмен сообщениями через Centrifugo без лишних запросов к серверу.
Интегрируем монетизацию для заработка на рекламе в приложении.
Выполним деплой на удаленный сервер и подготовим проект к продакшену.

Если вы хотите создать быстрый, удобный и монетизируемый анонимный чат в Telegram, который работает без задержек и перезагрузок, — эта статья для вас!

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

[Перевод] 16 NPM-пакетов, о которых должен знать каждый Node.js-разработчик

Пнд, 24/03/2025 - 14:42

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

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

Типовой ES-модуль в TeqFW или «сборник вредных советов»

Пнд, 24/03/2025 - 10:04

Я ранее описал принципы, которыми руководствуюсь при разработке веб-приложений, а также требования, предъявляемые со стороны платформы TeqFW к JS-коду. В этой публикации я покажу, как выглядит код типового модуля платформы, где не используется статический импорт. Хочу сразу отметить, что кажущаяся сложность материалов обусловлена непривычностью представленных концепций. Наработанный опыт и инерция мышления — сильные вещи! Тем, кто имеет ограниченный опыт в JS-разработке, этот материал будет проще для восприятия, в то время как опытным разработчикам предстоит преодолеть барьер устоявшихся привычек. На мой взгляд, несмотря на то что "TypeScript — это суперсет JavaScript", самыми сложными концепции платформы станут именно для TS-разработчиков.

Ну, вот - я предупредил, дальнейшее чтение - на ваш страх и риск.

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

Что делать когда взяли на первую работу

Вс, 23/03/2025 - 16:25

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

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

Frontend-архитектура, которая работает: как я строю Vue-приложения с минимумом сложностей

Вс, 23/03/2025 - 12:00

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

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

Разобраться в архитектуре
Категории: HTML, CSS, Javascript

Классическая жизнь фронтенд-приложений и их сопровождение

Сб, 22/03/2025 - 13:16

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

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

Готовим геотаргетинг на nginx + GeoIP2 и связываем с локализацией в Next.js

Сб, 22/03/2025 - 08:24

В этой статье поделюсь быстрым способом настройки геотаргетинга на nginx + GeoIP2 в связке с локализацией Next.js на примере решения реальной задачи.

Вы узнаете как подключить и настроить GeoIP2 к nginx, как приоритизировать и настроить критерии выбора домена и локали, и как подружить это с Next.js

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

Зачем изучать создание сайтов и что для этого нужно знать

Сб, 22/03/2025 - 07:15

Начнем с того, что в настоящее время огромное количество (а если точнее, то 5,5 миллиарда за 2024 год) пользователей по всему Интернету регулярно посещают различные сайты и веб‑страницы в поисках нужной им информации. И Вы в том числе.

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

А какой же плюс для нас? Как любому бизнесу нужен свой сайт, так сильно им нужны и разработчики этих сайтов, которые будут создавать их с самого начала, поддерживать их работу, добавлять новый функционал и оптимизировать старый. Отсюда мы переходим к одной из самых популярных сфер программирования — Frontend разработка.

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

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

Cohere Command — революция, которую мы пропустили

Пт, 21/03/2025 - 16:56

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

Облачный LLM провайдер Cohere предоставляет бесплатно 20 запросов в минуту без проверки кредитной карты. Я просто не смог отказаться от задумки сделать веселую карусель.

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

Как MobX делает объекты реактивными с помощью Proxy

Пт, 21/03/2025 - 11:59

Привет! На связи снова Дмитрий — React-разработчик, который стремится разобраться, как всё устроено, и делится информацией с вами.

В прошлой статье мы подробно разобрали, что такое Proxy и как он работает, поэтому повторяться не будем. Сегодня поговорим о том, как MobX использует Proxy, создавая свою "реактивную магию".

Как MobX делает объекты реактивными?

MobX превращает обычные объекты JavaScript в реактивные, что позволяет автоматически отслеживать изменения их свойств и обновлять зависимости. В основе этого механизма лежат два ключевых инструмента: makeAutoObservable и observable. 

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

[Перевод] Пошагово создаём QR-код

Пт, 21/03/2025 - 10:17
В этой статье (оригинал представляет собой интерактивное приложение на JavaScript) подробно описывается, как текстовая строка кодируется в символ QR-кода. Она, по сути, объясняет, как устроена внутри моя библиотека генератора QR-кодов.

Пользовательский ввод


Результат генерации QR-кода

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

signals в качестве альтернативы useState в React

Пт, 21/03/2025 - 08:25

Привет, хабр! Больше года назад я впервые узнал про сигналы, а три месяца назад @Sin9k записал видео на эту тему. И поскольку сигналы по-прежнему обходят стороной, попробую немного исправить ситуацию)

В материале будет использоваться обёртка signals-react, так как изначально рассматриваемая библиотека написана под Preact.

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

Почему TeqFW использует только ES-модули?

Пт, 21/03/2025 - 06:43

Ни у кого не получится показать другому то, что тот не хочет или не может увидеть. Объяснять и показывать нужно только тем, кто а) может понять, б) хочет понять. В этой публикации я демонстрирую пару своих документов для LLM, которые предписывают "силиконовым", какими правилами им следует руководствоваться при создании кода для моей платформы. "Силиконовым" можно впаривать любую дичь - они всеядные (могут понять) и покладистые (согласны понять). За это мы их и любим!

Кому интересно, что за инструкции - прошу под кат. Кто хочет сразу получить ответ на вопрос в заголовке - могут задать его (и множество других) соответствующему преднастроенному GPT-чату. Кто не хочет ни того, ни другого - в вашей ленте есть ещё куча других, более интересных публикаций.

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

От идеи до деплоя: как поднять приложение на Cloudflare Workers

Чт, 20/03/2025 - 21:25

В предыдущей статье мы обсудили плюсы и минусы использования воркеров для cloud-native разработки. Сегодня же мы настроим и задеплоим полноценное приложение с фронтом, бэком, базой данных, горизонтальным мастшабированием, http/3, капчей и бесплатным поддоменом менее, чем за час.

Итоговый результат можно увидеть тут (только через VPN).

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

Оркестрация чатов LLM моделей через Redis

Чт, 20/03/2025 - 18:01

???? Оркестрация чатов LLM через Redis

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

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

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

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