Рубрика «node.js» - 31

Pi-Sonos v3.0: работа над ошибками или абсолютно новый проект? - 1

Проекту Pi-Sonos недавно исполнилось полгода. За это время колонка успела прижиться в доме и очень часто выполняла роль источника фоновой музыки в гостиной по утрам и вечерам. Но не так часто, как бы мне того хотелось. Виной тому был ряд просчетов, которых я изначально допустил при проектировании колонки. С каждым из них в отдельности можно было бы смириться, но в сумме они заставили меня полностью переделать акустику. Что это были за ошибки, и как их пришлось решать, дорогой %username%, ты узнаешь под катом.

Читать полностью »

В предыдущей части туториала мы решили проблемы изоморфного роутинга, навигации, фетчинга и начального состояния данных. В итоге, получилась довольно простая и лаконичная основа для изоморфного приложения, которую я также выделил в отдельный репозиторий — ractive-isomorphic-starterkit. В этой части мы начнем писать приложение RealWorld, но сначала осуществим декомпозицию. Погнали!
image
Читать полностью »

У многих, кто интересуется домашней автоматизацией ("Умный дом"), на слуху известные открытые системы автоматизации, на которых можно построить управление: OpenHab, MajorDoMo, Home Assistant, Domoticz, HomeBridge. Но если немного расширить диапазон наблюдения, то можно обнаружить множество программных систем, которые могут предложить схожий функционал, а местами даже больший. Сегодня, расскажу об одной из них — ioBroker. Расскажу обзорно, без погружения в подробности реализации, т.к. каждый элемент потребует отдельной статьи (если потребуется — будет статья).

ioBroker — открытая система автоматизации (обзор) - 1

Читать полностью »

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

Но, как это всегда бывает, за удобство придётся платить. В качестве агрегатора рассматривается PayKassa, так как позволяет со среднерыночными комиссиями принимать платежи анонимно, без необходимости подтверждения своей личности и данных о компании.

Читать полностью »

image Второе издание «Node.js в действии» было полностью переработано, чтобы отражать реалии, с которыми теперь сталкивается каждый Node-разработчик. Вы узнаете о системах построения интерфейса и популярных веб-фреймворках Node, а также научитесь строить веб-приложения на базе Express с нуля. Теперь вы сможете узнать не только о Node и JavaScript, но и получить всю информацию, включая системы построения фронтэнда, выбор веб-фреймворка, работу с базами данных в Node, тестирование и развертывание веб-приложений.

Технология Node все чаще используется в сочетании с инструментами командной строки и настольными приложениями на базе Electron, поэтому в книгу были включены главы, посвященные обеим областям. Внутри поста будет рассмотрен отрывок «Хранение данных в приложениях»
Читать полностью »

Node.js + face-recognition.js: простое и надёжное распознавание лиц с помощью глубокого обучения - 1

Перевод статьи Node.js + face-recognition.js: Simple and Robust Face Recognition using Deep Learning.

В этой статье мы расскажем, как реализовать надёжную систему распознавания лиц с использованием face-recognition.js. Мы искали подходящую Node.js-библиотеку, которая умела бы аккуратно распознавать лица, но ничего не нашли. Пришлось писать самостоятельно!

В этом npm-пакете используется библиотека dlib, предоставляющая Node.js-биндинги для очень хорошо зарекомендовавших себя инструментов распознавания внутри этой библиотеки. Dlib использует методы глубокого обучения и поставляется с уже обученными моделями, которые продемонстрировали точность распознавания на уровне 99,38% при прогоне бенчмарка LFW.
Читать полностью »

Программист Трэвис Фишер, перевод статьи которого мы публикуем сегодня, решил рассказать о самых полезных, с его точки зрения, модулях и вспомогательных инструментах для JS-разработки. Полезными он считает технологии, которыми пользуется постоянно и в ценности которых убедился на собственном опыте. В частности, речь пойдёт о библиотеках и утилитах, предназначенных для серверной и клиентской разработки на JavaScript. Трэвис говорит, что не стремился к тому, чтобы включить в свой материал нечто узкоспециализированное, или сделать что-то вроде очередного awesome-списка, которые сами по себе весьма полезны, но обычно оказываются несколько перегруженными. Здесь речь пойдёт лишь о том, самом лучшем, что он с полной уверенностью может порекомендовать другим.

image
Читать полностью »

Как написать генератор случайных чисел и можно ли предсказать Math.random? - 1

Вы когда-нибудь задумывались, как работает Math.random()? Что такое случайное число и как оно получается? А представьте вопрос на собеседовании — напишите свой генератор случайных чисел в пару строк кода. И так, что же это такое, случайность и возможно ли ее предсказать?

Меня очень увлекают различные IT головоломки и задачки и генератор случайных чисел — одна из таких задачек. Обычно в своем телеграм канале я разбираю всякие головоломки и разные задачи с собеседований. Задача про генератор случайных чисел набрала большую популярность и мне захотелось увековечить ее в недрах одного из авторитетных источников информации — то бишь здесь, на Хабре.

Данный материал будет полезен всем тем фронтендерам и Node.js разработчикам, кто на острие технологий и хочет попасть в блокчейн проект/стартап, где вопросы про безопасность и криптографию, хотя бы на базовом уровне, спрашивают даже у фронтендеров.
Читать полностью »

Хочу поделиться тем, как приватный режим Safari привел к разработке простого ключ-значение хранилища на Node.js с резервным копированием, доступом к данным с определенных доменов и защитой паролем от записи и очистки хранилища.

Онлайн имплементация localStorage - 1

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

Задача была решена и работала следующим образом:

  1. неавторизованный пользователь кликает на магазин (ссылка «_blank»);
  2. в новом окне отображаются тестовые товары, а в iframe мы перенаправляем пользователя в профиль тестового пользователя и ждем появления данных покупки в localStorage;
  3. после совершения покупки, данные о ней сохраняем в localStorage (сумма, количество, магазин, время покупки и количество бонусов)
  4. в iframe при появлении данных тестовой покупки в localStorage, мы отображаем информацию в блоке «история покупок»;

Все работало в большинстве браузеров, и даже в IE11, но только не в Safari, чья политика безопастности (более известный как porno-mode) не разрешала получить доступ к данным localStorage одного и того же домена внутри iframe и снаружи (в новом окне).

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

В предыдущей части туториала мы научили наше изоморфное приложение проксировать запросы к backend api, с помощью сессии передавать начальный стейт между синхронными запросами и осуществлять Server-side rendering с возможностью переиспользования разметки на клиенте (hydrate). В этой части мы решим еще две ключевые проблемы изоморфных веб-приложений: изоморфный роутинг и навигация, и повторный фетчинг и начальное состояние данных. И сделаем это буквально 5-ю строками кода. Погнали!

image
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js