Pull to refresh

Comments 27

>> Если Quarkus и Micronaut воспринимаются как смелые эксперименты

На всякий случай замечу, что и микропрофайл и хибернейт(а так же многое другое как например vert.x или resteasy и smallrye) поддерживаются именно RedHat. Более того, поддерживаются одними и теми же людьми. При чем даже на экспериментальные фичи, иногда выдавали мне фиксы за день и со мной эти же люди дебажили код из jdk вплоть до натива по обычной апаче лицензии, чтобы понять где проблемы... Ну да, очень смелые эксперименты.

Ну а с учётом, что эти эксперименты уже давно и глубоко используются в Энтерпрайз, да и тот же редхат уже на quarkus переписал keycloak и infinispan - то я бы не называл их экспериментами уж точно.

Может быть, разные люди и компании живут в разных реальностях, своих информационных бабблах... Ты знаешь какие-нибудь соцсети, банки, государственные структуры, крупный ритейл (аля X5) и другой российский энтерпрайз, который сидит на Кваркусе? Если знаешь - поделись, пожалуйста. Я знаю много кто экспериментировал, но у них (этих неназванных из-за NDA компаний) это всё так и живёт на фазе эксперимента, а в проде там крутится JavaEE такой версии, что на ней писали ещё прадедушки

Российские банки и государственные структуры - это немножко меньше мирового IT. И окологосударственнось(как и везде) накладывает какие то ограничения. На "сертифицированный Линукс", "сертифицированный JDK", фрэймворк и так далее. При чем чем глубже сидят эти компании, тем больше ограничения.

Про j2ee в проде - это отдельная история. Как про ту же сертификацию, так и про то, что апгрэйд чего то на что то надо тестировать, а это деньги. И не айтишные дяденьки, с большими калькуляторами прекрасно умеют считать, что "модно и молодежно" и "зачем платить много денег когда jdk в LTS" прекрасно делают выбор.

Кстати, на сколько я помню, Твиттер переехал на Грааль и натив ещё во времена 19й версии.требования по железу упали на 10-15%. На их объемах, это солидная экономия. Соответственно кваркуса тогда не было, а Спринг в нативе до сих пор толком то и нет

Эмм, я же не утверждаю, что Спринг Нейтив или Кваркус или не работают. Хочу только отметить, что большая часть мира не в курсе, что они вообще существуют, и более того - им всё равно.

Хочется еще раз пропиарить схему из книги Crossing the Chasm.
Иногда инноваторы забывают, что там на схеме есть ещё и весь остальной мир :)

Превращение продукта из "смелого эксперимента" для аудитории инноваторов в "этим легаси мы уже миллион лет пользуемся" для laggards - это целая история!

Зевает. Ну не подводите "большую часть мира" под себя.

То есть то что вы не пользовались, это не значит, что это эксперементально или вообще не существует. Скорее поинт в том, что в следующий раз разберитесь глубже, либо используйте более мягкую терминологию.

Большая часть мира вообще считает что айтишники - это какие то странные ребята, бубнят себе что-то под нос и делают всякие непонятные вещи.

А для большей части мира Сишников - все java фрэймворки могут быть так же на одно лицо и иногда даже совсем не существуют.

На тренировках по фехтованию нас учили, что самое непродуктивное, что можно сделать - закрывать глаза, когда тебя бьют в голову. Ты можешь нормально что-то сделать только пока полностью адекватен реальности, видишь всё широко раскрытыми глазами и способен моментально реагировать на это.

Нельзя закрывать глаза на факты типа того, что айтишников действительно супер мало (до Событий их было в России не больше 2 миллионов человек), а Спринг Нейтиву и Кваркусу до стандарта индустрии - как пешком до Марса. Не надо врать, в особенности себе. Тогда появляется шанс как-то выбраться из сложившейся ситуации

А простите, что есть "стандарты индустрии" и не расскажите, каким образом и в каких местах тому же Кваркусу далеко. Спринг-натив понятно, он там еще из беты по моему не выбрался. Что с Кваркусом не так? Просто вот интересно, то ли вас фихтованию не доучили, то ли я индустрию не так понимаю. Но определенно, кто-то из нас ошибается. Можно по пунктам, у вас же будет аргументация?

Пока для меня это звучит просто как голословные утверждения, хотелось бы фактаж.

Берем какой-нить опрос по-репрезентативней, например, JetBrains: https://www.jetbrains.com/lp/devecosystem-2021/java/, смотрим на 3% Кваркуса, и понимаем, что надо слушать Олега, а не жить в своём баббле.

Слушать, простите что? Что Олег что-то придумал и не может аргументировать?

https://newsroom.eclipse.org/news/announcements/amid-growth-cloud-native-enterprise-java-adoption-eclipse-foundation-announces тут 13%

