Обновить
225.52

JavaScript *

Прототипно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

[Записки тимлида] Битрикс: от модулей к сервисам 3

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели1.5K

Автор: Денис Закусило

Приветствую всех неравнодушных! Это заключительная статья цикла о переходе от модульной архитектуры к сервисам.

[Записки тимлида] Битрикс: от модулей к сервисам

[Записки тимлида] Битрикс: от модулей к сервисам 2

Сегодня мы рассмотрим организацию структуры frontend стороны приложения.

Читать далее

Локализуем React (NextJS, TypeScript) сайт на несколько языков с помощью i18next

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.3K

У меня появилась задача в проекте: перевести личный кабинет пользователя на русский и английский языки (в перспективе и на другие языки). При этом, определять язык пользователя при первом заходе в ЛК и запоминать язык при перезагрузке страницы. Разумеется, всё это с типизацией файлов с переводами (чтобы нельзя было забыть добавить любое из полей).

Как я это делал — расскажу в статье.

Читать далее

ICOGON: натянем шахматы на глобус

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели1.3K

Игра на сферической (полиэдрической) доске: JavaScript, jQuery, THREE.js.
Краткая информация об истории создания, правилах и интерфейсе.

Рвануть шаблон ↓

Визуализация данных Мосбиржи и не только

Время на прочтение3 мин
Охват и читатели4.3K

Привет!

Хочу поделиться инструментом для визуализации данных Мосбиржи, Nasdaq, NYSE и AMEX. Графики можно посмотреть на странице finmap.org. Сейчас я занимаюсь этим проектом один, а планов много, например, добавить данные торгов стран Европы, Азии и Латинской Америки. Исходный код опубликован на GitHub. Очень надеюсь, что хабр-эффект всё ещё работает и здесь найдутся те, кто готов присоединиться к разработке. Пожалуйста, расскажите о проекте друзьям и знакомым.

Данные торгов представлены в виде treemap и histogram. В карточке каждой компании отображается краткое описание и новостная лента. В будущем я планирую добавить ленту микроблогов.

Читать далее

Как я настраивал S3 в Strapi? Больно, но не сильно

Время на прочтение5 мин
Охват и читатели1.3K

Недавно я познакомился с сервисом Strapi и почти сразу получил задачу "Настроить отправку файлов в S3 из Strapi". Это мой первый опыт в работе со Strapi, но не первое подключение к S3.

В данной записи я хотел бы поделиться своим опытом и показать пару кастомных скриптов для работы с облачным хранилищу S3.

Читать далее

TMA Wallet — некастодиальный MPC воллет для вашего Telegram Mini App

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели1.4K

Всем привет! Думаю, все уже знают, что в телеге уже год как бум мини-аппов, все тапали хомяка. Подавляющее большинство из них связаны с криптой. Многие хотят внутри приложения давать своим пользователям кошелёк (EVM, TON или Solana, etc.), как некий виртуальный счёт, который можно пополнить, выводить средства, и, самое главное, дергать смарт-контракты.

Простое и небезопасное решение - хранить все ключи на серваке, выполнять транзакции от имени юзера. Взлом вашего сервера = потеря всех клиентских средств, добиться доверия в этом случае очень сложно.

Сложное и неудобное решение - кошелёк, который юзер должен записать на бумажке и следить за его безопасностью сам. В этом случае, вам лучше вообще использовать WalletConnect или не делать миниапп вообще. Правда, в этом случае UI миниаппа превращается в ад, где юзер должен подтверждать каждое действие во внешнем приложении.

Мы искали для нашего миниаппа вариант, который бы давал безопасность некастодиального кошелька, но с максимально гладким UX/UI. И нашли.

В этой статье я хочу сделать обзор TMA Wallet (npm-пакет, сайт, github) - opensource некастодиального multi-party кошелька, подходящего для любых чейнов, работающего на базе недавно появившееся API Telegram Cloud Storage.

Поехали!

Унификация, синхронизация, кросс-командность. Как дизайн-система реально улучшает жизнь компании

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели1.7K

Сегодня дизайн-система — это неотъемлемая часть процесса разработки цифровых продуктов. Однако не всегда очевидно, как именно такой инструмент помогает работать с UI-компонентами и улучшать качество продукта.

Меня зовут Артур Иванов, я тимлид B2B Product Design департамента Design & Research Office (DRO) «Лаборатории Касперского», и именно перед нашей командой встал вызов по внедрению дизайн-системы под названием Hexa UI в уже существующие рабочие процессы отдела дизайна.

Читать далее

Современные способы переключения контента

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели3.3K



Тот, у кого из всех инструментов есть только молоток, склонен на любую проблему смотреть, как на гвоздь.
Абрахам Маслоу

Мы склонны использовать знакомые решения. Когда речь заходит о переключении контента, мы обычно используем свойства display: none или opacity: 0 с добавлением JavaScript. Однако современный веб стремительно развивается, и, возможно, настало время рассмотреть другие подходы к переключению контента — узнать, какие нативные API на сегодняшний день поддерживаются, их достоинства и недостатки, а также некоторые нюансы, о которых мы могли и не подозревать (включая псевдоэлементы и другие малоизвестные вещи).

Читать дальше →

Brython: Python в вашем браузере (ч.3)

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели848

