Alex Chernyshev @alex0x08
Немного понимаю в компьютерах
Information
- Rating
- 52-nd
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity
Specialization
Fullstack Developer, Chief Technology Officer (CTO)
Lead
Java
Java Spring Framework
Java EE
Scala
C++
C
Software development
Это не сработает в окружении JavaAgent, поскольку код агента отделен от кода приложения - т.е нет import org.springframework.security.PasswordEncoder.
История с профилями заканчивается на моменте использования чужого решения. Врядли получится поиграться с профилями в чужом закрытом проекте, даже если там тоже используется Spring.
Профили это плохо, поскольку у вас начнут отличаться среды выполнения для теста и продакшна. Что означает например возможность получить невоспроизводимые ошибки - на проде есть, на тесте не воспроизводится.
Ну и будут проблемы с библиотеками, которым нужна актуальная версия, будет проблема с node‑gyp и линковкой нативных частей, которых очень много — от sass компилятора и до драйверов к СУБД.
Выложил вот тут: https://filetransfer.io/data-package/zOkMP8uP#link обе сборки.
Потому что устаревший рантайм потянет за собой необходимость сборки с помощью устаревших инструментов, т.е. в данном случае пришлось бы всю разработку целиком проводить на старой версии Node.js.
Также не стоит забывать что речь идет о Node.js, для которой фразы «пожалуйста обновитесь» и «используйте последнюю версию» являются официальным руководством к действию от ее разработчиков, а «обратная совместимость» — грубым ругательством.
Но концептуально вы правы — в большинстве случаев при работе со «средневековыми» версиями действительно приходится разворачивать еще и «средневековую» разработку.
Скорее постепенно убирает слои совместимости, от версии к версии уменьшая возможности по работе устаревшего ПО.
На сегодняшний день для софта уровня DOS/Win3.1/Win95 уже чуть ли не официально рекомендуют использовать Wine или Dosbox вместо того чтобы пытаться запускать в основной ОС.
1.Чтобы заработала аппаратная виртуализация, нужна поддержка специальных регистров в процессоре, без которых все будет совсем уж медленно и печально.
Поскольку речь идет не о обычном домашнем PC а о программно‑аппаратном комплексе, то там помимо устаревшей ОС еще и устаревшее железо, например CPU из 2007го года, где либо нет поддержки аппаратной виртуализации либо она еще недоработанная — с багами.
Сама ОС в таком комплексе может быть без обновлений, например Windows7 и Windows7 SP1 — это очень сильно разные системы, хотя и называются одинаково. Современный VirtualBox да и просто любой свежий софт легко может запросить именно SP1 и не заработать вообще на старой версии.
Так что увы но нет, если речь заходит об устаревшем окружении — это всегда «цемент», который нельзя ни двигать ни править, но с которым надо как‑то жить.
Насчет PERQ могу сказать что оживлял его эмулятор в прошлом году https://blog.0x08.ru/perq-emulator-from-70s , в PERQ ключевым языком был Паскаль а графическое окружение сильно отличалось. Еще PERQ это коммерческая система, которая вполне себе продавалась - сохранились даже ролики с рекламой, Alto же это чисто исследовательский проект.
Ух-ты! Еще не видел "железячные" реализации такой идеи, спасибо за линк.
"Волков бояться - в лес не ходить" (ц), тут всего лишь 18 строк, причем чтобы это заработало еще нужны определенные внешние условия.
При этом с каждым обновлением ОС или пакетов npm приезжает и выполняется автоматически столько всего интересного, что диву даешься.
Так что боюсь подход "не запускать непонятное" давно не спасает от приключений.
Эм, проблема в том что на Хабре матом ругаться не принято - тут вроде как высшее айтишное общество, фраки, шампанское и тонкий разговорный французский. Поэтому если хотите устроить срач - велкам в мой бложег, там можно не сдерживаться.
Про бекдоры (реверс-шелл) у меня есть в другой публикации. Вставлять бекдор в собственную визитку - моветон.
Это больше к "железячникам", полагаю для батареи все равно места не хватит ;)