Рубрика «зависимости»

Путаница зависимостей. Как я взломал Apple, Microsoft и десятки других компаний - 1

С тех пор как я начал учиться программировать, я восхищаюсь уровнем доверия, который мы вкладываем в простую команду, подобную этой:

pip install package_name

Читать полностью »

Как приложения без возможности выигрыша вытягивают у пользователей миллионы долларов - 1

Шеллз — медсестра из Хьюстона, ей 37 лет. Не менее двух часов в день они с мужем тратят на игру для смартфонов под названием Jackpot Magic.

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

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

Однако это не помешало Шеллз и её мужу всего за пару лет потратить на игру примерно 150 тысяч долларов. Она попросила использовать её внутриигровое имя, чтобы её семья не узнала, сколько денег она потратила на игру.

«Мы лежим на кровати рядом друг с другом, у нас есть два планшета, два телефона и компьютер, и везде запущены приложения, одновременно крутящие Reel Rivals», — рассказывает она. «Для нас двоих это стало нормой».

Jackpot Magic — это приложение, созданное расположенной в Сиэтле компанией Big Fish Games, одной из лидеров в отрасли социальных игр «free-to-play», в которые некоторые люди вложили тысячи долларов. У Big Fish Games есть ещё одно подобное приложение под названием Big Fish Casino. Оба считаются видеоиграми, что позволяет этой и другим компаниям не подпадать в США под жёстко регулируемую категорию азартных игр.
Читать полностью »

Как секретный ключ Huawei попал в прошивки маршрутизаторов Cisco - 1

Разработчики сканера IoT Inspector периодически проводят рутинную проверку прошивок разных производителей. Иногда находят уязвимости в устройствах Интернета вещей. Но последняя находка особенно удивительна. В прошивке маршрутизатора Cisco SG250 сканер нашёл несколько сертификатов и соответствующий секретный ключ сотрудника Futurewei Technologies, американской дочерней компании Huawei Technologies, по имени Гарри Ву (Garry Wu) с электронным адресом gary.wu1@huawei.com.

Но как они попали в прошивку маршрутизатора Cisco?
Читать полностью »

Бэкдор в одной из зависимостей библиотеки EventStream - 1

Еженедельно из репозитория NPM загружается более 1,9 миллионов копий библиотеки EventStream. Она используется во многих крупных проектах для простой и удобной работы с потоками в Node.JS. Среди прочих, эта библиотека обрабатывает потоки и в популярном криптокошельке Copay (впрочем, об этом позже).

21 ноября 2018 года случилось странное. GitHub-пользователь @FallingSnow сообщил, что в одной из зависимостей event-stream спрятан вредоносный код, который фактически представляет собой бэкдор неизвестной функциональности.

Пользователи начали разбираться, откуда взялся этот вредоносный код. Это очень интересная и поучительная история. К сожалению, она может иметь долговременные последствия для многих open-source проектов.
Читать полностью »

Вы как-нибудь задумывались, сколько версий одной и той же библиотеки затягивает ваша клиентская или серверная сборка? Мне вот в какой-то момент стало интересно. Навскидку найти для этого готовый инструмент не получилось, а смотреть глазами package-lock слишком утомительно. Как мы знаем — в любой непонятной ситуации нужно писать свой npm пакет, поэтому я именно это и сделал… Дальше в посте я рассмотрю результат анализа живого проекта и сделаю пару спорных выводов.

Ну и никак нельзя обойтись без этой классической картинки:

Ещё один инструмент для проверки ваших npm зависимостей — wtfwith - 1

Читать полностью »

Есть мнение, что Swift — особенно благодаря развитию в опенсорсе — уже сейчас применим за рамками софта для платформ Apple. Наши коллеги из «Рамблера», включая разработчика Самвела Меджлумяна, даже пробуют этот язык в качестве серверного решения. На встрече сообщества CocoaHeads Самвел перечислил готовые продукты для построения сервера на Swift, сравнил их между собой и показал короткое демо.

Читать полностью »

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

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

Читать полностью »

29 сентября в Москве прошла мини-конференция JetBrains Night: 7 часов разработчики из JetBrains рассказывали разработчикам из других компаний о том, что компания делает, зачем, и что будет делать дальше, а потом отвечали на вопросы, обсуждали общие проблемы и вообще делились опытом (т.е. слушали, как разработчики из других компаний рассказывают им о том, что они делают и почему им удобно или пока еще не очень удобно делать это с помощью того, что делает JetBrains).

На Хабре мы постепенно публикуем видео всех докладов, чтобы можно было в комментариях обсудить то, что не успели обсудить на JetBrains Night, особенно с теми, кто не смог приехать лично.

Краткое содержание предыдущих серий:
Дмитрий Жемеров про язык Kotlin;
Максим Мазин и Валерия Андрианова про интеграцию серверных продуктов и использование новых Agile-досок;
Сергей Пак. Первые шаги с TeamCity DSL.

Сегодня публикуем видео, где Дмитрий Кожевников рассказывает, как CLion справляется Читать полностью »

Пакетный менеджер NPM на прошлой неделе стал причиной сумятицы в связи с исчезновением маленького модуля left-pad, на который были установлены зависимости в Node, React, Babel и тысячах других пакетов. Чтобы не допустить такого в будущем, сейчас администрация NPM внесла изменения в правила. По новым правилам, автоматический отзыв модуля возможен только в течение 24 часов после публикации на сервере NPM. После этого времени отзыв допускается только с разрешения администрации.
Читать полностью »

Автор — Дэвид Хейни (David Haney), ведущий инженер-программист Stack Overflow

Итак, разработчики, время для серьёзного разговора. Вы уже наверное в курсе, что на этой неделе React, Babel и куча других популярных пакетов на NPM сломались. Причина довольно удивительная.

Простой пакет NPM под названием left-pad был установлен как зависимость в React, Babel и других пакетах. Модуль, который на момент написания этого поста, имеет 11 звёзд на Github (сейчас 323 — прим.пер). Весь пакет состоит из 11 простых строчек, которые реализуют примитивную функцию вставки пробелов в левой части строк. Если какие-то из ссылок когда-нибудь умрут, вот его код:

module.exports = leftpad;
function leftpad (str, len, ch) {
  str = String(str);
  var i = -1;
  if (!ch && ch !== 0) ch = ' ';
  len = len - str.length;
  while (++i < len) {
    str = ch + str;
  }
  return str;
}

Что меня беспокоит, так это такое большое количество пакетов, где установлена зависимость от простой функции набивки строки пробелами, вместо того чтобы потратить 2 минуты и написать эту базовую функцию самому.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js