Обновить
18.76

Node.JS *

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

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

Как совершить транзакцию в Nest.js

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

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

Как же совершать их, если вы пишите backend на Node.js + Nest.js?

Ну и как?

Управление версиями Node.js и NPM с помощью NVM

Время на прочтение5 мин
Количество просмотров321K
Наш прошлый перевод про новые функции 15-й версии Node.js был очень хорошо принят читателями «Хабра», поэтому сегодня мы решили продолжить тему и рассказать, как настроить NVM с версией Node.js 15 и NPM 7.

Версия Node.js 15 была выпущена 20 октября 2020 года. Она поставляется с npm 7 и множеством новых функций. Вы уже успели опробовать новую версию?

Но подождите минутку! Node.js 15 и npm 7 содержат критические изменения. Не повредит ли тогда обновление существующим проектам?

Теоретически может повредить!
Читать дальше →

Домашнее IoT-устройство глазами JS-разработчика

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

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

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

Читать далее

NodeGUI

Время на прочтение4 мин
Количество просмотров9K
NodeGUI — фреймворк, который позволяет писать нативные кроссплатформенные десктопные приложения. Под капотом он использует Qt для отрисовки интерфейса.

Есть возможность подключить React или Vue.

Также существует имплементация с Angular от irustm.

Эта статья будет опираться именно на версию с React.

Запуск и настройка


Сначала необходимо установить cmake.
Склонируем готовый шаблон от разработчиков и запустим его.

npm install
npm run dev
npm start

Чтобы приложение пересобиралось каждый раз, как в код вносятся изменения, к компоненту app подключается hot reload.

if (module.hot) {
 module.hot.accept(['./app'], function () {
   Renderer.forceUpdate();
 });
}

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

К тому же, указанный компонент обязательно должен быть классовым (только app, любые его дочерние компоненты могут быть функциональными).
Читать дальше →

Практическое знакомство с Deno: разрабатываем REST API + MongoDB + Linux

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

Всем привет. В этот раз я решил сделать нечто более интересное, чем очередной бот, поэтому далее я покажу как реализовать REST API с Deno, подключить и использовать MongoDB в качестве базы данных, и всё это запустить из под Linux.

Читать далее

Что нового в Node.js 15?

Время на прочтение8 мин
Количество просмотров8.6K
Делимся переводом статьи, в которой собраны подробности о новых функциях 15-й версии Node.js.

Версия Node.js 15 была выпущена 20 октября 2020 года. Среди основных изменений:

  • режим throw при необработанных отклонениях
  • особенности языка V8 8.6
  • NPM 7
  • экспериментальная поддержка QUIC
  • N-API Version 7
  • доработка API асинхронного локального хранилища (Async Local Storage)

Давайте подробнее рассмотрим, что эти нововведения из себя представляют и как их можно использовать.
Читать дальше →

Создание самодокументирующегося сервера на Node.JS

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

В этой статье описан рецепт по настройке самодокументирующегося сервера на joi, swagger и typescript. Бонусом приведен Gulp-скрипт, который на основе Joi-объектов будет генерировать нам интерфейсы.

Читать далее

Авторизация и аутентификация на NodeJs и Socket.io и проблемы вокруг

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

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

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

Читать далее

Server-Side Rendering с нуля до профи

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


  • В данной статье мы разберем влияние SSR на SEO оптимизацию приложения.
  • Пройдем с вами путь по переносу обычного React приложения на SSR.
  • Разберем обработку асинхронных операций в SSR приложениях.
  • Посмотрим, как делать SSR в приложениях с Redux Saga.
  • Настроим Webpack 5 для работы с SSR приложением.
  • А также рассмотрим тонкости работы SSR: Генерация HTML Meta Tags, Dynamic Imports, работа с LocalStorage, debugging и прочее.
Читать дальше →

CRUD для NMAP’а: решение для мониторинга открытых портов на хостах

Время на прочтение9 мин
Количество просмотров10K
Привет, Хабр! Меня зовут Рудаков Александр, я занимаюсь информационной безопасностью в компании "ЛАНИТ-Интеграция". Однажды, в рамках работы над проектом, мне понадобилось организовать небольшой непрерывный мониторинг (с хранением истории) открытых портов в подсети серверов. Требовалось за короткое время сделать рабочий прототип решения для данной задачи. В этой статье я расскажу о том, как с помощью nmap, Node.JS, PostgreSQL и ORM Sequelize организовать мониторинг открытых портов на хостах.

Источник 
Читать дальше →

Создаем приложение на Node.JS, Express и Typescript с Jest, Swagger, log4js и Routing-controllers

Время на прочтение7 мин
Количество просмотров65K
Это пошаговая инструкция создания приложение на Node.JS, с использованием typescript и express. Новое приложение создается не часто, отсюда забываются шаги по его созданию. И я решил написать некую шпаргалку, в помощь самому себе и другим разработчикам. Помимо шагов, я так же снял небольшие видео ролики для наглядности. Существуют уже готовые фреймворки для Node.JS, которые уже содержат в себе все необходимые пакеты и можно работать с ними, но это уже другой путь. Идея была в том, чтобы не зависить целиком от какого-то фреймворка и в случае необходимости менять одни пакеты на другие.
Читать дальше →

Что такое рендеринг на стороне сервера и нужен ли он мне?

Время на прочтение8 мин
Количество просмотров24K
Привет, Хабр!

В новом году начнем общение с вами с затравочной статьи о серверном рендеринге (server-side rendering). В случае вашей заинтересованности возможна более свежая публикация о Nuxt.js и дальнейшая издательская работа в этом направлении
Читать дальше →

