Тот, у кого из всех инструментов есть только молоток, склонен на любую проблему смотреть, как на гвоздь. Абрахам МаслоуМы склонны использовать знакомые решения. Когда речь заходит о переключении контента, мы обычно используем свойства display: none или opacity: 0 с добавлением JavaScript. Однако современный веб стремительно развивается, и, возможно, настало время рассмотреть другие подходы к переключению контента — узнать, какие нативные API на сегодняшний день поддерживаются, их достоинства…
Сегодня дизайн-система — это неотъемлемая часть процесса разработки цифровых продуктов. Однако не всегда очевидно, как именно такой инструмент помогает работать с UI-компонентами и улучшать качество продукта.Меня зовут Артур Иванов, я тимлид B2B Product Design департамента Design & Research Office (DRO) «Лаборатории Касперского», и именно перед нашей командой встал вызов по внедрению дизайн-системы под названием Hexa UI в уже существующие рабочие процессы отдела дизайна.Забегая вперед: c эт…
Всем привет! Думаю, все уже знают, что в телеге уже год как бум мини-аппов, все тапали хомяка. Подавляющее большинство из них связаны с криптой. Многие хотят внутри приложения давать своим пользователям кошелёк (EVM, TON или Solana, etc.), как некий виртуальный счёт, который можно пополнить, выводить средства, и, самое главное, дергать смарт-контракты.Простое и небезопасное решение - хранить все ключи на серваке, выполнять транзакции от имени юзера. Взлом вашего сервера = потеря всех клиентских…
Недавно я познакомился с сервисом Strapi и почти сразу получил задачу "Настроить отправку файлов в S3 из Strapi". Это мой первый опыт в работе со Strapi, но не первое подключение к S3.В данной записи я хотел бы поделиться своим опытом и показать пару кастомных скриптов для работы с облачным хранилищу S3.Коротко о StrapiStrapi JS — это популярная открытая система управления контентом (CMS) на основе Node.js. Она предназначена для быстрого создания и управления бэкенд-серверами и API. Str…
Часть 1 • Часть 2 • Часть 3 • Часть 4Распространение и упаковка проекта BrythonМетод, используемый для установки Brython, может повлиять на то, как и где вы можете развернуть свой проект Brython. В частности, для развертывания в PyPI лучшим вариантом будет сначала установить Brython из PyPI, а затем создать свой проект с помощью brython-cli. Но типичное веб-развертывание на частном сервере или облачном провайдере может использовать любой выбранный вами метод установки.У вас есть несколько вариа…
Часть 1 • Часть 2 • Часть 3 • Часть 4Понимание работы BrythonВаше знакомство с различными способами установки Brython дало вам общее представление о том, как работает реализация. Вот краткое изложение некоторых характеристик, которые вы узнали на этом этапе руководства:Это реализация Python на JavaScript.Это транслятор Python в JavaScript и среда выполнения, работающая в браузере.Он предоставляет две основные библиотеки, доступные в виде файлов JavaScript: brython.js является ядром языка Brytho…
Часть 1 • Часть 2 • Часть 3 • Часть 4Взаимодействие с JavaScriptBrython позволяет Python-коду взаимодействовать с кодом JavaScript. Наиболее распространенный шаблон — доступ к JavaScript из Brython. Обратный вариант, хотя и возможен, не распространен. Вы увидите пример вызова функции Python в JavaScript в разделе Юнит Тесты JavaScript.JavaScriptДо этого момента вы сталкивались с несколькими сценариями, в которых код Python взаимодействовал с кодом JavaScript. В частности, вы могли отобразить ок…
Ни для кого не секрет, что JSON широко используется в веб-разработке: обмен данными между клиентом (браузером) и сервером, хранение в NoSQL-базах, конфигурационные файлы, API-ответы и многое другое. Он стал практически родным форматом данных для JavaScript и Node.js. Однако при работе с JSON стоит учитывать ряд ограничений и подводных камней, которые в больших проектах могут вылиться в серьёзные проблемы с производительностью, точностью и безопасностью.В этой статье мы разберём:Неочевидные проб…
Безумные штуки иногда можно найти в интернете. Листая 2024 JavaScript rising stars (https://risingstars.js.org/2024/en#section-all) обнаружил там удивительного зверя - Postgres скомпилированный через emcc в WASM версию, и допиленный до состояния, когда его можно запустить внутри JS-процесса (браузер/Node.js/Bun/etc).PGlite уже упоминался на Хабре (https://habr.com/ru/companies/postgrespro/articles/828950/), но я решил, что он так крут, что заслуживает отдельной небольшой статьи.TL;DR: Представь…