Brython позволяет Python-коду взаимодействовать с кодом JavaScript. Наиболее распространенный шаблон — доступ к JavaScript из Brython. Обратный вариант, хотя и возможен, не распространен. Вы увидите пример вызова функции Python в JavaScript в разделе Модульные тесты JavaScript.

Читать далее

Brython: Python в вашем браузере (ч.2)

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели4.7K

Ваше знакомство с различными способами установки Brython дало вам общее представление о том, как работает реализация. Вот краткое изложение некоторых характеристик, которые вы узнали на этом этапе руководства:

Читать далее

Brython: Python в вашем браузере

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели4.9K

Если вы веб-разработчик и предпочитаете писать на Python, а не на JavaScript, то Brython — реализация Python, работающая в браузере, — может оказаться для вас привлекательным вариантом.

Читать далее

PGlite — полноценный Postgres-сервер на WASM. Работает прямо в браузере и Node.js

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.7K

Безумные штуки иногда можно найти в интернете. Листая 2024 JavaScript rising stars (https://risingstars.js.org/2024/en#section-all) обнаружил там удивительного зверя - Postgres скомпилированный через emcc в WASM версию, и допиленный до состояния, когда его можно запустить внутри JS-процесса (браузер/Node.js/Bun/etc).

Как он устроен, как им пользоваться, и, самое главное, зачем? Добро пожаловать под кат :)

Поехали!

Почему текстовые форматы не идеальны в разработке: пример на JSON

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели8.9K

JSON - наш повседневный помощник, но вместе с другими текстовыми форматами он может преподнести неприятные сюрпризы: потеря точности чисел, громоздкие файлы, путаница с датами. Рассказываю, как этих проблем избежать и повысить эффективность с помощью стриминга в Node.js, а также MessagePack и Protobuf. Узнайте, где подводные камни и как их обходить на практике!

Если хотите понять, в чём именно проблема на иллюстрации, загляните в статью — там всё разобрано :-)

Читать далее

Ближайшие события

React на сервере — это не PHP

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.1K

Привет, Хабр.

Некоторое время назад наткнулся на интересную статью в блоге Кристофера Артмана, которой он сравнивает до чего эволюционировал Реакт в наше время и задается вопросом, о том, не вернулись ли мы в отправную точку, и Реакт на сервере - это старый добрый PHP.

Кроме самой статьи мне интересно было почитать комментарии к ней. И там довольно большое количество людей не согласилось с автором.

Под катом Вы найдете вольный перевод (или даже рерайт) этой статьи, а с оригиналом можно ознакомится по ссылке.

Читать далее

Brython: Python в вашем браузере (ч.4)

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели4K

Метод, используемый для установки Brython, может повлиять на то, как и где вы можете развернуть свой проект Brython. В частности, для развертывания в PyPI лучшим вариантом будет сначала установить Brython из PyPI, а затем создать свой проект с помощью brython-cli. Но типичное веб-развертывание на частном сервере или облачном провайдере может использовать любой выбранный вами метод установки.

Читать далее

DDD против реальности: распространённые ловушки и их решение в NestJS

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели5.1K

Сложно внедрить DDD в NestJS, не запутавшись в абстракциях? В статье рассмотрены частые ошибки - от комбайна в контроллерах до формальных Value Objects. Разбираем, как выделять слои (Domain, Application, Infrastructure, Interface), правильно использовать Entities и репозитории и создавать поддерживаемую архитектуру.

Читать далее

Еще раз про отличия Excel Vba vs OnlyOffice/Р7 офис JavaScript

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели1.2K

В рамках учебного курса основы разработки для Р7 Офис публикуем самый полный список сравнений в разработке Excel Vba vs OnlyOffice/Р7 офис JavaScript

Читать далее

Performance и оптимизация TypeScript-типов в больших проектах

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7K

Узнайте, почему большие TypeScript-проекты начинают "захлёбываться" от рекурсивных типов и обилия импортов, и как с помощью правильной структуры монорепы, настройки tsconfig и диагностики ускорить время компиляции и работу IDE. Рассматриваем инструменты, параллельную сборку, оптимизацию рекурсивных типов и прочие техники, которые помогут сохранить ваш проект быстрым и удобным.

Читать далее

Яндекс капча: попытки установки для самых джун’ых

Время на прочтение9 мин
Охват и читатели6.8K

Яндекс капча: попытки установки для самых джун’ых.

Для чего?

Почему вдруг «молодо-зелено» учит «плавали-знаем» тому, что и так описано в оф.документации? Дело в том, что эта документация не сильно newbie-friendly. И если вы никогда до этого не ставили на сайт капчу, то имеется ненулевой шанс, что и не поставите, не прочитав данное «крео». Документация написана довольно сносно, но не для тех, кто здесь впервые. Не хватает основы — концепции (хотя раздел концепций в документации имеется…).

Читать далее

TanStack Router: современный и типобезопасный роутер для React

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.1K

Если вы пишете на React и любите TypeScript, вам стоит обратить внимание на TanStack Router - современный, гибкий и полностью типобезопасный роутер. В статье разбираю его ключевые возможности (loaders, кэширование, работу с query-параметрами, SSR) и сравниваем с другими популярными решениями.

Читать далее

Вклад авторов