Как стать автором
Обновить
4.3
Рейтинг

Node.JS *

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

«Боты должны работать, разработчики должны думать»: пишем Github App на Node.js

Блог компании TINKOFF JavaScript *Node.JS *GitHub TypeScript *

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

Привет! Меня зовут Никита. Я разработчик Taiga UI, библиотеки Angular-компонентов, которая активно используется в нашей компании «Тинькофф». Я расскажу про решение одной из таких рутинных задач на нашем проекте с помощью написания с нуля своего Github App на Node.js.

Посмотреть
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 2.9K
Комментарии 2

Основы MongoDB за 5 минут

JavaScript *Node.JS *MongoDB *
Tutorial

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

Поехали!
Всего голосов 17: ↑12 и ↓5 +7
Просмотры 8.6K
Комментарии 4

Mongoose + Redis. Автоматизация кэширования за 5 минут

JavaScript *Node.JS *MongoDB *
Tutorial

Mongoose представляет специальную ODM-библиотеку (Object Data Modelling) для работы с MongoDB, которая позволяет сопоставлять объекты классов и документы коллекций из базы данных. 

Redis (Remote Dictionary Server)- это быстрое хранилище данных типа «ключ‑значение» в памяти, активно используемое в разработке с целью повышения производительности сервисов

В рамках данного гайда мы рассмотрим связку Mongoose + Redis и посмотрим, как обеспечить максимально удобное взаимодействие между ними

Читать далее
Всего голосов 5: ↑1 и ↓4 -3
Просмотры 2.1K
Комментарии 4

Почему я ненавижу JS или как я в 15 лет переписывал свой интернет-магазин

JavaScript *Программирование *.NET *Node.JS *C# *

Я написал интернет-магазин для магазинов мяса на Blazor Server. Попробовал переписать его на React + Node.

Сейчас расскажу, почему после этого я так возненавидел JS...

Читать, почему я ненавижу JS
Всего голосов 72: ↑28 и ↓44 -16
Просмотры 16K
Комментарии 89

Как сконфигурировать NextJS сервер с полной поддержкой кэширования в Redis

JavaScript *Node.JS *ReactJS *
Tutorial

Шаг 1. Установка NextJS

yarn create next-app

Шаг 2. Установка пакетов:

yarn add express redis node-gzip

Шаг 3. Создаем в  корне проекта файл server.js

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.8K
Комментарии 5

Осенний экспресс прибывает: анонс TechTrain 2021 Autumn

Блог компании JUG Ru Group Java *Разработка под Android *Node.JS *Data Engineering *

IT-экспресс TechTrain мчится в онлайн и открывает наш осенний сезон конференций.

Это бесплатное мероприятие, где с 8 докладами на самые разные темы выступят спикеры самого разного профиля. Пишете вы на Kotlin или C++, ближе вам DevOps или дата-инжиниринг — найдется доклад для вас.

Чтобы запрыгнуть на бесплатный осенний поезд, который отправится 18 сентября, достаточно пройти регистрацию на сайте.

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

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

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 786
Комментарии 0

Websocket API на nodejs по новому

JavaScript *Node.JS *API *TypeScript *
Tutorial

О чем эта статья?

1. uWebsockets.js - высокопроизводительная реализация http/websocket сервера для nodejs

2. AsyncAPI - спецификация для асинхронного API, с помощью которой можно создать описание Websocket API

3. Простой пример websocket API с использованием библиотеки wsapix:
- создадим websocket сервер, используя uWebsockets.js
- настроим валидацию получаемых и отправляемых сообщений
- добавим генерацию документации из кода

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 7.6K
Комментарии 9

Архитектура приложения стартапа. Взгляд с высоты птичьего полета

Анализ и проектирование систем *Node.JS *ООП *TypeScript *Микросервисы *

Приветствую всех читателей Хабра.

Немного разбросал текущие дела и пришло время для написания следующего поста в моем запланированном цикле статей:

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 3.1K
Комментарии 6

JavaScript: об очистке данных, хранящихся на стороне клиента, по сигналу сервера и немного о карте импортов

Блог компании Timeweb Разработка веб-сайтов *JavaScript *Программирование *Node.JS *


