Обновить
3

Пользователь

Отправить сообщение

Так корень-то проблемы не в этом. Даже если у пакетного менеджера и нет будет возможности запускать скрипты, то вредоносный код можно с таким же успехом внедрить и в код самого пакета - просто он сработает не на этапе установки зависимостей, а при запуске проекта. Проблема в самом современном подходе к управлению зависимостями. И она характерна не только для экосистемы JS - я недавно начал писать небольшой пет-проект на Rust. Добавил 2 (правда, достаточно крупных) зависимости в Cargo,toml, запустил сборку и в итоге при сборке cargo мне скачал и скомпилировал больше 200 крейтов. Что в большинстве из них и кто их автор - понятия не имею. Достаточно компрометации одного из них - и все.

Возьму на заметку, спасибо 🙂
Просто я не думал, что для того, чтобы навайбкодить программу лишь немногим более сложную, чем Hello world, нужны какие специальные знания.

Сlaude Sonnet 4 вроде бы. Короче, ту, что ~полгода назад была в самой простой платной подписке.

Ну не знаю. Моя первая попытка "повайбкодить" закончилась довольно-таки неоднозначно.

Знакомый попросил помочь с простой задачей: нужно было получить полное содержимое memcached - вывести в консоль все ключи и их значения в заданном формате. Веб-разработка даже близко не моя специализация, да и задача относилась к разряду "сделал и забыл", поэтому, поразмыслив, я решил, что разбираться со всей этой катавасией мне лень - пусть код за меня напишет ИИ. Тем более что задача казалась элементарной: максимум строк двадцать на python.

ИИ без труда сгенерировал нужный скрипт, который использовал библиотеку python-memcached. Ок. На первый взгляд код выглядел вполне разумно. Однако при запуске он упал уже на одной из первых строк - import не смог найти нужный класс в указанном модуле. Я подумал: возможно, в новой версии изменился API. Не вопрос, установил предыдущую. Результат тот же. Полез в документацию - а там такого класса вообще не существует. И не было никогда.

В итоге выяснилось, что для python есть три разные библиотеки (может, и болше) для работы с memcached: python-memcached, memcache и pymemcache. ИИ взял все три и собрал из них какого-то монстра Франкенштейна: имена модулей и классов - из одной библиотеки, методы и константы - из другой.

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

Традиционный бизнес - да. Но в IT есть выраженная тенденция к приоритизации TTM (Time to market) над качеством. И, в принципе, на то есть веские причины. Особенно если говорить о формате стартапов. Потому что пока ты будешь целый год пилить свое хорошо продуманное и оптимизированное приложение, какой-нибудь Вася наймет 10 индусов по цене гамбургера в Макдональдсе и они ему за месяц сварганят на коленке приложение из палок и известной субстанции. Оно будет дофига весить, глючить, медленно работать и т.д., но выйдет на рынок раньше и получит конкурентное преимущество. И есть немало примеров, когда люди используют менее качественные приложения просто потому что уже привыкли к ним. Поэтому сейчас выгоднее максимально быстро выпустить продукт, срубить денег, если он выстрелит, а с проблемами разбираться уже потом.

RnD это всегда Kanban

Вот здесь что-то не совсем понял. Изначально kanban пришел из конвейерных производств и главной фишкой его было то, что он позволял визуально выявить проблемные участки, чтобы обеспечить бесперебойное производство. Но если у вас R&D, то как вам kanban поможет?

Вокруг двушечки в РФ в лучшем случае будет Москва, а в худшем - РФ, а вокруг домика США - будет США.

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

Если судить чисто по моим знакомым, то уехала небольшая часть, процентов 10% максимум и далеко не все из них хорошие специалисты. Хорошему сеньору, конечно, получить оффер легче, но ему и уехать обычно сложнее. Одно дело, когда тебе лет 25 (условно), покидал в вещи в рюкзак - и вот ты уже готов ехать на другой конец света. И совсем другое, когда тебе 35 (условных опять же), тут уже сорваться с места не в пример сложнее - жена, дети, ипотека и все прочее. Тут уже переезд - это огромный головняк, на который не каждый решится.

За 57 евро в месяц выделенных серверов не бывает.

В смысле не бывает? При желании можно и за 30-40 евро найти.

Значительно более вероятен исход, что собака разозлится и съест вас, а не Максима - пинаете-то ее вы. С толпой работает примерно так же - злиться будут на тех, кто вводит санкции, а не на тех, из-за кого их вводят. Поддержка режима в такой ситуации будет только расти - это довольно известное явление в социальной психологии.

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

Сейчас в некоторых странах первого мира даже выгоднее иметь детей, не вступая в официальный брак.

Даже у самого лютого говнокода обычно есть объяснение)
Тут же, мне кажется, нормальное решение будет гораздо проще, чем этот монстр. Т.е. вместо того, чтобы написать максимум 10 тривиальных строк, кто-то специально заморочился и написал целых 40. Либо человеку платили за код построчно, либо это сгененрированный код/трансляция с другого языка.

Вполне. Почему же нет? У некоторых из "путешествующих криптанов" месячные обороты измеряются в миллионах $.

Может, этот код был автоматически сгенерирован чем-то? Как-то с трудом верится, что человек в здравом уме мог всерьез написать такое.

Вы какие-то ужасы рассказываете, ну либо за последние годы требования серьезно выросли.
1000 задач - это уже серьзное задроство, которым имеет смысл заниматься только если нравится сам процесс. Мне кажется, что для получения оффера в FAANG это избыточно. Я никогда настолько сильно не задрачивался - решил, может быть, 100 или около того задач. В большинстве случае от соискателя и не ждут, что он сходу придумает решение на уровне победителя олимпиады и сразу накатает на доске безупречный код без единой ошибки, никуда не подглядывая. Цель таких собеседований - проверить способность соискателя анализировать и решать неизвестные задачи. Я во время подготовки просто утром выбирал какую-нибудь задачку и по дороге на работу не спеша обдумывал возможные подходы к ее решению. В большинстве случаев, когда добирался до работы, у меня уже было в голове какое-то решение. Естественно, оно почти всегда было прямолинейным и далеким от оптимального. Уже после этого начинал обдумывать, что в нем можно улучшить и как вписаться в требования по производительности. На собесах действовал точно так же, только шаг 1 проговариал вслух и потом так же анализировал вслух слабые места предложенного решания и возможные способы их устранения.
Но повторюсь, это было лет почти 10 лет назад, может быть, сейчас FAANG совсем зажрались и чтобы к ним попасть нужно действительно так заморочиться.

Хм. Интересно. А тут другое почему-то:

{
  "number": {
    "length": 16,
    "luhn": true
  },
  "scheme": "visa",
  "type": "debit",
  "brand": "Traditional",
  "prepaid": true,
  "country": {
    "numeric": "643",
    "alpha2": "RU",
    "name": "Russian Federation",
    "emoji": "??",
    "currency": "RUB",
    "latitude": 60,
    "longitude": 100
  },
  "bank": {}
}

А почему вы решили, что австралийский-то? Судя по IIN, это действительно Сбербанк.

Игнорирование установленных настроек языка, региона, и прочего на многих сайтах (регион - чуть ли не в большинстве).

О да.
Как человека постоянно путешествующего, дико раздражает использование баз геолокации везде где только можно и даже там, где нельзя. Несмотря на то, что браузер явным образом передает Accept-Language со списком языков, каждый сайт считает своим святым долгом показать мне версию на местном языке, который может оказаться, например, арабской вязью, где кнопку переключения языка еще и не сразу найдешь. А иногда принадлежность IP адреса определяется с ошибкой. При этом таким часто страдают даже крупные игроки типа Google, который почему-то долго и упорно считал, что мой домашний IP находится в ОАЭ и игнорил все мои обращения о неправильном определении.

А уж для тех, кто на основании geoip ограничивает доступ к сайту, в аду точно приготовлен отдельный котел.

Если увеличится спрос, то производители в первую очередь получат стимул увеличить цены, а уж потом производство.

1
23 ...

Информация

В рейтинге
5 604-й
Зарегистрирован
Активность

Специализация

Технический директор, Инженер по безопасности
Rust
Golang
Прикладная криптография
Python
Scala
Linux