Поиск замены депозита в облигациях с учетом того, что с 1 января 2021 года все выплаты облагаются налогами

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

Полгода назад, летом 2020 года я написал скрипт поиска ликвидных облигаций на Мосбирже (статья в закладках у 194 человек, рейтинг +45). Скрипт нужен для поиска облигаций, которые можно купить прямо сейчас с доходностью гораздо выше банковского вклада.

Сейчас, в начале 2021 года модифицировал прошлогодний скрипт, потому что проценты по вкладам так и остаются на очень низких уровнях, а с началом 2021 года ещё и изменения в налоговом кодексе РФ подоспели. 

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

Облигации как замена вклада в 2021 году

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

lerna + CI =? Или как не запутаться в трёх соснах

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

О чём пойдёт речь?

Пилотный пост будет посвящён интересной проблеме с которой мы столкнулись при попытке организовать CI/CD для монорепозитория с lerna. Сразу скажу, что этот пост:

* не про монорепозитории. Плюсы и минусы монорепы, как концепции, уже давно описаны в множестве постов, в том числе на Хабре (этот довольно холиварный, кстати)

* не про инструменты для управления монорепозиториями. Монорепу можно реализовать при помощи Nx, rush, даже просто yarn workspace. Но так получилось, что мы выбрали lerna и поживём с ней какое то время.

* не про пакетные менеджеры. Могу порекомендовать хороший видос со сравнением npm, yarn и pnpm и офигенную серию постов в которой работа npm объясняется с самых азов и очень тщательно. У нас npm (пока)...

* не про nestjs. Но он классный!

Обо всём этом будет рассказано только в том объёме, который нужен для понимания проблематики.

Тогда о чём? О том, как сварить это всё вместе.

Читать далее

Обзор npm 7

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

13 октября состоялся релиз npm@7.0.0. Релиз носит экспериментальный характер и доступен для скачивания из публичного npm-реестра с тегом next-7. Также npm 7 поставляется вместе с node.js 15.

Как вы помните, нечетные версии node.js тоже скорее являются нестабильными предрелизами. Только четные версии получают статус LTS и рекомендуются для использования в продакшене. Но сейчас мы поговорим исключительно об npm, а если быть более точным, то разговор пойдет о нескольких очень ожидаемых фичах, вошедших в свежий релиз.

Читать далее

Мониторинг многопоточных приложений Node.JS

Время на прочтение7 мин
Количество просмотров7.8K
В этой статье мы разберем особенности мониторинга многопоточного Node.JS приложения на примере нашего коллектора для сервиса мониторинга и анализа логов серверов PostgreSQL.


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

Первый парсер на деревне

Время на прочтение7 мин
Количество просмотров6.1K
Сегодня мы померяемся парсерами. Точнее, померяем эффективность разных вариантов JavaScript-парсеров на примере одной простой задачи преобразования строки конкретного формата в объект.


Вопросы сложностей организации многопоточности в JavaScript оставим за рамками этой статьи и сосредоточимся на различных вариантах и малоизвестных способах использования регулярных выражений для разбора строки buffers-атрибута узла плана PostgreSQL.

То есть из строки вида 'Buffers: shared hit=123 read=456, local hit=789' мы хотим как можно быстрее получить JSON такого формата:

{
  "shared-hit"  : 123
, "shared-read" : 456
, "local-hit"   : 789
}

Выглядит вроде все тривиально, правда же?

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

9 репозиториев, о которых должен знать каждый веб-разработчик

Время на прочтение4 мин
Количество просмотров21K
В наши дни GitHub — это универсальное хранилище всего, что связано с веб-разработкой. Фреймворки, демоверсии, всевозможные коллекции — вероятно, нет ничего такого, что вы не могли бы найти на GitHub. Однако в этом огромном количестве и заключается проблема. Есть классные вещи, о которых вы, вероятно, никогда не услышите просто потому, что репозиториев много. Сегодня, специально к старту нового потока курса по веб-разработке мы делимся подбокой некоторых из самых популярных репозиториев GitHub, о которых вы должны знать, каждый из которых имеет по крайней мере ~30 000 звёзд.

Приятного чтения

Автоматизация Instagram

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

По работе попалась интересная задача по автоматизации Instagram, а именно надо было просто провести розыгрыш. Сервисов для организации этой затеи достаточно, есть даже бесплатные. Но были дополнительные (читай премиум) условия, к тому же мне очень захотелось самому посмотреть, что там внутри этой популярной инстаграмы и быть может набраться опыта в построении API.

Первым делом пошел смотреть что там говорят интернеты. Чтение официальных доков по API instagram дали четко понять, что владельцы не хотят давать доступ к неограниченной автоматизации, можно автоматизировать работу со своим аккаунтом в базовом варианте, но это не подходило под мою задачу, а "бизнес" вариант API требовал верификации компании, что естественно мне не подходит. (Может быть уже что-то изменилось …)

Читать далее

Serverless шагает по планете. Сравним SberCloud и AWS

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

image


Мне с друзьями довелось поучаствовать в хакатоне SberCloud.Advanced Hacking и пощупать облачные сервисы Сбера. На моем текущем месте работы я каждый день работаю с Serverless стеком от AWS (CloudFront + Lambda Edge + S3 + Lambda + Step Functions + Aurora PostgreSQL Serverless + DynamoDB + Cognito). Так что мне есть с чем сравнить. Если заинтересовались, то добро пожаловать под кат.


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