Введение


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


Представляю вашему вниманию результаты небольшого исследования, посвященного очистке данных, хранящихся на стороне клиента по сигналу сервера. Речь идет об относительно новом HTTP-заголовке Clear-Site-Data. Также в этой статье мы немного поговорим про карту импортов (imports map).


Статья состоит из двух частей: теоретической и практической.


В теоретической части мы кратко рассмотрим карту импортов и более подробно Clear-Site-Data.


В практической части мы поднимем два сервера — один будет запускаться локально и, помимо прочего, обслуживать статические файлы нашего приложения, другой мы развернем на Heroku. Сначала мы запросим данные (включая куки) от серверов, сохраним эти данные в браузере с помощью трех наиболее популярных механизмов (локальное хранилище, индексированная база данных и интерфейс кеширования), затем попробуем очистить их с помощью заголовков Clear-Site-Data. Для разрешения путей импортируемых в приложении модулей мы будем использовать карту импортов.


Исходный код проекта находится здесь.

Читать дальше →
Всего голосов 2: ↑1 и ↓1 0
Просмотры 4K
Комментарии 0

Node.js кросс-доменная инъекция Cookie

JavaScript *Node.JS *Браузеры Email-маркетинг
Из песочницы
Tutorial

Кросс-доменная инъекция Cookie на Node.js, где это можно использовать, и как это реализовать.

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 3.3K
Комментарии 7

SSE, нотификации, Node.js и при чём тут C#?

Анализ и проектирование систем *Серверная оптимизация *Node.JS *C# *Распределённые системы *
Из песочницы

Вписавшись в очередной провальный заранее стартап, мне прилетела задача: нужны уведомления на сайте. Ладно - сказал я себе. Открываю любимую IDE и начинаю писать очередной микросервис.

До этого я никогда не занимался уведомлениями, но был осведомлен, что есть для этого несколько путей: WebSocket, SSE и Long Polling.

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 6.2K
Комментарии 13

Publish-Subscribe на TypeScript — уменьшаем связанность

JavaScript *Node.JS *ООП *ReactJS *TypeScript *

Известно, что одним из признаков хорошего архитектурного дизайна является слабая связанность между отдельными модулями приложения. Достичь этого можно разными способами: Dependency Injection, с помощью паттернов проектирования Mediator, Publish-Subscribe и некоторыми другими, многие из которых так или иначе реализуют принцип инверсии зависимостей, ответственных за уменьшение связанности. Об одном из таких паттернов, а именно о Publish-Subscribe (далее PubSub) мы сегодня и поговорим. А заодно, предлагаю рассмотреть мою собственную реализацию на TypeScript, построенную на декораторах - люблю я декларативный подход, ничего тут не сделаешь.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.9K
Комментарии 3

Использование паттерна BFF для создания общих типов в бэкенде и фронтенде

Блог компании ITSOFT Проектирование и рефакторинг *Node.JS *ReactJS *TypeScript *
Перевод
image

Контракт между бэкендным сервисом и фронтендным потребителем (или клиентом) обычно является местом соединения двух миров. Такой контракт может принимать форму спецификации REST API, конечной точки GraphQL, или чего-то другого. Главное, чтобы он сообщал обеим сторонам, чего ожидать друг от друга.

Такова любовная история между бэкендом Node.js и фронтендом React. Живя в разных мирах, они нашли общий язык для общения, но этого было недостаточно — всё равно случались недопонимания: иногда один ждал, что другой скажет что-то такое, чего второй не может выразить. Такой была ситуация до недавнего времени, когда произошла генерализация TypeScript (и типов TypeScript), благодаря которой они начали говорить на одном языке.

Давайте узнаем, что такое шаблон BFF (нет, это не шаблон Best Friends Forever, как бы здорово это ни звучало), и разберёмся, как типы TS могут помочь нам создать надёжный контракт между бэком и фронтом.
Читать дальше →
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 2.7K
Комментарии 19

NEST-NEXT: Best Practices — Часть 2

Разработка веб-сайтов *JavaScript *Node.JS *ReactJS *
Tutorial

