Безопасность не при чем. Речь только об экономии или даже «традиции экономить». В Англии не распространена централизованная подача воды с ТЭЦ и все повсеместно используют накопительные бойлеры, особенно в домах. Бойлер имеет ограниченный запас воды, обычно не более 200 литров, если семья большая, а нагревается долго.
Есть доставляющее воспоминание Черчиля, который приехав в Москву впервые в своей жизни увидел смеситель.
Там все более менее линейно: либо статическая линковка, тогда вообще нет проблем, либо динамика, но админы с ней очень хорошо знакомы и понимают как это работает. Да и стандарт в ентерпрайзе нынче один: RHEL и его клоны.
А в java, во-первых, может быть много деплоеров с разной логикой и нюансами. Например spring. Особенно забавно смотреть на случай одновременного использования спринга и штатного для аппликейшен сервера загрузщика. Или вообще свой деплоеер. Редко, но бывает.
Во-вторых, может быть много чисто физически разных форматов: jar, war, spring или что-нибудь кастомное, которые как-то сочетаются с первым пунктом. Бывает сложно разобраться а в какой же последовательности это все загружается. Совсем недавно я был вынужден использоваться deployment.xml в котором было написано, что для все файлов начинающихся с superproject, сначала надо загрузить spring, потом jar, потом war, но немного с другим именем :)
В-третьих, java девелоперы имеют очень плохую тенденцию тянуть много сторонних библиотек, которые не совместимы сами с собой. Например Axis умудряется изменить api в минорных версиях, что требует доработки своего кода, а иногда вам нужно два аксиса разных версий, которые притянулись как зависимости, но вы не всегда этого можете добиться (в частности на такой каке как jboss или как она там сейчас называется) и тогда вообще беда.
> GC это то, что хорошо видно на инструментах мониторинга при тормозах, но это не сама причина тормозов, так же как и те же вакуумы в версионных RDBMS.
Ну это очевидно, я собственно и не говорил, что сама по себе платформа плохая. Речь о том, что GC в сочетании со средним программистом это неприятно.
Про C/C++ все верно: сегфолтов там будет на порядок больше, чем NPE в java. Но тут, понимаешь, работает отрицательный отбор: средние прогеры на С не выживают именно из-за того, что их поделия сыпятся, а средние прогеры на Java могут делать вид, что они спецы очень долго.
Я очень хорошо понимаю, что отдебажить С++ упавший в продакшене крайне сложно. Но обычно в таком случае у меня был бородатый гуру, ну или просто толковый студент, который умудрялся найти ошибку относительно шустро. А вот когда система неожиданно упиралась в FullGC или просто работала заметно медленнее с вероятностью в 95% у меня был индусоподобный гражданин, который вообще не знает как Java машина устроена, которому я, с моими чисто админскими знаниями об этой штуке, буду долго объяснять что случилось.
Поэтому чисто статестически для меня GC это худшее что есть в Java. И где-то рядом с этим ад называемый deployment.
> Тем более java показывает прекрасную производительность из-за JIT, а память нынче очень дешёвая
Как человек уже миллион лет работающий с продуктами на java, могу сказать, что проблема этой платформы для админов совсем не в памяти. Да действительно память дешевая, хотя и не настолько как это кажется разработчикам (бытовая память в вашем компьюетере иной раз на порядок дешевле, чем ECC в дорогом сервере).
Самая главная технологическая беда это GC. Как не крути ребус, какой алгоритм не выбирай, но на временном диапазоне в год и количестве инсталяции 100+, рано или поздно нарвешься на тормоза. И разумеется это произойдет в самый важный момент (отчетный период в банке или у провайдера, например), когда нагрузка велика.
Отягощают эту проблему манера писать у современных ява прогреров: зная что есть GC, они абсолютно безолаберно относятся к созданию сущностей. Христоматийный «хеллоу ворлд» из десятка класов хоть и гротеск, но хорошо отображает реальность. Практический на любое действие создают тысячи объектов в куче, которые уже через секунду-две не нужны.
Просто представте себе прием платяжей у провайдера с миллионной абонентской базой. Обработка платежа длится 30-40 ms, но за это время успевает создаться 30-50 объектов, которые почти тут же становятся не нужны. А рядом трудится написанный на C RADIOUS сервер, который глобально делает нечто очень похожее, но умудряется переиспользовать выделенные участки памяти и работать годами без сбоя без просадки производительности. Во многом эта ситуация завязана на излишне общие фреймворке, но все таки основа беды в культуре написания ПО.
NetApp? И на этом HANA? Ребят, вы бы хоть постеснялись вслух об этом говорить. Особенно клиенту, которому вы это впарили. https://blogs.oracle.com/si/entry/why_your_netapp_is_so
И кстати какая там база данных? Если Оракл, то как вы решили проблему лицензирования? Точнее как её умудрился решить ваш клиент.
Обычно показывать надо, чтоб пользователь видел зависимости. Иначе возникает проблема: пользователь ищет фичу A, но из-за фичи B её не видно и он предполагает, что программа просто не может в A.
А как тогда отображать случай недоступности этого переключателя? Например он зависим от ещё одного переключателя и пока тот выключен, этот недоступен. Да и типичная проблема современных «дизайнёров» всплывает: серый текст на сером фоне, который хорошо смотрится, но плохо читается.
Caps можно мизинцем нажать. Как следствие даже руку минимально сдвигать не надо. А по назначению её почти никто не использует, ибо нужно это было во времена механических печатных машин.
В линухе также есть вторая по популярности идея использования Caps: поменять местами Caps и Ctrl.
Можно ещё клавишу контекстного меню использовать — ей редко пользуются по назначению. Я правда не знаю возможно ли это в Windows, но если влезть в скан коды, как в статье, то врятли возникнут проблемы.
Кроме того есть совет актуальный для владельцев MS Nature 4k. В комплекте с клавиатурой шла утилитка, которая позволяла переопределять клавиши. Правда это было 9 лет назад, как сейчас дела я не знаю.
Резолв происходит на той точке с которой идет подключение к роутеру для начальной настройки (например ноутбук). И на этой точке будут свои настройки резолвера (например 8.8.8.8 или dns провайдера).
Чаще всего эти проблемы возникают именно у «опытных». При чем, что характерно, студенты просто ошибаются — ну не набил он ещё этих шишек, это простительно. А вот опытные разработчики часто не делают из принципа. Любимые мантры «эта таблица никогда не вырастет», «индекс увеличивает время апдейта» (играет в кепа, но расчитать статистику не способен) и «да зачем нужен индекс на родительской таблице под форейн кеем, я никогда этого не делаю» (детская ошибка с тяжкими последствиями в Оракл).
С карточками все хорошо, когда они отображают разный по природе контент. В качестве примера можно взять главную яндекса, с её настраиваемыми блоками (которые правда не выделены в виде карточек), но когда речь идет о множестве однородных сущностей, которые надо отобразить на экране компьютера возникает проблема с сортировкой по колонкам. Яркий пример этой проблемы G+ в трехколоночном виде, в котором карточки перемещаются вверх-вниз, влево-вправо без какой-либо видимой для пользователя причины. Мне кажется именно этот дизайн сыграл не малую роль в провале G+.
Говорю, как пользователь: аккуратно надо с карточками.
К слову сказать, у StartSSL тоже есть (теперь?) API, но сертификаты там на год, а не три месяца, ну и если доплатить, то можно получить wildcard в неограниченном количестве и сроком на два года (LE wildcard не планирует).
> Изменить конфигурацию под текущие потребности пользователь может в любой момент в несколько кликов в панели управления.
Это не новость. Для этого есть системы виртуализации. Почему вы сравниваете свой хостинг, с дедикейтед без виртуализации? Ваш основной конкурент это сервер под KVM/VMWare. Там тоже можно кликать мышкой и эластично настраивать ресурсы.
Есть доставляющее воспоминание Черчиля, который приехав в Москву впервые в своей жизни увидел смеситель.
А в java, во-первых, может быть много деплоеров с разной логикой и нюансами. Например spring. Особенно забавно смотреть на случай одновременного использования спринга и штатного для аппликейшен сервера загрузщика. Или вообще свой деплоеер. Редко, но бывает.
Во-вторых, может быть много чисто физически разных форматов: jar, war, spring или что-нибудь кастомное, которые как-то сочетаются с первым пунктом. Бывает сложно разобраться а в какой же последовательности это все загружается. Совсем недавно я был вынужден использоваться deployment.xml в котором было написано, что для все файлов начинающихся с superproject, сначала надо загрузить spring, потом jar, потом war, но немного с другим именем :)
В-третьих, java девелоперы имеют очень плохую тенденцию тянуть много сторонних библиотек, которые не совместимы сами с собой. Например Axis умудряется изменить api в минорных версиях, что требует доработки своего кода, а иногда вам нужно два аксиса разных версий, которые притянулись как зависимости, но вы не всегда этого можете добиться (в частности на такой каке как jboss или как она там сейчас называется) и тогда вообще беда.
Ну это очевидно, я собственно и не говорил, что сама по себе платформа плохая. Речь о том, что GC в сочетании со средним программистом это неприятно.
Про C/C++ все верно: сегфолтов там будет на порядок больше, чем NPE в java. Но тут, понимаешь, работает отрицательный отбор: средние прогеры на С не выживают именно из-за того, что их поделия сыпятся, а средние прогеры на Java могут делать вид, что они спецы очень долго.
Я очень хорошо понимаю, что отдебажить С++ упавший в продакшене крайне сложно. Но обычно в таком случае у меня был бородатый гуру, ну или просто толковый студент, который умудрялся найти ошибку относительно шустро. А вот когда система неожиданно упиралась в FullGC или просто работала заметно медленнее с вероятностью в 95% у меня был индусоподобный гражданин, который вообще не знает как Java машина устроена, которому я, с моими чисто админскими знаниями об этой штуке, буду долго объяснять что случилось.
Поэтому чисто статестически для меня GC это худшее что есть в Java. И где-то рядом с этим ад называемый deployment.
Как человек уже миллион лет работающий с продуктами на java, могу сказать, что проблема этой платформы для админов совсем не в памяти. Да действительно память дешевая, хотя и не настолько как это кажется разработчикам (бытовая память в вашем компьюетере иной раз на порядок дешевле, чем ECC в дорогом сервере).
Самая главная технологическая беда это GC. Как не крути ребус, какой алгоритм не выбирай, но на временном диапазоне в год и количестве инсталяции 100+, рано или поздно нарвешься на тормоза. И разумеется это произойдет в самый важный момент (отчетный период в банке или у провайдера, например), когда нагрузка велика.
Отягощают эту проблему манера писать у современных ява прогреров: зная что есть GC, они абсолютно безолаберно относятся к созданию сущностей. Христоматийный «хеллоу ворлд» из десятка класов хоть и гротеск, но хорошо отображает реальность. Практический на любое действие создают тысячи объектов в куче, которые уже через секунду-две не нужны.
Просто представте себе прием платяжей у провайдера с миллионной абонентской базой. Обработка платежа длится 30-40 ms, но за это время успевает создаться 30-50 объектов, которые почти тут же становятся не нужны. А рядом трудится написанный на C RADIOUS сервер, который глобально делает нечто очень похожее, но умудряется переиспользовать выделенные участки памяти и работать годами без сбоя без просадки производительности. Во многом эта ситуация завязана на излишне общие фреймворке, но все таки основа беды в культуре написания ПО.
И кстати какая там база данных? Если Оракл, то как вы решили проблему лицензирования? Точнее как её умудрился решить ваш клиент.
В линухе также есть вторая по популярности идея использования Caps: поменять местами Caps и Ctrl.
Кроме того есть совет актуальный для владельцев MS Nature 4k. В комплекте с клавиатурой шла утилитка, которая позволяла переопределять клавиши. Правда это было 9 лет назад, как сейчас дела я не знаю.
Говорю, как пользователь: аккуратно надо с карточками.
Это не новость. Для этого есть системы виртуализации. Почему вы сравниваете свой хостинг, с дедикейтед без виртуализации? Ваш основной конкурент это сервер под KVM/VMWare. Там тоже можно кликать мышкой и эластично настраивать ресурсы.