Пакетный менеджер NPM на прошлой неделе стал причиной сумятицы в связи с исчезновением маленького модуля left-pad, на который были установлены зависимости в Node, React, Babel и тысячах других пакетов. Чтобы не допустить такого в будущем, сейчас администрация NPM внесла изменения в правила. По новым правилам, автоматический отзыв модуля возможен только в течение 24 часов после публикации на сервере NPM. После этого времени отзыв допускается только с разрешения администрации.
Читать полностью »
Рубрика «Node» - 4
NPM запретил отзывать без разрешения open-source модули старше 24 часов
2016-03-30 в 13:06, admin, рубрики: babel, javascript, left-pad, Node, node.js, npm, open source, React, Веб-разработка, зависимости, пакетный менеджерВторой митап функциональных программистов в Москве (Erlang, Clojure и другие функциональные штуки)
2016-02-24 в 13:31, admin, рубрики: closure, erlang, Erlang/OTP, functional language, functional programming, functional thinking, javascript, Node, ruby, функциональное программирование
Что будет: доклады, пицца, общение, отличный вечер четверга.
Список заявленных докладчиков и тем под катом.
Читать полностью »
10 привычек довольного node.js разработчика
2016-02-23 в 8:28, admin, рубрики: ES6, es7, javascript, Node, npm, Блог компании Voximplant, Веб-разработка, Программирование, разработка
К концу 2015 года в распоряжении JavaScript разработчиков образовалось огромное количество инструментов. В этой экосистеме легко потеряться, поэтому успешные команды следуют выработанным правилам, которые позволяют не терять время и сохранять здоровье проектов. Под катом перевод статьи 2016 года от команды Heroku, в которой они рассказывают о десяти привычках веб разработчиков, у которых все работает и ничего не болит. Скорее всего 80% написанного вы уже знаете – тем интереснее вам будет прочитать об оставшихся двух приемах!
Читать полностью »
Amelisa. Оффлайн и реалтайм движок для React и Mongo
2016-02-21 в 7:05, admin, рубрики: crdt, data-engine, javascript, mongodb, Node, node.js, offline, ot, React, ReactJS, Realtime, Веб-разработка, разработка мобильных приложений
Написал недавно движок для синхронизации данных, имеющий первоклассную поддержку оффлайна. Например, можно уйти в оффлайн, изменять данные, закрыть браузер, открыть браузер, открыть сайт (выйти в онлайн) и данные смержатся без потерь. Также во время онлайна данные между клиентом и сервером синхронизируются в реальном времени. Хочу рассказать, в чём была идея, какие есть подобные решения/технологии и кому это может пригодиться.
Предлагаю вашему вниманию перевод статьи "Neon: Node + Rust".
Javascript программистам, которых заинтриговала rust-овская тема бесстрашного программирования (сделать системное [низкоуровневое] программирование безопасным и прикольным), но при этом ждущих вдохновений или волшебных пендалей — их есть у меня! Я тут поработал немного над Neon — набором API и тулзов, которые делают реально легким процесс написания нативных расширений под Node на Rust.
TL;DR:
Подъём Node.js – и почему он будет лидировать в разработке корпоративного ПО
2015-11-23 в 8:40, admin, рубрики: enterprise, enterprise architect, FeedHenry, Modulus, Node, node.js, nodejs, StrongLoop, Исследования и прогнозы в IT, Читальный залПоявившийся несколько лет назад язык программирования Node.js вызвал небывалый ажиотаж в среде разработчиков. Сегодня он продолжает развиваться и оставаться одним из самых востребованных на рынке.
В связи с этим, а также недавним релизом Node.js 5.1.0. предлагаем вам наш перевод статьи о преимуществах Node и причинах его стремительного развития.
Устранение загадочной ошибки «undefined is not a function» в V8
2015-04-19 в 12:26, admin, рубрики: chromium, Google Chrome, javascript, Node, node.js, nodejs, V8, новая Opera, ошибки в кодеДжаваскриптовая ошибка «undefined is not a function» довольно загадочна. Как раз поэтому определённым спросом пользуются разъяснительные статьи, из которых читатель, начинающий изучать программирование на JavaScript, способен узнать о том, что такая ошибка (попытка использовать неопределённое значение как функцию) чаще всего возникает при вызове несуществующего метода объекта (а такой вызов, в свою очередь, чаще всего происходит в случае опечатки в названии метода). Такой разъяснительной статьёю может послужить «Ошибки в JavaScript и как их исправить», например.
Однако и после разъяснений остаётся мысль о том, что обнаружение и устранение опечаток (да и других оплошностей при вызове методов) было бы много проще, если бы название «виновного» метода содержалось непосредственно в тексте появляющейся ошибки.
Так и вышло:
Improved exception messages: Goodbye "undefined is not a function". Hello "http://t.co/rMIELG5VoW is not a function" pic.twitter.com/3uykfrTK9O
— Addy Osmani (@addyosmani) 21 февраля 2015
Использование npm для глобальной установки приложений, наделённых GUI и основанных на nw.js
2015-03-03 в 9:25, admin, рубрики: cli, GUI, javascript, Node, node-webkit, node.js, nodejs, npm, nw.js, path, гипертекстовый векторный Фидонет, гипертекстовый Фидонет, графический интерфейс, графический интерфейс пользователя, командная строка, кросс-платформенность, метки: Node.js, NodeJSКоманда «npm install» в менеджере пакетов npm чаще всего употребляется для локальной установки зависимостей некоторого модуля, совершаемой в его подкаталоге «/node_modules».
Однако возможен и запуск этой команды с ключом «-g» (от слóва «global»). Он обеспечивает установку указанного ей пакета в некоторое глобальное (то есть общее для всей системы) место. Кроме того, в PATH (для последующего запуска из любого желаемого каталога) оказывается прописанною та команда, которая была указана в свойстве «"bin"» в файле package.json у установленного пакета.
Таким общим местом, согласно документации, под Windows служит подкаталог «/node_modules» в каталоге установки Node. В остальных же системах таким общим местом чаще всего оказывается каталог «/usr/local/lib/node_modules» (тогда как Node там устанавливается в каталог «/usr/local/bin»).
Обыкновенно этот подход употребляется для глобальной установки различных утилит, предназначенных для употребления из командной строки. Вот некоторые примеры:
- Команда «npm install jshint -g» обеспечивает появление в PATH команды «jshint», служащей для запуска JSHint.
- Команда «npm install browserify -g» обеспечивает появление в PATH команды «browserify», служащей для запуска Browserify.
- Команда «npm install less -g» обеспечивает появление в PATH команды «lessc», служащей для запуска Less.js.
Однако на CLI (на командной строке) свет клином не сошёлся — и читателям Хабрахабра должно уж вполне быть известно, что приложение на языке JavaScript, употребляющее API Node.js, можно снабдить и GUI (графическим интерфейсом пользователя), сочинённым на языках HTML и CSS. Для этого придётся и запускать такое приложение вместо Node на том движке, который до прошлого года назывался node-webkit, а в нынешнем (2015) году оказался 14 января переименованным в nw.js.
Ваши GUI-приложения также могут глобально быть установлены в системе из npm-пакета при помощи npm. Давайте поговорим об этом.
Операционные системы, потерянные и обретённые внебраузерным джаваскриптом
2015-02-21 в 22:47, admin, рубрики: Adobe PhoneGap, android, Apache Cordova, cordova, io.js, iojs, iOS, JXcore, mac os x, Node, Node OS, node-sqlite3, node-webkit, node.js, nodejs, NodeOS, npm, Nubisa, nw.js, OS X, phonegap, SpiderMonkey, sqlite, sqlite3, Windows 2003, Windows 2003 Server, Windows XP, кросс-платформенность, кроссплатформенность, метки: Node.js, Node.js, NodeJS, NodeJSВ прошлом году понятие «внебраузерный JavaScript» чаще всего означало движок Node.js (а не, допустим, Rhino или SpiderMonkey, сильно уступающие ему в популярности в этой области) или какой-нибудь итог его встраивания (например, node-webkit).
В нынешнем году в игру вступают форки Node (например, io.js), и их также начинают встраивать — например, проект node-webkit переименовался в nw.js, потому что теперь он использует не Node, а io.js (да и не WebKit, а Blink — с тех давних пор, как Chromium перешёл на этот движок).
Для программистов это означает, в частности, что может отвалиться (или, наоборот, появиться) поддержка той или иной операционной системы. Давайте поговорим об этом.
Какие операционные системы перестают поддерживаться?
Во-первых, первые версии io.js нельзя было установить на Windows XP, нельзя было установить и на Windows 2003. Ещё в середине января казалось, что с этим ничего нельзя поделать: объяснение «io.js компилируется в Visual Studio 2013 Windows Desktop Edition, потому что движок V8 стал полагаться на возможности C++11» воспринималось как приговор — однако затем разработчики поправили дело, так что в файле CHANGELOG.md ветви v1.x можно прочесть, что поддержка этих версий системы Windows возвратилась в io.js, начиная от версии io.js 1.0.3 (20 января).
Подобно кругам по воде, эти изменения прошли по всей экосистеме движков; например, в nw.js версии 0.12.0-alpha3 на поддержку ещё можно надеяться (хотя лично я ещё не успел погонять эту версию на Windows XP), а в предыдущих альфа-версиях её точно нет (потому что они основаны на более ранних версиях io.js).
Во-вторых, KaneUA 19 февраля упомянул, что io.js не поддерживает тридцатидвухбитные версии OS X, в отличие от Node.
Поддержка каких операционных систем может появиться?
Meteor. Разрабатываем TODO List
2014-11-11 в 20:14, admin, рубрики: javascript, JS, Meteor, Meteor.JS, Node, node.js, todolistВ данном уроке я не хочу обсуждать, почему метеор убийца веба, тем более я так не считаю, но определенную симпатию к этому фреймворку имею. Поэтому хочу показать с чего можно начать при разработке приложения на нем, какие есть пакеты и вообще, что такое этот метеор.
Сразу хочу сказать, что у меня нет большого опыта в разработке веб приложений. Я занимаюсь этим всего около двух лет, а с метеором знаком вообще лишь пару месяцев.
Еще хочу предупредить, что урок получился достаточно объемным, но кода в нем было написано в разы меньше, чем текста. Просто хочу поделиться опытом как можно использовать метеор не при создании простенького примера, и заострить внимание на различных моментах, которые я посчитал важными. Поэтому в уроке будет использоваться множество сторонних пакетов, облегчающих процесс разработки.
И еще одно предупреждение: в данном уроке будут использоваться следующие технологии для непосредственного написания примера:
- jade — html препроцессор;
- less — css препроцессор;
- coffeescript — язык программирования, компилируемый в javascript.
Видео, демонстрирующее приложение, полученное в ходе урока
И кому все еще интересно, добро пожаловать под кат.
Читать полностью »