Перейду сразу к главному. Си Джей Сильверио (C J Silverio), бывшая CTO компании NPM Inc., анносировала вчера новый распределенный реестр для пакетов Node.js
Рубрика «npm» - 3
Entropic — новый распределенный реестр пакетов для Node.js
2019-06-02 в 15:27, admin, рубрики: entropic, node.js, npm, Разработка веб-сайтовСоздаем монорепозиторий с помощью lerna & yarn workspaces
2019-04-20 в 7:52, admin, рубрики: javascript, jest, lerna, monorepo, npm, YARN, yarn workspaces, архитектура, монорепозиторий
За последние несколько лет концепция монорепозиториев успешно зарекомендовала себя, так как позволяет значительно упростить процесс разработки модульных программных проектов, таких как инфраструктуры на основе микросервисов. Основные преимущества такого архитектурного подхода очевидны на практике, поэтому предлагаю создать свой тестовый монорепозиторий с нуля, попутно разбираясь в нюансах работы с yarn workspaces и lerna. Ну что ж, начнём!
Рассмотрим структуру нашего проекта, который будет представлять собой три библиотеки расположенные в папке packages/, а также package.json в корневой директории.
├── package.json
└── packages
├── app
│ ├── index.js
│ └── package.json
├── first
│ ├── index.js
│ └── package.json
└── second
├── index.js
└── package.json
Подразумевается, что у нас есть две независимые библиотеки first и second, а также библиотека app, которая будет импортировать функции из первых двух. Для удобства все три пакета помещены в директорию packages. Можно было оставить их в корневой папке или поместить в директорию с любым другим именем, но, для того чтобы следовать общепринятым конвенциям, мы разместим их именно таким образом.
Читать полностью »
Какие инструменты сетевого мониторинга выбились в лидеры по версии Gartner
2019-03-12 в 15:03, admin, рубрики: appneta, ca technologies, Cisco, gartner, network performance monitoring, npm, Riverbed, solarwinds, Исследования и прогнозы в IT, сетевой мониторингВ феврале 2019 года Gartner выпустил новый Magic Quadrant for Network Performance Monitoring and Diagnostics (MQ for NPMD). NPMD инструменты — это решения для мониторинга сетевого трафика и инфраструктурных метрик сетевых устройств. Большая часть вендоров поставляет комплексные решения и сетевой мониторинг — один из компонентов таких решений. В статье сравню новый квадрант NPMD 2019 года с предыдущим и посмотрим что там изменилось. В конце статьи ссылки на оригиналы отчётов, где можно узнать подробности об изменениях по каждому вендору.
How to setup front-end project with automated formatting, linting, testing and auto-generated documentation
2019-01-15 в 13:16, admin, рубрики: 444, commitizen, continuous integration, conventional-changelog, devops, front-end, how-to, husky, javascript, npm, prettier, project from scratch, tslint, typedoc, TypeScript, Программирование, Разработка веб-сайтовKeeping your code consistent and well formatted not an easy task even when you work alone. But when you work with a team or with open source project all start getting even harder. Everyone has own code style, someone doesn’t run tests, and no one writes documentation. This article will help you to set up all these things and even more — automate this routine to never do it manually.
After reading you will get your own npm-ready project with next features:
[] 12 странных вещей, которые могут произойти после установки npm пакета
2019-01-15 в 9:11, admin, рубрики: javascript, npm, security, информационная безопасностьПару месяцев назад я начал заниматься проектом под названием malicious-packages (ака "вредоносные пакеты"). Он следит за обновлениями в npm репозитории, скачивает все новые модули, а затем проверяет их на вшивость — ищет сетевую активность, подозрительные операции с файловой системой и т.д. Даже маленькие проекты на node.js часто имеют большое дерево зависимостей, и у разработчиков физически нет возможности проверить их все. Это даёт злоумышленникам огромный простор для манёвра, и возникает вопрос — сколько же всякой гадости прячется по тёмным углам npm registry? 180000 проверенных пакетов спустя я получил примерный ответ.
Рассказ о возмутительной лёгкости взлома инфраструктуры разработки современного ПО
2018-12-24 в 9:00, admin, рубрики: npm, безопасность, Блог компании RUVDS.com, информационная безопасностьВ конце октября появилось сообщение о проблеме в чрезвычайно популярном Node.js-инструменте nodemon. Дело было в том, что в консоль выводилось предупреждение следующего содержания: DeprecationWarning: crypto.createDecipher is deprecated
. Подобные оповещения об устаревших возможностях — не редкость. В частности, это сообщение выглядело вполне безобидно. Оно относилось даже не к самому проекту nodemon, а к одной из его зависимостей. Эта мелочь вполне могла остаться никем не замеченной, так как, во многих случаях, подобные проблемы решаются сами собой.
Примерно через две недели после первого упоминания этой проблемы Айртон Спарлинг всё проверил и выяснил, что причиной предупреждения была довольно глубокая новая зависимость. Сообщение исходило из странного фрагмент кода в конце минифицированного JavaScript-файла, которого в более ранних версиях библиотеки не было, и который, из более поздней её версии, был удалён. Исследование Айртона привело его к популярному npm-пакету event-stream, который загружается примерно два миллиона раз в неделю, и до недавнего времени находился под контролем опенсорс-разработчика, обладающего хорошей репутацией.
Читать полностью »
Инструмент автоматизации управления версиями
2018-12-22 в 14:19, admin, рубрики: cli, command line, javascript, node.js, npm, open source, package, version, versioning, versionings, автоматизация, версионирование, версияВсем привет!
Всегда было интересно, что такое версии продукта и как ими управлять? Как автоматизировать управление версиями разработки? Прошу под кат.
Есть идея: система разрешений для npm-пакетов
2018-12-13 в 9:06, admin, рубрики: javascript, node.js, npm, безопасность, Блог компании RUVDS.com, информационная безопасность, разработка, Разработка веб-сайтовНесколько дней назад я впервые запустил калькулятор на новом телефоне и увидел такое сообщение: «Калькулятор хотел бы получить доступ к вашим контактам».
Сначала мне это сообщение показалось немного грустным (похоже, калькулятору было одиноко), но этот случай заставил меня задуматься…
Читать полностью »
Бэкдор в одной из зависимостей библиотеки EventStream
2018-11-27 в 7:13, admin, рубрики: bitpay, Copay, EventStream, github, npm, open source, Блог компании GlobalSign, бэкдор, зависимости, информационная безопасность, Криптовалюты
Еженедельно из репозитория NPM загружается более 1,9 миллионов копий библиотеки EventStream. Она используется во многих крупных проектах для простой и удобной работы с потоками в Node.JS. Среди прочих, эта библиотека обрабатывает потоки и в популярном криптокошельке Copay (впрочем, об этом позже).
21 ноября 2018 года случилось странное. GitHub-пользователь @FallingSnow сообщил, что в одной из зависимостей event-stream спрятан вредоносный код, который фактически представляет собой бэкдор неизвестной функциональности.
Пользователи начали разбираться, откуда взялся этот вредоносный код. Это очень интересная и поучительная история. К сожалению, она может иметь долговременные последствия для многих open-source проектов.
Читать полностью »
node.js serverside — работа над ошибками. Часть 1
2018-11-25 в 9:02, admin, рубрики: javascript, node.js, npmДобрый день.
Эта статья ориентирована на разработчиков, имеющих представление о node.js.
Недавно готовил материал по фактам, которые полезно знать разработчикам под node.js в нашей конторе. Проекты, над которыми мы работаем — это API сервисы, использующие модуль node.js express в качестве веб-сервера. Материал основан на реальных случаях, в которых код работал неправильно или логика в нём была тщательно скрыта или он провоцировал ошибки при расширении. На основе этого материала был проведён семинар по повышению квалификации сотрудников.
Вот, решил поделиться. Пока только первая часть, это около 30%. Если будет интересно, последует продолжение!
Я старался предоставить возможность быстрого ознакомления, поэтому примеры, рассуждения и комментарии спрятал в спойлерах. Если утверждения очевидны, "воду" можно пропустить. Хотя наши "грабли" в спойлерах тоже могут быть интересны.
Один коллега при проведении семинара задал мне вопрос, зачем об этом говорить, если всё и так есть в той или иной документации. Мой ответ был следующий. Несмотря на то, что посыл верен, всё действительно есть в документации, мы по-прежнему делаем досадные ошибки, связанные с непониманием или незнанием базовых вещей.
Приступим!
Виртуальная машина node.js
Однопоточность
В отличие от javavm, nodejs-vm является однопоточной**.