Обновить
26.75

Node.JS *

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

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

Что читали на Хабре в 2024 году: анализ статей с Node.js, Google Sheets и каплей ChatGPT

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

Сегодня расскажу вам одну занимательную историю о том, как я решил сделать что-то полезное и интересное, а заодно чуть-чуть облегчить жизнь всем нам, кто регулярно зависает на Хабре. Ведь сколько здесь данных? Очень много! Статьи, комментарии, рейтинги... Всё это крутится вокруг нас, но как это можно использовать для анализа и выводов?

Всё началось с простого вопроса: «Как узнать, какие статьи на Хабре самые популярные?» Казалось бы - просто посмотреть на рейтинг или количество просмотров? Но ведь тут есть куча нюансов: например, у некоторых статей большой рейтинг, но они почти не комментируются. Или наоборот – комментов много, а рейтинга нет.

В общем, я решил выйти за рамки простого просмотра и создал систему для анализа данных Хабра за 2024 год. Использовал Node.js для парсинга, Google Таблицы для анализа и даже задействовал нейронную сеть, чтобы выявить скрытые тенденции.

Парсим и анализируем 🤖

Интеграция и сохранение выбранного языка пользователя в базу данных в фулстек-приложении на «Angular» и «NestJS»

Время на прочтение12 мин
Охват и читатели399

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

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

Читать далее

Бесплатное обучение фулстек-разработке веб-сервиса с нуля по видео-урокам с исходным кодом и поддержкой

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

TLDR. Я примерно год создавал курс из 141 урока. Курс получился хороший, все кто проходят рады и пишут положительные отзывы. Я пытался его продавать, в лучшем случае у меня получалось отбивать рекламу в ноль. Короче, я хороший разработчик, я хорошо доношу материал, но я плохой маркетолог. Все эти таргреты, ретаргеты, воронки, шморонки — тоска унылая. Мне гораздо веселее и понятнее заработать на создании и запуске IT-продуктов, чему я и учу в этом учебнике. Так что пишу эту статью, чтобы сообщить вам о существовании моего курса и предложить всем желающим абсолютно бесплатно получить от него пользу 🙂

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

Читать далее

Как использовать http внутри Minecraft?

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

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

Как можно видеть с самого видео, человек, нажимая на кнопку в Майнкрафте, включает у себя лампу в реальной жизни. Круто! Но как это работает?

Читать далее

Поддержка временных зон в фулстек-приложении на основе NestJS и Angular: работа с REST и WebSockets

Время на прочтение26 мин
Охват и читатели951

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

Читать далее

Пишем Realtime для Multiple-page application в микросервисной архитектуре

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

⌚️Пишем Realtime для Multiple-page application в микросервисной архитектуре

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

В статье описывается, как отправить пропущенные во время переподключения события WebSocket повторно в порядке очередности поступления

Читать далее

Как внедрить наблюдаемость в микросервисное приложение с помощью OpenTelemetry, Jaeger и Prometheus

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

Современные веб-приложения всё чаще строятся по микросервисной архитектуре. Это даёт гибкость, масштабируемость и изоляцию компонент, но одновременно усложняет отладку, мониторинг и понимание работы системы в целом. Что, если один из сервисов начинает работать медленнее? Как понять, где в цепочке запросов «узкое место»? Как быстро определить причину сбоя или деградации производительности?

Здесь на сцену выходит концепция наблюдаемости (observability). Идея заключается в том, чтобы собрать метрики, логи и трассировки из всех компонентов системы, связать их воедино, и получить чёткую картину того, что происходит внутри распределённого приложения. Для этого существуют современные инструменты.

Читать далее

Без головы — лучше! Разворачиваем собственную Headless CMS Directus в облаке

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

Directus — это Headless CMS с открытым исходным кодом, которая предлагает гибкую платформу для управления контентом и данными. Созданная для удовлетворения современных потребностей разработчиков и контент‑менеджеров, Directus позволяет четко разделить frontend и backend, что упрощает разработку и поддержку веб и мобильных приложений.

В этой статье поговорим о том, зачем нужны Headless CMS, и какие преимущества для разработчиков и пользователей предлагает CMS Directus. А также подробно расскажем как развернуть собственный Directus в облаке.

Читать далее

Как узнать у клиента мнение о товарах и доставке при помощи SMS и Node JS

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

Узнать, что думает клиент о товарах после покупки, об указанных услугах, включая доставку, выявить проблемы в обслуживании — вроде бы понятная задача бизнеса. В этой статье расскажем, как под такие задачи реализовать отправку автоматических опросов по SMS с помощью Node.js и Exolve SMS API.

Читать далее

Слабоумие и отвага: как найти ликвидные облигации с доходностью до 40% и ежемесячными фиксированными выплатами

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

Что может быть привлекательнее депозита в Сбербанке под 21%? Видимо только депозит в ВТБ под 24%. А еще можно рассмотреть облигации с доходностью до 40% и ежемесячной выплатой купонов. Посмотрим, что они предлагают и какие существуют риски.

