Category : javascript

javascript
Как я создавал онлайн игру «нарды» (часть четвертая). Сервер

Всем привет!В прошлой статье я описал модуль "авторизация", который использую в своем проекте и рассказал, как проходит аутентификация и авторизация пользователей, какие библиотеки и методы используются в системе, а сегодня, согласно опросу проведенному во второй части, я расскажу о модуле "игра". Именно в нем происходит вся "магия" игры.Сам модуль ничем не отличается от остальных. Архитектурно, это набор методов позволяющих реализовать механику игры, при чем не так важн…

  • четверг, 5 сентября 2024 г. в 00:00:10
javascript
Вышел Vue 3.5

Эта статья — перевод оригинальной статьи «Announcing Vue 3.5».Также я веду телеграм канал «Frontend по‑флотски», где рассказываю про интересные вещи из мира разработки интерфейсов.ВступлениеСегодня мы рады сообщить о выходе Vue 3.5 "Tengen Toppa Gurren Lagann"!Этот минорный релиз не содержит кардинальных изменений и включает в себя как внутренние улучшения, так и новые полезные функции. Мы расскажем о некоторых основных моментах в этом блоге - полный список изменений и новых возможносте…

  • четверг, 5 сентября 2024 г. в 00:00:09
javascript
TypeScript клиент для Wildberries API

В рамках работы над одним из проектов понадобилось использовать API Wildberries. Т.к. пишу на TypeScript, лучшим способом создания типов была генерация из Swagger. В итоге всё вылилось в библиотеку wildberries-api. Сгенерированы все методы API с типами запросов/ответов. Автоматический скрипт генерации позволит без усилий поддерживать актуальную версию API.NPM | GithubУстановкаnpm install wildberries-apiПример использования:import { Api } from 'wildberries-api'; const api = new Api(proc…

  • среда, 4 сентября 2024 г. в 00:00:04
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