home.social

#совместимость — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #совместимость, aggregated by home.social.

  1. Системный подход к Agile: исследование совместимостей Java библиотек [лонг]

    Java называют языком программирования. С формальной точки зрения это может быть и так. На практике картина более широкая: я считаю, что Java нужно рассматривать как целую программную систему для гибкой (Agile) разработки. В ней можно выделить четыре ключевых подсистемы, которые вместе образуют Java платформу : 1. Система ведения онтологии и моделирования бизнеса 2. Система верификации типов с правилами подстановки 3. Система среды исполнения динамического кода 4. Система модульной эволюции кодовой базы Пост утверждает, что настоящей гибкости, требуемой для реально модульных программ, поддающихся эволюции, так нужной энтерпрайзам, в Java практически нет; вместо неё царит хаос и тотальное смешение понятий на поле боя , где онтология, проектировка, реализация, рантайм да и сам разработчик ведут борьбу каждый за свои собственные принципы, в то время как главной жертвой является модульность. Для доказательства возьму конкретную тему совместимостей библиотек. Этот вопрос с технической стороны хорошо изучен, и разделяют три вида совместимостей: исходную, бинарную и поведенческую. Но будет полезным привести примеры еще раз, разбив не просто по этим трём категориям, а по зонам ответственности, для того, чтобы понять, какие трения возникают между самими подсистемы Явы. После обширного анализа будет представлено видение направления развития Явы как платформы, получившей новую среду скриптовых языков GraalVM . Основным тезисом служит заявление, что Агиль методология требует строгой трактовки, дисциплины и продуманных инструментов, чтобы свобода разработчика не превратилась в её свободный полёт в пучину хаоса.

    habr.com/ru/articles/1010714/

    #java #совместимость #верификация_программ #библиотеки #знания #экосистемы #agile #compatibility #binary_compatibility #агил

  2. Аудитор: Человеко-Ориентированный Трекер Эволюции Библиотек

    Java принято называть языком программирования, но по сути это целая программная система, включающая три уровня: формальную верификацию модели через теорию типов, среду выполнения с динамическим линковщиком JVM и ментальную модель, которую разработчик выстраивает вокруг библиотек. Когда автор меняет сигнатуру метода, страдает не только байт-код — рушится контракт и привычное представление о стабильности API. Существующие инструменты проверяют бинарную и исходную совместимость, но их ответ сводится к вопросу «упадёт или не упадёт». При этом они не объясняют суть изменений: например, если метод перенесли из подкласса в суперкласс, анализатор покажет «удалено в А, добавлено в Б» — технически верно, но по смыслу ничего не объясняет. Здесь нужен человеко-ориентированный подход . Библиотеки — такие же продукты, как и любые другие, и их потребители заслуживают внятного объяснения того, как эволюционирует API. Предлагаемый инструмент — Аудитор — умеет не только проверять совместимость, но и распознавать рефакторинги по их смыслу: отслеживать перемещение методов по иерархии, выявлять смену ответственности между классами, обнаруживать паттерны изменений. Вместо сухого списка «добавлено/удалено» он генерирует человеко-читаемые отчёты на вики-страницах проекта, где разработчик видит не просто факты, а историю эволюции структуры API. Это сохраняет актуальность ментальной модели библиотеки и снижает риск неверной интерпретации изменений при обновлении версий. В статье будут рассмотрены нюансы каждого из 3х уровней, чтобы дать теоретические основы, необходимые для понятия бинарной и исходной совместимостей версий (binary & source compatibility), а также же представлен практический обзор на новый фреймворк, написанный мною, для их автоматического аудита на вики-страницах, которые станут прекрасным дополнением к вашим Java проектам.

    habr.com/ru/articles/1004286/

    #java #api #документация #совместимость #библиотеки #экосистема #binary_compatibility #agile #wiki

  3. Аудитор: Человеко-Ориентированный Трекер Эволюции Библиотек

    Java принято называть языком программирования, но по сути это целая программная система, включающая три уровня: формальную верификацию модели через теорию типов, среду выполнения с динамическим линковщиком JVM и ментальную модель, которую разработчик выстраивает вокруг библиотек. Когда автор меняет сигнатуру метода, страдает не только байт-код — рушится контракт и привычное представление о стабильности API. Существующие инструменты проверяют бинарную и исходную совместимость, но их ответ сводится к вопросу «упадёт или не упадёт». При этом они не объясняют суть изменений: например, если метод перенесли из подкласса в суперкласс, анализатор покажет «удалено в А, добавлено в Б» — технически верно, но по смыслу ничего не объясняет. Здесь нужен человеко-ориентированный подход . Библиотеки — такие же продукты, как и любые другие, и их потребители заслуживают внятного объяснения того, как эволюционирует API. Предлагаемый инструмент — Аудитор — умеет не только проверять совместимость, но и распознавать рефакторинги по их смыслу: отслеживать перемещение методов по иерархии, выявлять смену ответственности между классами, обнаруживать паттерны изменений. Вместо сухого списка «добавлено/удалено» он генерирует человеко-читаемые отчёты на вики-страницах проекта, где разработчик видит не просто факты, а историю эволюции структуры API. Это сохраняет актуальность ментальной модели библиотеки и снижает риск неверной интерпретации изменений при обновлении версий. В статье будут рассмотрены нюансы каждого из 3х уровней, чтобы дать теоретические основы, необходимые для понятия бинарной и исходной совместимостей версий (binary & source compatibility), а также же представлен практический обзор на новый фреймворк, написанный мною, для их автоматического аудита на вики-страницах, которые станут прекрасным дополнением к вашим Java проектам.

    habr.com/ru/articles/1004286/

    #java #api #документация #совместимость #библиотеки #экосистема #binary_compatibility #agile #wiki

  4. Аудитор: Человеко-Ориентированный Трекер Эволюции Библиотек

    Java принято называть языком программирования, но по сути это целая программная система, включающая три уровня: формальную верификацию модели через теорию типов, среду выполнения с динамическим линковщиком JVM и ментальную модель, которую разработчик выстраивает вокруг библиотек. Когда автор меняет сигнатуру метода, страдает не только байт-код — рушится контракт и привычное представление о стабильности API. Существующие инструменты проверяют бинарную и исходную совместимость, но их ответ сводится к вопросу «упадёт или не упадёт». При этом они не объясняют суть изменений: например, если метод перенесли из подкласса в суперкласс, анализатор покажет «удалено в А, добавлено в Б» — технически верно, но по смыслу ничего не объясняет. Здесь нужен человеко-ориентированный подход . Библиотеки — такие же продукты, как и любые другие, и их потребители заслуживают внятного объяснения того, как эволюционирует API. Предлагаемый инструмент — Аудитор — умеет не только проверять совместимость, но и распознавать рефакторинги по их смыслу: отслеживать перемещение методов по иерархии, выявлять смену ответственности между классами, обнаруживать паттерны изменений. Вместо сухого списка «добавлено/удалено» он генерирует человеко-читаемые отчёты на вики-страницах проекта, где разработчик видит не просто факты, а историю эволюции структуры API. Это сохраняет актуальность ментальной модели библиотеки и снижает риск неверной интерпретации изменений при обновлении версий. В статье будут рассмотрены нюансы каждого из 3х уровней, чтобы дать теоретические основы, необходимые для понятия бинарной и исходной совместимостей версий (binary & source compatibility), а также же представлен практический обзор на новый фреймворк, написанный мною, для их автоматического аудита на вики-страницах, которые станут прекрасным дополнением к вашим Java проектам.

    habr.com/ru/articles/1004286/

    #java #api #документация #совместимость #библиотеки #экосистема #binary_compatibility #agile #wiki

  5. Аудитор: Человеко-Ориентированный Трекер Эволюции Библиотек

    Java принято называть языком программирования, но по сути это целая программная система, включающая три уровня: формальную верификацию модели через теорию типов, среду выполнения с динамическим линковщиком JVM и ментальную модель, которую разработчик выстраивает вокруг библиотек. Когда автор меняет сигнатуру метода, страдает не только байт-код — рушится контракт и привычное представление о стабильности API. Существующие инструменты проверяют бинарную и исходную совместимость, но их ответ сводится к вопросу «упадёт или не упадёт». При этом они не объясняют суть изменений: например, если метод перенесли из подкласса в суперкласс, анализатор покажет «удалено в А, добавлено в Б» — технически верно, но по смыслу ничего не объясняет. Здесь нужен человеко-ориентированный подход . Библиотеки — такие же продукты, как и любые другие, и их потребители заслуживают внятного объяснения того, как эволюционирует API. Предлагаемый инструмент — Аудитор — умеет не только проверять совместимость, но и распознавать рефакторинги по их смыслу: отслеживать перемещение методов по иерархии, выявлять смену ответственности между классами, обнаруживать паттерны изменений. Вместо сухого списка «добавлено/удалено» он генерирует человеко-читаемые отчёты на вики-страницах проекта, где разработчик видит не просто факты, а историю эволюции структуры API. Это сохраняет актуальность ментальной модели библиотеки и снижает риск неверной интерпретации изменений при обновлении версий. В статье будут рассмотрены нюансы каждого из 3х уровней, чтобы дать теоретические основы, необходимые для понятия бинарной и исходной совместимостей версий (binary & source compatibility), а также же представлен практический обзор на новый фреймворк, написанный мною, для их автоматического аудита на вики-страницах, которые станут прекрасным дополнением к вашим Java проектам.

    habr.com/ru/articles/1004286/

    #java #api #документация #совместимость #библиотеки #экосистема #binary_compatibility #agile #wiki

  6. Loss32: Linux с классическим Windows-интерфейсом на базе Wine и ReactOS. Что это и как работает

    В конце декабря 2025 года на 39-м Chaos Communication Congress в Германии представили необычный дистрибутив Linux под названием Loss32 . Это не просто дистриб с улучшенной поддержкой Windows-программ, а попытка построить всю пользовательскую среду вокруг Win32. Идея звучит провокационно: взять ядро Linux и поверх него запустить классический Windows-десктоп — explorer.exe, меню «Пуск» и привычное окружение — через Wine, дополнив все компонентами из ReactOS. У нее есть как сторонники, так и противники. Первые называют это гениальным хаком, вторые — бессмысленным гибридом. Давайте разберемся, что это за проект и почему он может оказаться полезным.

    habr.com/ru/companies/ru_mts/a

    #Linux #Wine #ReactOS #Windows #loss32 #Совместимость #операционные_системы #opensource

  7. Может ли материнская плата убить процессор. Оказывается, да

    Неприятно, когда покупаешь новый компьютер, а потом материнская плата выводит из строя дорогой процессор, но так иногда случается. Вы уже наверняка слышали о том, как материнки ASRock убивают процессоры AMD Ryzen 9000 . Да, пока счёт идёт только на десятки, но проблему уже можно считать распространенной. Вот и давайте разбираться в том, почему так происходит и от какой связки материнка-процессор лучше отказаться.

    habr.com/ru/companies/x-com/ar

    #xcomshop #материнские_платы #процессор #совместимость #облом #asrock #amd_ryzen_9000

  8. [Перевод] Новый экспериментальный API для JSON в Go

    Команда Go for Devs подготовила перевод статьи о новом экспериментальном API для работы с JSON в Go. Спустя почти 15 лет после появления encoding/json в стандартной библиотеке разработчики столкнулись с его ограничениями. В версии Go 1.25 появился экспериментальный encoding/json/v2 — он решает старые проблемы, добавляет потоковую обработку и повышает производительность.

    habr.com/ru/articles/945434/

    #go #json #encoding #сериализация #производительность #потоковая_обработка #совместимость #api

  9. [Перевод] Работа с куки-файлами хуже сапёрного дела

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

    habr.com/ru/articles/861300/

    #браузеры #куки #вебсервер #отказоустойчивость #совместимость

  10. Установка любого издания Windows 10/11/Server поверх с сохранением данных и приложений, IoT LTSC поверх Корпоративной…

    Меня всё чаще в комментариях и ПМ спрашивают, как установить так рекомендуемую мной Windows IoT Enterprise LTSC поверх существующей инсталляции (будь то Windows 7, Windows 10 или Windows 11) с сохранением всех приложений, данных и настроек. Я уже писал подробную статью об установке ОС как апгрейда – Как правильно сделать апгрейд ОС — установить Windows 11 поверх существующей с сохранением приложений и настроек / Хабр (habr.com) , где рассказывал о разных сложностях, встречающихся на пути установки ОС – новых требованиях к железу, разных языках и, конечно, о несовместимости изданий, не позволяющих обновиться с сохранением приложений и данных пользователя. Но методы редактирования реестра для многих читателей оказались сложными. И я вообще не затронул тогда Windows Server – как обновиться с Server Core до Server с рабочим столом, как обновить AzureStackHCI до Server Datacenter Azure Edition, и как обновляться с Annual Cycle изданий Windows Server AC (например, 23H2) до LTSC (например, 24H2) и наоборот с LTSC до AC (в 2025 году нас ждёт только ServerDatacenterACorCore). За пару месяцев с прошлой заметки на форумах MyDigitalLife было выпущено два новых проекта, позволяющих очень упростить процедуру апгрейда, и ниже я расскажу как раз об этом. Мы сможем подготовить образ Windows 11 24H2 IoT Enterprise LTSC так, что с любого издания Windows 7/8/8.1/10 вы сможете обновиться до него без потери данных. Ну и научимся обновлять Windows Server. Для примеров ниже я буду рассказывать о трёх сценариях: Pro <-> IoT LTSC, Server Core <-> Full

    habr.com/ru/companies/timeweb/

    #windows_11 #upgrade #апгрейд #совместимость #минимальные_требования #системные_требования #timeweb_статьи

  11. Основы Docker: контейнеризация, Dockerfile и Docker Compose. Часть 2

    Привет, Хабр! Меня зовут Толя, я лидер компетенции Java в Цифровом СИБУРе. Наш прошлый материал о Docker собрал классный фидбэк, поэтому мы решили развить тему и подготовить ещё несколько статей, двигаясь от простого к сложному. В этом материале речь пойдёт о том, что помогает избежать конфликтов зависимостей и проблем с изоляцией, возникающих при запуске нескольких приложений на одном сервере. Для решения этих задач используются технологии контейнеризации, которые позволяют создавать изолированные окружения для приложений, устраняя проблемы совместимости и упрощая процесс развёртывания. Рассмотрим, как работает контейнеризация и какие инструменты помогают сделать её максимально эффективной.

    habr.com/ru/companies/sibur_of

    #docker #dockercompose #dockerfile #оркестрация #контейнеризация #kubernetes #изоляция #совместимость #зависимости #приложения

  12. Совместимость серверов Тринити с платформами виртуализации: «Росплатформа»

    Не вся виртуализация одинаково полезна, поэтому мы тестируем известные на рынке и появляющиеся решения на совместимость с нашим железом, а затем рассказываем вам о результатах. В прошлой статье из серии о тестировании мы мучили систему виртуализации «Рустэк». Теперь проверили «Росплатформу» на трёх наших серверах. В статье — пошаговое развёртывание ВМ нашим инженером Эриком Игнатовым и всякие ухищрения по ломанию нормального процесса с описанием результатов тестирования.

    habr.com/ru/companies/trinity/

    #тринити #серверы #виртуализация #платформы #тестирование_по #росплатформа #совместимость #рвиртуализация #рхранилище

  13. Как правильно сделать апгрейд ОС – установить Windows 11 поверх существующей с сохранением приложений и настроек

    Сегодняшний разговор пойдет о том, как правильно следует устанавливать 64-битную Windows 11 поверх ранее установленной 64-битной операционной системы Windows 7, 8, 10 или 11. Не пропагандирую переход на Windows 11, - выбор за вами, если это вам не нужно, ради бога, - но давайте поможем тем кто хочет это сделать, но встречается с разными сложностями на пути. Хотя при этом, заметка в целом полезна и тем, кто использует, и планирует далее использовать устаревшие системы, - рассказанный мной способ установки ОС «поверх» или «апгрейд» в целом общий для всех версий Windows, я лишь буду отмечать тонкости ранее мне не встречающиеся. Чего еще не будет в этой статье, так это вопросов совместимости с ПО и железом, - такое коротко и обобщенно не описать, решать нужно конкретно поставленную задачу. Обновлять ОС на совсем уж старом железе, наверное, нецелесообразно, а способов заставить работать древний софт на современных ОС известно много, но они тоже подбираются под нужды. Собственно, начать об обновлении ОС я хочу с того, что Microsoft всегда имеет «матрицу обновляемости» (upgrade matrix) и четкие правила того, что на что может быть обновлено. Начнем с матрицы (а как иначе, Нео?). В любой версии и издании Windows в папке C:\Windows\servicing\Editions лежит файл UpgradeMatrix.xml, в котором четко прописано, с каких версий и изданий вы можете выполнить обновление на данную систему. Для ОС, которая в ISO образе, или на установочной флешке, этот файл лежит внутри install.wim, его проще всего открыть 7zip архиватором и посмотреть, если есть интерес. Разбирать его детально я сегодня не буду, это скучная задача, поговорим о сложностях, возникающих при обновлении ОС. Читайте, задавайте вопросы, отвечу! :)

    habr.com/ru/articles/827812/

    #windows_11 #upgrade #апгрейд #совместимость #минимальные_требования #системные_требования

  14. Совместимость серверов «Тринити» с платформами виртуализации: «РУСТЭК»

    Привет! Меня зовут Эрик Игнатов, я — ведущий инженер «Тринити». С недавнего времени у нас в R&D-отделе появился план по тестированию достижений народного промысла русских инженеров. В него входит в том числе порядка 12 отечественных решений для серверной виртуализации , которые мы хотим проверить на совместимость с нашим серверным железом. Ведь заказчикам важно быть гарантированно уверенными в работоспособности предлагаемых нами систем виртуализаций, особенно в условиях настолько стремительного вывода на рынок замен импорту, что некоторым компаниям некогда и тестировать. Этой статьёй мы открываем серию таких технических обзоров, а по итогам сделаем сравнительный очерк про всех участниц марафона.

    habr.com/ru/companies/trinity/

    #совместимость #тринити #виртуализация #платформа_виртуализации #тесты #серверы #тестирование #тестирование_по #рустек

  15. Тесты «Тринити»: совместимость со средствами доверенной загрузки

    Как часто процесс внедрения какого-нибудь ПАК в сервер затягивается из-за того, что «выключили — внедрили — включили — всё лежит». Причём, лежит не 5 минут, а, например, 5 дней, пока вокруг бегают инженеры, пытаясь понять, почему не заводится. Порой попытки внедрить так, чтобы соответствовать требованиям регуляторов, заканчиваются неудачей с пометкой «не внедряется». О том, сколько случаев потери критической информации происходит при таких процессах, можно и не говорить. Мы и есть эти бегающие инженеры — RnD-отдел российского производителя серверов и системного интегратора «Тринити». Когда с родного ИТ-рынка ушли мировые бренды, но появилось много разной техники, часто неизвестной ни интеграторам, ни тем более заказчикам, у нашей команды значительно прибавилось работы. Ведь эту технику надо тестировать на функциональность и совместимость с нашими серверами, чем мы и занимаемся целыми днями. Вот, решили делиться результатами. Так вышло, что наш корпоративный хабра-блог долго стоял на паузе, но теперь всё. Начнём со средств доверенной загрузки (СДЗ) для аппаратных платформ объектов критической инфраструктуры (КИИ), которыми мы недавно укомплектовали очередную партию наших серверов.

    habr.com/ru/companies/trinity/

    #сдз #серверные_платформы #тринити #тестирование #тест #совместимость #rnd #кии #соболь #dallas_lock

  16. Тесты «Тринити»: совместимость со средствами доверенной загрузки

    Как часто процесс внедрения какого-нибудь ПАК в сервер затягивается из-за того, что «выключили — внедрили — включили — всё лежит». Причём, лежит не 5 минут, а, например, 5 дней, пока вокруг бегают инженеры, пытаясь понять, почему не заводится. Порой попытки внедрить так, чтобы соответствовать требованиям регуляторов, заканчиваются неудачей с пометкой «не внедряется». О том, сколько случаев потери критической информации происходит при таких процессах, можно и не говорить. Мы и есть эти бегающие инженеры — RnD-отдел российского производителя серверов и системного интегратора «Тринити». Когда с родного ИТ-рынка ушли мировые бренды, но появилось много разной техники, часто неизвестной ни интеграторам, ни тем более заказчикам, у нашей команды значительно прибавилось работы. Ведь эту технику надо тестировать на функциональность и совместимость с нашими серверами, чем мы и занимаемся целыми днями. Вот, решили делиться результатами. Так вышло, что наш корпоративный хабра-блог долго стоял на паузе, но теперь всё. Начнём со средств доверенной загрузки (СДЗ) для аппаратных платформ объектов критической инфраструктуры (КИИ), которыми мы недавно укомплектовали очередную партию наших серверов.

    habr.com/ru/companies/trinity/

    #сдз #серверные_платформы #тринити #тестирование #тест #совместимость #rnd #кии #соболь #dallas_lock

  17. Тесты «Тринити»: совместимость со средствами доверенной загрузки

    Как часто процесс внедрения какого-нибудь ПАК в сервер затягивается из-за того, что «выключили — внедрили — включили — всё лежит». Причём, лежит не 5 минут, а, например, 5 дней, пока вокруг бегают инженеры, пытаясь понять, почему не заводится. Порой попытки внедрить так, чтобы соответствовать требованиям регуляторов, заканчиваются неудачей с пометкой «не внедряется». О том, сколько случаев потери критической информации происходит при таких процессах, можно и не говорить. Мы и есть эти бегающие инженеры — RnD-отдел российского производителя серверов и системного интегратора «Тринити». Когда с родного ИТ-рынка ушли мировые бренды, но появилось много разной техники, часто неизвестной ни интеграторам, ни тем более заказчикам, у нашей команды значительно прибавилось работы. Ведь эту технику надо тестировать на функциональность и совместимость с нашими серверами, чем мы и занимаемся целыми днями. Вот, решили делиться результатами. Так вышло, что наш корпоративный хабра-блог долго стоял на паузе, но теперь всё. Начнём со средств доверенной загрузки (СДЗ) для аппаратных платформ объектов критической инфраструктуры (КИИ), которыми мы недавно укомплектовали очередную партию наших серверов.

    habr.com/ru/companies/trinity/

    #сдз #серверные_платформы #тринити #тестирование #тест #совместимость #rnd #кии #соболь #dallas_lock