
Всем привет!
Прошло целых полтора года с момента написания моей первой статьи на Хабре. С тех пор проект FOTM претерпел ряд изменений. В начале пройдёмся вкратце по всем модернизациям, а затем перейдём к детальному разбору основной фичи — AI.Читать полностью »
Рубрика «nodejs» - 11
Разработка AI для пошаговой игры на Node.js (часть 1)
2018-04-04 в 5:58, admin, рубрики: moba, node.js, nodejs, rpg, дерево решений, игровая механика, игростроение, игры, машинное обучение, нейронная сеть, разработка игр, теория игрОнлайн имплементация localStorage
2018-03-16 в 16:26, admin, рубрики: javascript, key-value, localStorage, mongodb, node.js, nodejs, onlineStorage, storage, хранилища данныхХочу поделиться тем, как приватный режим Safari привел к разработке простого ключ-значение хранилища на Node.js с резервным копированием, доступом к данным с определенных доменов и защитой паролем от записи и очистки хранилища.

Все началось с того, что мне дали задачу, реализовать тестовый заказ в веб-приложении, которая встроена через iframe в одном популярном ресурсе.
Задача была решена и работала следующим образом:
- неавторизованный пользователь кликает на магазин (ссылка «_blank»);
- в новом окне отображаются тестовые товары, а в iframe мы перенаправляем пользователя в профиль тестового пользователя и ждем появления данных покупки в localStorage;
- после совершения покупки, данные о ней сохраняем в localStorage (сумма, количество, магазин, время покупки и количество бонусов)
- в iframe при появлении данных тестовой покупки в localStorage, мы отображаем информацию в блоке «история покупок»;
Все работало в большинстве браузеров, и даже в IE11, но только не в Safari, чья политика безопастности (более известный как porno-mode) не разрешала получить доступ к данным localStorage одного и того же домена внутри iframe и снаружи (в новом окне).
Нужно где-то хранить промежуточные данные, привлечь к этой задачи бэкенд разработчиков для создания какого-либо API для хранения данных разрешения не получил, оставалось только найти какое-нибудь онлайн хранилище, с возможностью создание для каждого пользователя своего токена.
Читать полностью »
Модульное тестирование react компонетнов withRouter (jest, enzyme)
2018-03-05 в 13:51, admin, рубрики: airbnb, enzyme, javascript, jest, node.js, nodejs, ReactJS, веб-дизайн, Разработка веб-сайтовПри разработке модульных тестов для react компонента, обернутого в вызов withRouter(Component) столкнулся с сообщением об ошибке, что такой компонент может существовать только в контексте роутера. Решение этой проблемы очень простое и не должно по идее вызывать вопрсов. Хотя почему-то ссылки на документацию https://reacttraining.com/react-router/web/guides/testing Google упорно отказывался выдавать. Меня это совсем не удивляет, т.к. документация написано как чистое SPA-приложение без всякого там SSR и с точки зрения поисковой машины выглядит вот так:
Кому достаточно документации может на этом закончить чтение. А для себя я сделаю несколько заметок под катом.
Читать полностью »
Parcel — пишем плагин
2017-12-22 в 5:34, admin, рубрики: jade, javascript, node.js, nodejs, parcel, plugin, pug, TypeScript, Программирование, Разработка веб-сайтов
В прошлой статье я рассказал про новый бандлер Parcel, который не требует конфигурирования и готов к бою сразу после установки. Но что делать, если вдруг стандартного набора ассетов не хватает? Ответ прост — написать свой плагин.
Домашняя метеостанция на esp8266 + aqara-xiaomi, часть 2
2017-12-19 в 19:22, admin, рубрики: aqara, arduino, DHT22, diy или сделай сам, esp8266, nodejs, Raspberry Pi, xiaomi, Здоровье гика, Интернет вещей, метеостанция, погодная станция, умный домПривет всем.
Прошло уже полтора года с момента, как я опубликовал свою первую статью про мой проект Домашней метеостанции. За это время я получил многочисленные отзывы от читателей насчет функциональности и безопасности системы, а так же исправил порядочное количество багов, которые обнаружились при установке и развертывании системы у других пользователей (спасибо самым активным пользователям — HzXiO, enjoyneering, dimitriy16).

