Обновить
@Scfread⁠-⁠only

Пользователь

10
Подписчики
Отправить сообщение
Придумайте что-то пооригинальнее — этот вопрос стандартен до анекдотичности и о вас могут плохо подумать :-)
Когда-то я тоже так думал, а потом жизнь столкнула с сеньор разработчиком, который оказался в принципе неспособным написать toString() для древовидной структуры данных в реальном проекте.

С тех пор я всегда проверяю кандидатов на понимание рекурсии.
Если умеете, тогда выбор инструмента — это ваш выбор. Как профессионала.
А вы умеете им пользоваться?
Почему же — только те, кто не имеет достаточно знаний и опыта, чтобы обойтись без спринга) Так-то, конечно, может быть множество причин сидеть на спринге.
Оставшиеся профессионалы? Сейчас софт в одиночку никто не пишет. «Поддерживаемость» кода в гораздо большей степени зависит от квалификации программистов и качества процессов разработки, чем от использования стандартных фреймворков.
Имхо, всё упирется в квалификацию программистов. Множество компаний при разработке ПО, особенно на заказ, предпочитает концепцию «дешево и сердито». Когда без знания HTTP пишут спринговые контроллеры, без знания яваскрипта — JSF/Vaadin, без знания SQL — Hibernate. И без умения проектировать серверный софт для продакшна берут готовый фреймворк и настраивают его через XML.

Конечно же, если нужно сделать что-то быстро, большой старый фреймворк позволит в кратчайшие сроки сделать нечто приемлемо работающее. НО — в нагрузку к 5% нужного функционала мы получаем 95% функционала ненужного, который замедляет приложение, добавляет дыры в безопасности и ограничивает свободу маневра. Про маленькие новые фреймворки хорошо написано вот тут.

Профессионалу намного удобнее взять набор маленьких, качественных библиотек и самому собрать из них приложение.
Такая конфигурация позволяет обычному юзеру получить права рута на машине. Просто смаппив какой-нибудь системный файл в контейнер.
Для собственных приложений в приватных сетях это решается через service discovery. Для публичных сетей ставится прокси, который слушает публичный порт и перенаправляет запрос на нужный экземпляр, слушающий на произвольном порту.
А что мешает разрядить аккумулятор в ноль, чтобы нечему было гореть, и удалить фрезерованием?
Разделение сети как раз не проблема, 99% софта под линукс позволяет настраивать используемые порты. Проблема — это инсталляционные пакеты, которые крайне сложно установить без прав рута. Все норовят писать в /etc, прописывать себя в сервисы и разваливаться при попытке установить как-то иначе.

Лично я всегда деплою контейнеры с --net=host и никогда об этом не жалел.
По быстродействию хуже, но совсем ненамного — на один цикл и немного арифметики указателей.
Стандартная хешмапа для такого маленького набора строк ни разу не факт, что быстрее — вычисление хеша дороже, чем сравнение строк. Еще memory locality — хешмапа в плюсах построена на односвязных списках или с открытой адресацией?
В данном случае лучше вынести все строковые константы на сравнение в отдельный массив и итерироваться по нему.

Но универсальных решений все равно нет — вышеприведенный пример с большим if-ом, к примеру, имеет максимальное быстродействие, возвращая 4 сразу, как только найдет нужную строчку.
Можно и так, но неспортивно же
Да много их. Про альпиниста и веревку, про утку и лису, про лампочки и стоэтажный небоскреб…
AMP *в теории* должно быть быстрее, т.к. хтмл хостится на CDN гугла, у которого есть датацентры во всех регионах мира.
Я учился в 90х, далеко в тундре в среднеобразовательной школе. У нас был турбо паскаль и:
— массивы и односвязные списки
— сортировка пузырьком и вставками
— двоичный поиск
— деревья
Очень просто — в 90е в россии для фанатов программирования не было достойной работы и достойных зарплат, поэтому все самовыражались как могли.
Для школы нормально, двоичных деревьев только не хватает. Зато есть GUI.
> Зачем ставить устаревшую систему на новый корабль, у которого срок службы исчисляется десятилетиями?

Систему, которая заведомо устареет раньше, чем корабль. Так что почему бы и не XP.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность