А ещё можно на ассемблере написать - просто летать будет. Естественно что спринг добавляет оверхед и если его не использовать будет быстрее, но удобнее - большой вопрос
один сервер НЕ всегда будет быстрее кластера, потому что у него есть потолок производительности, у кластера его нет (ну или почти нет :)), это называется горизонтальное масштабирование Насчет DTO, их имеет смысл использовать, когда сигнатруа метода раздувается до 5 и более параметров, это никак не связано с Rest API, такого правила желательно придерживаться в любом API
"Синхронное API — одна из ключевых причин низкой производительности вебсервисов." Вообще странное утверждение потому что синхронный вызовы по умолчанию быстрее асинхронных, т.к. не используются очереди, дополнительные потоки и т.д.
А насчет "Что произойдет если появится необходимость добавить новый параметр?" у RequestParam есть проперть defaultValue которую всегда можно выставить
Если честно, до конца не дочитал, наверняка еще найдется пара/трока спорных утверждений
Все это хорошо, но летом там ну очень жарко, а с учётом глобального потепления будет ещё жарче. Так что лето, по крайней мере, я бы проводил в другом месте, как американские пенсионеры, которые зимуют во флориде, а лето где нибудь по севернее, типа чикаго
Пользуюсь комьюнити идею начиная с первых дней её появления и никаких проблем не испытываю. Все эти визарды, плагины, все это костыли для тех кто под капот ленится заглядывать. А модульная или микросервисая архитектура позволяет быстро разобраться с проектом любой сложности.
Когда то я ехал в поезде с профессором, он возмущался по поводу зарплат. Я спросил у него сколько книг по профессии он прочёл за последнее время, на что он ответил, зачем мне что то читать, если если ничего нового не было с начала прошлого века. Вот по этому и такая разница в зарплате, программист учится пока работает. Каждые 3-5 лет новая мулька, не сказать чтобы сильно новая, но все же поизучать придётся.
По поводу оценки времени, если задача хорошо декомпозирована на подзадачи, проблем с оценкой нет. Для декомпозиции необходимо провести исследование и потратить 1, 2 дня иногда побольше, но иначе никак
Я бы поменял модель лицензирования. Вместо продажи ultimate версии, продавал бы плагины. Я уже давно использую комьюнити версию и не парюсь, но когда-то использовал платную и из всех фичей использовал максимум процентов 10, что можно было-бы купить за 200 долларов, вместо 600.
Для РФ правда теперь это не актуально. Так что я считаю продукт стоит не дёшево, дешевле чем в свое время борланд продавал, но все равно, есть альтернативы, так что посмотрим
Тимлид это капитан команды, играет ли капитан - конечно, иначе на кого молодым равняться, он не делает много грязной работы, но голы забивает. Как Овечкин в Вашингтоне :) А если он не играет, то это уже какой-то менеджер, завхоз, сервисмен
На сях я писал лет 15 назад, на го сейчас периодически есть зада и поверьте, никто из нашей команды не рвётся что писать на го, поэтому периодически возникает необходимость миграции сервисом с го на джава
Ну можно вспомнить java в момент появления - gc, многопоточность, коллекции, ui, да много всего. Все было в java se на тот момент, поэтому такая популярность сейчас
Наверное больше зарубежные, не сказать что большой опыт в собеседованиях, но не припомню чтобы в наших компаниях было что то подобное
"условие ожидания — Condition await()/signal(). С synchronized это недоступно. " - а как же wait и notify?
А ещё можно на ассемблере написать - просто летать будет. Естественно что спринг добавляет оверхед и если его не использовать будет быстрее, но удобнее - большой вопрос
один сервер НЕ всегда будет быстрее кластера, потому что у него есть потолок производительности, у кластера его нет (ну или почти нет :)), это называется горизонтальное масштабирование
Насчет DTO, их имеет смысл использовать, когда сигнатруа метода раздувается до 5 и более параметров, это никак не связано с Rest API, такого правила желательно придерживаться в любом API
"Синхронное API — одна из ключевых причин низкой производительности вебсервисов."
Вообще странное утверждение потому что синхронный вызовы по умолчанию быстрее асинхронных, т.к. не используются очереди, дополнительные потоки и т.д.
А насчет "Что произойдет если появится необходимость добавить новый параметр?" у RequestParam есть проперть defaultValue которую всегда можно выставить
Если честно, до конца не дочитал, наверняка еще найдется пара/трока спорных утверждений
Все это хорошо, но летом там ну очень жарко, а с учётом глобального потепления будет ещё жарче. Так что лето, по крайней мере, я бы проводил в другом месте, как американские пенсионеры, которые зимуют во флориде, а лето где нибудь по севернее, типа чикаго
handleRequest(key) там ещё может не быть запроса, потому что он может приходить по частям tcp не пакетный протокол
И наверное правильнее называть этот принцип более общим словом - модульная архитектура
Пользуюсь комьюнити идею начиная с первых дней её появления и никаких проблем не испытываю. Все эти визарды, плагины, все это костыли для тех кто под капот ленится заглядывать. А модульная или микросервисая архитектура позволяет быстро разобраться с проектом любой сложности.
А потом ваш впн начинает конфликтовать с рабочим и вы курите бамбук
Есть прекрасный сайт где все это собрано https://microservices.io/index.html и книга от того же перца
Microservices Patterns: With Examples in Java есть вроде и на русском, от неё мне спать не хотелось, увлекательное чтиво
Когда то я ехал в поезде с профессором, он возмущался по поводу зарплат. Я спросил у него сколько книг по профессии он прочёл за последнее время, на что он ответил, зачем мне что то читать, если если ничего нового не было с начала прошлого века. Вот по этому и такая разница в зарплате, программист учится пока работает. Каждые 3-5 лет новая мулька, не сказать чтобы сильно новая, но все же поизучать придётся.
По поводу оценки времени, если задача хорошо декомпозирована на подзадачи, проблем с оценкой нет. Для декомпозиции необходимо провести исследование и потратить 1, 2 дня иногда побольше, но иначе никак
Ну т.е. она без инета не живёт? Можно же код активации поставить без соединения с jetbrains.
Я бы поменял модель лицензирования. Вместо продажи ultimate версии, продавал бы плагины. Я уже давно использую комьюнити версию и не парюсь, но когда-то использовал платную и из всех фичей использовал максимум процентов 10, что можно было-бы купить за 200 долларов, вместо 600.
Для РФ правда теперь это не актуально. Так что я считаю продукт стоит не дёшево, дешевле чем в свое время борланд продавал, но все равно, есть альтернативы, так что посмотрим
Ну это как я понимаю в сторонке от кода лежит, может и разъехаться. Да, и в Москве нет Софийской улицы, есть набережная с соответствующим названием
Тимлид это капитан команды, играет ли капитан - конечно, иначе на кого молодым равняться, он не делает много грязной работы, но голы забивает. Как Овечкин в Вашингтоне :) А если он не играет, то это уже какой-то менеджер, завхоз, сервисмен
Грозит ли jetbrains участь Borland...
На сях я писал лет 15 назад, на го сейчас периодически есть зада и поверьте, никто из нашей команды не рвётся что писать на го, поэтому периодически возникает необходимость миграции сервисом с го на джава
Ну можно вспомнить java в момент появления - gc, многопоточность, коллекции, ui, да много всего. Все было в java se на тот момент, поэтому такая популярность сейчас
Говно это ваше го, Си 70 годов прошлого века. Язык должен приносить что то новое, что принёс го - нефига, 0 полный