КДПВ.
Но это всё лирика, пора к делу!
Поиск проблем производительности NodeJs приложения (с примерами)
2017-12-14 в 10:56, admin, рубрики: cpu, infinite loop, inspect, node.js, nodejs, profilingИз-за однопоточной архитектуры Node.js важно быть настороже высокой производительности вашего приложения и избегать узких мест в коде, которые могут привести к просадкам в производительности и отнимать ценные ресурсы CPU у серверного приложения.
В этой статье речь пойдет о том, как производить мониторинг загрузки CPU nodejs-приложения, обнаружить ресурсоемкие участки кода, решить возможные проблемы со 100% загрузкой ядра CPU.
Понимаем и работаем с gulp
2017-12-13 в 14:40, admin, рубрики: async, browserify, gulp, javascript, nodejs, Stream, потокиВсем привет. Если вы связаны хоть как-то с JS, вы наверняка слышали о таком приложении как gulp. А возможно даже и использовали. По своему опыту могу сказать, что «въехать» в то, как с ним работать бывает сложно, хотя ключ к пониманию лежит на поверхности. Поэтому и публикую этот материал, надеясь, что он станет полезным.
Так же, на основе данного материала был снят видеоролик, так что можете выбирать, в каком виде потреблять.
Дуглас Крокфорд, Азат Мардан, Виталий Фридман и все-все-все: анонс бесплатной YouTube-трансляция HolyJS 2017 Moscow
2017-12-08 в 7:22, admin, рубрики: angular, AngularJS, graphql, headless browser, holyjs, holyjs2017moscow, javascript, JS, Node, node.js, nodejs, Puppeteer, React, ReactJS, TypeScript, Блог компании JUG.ru Group, Разработка веб-сайтовКоротко о событии
Конференция: HolyJS 2017 Moscow
Дата: 10-11 декабря 2017 года
Бесплатная трансляция (только первый зал): страница трансляции на официальном сайте.

Любой JavaScript-разработчик однажды задается вопросом: на какую конференцию по JavaScript сходить? Интересные доклады послушать, людей посмотреть, себя показать. В 2016 году мы пошли по тому же пути и обнаружили, что в России ничего подходящего на эту тему нет. Всевозможные митапы по фронту — пожалуйста. Но ведь JS давно уже не только фронт. Короче, мы решили исправить эту несправедливость и создали главную и единственную в России JavaScript-конференцию, HolyJS. На Холи бывает не только фронт, но и бэкенд, десктоп, и даже работа с железом. Теперь нам всем есть куда ходить, но это не конец истории.
В JavaScript-мире есть важнейшая особенность, которая отличает его от миров типа Java и .NET: технологии и фреймворки развиваются стремительно. Не попавшие на конференцию люди оказываются в невыгодном положении — мало кому хочется смотреть записи, устаревшие на 4 месяца. Обычно есть несколько фундаментальных докладов, которыми можно гордиться и пересматривать еще пару лет, но большая часть материала интересна и полезна в моменте: посмотрел, послушал, пошел использовать на работе. Всё это останется за пэйволлом? А как же комьюнити и чувство локтя? Нет ли в этом чего-то неправильного?
Теперь трансляцию первого зала можно смотреть бесплатно, с нашего сайта и на YouTube. Это позволяет всем желающим присоединиться к конференции и провести на ней все два дня. Прийти вживую было бы круче, но на этой полномасштабной трансляции можно по-настоящему погрузиться в тему и ощутить атмосферу происходящего.
Готовим свой UI-интерфейс к Zabbix API средствами React component
2017-12-06 в 8:20, admin, рубрики: docker, gulp, nodejs, openapi, ReactJS, swagger, zabbix api, Разработка веб-сайтовВсем привет!
Все началось с интеграции телефонной платформы в корпоративный сайт.
Будучи инженером VoIP телефонии, WEB-разработка поразила разнообразием подходов и методов реализации. Стек технологий пестрит разнообразием, выбор инструментов определяет стиль разработки, модульность или закостенелость проекта.
Про телефонную платформу я напишу в следующий раз. Сильный уклон в VoIP-специфику отвлечет от главного — методов разработки современного SPA-приложения.
В статье будет описан процесс внедрения стороннего сервиса в существующую рабочую среду.
Сегодня поиграемся с Zabbix-API.
Релиз второй версии плагина Nodejs для Sublime Text
2017-12-03 в 12:32, admin, рубрики: javascript, node.js, nodejs, plugin, python, sublime text 3Добрый день, друзья! В ноябре 2016 года я начал играться с плагином Nodejs для Sublime Text. Плагин был маленьким и имел под катом несколько давних и хорошо известных багов.
В те дни я игрался с Nodejs и моим любимым редактором для кода был Sublime Text. По давно проторенной дорожке, я пошел на packagecontrol.io и поискал плагины для Nodejs. Нашелся вот этот. Поставив и поработав, я был очень разочарован, когда обнаружил, что самые некоторые заявленные фичи плагина не работают, или работают не так как заявлено…
В таких ситуациях, я обычно, иду на страничку проекта на GitHub и изучаю проект на предмет последней активности, чтобы убедиться, что проект не заброшен. Я обнаружил, что последний коммит был в 2013 году. Печалька, подумал я, учитывая, что это был единственный плагин для работы с Nodejs в Sublime Text.
Тогда я подумал… Это две частички технологии, которые мне нравятся, и я всегда хотел контрибьютить в Open Source.
План был прост, фиксить баги, с которыми я столкнусь. С течением времени, я понял, что фикс багов начал доставлять проблемы, из-за монолитной архитектуры плагина, отсутствия тестов и инструментов для отладки.
Читать полностью »

