Category : javascript

javascript
Кодогенерация и парсинг TypeScript с помощью typescript

Одной из интересных возможностей пакета typescript является то, что он содержит API для генерации TypeScript-кода, а также парсер для работы с написанным на TypeScript кодом. Кодогенерация часто используется для автоматического создания типов для работы с http api (типизация тела запроса, ответа, query параметров и тд.). В npm есть модули, генерирующие сервисы для работы с api на основе openapi, graphQl схем и тому подобное, и обычно возможностей существующих модулей хватает для решения больше…

  • четверг, 28 декабря 2023 г. в 00:00:08
javascript
Знакомство с WebTransport API

Hello world! На днях я прочитал статью о WebTransport API как будущей альтернативе или даже замене WebSockets. Мне стало интересно, что это такое и с чем его едят. Давайте разбираться вместе. Определение и особенности WebTransport API — это интерфейс/механизм передачи данных между клиентом и сервером с помощью протокола HTTP/3. Он поддерживает надежную (гарантированную) упорядоченную (reliable) доставку данных с помощью одного или нескольких одно- или двунаправленных потоков (streams), а так…

  • среда, 27 декабря 2023 г. в 00:00:10
javascript
GridStack + Vue 3 composition api

Мир всем, на связи ShADAMoV!Сегодня я бы хотел поведать вам о своём опыте взаимодействия с библиотекой GridStack. Расскажу о странностях и сложностях, с которыми столкнулся в ходе её интеграции во Vue 3 проект. Прежде чем приступим, дисклеймер: автор данной статьи не претендует на истину в последней инстанции и так же не рассказывает про саму технологию, а лишь делится опытом взаимодействия с ней. Прежде чем читать дальше, настоятельно рекомендую прочесть документацию по данной библиотеке от а…

  • среда, 27 декабря 2023 г. в 00:00:09
javascript
Использование node-cron для запуска запланированных заданий в Node.js

Введениеcron позволяет повторять задачу через определенный интервал времени. Могут быть повторяющиеся задачи, такие как ведение журнала и создание резервных копий, которые необходимо выполнять ежедневно, еженедельно или ежемесячно.Одним из способов реализации cron на сервере Node.js является использование модуля node-cron. Эта библиотека использует синтаксис crontab, который может быть знаком пользователям с предыдущим опытом использования cron в Unix-подобных операционных системах.Для того чт…

  • вторник, 26 декабря 2023 г. в 00:00:22
javascript
Глубокий JS. Области тьмы или где живут переменные

Уровень: Senior, Senior+В статье Глубокий JS. В память и типах и данных мы говорили о том, как выглядит структура переменной каждого конкретного типа в памяти движка V8. В этой статье предлагаю теперь рассмотреть, где именно эти переменные хранятся и каким образом попадают в память.Как обычно, исследовать будем последнюю, на момент написания статьи, версию движка (12.2.136).Абстрактное синтаксическое дерево (АСД)Прежде чем мы перейдем непосредственно к переменным, стоит пару слов сказать о том…

  • вторник, 26 декабря 2023 г. в 00:00:22
javascript
Taiga UI: итоги 2023 года

Заканчиваются рабочие дни уходящего года, а значит, самое время подводить итоги наших трудов. За 2023 год у проекта Taiga UI появилось более пятидесяти релизов, больше двух тысяч вмерженных PR-ов и свыше пятисот закрытых issue.Taiga UI — это огромный Angular UI Kit, который активно используется в сотне продуктов компании Тинькофф и популярен за ее пределами. Разработка проекта много лет идет в Open Source, собирая свою аудиторию по всему миру.Продолжу ежегодную традицию и напомню пользователям…

  • вторник, 26 декабря 2023 г. в 00:00:21
javascript
Загрязненный — значит опасный: про уязвимость Prototype Pollution

Prototype Pollution (CVE-2023-45811, CVE-2023-38894, CVE-2019-10744) — не новая брешь, вы уже наверняка читали про нее и на Хабре, и на PortSwigger, и даже в научных журналах, но есть нюанс. Несмотря на большое количество публикаций, некоторые популярные решения до сих пор остаются уязвимыми для нее. Очередной пациент — библиотека на TypeScript @clickbar/dot-diver. Уязвимость CVE-2023-45827 исправлена в версии 1.0.2 и выше, поэтому мы со спокойной душой расскажем, что могло произойти с вашим п…

  • вторник, 26 декабря 2023 г. в 00:00:20
javascript
JavaScript для QA. Фронтендер учит дебажить код через Devtools

Всем привет, меня зовут Иван, я инженер по тестированию (Manual and Automation). В ремесле более 2-х лет. В этой статье мы рассмотрим методы черного, серого и белого ящиков, а так же как JavaScript может быть использован для перехода от метода черного ящика к серому и белому.Со мной сегодня senior фронтенд-разработчик, Алексей - специалист с большим опытом, он научит вас дебажить код в Devtools и ставить точку останова. Даст советы для QA как стать самостоятельнее и определять ошибки в коде с …

  • воскресенье, 24 декабря 2023 г. в 00:00:16
javascript
Возможности JS, о которых вы возможно не знали

Сгенерированно с помощью AI Kandinsky 3.0Всем привет! Меня зовут Леша, я фронтенд-разработчик. Крашу кнопочки, пишу js скрипты, веду канал в TG https://t.me/frontend_tales (подписывайтесь, стараюсь выкладывать полезный материал). В этой статье хотел бы поделиться с вами лайфхаками JavaScript, которые, возможно, помогут вам понять тонкости языка и улучшить ваш код. В общем, статья рассчитана на джуниоров и мидлов, сеньорам возможно будет скучно, но рады всем. Начнем! 1. Разделитель числаВ чис…

  • воскресенье, 24 декабря 2023 г. в 00:00:15