Category : javascript

javascript
Изнанка электронных календарей: как работает спецификация iCalendar и как создавать .ics-файлы

Привет, Хабр! Меня зовут Денис Басковский. Я фронтенд-разработчик в билетном сервисе Ticketland.ru (принадлежит МТС Live). В одном из пет-проектов мне понадобилось управлять календарными событиями: ставить время начала и окончания, добавлять комментарии и посылать оповещения. Обычно такая информация хранится и передается в .ics-файлах, описанных в спецификации iCalendar. Благодаря этому формату многие современные календарные приложения могут синхронизировать данные между собой.В этой статье я р…

  • среда, 4 сентября 2024 г. в 00:00:02
javascript
Как удалить JavaScript из файлов PDF

Как известно, внутри файлов PDF можно размещать скрипты JavaScript, которые будут запускаться на исполнение в браузере. Например, если загрузить этот PDF, то вы увидите результат выполнения скрипта: Это стандартная функция формата. Все разработчики браузеров знают, что PDF подобно HTML является активным контентом и может содержать исполняемые скрипты. Несмотря на это, периодически некоторые специалисты по безопасности объявляют исполнение скриптов в PDF на сайте вариантом атаки Stored XSS. …

  • вторник, 3 сентября 2024 г. в 00:00:09
javascript
Как я улучшил свой пользовательский опыт взаимодействия с фитнес клубом World Class найдя их API

Уже полгода хожу в фитнес клуб World Class или как пишут в самом клубе - являюсь его резидентом. Выбрал этот клуб в основном из-за наличия в нём бассейна. Потом заинтересовался групповыми программами и частенько хожу на сайкл тренировки - это тренировки на специальном велотренажере.И единственное меня раздражает, что для просмотра расписания занятий на следующую неделю каждый раз приходилось идти на сайт сети Ворд Класс, переходить в мой клуб, отбиваться от нескольких назойливых баннеров которы…

  • вторник, 3 сентября 2024 г. в 00:00:07
javascript
Настройка алиасов путей с помощью Node.js Subpath Imports в TypeScript проекте

Битва с алиасами!TL;DR — используйте custom conditions.ВведениеSubpath imports — это нативная опция в Node.js для задания внутренних алиасов путей в коде.Например, длинный относительный путь:import { foo } from '../../../utils.js'; можно упростить до:import { foo } from '#utils.js'; Это дает два преимущества:Такой код проще читатьНет лишних изменений после перемещения файловВ TypeScript существует старый способ настройки алиасов через опцию paths. Это хорошо работает для TypeScr…

  • вторник, 3 сентября 2024 г. в 00:00:06
javascript
Особенности Effector, которые почему-то никто не обсуждает: опыт ВКонтакте спустя год использования

Меня зовут Андрес, я руководитель команды разработки внутреннего UI-кита ВКонтакте. А это ещё одна статья про инструменты управления состоянием. Сегодня мы не будем изобретать ничего нового, а поговорим про библиотеку Effector. (Внимание, под катом много картинок.)TL;DRПочти год мы ВКонтакте пытались внедрить Effector, но пришли к выводу, что это достаточно сырая библиотека. Её недостатки зачастую проявляются сильно позже, чем хотелось бы, и, по нашему мнению, перевешивают достоинства… А послед…

  • вторник, 3 сентября 2024 г. в 00:00:05
javascript
Как я получил хороший заказ на настройку Google Форм и с чем пришлось столкнуться

Каждый раз, когда начинаешь новый проект, никогда не знаешь, какие сюрпризы он может принести. На первый взгляд, простая задача по настройке Google Формы может превратиться в увлекательное путешествие с неожиданными поворотами. Сегодня я хочу рассказать вам историю одного такого заказа, в котором мы не только справились с вызовами, но и нашли оригинальное решение.Начало проекта: задание и первая трудностьВсе началось с обычного запроса от клиента: необходимо было создать серию опросов на базе G…

  • понедельник, 2 сентября 2024 г. в 00:00:08
javascript
Красно-черные сигналы в node.js

И снова здравствуйте, дорогие читатели! В этой статье я продолжу исследовать тонкости реализации механизмов работы node.js. В предыдущей своей статье я рассмотрел, как работают таймеры. На этот раз речь пойдет об одном из механизмов межпроцессного взаимодействия, а именно, о сигналах.Готовимся сигналитьЯ буду рассматривать как работают сигналы в node.js в рамках операционной системы linux, потому что сам пользуюсь ей на повседневной основе и лучше других в ней разбираюсь. А так же, в случае с l…

  • понедельник, 2 сентября 2024 г. в 00:00:08
javascript
Мой опыт создания телеграм-бота на NodeJS/grammY

Арест Павла Дурова стал настолько ярким событием, что мне пришлось повнимательнее присмотреться к этому мессенджеру - чем же таким он значимо отличается от остальных социальных сетей. Так в поле моего зрения попали боты. Так-то я больше по веб-приложениям - ну, тех, что в браузере. Но боты тоже оказались ничего так.Так как я предпочитаю использовать JavaScript и на фронте, и на бэке, то среда существования для бота была определена сразу же - nodejs. Осталось определиться с библиотекой - Telegra…

  • воскресенье, 1 сентября 2024 г. в 00:00:03
javascript
Конкурс js13kGames или как написать игру объёмом 13 Кбайт

13 августа стартовал 13-й игровой джем js13kGames (JS13K) для разработчиков веб-игр на JavaScript. За месяц участникам предстоит написать браузерные игры, размер которых не должен превышать 13 килобайт при сжатии до формата ZIP. Темой JS13K этого года выбрали «Трискайдекафобию» — боязнь числа «13».Path to Glory — победительница прошлогоднего JS13KОрганизаторами джема выступают разработчик веб-игр Анджей Мазур и студия по созданию инди- и мобильных веб-игр Enclave Games.JS13K 2024 года включает …

  • воскресенье, 1 сентября 2024 г. в 00:00:02