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

JavaScript - habr.ru

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

Почему запрет на переключение вкладок не спасает онлайн-тесты от списывания

Пнд, 21/04/2025 - 07:15

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

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

Создаем картотеку людей в Obsidian максимально лениво или «Тронул мышку — проиграл»

Пнд, 21/04/2025 - 06:53

Я уже писал на Хабре статью, что такое СДВГ и как он влияет на жизнь. Жизнь с СДВГ создаёт свои трудности и я (как имеющий этот синдром) ненавижу и максимально стараюсь избегать любую рутину.

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

Поэтому я сделал для себя кучу шаблонов заметок, которые очень быстро заполняются по правилу игры «Тронул мышку — проиграл». Эти шаблоны сильно облегчили мою жизнь и одним таким шаблоном я и хочу поделиться.

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

Бумер, джуниор и нейросеть

Пт, 18/04/2025 - 15:18

Настало время... интересных историй. Про то, как я заказал сайт и что из этого вышло. Спойлер — человек не справился, а нейросетка — да

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

Как я попала во фронтенд, не имея айтишного образования: честный рассказ Насти Егоровой

Пт, 18/04/2025 - 11:33

Можно ли стать фронтендером, если выучился на экономиста, не сломаться на скучных задачах и не соврать в резюме — и при этом ещё кайфовать от работы? Разбираемся, как выглядит реальный путь в IT: с неопределённости в 11 классе, через SEO и маркетинг — к конференциям, курсам и YouTube‑каналу. Без глянца и мотивационных штампов — только честная история, как оно бывает на самом деле.

Эта статья — текстовый вариант выпуска подкаста Girls&Code с DevRel Skillbox Машей Даровской. Гостья — Анастасия Егорова, эксперт Skillbox по фронтенду, спикер конференции Holy JS, автор телеграм‑канала «Код и кофе» и youtube‑канала @cosyfrontendnastia с полезным контентом для джунов.

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

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

Знакомство с Web Locks API

Пт, 18/04/2025 - 07:56

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

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

Долгое время разработчики обходились кустарными решениями — флагами в localStorage, хитрыми setInterval и т.д. Но с появлением Web Locks API у нас наконец появился стандартный способ расставить приоритеты в этом хаосе.

Web Lock API — это механизм, позволяющий скриптам, находящимся в рамках одного orign, блокировать доступ к ресурсу, удерживать блокировку пока выполняется необходимый код, а затем разблокировать ресурс, чтобы другие части программы могли получить к нему доступ.

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

WebAssembly голыми руками

Пт, 18/04/2025 - 06:23

WebAssembly являясь (относительно) молодой технологией уже довольно распространён в индустрии.

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

Информации же по работе с самим WebAssembly и написанию кода непосредственно на нем в сети крайне мало, а в рунете и подавно, что я и попробую исправить под катом.

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

Как создать Telegram bot для проверки электронной подписи

Чт, 17/04/2025 - 18:20

Электронная подпись (ЭП) — неотъемлемая часть современного цифрового документооборота. Мы сталкиваемся с ней ежедневно: при отправке отчетности в налоговую, подписании договоров, участии в тендерах или просто обмениваясь юридически значимыми документами. Но как устроен процесс проверки электронной подписи изнутри? Как убедиться, что электронная подпись действительна, и какие критерии делают ее юридически значимой?

На практике часто возникает задача: проверить ЭП быстро, удобно и без запуска сложного backend-сервиса. И здесь на помощь приходят no-code и low-code инструменты.

В этой статье мы покажем, как реализовать проверку электронной подписи документов.

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

Разрабатываем PWA. Полная инструкция по работе с Web App Manifest и Service Worker

Чт, 17/04/2025 - 14:11

Привет! Меня зовут Сергей Васильев, я фронтенд-разработчик в AGIMA. Наша команда часто работает с PWA — прогрессивными веб-приложениями. Они стали особо популярны в последние три года, когда из-за санкций некоторым корпорациям пришлось отказаться от мобильных приложений. Но и раньше многие компании с интересом смотрели на это решение.

Ниже расскажу, как сделать из обычного веб-приложения прогрессивное: вместе настроим Web App Manifest и Service Worker. Если вам еще не доводилось работать с PWA — текст точно для вас.

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

Книга: «Создание фронтенд-фреймворка с нуля»

Чт, 17/04/2025 - 10:54
Привет, Хаброжители!

Мы используем фронтенд-фреймворки каждый день. А понимаем ли мы, что происходит там, под капотом? Книга Анхеля Солы Орбайсеты «Создание фронтенд-фреймворка с нуля» предлагает уникальный подход к изучению этой темы — через практическое создание собственного фреймворка. Автор убежден, что лучший способ понять принципы работы фреймворков — самостоятельно реализовать их ключевые механизмы. Читать дальше →
Категории: HTML, CSS, Javascript

@teqfw/di: Coding JavaScript like a Java boss

Чт, 17/04/2025 - 08:19

