По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Эта статья послужит хорошим руководством по вашему любимому верному спутнику Node.js – npm. Node.js штурмует мир с 2009 года. Сотни тысяч систем были построены с помощью Node.js, что побудило сообщество разработчиков заявить, что «JavaScript поглощает программное обеспечение». Одним из составляющий успеха Node стал npm – его популярный диспетчер пакетов, который позволяет разработчикам JavaScript быстро и легко обмениваться полезными пакетами, такими как lodash и moment. На момент написания этой статьи npm поспособствовал публикации более 1,3 миллионов пакетов с еженедельной загрузкой более 16 миллиардов! Эти цифры являются фантастическими для любого программного инструмента. Итак, а теперь давайте поговорим о том, что же такое npm. Что такое NPM? NPM, или Node Package Manager, - это диспетчер пакетов для среды выполнения JavaScript Node.js. Он также известен как “Ninja Pumpkin Mutants", "Nonprofit Pizza Makers", а также множество других случайных имен, с которыми вы можете поэкспериментировать и, возможно, внести свой вклад в расширения npm. NPM состоит из двух основных частей: инструмент CLI (command-line interface – интерфейс командной строки) для публикации и загрузки пакетов онлайн-репозиторий, в котором размещаются пакеты JavaScript. Для более наглядного представления можно представить, что репозиторий npmjs.com – это распределительный центр, который получает пакеты товаров от продавцов (авторов пакетов npm) и распространяет их среди покупателей (пользователей пакетов npm). Для того, чтобы облегчить данный процесс, в распределительном центре npmjs.com работает армия трудолюбивых вомбатов (CLI), которые назначаются в качестве личных помощников для каждого отдельного клиента npmjs.com. таким образом, пакеты доставляются разработчикам JavaScript следующим образом: А процесс публикации пакеты для ваших коллег по JavaScript выглядит примерно так: Ну и да, вомбаты не настоящие, если что, а для наглядности :) Давайте посмотрим, как же эта армия вомбатов помогает разработчикам, которые хотят использовать пакеты JavaScript в своих проектах. Мы также будем наблюдать то, как они помогают мастерам по открытом исходному коду выпускать свои потрясающие библиотеки в свет. package.json Каждый проект в JavaScript – будь то Node.js или приложение браузера – может рассматриваться как пакет npm с собственной информацией о пакете и функциями package.json для описания проекта. Можно представить, что package.json – это этикетки на коробках с npm, которые доставляет ваша армия вомбатов. package.json создается при запуске npm init для инициализации проекта JavaScript/Node.js со следующими основными метаданными, предоставленными разработчиками: name: имя вашей библиотеки/проекта JavaScript. version: версия вашего проекта. Часто при разработке приложений этим полем пренебрегают, так как нет очевидной необходимости в управлении версиями библиотек с открытым исходным кодом. Но тем не менее, эта информация может пригодиться в качестве источника версии развертывания. description: описание проекта. license: лицензия на проект. npm-скрипты package.json также поддерживает scripts (скрипты), которые можно определить для запуска инструментов командной строки, установленных в локальном контексте проекта. Например, скрипты проекта npm могут выглядеть примерно так: { "scripts": { "build": "tsc", "format": "prettier --write **/*.ts", "format-check": "prettier --check **/*.ts", "lint": "eslint src/**/*.ts", "pack": "ncc build", "test": "jest", "all": "npm run build && npm run format && npm run lint && npm run pack && npm test" } } При этом eslint, prettier, ncc, jest не обязательно должны быть установлены как глобальные исполняемые файлы, а скорее даже как локальные для вашего проекта внутри node_modules/.bin/. Недавнее введение npx позволяет запускать эти команды в области видимости проекта node_modules точно так же, как глобально установленную программу, просто добавив префикс npx ... (то есть npx prettier --write **/*.ts). dependencies VS devDependencies Эти двое представляют собой объекты типа «ключ-значение», где ключ – это имена библиотек npm, а значение – это их версии в семантическом формате. Ниже представлен пример шаблона действия TypeScript на GitHub: { "dependencies": { "@actions/core": "^1.2.3", "@actions/github": "^2.1.1" }, "devDependencies": { "@types/jest": "^25.1.4", "@types/node": "^13.9.0", "@typescript-eslint/parser": "^2.22.0", "@zeit/ncc": "^0.21.1", "eslint": "^6.8.0", "eslint-plugin-github": "^3.4.1", "eslint-plugin-jest": "^23.8.2", "jest": "^25.1.0", "jest-circus": "^25.1.0", "js-yaml": "^3.13.1", "prettier": "^1.19.1", "ts-jest": "^25.2.1", "typescript": "^3.8.3" } } Эти пакеты, от которых зависит приложение, (dependencies) устанавливаются с помощью команды npm install с флагами --save и --save-dev. Они предназначены для использования в эксплуатационной среде и среде разработки/тестирования соответственно. В следующем разделе мы рассмотрим подробнее, как установить эти пакеты. Между тем, важно понимать, что означают знаки, которые могут стоять перед семантической версией (при условии, что вы ознакомились с моделью semver major.minor.patch): ^: последний второстепенный выпуск. Например, спецификация ^1.0.4 может установить версию 1.3.0, если это последняя дополнительная версия основной серии 1. ~: последний выпуск исправления. Аналогично ^ для второстепенных выпусков – спецификация ~1.0.4 может установить версию 1.0.7, если это последняя второстепенная версия во второстепенной серии 1.0. Все точные версии пакетов будут задокументированы в созданном файле package-lock.json. package-lock.json Этот файл описывает точные версии пакетов, используемых в проекте JavaScript npm. Если package.json - это общая описательная этикетка, то package-lock.json - это список ингредиентов. И точно так же, как мы обычно не читаем список ингредиентов продукта (если только вам совсем нечем себя занять или вам действительно нужно знать состав), так и package-lock.json не предназначен для того, чтобы разработчики читали его построчно (если только вы отчаянно не пытаетесь решить проблемы из области «как это работает»). package-lock.json обычно создается с помощью команды npm install, а также считывается нашим инструментом NPM CLI, чтобы обеспечить воспроизведение сред сборки для проекта в помощью npm ci. Как эффективно управлять NPM в качестве «покупателя» Учитывая тот факт, что было опубликовано 1,3 миллиона пакетов, а загрузок было 16 миллиардов, можно сделать вывод, что большинство пользователей npm используют его именно для загрузки пакетов. Поэтому стоит знать, как пользоваться этим мощным инструментом. npm install Это наиболее часто используемая команда при разработке приложений JavaScript/Node.js. По умолчанию команда npm install устанавливает последнюю версию пакета со знаком версии ^. Команда npm install в контексте проекта npm загружает пакеты в папку node_modules проекта в соответствии со спецификациями package.json, обновляя версию пакета (и, в свою очередь, повторно создавая package-lock.json) везде, где это возможно, основываясь на соответствиях версии ^ и ~. Вы можете указать глобальный флаг -g, если хотите установить пакет в глобальном контексте – вы сможете использовать его в любом месте на вашем компьютере (это обычно используется для пакетов инструментов командной строки, таких как like-server). npm делает установку пакетов JavaScript настолько простой, что эту команду часто используют неправильно. Это приводит к тому, что npm становится предметом огромного количества шуток со стороны программистов, таких как эти: Здесь на помощь приходит флаг --production! В предыдущем разделе мы обсудили dependencies и devDependencies, предназначенные для использования в эксплуатационной среде и среде разработки/тестирования соответственно. Этот флаг определяет то, как создаются отличительные признаки в node_modules. Добавив этот флаг к команде npm install, мы сможем устанавливать пакеты только из dependencies, тем самым резко уменьшая размер наших модулей node_modules до необходимого для запуска и работы наших приложений. npm ci Итак, если команда npm install --production оптимальна для эксплуатационной среды, то существует ли команда, которая будет оптимальная для моей локальной разработки и настройки тестирования? Ответ: npm ci. Точно так же, как если package-lock.json еще не существует в проекте, то он генерируется всякий раз при вызове команды npm install, npm ci использует этот файл для загрузки точной версии каждого отдельного пакета, от которого зависит проект. Именно так мы можем убедиться в том, что контекст нашего проекта остается одинаковым на любом оборудовании, будь то наши ноутбуки, которые мы используем для разработки, или среды сборки CI (Continuous Integration – непрерывная интеграция), такие как Github Actions. npm audit Из-за огромного количества пакетов, которые были опубликованы и могут быть легко установлены, пакеты npm уязвимы из-за недобросовестных авторов с недобрыми намерениями. Понимая, что в экосистеме возникла проблема, организация npm.js предложила ввести команду npm audit. Она поддерживает список брешей в системе безопасности, с помощью которых разработчики могут проверять свои пакеты с помощью этой команды. npm audit предоставляет разработчикам информацию об уязвимостях и о том, существуют ли версии с исправлениями для обновления. Например: Если исправления доступны в следующих некритических обновлениях версии, то команду npm audit fix можно использовать для автоматического обновления версий затронутых пакетов. Как эффективно управлять NPM в качестве «продавца» Мы рассмотрели, как использовать инструмент NPM CLI в качестве потребителя, но что насчет его эффективного использования в качестве автора (и, возможно, становления мастером JavaScript по открытому исходному коду?)? npm publish Отправить пакет в распределительный центр npmjs.com очень просто – достаточно просто запустить команду npm publish. Сложность заключается в определении версии пакета, но она не относится к авторам пакетов npm. Практическое правило согласно semver.org: ОСНОВНАЯ (MAJOR) версия при внесении несовместимых изменений API; ВТОРОСТЕПЕННАЯ (MINOR) версия при добавлении функциональности и сохранении совместимости; Версия ИСПРАВЛЕНИЯ (PATCH) при исправлении ошибок и сохранении совместимости с предыдущими версиями. Это очень важно – следовать приведенному выше правилу при публикации ваших пакетов, чтобы не нарушать чей-либо программный код, так как соответствие версий по умолчанию в npm – ^ (она же следующая второстепенная версия).
img
Беспроводные решения вендора MikroTik для сегмента SOHO (Small Office, Home Office) - являются крайне универсальными, и, кроме того, они крайне гибки в плане настроек беспроводных интерфейсов в “простом” режиме. SOHO продукты - продукты для маленького и/или домашнего офиса Однако, присутствует также “продвинутый” режим, в котором можно произвести более качественную настройку многих фич. Во многих SOHO моделях, к примеру - RB-750 и RB-951 уже установлены приемлемые заводские настройки, но если произвести несколько изменений - качество подключения может сильно возрасти и, более того, позволить одновременное подключение большего количества пользователей. Это может сыграть роль, если вы используете SOHO оборудование в небольшом филиале, в котором более десяти пользователей. Особенно учитывая тот факт, что все они используют смартфоны, планшеты и ноутбуки - нагрузка на сеть растет, и, если беспроводная инфраструктура настроена некорректно, все признаки плохого подключения будут видны невооруженным взглядом. Что делать? Следующие параметры могут сильно улучшить качество подключения: frequency-mode=regulatory-domain country=russia frequency=auto channel-width=20mhz wireless-protocol=802.11 distance=indoors Для того чтобы применить эти настройки, просто скопируйте и вставьте команду ниже: Данная команда предназначена для маршрутизаторов RB751/951 /interface wireless set wlan1 mode=ap-bridge wireless-protocol=802.11 frequency=auto band=2ghz-b/g/n channel-width=20mhz distance=indoors frequency-mode=regulatory-domain country="russia" Очевидно, что первый параметр отвечает за регион - в нашем случае, это Россия. Кроме того, в настоящий момент некоторые из этих опций являются стандартными в последней версии RouterOS, однако, почему-то не всегда они установлены корректно. Также, детальную информацию о данных настройках не всегда можно найти в документации MikroTik, но, по опыту, эти настройки действительно улучшают производительность беспроводной сети. Проверить производительность вашей сети можно проверить на вкладке “Status” информации о беспроводном интерфейсе, вам нужно поле Overall Tx CCQ (Client Connection Quality). Ниже пример на одном из RB-951 - обратите внимание на очень высокий показатель 97%: Однако, при установке более новых моделей RB-951 со стоковыми настройками, чаще всего был замечен показатель в районе CCQ < 60%, и это явный знак того, что есть куда двигаться в плане качества подключения. Заключение Мы рекомендуем мониторить CCQ в течение нескольких часов на загруженной беспроводной сети, чтобы определить средний уровень, и, затем, применить рекомендованные настройки по очереди, чтобы понять, как они влияют на показатель. Не все из этих настроек универсальны для всех инсталляций, но если вы заметите улучшение CCQ на 10-20% - пользователи обязательно это оценят.
img
В больших корпоративных сетях по мере развития и увеличения размеров сети, конфигурация и управление традиционными ручными методами становятся сложнее. В настоящее время, помимо традиционных локальных и глобальных сетей, организации располагают облачной инфраструктурой, Интернетом вещей, программно-определяемыми сетями и другими технологиями, расширяющими охват и число подключенных устройств. Организации должны иметь необходимые инструменты для управления растущей сложностью, масштабом и динамичностью современной инфраструктуры. Эти средства в идеале должны позволять администраторам вносить изменения на сотнях или тысячах маршрутизаторов, коммутаторов, контроллеров и других сетевых устройств в различных локальных и облачных средах. В частности, решения по управлению конфигурацией сети (NCM - Network Configuration Management) позволяют организациям непрерывно отслеживать свои сети, отслеживать изменения конфигурации и восстанавливать прежние состояния при неправильных конфигурациях. Организация также может использовать средства для удаленной отправки обновлений микропрограммного обеспечения на сетевые устройства. На рынке существуют много инструментов с различным функционалом. Некоторые инструменты предоставляют только базовые функции, другие имеют дополнительные функции, вроде создание отчетов, оповещения, возможности обеспечения безопасности, аудит и проверка на соответствие нормативам на устройствах разных производителей и многое другое. Помимо вышеперечисленных функций, желательно использовать инструмент NCM, который позволяет сделать базовую или оптимальную рабочую конфигурацию при сбое сети. Охват каждой функции, а также представление могут отличаться от инструмента к интсрументу. Аналогично, стоимость, масштабируемость или емкость могут изменяться соответствующим образом, и рекомендуется выбрать инструмент, отвечающий текущим и будущим требованиям. Ниже приведен список лучших решений для управления конфигурацией сети, которые помогут сделать правильный выбор. 1. rConfig rConfig может обнаруживать все устройства в сети и упрощать задачи управления конфигурацией. Инструмент включает в себя автоматизацию, настраиваемые сценарии, управление соответствием требованиям, резервное копирование конфигурации, отчеты и многое другое. Ключевые функции Простое в использовании средство управления конфигурацией и обеспечения соответствия нормативным требованиям с широкими возможностями ведения журнала, которые позволяют выявлять и устранять различные сетевые проблемы Высокая настраиваемость с возможностью создания снимков arp-таблиц, mac-адресов, таблиц маршрутизации и состояния других устройств по запросу. Возможность создания отчетов, уведомлений и оповещений в дополнение к повышению безопасности сетевых ресурсов. Позволяет делать частые снимки сетевых устройств Планирование ведения истории конфигураций отдельных устройств или категорий устройств. Затем можно использовать эту информацию для просмотра статуса любого. Есть бесплатный план. 2. Batfish Batfish - это средство анализа конфигурации сети с открытым исходным кодом, которое помогает администраторам автоматизировать изменения конфигурации для облачных и локальных сетей. Это помогает сетевикам выявить влияние изменений конфигурации до их применения. Следовательно, это позволяет администраторам заранее решать сетевые проблемы, которые могут поставить под угрозу безопасность или привести к сбоям. Ключевые функции Выдает представление о поведении сети в облаке или локальной инфраструктуре. Внесение необходимых изменений без ущерба для производительности, доступности и безопасности сети. Непрерывный мониторинг сети для понимания состояния безопасности и обнаружения уязвимостей. Карта сети в реальном времени с подробной и точной информацией о состоянии сети Создание и визуализация сетевых путей через облачные, локальные и гибридные сети Функция изолированной программной среды, позволяющая проверить изменения конфигурации перед их применением. 3. SolarWinds SolarWinds Network Configuration Manager - это многофункциональное интеллектуальное средство, которое автоматизирует такие задачи по настройке сети, как управление изменениями, резервное копирование, восстановление, проверка соответствия нормативам и многое другое. Инструмент NCM позволяет укреплять защиту сети, изменять конфигурации, создавать резервные копии настроек, сравнивать настройки, обнаруживать и устранять неправильные конфигурации с минимальными усилиями. Ключевые функции Мониторинг конфигураций, обнаружение изменений и быстрый откат для восстановления после неправильной конфигурации, несанкционированных изменений или отказа устройства. Проверка конфигураций для обеспечения безопасности и соответствия различным предопределенным и индивидуальным нормативным стандартам, а также политике организации. Создает и поддерживает доступную для поиска инвентаризацию всех сетевых устройств. Масштабируемая платформа позволяет управлять тысячами устройств разных производителей, максимально увеличивая время работы и надежность сетевых служб. Настройка отправки ежедневных отчетов по электронной почте для выявления несанкционированных изменений и времени изменения. Изменение конфигурации сразу нескольких устройств позволяет сэкономить время и минимизировать количество ошибок. Обеспечивает мониторинг, отчеты об ошибках, предупреждения и корректирующие действия при возникновении проблем, вроде сбоя резервного копирования. 4. ManageEngine ManageEngine Network Configuration Manager - это мощное средство, предоставляющее функции автоматизированной сквозной настройки сети, управления и обеспечения соответствия нормативным требованиям. Средство позволяет администраторам обнаруживать изменения конфигурации, а также несоответствия на различных сетевых устройствах. Ключевые функции Расширяет возможности управления конфигурациями сетевых устройств с помощью веб-интерфейса, позволяющего отслеживать действия пользователей, отправлять обнаруживать мгновенные уведомления при изменениях. Автоматическое резервное копирование конфигурации и откат при неправильных конфигурациях, сбоях или несанкционированных изменениях Удаленная настройка и управление – можно использовать мобильное приложение для мониторинга сети и определения изменений конфигурации. Централизованное безопасное место хранения файлов конфигурации в зашифрованном виде Выполнение массовых сетевых операций на нескольких устройствах из одного центра. Аудит конфигураций устройств для обеспечения соответствия требованиям HIPAA, PCI, SOX, Cisco IOS, а также пользовательским требованиям Поиск, проверка и управление конфигурацией устройств от более чем 200 различных поставщиков Автоматически приостанавливать использование скомпрометированных учетных записей пользователей. 5. WhatsUp Gold WhatsUp Gold - это инструмент высшего класса для управления конфигурацией, поддерживающий все размеры и типы сетей. Она включает в себя все необходимые функции, включая управление, автоматизацию, резервное копирование, аудит, проверка на соответствие нормативным требованиям и многое другое. Ключевые функции Автоматизирует широкий спектр задач управления сетью, таких как настройка, мониторинг, добавление и удаление сетевых устройств и т.д. Автоматическое обнаружение и создание подробной и интерактивной карты устройств сетевой инфраструктуры, конфигураций, серверов, виртуальных машин, потоков трафика и т.д. Обеспечивает мониторинг и полную видимость производительности и состояния серверов, сетевых устройств и приложений в локальных и облачных средах. Проверка и обеспечение соблюдения стандартов PCI, SOX, HIPAA, DSS, FISMA и других нормативных актов. Резервное копирование сетевых конфигураций и автоматический возврат к предыдущему рабочему состоянию при сбое новой или существующей конфигурации. Удобный веб-интерфейс пользователя и настраиваемая панель мониторинга Улучшенная отчетность, уведомления и своевременное и точное оповещение об изменениях конфигурации. 6. TrueSight Система StartSight Automation for Networks от BMC, ранее известная как BleyLogic Network Automation, является мощным инструментом, который помогает автоматизировать управление изменениями конфигурации сети. Она обладает дополнительными функциями для повышения безопасности, эффективности и соответствия нормативным требованиям. Кроме того, она позволяет администраторам легко и быстро обнаруживать изменения конфигурации сети при меньших затратах. Ключевые функции Более быстрое изменение или обновление конфигурации на нескольких сетевых устройствах. Отслеживание изменений конфигурации и автоматический откат при возникновении проблем. Анализ, обнаружение и реагирование на угрозы с помощью функции автоматизированного управления уязвимостями. Эта функция позволяет администраторам получать доступ к данным и быстро реагировать на любые угрозы безопасности на различных сетевых устройствах. Мониторинг конфигураций устройств в режиме реального времени, создание отчетов и просмотр состояния. Он также позволяет выполнять аудит соответствия и поиск и устранение неисправностей сетевых конфигураций. Обеспечение соответствия таким стандартам, как NIST, DISA, CIS, PCI, HIPPA, SOX, SCAP, DISA и другие, путем развертывания предварительно настроенных политик и автоматического устранения несоответствий. Установка обновлений и исправлений сетевых устройств с нулевым временем простоя. Это также позволяет отбирать проблемные изменения и восстанавливать удачные из резервной копии. Поддерживает мультивход, поэтому подходит для использования группами. 7. WeConfig WeConfig - это средство управления сетевыми конфигурациями и технического обслуживания для обеспечения простых и безопасных изменений конфигурации, обновлений устройств и модернизаций. Решение упрощает задачи управления конфигурацией, делая их простыми, эффективными и надежными. Автоматизация и массовое развертывание устраняют трудоемкие задачи установки, обслуживания и обслуживания вручную, экономя время администраторов. Ключевые функции Мониторинг предотвращает неправильные настройки, несоблюдение и другие проблемы, позволяя администраторам решать проблемы и минимизировать риски и время простоя. Проверка новой конфигурации перед ее применением и выполнение отката до рабочего состояния, если изменения приводят к сбоям. Уменьшение ошибок конфигурации и возврат к рабочей конфигурации в случае возникновения проблем. Улучшенное ведение журнала событий и оповещений Интегрируется с другими средствами диагностики для обнаружения и устранения проблем с производительностью и надежностью сети. Собирает и представляет всю сетевую информацию на одном месте. 8. Netline LineDancer Netline LineDancer (NetLD) - это простой в использовании многофункциональный инструмент NCM со всеми основными функциями и простым интерфейсом. Она позволяет управлять конфигурациями сетевых устройств и обнаруживать изменения, предоставлять сведения об оборудовании и программном обеспечении, отчеты об инвентаризации и многое другое. Ключевые функции Простой, мощный веб-интерфейс пользователя позволяет выполнять все задачи одновременно и легко вносить массовые изменения в конфигурацию. Автоматическое обнаружение изменений в конфигурациях Простота интеграции с другими средствами управления сетью Хорошая отчетность, аварийные сигналы и функции оповещения Сканирование сети, идентификация и регистрация всех совместимых устройств при создании снимков параметров настройки конфигурации каждого устройства. Масштабируемый и простой в установке инструмент с гибкими планами подписки 9. Pulseway Pulseway - это масштабируемый инструмент настройки и управления сетью с несколькими учетными записями, который работает с широком ассортиментом устройств. Платформу управления сетью можно разместить на сервере Pulseway, в локальном или облачном центре обработки данных. Он работает на основных операционных системах Windows, Linux, Mac и других системах, поддерживающих API Pulseway. Ключевые функции Настраиваемые правила и мгновенные оповещения об изменениях конфигурации, нарушениях и других проблемах Совместимость с большинством настольных и мобильных устройств Позволяет удаленно управлять коммутаторами, маршрутизаторами, брандмауэрами и другими устройствами Встроенные отчеты с подробной информацией о состоянии сети Интегрируется с другими инструментами, такими как Slack for notifications. Заключение Средства управления и мониторинга конфигурации сети повышают надежность, доступность и согласованность сетевых конфигураций и услуг. Как правило, эти решения позволяют администраторам управлять изменениями конфигурации, обновлениями микропрограммного обеспечения устройств и т.д. При поиске надежного инструмента убедитесь, что он позволяет задавать базовую линию, выполнять резервное копирование конфигураций и восстанавливать ранее сохраненные параметры настройки при неправильной настройке или сбое.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59