В чатике наших выпускников поднялась интересная тема — какие баги зависят от платформы?
Я уже давно не сталкивалась с кросс-платформенными багами в самом приложении. Но могу подкинуть пару идей по серверам.
У нас используется jboss. При переезде на wildfly писалась инструкция пользователю. Можно, конечно, сделать одинаковую инструкцию из серии «Установите сервер и настройте такие-то параметры», а потом огребать в поддержке вопросы «Как это сделать?» и «Ой, оно не стартует, что не так?». Поэтому мы пишем две разные инструкции — настройка под Windows и Linux. Инструкции дефолтовые — иди и сделай прям вот так и все будет работать. Если админ умеет работать с сервером приложений jboss, может поменять что-то на свое усмотрение, пожалуйста! Но бай дефолт должно работать по инструкции.
Если пишется какая-то утилита в помощь (собрать логи с сервера, например), ее запуск тоже выглядит чуть-чуть по-разному → отображается на инструкции.
Настройка файловых дескрипторов → отдельная песня. Забыл увеличить в линуксе и огреб ошибку о невозможности открыть их. Файловые дескрипторы позволяют приложению сделать доступ к файлу.
SSO настроить — на винде геморрой тот еще.
Многие плагины не работаю на винде как SSH-клиент, так как для винды SSH-чужеродная система. SSH-ключ → танцы с бубнами с расположением директории по умолчанию.
Все проблемы из-за того, что ядра винды или линукса работают по разному. Приложения на Java могут работать по разному из-за того, что виртуальная машина JVM реализует разные алгоритмы для общения с ОС. Алгоритмы пишут люди, которые тоже ошибкаются.
Как-то так. А вы с какими багами сталкивались?
Я уже давно не сталкивалась с кросс-платформенными багами в самом приложении. Но могу подкинуть пару идей по серверам.
У нас используется jboss. При переезде на wildfly писалась инструкция пользователю. Можно, конечно, сделать одинаковую инструкцию из серии «Установите сервер и настройте такие-то параметры», а потом огребать в поддержке вопросы «Как это сделать?» и «Ой, оно не стартует, что не так?». Поэтому мы пишем две разные инструкции — настройка под Windows и Linux. Инструкции дефолтовые — иди и сделай прям вот так и все будет работать. Если админ умеет работать с сервером приложений jboss, может поменять что-то на свое усмотрение, пожалуйста! Но бай дефолт должно работать по инструкции.
Если пишется какая-то утилита в помощь (собрать логи с сервера, например), ее запуск тоже выглядит чуть-чуть по-разному → отображается на инструкции.
Настройка файловых дескрипторов → отдельная песня. Забыл увеличить в линуксе и огреб ошибку о невозможности открыть их. Файловые дескрипторы позволяют приложению сделать доступ к файлу.
SSO настроить — на винде геморрой тот еще.
Многие плагины не работаю на винде как SSH-клиент, так как для винды SSH-чужеродная система. SSH-ключ → танцы с бубнами с расположением директории по умолчанию.
Все проблемы из-за того, что ядра винды или линукса работают по разному. Приложения на Java могут работать по разному из-за того, что виртуальная машина JVM реализует разные алгоритмы для общения с ОС. Алгоритмы пишут люди, которые тоже ошибкаются.
Как-то так. А вы с какими багами сталкивались?
Этот комментарий был удален автором.
ОтветитьУдалитьСпасибо! Исправила =)
УдалитьКогда-то я тестировал большую систему, которая ставится клиенту на сервер с виндами или линуксом. И вот однажды в ней запилили фичу с выгрузкой старого журнала изменений в лог-файлы. Всё бы ок, но писал ее разработчик с виндой, и он прописал относительный путь в духе /archive/log. У нас почти все тестовые сервера были на линуксе, так что багу мы нашли мгновенно =)
ОтветитьУдалитьНаверное, сюда же можно отнести особенности работы с разными СУБД. Например, я довольно быстро выяснил, что из используемых БД MSSQL имеет наименьшее ограничение на число параметров в запросе (не помню уже сколько), так что для отчетов стало обязательной практикой делать тяжелую выборку со всеми параметрами сразу
Жестко прописанный лог — это прекрасно :)
Удалить