Неправду пишете. Работаю в крупном европейском банке, до этого работал в крупном европейском телекоме. В обоих случаях макбуки, и они также, как и виндовые ноуты, ограничиваются и управляются (ищите apple managed devices).
Спасибо вам, а то меня так заминусовали и карму слили, что я уже в собственной адекватности сомневаться начал. Вы по сути лучше раскрыли мысль, которую я пытался донести.
Бороться с этим бесполезно, проще просто игнорировать.
Это главный для меня урок за сегодня. Вообще за последние 2 года понял, что переубедить кого-то в чем-то задача близкая к невыполнимой. Люди в большинстве случаев глухи к чужой позиции.
В твиттере и реддите много чего пишут, например что земля плоская. Значит ли это, что все земляне сошли с ума? Значит ли это, что под каждой статьей про МКС нужно глумиться над плоскоземельщиками, ведь кто-то на реддите чушь написал?
Я к тому, что 3,5 инвалида, толкающих в твиттере тему про массовое покаяние и хороших/плохих русских с высокой вероятностью не сидят на Хабре и не увидят вашей блистательной с ними борьбы.
И да, таки рупор Кремля. Сила пропаганды не в том, чтобы нагло врать. Сила в преувеличении.
Скорее всего не особо способствует. Но если есть неприятие ситуации, а протест кратно дороже (во всех смыслах) эмиграции, то в рамках одного человека это разумный выбор, на мой взгляд.
Все так, арестован и дело выглядит крайне паршивым. Вопрос в количестве таких дел. Можете сравнить статистику по политическим преследованиям во Франции и в РФ.
Люди могут просто не питать иллюзий насчёт мифологического Валинора, сочащегося свободой.
У меня таких иллюзий нет, власть имущие везде пытаются пропихнуть свои интересы, которые часто противоречат интересам граждан. Вопрос, опять-таки, в количестве и качестве конфликта интересов: где-то я могу критиковать власть, голосовать с успехом за больше чем 1 партию и быть уверенным, что власть не станет косплеить Северную Корею, а где-то не могу.
Так если вы в курсе, что комментариев от "эльфов" в этой статье нет, зачем тогда врать про некую ментальную гимнастику? Сами придумали противника, сами с ним сражаетесь?
На все остальное в комментарии выше ответил. Забавно к слову, как вас задевает слово "обосновать", аж про "покаяние за русский" из телевизионных фантазий вспомнили.
Вообще в целом интересная у вас манера общения, cherry-picking так сказать. Вы вот подумали, что я вас в боты записал, хотя до этого я писал про злорадство. В вашем случае это скорее злорадство, боты односложно отвечают, а вы прям видно, что душой рады, что где-то еще в мире появилось несправедливое преследование.
Зачем мне писать такой комментарий? Дело паршивое, французская власть здесь явно не права.
Я написал комментарий, что причины злобной радости не понимаю, у нас от несправедливости в другой стране судебная система лучше чтоль заработает? Цензура исчезнет, политические преследования? К чему зубоскалить?
Я имел ввиду в контексте всех негативных событий, произошедших с 2022 года: война, репрессии, цензура. Логичным действием (при несогласии) является либо протест, либо эмиграция. Но есть третий путь - можно сказать, что везде так, и тем самым обосновать своё бездействие при несогласии
Пока что комментарии (причем не только на Хабре) забиты однотипным ликованием, что "на этом вашем западе негров линчуют". Ни одного комментария "сам виноват" и "а вот в России" я не видел.
Напрашивается вопрос: это знаменитое злорадство ("лишь бы у соседа корова сдохла"), отлично помогающее обосновать пассивное пребывание в России; или всё-таки методичка?
Честно говоря, всегда удивляло, как люди на Хабре могут до пены у рта докапываться до формулировок.
Ядерная держава, которая претендует на полную самодостаточность во всех сферах жизни, построила не 0, а целых 2 (два) гражданских самолета. И то, по разным данным, то ли ввела, то ли не ввела их в эксплуатацию.
Вам самому не смешно? Да даже если десять за год построили и ввели в эксплуатацию, это был бы позорный результат, учитывая весь гонор и прошлые реальные результаты. Но ведь даже этого нет. А есть донашивание боингов и таскание запчастей по логистическим цепочкам, которые живут несколько месяцев.
Мне вот интересно, общаться в уничижительной манере обязательно? Вроде культурные люди.
Добавляю контекста: POST возвращает либо сессию, либо требование пройти двухфакторку, там сложная бизнес-логика которая это делает. Оба варианта прописаны в API спецификации, контракт прозрачный. Как (и главное зачем) это API переделывать?
За "шкирняк" надо выкидывать людей, которые не разобравшись обзывают чужие решения говнокодом. Если бы все на свете можно было сделать через if, не теряя читаемости и расширяемости, то все бы так и делали. Но это не так, и например кейс из статьи был вереницей тройных вложенных if'ов в куче классов, с перемешенной логикой и возвратом из контроллера и сервиса ResponseEntity<Object>. Зато без "великов ради джавы 21".
Напоследок добавлю еще раз, что я не призываю срочно везде повтыкать switch'ей с обвязкой из интерфейсов. Я предложил подход для случаев, когда выносить в ControllerAdvice не подходит, а возвращать из сервиса сформированный ответ не позволяет разделение ответственности между контроллером и сервисом. Не нравится или не подходит под твой кейс - не используй, зачем оскорблять автора?)
Аналогия хорошая, но в вакууме. Можешь, пожалуйста, предоставить код, который решает кейс из статьи без "двойного if"? У тебя скорее всего будет код, который из сервиса вернет ResponseEntity, имхо это плохая практика.
Сваггер скорей всего поломали, апи спроектировано криво, стандартные паттерны выкинули
После такого токсичного потока предположений относительно совершенно незнакомого проекта и людей не хочется отвечать, но я все-таки отвечу.
Во-первых, как я уже отвечал ниже и как написано в статье, подход с sealed классами не предполагает замену @ControllerAdvise - обрабатывать исключения все еще лучше в нем. Описанный в статье подход стоит использовать, когда возможны два и более валидных юзер флоу, т.е. это не ошибка, просто вариантов куда отправить юзера дальше больше чем один. В статье я описал другие варианты решения подобного кейса и также описал, чем они мне не нравятся.
Во-вторых, когда разработчик приходит, то он обычно имеет время разобраться с код-стайлом и подходами, которые использует команда - онбординг, в общем. У нас он есть, также как и код-ревью, на первые задачи новоприбывшего команда уделяет особое внимание. Если у вас разработчик должен с места в карьер прыгать - что ж, могу лишь посочувствовать. Ну а если разработчик игнорирует "велик с 21 жавой", решение даже первой задачи у него просто поиск по через cmd-shif-f без просмотра хотя бы входной точки (контроллера) - то я бы не хотел с таким разработчиком работать.
Наконец, я не понимаю, почему тебя так тригернул тернарный оператор + switch из примера, они в разных классах. Может, ты еще приходишь в ярость, когда метод возвращает Optional? Там ведь тоже (о ужас) при создании Optional может быть if, и при его обработке тоже.
Я не думаю, что каждый эндпоинт будет нуждаться в таком. В API, из которого я взял пример, достаточно много эндпоинтов, и в большинстве случаев все решается через ControllerAdvice (в статье например так решен вариант с 500). Однако бывают случаи, когда предполагается два валидных ответа юзеру, по сути 422 в примере это не ошибка, а нормальный юзер флоу. В таких случаях, на мой взгляд, возврат sealed интерфейса подойдет. Можете пожалуйста раскрыть идею с "монадоподбным контейнером с обработчиком"?
В сервисе тернарный оператор поставил для простоты (в статье приписка, что детали пропущены), в реальном коде все может быть сложнее. Идея как раз в том, чтобы возвращать не что попало, а ограниченный набор классов - такую гарантию дает компилятор. Буду рад посмотреть твой вариант обработки описанного кейса. Swagger генерит то, что в аннотациях указано, поэтому думаю справится. Не могу сказать точно, т.к. мы не генерим в том конкретном проекте.
У нас в код со сравнением имен классов не под сильной нагрузкой, не нашел ни одного лога с выполненной веткой default. Я честно не могу представить ситуацию, в которой она выполнится - поделитесь пожалуйста, если встречали такое.
С enum'ами вариант неплохой, но упрощая switch усложнится весь остальной код, т.к. из сервиса мы хотим получить уже готовую модель для сериалиизации.
del
Неправду пишете. Работаю в крупном европейском банке, до этого работал в крупном европейском телекоме. В обоих случаях макбуки, и они также, как и виндовые ноуты, ограничиваются и управляются (ищите apple managed devices).
Спасибо вам, а то меня так заминусовали и карму слили, что я уже в собственной адекватности сомневаться начал. Вы по сути лучше раскрыли мысль, которую я пытался донести.
Это главный для меня урок за сегодня. Вообще за последние 2 года понял, что переубедить кого-то в чем-то задача близкая к невыполнимой. Люди в большинстве случаев глухи к чужой позиции.
Мне тоже дом и семья важнее, поэтому я перенес свой дом и семью в место, где на мой взгляд шансы попасть под раздачу подарков от государства ниже.
Я никого не прошу оправдываться, это личное дело каждого. Я лишь против аргумента "везде плохо, поэтому чего бухтеть?", который очень часто вижу.
В твиттере и реддите много чего пишут, например что земля плоская. Значит ли это, что все земляне сошли с ума? Значит ли это, что под каждой статьей про МКС нужно глумиться над плоскоземельщиками, ведь кто-то на реддите чушь написал?
Я к тому, что 3,5 инвалида, толкающих в твиттере тему про массовое покаяние и хороших/плохих русских с высокой вероятностью не сидят на Хабре и не увидят вашей блистательной с ними борьбы.
И да, таки рупор Кремля. Сила пропаганды не в том, чтобы нагло врать. Сила в преувеличении.
Скорее всего не особо способствует. Но если есть неприятие ситуации, а протест кратно дороже (во всех смыслах) эмиграции, то в рамках одного человека это разумный выбор, на мой взгляд.
Все так, арестован и дело выглядит крайне паршивым. Вопрос в количестве таких дел. Можете сравнить статистику по политическим преследованиям во Франции и в РФ.
У меня таких иллюзий нет, власть имущие везде пытаются пропихнуть свои интересы, которые часто противоречат интересам граждан. Вопрос, опять-таки, в количестве и качестве конфликта интересов: где-то я могу критиковать власть, голосовать с успехом за больше чем 1 партию и быть уверенным, что власть не станет косплеить Северную Корею, а где-то не могу.
Так если вы в курсе, что комментариев от "эльфов" в этой статье нет, зачем тогда врать про некую ментальную гимнастику? Сами придумали противника, сами с ним сражаетесь?
На все остальное в комментарии выше ответил. Забавно к слову, как вас задевает слово "обосновать", аж про "покаяние за русский" из телевизионных фантазий вспомнили.
Вообще в целом интересная у вас манера общения, cherry-picking так сказать. Вы вот подумали, что я вас в боты записал, хотя до этого я писал про злорадство. В вашем случае это скорее злорадство, боты односложно отвечают, а вы прям видно, что душой рады, что где-то еще в мире появилось несправедливое преследование.
Зачем мне писать такой комментарий? Дело паршивое, французская власть здесь явно не права.
Я написал комментарий, что причины злобной радости не понимаю, у нас от несправедливости в другой стране судебная система лучше чтоль заработает? Цензура исчезнет, политические преследования? К чему зубоскалить?
Я имел ввиду в контексте всех негативных событий, произошедших с 2022 года: война, репрессии, цензура. Логичным действием (при несогласии) является либо протест, либо эмиграция. Но есть третий путь - можно сказать, что везде так, и тем самым обосновать своё бездействие при несогласии
Пока что комментарии (причем не только на Хабре) забиты однотипным ликованием, что "на этом вашем западе негров линчуют". Ни одного комментария "сам виноват" и "а вот в России" я не видел.
Напрашивается вопрос: это знаменитое злорадство ("лишь бы у соседа корова сдохла"), отлично помогающее обосновать пассивное пребывание в России; или всё-таки методичка?
Я думаю, что оба варианта.
Честно говоря, всегда удивляло, как люди на Хабре могут до пены у рта докапываться до формулировок.
Ядерная держава, которая претендует на полную самодостаточность во всех сферах жизни, построила не 0, а целых 2 (два) гражданских самолета. И то, по разным данным, то ли ввела, то ли не ввела их в эксплуатацию.
Вам самому не смешно? Да даже если десять за год построили и ввели в эксплуатацию, это был бы позорный результат, учитывая весь гонор и прошлые реальные результаты. Но ведь даже этого нет. А есть донашивание боингов и таскание запчастей по логистическим цепочкам, которые живут несколько месяцев.
Мне вот интересно, общаться в уничижительной манере обязательно? Вроде культурные люди.
Добавляю контекста: POST возвращает либо сессию, либо требование пройти двухфакторку, там сложная бизнес-логика которая это делает. Оба варианта прописаны в API спецификации, контракт прозрачный. Как (и главное зачем) это API переделывать?
За "шкирняк" надо выкидывать людей, которые не разобравшись обзывают чужие решения говнокодом. Если бы все на свете можно было сделать через if, не теряя читаемости и расширяемости, то все бы так и делали. Но это не так, и например кейс из статьи был вереницей тройных вложенных if'ов в куче классов, с перемешенной логикой и возвратом из контроллера и сервиса ResponseEntity<Object>. Зато без "великов ради джавы 21".
Напоследок добавлю еще раз, что я не призываю срочно везде повтыкать switch'ей с обвязкой из интерфейсов. Я предложил подход для случаев, когда выносить в ControllerAdvice не подходит, а возвращать из сервиса сформированный ответ не позволяет разделение ответственности между контроллером и сервисом. Не нравится или не подходит под твой кейс - не используй, зачем оскорблять автора?)
Аналогия хорошая, но в вакууме. Можешь, пожалуйста, предоставить код, который решает кейс из статьи без "двойного if"? У тебя скорее всего будет код, который из сервиса вернет ResponseEntity, имхо это плохая практика.
После такого токсичного потока предположений относительно совершенно незнакомого проекта и людей не хочется отвечать, но я все-таки отвечу.
Во-первых, как я уже отвечал ниже и как написано в статье, подход с sealed классами не предполагает замену @ControllerAdvise - обрабатывать исключения все еще лучше в нем. Описанный в статье подход стоит использовать, когда возможны два и более валидных юзер флоу, т.е. это не ошибка, просто вариантов куда отправить юзера дальше больше чем один. В статье я описал другие варианты решения подобного кейса и также описал, чем они мне не нравятся.
Во-вторых, когда разработчик приходит, то он обычно имеет время разобраться с код-стайлом и подходами, которые использует команда - онбординг, в общем. У нас он есть, также как и код-ревью, на первые задачи новоприбывшего команда уделяет особое внимание. Если у вас разработчик должен с места в карьер прыгать - что ж, могу лишь посочувствовать. Ну а если разработчик игнорирует "велик с 21 жавой", решение даже первой задачи у него просто поиск по через cmd-shif-f без просмотра хотя бы входной точки (контроллера) - то я бы не хотел с таким разработчиком работать.
Наконец, я не понимаю, почему тебя так тригернул тернарный оператор + switch из примера, они в разных классах. Может, ты еще приходишь в ярость, когда метод возвращает Optional? Там ведь тоже (о ужас) при создании Optional может быть if, и при его обработке тоже.
Я не думаю, что каждый эндпоинт будет нуждаться в таком. В API, из которого я взял пример, достаточно много эндпоинтов, и в большинстве случаев все решается через ControllerAdvice (в статье например так решен вариант с 500). Однако бывают случаи, когда предполагается два валидных ответа юзеру, по сути 422 в примере это не ошибка, а нормальный юзер флоу. В таких случаях, на мой взгляд, возврат sealed интерфейса подойдет.
Можете пожалуйста раскрыть идею с "монадоподбным контейнером с обработчиком"?
В сервисе тернарный оператор поставил для простоты (в статье приписка, что детали пропущены), в реальном коде все может быть сложнее.
Идея как раз в том, чтобы возвращать не что попало, а ограниченный набор классов - такую гарантию дает компилятор. Буду рад посмотреть твой вариант обработки описанного кейса.
Swagger генерит то, что в аннотациях указано, поэтому думаю справится. Не могу сказать точно, т.к. мы не генерим в том конкретном проекте.
У нас в код со сравнением имен классов не под сильной нагрузкой, не нашел ни одного лога с выполненной веткой default. Я честно не могу представить ситуацию, в которой она выполнится - поделитесь пожалуйста, если встречали такое.
С enum'ами вариант неплохой, но упрощая switch усложнится весь остальной код, т.к. из сервиса мы хотим получить уже готовую модель для сериалиизации.