Эта статья для тех, кто, как и я, хочет программировать на JavaScript в Java-стиле. Для тех, кто находит вдохновение в балансе между строгой архитектурной дисциплиной Java и творческой свободой JavaScript. Ранее я уже публиковал "философию" своей платформы TeqFW, а также инструкции для LLM (раз, два) по оформлению es-модулей в приложениях, написанных в стиле TeqFW. На этот раз я делюсь инструкцией для LLM по использованию внедрения зависимостей в таких приложениях.

Для тех, кто не совсем понимает, что значит "программировать на JavaScript в Java-стиле", приведу рабочий пример — это Node.js-утилита @flancer64/smtp-logger. Она сохраняет в базу данных все email'ы, которые Postfix отправляет наружу. Мне как раз понадобился такой функционал — и я реализовал его в стиле TeqFW: с явным управлением зависимостями и строгой модульной структурой.

Под катом - пример JS-кода в Java-стиле.

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

Охота за 100% покрытием: как собрать все метрики воедино в монорепозитории Nx

Ср, 16/04/2025 - 11:00

Работая с монорепозиториями на Nx, часто возникает необходимость получить единый отчёт о покрытии кода. Однако по умолчанию каждый проект генерирует отдельный файл, что затрудняет анализ. В этой статье расскажем, как с помощью nyc-merge объединить все отчёты в один.

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

Как я вуз автоматизировал. Штурм веба

Пнд, 14/04/2025 - 17:57

Здравствуйте.

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

Первая часть этой истории находится тут. Там можно почерпнуть некоторую информацию о том, что из себя представляет описываемая мной система.  Хотя бы в части устройства базы данных.  А база это наше все!

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

Reconciliation в React, обновления виртуального DOM: что это и как работает под капотом простыми словами

Пнд, 14/04/2025 - 13:30

Привет, меня зовут Дмитрий, я React-разработчик и в статье хочу снова рассмотреть тему, которая у всех на слуху, однако «подкапотной» информации по ней не так много. Всем известно, что React обновляет компоненты, когда это необходимо, но как это происходит на самом деле, «под капотом»? Давайте разберемся вместе — что мне удалось узнать.

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

Плавность как фича: сравниваем фреймворки по анимации UI на реальных кейсах

Пнд, 14/04/2025 - 11:16

UI-анимации — это не только про красоту, но и про восприятие, структуру и даже скорость. В этой статье рассматриваются популярные фреймворки для создания анимаций в интерфейсах: CSS, Framer Motion, GSAP и Motion One. Сравнение проводится на реальных кейсах с кодом, примерами и субъективным мнением, где каждый инструмент показывает свои сильные и слабые стороны. В конце — небольшие выводы и неожиданные результаты.

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

Как я oauth proxy навайбокодил

Пнд, 14/04/2025 - 08:07

Чем хорош TRMNL — так это возможностью выводить что-то своё за считанные минуты.

Но сервер позволяет только простые GET и POST запросы, то есть в лоб OAuth2 не реализуешь. Оно и понятно: они не очень хотят хранить данные авторизации для всех.

Но всегда можно обойтись малой кровью: например, бесплатным CloudFlare.

Только повайбкодить придётся
Категории: HTML, CSS, Javascript

Параллельный цикл на worker. Многопоточность JS

Вс, 13/04/2025 - 20:59

Как применить worker для ускорения параллельных вычислений на JS. Постарался подробно и понятно разобрать как работают worker, как общаться с ними. Показал пример многопоточного вычисления значений массива и сравнил производительность различных методов обработки массивов.

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

Это под силу даже веб-разработчику! Размышляю, как создать драйверы на JavaScript с API WebUSB

Пт, 11/04/2025 - 10:35

Привет! Я Игорь Кечайкин, руководитель группы разработки во Frontend-команде Flocktory. Недавно, решая задачу, связанную с API WebUSB для Fingerprint-атрибуции пользователя, задался совершенно не связанным теоретическим вопросом: а как создать с этим API  драйверы на JavaScript?

Чтобы разобраться, изучил спецификацию API WebUSB, а теперь принёс на Хабр выжимку самых важных элементов. В статье я расскажу о принципах работы решения и том, что с ним делать веб-разработчику, который хочет напрямую реализовать на сайт функцию, например, 3D-принтинга с пользовательских девайсов. А также вы узнаете, насколько это безопасно — для сайта, внедряющего API, и для девайсов юзера.

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

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

Организация задач на новом уровне: интеграция Google Sheets и Telegram-бота для эффективного планирования

Пт, 11/04/2025 - 06:16

Привет, Хабр!

Меня зовут Евгений и в этой статье я хочу рассказать как я создавал свой таск - менеджер на базе Google Sheets и Telegram.

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

[Перевод] Обнаружение изменения положения DOM элемента с помощью IntersectionObserver

Чт, 10/04/2025 - 20:55

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

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

Как заставить TS работать на вас

Чт, 10/04/2025 - 10:24

Привет! Меня зовут Дмитрий, и я уже много лет работаю с TypeScript. За это время я был частью разных команд с разным уровнем владения этим языком, в том числе тех, кто только готовился перевести проект с JavaScript. И нередко я замечал, что разработчики воспринимают TypeScript не как инструмент, упрощающий работу, а как рутинную обязанность, которая лишь замедляет процесс. В этой статье я расскажу, как сделать TypeScript своим союзником и заставить его работать на вас, а не против.

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

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

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