ES6 модули (ECMAScript 6 modules)

В этой статье сделан обзор системы модулей в ES6. Старая система модулей JavaScript В JavaScript нет встроенной поддержки модулей, но сообщество создало несколько прекрасных решений этой проблемы. Среди самых популярных можно выделить два таких: Система модулей CommonJS: предпочтительно для использования в Node.js Особенности: — компактный синтаксис — спроектировано для синхронной загрузки зависимостей — главная среда … 

 

Метод Array.includes в JS

В этой статье рассмотрим новый метод “Array.prototype.includes” добавленный в ECMAScript 2016 Обзор Метод для массива includes Метод includes имеет такую сигнатуру: Он возвращает истина если elem является элементом массива и ложь если в противном случае. includes похож на метод indexOf — выражение нижа практически идентичны Главным отличием является, то что includes() находит NaN, а indexOf() … 

 

Пример реализации патерна DAO и VO в Java

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

 

ES2017 async/await в Node.js

В этой статье разберемся что не так с промисами, как ключевое слово await поможет решить эту проблему, и как использовать это прямо сейчас. Одним из самых лучших нововведений в ES7 считается синтаксис async/await. Хотя это всего лишь синтаксический сахар поверх Promises, эти два ключевых слова помогут писать асинхронный код намного приятней, а также помогут решить … 

 

Базы данных NewSQL

Введение В последнее время нереляционные базы данных приобрели широкую популярность, из-за ряда преимуществ: отсутствие схемы, высокая производительность, возможность линейного масштабирования, уменьшения времени разработки. Но в свою очередь, такие базы данных имеют свои недостатки, например, отсутствие поддержки транзакций в большинстве из них. Возникла проблема: как достичь производительности NoSQL и сохранить поддержку принципов ACID? Еще одним преимуществом … 

 

Neo4j как ядро рекомендательной системы

Бурное развитие электронной коммерции годами способствовало развитию рекомендательных систем (РС), поскольку это очень эффективный и дешевый способ увеличения количества продаж. С этим ростом также возросли требования к РС. Все больше и больше компаний сталкиваются с большими объемами данных, требует от них разработки масштабируемых решений. Также в эру социальных сетей важную роль играют связи между пользователями. … 

 

Цикл for vs forEach в JavaScript

Если ты новенький в JavaScript, то тебе может быть не понятна разница между использованием цикла for и метода Array.forEach. В этой статье я сделаю сравнительный анализ этих двух способов итерирование массива. Синтаксис Синтаксис цикла for довольно простой, и мало чем отличается от такого цикла в других языках програмирования. Цикл for принимает 3 выражения. Первое выражение … 

 

Аргументы командной строки в Node.js

Что такое аргументы командной строки (Command Line Arguments)? Аргументы командной строки — это строки которые используются для передачи дополнительной информации перед запуском программы из терминала (CLI) операционной системы. Аргументы командной строки как правило содержат параметры конфигурации приложения, например, адрес порта HTTP сервера. В большинстве случаев аргументы передаются после названия программы. Пример синтаксиса можно увидеть ниже: … 

 

Графовая база данных Neo4j

Хранение данных в реляционных СУБД имеет свои преимущества, но для определенных типов задач не подходит, особенно когда необходимо хранить много связей между данными. Для решения этих проблем можно применить графовую СУБД. Для начала стоит сделаем краткий обзор, Neo4j — графовая база данных с открытым исходным кодом разработана на языке Java, с поддержкой транзакции (ACID). Данные … 

 

Как отправить пуш сообщение в Node.js?

Сначалa нужно установить пакет firebase-admin: Далее импортироем библиотеку: Для отправки пуш сообщения будем использовать метод sendToDevice (). Он принимает параметром массив пуш токенов, вторим параметром данные сообщение.   Также FCM позволяет отправить сообщение группе устройств, для этого используэться механизм pub/sub.