Это вторая часть статьи о применении комбинации технологий nest.js и NEXT.js. В первой части был создан и настроен проект, а также выбран способ отправки данных для SSR, в результате чего проект уже удовлетворял большинство потребностей при разработке простого сайта. В этой части можно узнать о том, как выжать максимум пользы из nest-next: Hot Module Replacement, CDN, удобный SSR и разворачивание "за слешом".

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.1K
Комментарии 4

NEST-NEXT: Best Practices — Часть 1

Разработка веб-сайтов *JavaScript *Node.JS *ReactJS *
Из песочницы
Tutorial

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 3.9K
Комментарии 3

Opensource система умного дома на nodejs

Node.JS *Умный дом
Из песочницы

Привет, Хабр! Хочу поделиться своим проектом, который разрабатывал почти год - appex-system.

Дело началось с того, что я закончил изучение ноды. Нужно было запилить какой-нибудь проект, чтобы потренироваться, и я решил объединить 2 любимых дела - программирование и самоделки. И вот что из этого получилось.

Умный дом делится на устройства. Устройством может быть как одна плата (например esp8266), так и несколько (люстра, состоящая из 4 умных лампочек). Для каждого устройства пишется отдельное приложение на js. Устройство в месте с приложением объединяются в комнату, наподобие группы в телеграм, где и происходит их общение.

В каждой комнате имеется объект состояния. В свойствах этого объекта хранятся все нужные для работы данные - например статус лампочки. Общение между платами и приложением происходит по протоколу web sockets. Если запускать сервер локально, то ардуина получит команду через 4 миллисекунды после нажатия кнопки в приложении - вполне не плохо.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 5.7K
Комментарии 11

Как искать и выбирать npm-пакеты? Шпаргалка для начинающих

Блог компании HTML Academy Разработка веб-сайтов *JavaScript *Node.JS *
Tutorial

Что делает разработчик, если ему нужно раскрасить кнопку в красный цвет? Ищет в npm пакет, окрашивающий кнопки в красный цвет

В реестре npm — более миллиона пакетов почти для чего угодно. Например, с их помощью можно минифицировать код, удалять и переименовывать файлы, создавать спрайты, отправлять сообщения в центр уведомлений операционных систем, работать с препроцессорами Less и Sass и выполнять многие другие действия, упрощающие и автоматизирующие работу над проектом. 

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

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 5.1K
Комментарии 7

Интерфейсы для встраиваемых устройств на современных Web-технологиях

Блог компании DataArt Интерфейсы *Node.JS *Разработка на Raspberry Pi *Носимая электроника
Tutorial

Автор: Николай Хабаров, Principal IoT/IoMT Architect в DataArt

Начнем с того, что интерфейс необходим любому устройству. Ведь пользователю придется с ним взаимодействовать — значит, нужны какие-то кнопки, рычажки, лампочки или дисплей. Некоторые устройства подключаются через USB-кабель к компьютеру, на который нужно установить драйверы и специальное ПО для управления. Некоторые устройства, построенные на обычном железе для ПК, снабжены собственными дисплеями для демонстрации данных и контрольными панелями. В обоих случаях софт для них обычно пишут на сложных языках программирования вроде C++, а создание автономных или встраеваемых приложений для них требует от разработчика специальных навыков. Программное обеспечение для них, как правило, зависимо от операционной системы, и попытка апгрейда любого компонента устройства (например, замена дисплея на более совершенную модель) часто оборачивается серьезной проблемой.   

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

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 3.6K
Комментарии 9

Data Science на JavaScript без Python

Блог компании SkillFactory JavaScript *Программирование *Node.JS *
Перевод
Tutorial

Мы уже писали о том, как запустить Python в браузере, а сегодня к старту флагманского курса по Data Science расскажем, как привычные для Python задачи решаются на JavaScript. Если вы знакомы только с JS и хотите попробовать Data Science, не покидая зону комфорта, (или, наоборот, хотите познакомиться с JS), просто хочется необычных экспериментов или нужно интегрировать небольшую управляемую визуализацию о статистике на сайт, читайте подробности под катом.

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

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 4.9K
Комментарии 1

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