пятница, 19 июня 2015 г.

Windows VS Linux — идеи багов для разных платформ

В чатике наших выпускников поднялась интересная тема — какие баги зависят от платформы?


Я уже давно не сталкивалась с кросс-платформенными багами в самом приложении. Но могу подкинуть пару идей по серверам.

У нас используется jboss. При переезде на wildfly писалась инструкция пользователю. Можно, конечно, сделать одинаковую инструкцию из серии «Установите сервер и настройте такие-то параметры», а потом огребать в поддержке вопросы «Как это сделать?» и «Ой, оно не стартует, что не так?». Поэтому мы пишем две разные инструкции — настройка под Windows и Linux. Инструкции дефолтовые — иди и сделай прям вот так и все будет работать. Если админ умеет работать с сервером приложений jboss, может поменять что-то на свое усмотрение, пожалуйста! Но бай дефолт должно работать по инструкции.

Если пишется какая-то утилита в помощь (собрать логи с сервера, например), ее запуск тоже выглядит чуть-чуть по-разному → отображается на инструкции.

Настройка файловых дескрипторов → отдельная песня. Забыл увеличить в линуксе и огреб  ошибку о невозможности открыть их. Файловые дескрипторы позволяют приложению  сделать доступ к файлу.

SSO настроить — на винде геморрой тот еще.

Многие плагины не работаю на винде как SSH-клиент, так как для винды SSH-чужеродная система. SSH-ключ → танцы с бубнами с расположением директории по умолчанию.

Все проблемы из-за того, что ядра винды или линукса работают по разному. Приложения на Java могут работать по разному из-за того, что виртуальная машина JVM реализует разные алгоритмы для общения с ОС. Алгоритмы пишут люди, которые тоже ошибкаются.

Как-то так. А вы с какими багами сталкивались? (smile)

4 комментария:

  1. Этот комментарий был удален автором.

    ОтветитьУдалить
  2. Когда-то я тестировал большую систему, которая ставится клиенту на сервер с виндами или линуксом. И вот однажды в ней запилили фичу с выгрузкой старого журнала изменений в лог-файлы. Всё бы ок, но писал ее разработчик с виндой, и он прописал относительный путь в духе /archive/log. У нас почти все тестовые сервера были на линуксе, так что багу мы нашли мгновенно =)

    Наверное, сюда же можно отнести особенности работы с разными СУБД. Например, я довольно быстро выяснил, что из используемых БД MSSQL имеет наименьшее ограничение на число параметров в запросе (не помню уже сколько), так что для отчетов стало обязательной практикой делать тяжелую выборку со всеми параметрами сразу

    ОтветитьУдалить
    Ответы
    1. Жестко прописанный лог — это прекрасно :)

      Удалить