В. Привет! Можете ли вы назвать свое имя, чем вы занимаетесь и / или чем занимается ваша компания?

A. Меня зовут Джо Хэнли, я программист полного цикла в Capital One. Мы банк, компания, выпускающая кредитные карты, и поставщик финансовых услуг, но в душе нам нравится думать о себе как о компании, занимающейся данными и технологиями. Я работаю в нашем офисе в Сан-Франциско над внутренним инструментом, который мы используем для отслеживания нашего взаимодействия с другими компаниями.

Как твой день?

Мой день пока идет отлично! Я зашел в офис всего час назад и начал работать над ошибкой, которую мы обнаружили вчера. Я очень рад закончить это и запустить исправление в производство, так как после этого мне предстоит поработать над классной пилотной работой для Amazon Neptune.

Расскажите мне историю npm в вашей компании. Какую конкретную проблему вам удалось решить с помощью этого npm?

npm используется повсюду в Capital One! Быстрый поиск в нашем частном Github показывает более 9000 файлов package.json на корневом уровне репо. Моя текущая команда использует npm в качестве менеджера пакетов для каждого компонента нашего проекта - нашего интерфейса Angular, нашего уровня оркестрации, нашего бэкенда Node.js, нашего мобильного приложения NativeScript и всех наших микросервисов Lambda. Мы любим npm по нескольким причинам.

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

Во-вторых, поскольку мы используем npm во всех наших проектах, новым членам команды очень легко запустить каждый из компонентов локально. После того, как они установили и заработали один компонент, остальные можно было легко запускать. В-третьих (и, возможно, самое главное), npm хорошо работает с нашей корпоративной средой. Он работает с нашим корпоративным прокси-сервером, и мы можем легко переключать его между нашим частным реестром и публичным по мере необходимости.

Людям, которые не уверены, для чего можно использовать npm - как бы вы объяснили этот вариант использования?

npm отлично подходит для любого проекта на основе JavaScript, в котором вы хотите использовать внешние пакеты в своем коде. Мы используем его для всевозможных интерфейсных веб-проектов, API-интерфейсов Node.js и кросс-компиляции мобильных приложений. Также замечательно, если вы хотите, чтобы другие разработчики использовали ваш код в своих проектах.

Каково ваше повседневное использование npm?

Мой повседневный опыт работы с npm очень положительный. У меня очень редко возникают проблемы с ним, даже при переключении версий с помощью nvm. Одна часть опыта, которая мне действительно нравится, - это то, как легко находить новые пакеты. Часто я начинаю поиск в Google решения проблемы, с которой я сталкиваюсь, и первым результатом является страница реестра npm для пакета, который делает именно то, что мне нужно!

Вы бы порекомендовали другой организации или компании использовать npm и почему?

Абсолютно. npm делает именно то, что вам нужно, и делает это без особых проблем. Кроме того, он широко известен среди веб-разработчиков, поэтому многим новым сотрудникам он уже очень удобен. Наконец, он достаточно гибкий, чтобы удовлетворить большинство требований безопасности - как банк, Capital One предъявляет сверхжесткие требования к безопасности, и мы можем легко интегрировать npm в нашу экосистему.

Есть ли какие-нибудь интересные npm-материалы, которые ваша компания сделала публично, которые вы хотели бы продвигать?

Capital One начал открывать исходный код для ряда инструментов, которые мы разработали, управляя современной компанией, специализирующейся на банковских услугах и кредитных картах, и многие из них созданы с использованием npm. Ознакомьтесь с ними здесь.