Category : javascript

javascript
Как мы «усложнили жизнь» автотестам и повысили качество тестирования

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

  • вторник, 3 февраля 2026 г. в 00:00:05
javascript
Замыкание в JavaScript — зачем функциям личное пространство

Привет, меня зовут Саша, и я продолжаю рассказывать о JavaScript тем, кто только взялся за освоение этого языка. В разработке нам постоянно нужны «умные», самостоятельные функции: счетчики, которые знают свое предыдущее значение, обработчики событий с индивидуальными настройками, механизмы для защиты данных. Чтобы не городить глобальные переменные и не писать громоздкие конструкции (что почти всегда ведет к багам), мы посмотрим на еще одну фишку JS.В предыдущих статьях мы разобрали: функции, их…

  • вторник, 3 февраля 2026 г. в 00:00:05
javascript
От учебной проблемы до 1000 пользователей: как я писал интерактивный учебник по RxJS

Предыстория: Откуда взялась идея.История проекта началась в прошлом году (2025). Я преподаю JavaScript в HTML Academy, и когда мне предложили взять поток начинающих разработчиков по Angular, я согласился. Мы успешно прошли базу, но когда дело дошло до HttpClient и обработки данных, я столкнулся с проблемой: студентам сложно понять Observable и реактивный подход, имея в багаже только промисы.На лекции мне задали резонный вопрос: А где посмотреть актуальный и понятные материалы по RxJs?.Я провел …

  • понедельник, 2 февраля 2026 г. в 00:00:08
javascript
Kawai-Focus 2.2: Python-бинарник в Tauri — проблемы и альтернативы

Всем доброго дня! В предыдущей статье Kawai-Focus 2.1: переезд на новый стек я:Объяснил, почему перехожу с Kivy на новый стек;Перевёл часть кода на новый стек: FastAPI + Vue.js + Tauri + Ionic;Собрал приложение для Linux в формате AppImage;Рассказал о некоторых критических недостатках текущего решения при запуске на Arch Linux.В данной статье я расскажу, с какими проблемами, связанными с бинарником, столкнулось моё решение при запуске на Arch Linux у моих знакомых, и почему у меня оно работает …

  • суббота, 31 января 2026 г. в 00:00:08
javascript
React Native. Часть 2: Bare Workflow, Expo, стили и платформенные особенности

В первой части мы разобрали эволюцию архитектуры React Native. Теперь перейдем к практическим вопросам: как организован процесс разработки и какие платформенные особенности встретятся в работе.Процесс разработкиВыбор между классическим подходом и Expo – одно из первых архитектурных решений в проекте. Разберем оба варианта.Bare React NativeПроцесс требует настройки окружения (Xcode для iOS, Android Studio для Android). В упрощенном виде процесс запуска приложения для разработки выглядит следующи…

  • суббота, 31 января 2026 г. в 00:00:07
javascript
Главные изменения JavaScript в 2026 году

В 2026 году обновят JavaScript. Окончательный список изменений сформируется из проектов ECMAScript, достигших 4 этапа к марту. Но многие из них уже на заключительной стадии, а другие готовы и доступны в некоторых браузерах и средах. Под катом — что ждёт разработчиков и какие проблемы будут решены в этом апдейте.  Информация об изменениях — отсюда. Temporal API: исправление для объекта Date Temporal — долгожданная замена проблемного объекта Date в JavaScript. Он уже достиг стадии 3 в TC39, и дл…

  • суббота, 31 января 2026 г. в 00:00:05
javascript
DOM-дерево — как не запутаться в ветвях объектной модели документа

Бывало такое: смотрите вы на красивую страницу интернет-магазина, открываете консоль разработчика (ту самую, по F12 или через правый клик), а там — лес из тегов, который вообще не похож на то, что вы видите глазами?Привет, Хабр! Меня зовут Александр Дудукало, я автор курса по JavaScript. В этой статье мы продолжаем знакомиться с элементами страницы, а именно с DOM. Эти знания вам точно понадобятся в работе с любым проектом. Давайте же больше узнаем, что это за дерево и как с ним работать. Поеха…

  • суббота, 31 января 2026 г. в 00:00:04
javascript
Web3 — Разрабатываем магазин без базы данных

Для начала определимся, что мы хотим получить.Авторизация с кошельком через metamask extension.Магазин внутри-игровых предметов. При покупке, осуществляется перевод средств на адрес магазина и записывается адрес покупателя и id предмета в контракт. Можно запросить купленные предметы.Запрос транзакцииЗавершение транзакцииФреймворк для разработки и тестированияВо-первых, понадобятся инструменты для сборки, тестирования, отладки и публикации смарт-контрактов. Современные решения: foundry и hardhat…

  • суббота, 31 января 2026 г. в 00:00:04
javascript
Вайбкодинг в 2026: вы всё проспали (или почему «в прод нельзя» — это уже стыдно)

Пока на Хабре пишут очередной лонгрид о том, почему нейронки «никогда не заменят настоящего инженера», EPAM и intive молча переводят 50 000 своих сотрудников на AI-рельсы.Спойлер: поезд уже ушел. Вы либо в нём, либо стоите на перроне и кричите, что «код грязный».Ну, грязный. А ваш прям чистый?)1. Реальность, которая делает больноДаже Андрей Карпатый (ну, тот самый, из Tesla и OpenAI) признал поражение. В декабре 2025 он написал то, от чего у олдскульных сеньоров должно защемить сердце:"В но…

  • пятница, 30 января 2026 г. в 00:00:08