https://www.jrebel.com/blog/2021-java-technology-report тут 6%

Я вот какую мысль пытаюсь понять. Новые технологии - это плохо и надо вечно сидеть на старых? Вроде как нет. Вы тому пример в том числе.

Или что Олегу (да и всем остальным) надо бежать по всем своим клиентам/заказчикам и компаниям и пытаться их заставить отказаться от KeyCloak/Infinispan т.к. они написаны на "смелых экспериментах", а в дальнейшем от всего RedHat, который на java? Попробуйте, потом расскажите, интересная статься может получиться.

Или все же таки попробывать разобраться и говорить о плюсах, минусах, экперементальности и production ready? Пока от Олега было ноль аргументов.

Пока я вижу минус только один. В RUнете на нем никто(практически) писать не умеет. Как когда то на том же Spring-е. Коммерчески (для компаний) это в чем то show-stoper, но как бы и на golang совсем недавно никто не умел.

Да, возможно кваркус где то приживется, где то нет. Может и совсем умрет, но говорить о эксперементальности - это просто не знание контекста.

мне интересно помогать людям, а пишут они на новых или старых технологиях - не имеет никакого значения

>>мне интересно помогать людям, а пишут они на новых или старых технологиях - не имеет никакого значения

Помогать правильно. Perception создавать по другим технолологиям - не очень. В любом случае, спасибо за статью.

Удачи!

Для большинства приложений, хорошая практика - заводить эндпоинт /health

в части 5 описан Actuator - он прекрасно справляется с поставленной задачей

После прочтения статьи

<sarcasm>Мама, я теперь DevOps и пойду получать +300кк\с</sarcasm>

<sarcasm>А админ, наконец, сможет пойти работать настоящим программистом и писать микросервисы! Всего два класса написать надо!</sarcasm>

Спасибо за познавательную статью. Много полезного для себя нашел хоть Java не относится к моему стеку. Хотелось бы отметить, что дополнительно можно использовать Terraform для описания всей инфры.

Можно! Возможно, стоит написать про терраформ, особенно применительно к российским облакам

@Repository
public interface OrderRepository extends MongoRepository<Order, String> {
}

@Repository здесь лишний: ЕМНИП, Спринг подхватывает любой интерфейс унаследованный от CrudRepository, JpaRepository и т.п.

@RestController
@RequestMapping("/api/v1")
public class HealthStatus {
   private final Logger log = LoggerFactory.getLogger(HealthResource.class);
   //...
}

Скажите, а чем вызвано явное приписывание логгеров в коде, у нас же Ломбок прикручен и мы можем использовать @Slf4j?

Тем, что вначале лобка там не было, а потом случились исторические причины :) Спасибо, что заметил!

Поправил, спасибо!

Пожалуйста, складывай все найденные опечатки в личку, а не сюда в комментарии. Наверняка, опечаток там тьма, и если все их писать здесь - то комментарии будут переполнены обсуждением опечаток, вместо обсуждения темы.

И дополняющий его класс HealthStatus:

@RestController
@RequestMapping("/api/v1")
public class HealthStatus {
private final Logger log = LoggerFactory.getLogger(HealthResource.class);

Наверное все же класс HealthResource. А HealthStatus это просто enumeration. Кстати почему Ресурс? 12 лет назад вроде это называли контрОллером, о чем кстати намекает аннотация?

Все так, дойду до ноута - исправлю.
Опечатки и ошибки лучше в личку

"Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях."

Отметился)

Печально. Раньше аргументировали своё решение тем, что оно "быстро и надёжно", сейчас тем что "модно и молодёжно". Ну типа штанов с промежностью на уровне колен. И все эти танцы с бубнами и определение таблиц через java annotation чтобы было кому отвечать на http запросы. На которые уже можно повесить JS интерфейс. Получается если научить SQL сервер напрямую отвечать на http запросы, какой-нибудь бездумный плагин, который бы автоматический конвертил http в SQL и обратно, то все эти модно-молодёжные технологии будут не нужны. Можно будет по старинке писать процедуры, которые работают внутри транзакций.

Более того, так многие компании делали и продолжают делать. Особенно в финтехе, где у тебя много stored procedures и строгая row level security (RLS), за которую ты жопой отвечаешь перед проверяющими органами. Там обычно делают какие-то самописные плагины, которые из описанной на каком-то формальном языке структуры генерят одновременно базу в соответствии с моделью безопасности, и код-клей для передачи наружу. К сожалению, я даже не представляю, как подступиться к написанию такой фундаментальной статьи, да и у меня нет в этом экспертизы. Если тебе интересны такие вопросы, попробуй найти в соцсетях какого-нибудь Олега Царева, ему наверняка есть, чего рассказать.

Sign up to leave a comment.

Articles