В статье будем искать такие варианты при помощи скрипта поиска ликвидных облигаций, который выложен на GitHub.

Вообще покупки высокодоходных облигаций с низким рейтингом (ВДО) на фоне роста ключевой ставки Центрального банка Российской Федерации – задача не для слабонервных. Высокие процентные ставки означают повышенный риск дефолта, особенно для эмитентов ВДО.

Ищем %

Добавление поддержки нескольких языков в NestJS и Angular приложениях

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

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

Читать далее

Валидация REST-запросов в NestJS-приложении и отображение ошибок в формах Angular-приложения

Время на прочтение11 мин
Охват и читатели665

В этом посте я добавлю в NestJS-приложении валидацию REST-запросов и их отображение в формах Angular-приложения.

Читать далее

Четыре пункта, как улучшить код Backend стажера

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

📦 Четыре пункта, как улучшить код Backend стажера

В статье разобраны распространенные проблемы в коде начинающих разработчиков с конкретными решениями: грамотная инъекция зависимостей, использование Scoped-сервисов, паттерн Generic Repository и создание Stateless-классов. Материал будет полезен Junior и Middle разработчикам, которые стремятся улучшить архитектуру своих проектов и избежать ошибок структурирования кода в backend NodeJS разработке

Читать далее

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

Тестирование Node.js с использованием Mocha, Chai и Sinon

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

JavaScript и Node.js имеют множество библиотек тестирования и утверждений, таких как Jest, Jasmine, Qunit и Mocha.

В этой статье мы рассмотрим, как использовать Mocha для тестирования, Chai для утверждений и Sinon для моков, шпионов и стабов.

Читать далее

Nuxt I18n Micro: Как я решил написать свой i18n для NuxtJS

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

Всем привет!

Я занимаюсь разработкой на Nuxt с самого его появления, и у меня возникла очень большая проблема с реализацией i18n.

Читать далее

Получение серверного времени через WebSockets и отображение его в Angular-приложении

Время на прочтение7 мин
Охват и читатели572

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

Читать далее

Отслеживание позиций торгового робота Московской биржи через CSV файл

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

Нахожусь в процессе написания механизма торгового робота, работающего на Московской бирже через API одного из брокеров. Брокеров имеющих своё АПИ для МосБиржи катастрофически мало — мне известно только о трёх. При этом, когда я стал публиковать модули робота (и полностью выложу готовый механизм робота на GitHub), то стал получать непонимание — например, мне писали в комментариях — зачем придумывать велосипед, когда уже есть QUIK — популярная российская платформа для биржевых торгов. В Квике уже есть готовый функционал «импорт транзакций из файла» или таблица «карман транзакций». В тех же комментариях предлагали даже рассмотреть использование платформы 1С для робота, но оказалось, что торговля все равно будет осуществляться через импорт .tri-файла в Квик.

Лично мне Квик не очень нравится тем, что это программа для Windows. Хочется иметь механизм торгового робота, который был бы кроссплатформенным и легким — это позволит использовать его даже на «слабом» сервере. К тому же, много лет назад, когда Квик был единственной альтернативой для частного лица, невозможно было внутри одной Windows без использования виртуальной машины запустить несколько копий программы технического анализа с разными системами — для того, чтобы каждая из этих копий отправляла свои сигналы на покупку и продажу в соответствующий Квик. Это было нужно для разных торговых стратегий.

Разбираемся с хранением позиций в файле

Кэширование информации в Redis на NestJS

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

На каждом фронтенд запросе к бэкенду запрашивается информация по профилю пользователя из базы данных, это создает дополнительную нагрузку на базу данных и увеличивает время ответа бэкенда, для ускорения подобных запросов можно кэшировать ответ базы данных.
В этом посте я подключу Redis к проекту и настрою кэширование данных через @nestjs-mod/cache-manager.
Проект можно запускать в Docker Compose и Kubernetes.

Читать далее

Как пересылать сообщения из Telegram в SMS с помощью бота

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

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки своих серверов до открытия ворот по SMS. Наиболее интересные и подробные решили размещать в нашем хабе.

В этом гайде пользователь объясняет, как можно написать простого Telegram чат-бота на NodeJS, который будет пересылать все входящие сообщения в SMS, используя Exolve SMS API.

Читать далее

Ментальная модель потоков в Node.js

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


Приходилось ли вам работать с потоками в Node.js?


Когда я впервые столкнулся с потоками, я, мягко говоря, оказался в растерянности. Эта концепция была совершенно новой для меня. Я полагал, что смогу обойтись и без них, но вскоре понял, что в Node.js они повсюду. Даже такие ключевые модули, как fs и http, используют потоки "под капотом". Поэтому мне пришлось погрузиться в изучение этой темы и разобраться в том, как потоки работают.


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

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

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