Все потоки
Поиск
Написать публикацию
Обновить
28.64

Node.JS *

Среда для запуска JavaScript-приложений

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

Как ускорить создание компонентов с помощью Plop-генератора или автоматизация рутинных задач в React

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

Что имеем?

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

Однако, несмотря на наличие единой системы, мы сталкивались с рядом проблем — делюсь тем, как мы их решали...

Ну ка расскажи

Введение в AI Selfie Background Remover с использованием TensorFlow.js для React-приложений

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

Я создал "React Selfie AI Background Remover" — компонент React, который использует TensorFlow.js для удаления фона с изображений людей прямо в браузере.

✨ Основные особенности:

🤖 Использует MediaPipe Selfie Segmentation для точной сегментации объектов.

⚙️ Легко интегрируется в любое React-приложение.

🖼️ Доступно live demo для тестирования.

Вы можете найти компонент здесь:

📦 NPM

💻 GitHub

Читать далее

Как я искал рекомендации аналитиков по покупке российских ценных бумаг в JSON формате

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров3.5K

Четыре года назад я написал систему поиска поиска недооцененных американских акций, используя данные Яху Финанс, ведь на американском рынке торгуется больше 10 тысяч бумаг, из которых 4 тысяч бумаг имеют рекомендации аналитиков о прогнозируемой цене. Это большие цифры, с которыми сложно работать. Но что по России?

Я вялотекуще пытался найти систему которая бы также отдавала рекомендации аналитиков, пока недавно не нашёл:

{
"uid": "b993e814-9986-4434-ae88-b086066714a0",
"ticker": "WUSH",
"company": "Финам",
"recommendation": "RECOMMENDATION_HOLD",
"recommendationDate": "2024-09-26T00:00:00Z",
"currency": "rub",
"currentPrice": {
"units": "192",
"nano": 0
},
"targetPrice": {
"units": "250",
"nano": 0
},
"priceChange": {
"units": "58",
"nano": 0
},
"priceChangeRel": {
"units": "30",
"nano": 210000000
},
"showName": "Whoosh"
}

Правда есть один нюанс в количестве. На московской бирже представлено 170 бумаг, из которых имеют рекомендации всего 89 акций.

Гораздо меньшее количество бумаг, зато API выдаёт конкретные имена компаний, которые давали рекомендации, а также дату дачи прогноза и прогнозную цену. Теоретически можно составлять списки самых точных аналитиков, через какое-то время собирая цены и сопоставляя их с прогнозными.

Но мне было больше интересно составить сводную таблицу по всем доступным 89 акциям.

Код представлен на GitHub.

Ищем 🧈

Попробуйте Tauri

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

Хочу рассказать про один из моих любимых Opensource проектов: Tauri. Это среда для создания десктопно-мобильных приложений на JavaScript, но быстрых и легковесных. С опциональными дополнениями на Rust, а через него и на всех других языках.

Читать далее

PostgreSQL Antipatterns: валим «слона» — highload на ровном месте

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

Сегодняшняя тема посвящена нелегким взаимоотношениям клиентского приложения и сервера PostgreSQL: как на ровном месте, неудачной архитектурой приложения, можно обеспечить себе хронические проблемы производительности.

Рассмотрим классические ситуации, когда разработчики начинают жаловаться на производительность БД - а виновата-то и не она!

Читать далее

Как я решил вернуться в алготрейдинг после 10 летнего перерыва

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.7K

Самое главное, что никакого отношения к слову алко это не имеет.
В течении нескольких лет я торговал в связке программы технического анализа AmiBroker + торговый терминал QUIK через .tri и .trr файлы в основном на фьючерсах на срочном рынке.
Не могу сказать что это было неудачным опытом, но со временем я узнал про распределение активов (Asset allocation) и понял что очень сложно соревноваться с бенчмарком в виде фондового индекса.

В теории это означает что можно купить индекс и забыть об этом, заниматься своими делами, бизнесом, семьёй - а индекс растёт (ну или падает, смотря какое время) и для этого не нужно прикладывать никаких действий.
А за связкой AmiBroker + QUIK постоянно нужно было присматривать, следить не отвалился ли адаптер импорта через .tri файл. А ещё иметь несколько виртуальных машин с установленными копиями Windows на каждой виртуалке на одном физическом компьютере для разных брокеров. Ведь возможна была установка только одной пары AmiBroker + QUIK на одну винду.
Всё это мне не особо нравилось.

В 2024 году захотелось что-то лёгкое - без Windows и современное - через API интерфейс. Желательно бесплатное для пользователя. Несколько лет назад я уже пытался узнать появились ли у российских брокеров API для работы с ними, но так и не собрался. Этой осенью я стал активно искать информацию - какой брокер имеет АПИ для работы с физлицами. Не смог найти никакой сводной таблицы и нашёл только три варианта:

📍 ФИНАМ
📍 Алор
📍 Тинькофф Инвестиции
📍 (на полноту сведений не претендую и буду рад узнать ещё варианты брокеров с АПИ)

По субъективным причинам я выбрать работать с T‑Bank Invest API (это бывший Тинькофф) через среду выполнения JavaScript Node.JS.

В статье ссылка на GitHub с кодом робота.

Самые первые шаги 🤖

Создание конфигурируемого Webhook-модуля для NestJS-приложении

Время на прочтение93 мин
Количество просмотров1.9K

В рамках этой статьи я опишу создание двух NestJS-модулей с различным способом конфигурирования: утилитарный модуль и бизнес-модуль со своей базой данных.

Читать далее

Vike — современный SSR-фреймворк

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров7.2K

Всем привет. Я являюсь ведущим frontend-разработчиком компании 21Yard. Мы разрабатываем сервис для поиска строительных подрядчиков. На проект я пришел желторотым масленком, который мало смыслил в seo-продвижении продукта, но жизнь внесла свои коррективы, и сейчас я хочу рассказать, как я vike покорял.

