Кодировка (encoding) и декодирование (decoding) в Base64 — распространенный способ преобразования двоичных данных в безопасный текст. Он часто используется в Data URL, таких как встроенные (inline) изображения. Прим. пер.: с помощью data URL можно решить проблему (ошибку) отсутствующей фавиконки в браузере. <link rel="icon" href="data:." /> Что происходит при кодировке и декодировании в base64 строк в JS? В этой статье мы рассмотрим некоторые особенности и ловушки, связ…
это типа супСтатья посвящается конкретно Redux+Saga+Typescript. Практика, которую я видел в разных коммерческих проектах, и с которой до сих пор сталкиваюсь. redux + saga уже является дедовским методом ( из за большой шаблонности кода - бойлерплейта ) , потому что сейчас актуальнее redux-toolkit с RTK query или effector, кому то может и mobx :) . Следующим постом я бы хотел переписать имеющийся код на FSD архитектуру с redux-toolkit + RTK query и разобрать отличия.ПредисловиеВ этой статье буде…
ВведениеВ данной статье будет рассмотрен паттерн CustomSwitch, который может быть использован в различных ситуациях и программных языках. В данном случае мы реализуем CustomSwitch на языке программирования JavaScript. Однако, стоит помнить, что это далеко не единственный возможный язык для его реализации. ИспользованиеПервый скриншот демонстрирует код игрового движка. На втором примере, я приведу код автора и свой код, в котором используется паттерн CustomSwitch. Код автора: nextPosition(initi…
Моя работа состоит в написании кода на React. Несмотря на то, что мне нравится React, при разработке на нем я столкнулся с некоторыми его недостатками. В связи с этим, я решил создать свою библиотеку, Fusor, чтобы исправить эти недостатки и вот что из этого получилось.Нашел один фатальный недостаток и решил запилить своё с блэкджеком...Не люблю лишних разговоров поэтому перейду ближе к телу наших подопытных.Разделяй и властвуйОн же принцип единой ответственности (single-responsibility principl…
Всем привет! Решил сделать небольшую инструкцию как запустить проект Next JS на сервере. Я использовал Ubuntu 22.04 и Nginx.1. Инсталим nginxsudo apt-get update sudo apt-get install nginxредактируем nginx/sites-available/default server { server_name domen.ru; location / { include proxy_params; proxy_pass http://127.0.0.1:3000; } listen 80; }2. Инсталим Node JSsudo apt install curl curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash source ~/.p…
В четверг, 26 октября, в 17:00 состоится онлайн-митап, посвященный JS-разработке: «Гетерогенность, или Деплой JavaScript туда и обратно». На ивенте расскажем, как мы в «Лаборатории Касперского» развернули несколько веб-приложений в совершенно разных средах на единой кодовой базе, разберем построение В2В единой консоли — комплексного, сложного приложения; единую модель деплоймента для cloud-native-разработки и on-premise; а также разработку в распределенных командах (фича-тимы). Помимо эт…
Как переписать целые JS-библиотеки на CSS? А как ускорить сборку? Найти утечки памяти? Заменить фон в видеозвонке? Отрендерить видео в Node.js? Прокачать личный бренд?На ближайшей конференции HolyJS расскажут обо всём этом и много чём ещё. Программа уже известна, и мы публикуем на Хабре описания всех докладов.СодержаниеИнструменты разработкиПроизводительностьBackendCase-studyАрхитектураUIМягкая силаДругоеЗаключениеИнструменты разработкиНиндзя кодогенерации. Ускоряем разработкуВадим МалютинСпик…
ВведениеВ данном практическом руководстве показывается, как создать простую автоматизацию, используя команду Midjourney /imagine в качестве примера.Для этой задачи вам понадобится учетная запись Discord с активной подпиской на Midjourney, базовый план за $10 подойдет идеально.Следуйте этим простым шагам, чтобы получить:Идентификатор сервера Discord, который будет упомянут в этой статье как server_idИдентификатор канала Discord, который будет упомянут в этой статье как channel_idТокен Discord, …
Здравствуйте, меня зовут Дмитрий Карловский, и я рад обрадовать вас радостной вестью, что PiterJS вот уже третий месяц радостно крутится в прежнем режиме (ни месяца без митапа в Питере) и не думает останавливаться. Начали мы с классической программы по 3 доклада. Но на это раз, в PiterJS #59, мы подготовили для вас кое-что новенькое, но об этом в конце. А пока позвольте рассказать вам, как прошёл PiterJS #58. Первый митап в Эльбрус Буткемп Эльбрус Буткемп - совсем новая, не тронутая другими м…