Ну, лично у меня в приложении написанном на питоне 4 года назад отвалились все функции использующие регулярные выражения, потому что библиотека обновилась.
может можно зафиксировать версии либ в рекваерментах каких-нибудь?
а зачем? мне как питонисту интересно
Ну, лично у меня в приложении написанном на питоне 4 года назад отвалились все функции использующие регулярные выражения, потому что библиотека обновилась.
может можно зафиксировать версии либ в рекваерментах каких-нибудь?
Ну и мразь же ты!
Может и может. а может и не может
или просто перестать регулярно выражаться
Да не, бред какой-то
Можно.
Потом версия либы пропала из хранилища релизов, но это решается вендорингом.
Потом обновилась другая либа, и обновленная общая зависимость не подходит этой, но это решается раздельными версиями зависимостей.
Потом для обновления третьей либе нужна новая языка, и тут уже грусть-печаль.
Всё решается, но иногда переписать действительно дешевле.
Потом версия либы пропала из хранилища релизов, но это решается вендорингом.
Потом обновилась другая либа, и обновленная общая зависимость не подходит этой, но это решается раздельными версиями зависимостей.
Потом для обновления третьей либе нужна новая языка, и тут уже грусть-печаль.
Всё решается, но иногда переписать действительно дешевле.
можно встроить нужные файлы из библиотеки в сам релиз?
Можно, это "вендоринг" (запихать стороннюю библиотеку в свои сорцы). Есть и промежуточные решения, например держать зеркало или хранилище артефактов для зависимостей. Пока нет необходимости обновляться работает неплохо.
Внутри самой библиотеки бывают свои реквайременты
Можно, делай.
А потом от клиентов приходит письмо от их безопасника, где он пишет, что в древних либах дохера уязвимостей (список прилагается), обновите пжалста, а то мы солидный банк и не хотим, чтобы данные наших клиентов воровали хацкеры.
Как раз сейчас этим на работе занимаюсь.
А потом от клиентов приходит письмо от их безопасника, где он пишет, что в древних либах дохера уязвимостей (список прилагается), обновите пжалста, а то мы солидный банк и не хотим, чтобы данные наших клиентов воровали хацкеры.
Как раз сейчас этим на работе занимаюсь.
Так пожалуйста. Если клиент хочет, то он это оплатит.
Менять версии либ в виде законной таски, на которую выделено время, и за которую платят, это не то же самое, что "внезапно вляпаться в депенденси хелл из-за того, что стоит автообновление версий, и кому-то из авторов либ моча в башку стукнула особенно сильно".
Менять версии либ в виде законной таски, на которую выделено время, и за которую платят, это не то же самое, что "внезапно вляпаться в депенденси хелл из-за того, что стоит автообновление версий, и кому-то из авторов либ моча в башку стукнула особенно сильно".
так клиент и платит. если у тебя сервис, который нужно поддерживать, то "переписывать" нужно будет 100%. ну а частота переписывания уже зависит от языка.
скрытый юмор поста в том, что на си никто не пишет поддерживаемые сервисы
скрытый юмор поста в том, что на си никто не пишет поддерживаемые сервисы
venv такой: "я что, для тебя шутка какая-то?"
Про virtualenv и докеризацию не слышал?
Про открытие уязвимостей не слышал? Обновляться рано или поздно придётся всем. Если конечно не в сдеке работаешь.
Апи делаешь, очевидно? Про другое не слышал? Да и фиксировать надо зависимости все равно. Плюс поэтри и иже с ним обновляют либы
Ну так понятно что обновления должны быть контролируемы, а не "на чём соберёшься, на том и запускайся".
На самом деле не важно что делаешь, пока оно умеет принимать информацию - оно взламывается. Если есть требование к безопасности и возможность обновления прошивки, обновляться все-равно придется. Даже если твой продукт - умная лампочка.
На самом деле не важно что делаешь, пока оно умеет принимать информацию - оно взламывается. Если есть требование к безопасности и возможность обновления прошивки, обновляться все-равно придется. Даже если твой продукт - умная лампочка.
Тебе не придется переписывать прошивку лампочки если её интеллект позволяет лишь зажигаться при наличии напряжении на контактах :)
> На самом деле не важно что делаешь, пока оно умеет принимать информацию - оно взламывается.
Это верно только для говнокода.
Это верно только для говнокода.
а как на счет не менять сука интерфейсы апи?
Ну так у минорных версий и не меняют. Мажорные версии на то и мажорные что лицензия на убийство апи есть
эээ нет, такой себе подход.
А можешь мне, любитель контейнеров и докера, сказать, знаешь ли ты, зачем люди обновляют библиотеки?
Или ты из тех, кто считает, что их обновляют только чтобы насолить пользователям?
Или ты из тех, кто считает, что их обновляют только чтобы насолить пользователям?
Поэтому я пишу скрипты на POSIX shell. Он стандартизирован и вечен, а его выразительных средств достаточно, например, для написания SMS-шлюза для внутриконторского использования. Пашет уже 8 лет, переписывать незачем. Конфиг ему правил последний раз два года назад.
Вот только у шелла худший в мире синтаксис (всякая эзотерика не в счëт) и читать большие скрипты это очень больно, а ещё сам по себе шелл умеет немногим больше нихуя и почти всю работу делают бинари, которые ты вызывает и эти бинарники тоже неплохо бы обновлять...
Нормальный у POSIX shell синтаксис, if-then-else-while-for-do-done. Похож на паскалевский, который вообще для обучения детей программированию был придуман. В POSIX shell код можно разбивать на функции с локальными переменными. И правило "30% объёма текста должны составлять комментарии" никто не отменял, не надо быть ленивой жопой. А говнокод писать можно на ЛЮБОМ языке, инфа 100%.
Ну да, без бинарей никуда, поглядел в код своего шлюза: logger, realpath, mkdir, stat, lockf, timeout, gnokii, sleep, date, mv, jot, cat, ln, rm, nohup. Всё остальное shell built-ins. Почти все утилиты из POSIX.1, так что их обновление ничего не ломает, это стандарт.
Ну да, без бинарей никуда, поглядел в код своего шлюза: logger, realpath, mkdir, stat, lockf, timeout, gnokii, sleep, date, mv, jot, cat, ln, rm, nohup. Всё остальное shell built-ins. Почти все утилиты из POSIX.1, так что их обновление ничего не ломает, это стандарт.
>if-then-else-while-for-do-done.
А потом ты узнаëшь охуительные фокусы по типу того, что [ это бинарник и пробел после неë обязателен, иначе всë сломается и прочее подобное. Да и базовый синтаксис, состоящий из закорючек чуть менее, чем полностью читабельности не добавляет. А ещё совершенно разный функционал у похожих операторов типа | и ||
Пиздец ебаный ваш баш, говорю как сисадмин
А потом ты узнаëшь охуительные фокусы по типу того, что [ это бинарник и пробел после неë обязателен, иначе всë сломается и прочее подобное. Да и базовый синтаксис, состоящий из закорючек чуть менее, чем полностью читабельности не добавляет. А ещё совершенно разный функционал у похожих операторов типа | и ||
Пиздец ебаный ваш баш, говорю как сисадмин
А причем тут баш? Речь шла про POSIX shell, а вовсе не про bash, который к *стандарту* POSIX отношение имеет отдаленное. И не смотря на то, что [ это бинарник и его можно вызывать как /bin/[ , тем не менее в шелле у меня команда "type [" говорит, что это builtin (как и printf и много чего ещё). Пробел после любой команды обязателен, почему это тебя смущает? И не путай с перлом, в базовом синтаксисе POSIX shell очень немного закорючек, возможно ты путаешь с bash. Стандарт почитай. Или хотя бы учебники.
- написал программу
- прошло четыре года. забыл про программу полностью
- открыл исходный код какой то малопонятной утилиты. долго возмущался какой криворукий осел все это понаделывал? разве он про virtualenv и докеризацию не слышал? Или что можно зафиксировать версии либ в рекваерментах каких-нибудь? Все переписал.
- пока переписывал нашел комментарий от автора. Оказалось что программа твоя.
- прошло четыре года...
- прошло четыре года. забыл про программу полностью
- открыл исходный код какой то малопонятной утилиты. долго возмущался какой криворукий осел все это понаделывал? разве он про virtualenv и докеризацию не слышал? Или что можно зафиксировать версии либ в рекваерментах каких-нибудь? Все переписал.
- пока переписывал нашел комментарий от автора. Оказалось что программа твоя.
- прошло четыре года...
Вот пидор
Тут как раз смисл в том что он все начал не будучи пидаром.
Звучит тупо пока реально такое не происходит. Нашел в архиве чатика в телеге хороший пост по нужной проблеме. Захожу в личку к челу, а у него там порнуха.
Оказалось мой фейк
Оказалось мой фейк
...
@
СПУСКАЕШЬСЯ ПО ЛЕСТНИЦЕ, ОТ НЕГОДОВАНИЯ УРЧИШЬ
@
СЛЫШИШЬ ЭТАЖОМ НИЖЕ НЕРВНЫЙ ВСХЛИП И УДАЛЯЮЩИЕСЯ ШАГИ
@
СПУСКАЕШЬСЯ БЫСТРЕЕ, УРЧИШЬ ГРОМЧЕ
@
СПУСКАЕШЬСЯ ПО ЛЕСТНИЦЕ, ОТ НЕГОДОВАНИЯ УРЧИШЬ
@
СЛЫШИШЬ ЭТАЖОМ НИЖЕ НЕРВНЫЙ ВСХЛИП И УДАЛЯЮЩИЕСЯ ШАГИ
@
СПУСКАЕШЬСЯ БЫСТРЕЕ, УРЧИШЬ ГРОМЧЕ
Однажды я попытался запустить питонориблуду написанную для прошлой минорной версии.
ХУЙ ТАМ ПЛАВАЛ. Даже правка напильником не помогла. Подогрело мою ненависть к питону знатно.
ХУЙ ТАМ ПЛАВАЛ. Даже правка напильником не помогла. Подогрело мою ненависть к питону знатно.
Какое-то неправильное использование мема.
Должен был идти сначала "каждую неделю", потом "раз в год", потом "несколько лет", потом "никогда".
Должен был идти сначала "каждую неделю", потом "раз в год", потом "несколько лет", потом "никогда".
никогда это про Java
Ага, хуй там. Спринг 3 требует 17 джаву, а во втором критическая уязвимость которую никто исправлять не будет.
Да и саму джаву ломают время от времени, надо обновляться
Да и саму джаву ломают время от времени, надо обновляться
код то менять практически не нужно, зависимости в поме поменял и вперед, при переезд 8 -> 17 жава, древние проекты на аксис только пришлось чутка переписать и где были совсем уж старые либы, которые удалили из стандартного набора jdk, пришлось просто добавить в зависимости как внешние
С 8 на 11 перезжал с болью. С 11 на 17 лютого пиздеца не замечено.
А вот спринги - вечный пиздец. Ресттемплей ему больше не нравится, сваггер вообще сменил поставщика, где-то аннотации отвалились...
А вот спринги - вечный пиздец. Ресттемплей ему больше не нравится, сваггер вообще сменил поставщика, где-то аннотации отвалились...
Просто не используй спринг...
И любые другие либы, и контейнеры сервлетов, и докеры/куберы, да можно и от операционок на серверах отказаться.
Адекватных альтернатив спрингу нет. И альтернатив многим другим либам тоже.
Адекватных альтернатив спрингу нет. И альтернатив многим другим либам тоже.
Фу блядь, спринг, хибернейт, докер, кубер. Как вспомню, так вздрогну.
Хорошо, что можно без них. Просто мало кто решается.
Хорошо, что можно без них. Просто мало кто решается.
Не "мало кто решается", а "мало контор, не использующих спринг, в которых ты мог бы найти работу".
Ага, если ты бездомный, то купи дом.
пришло время переписать мем
А кто на js переписывает приложения и зачем? Пишут новое и все.
Эх, а вот в старые добрые времена
https://www.jwz.org/doc/cadt.html
Для тех кто не умеет в английский автор из 2003 жалуется на то, что много опен сорсных проектов вместо того чтобы фиксить баги закрывают их с пометкой "мы переписали наше приложение с нуля и не поддерживаем старую версию". Обзывает это "каскадом подростков с дефицитом внимания". И да, речь про приложения на том самом С из поста.
https://www.jwz.org/doc/cadt.html
Для тех кто не умеет в английский автор из 2003 жалуется на то, что много опен сорсных проектов вместо того чтобы фиксить баги закрывают их с пометкой "мы переписали наше приложение с нуля и не поддерживаем старую версию". Обзывает это "каскадом подростков с дефицитом внимания". И да, речь про приложения на том самом С из поста.
Хм, вводные: проект С# жмёт на кнопки в чужом≥. ПО 2003г.в. на делфи.
ничего не обновляется, а софтина перестает запускаться, компилирую снова не меняя ровно ничего - работает. день, два, неделю и снова компиляция.
Подкиньте умных мыслей)
ничего не обновляется, а софтина перестает запускаться, компилирую снова не меняя ровно ничего - работает. день, два, неделю и снова компиляция.
Подкиньте умных мыслей)
как как вариант, раз ПО на делфи, то как-то меняется расширение экрана и координата перестает попадать по кнопке. Из разряда, свернул, развернул - нифига не пашет. перекомпилировал, координаты снова стали попадать куда нужно.
Спасибо но нет, окна жёстко зафиксированы на столе, уже 5 лет они не перемещаются по столу. Вопрос исключительно в отказе запуска без свежей компиляции
раз у тебя есть исходники - добавь логирование в файл. я не знаю как реализовано, но по простому генерируется системное событие клика мышки по координатам. тут или приложение начинает промахиваться, или приложение виснет по каким-то причинам (но тогда помогала бы простая перезагрузка). не представляют особо как компиляция помогает, если только не какая-то проблема с координатами.
не кликаю мышкой, на уровне винды разбираю окно на компоненты, аналогично парсингу имеется список контролов окна с которыми взаимодействует софтина)
Это если поверхностно, если углубиться то разбирать окно я пытался два года и достиг таки, а вот двигать курсор по экрану програмно это швах, ибо малейшее прикосновение к мыши ломает всю суть
Это если поверхностно, если углубиться то разбирать окно я пытался два года и достиг таки, а вот двигать курсор по экрану програмно это швах, ибо малейшее прикосновение к мыши ломает всю суть
ну, вы пошли явно не простым путем. я бы все таки добавил лог файл и писал туда что происходит, особенно если ошибки в коде глушатся. по крайней мере будет ясно что утилита не повисла.
Ебать вы там извращенцы. Если бы ты был хирургом, то ты гланды через жопу удалял бы?
Ну, нажимать одну кнопку или десять каждую минуту, благодаря этим извращениям время на печать сократилось и продуктивность выросла на 70%> результат однозначный.
Другое дело если бы это для картинки посмотреть было, речь о реально работающем софте всё же, пусть и велосипед пришлось изобретать заново)
Другое дело если бы это для картинки посмотреть было, речь о реально работающем софте всё же, пусть и велосипед пришлось изобретать заново)
Думаю и в остальных случаях примерно та же картина что и у меня/ софт же как правило пишут по необходимости а не от скуки)
Вирусы подлечить?
Чтобы написать коммент, необходимо залогиниться
Отличный комментарий!