Придя на проект, я с энтузиазмом взялся за дело. На момент старта моей работы у нас уже существовал интернет-портал, написанный на php. К сожалению, он был написан на устаревшем фреймворке, поэтому было принято решение переписать его с нуля на чем-то современном - выбор пал на React. Однако, параллельно кодингу шел и маркетинг. К работе был привлечен seo-специалист, по указаниям которого мне нужно было вносить микро-правки в старый портал. Тогда я узнал, что такое seo, и что для него нужен ssr...

Читать далее

Как работает фронтенд: от загрузки сайта до современных инструментов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров17K

Фронтенд — это то, что видит и с чем взаимодействует каждый пользователь интернета, но как он работает на самом деле?

Читать далее

Как подружить GLPI с Node Js Часть 1. (Выбор основного подхода)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.9K

Как легко и просто можно использовать node js и его возможности, чтоб дружить с другими системами (например GLPI) через их БД. Эта статья - мой опыт такого взаимодействия, который я получил в контексте решения рабочего кейса.

К прочтению

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

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

Всем привет!

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

Читать далее

Компьютерное зрение в автотестах. Поиск элемента по фото

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

В автотестах для web-приложений, мы привыкли искать элементы по селектору. Это обязывает наделять html-элементы уникальными атрибутами, будь то класс или data-атрибут. Но когда проект становится достаточно большим, команда начинает задумываться над сокращением размера index.html, чтобы переходя по ссылке пользователь как можно быстрее получил полезную для него информацию. Тут-то и начинается гонка за каждый байт и каждую миллисекунду и необходимость любого «лишнего» символа в html разметке ставится под сомнение. В такие моменты data-атрибуты для автотестов это первые кандидаты на удаление из конечного html. Уже довольно давно я думал о том как же находить элементы на странице не привязываясь к DOM-дереву, результатом этих поисков является плагин, который я написал для Cypress. О нем, и о подходе, который в нем применяется, пойдет речь в данной статье.

Читать далее

Бесплатный аналог Notion на своем сервере за 10 минут. Локальный запуск, настройка и деплой Wiki.JS

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров24K

Привет, друзья!

Как вы, возможно, уже знаете, 9 сентября Notion покидает рынок РФ, и, по слухам, это может сопровождаться удалением всех аккаунтов из России. В связи с этим, нам всем стоит задуматься о том, какую альтернативу выбрать.

После тщательного анализа различных опций, я нашел, на мой взгляд, отличную и полностью бесплатный аналог Notion — Wiki.JS.

Сегодня мы разберемся, как установить и настроить эту платформу. Начнем с первичной настройки и запуска системы на локальном компьютере, а затем, всего за несколько минут, развернем наш проект на удаленном хостинге, превратив Wiki.JS в полноценную замену Notion.

Для освоения материала вам не понадобятся никакие навыки программирования. Следуйте моим инструкциям, и к концу статьи у вас будет свой собственный экземпляр Notion, работающий на удаленном хостинге.

Для деплоя я буду использовать сервис Amvera Cloud. Я выбрал его за простоту развертывания и предоставление бесплатного доменного имени с HTTPS-протоколом, которое будет выделено вам сразу после создания проекта.

Для деплоя нам понадобится создать Dockerfile (этот файл будет использоваться как для локального запуска, так и для развертывания). Технически, вам достаточно будет скопировать настройки с этой статьи и все у вас заработает. Затем, просто загрузите этот файл через консоль на сайте Amvera Cloud, и ваш проект соберется и запустится автоматически!

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

Читать далее

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

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

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

Всем привет!

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

Читать далее

Как я свалил рутинные задачи на low-code-платформу и не пожалел

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

Привет! На связи Леша Шамшур, разработчик ПО LiSeller. Недавно мой хороший знакомый Паша устроился джуниор-разработчиком в отдел бэкенд-разработки Debex: компания продает просроченные долги. 

После пришел ко мне и захотел поделиться уже своим опытом работы с low-код-инструментами. Решили, что будет круто выложить инсайты на Хабр. Начнем 👇 

Читать далее

Настройка алиасов путей с помощью Node.js Subpath Imports в TypeScript проекте

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

Я попробовал новые Node.js Subpath Imports для алиасов путей в TypeScript проекте. Оказалось, всё не так просто!

Читать далее

Красно-черные сигналы в node.js

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

Что происходит, когда мы отправляем сигнал приложению на node.js? Когда вызываются обработчики? А где хранятся? Во всем этом мы разберемся в данной статье, начиная от пользовательского кода на javascript и до встречи с операционной системой.

Читать далее

Как я сделал платформу коротких видео в Telegram Mini Apps

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

Недавно я поехал на море с другом. Во время пути мы узнали, что YouTube собираются блокировать (или замедлять). Тут в моей голове родилась идея: почему бы не сделать видеохостинг в Telegram? Я поспорил с другом, что сделаю его по дороге, но ноутбук сел. Поэтому мы договорились, что я сделаю это за день (спойлер: получилось, но кривовато).

Читать далее

Способы запуска Telegram mini apps

Время на прочтение6 мин
Количество просмотров14K

Существует множество различных способов запуска Telegram Mini Apps, но я для себя выделил несколько наиболее удобных и простых методов.

Читать далее

Ручной деплой NestJS и Angular приложений на выделенном сервер через «Docker Compose» и «PM2»

Время на прочтение33 мин
Количество просмотров2.3K

Покупаем выделенный сервер и настраиваем SSH доступ к нему с локального компьютера.
Добавляем https://github.com/SteveLTN/https-portal в "Docker compose" для автоматической генерации и продления сертификатов.

Читать далее

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