Сохранен 1024
https://2ch.hk/pr/res/2630498.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Java Thread #247 /java/

 admin 05/03/23 Вск 15:52:44 #1 №2630498 
image.png
image.png
image.png
image.png
Программирование - это не столько про анальное крудошлёпство, сколько про стиль мышления. Высокоуровневая абстракция, поиск сходных черт, оптимизация - всё это высшие интеллектуальные способности, что образуют такой прочный симбиоз с программированием на Java.

Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki

Предыдущий: >>2614255 (OP)
Аноним 05/03/23 Вск 16:13:07 #2 №2630528 
>>2630498 (OP)
Шарп во всем лучше джавы
ASP.NET CORE во всем лучше спринга
Тогда в чем смысл существования джава стека?
Аноним 05/03/23 Вск 16:15:57 #3 №2630535 
image.png
>>2630528
Аноним 05/03/23 Вск 16:57:24 #4 №2630601 
Красим кнопки вместе!
Аноним 05/03/23 Вск 18:22:56 #5 №2630717 
Зашел сейчас сказать одну вещь.

Пусть черти ебут в жопу того, кто додумался сделать невозможным создание таблицы под названием "user", часа полтора сейчас голову грел хули не работает @Entity public class User, пока не выяснил. Ебал этого гандона все просто.
Аноним 05/03/23 Вск 18:29:12 #6 №2630721 
RESTfull, HATEOAS это сейчас стандарт или нет?
Аноним 05/03/23 Вск 18:29:26 #7 №2630722 
>>2630717
есть же аннотации которые изменяют название хранимой таблицы (даже я вкатун по второму разу это знаю
sage[mailto:sage] Аноним 05/03/23 Вск 18:33:24 #8 №2630729 
>>2630717
Можешь ещё повыёбываться не невозможность создать таблицу select. ORM таким как ты полностью атрофировало мозг, так что лучше сразу бери монгу и перекатывайся в JS.
Аноним 05/03/23 Вск 18:33:43 #9 №2630731 
>>2630721
>RESTfull
это недостижимая фантазия, оторванная от реальности и смысла
Аноним 05/03/23 Вск 18:54:43 #10 №2630765 
>>2630722
Я так и сделал когда допер. Спринг в консоли не пишет в чем дело, просто кидает эксепшн что нельзя создать такую таблицу и нихуя не разжевывает.
>>2630729
Select понятно, а про существование ключевого слова user не все в курсе.
Аноним 05/03/23 Вск 18:56:18 #11 №2630768 
Даунский вопрос.

spring.datasource.url=jdbc:postgresql://localhost:5432/

Где мне на компе теперь искать эту бд?
Аноним 05/03/23 Вск 19:02:08 #12 №2630777 
>>2630768
в конфиге установленного постгреса вроде есть точный адрес к самой базе
Аноним 05/03/23 Вск 19:22:15 #13 №2630792 
>>2630768
А тут других и не бывает!
Аноним 05/03/23 Вск 19:25:29 #14 №2630797 
>>2630731
Нахуй тогда спринг во всех своих гайдах пихает это?
Аноним 05/03/23 Вск 19:27:28 #15 №2630801 
>>2630797
распиарено
Аноним 05/03/23 Вск 20:13:27 #16 №2630859 
У меня есть классы task и subtask, или даже только один task, и я хочу, чтобы у каждого объекта task могло быть несколько subtask'ов, при этом у каждого subtask'а тоже могли быть свои subtask'и и так несколько поколений с ограничением.
Как это реализовать в spring jpa? Как вообще такие связи называются? Сколько смотрю примеров many to many, везде используются разные классы с двух сторон связи.
Аноним 05/03/23 Вск 20:20:35 #17 №2630862 
>>2630859
Тебе нужно SQL освоить. Там какой-то тип связи есть (Self Join вроде), который ссылается на ту же самую таблицу в качестве форейн кий использует айдишник из этой же таблицы, типа отношение владелец/хозяин.

на ЖОПЕ это наверняка реализуемо. Погугли вначале сикуль, потом поймешь что тебе нужно гуглить в жопе.
Аноним 05/03/23 Вск 20:31:04 #18 №2630871 
>>2630862
жопа наверняка через n+1 сделает стековерфлоу. Так во всем - что-то сложнее примитивного круда - и жопа сосёт
Аноним 05/03/23 Вск 20:31:53 #19 №2630872 
>>2630768
на диске ц поищи
Аноним 05/03/23 Вск 20:35:03 #20 №2630874 
>>2630871
да ну не, вряд ли, self join это база сикуля, простецкая база, кажетсо логичным что в жопе это реализовано из коробки.
Аноним 05/03/23 Вск 20:36:09 #21 №2630875 
>>2630874
в хибернейте union не реализован когда я смотрел
Аноним 05/03/23 Вск 20:38:02 #22 №2630879 
>>2630859
https://www.viralpatel.net/hibernate-self-join-annotations-one-to-many-mapping/

нашел, тут конечно не жопа, но хибернейт, но суть та же

читай это.
Аноним 05/03/23 Вск 22:24:07 #23 №2630947 
>>2630731
Лично у меня есть несколько проектов, которые работают по рестфуллу.
Аноним 05/03/23 Вск 22:24:46 #24 №2630948 
>>2630498 (OP)
Нахуя петушарп в шапке?
Аноним 05/03/23 Вск 22:42:37 #25 №2630959 
>>2630948
Тред уже полгода перекатывает шарпоблядь. С подключением.
Аноним 05/03/23 Вск 22:42:57 #26 №2630961 
>>2630958
Репорт.
Аноним 05/03/23 Вск 22:57:11 #27 №2630971 
>>2630958
сливай бесплатно на треккер, платить за это я не буду.
Аноним 05/03/23 Вск 23:23:50 #28 №2630994 
>>2630978
я не верю что это работает. Программа какая то у вас там ебанутая, с такой даже в стажеры не возьмут сейчас.

Я всё это почти прошёл по книжкам 2 года назад, потом забил на понимании того что в джуны меня не возьмут. Сейчас вот по новой осваиваю, но уже серьезно взялся.
Аноним 05/03/23 Вск 23:26:58 #29 №2630996 
Почему в джаве не дадут возможность самому удалять объекты? Зачем мне обязательно ждать стоп зе ворлд, если в некоторых ситуациях легче самому озаботится жизненным циклом объекта. Имхо, если бы в жабе была такая возможность, то область применения языка была бы больше.
Аноним 05/03/23 Вск 23:31:26 #30 №2631003 
>>2630996
Если у тебя возникают такие ситуации, ты выбрал не тот язык.
Джава специально проектируется для проектов, где надёжность важнее производительности.
Аноним 05/03/23 Вск 23:33:22 #31 №2631004 
Серьезный вопрос, надеюсь есть понимающие в матчасти

есть ли в Идее какие-нибудь плагины навороченные с искуственным интеллектом как вижуал студио чтоб тыкал Tab и все само писалось?

Я тут на досуге почитал C# немного и попробовал студию, там буквально тыкаешь один символ, затем таб, и хуяк, у тебя уже полноценный контроллер со всеми наворотами написался.

Автодополнение там прям охуенное, начинаешь писать в стиле

МояЗалупа залупа1 = на этом этапе тыкаешь таб и он сам дописывает оставшееся. Но это и в Идее есть. Я про более серьезное

Вижуал студио прям охуенно работает, иногда предлагает целые строки кода ДО того как ты что либо тыкнул в начале. Я сейчас не про шлаблоны, а про чтение вышеизложенного кода и предложение по контексту.

Есть ли такие плагины в идее?
Аноним 05/03/23 Вск 23:35:26 #32 №2631008 
>>2631004
Tabnine, Github Copilot
Аноним 05/03/23 Вск 23:41:29 #33 №2631016 
>>2631008
ебать, охуенно.

1. А какой из них лучше?

2. И еще там вроде какие-то триалы. Это влияет на то что через какое-то время мне залупу на воротник повесят и предложат оплатить?

Студия вроде как бесплатно все предлагает из коробки даже в бесплатной версии.

Или я могу просто установить плагин и все, сидеть пердеть на триал версии?
Аноним 05/03/23 Вск 23:43:39 #34 №2631018 
>>2631011
Проблема в том, что я в мухосрани живу, в москву перекатываться ссыкотно без опыта в айти.
Да и лет мне много уже, технического образования нет
Аноним 05/03/23 Вск 23:46:23 #35 №2631019 
>>2631017
я вот выше Tabnine попробовал, вроде охуенно, но там какая-то триал версия.

Платить жмотно.
Аноним 06/03/23 Пнд 00:09:58 #36 №2631039 
Снимок экрана от 2023-03-06 00-07-47.png
>>2631032
Странно, на сайте Tabnine ниче не сказано по количеству запросов.

Там вроде только продвинутая версия платная
Аноним 06/03/23 Пнд 01:16:02 #37 №2631067 
Я научился пользоваться гитом!
Аноним 06/03/23 Пнд 01:18:43 #38 №2631069 
>>2631067
А джава тут при том, что...
Аноним 06/03/23 Пнд 01:19:48 #39 №2631070 
>>2631069
...ты идёшь обратно в свой загон для петушарперов.
Аноним 06/03/23 Пнд 01:20:43 #40 №2631071 
>>2631070
Как и ты идёшь в загон гитоёбов.
Аноним 06/03/23 Пнд 01:22:19 #41 №2631073 
image
Обновил идею. Сука, как вернуть обратно нормальные цвета? Нахуй мне на блеклую дрисню смотреть?
Аноним 06/03/23 Пнд 01:23:35 #42 №2631074 
>>2631073
Нашёл решение: Color Scheme -> New Dark сменить на Dark.
Аноним 06/03/23 Пнд 02:27:41 #43 №2631085 
По мотивам вопроса челика, который спрашивал про AI-based плагины для идеи выше.

Вы их прям часто используете? Или просто угораете от того, что ИДЕ умеет такое? Я чет даже теоретически не могу себе представить какой то весомый профит от них, достойный того, чтобы садиться под ВПН и нести кому то за это деньги. Интересно послушать как у других с этим.

Я чет смотрю на это вот все безобразие, и даже если отбросить мое патологическое недоверие к нейронкам: набора текста в моей работе по прикидкам несоразмерно меньше, чем изучения спек, возни с дебаггером и профайлером, чтения логов, вдупления того, что вообще хочет от моего кода окружающая реальность. Идейка впринципе уже неплохо справляется с джавовым кодом, я чисто по Амдалу если бы че и оптимизировал в своей рутине, то не набор кодотекста в идейке. Мне кажется, я бы больше времени потратил на чтение, сверку и причесывание того, что эта ботва мне нагенерит, нежели чем если бы написал все сам.
Аноним 06/03/23 Пнд 02:35:31 #44 №2631088 
>>2631016
не ебу, я ж не додик чтобы свой код бесплатно отдавать корпорациям которые будут следить через эти плагины
Аноним 06/03/23 Пнд 06:59:26 #45 №2631141 
>>2631004
>Вижуал студио прям охуенно работает, иногда предлагает целые строки кода ДО того как ты что либо тыкнул в начале
там похоже не только искусственный интеллект но и чтение мыслей через излучение монитора.
Аноним 06/03/23 Пнд 07:13:34 #46 №2631148 
>>2631085
>Мне кажется, я бы больше времени потратил на чтение, сверку и причесывание того, что эта ботва мне нагенерит, нежели чем если бы написал все сам.
совершенно верно, идея генерить код нейросетками для того чтобы его править - мертворожденная. был очень интересный проект еще лет 15 назад по генерации микросхем при помощи генетических алгоритмов. там по итогу генерировался такой пиздец, в котором почти нереально было разобраться, потому что баги системы использовались наравне с декларированными возможностями, например помехи и наводки для передачи информации, индукционный ток от группы элементов на плате и прочая магия. при этом все работало, но стоило СДВИНУТЬ (не переключить контакты а просто физически подвинуть) один элемент на плате и все переставало работать. естесственно, элементная схема, которая при этом получалась, была вообще нерабочая. но само изделие, как черный ящик, работало.

с кодом я думаю так же будет - в итоге все придет к генерации таких вот черных ящиков рожающих ожидаемый функционал и в котором разобраться будет человеку в принципе невозможно.
Аноним 06/03/23 Пнд 08:08:00 #47 №2631159 
>>2631073
<Ctrl> + <`>
Аноним 06/03/23 Пнд 08:35:43 #48 №2631171 
>>2630947
кто тебе сказал что у тебя рестфул?
Аноним 06/03/23 Пнд 09:19:43 #49 №2631198 
>>2631148
Сука, сингулярнлсть через нейронки блять. Более унизительной судьбы для человечества сложно представить.
Аноним 06/03/23 Пнд 10:23:51 #50 №2631249 
>>2631171
Я.
sage[mailto:sage] Аноним 06/03/23 Пнд 11:53:09 #51 №2631358 
>>2630498 (OP)
>"Элегантные Объекты - Java Edition" имеет перевод на русский язык. Однако, если без приколов, не зная парашный язык можешь смело идти нахуй, потому что никто твои классы с названиями ProveryalshikArgumentov читать не будет.

А если ПроверяльщикАргументов? Ява ж полностью отъюникожена.
Аноним 06/03/23 Пнд 12:24:34 #52 №2631402 
>>2631358
Сэр, я вижу перед собой синьора.
Аноним 06/03/23 Пнд 13:23:10 #53 №2631456 
>>2631073
Я не понял, а это как? Как сделать цвета? ну кроме оранжевого
Аноним 06/03/23 Пнд 13:40:18 #54 №2631469 
>>2631456
-> >>2631074
Аноним 06/03/23 Пнд 14:01:30 #55 №2631497 
>>2630996
>>Почему в джаве не дадут возможность самому удалять объекты?
Средний Шипилев умнее среднего Олега и ему виднее когда объекты удалять.

>>Зачем мне обязательно ждать стоп зе ворлд
Стоп зе ворлд возникает если у тебя загружено больше 99% памяти. В остальных случаях и так норм чистится через поколения.

>>в жабе была такая возможность
Есть десятки всяких гц, вплоть до ручного запуска очистки памяти по таймеру (когда торги закрыты).
Аноним 06/03/23 Пнд 17:00:53 #56 №2631689 
image.png
Обьясните как вы емейлы обрабатываете. Мне на пост эндпоинт прилетает multipart/mixed и я весь день не могу понять почему эта ошибка вылетает
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('-' (code 45)) in numeric value: expected digit (0-9) to follow minus sign, for valid numeric value.
Поставил такие конфги какие в тырнете нашел, а оно всё равно падает с этой же ошибкой.
Аноним 06/03/23 Пнд 17:04:09 #57 №2631693 
>>2631689
Мало инфы. Скинь дтоху хотя бы. А еще лучше: дтоху и джсон.
Аноним 06/03/23 Пнд 17:06:42 #58 №2631695 
>>2631358
Торг, как третья фаза на пути к Принятию.
Аноним 06/03/23 Пнд 17:16:47 #59 №2631708 
>>2631693
ДТОхи нет, это мне из Mailgun-а прилетает их тестовый
"fully parsed message as an HTTP POST."
Я до приложения смог это дело довести только принимая @RequestBody как String.
Если отлогировать до того как мапить то получается что-то такое
https://pastebin.com/cQ7gKtzY
Аноним 06/03/23 Пнд 17:36:17 #60 №2631726 
>>2631708
>Я до приложения смог это дело довести только принимая @RequestBody как String.

Ну, обжект маппер такое парсить не умеет, он больше - по джсонам.

Честно говоря, я вообще хз чем ее парсить. Попробуй вот так: https://medium.com/@basakabhijoy/parsing-multipart-mixed-response-in-spring-webclient-81b15d2dc4cd - там описано решение с вебфлаксом, но по логике должно сработать и с обычными контроллерами.
Аноним 06/03/23 Пнд 17:44:56 #61 №2631739 
>>2631726
Ну сейчас буду посмотреть, спасибо и на этом.
Аноним 06/03/23 Пнд 17:54:33 #62 №2631757 
Это норма что большинство компаний даже не открывают резюме, тупо ждут что им позвонят... ?
Аноним 06/03/23 Пнд 17:58:50 #63 №2631760 
>>2631757
Да.
Аноним 06/03/23 Пнд 18:40:01 #64 №2631810 
Это норма что большинство сеньоров даже не открывают резюме, тупо ждут что им позвонят... ?
Аноним 06/03/23 Пнд 18:41:11 #65 №2631811 
>>2631810
мне в мыло спамят, при том что я не открываю резюме. Видимо из старого линкедина или из базы херочек
Аноним 06/03/23 Пнд 20:01:20 #66 №2631899 
>>2631810
>>2631811
>>2631760
Что будет если отправить резюме на емайл джуниора ?
Аноним 06/03/23 Пнд 20:38:50 #67 №2631944 
>>2631689
никак ты че ебнутый
Аноним 06/03/23 Пнд 21:01:26 #68 №2631974 
Как замокать RestTemplate (через MockRestServiceServer) внутри одного конкретного бина в интеграционном тесте?
Аноним 06/03/23 Пнд 22:46:31 #69 №2632083 
lwjgl или opengl ?
Аноним 06/03/23 Пнд 22:50:50 #70 №2632086 
>>2632083
jmonkeyengine3
Аноним 06/03/23 Пнд 23:00:36 #71 №2632096 
>>2631974
@InjectMocks
Аноним 06/03/23 Пнд 23:06:26 #72 №2632108 
>>2631974
Там прям в джавадоке копипастный пример написан. Про бин нихуя не понял, но в примере всё локально создается, контекст не закараптит.

Если нужны разные бины для тестов и рантайма, смотри @Profile и @Conditional (чего-то одного достаточно, не надо сразу оба юзать).

Еще есть кенты (ну я и че), у которых @Service и @Component на проекте забанены линтером, контекст создается при помощи @Configuration и @Import. Так вот у таких кентов конфиг контекста лежит там же рядом с тестами, можно только то, что нужно тянуть.

@Configuration
class SomeFuckingBullshitTestConfiguration {
@Bean
public SomeFuckingBullshit someFuckingBullshit() {... mock ...}
}

@Import({
SomeFuckingBullshitTestConfiguration.class,
})
public class UsesBullshitTest {...}

А в продуктовом коде вот так:

@Configuration
class SomeFuckingBullshitProductionConfiguration {
@Bean
public SomeFuckingBullshit someFuckingBullshit() {... prod ...}
}

@Import({
SomeFuckingBullshitProductionConfiguration.class,
})
public class UsesBullshitController{...}
Аноним 06/03/23 Пнд 23:07:19 #73 №2632111 
>>2631810
Это норма что большинство вкатунов даже не отправляют резюме, тупо ждут что им перезвонят... ?
Аноним 06/03/23 Пнд 23:11:02 #74 №2632118 
>>2632108
А пример то я и забыл
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/web/client/MockRestServiceServer.html
Аноним 06/03/23 Пнд 23:12:05 #75 №2632121 
>>2631899
Скорее всего он подумает, что это кидалово, и не ответ. Сам таким был
Аноним 06/03/23 Пнд 23:12:42 #76 №2632123 
>>2631899
Скорее всего он подумает, что это кидалово, и не ответ. Сам таким был
Аноним 06/03/23 Пнд 23:19:20 #77 №2632131 
>>2632111
Как им перезвонят? Не понял
Аноним 06/03/23 Пнд 23:25:26 #78 №2632139 
>>2632083
Бери что угодно, всё равно геймдев и 3D-графика на жабе - говно
Аноним 06/03/23 Пнд 23:27:51 #79 №2632143 
>>2632108
В примере просто рест темплейт используется. А у меня есть сервис, в который инжектится рест темплейт, и мне надо этот сервис замокать. Но только этот сервис, все остальные сервисы должны использовать обычный рест темплейт.
Аноним 07/03/23 Втр 00:37:41 #80 №2632191 
>>2632139
>>2632139
Аргументируйте пожалуйста -_-
Аноним 07/03/23 Втр 00:38:38 #81 №2632194 
>>2632086
Очень интересное утверждение...
Аноним 07/03/23 Втр 07:01:05 #82 №2632251 
>>2630959
Год. Перекаты после 500 постов начались год назад.
Аноним 07/03/23 Втр 07:57:08 #83 №2632276 
>>2632251
Как быстро время летит.
Аноним 07/03/23 Втр 08:09:28 #84 №2632283 
image
Вот так начались перекаты после 500 постов.
Аноним 07/03/23 Втр 10:44:24 #85 №2632336 
goat.mp4
>>2632283
Иллюстрация
Аноним 07/03/23 Втр 19:19:43 #86 №2632980 
прощу прощения. Постгре на обычном жестком диске это плохо? В наличии ещё есть ssd, но похоже переместить постгрю на ссд геморно
Аноним 07/03/23 Втр 20:21:04 #87 №2633032 
>>2632980
помести всё на nvme
Аноним 07/03/23 Втр 20:50:53 #88 №2633045 
У меня завтра мой первый собес с техническим специалистом ! АААААААААААААААААААААААААААА ! !! ! ! ! Ваши мысли ?
Аноним 07/03/23 Втр 20:54:43 #89 №2633047 
>>2633045
Выучи все методы класса Object.
Аноним 07/03/23 Втр 20:55:03 #90 №2633048 
>>2633045
Успехов брат! Чтоб всё получилось
Аноним 07/03/23 Втр 21:00:04 #91 №2633049 
Доброго времени суток. Работал 1.7 года бизнес-аналитиком. Общался с заказчиками, формулировал бизнес-требования и всё вот это вот. На сколько это будет плюсом среди других стажёров/джунов?
Аноним 07/03/23 Втр 21:07:02 #92 №2633052 
>>2633049
ты машина
Аноним 07/03/23 Втр 21:10:33 #93 №2633058 
>>2633049
Лучше, чем опыт слесаря на заводе. Код ты может и не писал, зато понимаешь, как происходит разработка продукта, что для этого нужно, какие обычно возникают сложности, как их преодолеть.
Аноним 07/03/23 Втр 21:50:06 #94 №2633094 
>>2631974
ясно нихуя не знаете блядь окатыши
Аноним 07/03/23 Втр 22:10:09 #95 №2633122 
1678216206589.jpg
Здравствуйте. Подскажите пожалуйста, стоит ли изучать Котлин? Я просто решил джаву осваивать, но вдруг закралась мысль, что бекенд я в силу умственных способностей не потяну. Мобильная разработка проще или же это только на первый взгляд?
Аноним 07/03/23 Втр 22:23:12 #96 №2633137 
>>2633122
> бекенд я в силу умственных способностей не потяну
Это как? Даже я с 85 IQ потянул.
Аноним 07/03/23 Втр 22:40:23 #97 №2633152 
>>2633137
Думаешь все проще? Я вообще подумал с тестирования на джаве начать, чтобы параллельно в мобильную разработку вникать. Но это опять же с точки зрения дилетанта.
Аноним 08/03/23 Срд 01:07:09 #98 №2633297 
>>2629174 →
Я не могу найти этот двухтомник по фамилии. Какое полное название?
Аноним 08/03/23 Срд 01:25:12 #99 №2633306 
>>2633049
Если ты еще там работаешь, то говоришь своему руководителю, что горишь желанием ПОДНАЖАТЬ и лучше вникнуть в процесс разработки, чтобы предупреждать сложности разработки еще на этапе общения с заказчиком, лучше формулировать требования тыры-пыры, в общем ссышь в уши, чтобы получить доступ к кодовой базе.
Потом люто задротишь погромирование, так чтобы было понятно, что за хуйню твои быдлокодеры пишут. Нкличие реального кода в реальном проекте ускорит обучение в 10 раз.
Потом по ситуации грамотно перекатываешься внутри компании или сьебываешь куда-нибудь.
Аноним 08/03/23 Срд 02:56:20 #100 №2633329 
>>2633297
Хортсман core java
Аноним 08/03/23 Срд 03:41:19 #101 №2633340 
>>2633122
А что такого страшного в беке? Что там что там есть сложные констркуции, инструмены разработки и тд. Но только ты будешь получать задачу и думать над логикой (что откуда взять, как обработать, куда положить и тд), а на фронте/мобилке ты будешь париться как кнопку сделать нужной формы, размером, чтобы она была поверх другой кнопке ну и куча куча других параметров.
Вообще надо выбирать то к чему душа больше лежит, но если поровну, то в одном месте изъёбываешься с логикой, а в другом месте изъёбываешься с визуальными элементами
Аноним 08/03/23 Срд 09:55:11 #102 №2633458 
Почему все API для серверов Minecraft написаны на Java, а соответственно и плагины к ним? Разве без jvm нельзя обойтись? Что мне мешает набайтоёбить свой API и через него дёргать jvm?
Аноним 08/03/23 Срд 10:58:12 #103 №2633492 
>>2633458
Нахуя?
Аноним 08/03/23 Срд 10:59:32 #104 №2633494 
>>2633458
Ничего, альтернативно одарённые личности наделали уже 100500 UltimateScriptEngine'ов.
Аноним 08/03/23 Срд 11:14:21 #105 №2633500 
>>2633494
>>2633492
>>2633458
https://github.com/feather-rs/feather

нашёл примерно то, что хотел сделать, там баг на баге конечно....
Аноним 08/03/23 Срд 11:21:54 #106 №2633504 
>>2633500
Ты что, в джаву не смог, долбоеб?
Аноним 08/03/23 Срд 11:57:52 #107 №2633525 
>>2633504
Долбоеб, твоя тошнотворная джава нужна только если ты бэкендер в банке с джавой. Писать на ней мод убивает все удовольствие от процесса
Аноним 08/03/23 Срд 11:59:50 #108 №2633528 
Вы часто пишете СВОИ классы с дженериками в работе?
Можете назвать самый частый юз кейз? Какие-нибудь мапперы?
Аноним 08/03/23 Срд 12:44:22 #109 №2633567 
>>2633525
Обосрался с растабоя. Джава лучший язык для всего.
Аноним 08/03/23 Срд 14:09:15 #110 №2633695 
>>2633340
Спасибо за развернутый ответ. Да, в свое время во фронте именно позиционирование больше всего раздражало. Возможно, бэк в этом плане зайдет легче.
Аноним 08/03/23 Срд 14:28:03 #111 №2633741 
>>2633695
Так что пугает в беке?
Тут все намного более ясно, чем на фронте. По большинству вопросов есть паттерны и бестпрактисы.
Аноним 08/03/23 Срд 15:26:41 #112 №2633813 
Предложили работу в компании которая звонит людям и просит номер карты продиктовать ... :с Ваши мысли ? ._.
Аноним 08/03/23 Срд 15:28:20 #113 №2633814 
>>2633813
А какая там работа? Наёбщик вульгарис?ё
Аноним 08/03/23 Срд 15:30:48 #114 №2633815 
>>2633741
> Так что пугает в беке?
Если судить исходя из личного опыта, а я некогда пытался в джангу, то именно логика и пугает. Огромное количество подключаемых модулей, классов, бутстрап и базы данных. Может быть все кажется сложным лишь по началу, но с другой стороны практиковался я на относительно простых проектах. Посмотрим что из этого выйдет.
Аноним 08/03/23 Срд 15:56:31 #115 №2633822 
Добавил редис в петик для сохранение сессий, чтоб не выкидывало при сбоях и горизонтальном масштабировании. Эх, вот бы на работку взяли, хочется за сотыги копаться в легаси, а не вот это вот все…
Аноним 08/03/23 Срд 16:03:10 #116 №2633827 
>>2633813
В банке чоль?
Аноним 08/03/23 Срд 16:32:02 #117 №2633852 
Почему джавамуха это всегда соевое быдло?
Аноним 08/03/23 Срд 16:35:59 #118 №2633862 
image
>>2633852
>джавабоярин
>соевое
>быдло
Аноним 08/03/23 Срд 17:15:11 #119 №2633915 
>>2633827
Да
Аноним 08/03/23 Срд 18:51:35 #120 №2634019 
>>2633815
Какой еще бутстрап?
Аноним 08/03/23 Срд 18:57:02 #121 №2634026 
>>2634019
Django-bootstrap. Только хуй знает, при чём тут бэкенд и логика.
Аноним 08/03/23 Срд 21:15:51 #122 №2634172 
А че ща в сбере тож задачки дают? Проходил недавно собес и ахуел от того, что задачку дали. Это мне не повезло так или стандарт у них на собесах?
Аноним 08/03/23 Срд 21:24:33 #123 №2634186 
>>2634172
Нет у нас в Сбере стандарта собесов, проект проекту рознь, везде принимают по-разному. На нашем проекте дрочат задачами, на других дают тестовое, на третьих присылают стажёров, на четвёртых ещё какая-то залупа.
Аноним 08/03/23 Срд 21:40:50 #124 №2634206 
>>2634172
Нет, сразу две сотыги дают за то что ты нашел информацию по спрингу
Аноним 08/03/23 Срд 21:53:16 #125 №2634218 
>>2634206
так я на это и рассчитывал, когда шел к ним на собес, а тут на те
Аноним 08/03/23 Срд 22:06:11 #126 №2634232 
>>2634206
Т.е. две сотыги дают всем вкатунам, кроме тебя.
Аноним 09/03/23 Чтв 00:06:06 #127 №2634310 
У меня друг джавист, начинал работать фулстаком (ява + яваскрипт). От сюда вопрос. Я правильно понимаю, что если ты чисто быкарь на яве - вакансии в основном с галер, а фулстек - вакансии с проектов/компаний по проще?
Какое вообще соотношение потребностей? На что, по вашим ощущениям, на рынке большая потребность?
Аноним 09/03/23 Чтв 00:26:05 #128 №2634323 
>>2634310
Фулстек это обычно аутстаф на европейской галере или еще какое-нибудь нищее легаси.
Аноним 09/03/23 Чтв 00:37:04 #129 №2634329 
>>2634310
Хуй знает, что ты галёрой называешь.
Чем меньше компания - тем больше фуллстеков. В какой-нибудь крупной корпорации фуллстеков не просто мало, там ещё и препятствуют совмещению ролей, т.е. бэкендеру тупо не разрешат писать фронт, даже если он сам проявит желание.
Аноним 09/03/23 Чтв 02:19:33 #130 №2634364 
>>2634323
>>2634329
В общем в идеале, мне, как вкатуну, нужно кроме ява стека, выучить ещё и js/html на уровне "написать поле с валидацией" - правильно понимаю?
Аноним 09/03/23 Чтв 02:27:44 #131 №2634365 
>>2634364
Вкат всё. Можешь не тратить время, если у тебя нет профильного образования и глубокого знания компьютер сайнс
Аноним 09/03/23 Чтв 02:42:03 #132 №2634366 
>>2634364
Уметь написать простенькую страницу с парой форм лишним не будет, всякое может пригодиться, даже если пишешь только бэк.
>>2634365
А ты можешь соснуть хуйца на пару со своей шлюхой-мамашей.
Аноним 09/03/23 Чтв 03:03:31 #133 №2634371 
>>2634365
Да кто это сказал?) Типо с этого момента ява-кодеры перестали рождаться или больше никогда не появятся?)

Я сейчас в такой ситуации, что если не выучу джаву - то дальше мне лучше умереть (смешно, но и такое бывает). Так что мотивация есть, в унике профильный бакалавр есть, какое то время на вкат есть. Так что проблемы не вижу. А про 600 человек на место - у меня на этот счёт своё мнение, делиться которым не сильно хочется, чтобы было меньше конкуренции

>>2634366
Спасибо, друг. Инфа полезная для меня
Аноним 09/03/23 Чтв 03:11:35 #134 №2634372 
>>2634371
>>2634371
>делиться которым не сильно хочется
Поделись плиз, я просто тоже думаю вкатываться или нет. Ситуация 1 в 1 твоя, если не смогу вкатиться до конца года, то сделаю роскомнадзор.
Аноним 09/03/23 Чтв 03:31:21 #135 №2634375 
>>2634372
Ну мой анализ мне подсказывает что вкатываться 100% стоит - вот тебе и ответ.

Хочешь выпилиться - тебя никто не спасёт, хочешь жить как мой кореш который получает 5-6к бачей - учи какой то строготипизированный бек. Всё просто.

С пониманием отношусь к твоей проблеме, но не знаю что ты хочешь услышать. Если хочешь вкатиться, то тут думать не надо. Зашёл на явараш, уверенно отдал им 30 баксов и как машина едешь по уровням XD А там война план подскажет как дальше идти
[mailto:[email protected]Аноним 09/03/23 Чтв 08:23:26 #136 №2634423 
Мимокрокодил Java Senior из гугл, прямиком из Кремниевой долины, задавайте свои ответы.
Аноним 09/03/23 Чтв 08:43:31 #137 №2634427 
>>2634423
Почему не в своём загоне для петушарперов?
[mailto:[email protected]Аноним 09/03/23 Чтв 08:50:10 #138 №2634433 
>>2634427
Каво нахуйблядь?
Аноним 09/03/23 Чтв 08:59:02 #139 №2634440 
>>2634433
Проследуй в этот тред: >>2621949 (OP)
[mailto:[email protected]Аноним 09/03/23 Чтв 09:19:39 #140 №2634450 
>>2634440
нахуй мне тот шарп, я тебе про Java говорю, ёбанарот
Аноним 09/03/23 Чтв 11:50:48 #141 №2634535 
Валидация через @Valid это же херня полная? Работает для простых приложений и простых решений. В чем-нибудь более-менее сложном лучше ручками делать валидацию. Я прав или все же нет?
Аноним 09/03/23 Чтв 12:31:31 #142 №2634559 
>>2634535
ты хуйло
Аноним 09/03/23 Чтв 13:16:13 #143 №2634625 
>>2634364
На перовой галере что я был требовался ангуляр. Надо было было разбираться на уровне нарисовать форму, добавить кнопки, привязать их к рест ендпоинтам. Это по сложности как писать круды на спринге - вроде не сложно, но с нуля месяца 3 ты на это потратишь. Чаще всего для фичи надо писать и фронт и бэк одновременно.
Сейчас я пишу чисто бэк и фронтовые проблемы с ползунком или уехавшей кнопкой меня не ебут.
Аноним 09/03/23 Чтв 13:29:52 #144 №2634634 
>>2634535
>>лучше ручками делать валидацию
Тебе @Valid / @Validated дали, пользуйся. Нет, хочу жрать говно и писать кастомную валидацию на каждый пук.
Аноним 09/03/23 Чтв 16:10:26 #145 №2634757 
В чем разница, андроид приложение на котлин vs на джава ?
Аноним 09/03/23 Чтв 16:26:14 #146 №2634770 
>>2634757
Котлин это знак для сойбоев, как треугольник пальцами у масонов.
Аноним 09/03/23 Чтв 16:48:02 #147 №2634793 
>>2634757
Разница в том, что проект на джэве - это всегда боль и нечеловеческие страдания. От языка несет нафталином, а инженерные практики и подходы остались где-то в 90-х. Пока команда джэва-программистов наматывает сопли на кулак и размазывает по засаленному свитеру, в попытках пофиксить очередной NPE, продираясь через килотонны императивного кода, часть из которого завернута в Optional, команда на котле уже выкатывает релиз и получает бабулесы.

начинать проект на джэве - моветон.
Аноним 09/03/23 Чтв 16:51:12 #148 №2634794 
>>2634793
Кроме этого гугл андроидовские тулзы пишет только под котлин, jetpack compose не работает с джавой
Аноним 09/03/23 Чтв 16:54:13 #149 №2634796 
>>2634794
И слава Богу. Официальный язык разработки под андроид это котел. Билд тул - градл. Все! Не нужно в 2к23 обмазываться помойной джэвой и дрочить эксемельки в мувене. Оставьте это старым пердунам, которые на старости лет начали дрочить опшиналы и заворачивать свои помойные легасные поделки пытаясь спастись от нуллпоинтерэксепшенов.
Аноним 09/03/23 Чтв 16:57:49 #150 №2634798 
>>2634796
Хотелось бы конечно жить в мире где котел основной язык jvm
Аноним 09/03/23 Чтв 17:11:22 #151 №2634813 
>>2634798
Дебильная соя размечталась.

>>2634796
Дебильная соя вошла в реальность, вспомнив, что никому нахуй петухон jvm edition не нужен.
Аноним 09/03/23 Чтв 17:14:18 #152 №2634815 
>>2634793
Че ты так горишь-то? Ну подумаешь тебя заставляют на 8 жабе обмазанной сокращениями писать и ебаться с дегенерадлом, который не хочет собирать проект по причине пидарас, но плакать то зачем?
Аноним 09/03/23 Чтв 17:15:41 #153 №2634818 
>>2634815
Никто меня не заставляет. Я пишу на суперсовременном C# и у нас нет проблемы с NPE. Это вам все никак nullable типа не завезут и все проверки дрочите или опшионалами обмазываетесь, лол.
Аноним 09/03/23 Чтв 17:18:20 #154 №2634822 
>>2634818
Если тебе так охуенно пишется на петушарпе, то почему ты каждый божий день приходишь к нам и ноешь?
Аноним 09/03/23 Чтв 17:22:31 #155 №2634824 
>>2634822
Нужно почаще напоминать о вашей ущербности
Аноним 09/03/23 Чтв 17:26:20 #156 №2634826 
>>2634824
Аж сквозит через сообщение тряской и разочарованием. Ты давай, там, зашивайся.
Аноним 09/03/23 Чтв 19:33:21 #157 №2634959 
Груви лучший язык, а еще скала. Жопа и клиторин не нужны
Аноним 09/03/23 Чтв 19:51:07 #158 №2634977 
>>2634959
Тред про жабу есть, а про кокотлин, груви и скалу нет. Шах и мат.
Аноним 09/03/23 Чтв 20:03:09 #159 №2634984 
>>2634977
уничтожил)
[mailto:[email protected]Аноним 09/03/23 Чтв 20:12:20 #160 №2634994 
>>2634818
Ты неверно дурачёк и в своей жизни писал код только для компаний уровня хуй&залупа? Тебе не знакомо такое понятие что падать с ошибкой надо как можно раньше, на этапе сборки в идеале. Или ты такой ахуенный что каждый get() ты обрабатываешь так что там может прийти Nullable? Это же полная хуйня ожидать что тебе придёт ёбанное ничего и как на это реагировать? Это такое же дерьмо как динамическая типизация, когда ты хуйзнаешь что тебе пришло и как с этим работать. Может для школьных поделок и прототипирования это ещё сгодится, но для серьёзного ентерпрайза это хуета.
/thread
Аноним 09/03/23 Чтв 20:14:17 #161 №2634997 
Шарпоблядей кормят всем разделом, в какой тред ни зайди.
Аноним 09/03/23 Чтв 21:57:34 #162 №2635064 
>>2634793
>>2634794
>>2634796
ребята да вы нубы просто, андроид и джава это маст хев.
Аноним 09/03/23 Чтв 22:26:47 #163 №2635085 
Есть две таблицы, Person и Address, нужно выбрать имена человеков у которых больше всего адресов. Получается, я делаю
select name, address from Person
where Person.id = Address.id_person. Как теперь сделать условие для выборки адреса, ведь where уже занят ?
Аноним 09/03/23 Чтв 22:56:42 #164 №2635107 
>>2635085
бля хз а че ты в джава треде это спросил?
Аноним 09/03/23 Чтв 22:59:23 #165 №2635108 
>>2635085
Что значит "больше всех" адресов? Можно вывести 10 людей с отсортированных по числу адресов или всех отсортированных так же.
Аноним 09/03/23 Чтв 23:09:46 #166 №2635122 
>>2635107
Ну он же на ДжАвЕ пИшЕт, а этот запрос вызывается из приложения на джаве, значит, логично нет спрашивать в этом треде! Примерно как у анонов, которые срут здесь вопросами про докер и гит.
Аноним 09/03/23 Чтв 23:12:46 #167 №2635129 
додикам не отвечаем
Аноним 09/03/23 Чтв 23:18:29 #168 №2635136 
>>2635129
Если я порежу метод на два кусочка, кусочки будут дружить ?
Аноним 09/03/23 Чтв 23:19:52 #169 №2635137 
>>2635107
>больше всего адресов
Аноним 09/03/23 Чтв 23:24:54 #170 №2635140 
>>2635085
Как то так.
SELECT P.name, P.adress, COUNT(A.id)
FROM Person as P
JOIN Adress as A
ON P.id = A.id_person
GROUP BY P.name;
Аноним 09/03/23 Чтв 23:31:19 #171 №2635152 
Все видели?

https://www.youtube.com/watch?v=padFJGPOvco
https://www.youtube.com/watch?v=padFJGPOvco
https://www.youtube.com/watch?v=padFJGPOvco
Аноним 09/03/23 Чтв 23:36:11 #172 №2635158 
>>2635152
я че ебанутый
Аноним 09/03/23 Чтв 23:43:00 #173 №2635166 
https://github.com/Tinkoff/kora
https://github.com/Tinkoff/kora
https://github.com/Tinkoff/kora
https://github.com/Tinkoff/kora

Spring - ВСЁ!
Аноним 09/03/23 Чтв 23:45:13 #174 №2635169 
>>2635166
ну по уебанству фреймворк "mocha" еще никто не перепрыгнул, но у ребят есть задатки.
Аноним 09/03/23 Чтв 23:48:47 #175 №2635174 
>>2635169
алсо раз ребята пишут общую шину, значит тиньку пизда
Аноним 09/03/23 Чтв 23:52:10 #176 №2635180 
>>2635174
Почему пизда?
Аноним 09/03/23 Чтв 23:58:47 #177 №2635190 
>>2635180
>Почему пизда?
полюбому
Аноним 10/03/23 Птн 00:07:37 #178 №2635197 
>>2635152
>>2635166
Пошёл нахуй.
Аноним 10/03/23 Птн 00:28:11 #179 №2635205 
>Подготовка¶
>Создаем новый Gradle-проект
дальше не читал пусть жрут говно в одиночестве
Аноним 10/03/23 Птн 00:35:14 #180 №2635208 
>>2635205
Всё программируешь на XML? Я тоже.
Аноним 10/03/23 Птн 00:50:51 #181 №2635212 
>>2635208
хуй пососи шарпоблядь
Аноним 10/03/23 Птн 00:52:34 #182 №2635214 
>>2634994
хз как там в шарпах, а вот котлиновский fizz?.getBuzz() вместо Optional.ofNullable(fizz).map(x->x.getBuzz).orElse(null) немного удобнее. Но только ради сахара тащить другой язык это конечно клиника.
>>Это же полная хуйня ожидать что тебе придёт ёбанное ничего и как на это реагировать?
Если что то приходит от стороннего сервиса или из базы - там может быть любая хуйня с нулами в нужных полях. Это помимо того что логика на нулах - тоже не редкость в проектах.
Аноним 10/03/23 Птн 01:01:54 #183 №2635220 
>Для конфигурации kora framework использует библиотеку typesafe config, которая умеет читать конфигурации в формате HOCON.

ну ебнутые просто
Аноним 10/03/23 Птн 01:05:06 #184 №2635224 
Конфигурацию надо читать из реестра Windows. Его же использовать как базу данных.
Аноним 10/03/23 Птн 01:09:30 #185 №2635229 
>>2635224
А если у меня Arch Linux? Там нет реестра Windows. Я кстати использую Arch Linux на ThinkPad от IBM
Аноним 10/03/23 Птн 01:13:50 #186 №2635234 
>>2635229
Так установи Windows.
Аноним 10/03/23 Птн 01:17:57 #187 №2635239 
>>2635224
В алпине нет конфигурацмй виндовс и базы.
Аноним 10/03/23 Птн 01:20:42 #188 №2635241 
>>2635239
А в Windows есть.
Аноним 10/03/23 Птн 01:41:31 #189 №2635248 
короче в тинькове долбоебы
Аноним 10/03/23 Птн 01:45:17 #190 №2635249 
Почему в spring data все по умолчанию юзают Long тип для айди? Зачем нули лишние хранить на диске, если количество записей вряд ли превысит 2ккк ?
Аноним 10/03/23 Птн 01:54:02 #191 №2635255 
>>2635249
Значение ID может быть намного больше количества записей, например, если городишь для PK sequence с кешами.
> Зачем нули лишние хранить на диске
Эти нули будут последним, что покажется лишним, когда надо будет оптимизировать размер базы данных. Что толку от экономии 4 байт в одной строке таблицы, если строка занимает несколько килобайт?
Аноним 10/03/23 Птн 01:55:36 #192 №2635256 
>>2635152
>>2635166
А что дешевле, проще и быстрее? переписать всё что писали миллионы человеколет или купить более мощные серваки и перенести на них очень медленный спринг?

Ответ очевиден как по мне. Блин такие паникёры) вы такими родились или двач вас такими сделал?)
Аноним 10/03/23 Птн 01:59:36 #193 №2635257 
>>2635256
Как будто проекты могут быть только легаси.

Медленное старьё на спринге изживёт себя, а новые проекты на Kora.
Аноним 10/03/23 Птн 02:03:53 #194 №2635258 
>>2635257
Ну окей, что то небольшое или молодое начнут внезапно писать на чём то новом (хотя это не будет так надёжно как сринг, а для бизнеса это важно и что то новое ещё написать надо... кароче ну ты понял), но старое то никуда не денется и его надо будет развивать, разростать и так далее.
кароче как будто лет 5, а скорее 10, ещё можно сидеть ровно на спрнге.
Аноним 10/03/23 Птн 05:02:31 #195 №2635278 
Ну ваще коры мочишь ахахах
Аноним 10/03/23 Птн 05:28:16 #196 №2635281 
>>2635256
>>2635258
Отставить тряску, старичье. Ваш срэнг фримверк никому не нужен и он де-факто легаси и дурной тон в новом проекте. Сидите себе там тихо и не отсвечиваете. Через 10 лет пойдете на мороз таксовать или грузчиками работать в пятерочку, когда упругие зумеры будут писать проекты на Kora. Короче говоря - it's Tinkoff!
Аноним 10/03/23 Птн 06:02:55 #197 №2635291 
Я вот читаю эту поеботу и думаю, кто такие эти ваши тинькоф банк? Какая-то блядь шарага с детскими оборотами и исключительно локальным присутствием в одной стране. Какая нахуй разница то, чем они там блядь занимаются? Они аутисты сужают свою потенциальную кадровую массу вводя свои собственные фреймверки, а за пределами даного дженерик банка — это нахуй никому не нужно.
Аноним 10/03/23 Птн 06:10:20 #198 №2635293 
>>2635136
С тобой нет
Аноним 10/03/23 Птн 06:15:57 #199 №2635294 
>>2635291
>а за пределами даного дженерик банка — это нахуй никому не нужно.
зато тот хуй в очках, который подсадил весь банк на свою самописную залупу, теперь гарантированно обеспечил себя работой до конца жизни (ну или пока тинёк не сдохнет)
Аноним 10/03/23 Птн 07:43:43 #200 №2635302 
>>2635291
>с детскими оборотами и исключительно локальным присутствием в одной стране

Можно PROOFS пожалуйста?
Я что, зря дрочил лягушонку линку??
Аноним 10/03/23 Птн 07:43:59 #201 №2635303 
>>2635281
Там из зала правильный вопрос задали, а где вы будете брать разрабов на свои велосипеды?
-Пук-среньк, настоящий инженер пишет на джаве без фреймворка, это база.

А по итогу найдут только студентов - получится такой же обосрамс как с яндексом.
Сенькам то может и по кайфу пилить велосипед, это интересно.
А вот мидлы в рот ебали использовать это нонейм говно в рабочих задачах, они просядут по скилам и пострадает их ценность как спецов (а значит меньше зепка).
Если уж переучиваться - то выгоднее в го свичнуться (там как раз пилить спринг уместно).
Аноним 10/03/23 Птн 07:47:25 #202 №2635304 
kora.webm
>>2635166
В быту корой обычно называется легко отделяющаяся наружная омертвевшая часть корней и стеблей древесных растений.
Аноним 10/03/23 Птн 07:56:30 #203 №2635307 
screencapture.png
cap2.JPG
cap3.JPG
orili.mp4
>>2635302
Он даже в топ 10 не входит.
Аноним 10/03/23 Птн 08:10:44 #204 №2635312 
>>2635291
>>2635303
Эх, молодые. Сеньор он на то и сеньор, что гарантирует себе рабочее место. Сделать свой велосипед = гарантировать, что кабан тебя не выкинет, как Илон Маск 80% твиттер разработчиков, потому что никто кроме него там не разберется. Чтобы не переписали быстро на молодежном языке, надо пропихнуть его побольше и поглубже, а чтоб цепные псы кабана - менеджеры, не прочухали подвоха пиарим на конференциях и докладах. Всё, дядя сеньор и его друзья обеспечили себе высокооплачиваемую и непыльную работу до пенсии.

А по поводу всякой чуши, типа чистого кода и молодежных языков, профразвития и тд - это наебалово для выжимки молоденьких, упругих но глупых по неопытности зумерков. Потому что когда они подрастут и прохавают безжалостный мир капитализма, такую лапшу на уши не повесить.
Аноним 10/03/23 Птн 08:33:13 #205 №2635322 
>>2635291
Это как посмотреть. В теории они могут наоборот её расширить, хайря всех подряд со знаниями на уровне java se, и чуток доучить своей поделке уже дома, вместо того чтобы искать только спрингокульт.
Аноним 10/03/23 Птн 08:35:19 #206 №2635325 
>>2635322
спрингокульт-шиз в треде, я спокоен.
Аноним 10/03/23 Птн 08:51:06 #207 №2635344 
>>2635152
прослушал половину. В принципе правильно говорит. Меня тоже очень бесит вся спринговая магия и что оно жрёт минимум 500Мб и долго стартует
Аноним 10/03/23 Птн 08:51:21 #208 №2635345 
>>2635303
> просядут по скилам и пострадает их ценность как спецов (а значит меньше зепка).

Имхо это майндсет терпилы. Ценность спеца определяется компетенцией и уровнем задач, которые он способен решать а не стеком. Скиллы, посадка по которым действительно критична, ортогональны стэку.
Аноним 10/03/23 Птн 08:56:31 #209 №2635353 
>>2635345
какой мне смысл как специалисту переходить на другой стек и начинать всё почти с нуля?
Аноним 10/03/23 Птн 08:57:55 #210 №2635355 
>>2635344
А не легче было бы вложиться и контрибутить в spring native? Или не взять кваркус или микронафт?
Зачем очень средней по мировым мерках компании лепить собственные фреймворки?
Она ведь поддержку его не потянет 100%. Через 3 года использования у этого велосипеда будет уже костылей столько же сколько у спринга, а функционал будет все еще на порядок ниже.
Аноним 10/03/23 Птн 09:03:25 #211 №2635367 
>>2635256
>переписать всё что писали миллионы человеколет

Обычно постановка задачи звучит не так. Никому, даже отьявленным велосипедостроителям, неинтересно писать убийцу спринга снихуя. Проект пишут под конкретные цели, и эти цели обычно локальные. Писать фреймворк под эти цели не так уж и трудозатратно.
Аноним 10/03/23 Птн 09:05:05 #212 №2635368 
>>2635353
Без обид.
Если для тебя переход на новый стек означает "учить все с нуля", ты не специалист, вот и все.
Аноним 10/03/23 Птн 09:07:31 #213 №2635371 
>>2635355
Компашка масштаба тинькова потянет, почему нет?

Контрибутить в спринг натив означает зависеть от прихотей остальных стейкхолдеров и майлстоунов проекта. Иногда это может быть неприемлемо.
Аноним 10/03/23 Птн 09:11:13 #214 №2635374 
>>2635355
у них нет цели впихнуть всё или сделать нескучный конструктор для вкатышей, как у спринга.
Просто какой-нибудь DI без проксей и рефлексии, чтобы не раскидывать зависимости руками
Аноним 10/03/23 Птн 09:11:57 #215 №2635377 
>>2635368
окей. Ты не в яндексе случайно работаешь? Где ещё любят скакать по языкам и стекам
Аноним 10/03/23 Птн 09:12:49 #216 №2635381 
>>2635374
Ну то есть этот велосипед не предназначен для выхода из загона тинька?
И нахуя его вообще тогда слушать?
Аноним 10/03/23 Птн 09:17:10 #217 №2635385 
>>2635381
вообще не связанные вещи. Мне тоже не нужна магия и нескучный конструктор спринг-бута, если страдает память и производительность
Аноним 10/03/23 Птн 09:20:58 #218 №2635388 
>>2635385
Но что ты будешь делать, когда у велосипеда тинька не будет нужного тебе функционала, а его не окажется с 99% вероятностью?
90% проектов хватает чистого спринга, для остальных 10 есть гора информации как спринг допиливать и оптимизировать под свои нужды.
Аноним 10/03/23 Птн 09:23:48 #219 №2635389 
>>2635377
Нет. Просто за 10+ лет стажа перекаьываться приходилось не единожды.
Аноним 10/03/23 Птн 09:26:21 #220 №2635391 
>>2635388
а что за магический функционал есть у спринга? Это только DI и готовые конфиги для распространенных либ
Аноним 10/03/23 Птн 09:26:50 #221 №2635392 
>>2635389
my condolences
Аноним 10/03/23 Птн 09:31:33 #222 №2635396 
>>2635312
Вопрос даже не в том нахуя это пишет сеньор в тиньке. Но они ж это выкинули в опенсорс и пиарят как убийцу спринга, мол давайте тащите себе в проекты это говно и вкладывайте в него тоже. Какой то анон даже возбудился (залетная шарпомуха наверняка). На что и последовала реакция.

>>профразвития и тд - это наебалово для выжимки молоденьких, упругих но глупых по неопытности зумерков.
Когда ты знаешь спринг, кафку и прочие хибернейты - ты можешь устроиться куда угодно без особых проблем, можешь выбирать оферы, набивать себе цену.
Когда ты разраб одного велосипеда - то никто сенькой на большие зепки не возьмет, а становится мидлом уже западло. Выбирая путь велосипеда становишься его заложником. Потом останется только бегать по тредам и отчаянно кричать что спринг бут уже легаси полгода назад вышел 3-й - а вот твой говнофреймворк - огого.

>>Сделать свой велосипед = гарантировать, что кабан тебя не выкинет
А кто гарантирует кабану что его самого не выкинут? Это сбер “Too big to fail” и получит кучу денег из бюджета на свои нужды. А Тиньк не настолько крупный и важный. Сдохнет - никто даже не заметит.

>>2635345
>>Ценность спеца определяется компетенцией и уровнем задач
Это работает только на уровня от сеньора и выше. Мидл без знания спрингов (что и определяет его компетенцию) нахуй не нужон. А работать на этой поделке предположительно должны именно они (джуны нихуя не умеют, сенек нанимать для погрузки жсонов дорого)
Аноним 10/03/23 Птн 09:32:17 #223 №2635398 
>>2635391
Даже в рамках работы с бинами - интерсепторы, скоупы и инит/дестрой методы бинов, кондишоны автоконфигураций, профили.
На уровне веба - фильтры, адвайсы.
Куча оберток для тестов.
Это только то что сразу вспомнил.
Аноним 10/03/23 Птн 09:41:31 #224 №2635405 
Уверен, что через год-два не просто никто не будет использовать фреймворк за пределами тинька, но от него откажутся и в тиньке.
Хотя если на тинек наложат хорошие санкции он сдохнет раньше.
Аноним 10/03/23 Птн 10:11:29 #225 №2635432 
>>2635214
>а вот котлиновский fizz?.getBuzz()
Нинужон. Нулл допустим только тогда, когда метод явно отмечен как @Nullable и где нулл это отдельное логическое значение и должен обрабатываться совсем по другому.

Да, есть ситуации, в которых проведение нулл вверх по стеку как ошибки в ГОвне прямо так и напрашивается. Но все они являются говнокодом и при нормальной структуре проекта самоуничтожаются.
Аноним 10/03/23 Птн 10:12:55 #226 №2635433 
Петухлин вообще борется не с тем, с чем надо бороться. Он борется с внешними проблемами, оставляя возможность внутри написать такое говнище, что никакие сахарки его не спасут. Джава принуждает хотя-бы писать нормально, чтобы не приходилось заменять петухлиновский ? целой строкой бойлерплейта.
Аноним 10/03/23 Птн 10:16:57 #227 №2635436 
>>2635396
>Мидл без знания спрингов (что и определяет его компетенцию) нахуй не нужон

Так постановка вопроса то изначально была какая?

>мидлы в рот ебали использовать это нонейм говно в рабочих задачах, они просядут по скилам и пострадает их ценность
>какой мне смысл как специалисту переходить на другой стек и начинать всё почти с нуля?

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

>А работать на этой поделке предположительно должны именно они

Я в джаву вообще через осги вкатывался (караф, ебанавротнахуй). Сейчас мне 10+ лет стажа, никаких проблем на своем пути не встретил, ни о чем не жалею. Спринг - не самое запарное что есть в разработке. ИМХО нужность спрингодозы для миддлов переоценена. Про джунов вообще молчу, на вкатунов сейчас без слез не взглянешь.
Аноним 10/03/23 Птн 10:18:46 #228 №2635440 
>>2635291
Поздравляю, открыл истину. Тинькоф это компания, которая очень хочет быть похожей на яндекс, но в которой разработчики не в состоянии правильно перемножить три числа, из-за чего клиенты наменивают миллионы рублей себе в прибыль (после чего на них подают в суд)

Я вообще не представляю, как эту контору можно воспринимать всерьёз, платят они ещё меньше яндекса, собес (карго культ с яндексового) муторный, хоть и не сложный (потому что особого потока людей в тинек нету)
Аноним 10/03/23 Птн 10:19:15 #229 №2635441 
>>2635436
>Ты миддл, ты уже овладел спрингом
нет, всегда можно поймать на незнании кишочков
Аноним 10/03/23 Птн 10:20:23 #230 №2635442 
>>2635441
Харчок в ебало любому ублюдку-интервьюеру, ловящему кандидатов на знании кишочек. Еще б блять джава-паззлеры додумались спросить, ебланы.
Аноним 10/03/23 Птн 10:22:54 #231 №2635445 
>>2635405
можно смело ставить анус. даже яндекс не смог родить ничего такого, что имело бы статус общеупотребимого фреймворка/библиотеки, хотя пытался не один десяток раз. а уж про подзалупный банк с крайне хуёвой репутацией нечего даже и говорить, дропнут идею использования сразу как только дойдут то слова тиньков в описании.
Аноним 10/03/23 Птн 10:26:05 #232 №2635448 
Я тем временем напоминаю, что всё, что все полезные функции спринга можно написать в 1к строк.
Аноним 10/03/23 Птн 10:33:41 #233 №2635451 
vid2.mp4
Что делать с этой залупой бля?
Аноним 10/03/23 Птн 10:33:42 #234 №2635452 
>>2635432
>>Нинужон
Ну вот поле может быть со значением, а может и без него. Если не пустое - нужно вывести. Для бизнеса это правильно. Что делать будешь? Идти объяснять овнеру что он и его клиенты долбоебы и надо переписать логику чтоб тебе удобно было?
Аноним 10/03/23 Птн 10:34:31 #235 №2635455 
>>2635452
>где нулл это отдельное логическое значение и должен обрабатываться совсем по другому.
Аноним 10/03/23 Птн 10:35:38 #236 №2635456 
>>2635452
Опшенал въебать?
Аноним 10/03/23 Птн 10:41:36 #237 №2635463 
>>2635451
Бамп
Аноним 10/03/23 Птн 10:43:24 #238 №2635467 
>>2635463
Реще мышью води. У тебя получится.
Аноним 10/03/23 Птн 10:43:48 #239 №2635468 
>>2635467
Блять, а если без приколов?
Аноним 10/03/23 Птн 10:46:24 #240 №2635475 
>>2635468
Если без приколов, то хуй его знает. Багу жыдам завести.
Аноним 10/03/23 Птн 10:58:06 #241 №2635487 
>>2635451
Жать F2 для перемещения по ошибкам/предупреждениям а не быть дегродом, сросшимся с мышью
Аноним 10/03/23 Птн 10:59:54 #242 №2635489 
>>2635445
>>яндекс не смог родить ничего такого, что имело бы статус общеупотребимого фреймворка/библиотеки
Кликхаус используется многими. А до них меил тарантула высрал, которым тоже кто то пользовался. На этом пожалуй все.
Аноним 10/03/23 Птн 11:01:28 #243 №2635492 
>>2635455
Вот этот опшионал это считай и есть его особая обработка. Только таких мест в коде может быть довольно много.
Аноним 10/03/23 Птн 11:02:21 #244 №2635496 
>>2635456
чел выше писал что опшионал нинужон, потому что нулов нет или почти нет.
Аноним 10/03/23 Птн 11:30:41 #245 №2635538 
Вкатуны блядь угомонитесь
Нормальный специалист перекатится на новый веб фреймворк за неделю
Похуй что там: кора, play, микронавт или вообще takes
Если лично ТЫ не в состоянии этого сделать, то ты вкатун ебаный и перхоть
Аноним 10/03/23 Птн 11:31:09 #246 №2635539 
>>2635492
Ты даун? Это поднятие нулла вверх по стеку. Ничего общего с особой обработкой он не имеет.
Аноним 10/03/23 Птн 11:32:44 #247 №2635541 
>>2635487
Нахуя мне захламлять мозг бесполезной инфой о дохуиллиарде сочетаний клавиш, если есть мышь?
Аноним 10/03/23 Птн 12:03:39 #248 №2635577 
тиньковщики тоже против ORM. Неужели я не одинок
Аноним 10/03/23 Птн 12:12:42 #249 №2635585 
>>2635577
Мне кажется, тут скорее именно хибернейт. Он уж больно переусложнен. Как и спринг секьюрити, например. Оверинжиниринг там, где можно проще. Физз базз энтерпрайз эдишном отдает немного.
Аноним 10/03/23 Птн 12:17:56 #250 №2635589 
>>2635585
он основан на мертворожденной идее что можно автоматически генерировать sql запросы. Генерить то можно, но получается всякая херня. И это в самом бутылочном горлышке приложения.
Аноним 10/03/23 Птн 12:45:59 #251 №2635613 
>>2635541
Еще можно жать Ctrl + Enter, чтобы Идея сама поставила за тебя точку-с-запятой.
Это очень полезная инфа, если ты пользуешься Идеей
Аноним 10/03/23 Птн 12:50:55 #252 №2635624 
>>2635589

Мертворожденная идея звучит не так.

Мертворожденная идея - это маппинг сущностей из реляционной алгебры на сущности в ООП. Этот маппинг невозможет без проеба каких нибудь нюансов, отсутствие которых либо ченить усложнит обратно, либо просадит перформанс.

А генерация запросов - это нормально. Их много кто генерит, вон Jooq например.
Аноним 10/03/23 Птн 12:57:05 #253 №2635632 
Бля, опять зовут в команду, где всего два бекендера. Только теперь там какой-то относительно новый проект на 11 жабе и 5 сринге и, по их словам, без легаси вообще. Стремаюсь я что-то идти в команду, где всего два разраба, тем более на первую работу. Че скажете вообще исходя из вводных? Дропать их и искать что-то получше или хороший опыт для начала карьеры кнопкодава?
Аноним 10/03/23 Птн 12:58:17 #254 №2635635 
>>2635624
Нет. Это не мертворождённая идея.

Корень всех проблем, который ближе всего к понятию мертворождённости - общая память. Когда два инстанса с разными точками входа работают с одной и той же памятью. Вот что вызывает проблемы. Если точка входа гарантированно одна, то всегда можно шлёпнуть паттерн реставратор и даже с ORM наслаждаться истинным ООП.
Аноним 10/03/23 Птн 13:17:55 #255 №2635653 
>>2635632
где ты вакуху нашел. На ххру 0 вакансий
Аноним 10/03/23 Птн 13:32:02 #256 №2635674 
>>2635653
Я бы тебе ответил, только ты не задал вопроса.
Аноним 10/03/23 Птн 13:32:23 #257 №2635675 
>>2635635
Нихуя не понял.

Во первых - че за нахуй новый паттерн такой: "реставратор"? Его даже гугл не находит.

Во вторых - че за наброс про общую память. У тебя любой рестфул-сервис - это литералли проект с кучей точек входа, ведущих к общему стейту в лице БД.

В третьих - при чем тут ORM, особенно джавовые, у которых вся работа построена вокруг понятия "persistence context", который сам по себе литералли является общей памятью где все мэнеджед-энтити шарятся для всех учакстников транзакции

Разьясни подробней свой пойнт, будь добр?
Аноним 10/03/23 Птн 13:34:18 #258 №2635678 
>>2635632
На вкус и цвет. Мне наоборот нравится когда в проекте мало людей. Идеально - когда я литералли один.
Аноним 10/03/23 Птн 13:39:35 #259 №2635680 
>>2635589
>на мертворожденной идее что можно автоматически генерировать sql запросы
охуеть, а пацаны то не в курсе
Аноним 10/03/23 Птн 13:41:46 #260 №2635682 
>>2635678
Ну так ты то скорее всего опытный, а я просто вкатыш, грязь из-под ногтей. Мне будет тяжко без постоянных кодревью, ну по крайней мере так мне это представляется, буду сам во всем разбираться, а если игорь1 и игорь2 решат уйти в отпуск, то меня выебут и высушат овертаймами.
Аноним 10/03/23 Птн 13:48:31 #261 №2635686 
>>2635675
>Во вторых - че за наброс про общую память. У тебя любой рестфул-сервис - это литералли проект с кучей точек входа, ведущих к общему стейту в лице БД.
Ну вот это и является проблемой. Микросервисы - мертворождённая идея, общая память - близка к этому, но с этим можно работать, просто нужно правильно обрабатывать это, а не пытаться натянуть сову на глобус - натянуть паттерны и приёмы ООП, которое возможно только в локальном масштабе в рамках одного инстанса на целую систему, в которой даже использованных языков программирования может быть несколько, занимаясь костылеварением с помощью ORM'ов.

>В третьих - при чем тут ORM, особенно джавовые, у которых вся работа построена вокруг понятия "persistence context", который сам по себе литералли является общей памятью где все мэнеджед-энтити шарятся для всех учакстников транзакции
А можно по-русски, а не на языке соевого крудошлёпа? Нихуя не понял.

>Во первых - че за нахуй новый паттерн такой: "реставратор"? Его даже гугл не находит.
Локальный вызов this.save() после каждого внесения изменения в ООП-шный объект и YourDataMap, представляющая из себя обрезанный репозиторий без методов update и delete (это делает сам объект). В более общем смысле - чтение из оперативки, запись на диск.
Аноним 10/03/23 Птн 13:52:03 #262 №2635691 
>>2635585
>Мне кажется, тут скорее именно хибернейт. Он уж больно переусложнен.
очень большой звонок был когда они задепрекейтили критериа апи и сказали юзайте функционал жпа. это сука пиздец, то что делалось в изящные 10 строк с помощью критериев превратилось в 50 строк нечитаемых макарон. причем некоторые нетривиальные вещи я так и не понял как переписать на жпа.

>>2635577
>тиньковщики тоже против ORM. Неужели я не одинок
ты не можешь писать на яве и не использовать ORM. по крайней мере на практике. потому что ORM - это, если грубо говорить, перевод объектой модели в реляционную. ты можешь использовать хибернейт или что-то еще либо писать свой велосипед, но от ORM ты никуда не уйдешь.
Аноним 10/03/23 Птн 13:54:51 #263 №2635693 
>>2635686
> Микросервисы - мертворождённая идея, общая память - близка к этому
то есть концепция РСУБД с 60-летней историей коммерческого применения это мертворожденная идея, ага.
Аноним 10/03/23 Птн 13:57:44 #264 №2635695 
>>2635686
>Локальный вызов this.save() после каждого внесения изменения в ООП-шный объект и YourDataMap, представляющая из себя обрезанный репозиторий без методов update и delete (это делает сам объект). В более общем смысле - чтение из оперативки, запись на диск.
ебать, что это за шиза.
Аноним 10/03/23 Птн 13:59:12 #265 №2635697 
>>2635693
Именно. Команды из десятков тысяч крудошлёпов вышлёпывают годами то, что микро-команды или вообще соло разработчики делают за неделю. Угадаешь, как так получилось?
Аноним 10/03/23 Птн 13:59:45 #266 №2635699 
>>2635695
Трясёшься, анальничек, с разрыва манямирка?
Аноним 10/03/23 Птн 14:04:29 #267 №2635707 
>>2635697
>Угадаешь, как так получилось?
как у тебя всякая хуйня в манямире рождается? не угадаю и не собираюсь этого делать.

концепция реляционных баз данных это пример возможно самой успешной программной архитектуры, реализованной на практике. и, что уж несомненно, sql - это пример самого успешного dsl эвар. если для тебя это мертворожденная идея то ты либо клинический долбоеб либо человек который в принципе не знает о чем говорит.
Аноним 10/03/23 Птн 14:06:13 #268 №2635711 
>>2635707
Не читал после
>? не
Как выучишь правила русского языка, возвращайся.
Аноним 10/03/23 Птн 14:15:58 #269 №2635718 
>>2635675
>Во первых - че за нахуй новый паттерн такой: "реставратор"?
ну скорее всего он вот это имел в виду
https://en.wikipedia.org/wiki/Memento_pattern

но то что описал во фразе
> Локальный вызов this.save() после каждого внесения изменения в ООП-шный объект и YourDataMap, представляющая из себя обрезанный репозиторий без методов update и delete (это делает сам объект). В более общем смысле - чтение из оперативки, запись на диск.
никакого отношения к нему не имеет, это просто примитивное описание кеша, которое может работать с простыми объектами, не имеющими иерархическую структуру. если ты попробуешь применить такой подход для работы с полноценными объектами, поддерживающими циклические связи, связи многие-ко многим, списки, коллекции и т.д. то ты охуеешь, так как тебе придется, по сути, писать то, что в хибере называется кеш второго уровня.
Аноним 10/03/23 Птн 14:17:30 #270 №2635720 
>>2635718
>у. ес
И тут тоже чтение остановилось, а пост я скрыл.
Аноним 10/03/23 Птн 14:18:15 #271 №2635722 
>>2635682
>ты то скорее всего опытный, а я просто вкатыш

ИМХО тебе уже на это должно быть похую. Те оффер дали? Предполагаю что дали, раз "в команду зовут". То есть сама команда с тобой поговорила, отсобеседовала и признала достойным. Все. Нечего себя принижать за просто так.

>если игорь1 и игорь2 решат уйти в отпуск, то меня выебут и высушат овертаймами

Всех в одно время обычно не отпускают. Существует такая штука как "план отпусков". Попасть в ситуацию ты можешь если игорьки из твоего примера разом заболеют и уйдут на больничный, но даже тогда должна быть еще серьезная предрелизная нагрузка, чтобы дело до овертаймов дошло.

И хэй, сложности будут всегда и везде. И рано или поздно будет овертайм, который тебя высушит досуха, это неизбежно ни на каком проекте. Если заранее накручивать себя на такой негатив, никогда не вкатишься. Уволиться всегда успеешь.
Аноним 10/03/23 Птн 14:18:33 #272 №2635723 
>>2635720
Что тебе не нравится в мелкобуквенности?
Аноним 10/03/23 Птн 14:20:24 #273 №2635725 
>>2635723
Неуважение к собеседнику. Заглавные буквы придумали не просто так, а для того, чтобы читать было удобнее. Набирать текст без заглавных букв не намного легче (вообще не легче практически), а читать сложнее. Это либо явное выражение неуважения к собеседнику (смотрите, мне похуй, как ты прочитаешь, зато я 0,1 секунду сэкономлю), либо стадное поведение (долбоеб скопировал стиль письма своих протыков).
Аноним 10/03/23 Птн 14:23:41 #274 №2635729 
>>2635725
Двачую, мелкобуквенное быдло идёт нахуй из треда джавагоспод прямиком в /vg/dota2/.
Аноним 10/03/23 Птн 14:24:32 #275 №2635731 
>>2635725
>Неуважение к собеседнику.
соси хуй быдло, что тебя уважать если ты несешь феерическую хуйню. в реальности за эту чушь что ты тут транслируешь тебя пидорнули бы давно с любой вменяемой команды как профнепригодного.
Аноним 10/03/23 Птн 14:25:31 #276 №2635732 
image
>>2635731
Быдло скрыто с первых слов.
Аноним 10/03/23 Птн 14:26:27 #277 №2635735 
>>2635732
Пиздец, обосрался и спалился, что я семёнил. Тем не менее, не отменяет того, что я тебя скрываю.
Аноним 10/03/23 Птн 14:35:15 #278 №2635740 
>>2635691


Эммм... шта? Но критерия апи и есть функционал жпа...
Аноним 10/03/23 Птн 14:41:52 #279 №2635742 
>>2635691
>ты не можешь писать на яве и не использовать ORM. по крайней мере на практике. потому что ORM - это, если грубо говорить, перевод объектой модели в реляционную. ты можешь использовать хибернейт или что-то еще либо писать свой велосипед, но от ORM ты никуда не уйдешь.


Уже ушел в сторону JOOQ.
Аноним 10/03/23 Птн 14:42:26 #280 №2635744 
>>2635742
>>2635740
Нахуя вы кормите тролля-мелкобукву?
Аноним 10/03/23 Птн 14:54:22 #281 №2635755 
>>2635740
там другие критерии

было:
Criteria q = s.createCriteria(Author.class);
q.createCriteria("books").add(Restrictions.like("title", "%Hibernate%"));
List authors = q.list();

стало:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Author> cq = cb.createQuery(Author.class);
Root<Author> root = cq.from(Author.class);
SetJoin<Author, Book> books = root.join(Author_.books);

ParameterExpression<String> paramTitle = cb.parameter(String.class);
cq.where(cb.like(books.get(Book_.title), paramTitle));

TypedQuery<Author> q = em.createQuery(cq);
q.setParameter(paramTitle, "%Hibernate%");
List<Author> authors = q.getResultList();

ебануться же, ну. как этой хуйней нормально вообще пользоваться можно?
Аноним 10/03/23 Птн 14:58:50 #282 №2635761 
Лахта из тинькова совсем охуела.
Аноним 10/03/23 Птн 15:01:57 #283 №2635764 
>>2635755
А по моему, оно того стоило хотя бы ради того, чтобы дропнуть навсегда метод list(), возвращающий List без дженериков. Меня такие вещи гораздо больше триггерят, чем чучуть возросший объем кода.

https://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Criteria.html#list()
Аноним 10/03/23 Птн 15:10:00 #284 №2635769 
Как в контроллере принять данные формы, в которых пара текстовых полей и прикрепленный файл. В гугле такие случае вообше не описываются, только отправка формы с одним лишь файлом(((
Аноним 10/03/23 Птн 15:10:27 #285 №2635770 
>>2635742
>Уже ушел в сторону JOOQ.
это тоже ORM. функционал, который дает JOOQ по сути от хибернатовских критериев концептуально ничем не отличается.

это все еще преобразование объектов в реляционную модель через генерацию SQL-запроса на основе полей/метаданных класса

в жаве альтернатив ORM по сути нет, в силу ее природы.

альтернатива выглядит, например, так:
(insert-into :person
(set= :sex "male"
:age 25
:name "Eitaro Fukamachi")
(on-conflict-do-update '(:name)
(set= :age (:+ :age 1))
(where (:< :age 99))))

т.е. ты в самом языке определяешь dsl для работы с базой и используешь его в коде так же как ты используешь sql в консоли субд, без всяких костылей типа Session, Query, Resultset и прочих вспомогательных нагромождений. Но, увы, в яве так сделать нельзя.
Аноним 10/03/23 Птн 15:25:39 #286 №2635782 
>>2635770

>это все еще преобразование объектов в реляционную модель через генерацию SQL-запроса на основе полей/метаданных класса

Ну ты загнул. Ты эдак и JDBC можешь назвать ORMом. А хули? ResultSetы же - обьекты?

Нтак тоже умею. Смотри:

>альтернатива выглядит, например, так:
>т.е. ты в самом языке определяешь dsl для работы с базой и используешь его в коде так же как ты используешь sql в консоли субд

В JOOQ есть класс, который называется литералли DSL, и которым ты литералли описываешь SQL в типобезопасной манере (в отличие от примера на кложуре, кстати, который ты привел) средствами языка Java. Выглядит это примерно вот так:

DSL.<Record>select(
RULE_LISTS_VIEW.ID,
RULE_LISTS_VIEW.RULELIST
).from(
RULE_LISTS_VIEW
)

И что? Чем тебе не паритет к твоему примеру? Или ты начнешь щас жопой вилять и говорить что это - не dsl, а dslи можно только в кложуре писать?
Аноним 10/03/23 Птн 16:19:24 #287 №2635814 
image.png
>>2635769
А это что?? Всё в гугле описывается. Выкатывайся из джавы и не возвращайся
Аноним 10/03/23 Птн 16:50:06 #288 №2635853 
>>2635539
Какая нахуй возгонка - достаем поле вложенного объекта без риска нарваться на НПЕ. В orElse можешь "" авставить, если тебя null так тригерит.
Аноним 10/03/23 Птн 16:59:25 #289 №2635865 
>>2635691
> ты не можешь писать на яве и не использовать ORM. по крайней мере на практике
могу. ОРМ придумали и зафорсили лет 10 назад. Как же до этого жили?

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

Быстродействие? Нет, быстродействие ухудшается
Расход памяти? Расход памяти тоже ухудшается.

Так какую проблему решает хибернейт? Я скажу какую - вкатыши боятся sql и думают что хибернейт позволит поместить это в черный ящик и как-то там сам всё сделает. Это ошибка. Теперь вкатыши вообще не умеют без хибернейта слать запросы в базу и думают что это невозможно
Аноним 10/03/23 Птн 17:03:33 #290 №2635869 
KSAj2a9tjc.png
>>2635770
>альтернатива выглядит, например, так:
руками написал sql запрос и небо не обрушилось. Можно прямо копировать и вставлять в консольку
Аноним 10/03/23 Птн 17:10:06 #291 №2635880 
>>2635853
Что?
Аноним 10/03/23 Птн 17:20:40 #292 №2635894 
>>2635880
Изначальный пост >>2635214
Аноним 10/03/23 Птн 17:21:45 #293 №2635895 
>>2635894
На тот пост я ответил.
Аноним 10/03/23 Птн 17:22:26 #294 №2635897 
image.png
>>2635880
Аночоусы, у недавно вкатившегося вопрос.
Так фильтровать вообще нормально?
Мне приходит лист енумов, нужно сделать реквест и получить из него лист объектов. Вернуть объекты нужно только те, в описании которых находятся value енума. В описании много текста, а искать нужно только по определённому слову. Изменить то, как мне приходит ответ из реквеста я не могу.

Мне кажется я хуйню написал и можно лучше, но никак не вижу как это лучше сделать
Аноним 10/03/23 Птн 17:23:11 #295 №2635899 
>>2635897
Реплай прилип случайно
Аноним 10/03/23 Птн 17:24:07 #296 №2635900 
>>2635897
Что блядь? Лист енумов?
Аноним 10/03/23 Птн 17:25:45 #297 №2635902 
>>2635900
Говорю случайно на номер поста нажал и не заметил
Аноним 10/03/23 Птн 17:28:21 #298 №2635905 
>>2635902
Я понял. Я по твоему посту и спрашиваю.
Аноним 10/03/23 Птн 17:30:04 #299 №2635906 
list.add{
"мам",
"я",
"долбоеб"
};
Аноним 10/03/23 Птн 17:30:45 #300 №2635907 
>>2635897
1. фор в стримах выглядит как говно
2. сложность пиздец (замени на хэшмап)
3. нулпоинт поджидает в 53 строке (разверни сравнение)
Аноним 10/03/23 Птн 17:31:29 #301 №2635908 
>>2635906
list.add = new("мам я долбоеб")
Аноним 10/03/23 Птн 17:35:30 #302 №2635911 
>>2635905
А что не так с листом? Стринги я принимать не могу, значений будет много и они фиксированы.

>>2635907
1 - Понятно что как говно, потому решил спросить.
2 - А как иначе? Вижу что там фильтр в фильтре по сути, но ничего придумать не могу. Лист foosAndBars на хэшмапу?
3 - Там заранее стоит остановка работы сервиса если ничего не найдено, так что не будет нпе
Аноним 10/03/23 Птн 17:37:29 #303 №2635913 
>>2635911
>1 - Понятно что как говно, потому решил спросить.
>2 - А как иначе? Вижу что там фильтр в фильтре по сути, но ничего придумать не могу. Лист foosAndBars на хэшмапу?
>3 - Там заранее стоит остановка работы сервиса если ничего не найдено, так что не будет нпе
тупоголовый блядь
Аноним 10/03/23 Птн 17:38:17 #304 №2635915 
>>2635913
Оформил по съебам, безработный
Аноним 10/03/23 Птн 17:40:34 #305 №2635917 
>>2635915
Оформил съёб в свой родной петушарп-тред, агрессивное быдло.
Аноним 10/03/23 Птн 17:41:11 #306 №2635918 
>>2635913
Ты тоже в темпе съёб в петушарп-тред реализовал.
Аноним 10/03/23 Птн 17:43:57 #307 №2635920 
>>2635917
Ты даун-долбаёб, только честно? Хули мелкобуквишь на меня и потом проецируешь?
Аноним 10/03/23 Птн 17:45:41 #308 №2635922 
>>2635920
Я не мелкобуквил на самом деле мне сначала показалось, что ты нюфаню шлёшь нахуй, поэтому и направил тебя в петушарп тред.
Аноним 10/03/23 Птн 17:47:29 #309 №2635924 
>>2635911
Ну да, для стрингов мапа перебор, сделай сет.

.filter(r -> fizzBuzzSet.contains(r))
Аноним 10/03/23 Птн 17:53:54 #310 №2635926 
>>2635906
>>2635908
Ты заебал это постить каждый тред.
Аноним 10/03/23 Птн 17:54:22 #311 №2635927 
>>2635926
Дед, последний раз это было запощено в треде этак 115.
Аноним 10/03/23 Птн 17:59:40 #312 №2635928 
>>2635926
ты заебал жить
Аноним 10/03/23 Птн 18:00:52 #313 №2635930 
>>2635928
Съёб в петушарп оформил, быстро, резко.
Аноним 10/03/23 Птн 18:11:40 #314 №2635938 
>>2635924
Трабла в том, что этот филд description по которому я смотрю имеет в себе много всего, по типу "qwe foo qwe". Я пробовал сначала смотреть со стороны листа енумов, но тогда будет пусто ведь.
Аноним 10/03/23 Птн 18:54:34 #315 №2635968 
Есть серьезный вопрос. Почему вы выбрали java, а не c#
бойз Аноним 10/03/23 Птн 18:54:59 #316 №2635970 
Парни ,а стоит ли вообще учить джаву в 2023? перспективно ли? или лучше плюсы/питон и тд?>>2635938
Аноним 10/03/23 Птн 18:56:14 #317 №2635975 
>>2635970
тебе нет
Аноним 10/03/23 Птн 18:57:20 #318 №2635976 
>>2635975
умник такой
Аноним 10/03/23 Птн 19:04:49 #319 №2635982 
>>2635451
Сугак, подонок, мерзавец!
Аноним 10/03/23 Птн 19:06:21 #320 №2635984 
javadotnet.webm
>>2635968
Аноним 10/03/23 Птн 19:17:26 #321 №2636002 
>>2635968
Я не выбирал, меня заставили.
Но даже при наличии выбора я бы ни за что не вкатился в шарп.
Аноним 10/03/23 Птн 19:19:55 #322 №2636008 
>>2635984
Аж позеленел с такого перефорса. Это ведь петушарперы пидорасы.
Аноним 10/03/23 Птн 19:22:27 #323 №2636013 
2023-03-1019-18-58.png
2023-03-1019-21-36.png
2023-03-1019-20-17.png
>>2635865
>Так какую проблему решает хибернейт? Я скажу какую - вкатыши боятся sql и думают что хибернейт позволит поместить это в черный ящик и как-то там сам всё сделает.
ой вей. ты говоришь хуйню. хибернейт решает много проблем, и
1) основная - это управление сложностью, а именно упрощение и сокращение количества написанного кода. ты просто не видел систем хотя бы с парой сотен таблиц где всё общение с БД орагнизовано на голом jdbc. Там количество кода на порядок больше чем при использовании самой простой ORM.
2) кросплатформенность на уровне субд
3) КЕШ второго уровня
4) четкое разграничение уровня приложения и БД. именно благодаря инструментам типа хибера страшную ебанину вроде бизнес-логики на триггерах и хранимых процедурах сейчас можно встретить тьолько в самых дремучих легаси. именно поэтому практически в любой книге по ораклу выпущенной за последние 15 лет есть отдельная глава посвещенная критике хибернейтоподобных систем, потому как они ОЧЕНЬ сильно повлияли на популярность PL/SQL и подобных языков как языков программирования и у адептов написания логики в БД от них очень сильно подгорает.
5) множественные следствия из п.1 - упрощение тестирования, возможность наследования сущностей, типовые решения и шаблоны проектирования и т.д. и т.п.

> Сложность? Нет, сложность увеличивается,
еще раз, ты просто видимо не писал приложений, по крайней мере достаточно сложных, на голом ждбц. там скрытых камней и граблей не меньше а кода в разы больше и возможностей допустить ошибки в разы больше, и особенно это усложняется тем что SQL невозможно проверить на этапе компиляции, и любой кусок кода типа такого >>2635869 представляет собой потенциальную проблему которую нужно покрывать тестами со всех сторон, потому что других способов проверить хоть какую-то корректность этого кода нет. Ну и отдельно нужно упомянуть безопасность так как любая достаточно сложная система на голом ждбц практически всегда уязвима перед sql-инъекциями, если хорошо в ней покопаться. И уж лучше прочитать книжку про хибернейт чем штудировать особенности PL/SQL, про которые написано, опять же, в разы больше.

еще раз - ты думаешь что если ты будешь писать вместо хибера голый скл то у тебя там будут всю дорогу запросы в духе update user set name='vasya' where id=1? хуй там. у тебя будет несколько сотен файлов типа пикрелейтеда неведомой ебанины которую легче каждый раз писать с нуля чем пытаться разобраться что в ней написано, а особенно фееричные запросы будут достигать размера в нескольких сотен строк.
Аноним 10/03/23 Птн 19:34:45 #324 №2636029 
>>2636013
у тебя на картинках аналитические запросы, которые хибернейтом ты ну никак не сделаешь. Только если выгружать данные и в жабе делать это же самое
Аноним 10/03/23 Птн 19:42:09 #325 №2636037 
dimsaul.png
dimsaul2.png
>>2635152
>>2635166
Отставить тряску - ДимСаул уже все объяснил
Аноним 10/03/23 Птн 19:43:53 #326 №2636042 
>>2636029
а ты хочешь в своем приложении еще pure sql оставить? да ты ебанешься, просто выведи стактрейс хибера и посмотри какого размера запросы он генерирует. тебе, чтобы сохранить хоть-какую-то читабельность и вменяемость кода придётся переходить на хранимки/курсоры.
Аноним 10/03/23 Птн 19:54:00 #327 №2636055 
>>2636042
не понял аргумента. Я знаю что хибер высирает тонны говна и что я могу делать запросы лучше чем хибернейт.
Кстати хранимка у тебя тоже не скомпилится если в ней ошибки.

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

кроссплатформенность - нахуй не нужно и сомневаюсь что хибер может её обеспечить. Кеш для бд - нахуй не нужен. Разграничение - глупость. Просто лишились возможстей хранимок/вьюх. С таким же успехом можно было запретить хранимки/вьюхи.
Хибернейт и его генерацию точно также нужно тестировать. И ещё глазами смотреть что он там генерирует и насколько плохо
Аноним 10/03/23 Птн 19:56:52 #328 №2636062 
>>2636037
Твой протык?

Репорт.
Аноним 10/03/23 Птн 19:58:03 #329 №2636065 
>>2635968
Потому что котлин, а джава ненужна. Ну шарпы просто редкий стек. Я бы если знал о предстоящем кризисе лучше бы пошел в универ и дрочил питон, го, линукс и облака вместо крудошлепства
Аноним 10/03/23 Птн 20:31:27 #330 №2636097 
>>2636062
Не знаешь Дмитрия Соловьева? Позорище, ливай с треда.
Аноним 10/03/23 Птн 20:32:52 #331 №2636098 
>>2636097
Репорт.
Аноним 10/03/23 Птн 23:36:44 #332 №2636279 
public static Iterable<Character> iterate(String string) {
if (string == null) {
throw new IllegalArgumentException("String must be not null");
}
return new Iterable<Character>() {
@Override
public Iterator<Character> iterator() {
return new Iterator<Character>() {
int pos = 0;

@Override
public boolean hasNext() {
return pos < string.length();
}

@Override
public Character next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
return string.charAt(pos++);
}
};
}
};
}

Тут string статический член или нет?
Аноним 10/03/23 Птн 23:40:22 #333 №2636284 
>>2636279
член у меня в штанах
Аноним 10/03/23 Птн 23:43:57 #334 №2636286 
>>2636279
В смысле? У тебя вообще нет строковых полей, только аргумент. Нет никакой разницы, как ты вызываешь метод, передавай хоть статическое поле, хоть поле объекта, хоть переменную.
Аноним 10/03/23 Птн 23:46:15 #335 №2636287 
>>2635325
Я ваще google guice юзаю, мне похуй
Аноним 10/03/23 Птн 23:49:48 #336 №2636291 
>>2635344
Похуй сколько стартует, главное как работает в долгую. Или вы там блядь апликейшены каждые пол часа деплоите?
Так же похуй сколько жрёт памяти, если она работает быстрее. С точки зрения инфраструктуры купить больше памяти дешевле и проще чем добавить\купить больше CPU
Аноним 10/03/23 Птн 23:51:10 #337 №2636292 
>>2635396
два чая этому господину
Аноним 10/03/23 Птн 23:51:12 #338 №2636293 
>>2636287
ебать ты конченый
Аноним 10/03/23 Птн 23:54:17 #339 №2636296 
>>2635214
Нулы это наёбка для мидлов и джунов которые блядь архитекруту не понимают и что падать надо как можно раньше. Потому что если тебе в проде придёт нул и ты его просто примешь как должное, то обосрёшься как тиньков и кого то выебут (кому-то даже понравится)
Аноним 10/03/23 Птн 23:55:26 #340 №2636298 
>>2636293
Я в гугл батрачу, у гугла ВСЁ своё. Все фрейворки чисто свои, они себе могут позволить.
Аноним 10/03/23 Птн 23:56:47 #341 №2636299 
>>2636296
ну и как умник хуев ты будешь моделировать дату начала некоего события если оно еще не произошло?
Аноним 11/03/23 Суб 00:59:28 #342 №2636324 
>>2636299
Есть такая вещь как Promise, когда произойдёт тогда и будет результат.
Аноним 11/03/23 Суб 01:19:03 #343 №2636330 
>>2636013
Бля, ебать ты евангелист. Сколько те за эту лыжу заплатили? Хуй да маленько?
Аноним 11/03/23 Суб 01:25:23 #344 №2636335 
>>2636324
еблан у тебя поле ВРЕМЯ НАЧАЛА какой нахуй промис
Аноним 11/03/23 Суб 01:29:20 #345 №2636338 
>>2636335
Чем null лучше 0 в ситуации когда событие не произошло?
Темболее что это за извращённая логика когда событие ещё не началось, а его объект уже есть? Нахуй он нужен? Сделай объект Promise весь целиком, что он как бы есть, но детали его появятся когда он действительно случится.
Аноним 11/03/23 Суб 01:33:06 #346 №2636341 
>>2636338
Date startDate = 0; // мам я еблан
>Нахуй он нужен
ну например он ЗАПЛАНИРОВАН но не НАЧАЛСЯ
короче ты безработный БОМЖ сразу видно
Аноним 11/03/23 Суб 01:37:22 #347 №2636345 
>>2636338
>Чем null лучше 0 в ситуации когда событие не произошло?

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

Мимокрок
Аноним 11/03/23 Суб 01:43:51 #348 №2636346 
>>2636341
Так он блядь запланирован на когда-то же, а не блядь просто в никуда?
Кароче ты быдло джун.
Ты чё блядь потом после создания объекта его ещё редактировать будешь меняя свой ебучий нул на какую-то реальную дату? Ты блядь про многопоточность и иммутабельность слышал?

>>2636345
Всё именно так. Оба варианта хуета хует, помимо того что нул это такая хуета шо лучше уж 0.
Аноним 11/03/23 Суб 01:45:53 #349 №2636350 
>>2636346
>Так он блядь запланирован на когда-то же, а не блядь просто в никуда?
запланирован в одно время а стартанул в другое и как ты потом это узнаешь хуйлуша?
Аноним 11/03/23 Суб 01:46:36 #350 №2636351 
>>2636346
я те блядь еще больше скажу у него есть еще и ВРЕМЯ ЗАВЕРШЕНИЯ вот ты щас охуеешь да?
Аноним 11/03/23 Суб 01:51:09 #351 №2636352 
>>2636350
Если стартанули в другое от запланировано времени, предыдущий объект должен быть уничтожен, а не перезаписан.

>>2636351
Почитай про Promise. Ещё есть такая хуйня как имплементировать метод boolean hasDate(), и возвращать true если что-то реально было записанно, false если значение по дефолту стоит. А для getDate() метода, если поле содержит дефолт значени то выкидывать эксепшен.
/thread
Аноним 11/03/23 Суб 01:52:03 #352 №2636353 
>>2636346
>>2636351

Да вы вообще непонятно о чем спорите. Один высосал какую то задачу из пальца про поле, которое какбэ начало эвента, но нулевое (совсем мозги уже со своими ОРМами проебали, торчки блять. Задача по совести начинается с бизнес-постановки, а у него уже ентити с нуллабл полями как аксиома и данность блять). Второй вообще непонятно че защищает - вроде нулы чихвостит, при этом предлагая всратый нуль-обжект-заменитель, и сам же признает что один хуй говно.

Где логика, где обьективность? Шли б спать, один хуй не договоритесь.
Аноним 11/03/23 Суб 01:55:05 #353 №2636354 
>>2636353
Не нуль-обжект-заменитель, а провославный фрейворк Promise, в который можно завернуть объект Promise<Date>.
И да, у меня рабочий день, мимогуглодев в треде
Аноним 11/03/23 Суб 01:56:12 #354 №2636356 
>>2636352
>Ещё есть такая хуйня как имплементировать метод boolean hasDate(), и возвращать true если что-то реально было записанно, false если значение по дефолту стоит. А для getDate() метода, если поле содержит дефолт значени то выкидывать эксепшен.
boolean hasDate() { return this.date != null; }
Date getDate() { return this.date; }
requireNonNull(object.getDate());
ахуенно придумал братан
Аноним 11/03/23 Суб 02:05:03 #355 №2636360 
>>2636354
Ну значит работать, в твоем случае.

И кстати, о каких конкретно промисах в джаве ты все время талдычишь? В джаве оные никогда не были в ходу, их роль всегда с лихвой покрывалась прочими штуками типа Future(Task) или CompletableFuture.
Аноним 11/03/23 Суб 02:06:14 #356 №2636361 
>>2636360
это шарпоблядь под прикрытием
Аноним 11/03/23 Суб 02:12:14 #357 №2636365 
>>2636361
Да чел, мне похуй - что шарпоблять, что гуглодев. Один хуй - двачер.
Аноним 11/03/23 Суб 02:13:04 #358 №2636366 
image.png
>>2636360
Блядь, сорямба, думал опенсорс уже.
Получается чисто гугловая либа асинхронная. Думаю что-то подобное в опенсорсе должно быть.
Аноним 11/03/23 Суб 02:13:55 #359 №2636367 
орунах проекты гугла в яватреде сливают
Аноним 11/03/23 Суб 02:14:59 #360 №2636368 
>>2636367
да нихуя тут не слито, вот почитай концепты
https://promisesaplus.com/
Аноним 11/03/23 Суб 02:18:04 #361 №2636369 
>>2636013
Пишу такие запросы как на пиках на jooq.
И круды тоже пишу на jooq. Проблемы только с дедупликацией корневой сущности при джойне листа пока возникали. Но и они вполне решаются, конвертом приджойненого в массив джейсонов.
И в чём я не прав?
Аноним 11/03/23 Суб 02:25:58 #362 №2636373 
>>2636366
>Такая же хуита что и коплитблфьючи.
>Но куча ненужных апишек.
>И его нельзя блокнуть, можно использовать только в асинхронной дрисне.
Нахуй ты это говно сюда притащил, культист ебаный?
Аноним 11/03/23 Суб 02:27:29 #363 №2636374 
>>2636373
Просто выёбываюсь что могу жрать говно и смаковать
Аноним 11/03/23 Суб 02:40:30 #364 №2636380 
>>2636366
Прочитал.

Пришел к выводу, что ты упоролся. Во первых, непонятно почему ты считаешь что в джаве нужны промисы, с учетом того что:

1) В джаве и так асинхроншины подобного уровня полно, включая CompletableFuture прямо из стандартной либы
2) Угар по промисам давно прошел, и щас в тренде зеленые потоки

Во вторых, так и осталось нераскрытым, как конкретно ты собрался промисами решать проблему нулей. Если ты ведешь тред к тому, что первый потребитель нуллабл-поля будет анально выковыривать его значение через then, то ну тебя нахуй с такими инициативами. Есть способы проще.

Короче либо ты пиздишь что из гугла, либо лычка гуглодевелопера не значит ровным счетом нихуя, и внутри гугла кодят такие же дебилы, что и снаружи.
Аноним 11/03/23 Суб 02:51:30 #365 №2636386 
>>2636380
Сорри, может меня недопоняли или я рил мудак. Я хотел сказать, что весь объект делать промисом, а не 1 поле, если этот объект будет как бы существовать когда-то там.
Аноним 11/03/23 Суб 02:52:35 #366 №2636387 
А если мне в базенке надо занулить ячеечку в табличке? Как без нулика то?
Аноним 11/03/23 Суб 02:57:09 #367 №2636389 
>>2636387
Ну вот это тот случай, когда можно
Аноним 11/03/23 Суб 03:05:49 #368 №2636390 
>>2636389
Так. А если динамически надо ячеечку заполнить, а в довольно случае занулить? Значит можно и создавать переменную, равную null.
Аноним 11/03/23 Суб 03:16:36 #369 №2636392 
>>2636390
Используй Optional. Нул нужно избегать всеми возможными способами.
Аноним 11/03/23 Суб 03:35:35 #370 №2636394 
Буду использовать null. Потому что мне похуй.
Аноним 11/03/23 Суб 03:49:03 #371 №2636397 
>>2636380
Угар по промисам в хайлоаде никогда не пройдёт, асинхронность лучший способ максимально утилизировать ресурсы.
Зеленые треды это только если для каких-то ембедед вещей, которые на уровне железа\ос не могут в потоки, потому что никто лучше менеджить потоки чем ос\железо, не сможет.
Аноним 11/03/23 Суб 09:10:57 #372 №2636460 
Сап, кто-нибудь знает, где найти API для Nokia s40?
Аноним 11/03/23 Суб 12:12:40 #373 №2636614 
>>2636386
>весь объект делать промисом, а не 1 поле, если этот объект будет как бы существовать когда-то там.
сохранил промис в базу
@
мам я еблан
Аноним 11/03/23 Суб 15:14:53 #374 №2636764 
>>2636397
>асинхронность лучший способ максимально утилизировать ресурсы.

Разве ж кто спорит? Но с трендом по промисам это не коррелирует никак. Щас роляет асинк-авайт, или разного рода *рутины. Код на промисах по сравнению с кодом на рутинах выглядит так же уныло, как код на коллбеках выглядел по сравнению с кодом на промисах или реактивных стримах.

>Зеленые треды это только если для каких-то ембедед вещей, которые на уровне железа\ос не могут в потоки
>потому что никто лучше менеджить потоки чем ос\железо, не сможет.

А вот это неправда. Профит от управления потоками средой исполнения - в том, что среда исполнения может реализовывать принципиально новые, отличные от нативной, модели параллелизма, лишенные недостатков классического параллелизма через нативные потоки. Само понятие "менеджмент" для зеленых потоков - весь этот скедулинг, переключение контекста, конкарренси, зачастую не имеет ничего общего с классическими потоками.
Аноним 11/03/23 Суб 15:25:07 #375 №2636779 
>>2636387
Ошибка таких как вы, фанатов ОРМ, в том, что для вас запись в табличке идентична обьекту-энтити, и вы просто представить себе не можете ситуацию, где для разных кейсов существуют разные кортежи (структуры) данных, а для некоторых кортежи даже не нужны. Вас как прибили к этой модели, где есть только КРУД-репозитории и энтити, так вы с нее и слезть не можете ни вправо ни влево. А тем временем на уровне БД задача тривиальная. Всего то и надо сделать что update table set field = null where id = 42. Можно даже пойти дальше, и просверлить дырку в репозитории, ченить типа void nullifyField(int id), куда засунуть этот запрос, и не будет у тебя никаких нулей априори, равно как и не будет нуллабл поля.

О нееееет, "этож нечистый код, а как же швятой ОРМ". Мракобесы блять.
Аноним 11/03/23 Суб 15:30:10 #376 №2636785 
>>2636455
Еще бы этот @Nullable не был вендор-локнут на идею блять, и можно было бы его чекать на уровне сборки, фейля билд в случае чего, цены б ему не было.
Аноним 11/03/23 Суб 15:57:18 #377 №2636806 
>>2636779
Ты зачем так порвался?
Я фанат через джуучек в базенку класть значения, нулики в том числе.
А потом вынать большие объекты с большой вложенностью одним запросом с стешками и кучей джойнов.
Аноним 11/03/23 Суб 16:12:56 #378 №2636820 
>>2636806

>А если мне в базенке надо занулить ячеечку в табличке? Как без нулика то?

Ну ок, сорян, постановка вопроса звучала так, будто ты как типичный ОРМ-чел даже помыслить себе не можешь ситуацию, где есть что-то кроме ентити=таблица (и как следствие если таблица с нуллабл полями, нулей в энтите не избежать).
Аноним 11/03/23 Суб 16:16:29 #379 №2636830 
>>2636820
>ентити=таблица
Это очень удобно на самом деле даже без орм.
Но даже в жпа можно писать через дтохи(через jpql), а забирать через проекции.
Аноним 11/03/23 Суб 22:00:22 #380 №2637330 
1678561219674.jpg
Что касается петпроектов. Как думаете, на чем лучше всего навыки практиковать? Ну и чтобы в дальнейшем не стыдно было показать. Я так понимаю парсеры, калькуляторы, магазины и прочие поделки с курсов идут нахуй. И что в итоге остаётся? По всей видимости на собеседованиях ожидают увидеть какую-то научную хуйню, чтобы с серьезным ебало ее презентовать.
Аноним 11/03/23 Суб 22:06:22 #381 №2637335 
>>2637330
Оно должно быть полезно на практике, а не синтетически высрано.
Вот наберешь сто звезд на гитхабе, это уже хоть что-то.
Как те долбоебы, вандалившие свои миллионные жс-либы - это взлетевшие пет-проекты.
Аноним 11/03/23 Суб 22:06:33 #382 №2637336 
>>263733000
Кому ты свои петы собрался показывать? Работодателю?)))00)
Аноним 11/03/23 Суб 22:24:32 #383 №2637355 
>>2637335
>>Оно должно быть полезно на практике
>>Вот наберешь сто звезд на гитхабе
Энтерпрайзу похуй на звезды и гитхаб, либы берут с репозиториев, а не с рандомной помойки.
Аноним 11/03/23 Суб 22:27:40 #384 №2637360 
>>2637355
Не для энтерпрайза, а вообще.
Т.е. это что-то, что применяется посторонними людьми для какой-то пользы, а не высрано для галочки. Чуешь разницу?
Аноним 11/03/23 Суб 22:39:49 #385 №2637374 
>>2637330
>Как думаете, на чем лучше всего навыки практиковать

Напиши свой нетфликс или сбер. На крайняк банк Санкт Петербург. Мельче проектов на джаве не бывает.
Аноним 11/03/23 Суб 22:40:49 #386 №2637376 
>>2637369
i8 i16 i32 i64 f32 f64 сразу хуле
Аноним 11/03/23 Суб 22:47:07 #387 №2637383 
>>2637360
Зачем людям использовать джаву не для энтерпрайза? Они что ебанутые?
Аноним 11/03/23 Суб 22:51:03 #388 №2637387 
NumberOf
NumberEnvelope
TextOf
ScalarOf
Аноним 11/03/23 Суб 23:06:37 #389 №2637402 
>>2637387
Очередную убийце джавы выдумываешь? Остров с подходящим названием то выбрал уже?
sage[mailto:sage] Аноним 11/03/23 Суб 23:08:18 #390 №2637404 
LickDickOf
SuckCockOf
Аноним 11/03/23 Суб 23:18:51 #391 №2637414 
>>2637330
На собесах мы смотрели только один раз пет, когда челика брали по рекомендации и он переписал свой пет под наш стек.
Аноним 11/03/23 Суб 23:22:09 #392 №2637420 
>>2637415
Скучно слишком, когда десятилетиями всё работает и ничего не меняется.
Аноним 12/03/23 Вск 00:26:47 #393 №2637483 
>>2637409
ты додич
Аноним 12/03/23 Вск 02:30:28 #394 №2637516 
Что он говорит после "возьмите спринг мвс и ..." ?
СИМЛИВ СИМЛИБ, хуй поймешь
1:13:13
https://youtu.be/xReBrinErYU?t=4393
Аноним 12/03/23 Вск 02:50:01 #395 №2637518 
>>2637516
Thymeleaf

Так вот откуда вкатуны взяли моду на шаблонизаторы, они оказывается петучинского все посмотрели.
Аноним 12/03/23 Вск 07:53:53 #396 №2637555 
.jpg
>>2637518
> вкатуны взяли моду
Вкатуны в Java, я всё правильно понял?
Аноним 12/03/23 Вск 11:25:11 #397 №2637651 
>>2637518
Просто таймлиф самый популярный и при этом простой шаблонизаор. А Скуфчинский раньше стракты всякие советовал.
Аноним 12/03/23 Вск 13:07:41 #398 №2637753 
>>2637409

Нахуя тебе дженерики в рантайме? Какую проблему ты собрался ими решать?
Аноним 12/03/23 Вск 13:16:37 #399 №2637766 
>>2637415
Есть мнение (не мое), что у мавена не очень хорошо все с распараллеливанием и инкрементальностью билда. Часть проблем, вроде как, решает поделка под названием mvnd, но я мало ее пробовал.

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

В остальном - мавен все еще топчик.
Аноним 12/03/23 Вск 13:24:19 #400 №2637775 
>>2637753
Проблему отсутствия дженериков в рантайме.
Аноним 12/03/23 Вск 13:26:02 #401 №2637780 
>>2637775
Ясно. Инфантил.
Аноним 12/03/23 Вск 13:36:15 #402 №2637797 
Курс по java от яндекс практикума пойдет для начала, чтоб я хоть немного смог претендовать на стажировку в самом же яндексе? Ради приличия попробовал на сайте решит самую первую задачу, тест прошла, дальше пиздец. Ну и про стажировку в яндексе, у кого какие мнения есть, если я из ебаной деревни, есть возможность таким оьразом хоть поьывать в Москве?
Аноним 12/03/23 Вск 13:58:42 #403 №2637820 
>>2637797
>смог претендовать на стажировку в самом же яндексе?
Лол нет. Яндекс после своего же практикума на работу или стажировку не берет. Практикум - это самый минимум знания разработчика, как умение писать или читать
Аноним 12/03/23 Вск 14:02:33 #404 №2637826 
>>2637820
Про 1 задачу, это я имел ввиду на сайте контеста, где заявку на стажировку подаешь, но там чет алгоритмы еще нужны, т.е. вкатуну только киснуть в сбере/втб?
А про сам курс яндекса есть мнение, там уверенные джуны получаются хотя бы? Спасибо
Аноним 12/03/23 Вск 14:08:20 #405 №2637834 
>>2637826
Нет. Почти все курсы это дно. Это даже не стажер. Плюс для многих прохождение платных курсов для дебилов это показатель, что ты сам не умеешь учиться, искать инфу и тебе нужны пендели. Если и будешь брать курс, лучше никому не говори, что его проходил.
Аноним 12/03/23 Вск 14:11:43 #406 №2637837 
>>2637826
>вкатуну только киснуть в сбере/втб?
Вкатуна туда не возьмут. Набора джунов нет ни в сбер, ни в втб.
Аноним 12/03/23 Вск 14:15:19 #407 №2637840 
>>2637834
Учту, я впринципе видел, что люди советуют пиздеть про опыт работы, чтоб на позицию миддла вкатиться сразу, заучивая вопросы/ответы собесов, но эт же пиздец. Как они держатся больше пары недель, или таким оьразом и нарабатывают опыт работы? :(
>>2637837
Но почитывая треды, я вижу, что зп выше чем у яндекса, и не так ебут при собесах, не так ли?
Аноним 12/03/23 Вск 14:18:20 #408 №2637848 
>>2637766
жди мавен 4 там все будет
Аноним 12/03/23 Вск 14:30:32 #409 №2637864 
>>2637848
А замена СкуфXML на yaml будет? Иначе останусь на Gradle + kt!
Аноним 12/03/23 Вск 14:42:14 #410 №2637874 
>>2637864
Оставайся. И никогда не возвращайся
Аноним 12/03/23 Вск 14:50:01 #411 №2637876 
>>2637864
Да, см пик 3 в шапке.
Аноним 12/03/23 Вск 16:14:44 #412 №2637995 
Как сделать так чтобы что-то вроде <img src="http//localhost:8080/C://outsideFolder"> работало? То есть чтобы картинки в хтмл подгружались из папки вне папки проекта. Пока подргужаются только из папки static что в resources.
Аноним 12/03/23 Вск 16:20:21 #413 №2638004 
>>2637995
Забыл добавить, картинку добавляются/удаляются динамически во время рантайма.
Аноним 12/03/23 Вск 16:20:53 #414 №2638005 
>>2637995
Ты же понимаешь, что это специально сделано, чтобы злоумышленник не мог поставить путь к любому файлу и спиздить его?
Аноним 12/03/23 Вск 17:01:42 #415 №2638071 
>>2638005
Не, мне нужно было чтобы это путь был в серверной части. То есть сервер и на нем эта директория C://outsideFolder. Нужен был даже не именно абсолютный путь, а любой способ юзать динамичные ресурсы в сторонней папке(не resources/static).

Уже проблему решил через WebMvcConfigurer и метод addResourceHandlers. Кстати, можно как-нибудь это через application.properties прописать?
Аноним 12/03/23 Вск 18:30:40 #416 №2638181 
Я когда джаву только учил года три назад - наткнулся на рассказ о project valgalla. И ждал ее первое время.
Вальгалла сейчас заморожена? Только лум и панама кое как пилятся и то непонятно когда будут в релизе?
Аноним 12/03/23 Вск 18:41:37 #417 №2638201 
>>2638181
Я жду только project generiki v rantaijme
Аноним 12/03/23 Вск 18:54:19 #418 №2638228 
>>2638082

Не уверен что до конца понял твою дилемму, но по моему ты обьебался. Ибо дженерики стираются только в рантайме. В байткоде они все есть в полном обьеме. Поэтому через рефлексию, например, ты вполне можешь получить инфу об дженериках через методы типа Class::getGenericInterfaces/Supertypes, или Field::getGenericType.

И даже если рефлексия тебе чего то недодает, ты всегда можешь спуститься на уровень ниже, взять какой нибудь байткод-тул типа ASM или ByteBuddy, пропарсить им байткод классов и извлечь всю нужную инфу. На твоем месте, если б передо мной стояла генерить что-то в билд-тайме по классам и их аннотациям, я б сразу забил на рефлексию и шел бы этим путем.
Аноним 12/03/23 Вск 19:09:13 #419 №2638254 
image.png
image.png
мужички, подскажите плиз у меня в новой JDK19 джаве то ли работает то ли не работает "super" по гайду нужно вписать такое super(speed,weight) а у меня работает только с super( ). и я не понимаю оно наследуется или просто новое вводится. мне просто нужно чтоб наследовалось. нагуглить не могу . заранее спасибо за помощь.
Аноним 12/03/23 Вск 19:19:21 #420 №2638266 
>>2638254
у меня даже от скринов глаза начали болеть. Как вы сидите в этой даркуле?
Аноним 12/03/23 Вск 19:22:38 #421 №2638271 
SA6h7bZObE.png
>>2638267
единственная нормальная тема
Аноним 12/03/23 Вск 19:23:09 #422 №2638272 
>>2638264
Представь себе еблан
Аноним 12/03/23 Вск 19:25:02 #423 №2638273 
>>2638266
а ответ то какой , че по суперу то ?.норм что он пустой? или нет?
Аноним 12/03/23 Вск 19:26:59 #424 №2638276 
>>2638273
показал бы ошибку. И во втором скрине второй transport внизу. Что это?
Аноним 12/03/23 Вск 19:27:23 #425 №2638277 
>>2638275
ебал твои принципы в принципе
Аноним 12/03/23 Вск 19:31:13 #426 №2638283 
image.png
image.png
>>2638276
В этом ошибка
первый скрин-как у меня
второй как надо(я так понимаю), у меня супер красным горит ,когда делаю по гайду
Снизу в транспорте была простая пустышка,думал мб пофиксится
Аноним 12/03/23 Вск 19:32:45 #427 №2638285 
>>2638283
наведи мышкой на красное. Выскочит табличка с описанием. Подозреваю из-за второго transport
Аноним 12/03/23 Вск 19:33:49 #428 №2638288 
>>2638284
я недолюблюваю высокобукв
Аноним 12/03/23 Вск 19:36:06 #429 №2638292 
>>2638285
Аа , реально помогло .ждк попросил конструктор бахнуть и реально заработало
Миска рис тебе
Аноним 12/03/23 Вск 20:42:04 #430 №2638351 
>>2638342
Он же специально так пишет, чтобы у тебя жёппа сгорела.
Аноним 12/03/23 Вск 21:16:57 #431 №2638372 
>>2638264

jshell> class TTTT { public List<String> list; }
| created class TTTT

jshell> TTTT.class.getField("list").getGenericType()
$21 ==> java.util.List<java.lang.String>
Аноним 12/03/23 Вск 21:39:36 #432 №2638391 
>>2638351
Я другой анон, но я не представляю себе, как с таким отношением к синтаксису и конвенциям возможно будет писать продакшен код.
Аноним 12/03/23 Вск 21:57:01 #433 №2638413 
Да , я первую неделю на Джаве пишу. Так что прошу извинить меня за явные ошибки с регистром кода. Пока еще не вошло в привычку и понимание что к чему.
Довольны моей письменной речью теперь, Уважаемые Пользователи анонимной площадки для постинга букв?
Аноним 12/03/23 Вск 22:12:19 #434 №2638430 
>>2638413
А на русском какую неделю пишешь?
Аноним 12/03/23 Вск 22:36:39 #435 №2638448 
>>2638413
пашол нахуй
Аноним 12/03/23 Вск 23:12:44 #436 №2638478 
>>2638403
>Но читать и писать научился он явно не вчера
Да, я про это и говорю.
Аноним 13/03/23 Пнд 01:01:19 #437 №2638518 
Кто-нибудь работал в bell integrator? Норм компания или дерьмо?(как я вижу по отзывам мутная какая-то компания)
Аноним 13/03/23 Пнд 01:05:29 #438 №2638521 
>>2637518
А как делать без шаблонизаторов? Руками хуярить хтмл теги или что?
Аноним 13/03/23 Пнд 01:06:43 #439 №2638523 
>>2638521
React
Аноним 13/03/23 Пнд 01:08:15 #440 №2638525 
>>2638518
Да.
Аноним 13/03/23 Пнд 01:43:27 #441 №2638537 
>>2638516
Нахуй иди,долбоеб, мы с ним твою мамашу уважали
Аноним 13/03/23 Пнд 08:53:37 #442 №2638620 
Походу даже на спринг бут 3.1 с 2.7 не будет смысла переходить. Там в большинстве сервисов что-то сломается, а фич новых и полезных нету так то.
Или есть?
Наверно в конце года/в начале следующего прыгать на джаву 21. К бут там уже будет 3.3/3.4.
Аноним 13/03/23 Пнд 12:58:48 #443 №2638813 
>>2638523
реакт это оверкил для вкатунского пет проекта.
Аноним 13/03/23 Пнд 13:02:06 #444 №2638818 
>>2638813
UI во вкатунском проекте бэкендера вообще нахуй не всрался, сваггера хватит.
Аноним 13/03/23 Пнд 15:43:42 #445 №2638994 
Есть ли смысл использовать в своих пет-проектах логгер или это лишнее? И какая разница между объявления логгера с помощью аннотации Lombok и статического объекта интерфейса Logger?
Аноним 13/03/23 Пнд 15:45:29 #446 №2638997 
>>2638994
а как без логгера? В систем аут?
Аноним 13/03/23 Пнд 16:04:02 #447 №2639009 
>>2638994
Хочешь - используй, не хочешь - не используй. Ты у нас спрашиваешь, что лишнее в твоём проекте, который ты пишешь для себя?
Аноним 13/03/23 Пнд 16:31:32 #448 №2639028 
Посмотрел впервые бугаенко, хочется теперь создать 500 враперов над каждым объектом и иметь 100 ифов в контроллере
Аноним 13/03/23 Пнд 16:55:05 #449 №2639044 
>>2638994
В целом изучить, как настраивать логбэк или лог4ж, имеет смысл. Это пока приложуха локально задеплоена, ты можешь к ней и дебаггером подлезть, и прочими тулами, и в целом на все похер. А в боевом окружении отсутствие логов очень запросто превращает жизнь команды в ад.
Аноним 13/03/23 Пнд 16:55:28 #450 №2639046 
>>2639028
>иметь 100 ифов в контроллере

?
Аноним 13/03/23 Пнд 16:58:55 #451 №2639049 
>>2639046
Ну а как понять, какой декоратор мне нужен в конкретный момент? Ну хорошо, пусть будет 100 методов в контроллере
Аноним 13/03/23 Пнд 17:04:01 #452 №2639052 
>>2639049
Но в контроллере и так по методу на эндпойнт. Или про какой "конкретный момент" речь?
Аноним 13/03/23 Пнд 17:16:27 #453 №2639064 
>>2639052
В контроле может нулл прийти
Аноним 13/03/23 Пнд 17:18:40 #454 №2639067 
>>2639064
Окей, а остальные 99 ветвлений тогда что?
Аноним 13/03/23 Пнд 17:31:32 #455 №2639089 
>>2639067
Ну может быть не один параметр и у параметров внутри тоже могут быть нуллы, а нужно создать конкретный декоратор, где их не будет. Значит нужно либо заиметь эндпоинтов по количеству декораторов, либо как-то ифами разгребать и сохдавать нужный
Аноним 13/03/23 Пнд 18:02:49 #456 №2639125 
image.png
Аноны, пишу кастомный плагин для Gradle, вопрос мб тупой но все же - должен ли я юзать Property (те, которые менеджатся градлом) в Extension'ах или Property только в тасках юзаются?

Т.е. берешь из расширения поля, пробрасываешь их в Gralde-managed properties?
Аноним 13/03/23 Пнд 18:04:35 #457 №2639128 
>>2639125
Пошел нахуй.
Аноним 13/03/23 Пнд 18:08:16 #458 №2639144 
>>2639128

Хуя ты сильный джавист, небось и жвм неплохо прогреваешь своим пылающим анусом
Аноним 13/03/23 Пнд 18:10:19 #459 №2639150 
>>2639144
У тебя весь рот в гредле, молчал бы
Аноним 13/03/23 Пнд 20:27:10 #460 №2639310 
If you have one Flux that depends on the result of another Flux, you can use the flatMap operator to chain them together.

You can chain as many Flux or Mono instances together as needed using flatMap(), and each new Flux or Mono can depend on the result of the previous one. By chaining them together in this way, you can ensure that each Flux or Mono is executed in the correct order, and that the result of one is available to the next.

Это вообще нормальная практика?
Аноним 13/03/23 Пнд 20:37:44 #461 №2639319 
>>2639310
Что не так? Только не рекомендуется делать слишком много мап, да и вообще паблишер лишний раз создавать, а то по производительности может ударить
Аноним 13/03/23 Пнд 20:39:54 #462 №2639323 
>>2639319
Я сам не знаю вот и спрашиваю, показалось просто странным флатмап для этого юзать
Аноним 13/03/23 Пнд 22:20:36 #463 №2639363 
Пиздец блять попробовал через этот флатмап зачейнить всё. В итоге упёрлось в гугление почему реквесты выполняются два раза, оказалось что это-то непрямого сабскрайба от флатмапа. Помог в этом разобраться как не смешно чатгпт лол. Потому что гугл на жсовские и ангуляровские вопросы на стаковерфлоу меня кидал.
Аноним 13/03/23 Пнд 22:53:21 #464 №2639392 
>>2638620
https://www.baeldung.com/spring-6-http-interface
Мне вот эта штука понравилась, можно выкинуть вонючий feign. Больше вроде ниче и нет.
Аноним 13/03/23 Пнд 22:54:21 #465 №2639395 
image.png
>>2639125
>Аноны, пишу кастомный плагин для Gradle
Аноним 13/03/23 Пнд 22:58:21 #466 №2639398 
>>2639363
Что имеется в виду? Кинь пример кода
Аноним 13/03/23 Пнд 23:19:32 #467 №2639420 
>>2639398

Не кароче я объебался и ошибка осталась. По какой-то причине она на время тогда пропала. Может потому что я попытался сделать из моно флакс и юзал concatmap хз.
Как это всё выглядит:
firstMono = webClient1.get

secondMono= firstMono.flatMap(
firstMono.dostuff
webClient2.get )

secondMono.subscribe
Аноним 13/03/23 Пнд 23:57:30 #468 №2639445 
>>2639420
В таком виде это лишено смысла.

Это как то так должно выглядеть. 2 параллельных запроса.
Mono<T> firstMono = webClient1.get().map(x-> x.dostuff).subscribe()
Mono<T> secondMono= webClient2.get().subscribe()


Если хочешь чейнинг то так

Mono<T> result = webClient1.get()
.map(firstResult -> {
firstResult.dostuff ты похоже пытался вызывать метод у моно, а не у содержимого
return webClient2.get()
});

result либо возвращаешь в виде моно, либо дальше чейнишь. Ну или сабскрайб, если надо просто выполнить (вернуть void)


flatmap работает как и в стрим апи. M<M<T>> -> M<T>
Аноним 13/03/23 Пнд 23:59:19 #469 №2639447 
>>2639445
>>Mono<T>
>>.subscribe()
Тут проебался - субскрайб лишний, с ним будет не моно, а диспосабл. Но надеюсь суть ты понял.
Аноним 14/03/23 Втр 00:34:20 #470 №2639456 
>>2639445
Суть то я понял, пасибо анончик. Ток тупой я чет для этого пока-что. Пойду перепишу это всё с реакта, а то умру потом ещё больше функционала так писать
Аноним 14/03/23 Втр 05:04:46 #471 №2639489 
Сделал пулл реквест в свою же репу,как его теперь удалить? Там нихуя полезного,бесит что он висит в списке закрытых
Аноним 14/03/23 Втр 05:34:13 #472 №2639494 
>>2639489
Удали репу и создай заново
Аноним 14/03/23 Втр 05:37:37 #473 №2639496 
>>2639494
Охуенно ты придумал
Аноним 14/03/23 Втр 06:42:03 #474 №2639505 
>>2639496
Ну как бы да, ты не путай git-репу и проект на GitHub. Твой код останется у тебя и ты сможешь заново запушить его
Аноним 14/03/23 Втр 10:11:45 #475 №2639543 
Я не понял, то за зоопарк apache.commons?
Это же просто свалка творчества Васянов, типа питоновских библиотек или плагинов к Идее или я что-то не понял?

Пытался загрузить в Идею примеры кода из Пактовской книжки и там все нахуй обмазано импортами этого говна типа org.apache.commons.codec.binary.Base64 и в мавене это не прописано (еще и я в мавене не разбирался)
Аноним 14/03/23 Втр 10:34:13 #476 №2639550 
>>2639545
Я пытаюсь Java core выучить
Аноним 14/03/23 Втр 10:51:50 #477 №2639558 
Скиньте кто-то курсы от Kata Academy
Аноним 14/03/23 Втр 12:02:16 #478 №2639630 
>>2639567
Уныло, пиздец.
Аноним 14/03/23 Втр 12:15:13 #479 №2639642 
>>2639550
Читай Хорстмана, там почти нету внешних библиотек. А в том месте, где появляется он показывает какой гемор их подключать без сборщика. Заодно поймешь что мавен тебе нужен пиздец как.
Аноним 14/03/23 Втр 12:18:29 #480 №2639646 
Ща даун-скорострел перекатит.
Аноним 14/03/23 Втр 12:20:26 #481 №2639649 
16697996003575.jpg
>>2639637
Уныло обмазываться всеми этими фреймворками тестами, сборщиками профайлерами, персистансами, аджайлами, жирами еще до того, как начнешь писать что-то из 1-3 классов.

Изучил гит, который сейчас мне никак не помогает, теперь еще мавен, потом блять JUint какой-нибудь понадобится. Я так никогда не продвинусь =(
Аноним 14/03/23 Втр 12:28:07 #482 №2639659 
>>2639543
Это творчество васянов было актуально во времена Java 1.5-Java 1.6. Потом да, в Java 7-8 уже большая часть нужного появилась в стандартной библиотеке (или в Спринге)
Аноним 14/03/23 Втр 12:33:58 #483 №2639665 
>>2639642
Да я читаю и Хортсмана, и Эванса, и Java Precisely параллельно, потому что мало кто пишет четкие определения для терминов и приходится из нескольких источников собирать.
Аноним 14/03/23 Втр 12:37:11 #484 №2639668 
>>2639659
Да-да, именно такое уныние из 00-х и вызывает сайт apache
Зачем-то Nick Samoylov в своей книжке 2022 года использует все это окаменелое говно.
Значит, идет он нахуй со своей книгой, хотя теоретическая часть была неплохая.
Аноним 14/03/23 Втр 12:47:06 #485 №2639674 
>>2639665
Все там норм с терминами, если ты в оригинале читаешь.
Какие термины плохо определены?
Аноним 14/03/23 Втр 12:48:51 #486 №2639676 
>>2639668
По джава кору написаны тысячи книг. И по закону больших чисел большая их часть - говно.
Аноним 14/03/23 Втр 12:59:39 #487 №2639686 
>>2639659
Нормальных утилит для работы с коллекциями в джаве до сих пор нет, а спринг сильно ограничен.
Аноним 14/03/23 Втр 13:09:47 #488 №2639696 
>>2639674
За дифференцирующими определениями token, expression, statement я залез в книгу про компиляторы. Это было важно, чтобы понимать синтаксис (где ставить ; , {})
Static code и non-static code. Четкая структура, которая есть у class-header
(<access modifiers> public/private/protected <keyword> class <class name> <extends-clause> <implements-clause>)

У Хортсмана вообще в виде аналогий ("ну вот представь, если", "это похоже на то, когда"), это немного не то, к чему я привык в инженерных дисциплинах. Но это можно преодолеть, конечно.

>>2639679
Заставляют примеры кода от издателя, в которых используются методы классов из библиотек. Неработающие импорты не дают скомпилировать файл примера.

>>2639674
>>2639676
Спасибо а поддержку, добрые люди!
Аноним 14/03/23 Втр 13:27:22 #489 №2639717 
>>2639696
>>это немного не то, к чему я привык в инженерных дисциплинах.
Читай спецификацию.
Аноним 14/03/23 Втр 13:44:21 #490 №2639738 
>>2639717
Java Precisely пока что мне нравится больше всего

>>2639721
Чтобы выебываться на собеседованиях конечно же
Аноним 14/03/23 Втр 15:16:37 #491 №2639870 
>>2639567
Схуяли? Пусть сначала java core подтянет, поймёт что такое jar, в итоге он сам захочет мавен себе. А не зная java core даже он никогда в жизни нормально не поймёт что это такое и нахуя нужно и как работает
Аноним 14/03/23 Втр 15:37:57 #492 №2639902 
>>2639567
>>2639870
>>2639872

Да отьебитесь вы от человека, душнилы. Пусть как хочет так и учит.

Это в нормальных экосистемах можно начинать учить язык с билд-тулов, потому что тот же cabal init, например, одной командой создает компактный проект с прожиточным минимумом по дилбовой обвязке. А мавен с джавой сразу задирают порог входа в небеса, потому что могут предложить лишь стопятцот архетипов, которыми один хуй никто не польузется, где хуй пойми с какого лучше всего начать и хуй пойми что намешано.
Аноним 14/03/23 Втр 15:38:33 #493 №2639904 
>>2639902
>дилбовой
*билдовой
Аноним 14/03/23 Втр 15:40:02 #494 №2639907 
>>2639536
>>2639395

Semen, pls

Еще б понимал чего, болезный, позоришься только своим пылающим пердаком
Аноним 14/03/23 Втр 15:49:08 #495 №2639914 
>>2639870
>>2639872
Эх, пошёл вникать в maven и XML
пиздец, вкатился в бэк через простыни угловых скобочек
Аноним 14/03/23 Втр 15:51:23 #496 №2639916 
image.png
>>2639907
Как же ты сейчас обосрался...
Аноним 14/03/23 Втр 15:53:22 #497 №2639918 
>>2639902
С Идеей немного проще, конечно, но в этом случае она не смогла найти и скачать импорты.
Я даже руками искал (через интерфейс Идеи) в мавеновском репе библиотеки, но и там ждал провал.
Аноним 14/03/23 Втр 15:53:53 #498 №2639919 
>>2639902
Что там задирать в мавене? Генеришь дефолтный проект и забываешь про него. Потом копипастишь зависимость - и ты уже продакшен-реди-джун.
Аноним 14/03/23 Втр 16:00:35 #499 №2639927 
>>2639918
Идея, когда дело доходит до менеджмента мавен-модулей, глючная, как ебаная сука. Каждый раз плююсь на нее как первый раз.

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

По ошибке вьебал не то имя у проекта? Положил не в тот парент? Удачи в правке. С первого раза сама идея никогда ничего не переименует и не переместит. Никогда! То переименует артефакт, но не папку. То папку, но не деклароацию в modules.

И ведет она так себя по ублюдочному кучу лет уже. Никто не фиксит, всем похуй.
Аноним 14/03/23 Втр 16:20:05 #500 №2639944 
maven.png
>>2639927
Да я уже заметил, когда решил просто Maven-артефакт-application создать в Идее и она мне сделала имя GroupId с $ в начале. Без всяких запросов подтверждения ("что-то не так с именем, может передумаешь?") и возможности откатить.
Аноним 14/03/23 Втр 16:41:06 #501 №2639958 
Парни , объясните вкатуну чем интерфейс лучше класса и можно ли вообще забить на него и использовать классы. Заранее спасибо!
Аноним 14/03/23 Втр 16:44:17 #502 №2639964 
>>2639958
Забить можно, но на собеседованиях тебя спросят про интерфейс и класс в первую очередь
Аноним 14/03/23 Втр 16:45:36 #503 №2639968 
>>2639958
>чем интерфейс лучше класса
Они - не лучше и не хуже, они просто другие, и существуют для других задач.

>можно ли вообще забить на него и использовать классы

Можно. Но тогда ты лишаешь себя бенефитов от использования полиморфизма и инверсии контроля, что рано или поздно стрельнет тебе в ногу.
Аноним 14/03/23 Втр 16:48:11 #504 №2639972 
>>2639964
>>2639967
>>2639968
Понял,спасибо!
Аноним 14/03/23 Втр 17:08:55 #505 №2639998 
>>2639902
Так ебать, если он не понимает как работает импорт и как работает classpath, и зачем ему apache commons, на кой хер ему лезть в мавен?

>>2639958
Пока что в начале обучения можешь. Потом - нет, интерфейс очень важная часть ооп. Могу порекомендовать почитать Part 1 книги touch of class B. Meyer'а. Разложишь себе по полочкам разницу между классом, объектом и интерфейсом
Аноним 14/03/23 Втр 17:10:48 #506 №2640003 
11.png
2.png
3.png
Двачик, выручай вкатуна
Наблюдаю проблемы с печатью инфы про аккаунты из БД в сервлет. Есть метод getAccountsShortInfo() который читает инфу об аккаунтах из БД.
Почему то printWriter в сервлете перестает писать любой текст после вызова этого метода (хотя возможно причина не в самом вызове метода). То есть он не пишет данные из БД вызываемые в методе, и так же не пишет обычные любые String после этого (Строка "After database reading")
При этом при дебаге видно, что printWriter успешно собирает ВЕСЬ нужный текст, но сам сервлет отображает только тот текст, что идёт до вызова метода getAccountsShortInfo()
Думал, что данные из буфера не полностью передаются, но методы flush() или close() нихуя картину не меняют
Аноним 14/03/23 Втр 17:16:51 #507 №2640012 
>>2640003
А ты уверен что у тебя там нет эксепшенов?

Попробуй из catch блока сделать throw
Аноним 14/03/23 Втр 17:21:02 #508 №2640016 
>>2640003
Или еще гипотеза. Ты уверен что проблема - в респонзе, а не в браузере? Может хтмль пришел весь, но браузер его криво отрендерил? Чекал вкладку networks?
Аноним 14/03/23 Втр 17:25:29 #509 №2640019 
>>2640016
>>2640012
Эксепшенев нету

Что за вкладка networks? Где это?
Аноним 14/03/23 Втр 17:33:30 #510 №2640025 
>>2640003
>>2640016
Ебать, прописка после каждого append() метода flush() всё пофиксила. Не понимаю почему
pw.append().flush();
Аноним 14/03/23 Втр 17:41:45 #511 №2640037 
>>2640025
Cглазил нахуй, перестало работать
СУУУУУУКА БЛЯЯЯЯЯЯТЬ
Аноним 14/03/23 Втр 18:02:10 #512 №2640060 
>>2640025
Flush и close надо в самом конце прописать
Аноним 14/03/23 Втр 18:05:18 #513 №2640064 
>>2639916
>>2639930

Причина подрыва?

Помимо некомпетентности и шкилы головного мозга.
Аноним 14/03/23 Втр 18:07:09 #514 №2640065 
>>2640037
Вангую, что если ты строку будешь собирать StringBuilderом и делать только один
>append(StringBuilder.toString()).flush().close()

То всё заработает
Аноним 14/03/23 Втр 18:11:00 #515 №2640068 
1111.JPG
>>2640060
Не помогло, всё равно только половина текста
Кстати, вижу вот эти красные ошибки, может и правда чот с браузером не то? Хотя в ебучем Edge та же картина - только половина текста
Аноним 14/03/23 Втр 18:20:55 #516 №2640082 
33.JPG
>>2640065
Интересная идея
В таком случае сервлет падает с 500
Аноним 14/03/23 Втр 18:32:31 #517 №2640091 
fq.JPG
qqq.JPG
>>2640065
Вообще не ебу теперь. Поместил закрытие writer в блок finally и теперь сервлет просто пропускает инфу из БД.
КАК НАХУЙ ЭТО ВОЗМОЖНО? КАК ОН ПЕЧАТАЕТ StringBuilder НЕ ПОЛНОСТЬЮ?

в пизду программирование, буду проституткой
Аноним 14/03/23 Втр 18:35:19 #518 №2640095 
>>2640091
Братишка, так всё логично. У тебя функция, которая лезет в бд нихуя не работает. Выбрасывает экспешн. При этом вместо обработки ты нихуя не делаешь. Посмотри в логи приложения в идее, у тебя там наверняка залупа

Кинь код на pastebin я тебе покажу как это должно быть по человечески сделано
Аноним 14/03/23 Втр 18:49:44 #519 №2640119 
>>2640095
Там дохуллиард классов и методов, но вот, основые методы я выделил по классам
Спасибо, анон!
https://pastebin.com/RUazYim3
Аноним 14/03/23 Втр 19:06:46 #520 №2640144 
>>2640119
Я на самом деле просил только код сервлета, чтобы показать тебе как надо было делать обработку ошибок. По хорошему ещё нужно добавить логов/выводов в консоль, это помогает очень сильно. Логгером ещё не умеешь пользоваться? Очень важно в программировании уметь определять где что не так пошло

Смотри комментарии, я не запускал, но примерно оно так должно выглядеть
https://pastebin.com/2vfwhhFH
Аноним 14/03/23 Втр 19:20:00 #521 №2640167 
>>2640082
Так это уже другой косяк. Чето с базой данных у тебя случилось.
sage[mailto:sage] Аноним 14/03/23 Втр 21:56:16 #522 №2640374 
>>2640358
Тредом ошибся.
Аноним 14/03/23 Втр 22:11:42 #523 №2640392 
>>2640358
Размер очка вкатунов при каждой версии))
Аноним 14/03/23 Втр 23:38:17 #524 №2640468 
>>2640358
Я надеюсь,все параметры передаются в конструктор?
Аноним 15/03/23 Срд 00:32:58 #525 №2640520 
Если я честно скажу, что при стажировке/junior позиции, буду юзать gpt и стараться разбираться в проблеме, какие подводные камни будут при собесе? Эта хуйня все равно лучше пишет стандартного junior разработчика, если адекватно описывать ТЗ
Аноним 15/03/23 Срд 00:33:51 #526 №2640521 
>>2640520
Мнение? Без опыта все равно меня даже не рассмотрят до собесов
Аноним 15/03/23 Срд 00:48:49 #527 №2640531 
Нужно развернуть сервер на локальном хосте с базой данных и json файлом. Когда буду делать с моего приложения запрос на сервер, данные из базы данных должны будут отправится в json файл, и оттуда я их буду брать. Подскажите пожалуйста, как это реализовать ?
Аноним 15/03/23 Срд 01:05:16 #528 №2640542 
>>2640531
Звучит как - мне нужно вывести спутник на орбиту, подскажите как это реализовать?
Откуда мы блять знаем твой уровень подготовки к запуску сервера? А про файл ты вообще бред пишешь
Аноним 15/03/23 Срд 01:08:18 #529 №2640544 
>>2640531
При чём тут файлы? Тебе надо получить ответ от сервера в формате json, а данные в ответ подтянуть из базы? Если так, пили на спринге rest-контроллер.
Аноним 15/03/23 Срд 04:54:15 #530 №2640607 
>>2639543
>Я не понял, то за зоопарк apache.commons?
ядреное легаси.

>>2639668
>Зачем-то Nick Samoylov в своей книжке 2022 года использует все это окаменелое говно.
ты это говно встретишь с вероятностью 95% в любом более-менее серьезном проекте.
при этом сами эти апачевские либы вполне хороши, это набор простейших инструментов которые просто работают. юникс-стайл как он есть, без всякой архитектурной залупы, монтстрообразности, оверинжиниринга и мешанины всего и сразу как в гуаве или спринге. чувствуется что ее писали люди у которых мозги на чистом си работают. там где можно обойтись одним статическим методом обходятся одним статическим методом, а не городят огород из нагромождений интерфейсов для сримов и абстрактных фабрик
Аноним 15/03/23 Срд 05:24:44 #531 №2640612 
>>2640531
я ебу чел
это тред джавы
Аноним 15/03/23 Срд 08:42:43 #532 №2640660 
>>2640607
Там какие-то дикие коллекции типа Bag interface.
Разве этого всего (улучшенного) нет в JDK начиная с 1.8?

>>"The Java Collections Framework was a major addition in JDK 1.2. It added many powerful data structures that accelerate development of most significant Java applications. Since that time it has become the recognised standard for collection handling in Java"
Аноним 15/03/23 Срд 08:56:30 #533 №2640670 
ArrayUtils.png
.jpg
>>2640607
ну.. такое. Ради этого этого мне импорты делать?

Это, конечно, подходит под описание
>>набор простейших инструментов которые просто работают
Аноним 15/03/23 Срд 11:00:27 #534 №2640736 
Нормально вообще взять в качестве пета фронт с гитхаба и сделать для него свой бэк?
Аноним 15/03/23 Срд 11:26:59 #535 №2640767 
>>2640736
Да
Аноним 15/03/23 Срд 11:36:18 #536 №2640776 
>>2640544
Ну да, но как я их получу в формате json ? Через Url ?
Аноним 15/03/23 Срд 12:04:39 #537 №2640795 
>>2640776
Да, просто сделать http-запрос через любую библиотеку.
Аноним 15/03/23 Срд 12:57:20 #538 №2640841 
Как зайти на веб-страницу веб-приложения, которое работает на одном пк, с другого ?
Аноним 15/03/23 Срд 13:09:54 #539 №2640848 
>>2640841
По айпи адресу машины, на которой сервер. При этом он должен быть reachable
Аноним 15/03/23 Срд 14:40:25 #540 №2640949 
java + нет опыта + удалёнка = 26 вакансий на НН. не вкатицо, не пробраться, не пролезть.
Аноним 15/03/23 Срд 14:45:01 #541 №2640959 
>>2640949
Вот и не вкатывайся.
Аноним 15/03/23 Срд 17:01:02 #542 №2641166 
>>2640949
Где 26?
У меня всего 26 вакансий в Чите.
Аноним 15/03/23 Срд 17:07:59 #543 №2641183 
>>2641166
Город не уточнён = Москва.
Аноним 15/03/23 Срд 17:15:08 #544 №2641198 
Как получить доступ к файлу в spring по URL ?
Типо вот так http://localhost:8080/file.txt.
В какую папку файл положить ?
Аноним 15/03/23 Срд 17:21:50 #545 №2641215 
>>2641198
Сделать котроллер, который будет дергать логику получения файла и выставить наружу эндпоинт
Аноним 15/03/23 Срд 17:30:02 #546 №2641235 
>>2641215
Уже дошло, нужно было просто положить файл в папку static.
Аноним 15/03/23 Срд 17:43:05 #547 №2641257 
>>2630498 (OP)
https://www.youtube.com/watch?v=yU6DTrMuo0k

В голос с самоделкиных!
Аноним 15/03/23 Срд 17:48:50 #548 №2641263 
>>2641257
хехехехе в моей компании тоже раньше переписывали мавен
Аноним 15/03/23 Срд 18:02:30 #549 №2641288 
>>2640949
Так без опыта на удалёнку никто брать и не будет
Аноним 15/03/23 Срд 18:43:29 #550 №2641377 
Рационально ли создавать библиотеку с одним классом ?
Типо, класс с помощью которого можно отправить запросы на сервер с get и post.
Аноним 15/03/23 Срд 18:51:29 #551 №2641388 
>>2641288
Меня взяли, вопросы?
Аноним 15/03/23 Срд 18:52:58 #552 №2641391 
>>2641288
а вменяемое объяснение такого нежелания выйдет погулять?
Аноним 15/03/23 Срд 18:54:33 #553 №2641394 
>>2641388
Расскажи, пожалуйста, о своих знаниях с которыми тебя взяли на работу. + сколько времени понадобилось на ват и какие у тебя исходные данные (учишься/учился в универе или уже пытался учить языки до этого)?
Аноним 15/03/23 Срд 18:56:07 #554 №2641398 
Кто знает чела по имени дима с обезьяной на аве? Говорят пидр знатный.
Аноним 15/03/23 Срд 18:58:33 #555 №2641403 
>>2641398
твой тред в /hry/
Аноним 15/03/23 Срд 19:07:53 #556 №2641413 
>>2641394
Ага хуй тебе, так я все и рассказал. Чем меньше вкатышей будет, тем мне лучше по итогу, и так скоро будет борьба с чатжпт за сотыги. А ты лучше оставь это дело, вкат и так всё твердо и четко.
Аноним 15/03/23 Срд 19:58:25 #557 №2641456 
1.jpg
>>2640144
Блять, братишка, ты лучший
Огромное тебе спасибо, благодаря тебе я обнаружил в чём косяк. Мира тебе и твоему дому, друг
Аноним 15/03/23 Срд 20:18:46 #558 №2641479 
>>2641413
Так ты уже устроился, что тебе терять? С боевым опытом ты уже никуда от рекрутёров не денишься если пол года - год проработаешь.
Меня никто не остановит вкатываться, просто хочу ориентировочно просчитать сколько времени у меня на это уйдёт
Аноним 15/03/23 Срд 20:40:07 #559 №2641495 
>>2641479
Я щас год отработаю, а ты потом себе два накрутишь по советам от инфоцыган. По итогу будем вместе бороться за лычку мидла в рога и копыта, а мне этого не надо
Аноним 15/03/23 Срд 23:20:50 #560 №2641643 
>>2641479
Просто берешь и подаешься во все 26 мест. Без удаленки без опыта тоже подаешься(подрочить собесы). С опытом в год тоже подаешься. Через годик вкатишься скорее всего.
Аноним 15/03/23 Срд 23:45:25 #561 №2641681 
Как записать данные в файл, который находится в папке resources ?
Аноним 15/03/23 Срд 23:46:06 #562 №2641685 
>>2641681
Ты долбоеб?
Аноним 15/03/23 Срд 23:57:56 #563 №2641692 
>>2641681
FileUtils.write = "мам я долбоеб"
Аноним 15/03/23 Срд 23:58:51 #564 №2641694 
>>2641685
>>2641692
Так надо.
Аноним 16/03/23 Чтв 00:00:26 #565 №2641695 
>>2641456
Без проблем, чмоки в носик

>>2641681
Что ты пытаешься сделать? Папка resources для статических файлов нужна. Если извратиться и предположить, что ты запускаешь jarник, то можно в архиве пеоезаписать файл, будет у тебя в него запись. Но юзкейс такой очень сомнительный, удаление гланд через жопу. Лучше создавай файл в отдельной директории и пиши туда
Аноним 16/03/23 Чтв 00:03:18 #566 №2641697 
Вы из-под палки все осваивали или же интерес был?
Аноним 16/03/23 Чтв 00:06:58 #567 №2641700 
>>2641697
Конечно интерес, жаба охуенная штука
Аноним 16/03/23 Чтв 00:30:51 #568 №2641709 
>>2641700
Жаба говно ебаное, просто работы на ней много
Аноним 16/03/23 Чтв 00:41:32 #569 №2641716 
>>2641709
Я в универе на старших курсах всякое пробовал, жаба больше всех понравилась. Про то, что на ней много работы уже потом узнал
Аноним 16/03/23 Чтв 00:46:20 #570 №2641718 
>>2641709
Я пробовал кроме жабы плюсы, пхп, питухон, жс, голанг. Жаба мне понравилась больше всего.
Аноним 16/03/23 Чтв 01:13:11 #571 №2641729 
>>2641697
Да, был интерес. Коммерческий интерес.
А свои пет-проекты пишу на других языках.
Аноним 16/03/23 Чтв 12:45:19 #572 №2641940 
Аноны, помогите, пожалуйста. AuthenticationFailureHandler, метод onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception). Хочу сделать редирект response.sendRedirect("/redirectPage"). Как мне добавить аттрибуты к редиректу? Можно как-нибудь получить RedirectAttributes?
Аноним 16/03/23 Чтв 13:40:00 #573 №2641979 
>>2641413
О, гляди ка - не врет. Сразу видно что вкатился. Уже проявляются первые симптомы анальника.
Аноним 16/03/23 Чтв 15:11:59 #574 №2642080 
>>2641940
Чёт нихуя не понял, это спринг mvc?
Аноним 16/03/23 Чтв 15:44:34 #575 №2642105 
>>2642080
выглядит как чистые сервлеты
Аноним 16/03/23 Чтв 17:38:26 #576 №2642246 
Использую slf4j-log4j, почему нету метода fatal() ?
Аноним 16/03/23 Чтв 17:41:53 #577 №2642252 
>>2642080
>>2642105
Короче, когда конфигурируешь SecurityFilterChain, там метод failureHandler(AuthenticationFailureHandler afh), нужно передать объект класса который имплементирует этот интерфейс и оверрайдит метод onAuthenticationFailure. Там проходит обработка зафейленной аутентификации. В параметрах два сервлета и сам экспепшен фейла. Что отреагировать на фейл ауфентикации юзается метод сервлета респонса response.sendRedirect(String location). Но делается это без аттрибутов. Мне нужно разобраться, как имся два сервлета надыбать эти аттрибуты.
Аноним 16/03/23 Чтв 18:43:36 #578 №2642332 
Как правильно делать, обрабатывать исключения внутри метода или с помощью throws выносить обработку исключения за метод ?
Аноним 16/03/23 Чтв 18:45:56 #579 №2642336 
>>2642332
прокидывать туда, где это может быть обработано. Либо выкидывать чтобы приложуха упала если это невозможно обработать
Аноним 16/03/23 Чтв 20:40:53 #580 №2642451 
А че никто не пишет, что лум в 21-й джаве уже выйдет из превьюхи и будет в релизе? Доучивайте виртуальные треды теперь. На 21-ю лтс активно покатятся. Там и паттерн матчинг для свича и виртуальные треды. Напоследок порезвитесь, пока чат-гпт 4 с работы не выкинет
Аноним 16/03/23 Чтв 20:43:05 #581 №2642453 
>>2642451
чел, мы на восьмой жабе. Продвинутые на 11
Аноним 16/03/23 Чтв 21:22:31 #582 №2642486 
>>2642332
кидать рантаймы, обрабатывать централизованно в одном месте
Аноним 16/03/23 Чтв 21:33:16 #583 №2642503 
j11.JPG
>>2642451
>>На 21-ю лтс активно покатятся.
Почему ты думаешь что ради лума станут перепрыгивать несколько лтс версий? До 2025 дотянут, а там видно будет нужен ли этот лум вообще.
Аноним 16/03/23 Чтв 21:48:07 #584 №2642518 
>>2642503
>2025
Профессии программиста уже не будет. Останутся операторы чат гпт
Аноним 16/03/23 Чтв 22:04:54 #585 №2642531 
Подскажите пожалуйста, документацию пишут только для библиотек ?
Аноним 16/03/23 Чтв 22:06:33 #586 №2642532 
>>2642531
Документацию пишут для вообще всего.
Аноним 16/03/23 Чтв 23:05:36 #587 №2642576 
>>2642451
>что лум в 21-й джаве уже выйдет из превьюхи и будет в релизе?
пруфы?
Аноним 16/03/23 Чтв 23:19:01 #588 №2642578 
>>2642576
https://openjdk.org/jeps/8303683
Аноним 16/03/23 Чтв 23:23:19 #589 №2642581 
>>2641257
Может быть проблему-то они и решили, причём, в какой-то мере элегантно (без миграций и изменений API), только суть вообще не в сборке, их решение — по сути своей костыль. Корень проблемы в монорепозалупе.
Аноним 17/03/23 Птн 01:26:23 #590 №2642661 
https://github.com/javax-inject/javax-inject
Эта хуйня еще актуальна?
Аноним 17/03/23 Птн 02:16:37 #591 №2642676 
.png
>>2642661
Актуально ли выучить за минуту пять аннотаций, полностью аналогичных спринговым?
Аноним 17/03/23 Птн 11:17:04 #592 №2642853 
>>2642676
еблан? javax в jakarta переименовали я об этом если ты не понял (тупиздень)
Аноним 17/03/23 Птн 11:28:54 #593 №2642861 
>>2642853
Ну ты и дебил блять
Аноним 17/03/23 Птн 11:32:20 #594 №2642868 
>>2642861
слыш хуйлопан, я тебя вздрючу
Аноним 17/03/23 Птн 12:34:55 #595 №2642890 
>>2640544
>я тебе вздрочу
Лол
Аноним 17/03/23 Птн 12:56:07 #596 №2642913 
>>2642868
>>2642890
Ору
Аноним 17/03/23 Птн 15:45:56 #597 №2643118 
НАХУЯ нужны комплитабл фьючеры, если в итоге всё равно надо вызывать get(), который всё останавливает?
Аноним 17/03/23 Птн 15:52:31 #598 №2643125 
>>2643118
>если в итоге всё равно надо вызывать get(), который всё останавливает
Не надо, зачем?
Аноним 17/03/23 Птн 15:57:19 #599 №2643135 
>>2643125
А данные я откуда получу? Ну создал я комплитаблфьючер, напихал туда цепочку стейджей со своими говнолямбдами. Теперь у меня есть объект фьючера, который знает про то, какой код надо выполнять. А чтобы получить данные, всё равно надо вывать get() и ждать.
Аноним 17/03/23 Птн 16:23:53 #600 №2643158 
>>2643135
Тебе надо написать функцию и вернуть ее, пускай с ожиданием ебется пользователь.

Не знаю че там в фьючерсах, но должен быть какой то .map в котором ты пишешь дальше че там тебе надо.

В webflux это выглядит примерно так

public Mono<Yoba> getYoba() {
return getAsyncHyitka()
.map(ozhidaemoeDto -> ozhidaemoeDto.getYoba())
}
Аноним 17/03/23 Птн 16:34:21 #601 №2643175 
photo2023-03-0603-19-52.jpg
>>2643158
>Тебе надо написать функцию и вернуть ее, пускай с ожиданием ебется пользователь.
В этом вся суть фьючеров ну кроме чейнинга нескольких функций? Ну писос, а я-то думал, что это ультимативное решение всех проблем мира.
Аноним 17/03/23 Птн 16:51:23 #602 №2643192 
>>2643175
Улучшается утилизация ресурсов, некоторые функции вообще могут не вызываться. Но никакой особой магии там нет.
Стоит ли ради этого переебашить весь код в процедурные портянки? Зависит от нагрузки и задач.
Аноним 17/03/23 Птн 17:01:00 #603 №2643208 
Подскажите пожалуйста, логирование писать внутри классов которые определяют поведение с каким то функционалом или там где мы этот функционал используем ?
Аноним 17/03/23 Птн 18:39:02 #604 №2643384 
>>2634365
Аноны, это правда? Работаю в вебе уже несколько лет без вышки отчислился на первом курсе, но не с джавой. Пиздец как руки опускаются после такого, когда понимаешь, что все твои скиллы и знания никому не нужны без формальности в виде корочки.
Аноним 17/03/23 Птн 18:50:56 #605 №2643395 
>>2643384
для западного барина наша "вышка" это уровня прослушанного курса в индусском "университете".
Какой-нибудь сертификат OCAJP будет весомее диплома мухгу
Аноним 17/03/23 Птн 18:54:08 #606 №2643398 
>>2643395
>сертификат OCAJP будет весомее диплома

То есть, мне можно не поступать заочно ?
Аноним 17/03/23 Птн 18:54:46 #607 №2643399 
>>2643398
А тебе сколько лет?
Аноним 17/03/23 Птн 19:01:20 #608 №2643404 
>>2643398
имеет смысл только если поступаешь в западный или какой-нибудь чешский
Аноним 17/03/23 Птн 19:02:56 #609 №2643410 
>>2643404
А если я не собираюсь на запад и хочу здесь найти работу?
Аноним 17/03/23 Птн 19:11:42 #610 №2643419 
>>2643410
You're fucked then. Хочешь работать в ниишечке, на заводе или ещё какой муниципальной залупе - диплом нужен. Другой работы не осталось, бодишопы свалили в сербии, за оставшиеся крохи сражаются мидлы и сеньоры
Аноним 17/03/23 Птн 19:42:22 #611 №2643441 
>>2643419
оптимистично...
Аноним 17/03/23 Птн 19:54:52 #612 №2643451 
>>2643384
Если в хорошем вузе реально изучаешь то, что тебе преподают, то никакой обосранный опыт веб макаки даже близко не встанет.
Аноним 17/03/23 Птн 20:07:44 #613 №2643458 
>>2643451
ну изучит он матанализ и всякие численные методы. И что с этим делать, если у него нормального формального западного образования нет?
Аноним 17/03/23 Птн 20:14:27 #614 №2643466 
https://youtu.be/lfdAwl3-X_c мысли?
Аноним 17/03/23 Птн 20:15:18 #615 №2643467 
ПОШЁЛ НАХУЙ, ЕГОР!
Аноним 17/03/23 Птн 20:21:32 #616 №2643473 
>>2643451
А если как 80% выпускников вузов ничего не изучаю и пинаю хуи?
Аноним 17/03/23 Птн 21:08:15 #617 №2643503 
>>2643208
да
Аноним 17/03/23 Птн 21:14:00 #618 №2643508 
>>2643384
Та же хуйня. Дропнул на 4 курсе. Никогда бы не подумал, что она может пригодится спустя много лет на вкате в гос шарагу, вкатился по итогу в местный мухосранский аналог ерата
И вот я уже было забил, но тут пыня начал мобилизацию и показал хуй с айтишной отсрочкой всем, у кого нет вышки.

>>Если в хорошем вузе
Таких штук 5 на страну. Да и в вузике обычно нет времени учиться, надо зачеты, лабы, курсачи сдавать.

>>2643458
Ехать на Кипр и устраиваться в геймдев какой-нибудь, где это может пригодиться.
Аноним 17/03/23 Птн 21:20:47 #619 №2643513 
>>2643410
На западе работает так:
Нет диплома = потолок по зп в N доллларов. Если это до мидла/сеньёра
Есть диплом = потолок по зп в N доллларов. Если это до мидла/сеньёра.

Все должности дальше либо заблокированы без магистратуры либо берут но там сильно урезают зп.

Кароче если ты планируешь рости выше сеньёра на западе - пойди на заочку в плохой вуз на хорошую (в плане для того чтобы вписать в резюме) специальность. И отсиди там до корочки
Аноним 17/03/23 Птн 21:34:30 #620 №2643525 
>>2643208
хз
Аноним 17/03/23 Птн 22:17:05 #621 №2643569 
обосранный анальник.jpg
>>2643467
Аноним 17/03/23 Птн 22:19:03 #622 №2643574 
image.png
>>2643569
Это дюк?
Аноним 17/03/23 Птн 23:22:26 #623 №2643680 
>>2643513
>И отсиди там до корочки
Хорошее выражение. Мясо на сковороде до корочки запекается, а скубент в универе отсиживается. По итогу шо то непробиваемая хуета, шо это.
Аноним 18/03/23 Суб 00:20:37 #624 №2643770 
>>2630717
В смысле блять создать? Ты с помощью хибера создаёшь таблицу на старте приложения? Ебать ты конченый.
Аноним 18/03/23 Суб 00:30:21 #625 №2643783 
Как создать метод который будет в аргументы принимать класс-сущность, вызывать сеттеры и помещать в них данные ?
Аноним 18/03/23 Суб 00:31:32 #626 №2643784 
>>2643770
Любители ORM все ебанутые нахуй, про миграции никогда не слышали.
Аноним 18/03/23 Суб 00:32:12 #627 №2643787 
>>2643783
Через рефлексию.
Аноним 18/03/23 Суб 00:34:10 #628 №2643790 
>>2630862
Двачую этого:
Аноним 18/03/23 Суб 00:40:04 #629 №2643798 
>>2631358
Те, кто понял жизнь, хуярят на Groovy.
Аноним 18/03/23 Суб 00:42:57 #630 №2643802 
>>2635152
Видос не смотрел, но есть же Micronaut, Quarkus, хули им этого не хватило.
Аноним 18/03/23 Суб 00:48:12 #631 №2643811 
>>2635755
Бля пацаны, вот реально, JOOQ поприятнее будет.
Его одновременно с хибером можно использовать. Более читаемо.
Аноним 18/03/23 Суб 01:22:10 #632 №2643839 
Как научиться шарить за микросервисы? Сейчас читаю всякие мурзилки и смотрю видиксы на ютубе по всяким паттернам типо circuit breaker, sidecar и тд, норм для начала? И что потом глянуть, как закончу?
Аноним 18/03/23 Суб 01:27:23 #633 №2643841 
Приведите пример какой-нибудь очень сложной тасочки, с которой вам довелось столкнуться в последнее время
Аноним 18/03/23 Суб 01:29:00 #634 №2643843 
>>2643841
Получить высшее образование.
Аноним 18/03/23 Суб 01:37:34 #635 №2643847 
>>2643843
А что в ней сложного, если ты не в топ 10 вузов учился? Я вот вообще без напряга закончил. Проебывался в общаге, пока не останется пару недель до начала сессии, потом трайхардил и снова хуй пинал. Ну мне еще с ковидом повезло правда, на удаленке закрываться было в разы проще.
Аноним 18/03/23 Суб 01:40:31 #636 №2643850 
>>2643847
Мне 30...
Аноним 18/03/23 Суб 02:00:45 #637 №2643857 
>>2643841
интегрироваться с хуйней
Аноним 18/03/23 Суб 02:02:50 #638 №2643858 
Ахуй, просто придумываешь опыт работы, и тут не только ты откликаешлся, но и тебя приглашать начинают, они что никак не проверяют трудовую, во ебланы
Аноним 18/03/23 Суб 02:03:46 #639 №2643859 
>>2643858
Кадровикам похуй что у тебя в трудовой, главное пройти отбор рекрютера и собесы, изи
Аноним 18/03/23 Суб 02:58:01 #640 №2643868 
>>2643841
Интеграция с одной из государственных систем с погружением в замечательный мир ЭЦП через Криптопро, SOAP и корпоративные шлюзы безопасности.
Аноним 18/03/23 Суб 05:16:22 #641 №2643898 
>>2643783
Какие данные?
Аноним 18/03/23 Суб 06:49:13 #642 №2643906 
>>2643841
подпись заявления не прошла из-за пропавшего сообщения в кафке. Есть только обфусцированные логи с прода по этому инциденту
Аноним 18/03/23 Суб 10:27:09 #643 №2643980 
нашел вакансию где предлагают выполнить тестовое задание а после бесплатная стажировка на 2 недели. к заданию прилагается судя по всему их документация апи на 200 страниц. пахнет каким-то наебаловом, словно хотят выполнить реальную работы чужими руками, а потом кинуть. мысли?
Аноним 18/03/23 Суб 10:43:28 #644 №2643991 
>>2643839
Ну але блять, ответьте
Аноним 18/03/23 Суб 12:19:33 #645 №2644052 
>>2643980
так и есть, скипай
Аноним 18/03/23 Суб 12:43:14 #646 №2644073 
Меня смущает использование сеттеров, но в моем случае по другому никак. Ваши мысли ?
Аноним 18/03/23 Суб 12:43:47 #647 №2644075 
>>2643991
Да.
Аноним 18/03/23 Суб 12:53:13 #648 №2644086 
>>2643787
а дженерики ?
>>2643898
String
Аноним 18/03/23 Суб 13:00:10 #649 №2644095 
>>2644073
Ну если в твоём случае реально никак, то окей. Так-то конечно иммутабельные объекты это получше, но твой кейс мы не знаем
Аноним 18/03/23 Суб 13:17:43 #650 №2644111 
>>2644075
Что значит да? Я много вопросов задал, те ответить сложно? Ты че пидр?
Аноним 18/03/23 Суб 13:32:36 #651 №2644130 
>>2644073
Если по другому никак, то это не интернал пакет, а значит все допустимо и даже поощряемо. А если интернал пакет - то ты долбоеб. Ну или у тебя упор в перформанс, а значит для тебя применяются правила не джависта, а байтоёба, и тебе тоже можно.
Аноним 18/03/23 Суб 14:44:03 #652 №2644207 
>>2644111
я тя вздрючу
Аноним 18/03/23 Суб 17:03:34 #653 №2644382 
UInR0aO8GF.png
как принято Docker и docker-compose файлы хранить? Хочу на хостовой машине запустить эту аппликуху. Значит они должны копироваться в /target рядом с джарником? И на хост копировать джарник + Docker + docker-compose.yml ?
Аноним 18/03/23 Суб 17:05:18 #654 №2644386 
>>2644382
в рут хуярь
Аноним 18/03/23 Суб 17:09:51 #655 №2644400 
>>2644386
а потом что? Оно же само не копируется ни в таргет ни в джарник
Аноним 18/03/23 Суб 17:11:04 #656 №2644404 
>>2644400
ты еблан?
Аноним 18/03/23 Суб 17:27:41 #657 №2644432 
>>2644404
ты жыд?
Аноним 18/03/23 Суб 17:28:05 #658 №2644433 
>>2644382

>И на хост копировать джарник + Docker + docker-compose.yml ?

Это - не вопрос хранения, это - вопрос дистрибуции. В простейшем случае просто заливают это все в мавен и докер репозитории, откуда их потом относительно просто скачать на хосте.

>>2644400

Докер композ тебе не нужен в джарнике. Что ты там с ним делать будешь - сам подумай?

В таргет докер композ положитть относительно просто - достаточно просто обьявить его мавен-ресурсом. В этом есть даже свои бенефиты - можно включить фильтеринг и подставлять в композ версии собранных имаджей и джарок. Но опять же - вопрос дистрибуции не ограничивается складыванием все в таргет.
Аноним 18/03/23 Суб 17:47:57 #659 №2644460 
>>2644433
может есть какой-то индустриальный стандарт, где хранить - в руте, в src/resources или в src/docker
Во всяких кубернетисах эти докер файлы достаются прямо из гита?
Аноним 18/03/23 Суб 17:55:40 #660 №2644471 
>>2644460

Стандарты есть, но не на то, на что ты ищешь.

Есть конвеншен - хранить ресурсы приложения, к которым должен быть доступ из класспафа, в src/main/resources

Есть конвеншен - складывать все, генерируемое билд-пайплайном, в таргет.

Докер композ, в зависимости от его назначения, может подпадать под разные вышеописанные категории. Например: докер композ может быть частью интегрейшн-тестов на testcontainers, и тогда его придется положить в src/test/resources, чтобы тесты потом могли его найти и стартануть. А в твоем случае этого не нужно.
Аноним 18/03/23 Суб 18:17:53 #661 №2644491 
>>2644460
докеры хранятся в докер реджистри
докеро композы в руте потому что запускаются юзером
Аноним 18/03/23 Суб 19:29:18 #662 №2644575 
UP6Ua9Fk8L.png
Ещё вопрос. Указал links, но оно всё-равно одновременно стартует. Что не так?
Аноним 18/03/23 Суб 20:02:27 #663 №2644606 
auTSP6cDL7.png
>>2644575
вобщем так помогло
sage[mailto:sage] Аноним 18/03/23 Суб 20:13:13 #664 №2644626 
Пиздуй со своим докером в нюфаг-тред, сука.
Аноним 18/03/23 Суб 20:20:00 #665 №2644628 
>>2644626
но я мидол
Аноним 18/03/23 Суб 20:20:43 #666 №2644630 
.png
Дайте идею плиз, почему maven в Idea не скачивает свой ебаный плагин из своего ебаного репозитория.
Какая же это хуйня - чувствуешь себя ебаной вэб макакой, методом тыка подбирать нужные символы в ебаном XML
Ни нормального описания ошибки ни логов процесса
Аноним 18/03/23 Суб 20:24:59 #667 №2644634 
>>2644630
у идеи можно посмотреть лог в Help -> Show Log in Explorer
Аноним 18/03/23 Суб 20:51:33 #668 №2644654 
.png
>>2644634
Спасибо, бро! В логах Идеи не совсем то, что нужно.

Вобщем, оно билдится без ошибок, но в pom'нике все равно выбрасывает ошибку, что этот плагин не найден.
Аноним 18/03/23 Суб 20:54:55 #669 №2644659 
>>2644630
Имя артифакта ему не нравится? Я тупой
Аноним 18/03/23 Суб 21:00:40 #670 №2644665 
>>2644654
попробуй посмотри в самом репозитории по этому урл, есть ли там джарник. Бывает что помник есть, а джарника нет
Аноним 18/03/23 Суб 21:35:58 #671 №2644700 
.png
>>2644665
Вроде как все есть.
Завтра продолжу разбираться, спасибо за помощь!
Аноним 19/03/23 Вск 09:07:33 #672 №2644907 
ECMA, RFC, IEEE! реально спрашивают.

Дело в том, что некоторые люди начали выдумывать опыт работы в вымышленных компаниях, чтобы обойти фильтры HR. Они создают компанию с названием DigitalAbu Inc. (США, 2-летний контракт) и таким образом обманывают фильтры HR!

Но конечно перед этим заучив все вопросы или записав себе шпаргалки : https://itvdn.com/ru/blog/article/300-devops

Я сам столкнулся с этой проблемой и не хотел принимать самозванцев в свою команду. Поэтому я начал задавать вопросы, связанные с ECMA, RFC и IEEE, а также алгоритмические вопросы, которые реально сложные и покажут мне что человек реально умеет решать задачи, а не просто зубрить как очкастая студентка.

У меня также есть ситуационные вопросы, на которые может ответить только опытный человек, то есть я описываю проблему и он говорит как ее можно было бы решить, чувак с курсов на это не ответит.

ЕБУ САМОЗВАНЦЕВ КАК МОГУ
Отчищаю рынок от мошенников

Сижу в чате лидов, так как я поступают очень многие.
Повторяю, самозванцев стало очень много, реально много.
Аноним 19/03/23 Вск 11:01:18 #673 №2644970 
>>2644907
Вас таких малый процент, мне ничего не мешает придумать опыт работы, отточить его и заучить вопросы для позиции миддла 🤫
Как получаю стабильные приглашения на собесы, так и буду получать, не имея реального опыта.
Аноним 19/03/23 Вск 12:50:53 #674 №2645017 
>>2644907
Зачем тебе тогда фильтры HR или почему ты не перепишешь фильтры HR? Ты точно лид?

Еще студенточки с плохим зрением ни за что пострадали
Аноним 19/03/23 Вск 14:17:33 #675 №2645103 
>>2644907
2 пиздабола в лице hr и меня всегда находят друг-друга
Аноним 19/03/23 Вск 14:23:42 #676 №2645112 
>>2644907
И че, много кого захайрил?
Аноним 19/03/23 Вск 14:23:59 #677 №2645113 
Где в реальных проектах происходит преобразование датастэмпа в локальное время? На сервере или пусть клиент этим занимается?
Аноним 19/03/23 Вск 15:45:07 #678 №2645195 
>>2644907
>>RFC реально спрашивают.
Ты прям так и спрашивает процитируйте мне второй пункт и рфц 228 и четвертый из рфц 1488? Не боишься что они просто загуглят на месте?
Аноним 19/03/23 Вск 15:46:39 #679 №2645198 
>>2645113
Как договоритесь с фронтом. На бэке это делается в одну строку, на фронте - не всегда с их дегенеративными фреймворками.
Аноним 19/03/23 Вск 17:20:08 #680 №2645354 
Можете посоветовать какой-нибудь задачник для тренинга всяких коллекций и прочего подобного?
Чтоб вот там была условно глава по использованию set, глава по листам, глава по map? Можно с базовыми приколами от стрингов, интеджеров и т.п..

Я читал Лафоре когда-то давным давно, ща по новой вкатываюсь, но я помню что там на протяжении половины книги автор пытался переписать ArrayList в LinkedList своими усилиями. Это немного не то что я хочу. Точнее много не то.

Я помню что одно время у вас в шапке висела ссылочка на какой-то простенький сайт с простенькими вещами (не уровня leetcode/codewars), а вот там прям главы были по стрингам, коллекциям, но простенькие задчки такие. или не у вас.
Аноним 19/03/23 Вск 17:39:07 #681 №2645394 
>>2645354
Вкат всё. Пошел на хуй.
Аноним 19/03/23 Вск 17:41:01 #682 №2645396 
>>2645394
>Вкат всё. Пошел на хуй.
нахуй иди со своими илонами масками.
Аноним 19/03/23 Вск 17:45:04 #683 №2645402 
>>2645198
Чо? В локальное время бекенда?
Аноним 19/03/23 Вск 18:26:30 #684 №2645466 
>>2645396
чел, ты новости давно читал?
1) Уход 10000 компаний из рф
2) Сокращения в топ компаниях и средних
3) 100000 вкатунов
4) ЧАТГПТ
Аноним 19/03/23 Вск 18:26:33 #685 №2645467 
>>2645354
Это? https://codingbat.com/java
Аноним 19/03/23 Вск 18:43:48 #686 №2645494 
>>2645402
Локаль клиента из сервлета достаешь и переводишь.
Аноним 19/03/23 Вск 18:44:42 #687 №2645496 
>>2645354
>глава по использованию set, глава по листам, глава по map

Это так не работает.
Аноним 19/03/23 Вск 18:47:31 #688 №2645505 
Аноны, выручите, плиз. Десериализатор в кафка-консюмере, часть кода:

typeMapper.addTrustedPackages("ru.project.eventTypes");
Map<String, Class<?>> mappings = new HashMap<>();
mappings.put("loginSuccess", LoginSuccess.class);
mappings.put("loginFailure", LoginFailure.class);

Кидает эксепшен:

Caused by: java.lang.IllegalArgumentException: The class 'loginSuccess' is not in the trusted packages: [java.util, java.lang]. If you believe this class is safe to deserialize, please provide its name. If the serialization is only done by a trusted source, you can also enable trust all (*).

Как правильно добавить все это доверенные пакеты? Путь должен быть прописан как приложении продюсере или приложении консюмере? Хотя я и так и так пробовал, но не заходит.
Аноним 19/03/23 Вск 18:52:43 #689 №2645516 
>>2645494
И откуда оно там?
Аноним 19/03/23 Вск 18:55:10 #690 №2645520 
>>2645467

дякую, это оно

>>2645466
из всего этого только илонмаск с четвертым пунктом напрягает (первые 3 пункта это цикличная политота, цикличная политота + цикличность рынка, цикличность рынка). Но и то с оговорочками. Расписывать всё лень, но у меня есть примеры из личной жизни когда подобная автоматизация потом же откатывалась на прежние позиции. Мамка на железке работает, на позиции которую можно было автоматизовать еще лет 20 назад, и таки пытались. Но потом выросла масса побочек, в итоге решили отказаться от этой идеи (и даже вернули набор в местном ведомственном мухосранском училище на ее позицию).
Поэтому смешно кажется что запросом в гпт будут писаться программки. Тот же Tabnine попробовал, вот в нем я вижу будущее - это же ведь просто сумма гугла и интеллисенса, а не индусокод, написанный бездушной программой, на которой потом вылезают баги в виде отстутсвия связей с реальностью, прежде всего ООП.
Аноним 19/03/23 Вск 18:55:15 #691 №2645521 
>>2645516
https://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getLocale()
Аноним 19/03/23 Вск 18:57:18 #692 №2645528 
>>2645521 ты долбоеб, сука, какое отношение это имеет к времени клиента?
Аноним 19/03/23 Вск 18:59:41 #693 №2645532 
>>2645466
Чатгпт разве что тебя на двощах заменит. Будет за тебя говнопасты на двощах генерить.
Аноним 19/03/23 Вск 19:01:02 #694 №2645534 
>>2645528
Потому что это и есть время клиента, которое он отправляет в хедере запроса.
Аноним 19/03/23 Вск 19:02:03 #695 №2645538 
>>2645534
Это язык клиента, кретин
Аноним 19/03/23 Вск 19:08:13 #696 №2645555 
>>2645505
Не ебись с десериализаторами, через MessageConverter это проще делается.
https://docs.spring.io/spring-kafka/docs/latest-ga/api/org/springframework/kafka/support/converter/JsonMessageConverter.html
Аноним 19/03/23 Вск 19:30:45 #697 №2645601 
>>2645555
Так я и так через него делаю. Все варианты пути испробовал танцуя с бубном, нихера не работает.
Аноним 19/03/23 Вск 19:38:39 #698 №2645619 
>>2645601
хули ты пиздишь у тебя ошибка из десериализатора а я тебе конвертер скинул
Аноним 19/03/23 Вск 19:49:09 #699 №2645638 
>>2645619
Я использую то, что ты скинул, и он все равно кидает, то, что я скопипастил.
Аноним 19/03/23 Вск 19:57:19 #700 №2645653 
Библиотеки по парсингу json как правило читают json формат и помещают их в сущность. Что делать если я НЕ ЗНАЮ блеат какие там поля в этом жесоне ? Приходит ответ от веб-сервера на 10000 символов.
Аноним 19/03/23 Вск 20:01:49 #701 №2645660 
>>2645653
Читай в мапу.
Аноним 19/03/23 Вск 20:05:57 #702 №2645666 
>>2645653
1. Тебе не нужна ентити, чтобы парсить json. Спроси у чатгпт про метод readTree в Джексоне.
2. Неизвестные поля можно игнорить при десериализации в ентити, початься с чатгпт как настроить джексон
3. json-ы можно параллельно сохранять в nosql базу - когда поймешь, какие там поля, тогда и напишешь энтити, а данные будут уже заботливо дожидаться тебя на диске. Это я в кабанчике прочитал, называется schema-on-read. Охуенно?
Аноним 19/03/23 Вск 20:20:53 #703 №2645704 
>>2645638
ну хуево используешь значит
даунам не помогаю
Аноним 19/03/23 Вск 20:21:25 #704 №2645706 
>>2645653
ебланище? маппинг это всегда отдельный этап
Аноним 19/03/23 Вск 20:25:05 #705 №2645711 
>>2645666
Классно, да.
Аноним 19/03/23 Вск 20:26:08 #706 №2645713 
>>2645653
Совсем не знаешь? Сохраняй в текст. Знаешь хотябы названия полей? Сделай поля Object
Аноним 19/03/23 Вск 20:35:40 #707 №2645734 
>>2645653
Если вы не знаете, какие поля будут присутствовать в JSON-ответе, вы можете использовать библиотеку, которая позволяет парсить JSON в древовидную структуру данных. В Java вы можете использовать библиотеку Jackson или Gson для этого.

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

Пример использования библиотеки Jackson для преобразования JSON-строки в объект JsonNode:

java
Copy code
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

// ...

String json = "{...}"; // JSON-строка
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(json);

// теперь вы можете использовать методы JsonNode для получения доступа к полям и подобъектам JSON-структуры
Вы можете использовать методы JsonNode, такие как get(), path(), elements(), fields(), чтобы получить доступ к различным элементам JSON-структуры. Например, get("field1") вернет значение поля "field1" в JSON-структуре, path("field1.field2") вернет значение поля "field2", которое находится внутри поля "field1".

Также обратите внимание, что если JSON-строка содержит массивы или объекты, вы можете использовать методы JsonNode для получения доступа к элементам массивов или подобъектов. Например, get(0) вернет первый элемент массива, а get("subobject") вернет подобъект с именем "subobject".

Надеюсь, это поможет вам разобраться с парсингом JSON-ответов в Java, когда вы не знаете заранее, какие поля будут присутствовать.
Аноним 19/03/23 Вск 21:06:13 #708 №2645809 
Мама сказала парсинг делают только шлюхи и пидоры.
Аноним 19/03/23 Вск 21:16:47 #709 №2645834 
>>2645809
Ты пидор, а твоя мама шлюха.
Аноним 19/03/23 Вск 21:38:21 #710 №2645871 
>>2645704
Подскажи как правильно. Как тогда заместо десериализатора использовать? Как его нахрен отключить из пропертиз? Напиши, плиз, как правильно.
Аноним 19/03/23 Вск 21:53:02 #711 №2645900 
>>2645871
Чел, тебя троллят.
Аноним 19/03/23 Вск 22:13:41 #712 №2645936 
>>2645871
читай мурзилки направление я тебе дал
Аноним 19/03/23 Вск 22:43:53 #713 №2645976 
lwjgl vs android ?
Аноним 19/03/23 Вск 22:50:08 #714 №2645981 
>>2645976
Нет.
Аноним 19/03/23 Вск 23:35:21 #715 №2646014 
>>2645976
Да
Аноним 19/03/23 Вск 23:44:22 #716 №2646020 
>>2646014
>>2645981
Пизды ответ.
Аноним 19/03/23 Вск 23:58:01 #717 №2646032 
>>2646020
я тя вздрючу
Аноним 20/03/23 Пнд 00:15:13 #718 №2646045 
Как при переходе на страницу /test/select отобразить содержимое файла ?
Аноним 20/03/23 Пнд 03:05:57 #719 №2646125 
>>2646045
Написать для этого логику
Аноним 20/03/23 Пнд 05:05:43 #720 №2646162 
>>2646045
Какую страницу
Где переход
Какой переход
Какой файл
Что значит отобразить
Аноним 20/03/23 Пнд 07:21:08 #721 №2646197 
>>2645734
Это как beatiful soup?
Фу, блять, меня чуть не вырвало от флешбэка
Мимо другой анон
Аноним 20/03/23 Пнд 15:26:05 #722 №2646597 
В какой папке вообще должно быть тестирование? Спринг инишалайзир создает отдельный папку test, там нихуя не получается протестировать, так оно не автоварит ApplicationContext. Если пытаться с главной папке сделать, то там не работают тестовые аннотации. Как правльно все сделать?
Аноним 20/03/23 Пнд 16:28:11 #723 №2646650 
>>2645113
А зачем в реальном проекте нужен таймстемп? Чем он лучше человекочитаемого формата?
Аноним 20/03/23 Пнд 16:30:10 #724 №2646656 
>>2630498 (OP)
Стоит пет для портфолио делать реактивным?
Аноним 20/03/23 Пнд 16:34:32 #725 №2646663 
>>2646656
Нет.
Аноним 20/03/23 Пнд 17:29:25 #726 №2646732 
>>2646656
Реактивный пет клиник? Пожалей собачек
Аноним 20/03/23 Пнд 17:41:30 #727 №2646753 
>>2646650
Хотя бы тем, что можно форматировать в различные временные зоны, в зависимости от ситуации.
Аноним 20/03/23 Пнд 18:03:30 #728 №2646776 
>>2646753
что тебе мешает делать так же с датой?
Аноним 20/03/23 Пнд 18:23:50 #729 №2646807 
>>2646776
Date это и есть таймстэмп.
Аноним 20/03/23 Пнд 19:06:19 #730 №2646859 
>>2646807
Не Date, а OfsetDateTime.
Аноним 20/03/23 Пнд 20:01:39 #731 №2646946 
Можно использовать нижнее подчеркивание в названии переменной, класса или метода ?
Аноним 20/03/23 Пнд 20:10:14 #732 №2646954 
nc.JPG
>>2646946
https://www.oracle.com/technetwork/java/codeconventions-150003.pdf
Аноним 20/03/23 Пнд 20:13:00 #733 №2646960 
>>2646946
Нет, даже если выглядит как говно.
Аноним 20/03/23 Пнд 20:24:32 #734 №2646969 
>>2646946
Можно. Но только никому не показывай.
Аноним 20/03/23 Пнд 22:01:59 #735 №2647073 
Интересно, чтобы получить работу нужен опыт. Если не опыта - ссылку на гитхаб с проектом. При этом от блогов и парсеров все ебало воротят. Что в итоге? Неделями сидеть придумывать идею, чтобы ушлые пидоры взяли за 50 тыщ работать? Так я же в бекенд пытаюсь, нахуя мне фронт? Инди игру говорят сделай, на мобилки, хуею блять.
Аноним 20/03/23 Пнд 22:03:43 #736 №2647079 
>>2647073
Больше местных "экспертов" слушай, они и не такого насоветуют.
Аноним 20/03/23 Пнд 22:12:16 #737 №2647090 
>>2647079
Так тут дело не в местных экспертах, а в ситуации. По итогу выясняется, что нужно быть до кучи креативным менеджером, разработчиком игр, тестировщиком, фронтэндером и маэстро минета. Чето дохуя движений ради минимального выхлопа.
Аноним 20/03/23 Пнд 22:19:38 #738 №2647095 
>>2647073
Что делать, если нужно дать ссылку на гитхаб, а на гитхаб 13 репозиториев ?
Аноним 20/03/23 Пнд 22:27:35 #739 №2647111 
>>2647095
скрой лишние
Аноним 20/03/23 Пнд 23:15:49 #740 №2647151 
Кто стажировку в яндексе проходил, расскажите какого это, пройти собесы эти ебучие, и что делали у них стажером, в итоге давали оффер? Могли не джуна дать, а повыше, хз какие у них градайии
Аноним 21/03/23 Втр 05:11:20 #741 №2647238 
>>2647073
Скоро на собесах оператор ChatGPT будет проверять, за сколько вопросов можно сгенерить твой пет. Если меньше 10 - ты пойдёшь нахуй
Аноним 21/03/23 Втр 14:27:57 #742 №2647564 
>>2630528
Ну на счет того, что во всем лучше, я не согласен, хотя да, во многом действительно лучше.

Смысл Джавы и спринга в том, что:
1. На них дохуя всего написано (Джава раньше шарпа появилась)
2. Дохуя программистов (Прям пиздец как много, в разы больше чем шарпистов-.Netчиков)
3. Простота входа (Java проще шарпа, просто потому что меньше фичей)
4. Хорошая совместимость в Linux платформой, а значит сервера дешевле (Шарпы не так давно смогли в совместимость с Linux, с выходом .Net Core да и то пока что херовенько, а покупка винды для серваков - такая себе затея: 1. Дорого, 2. Мало специалистов => Дорого)
5. С джавы существующему проекту проще перейти на Kotlin или Scala, чем на C#
6. Открытость. В джаву правки предлагать может все сообщество, а C# это игрушка майкрософт и как они там решат, так и будет

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





>>2630528
Аноним 21/03/23 Втр 15:49:28 #743 №2647672 
image.png
image.png
Дали тестовое на джуна пик1. Вкратце, нужно реализовать онлайн магазин на микросервисах. Я начал с построения архитектуры, на пик2 то, что получилось. Опустил сервис организаций, тк лепить уже некуда. Есть мысли или замечания какие-то по поводу архитектуры? Кажется, будто хуйню какую-то сделал...
Аноним 21/03/23 Втр 16:06:59 #744 №2647692 
>>2647672
я бы им сказал что онлайн магазин надо делать на монотиле и не играть в гугл
Аноним 21/03/23 Втр 16:12:21 #745 №2647696 
>>2647692
Да на это задание еще и дедлайн 4 дня, хз даже, успею ли. Монолит сделать конечно было б в разы проще.
Аноним 21/03/23 Втр 16:13:29 #746 №2647699 
>>2647696
это задача на пару месяцев для хорошего мидла
Аноним 21/03/23 Втр 16:19:36 #747 №2647708 
>>2647672
Это еще секьюрити вешать надо будет на апи гейтвей и жсон токен парсить что ли
Аноним 21/03/23 Втр 16:23:50 #748 №2647714 
>>2647699
Я думаю, тут можно много допущений сделать и над кодом особо не потеть. Надо только выстроить взаимодействия и представить в голове, как это должно работать. Хотя я хз, количество микросервисов, которые у меня вышли конечно пугает, тоже кажется, что как-то дохуя всего. Значит, слать их куда подальше?
Аноним 21/03/23 Втр 16:28:50 #749 №2647721 
>>2647714
"напишите api". Видимо это только пустые контроллеры со сваггером.

Но тут слишком много и слишком много непонятного. Я бы забил. И от микросервисов меня воротит
Аноним 21/03/23 Втр 16:31:00 #750 №2647726 
>>2647708
Ну по идее да, я правда вынес сервис, отвечающий за авторизацию и выдачу токенов, отдельно. Слышал, что зачастую это делают прям в гейтвее, но чет решил как на картинке сделать.
Аноним 21/03/23 Втр 16:36:23 #751 №2647731 
>>2647721
Ну в таком случае секьюрити конфигурить все равно же нужно будет?
Аноним 21/03/23 Втр 16:43:24 #752 №2647739 
>>2647726
>>2647721
Там еще в конце написано «СУБД использовать PostgreSQL. Однако, API не должен быть привязан к конкретной СУБД». Так что, скорее всего, там не только свагер нужен.
Аноним 21/03/23 Втр 16:57:33 #753 №2647762 
>>2647739
Это что ли свой инстанс постгреса на каждый микросервис разворачивать?
Микросервисную архитектуру придумали больные люди, канеш.
Аноним 21/03/23 Втр 17:03:21 #754 №2647767 
>>2647762
у меня компутер по ресурсам не выдержит 6 постгресов и 6 жаб
Аноним 21/03/23 Втр 17:03:46 #755 №2647769 
>>2647762
Ну походу, насколько я слышал, делать расшеренный инстанс между несколькими сервисами - хуйня идея.
Аноним 21/03/23 Втр 17:36:41 #756 №2647799 
>>2647672
>напишите API простого магазина

А шизоуебище побежало за 4 дня поднимать стартап с 6 постресами.
Аноним 21/03/23 Втр 17:43:03 #757 №2647806 
>>2647799
>>2647739
Ты совсем долбоеб?
Аноним 21/03/23 Втр 18:03:57 #758 №2647818 
>>2647806
Ой умора блядь я щас обосрусь нахуй от смеха
Аноним 21/03/23 Втр 18:08:10 #759 №2647826 
>>2647818
Нахуя там постгрес, если только контроллеры со свагером нужны, шиз ебаный?
Аноним 21/03/23 Втр 18:15:57 #760 №2647839 
>>2647699
вот до чего прогресс дошел. а еще каких-то 15 лет назад на фриланс.ру на создание онлайн-магазина под ключ давали 10 дней и 300 баксов.
Аноним 21/03/23 Втр 18:18:11 #761 №2647842 
>>2647839
берёшь cms интернет-магазина
@
настраиваешь
@
получаешь свои 300 баксов

Одинэсники тоже не с нуля каждое предприятие делают
Аноним 21/03/23 Втр 18:22:29 #762 №2647850 
>>2647839
Так и сейчас можно по-быстрому набросать простенький магазин даже без знания фреймворков. Просто использовать конструкторы какие-то, картинки, шрифты поменять и готово. Уверен, что на жс с фреймворками, это тоже достаточно быстро можно написать. Просто это не будут микросервисы.
Аноним 21/03/23 Втр 18:23:11 #763 №2647853 
>>2647842
ну знаешь ли.

берешь спринг
@
настраиваешь
@
получаешь 3000 баксов
Аноним 21/03/23 Втр 18:24:43 #764 №2647857 
>>2647853
И нихуя не работает
Аноним 21/03/23 Втр 18:27:17 #765 №2647859 
>>2647672
>Кажется, будто хуйню какую-то сделал...

Картинка норм. Но так то ты еще нихуя не сделал, чтобы оценку давать. Такую же картинку ты бы мог откуда нить с интернета спиздить - это самая типовая дженериковая микросервисная архитектура.
Аноним 21/03/23 Втр 18:28:49 #766 №2647860 
>>2647853
берёшь спринг
@
так, нужно прочитать 300 страничное тз и спроектировать бд и интерфейсы
@
на это уходит пара тройка месяцев
@
осталось всё это реализовать
@
на это ещё пара лет минимум
Аноним 21/03/23 Втр 18:31:18 #767 №2647867 
>>2647859
>>2647672
И кстати, а в тестовом тебя разве просили строить микросервисную архитектуру? Вроде речь идет только об API
Аноним 21/03/23 Втр 18:31:55 #768 №2647869 
>>2647857
ну это уже тестировщики виноваты, не оттестировали вовремя хорошо. ну и на железо как всегда бабла зажали
Аноним 21/03/23 Втр 18:38:00 #769 №2647876 
>>2647762
>Микросервисную архитектуру придумали больные люди, канеш.
ну а если серьезно, как это говно до сих пор не сдохло и кто-то всерьез еще строит приложения под эту шизоидную концепцию?

помню на каком-то древнем хайлоаде, еще в самом начале хайпа этой параши кто-то из архитекторов крупняка сказал что по суммарному опыту на микросервисаы нужно переходить если у вас в команде не меньше пятисот технарей, если меньше то просто нет смысла.
Аноним 21/03/23 Втр 18:40:27 #770 №2647880 
>>2647762
>Это что ли свой инстанс постгреса на каждый микросервис разворачивать?

Это какой шиз придумал?

>Микросервисную архитектуру придумали больные люди, канеш.

Не. Больные люди ее распространили.

Программисты - они как крысы. Во имя галочки в резюме распространят любую болезнь.
Аноним 21/03/23 Втр 18:41:03 #771 №2647884 
>>2647859
> еще нихуя не сделал, чтобы оценку давать
А когда можно будет давать? Я ж по сути хотел для начала определиться с архитектурой, а следующим шагом уже идти и реализовывать это все.

> Такую же картинку ты бы мог откуда нить с интернета спиздить
Ну я не пиздил, всю эту хуйню сам в редакторе нарисовал. Само собой, я уже видел что-то подобное в интернете, так что можно сказать, что сделал по аналогии.
Аноним 21/03/23 Втр 18:43:56 #772 №2647888 
image.png
>>2647867
Просто фулл тестовое не уместилось на скрине, но я же об этом упомянул в первом сообщении.

На пикрил то, что не уместилось.
Аноним 21/03/23 Втр 18:47:56 #773 №2647896 
>>2647888
>API должен быть написан с помощью микросервисной архитектуры
дом труба шатал. Что за чурки писали
Как с помощью микросервисной архитектуры можно писать api. Что вообще означает "написать api"?
Аноним 21/03/23 Втр 18:53:22 #774 №2647900 
>>2647884
>Я ж по сути хотел для начала определиться с архитектурой

Так нету ж нихуя. Где какие сущности? Где какие схемы данных? Где какие бизнес-функции (кто из сервисов что умеет делать)? Что, как, куда и когда по кафке гонять будешь? Как будешь обеспечивать консистентность всего этого? Вот это вот еще можно оценивать. А картинка - ну красивая, че.
Аноним 21/03/23 Втр 19:11:35 #775 №2647915 
>>2647672
Они там чё, охуели совсем?
Аноним 21/03/23 Втр 19:15:37 #776 №2647918 
>>2647900
Ну схемы, какими они должны быть, в тз же есть. Что примерно должен уметь каждый сервис - тоже. А насчет кафки, я изначально задумывал, что у меня будут ссылки в отзывах на определенный товар или в ордерах будет ссылка на юзера, который их сделал, с помощью кафки сервисы будут слушать изменения и, допустим, при удалении товара, удалять и отзывы на него. Что именно по кафке будет гоняться хз, как будто мне там и стринги хватит.
Аноним 21/03/23 Втр 19:20:02 #777 №2647921 
>>2647915
Рыночек порешал. Тут наверное подразумевается, что надо с помощью чатжпт сделать. Тогда мб за 4 дня можно и успеть.
Аноним 21/03/23 Втр 19:34:30 #778 №2647930 
>>2647921
Ты охуел? Какие нахуй 4 дня сука? Насколько нужно быть опущенным хуесосом, чтобы выполнять тестовые длиннее 30 минут?
Аноним 21/03/23 Втр 19:35:03 #779 №2647931 
>>2645505
spring.kafka.consumer.properties.spring.json.trusted.packages=*
или
spring.kafka.consumer.properties.spring.json.trusted.packages=org.example в котором лежит LoginSuccess
Аноним 21/03/23 Втр 19:37:45 #780 №2647933 
>>2647930
Апи за полчаса как раз и пишется.
Аноним 21/03/23 Втр 19:42:06 #781 №2647934 
>>2647933
Хуесос, ты так и не ответил, зачем там постгрес нужен?
Аноним 21/03/23 Втр 20:57:27 #782 №2648028 
>>2647564
>>Java проще шарпа
>>просто потому что меньше фичей
Нет, шарпомух, не по этому.
Фич в джаве больше чем в шарпе, только они не в базовом пакете лежат, а раскиданы по либам. можно сказать что и котлин - плагин для джавы, его можно подключать и использовать в уже готовом проекте
В джаве есть спринг с запуском любой магии волшебной аннотацией, а в шарпе такого нет и придется ебаться с настройкой любой ебалы самостоятельно.
Аноним 21/03/23 Втр 21:00:20 #783 №2648033 
Представляю что там на сеньку
Аноним 21/03/23 Втр 21:24:50 #784 №2648061 
Микросервисные пацаны, у вас хелм чарты рядом с джава кодом лежат или нет?
Аноним 21/03/23 Втр 21:38:16 #785 №2648070 
>>2648061
в отдельной репе
Аноним 21/03/23 Втр 21:46:11 #786 №2648078 
>>2648070
Типа для каждого микросервиса по две репы? Или одна общая со всеми чартами?
Аноним 21/03/23 Втр 21:50:44 #787 №2648085 
У нас только один микросервис. Примерно на 1.5кк строчек кода. А вместо кубера юзается вебсфера.
Аноним 21/03/23 Втр 21:52:03 #788 №2648087 
>>2648085
>А вместо кубера юзается вебсфера.
Так это просто две разные реализации JavaEE сервера приложений.
Аноним 21/03/23 Втр 21:55:43 #789 №2648093 
>>2648078
Микросервисы в 1-й репе, чарты - во 2-й.
Аноним 21/03/23 Втр 21:56:36 #790 №2648094 
>>2648093
Монорепа? Вы ебанутые что ли?
Аноним 21/03/23 Втр 22:41:19 #791 №2648151 
>>2648094
Ну не я принимал решение о хранении, но для разработки удобнее, чем ебаться с десятком репозиториев.
Да и монорепа это вроде 1 репа на все проекты/команды, у нас только наши микросервисы. У соседней команды своя репа с ее сервисами в рамках того же проекта.
Аноним 22/03/23 Срд 04:22:06 #792 №2648308 
>>2648151
Пиздец...............................
Аноним 22/03/23 Срд 06:00:14 #793 №2648332 
>>2648308
Как это выглядит с отдельными репами на каждый микросервис? Делаешь по 5 МР на каждую таску?
Аноним 22/03/23 Срд 06:04:50 #794 №2648334 
> Виртуальные потоки, которые появились в Java 19, продолжают оставаться в статусе Preview API (предлагается финализировать их в Java 21). Изменений API, связанных с проектом Loom, в этом релизе нет
АХАХАХАХАХАХХАХАХАХАХАЗХАХЗАХАХАХАХХАХАХАХАХАХАХАХА
Аноним 22/03/23 Срд 08:06:50 #795 №2648368 
>>2648332
Да, и?
Аноним 22/03/23 Срд 09:05:44 #796 №2648388 
Есть какая-нибудь принципиальная разница между тем как ты автоваришь, над полем класса, над конструктором, перед аргументом конструктора? Почему идея ругается когда прямиком в поле инжектишь?
Аноним 22/03/23 Срд 09:21:08 #797 №2648392 
>>2647672
Аноны - олдфаги, скажите, на джунов всегда такие тестовые давали? Лет 6 назад вкатун сошел на собес, ему аналогичное требовали сделать? Или это реалии современного рыночка?
Аноним 22/03/23 Срд 09:58:48 #798 №2648405 
>>2648332
Да.
Аноним 22/03/23 Срд 10:04:41 #799 №2648410 
>>2647672
Братишка, мне кажется ты заоверинжинирил и получилась хуйня
Аноним 22/03/23 Срд 11:33:51 #800 №2648468 
>>2648410
А где именно оверинженеринг? Что поменять?
Аноним 22/03/23 Срд 11:39:34 #801 №2648476 
>>2648388
Тесты как писать будешь?
Как будешь мокать зависимости?
Аноним 22/03/23 Срд 11:53:04 #802 №2648491 
>>2648476
Я еще тесты не проходил, лол. Скоро закончу пет, и начну изучать как его тестировать.
Аноним 22/03/23 Срд 12:05:55 #803 №2648503 
>>2648476
Не понял, а что мешает написать тесты, если у тебя филд инжекшн? Есть же @mockbean или @injectmocks, можно с помощью них сделать моками филды
Аноним 22/03/23 Срд 12:35:41 #804 №2648531 
>>2648476
Тесты не нужны. Хороший код тестирования и комментариев не требует.
Аноним 22/03/23 Срд 12:35:47 #805 №2648532 
>>2648476
мохито через рефлексию умеет подставлять моки в приватные поля
Аноним 22/03/23 Срд 12:44:24 #806 №2648545 
>>2648388
Мне на собесе кабан говорил, что там какое-то преимущество есть в конструктор инжекшн, связанное с циркулярными зависимостями. Не помню точно, че он там говорил, но вроде, если у тебя происходит инжект в конструкторе, то циркулярные зависимости недопустимы в принципе.
Аноним 22/03/23 Срд 13:18:17 #807 №2648584 
>>2648545
Да, хочешь циклические зависимости - ебашь автоваир в поле, по другому - никак.
Аноним 22/03/23 Срд 13:24:17 #808 №2648587 
ser1.png
ser2.png
ser3.png
>>2648545
чот не сработало
Аноним 22/03/23 Срд 13:29:32 #809 №2648592 
>>2648587
>если у тебя происходит инжект в конструкторе, то циркулярные зависимости недопустимы в принципе
Что не сработало?
Аноним 22/03/23 Срд 13:36:44 #810 №2648605 
2023-03-2215-35-54.png
Я написал замену петухлину. И вот ради вот этой хуйни весь этот кошмар был затеян?
Аноним 22/03/23 Срд 13:46:52 #811 №2648622 
>>2648605
там для этого достаточно вопросик поставить. Ну и этим сахарок котлина не заканчивается, мне почему-то запомнилась возможность создания дата классов и добавление дефолтных значений для конструктора, но я очень поверхностно смотрел котлин, уверен, там еще приколы какие-то есть.
Аноним 22/03/23 Срд 13:47:52 #812 №2648624 
>>2648592
типа если будет через поля, то спринг разрулит циркулярные зависимости и это плохо?
Аноним 22/03/23 Срд 13:52:36 #813 №2648633 
image.png
>>2648624
Ну типа. Если еще проперти поставишь, что допускаются такие зависимости, тогда через филды спринг разрулит, а через конструктор - нет. А чем плохи такие зависимости, чатгопота пишет: пикрил
Аноним 22/03/23 Срд 14:05:02 #814 №2648647 
>>2647672
Мне кажется можно просто сделать гейтвей, аус сервис, стор сервис, нотификейшн сервис без всяких кафок. Всё что связано с магазином, товарами, покупателями в монолит. Микросервисы соблюдены, ебалы меньше. Но задание всё равно объемное какое-то. Такое ощущение, что из-за вкатунопокалипсиса галера хочет найти джуна с навыками миддла за 30 тысяч.
Аноним 22/03/23 Срд 14:06:59 #815 №2648649 
>>2648647
>за 30 тысяч.
угадал низ указанной вилки)
Аноним 22/03/23 Срд 14:08:43 #816 №2648652 
У меня только что хибернейтовский CrudRepository перестал удалять. Я нихуя абсолютно не менял, чтобы это произошло. Пол часа назад все работало, и внезапно такое. Ни под каким методом ничего не удаляет из бд. БД постгрес. В чем вообще дело может быть? Я вообще ничего не понимаю лол.
Аноним 22/03/23 Срд 14:10:24 #817 №2648653 
>>2648652
сделал транзакцию ридонли может. Или начало что-то падать в транзакции и транзакция откатывается
Аноним 22/03/23 Срд 14:14:56 #818 №2648659 
>>2648647
>Мне кажется можно просто сделать гейтвей, аус сервис, стор сервис, нотификейшн сервис без всяких кафок.

Да ладно, нихуя себе
На вторые сутки до тебя дошло, чел.
Аноним 22/03/23 Срд 14:14:57 #819 №2648660 
>>2648653
Стоит аннотация @Transcational, так как в энтити одно поле @Lob. Но я абсолютно ничего не менял. И то, что еще недавно работало, просто не работает. Причем другие энтити, которые методы удаляния которых также помечены как транзакшионал, работают прекрасно. Даже все таблицы из бд удалил и заново заполнин, нихера.
Аноним 22/03/23 Срд 14:17:44 #820 №2648663 
>>2648659
Ну у тебя, долбоеба, на проекте все так и работает, я не сомневаюсь.
Аноним 22/03/23 Срд 14:20:39 #821 №2648667 
>>2648663
Более того, скорее всего там только гейтвей и нужен.
Аноним 22/03/23 Срд 14:25:58 #822 №2648678 
>>2648660
попробвуй включи вывод в лог всех запросов и попробуй нати твой DELETE FROM
Аноним 22/03/23 Срд 14:27:03 #823 №2648681 
>>2648647
>Такое ощущение, что из-за вкатунопокалипсиса галера хочет найти джуна с навыками миддла за 30 тысяч.

А таковы реалии рынка и есть. Если контора и берет к себе вкатуна, то это должен быть вкатыш-вундеркинд. 100500 откликов на вакансию позволяют им подобным образом охуевать.
Аноним 22/03/23 Срд 14:30:21 #824 №2648690 
>>2648503
Я про юнит тесты.
Аноним 22/03/23 Срд 14:32:02 #825 №2648694 
>>2648690
А почему тест с @injectmocks не юнит тест?
Аноним 22/03/23 Срд 14:35:02 #826 №2648699 
>>2648678
Лог в консоль есть. Видны все sql кроме делетов из этой таблицы.
Аноним 22/03/23 Срд 14:35:21 #827 №2648701 
>>2647860
>>на это ещё пара лет минимум
Если за это плятят хотя бы пару сотыг в месяц, в чем проблема?
Аноним 22/03/23 Срд 14:46:10 #828 №2648714 
>>2648653
>>2648678
>>2648652
Короче, вспомнил, что поставил у родительской энтити FetchType.Eager. И из-за этого перестало удалять. Хуй знает почему это так, но я убрал эту eager, и все норм (благо оно оказлось мне вообще не нужно).

Как вообще удалять когда этот фетчтайп стоит? Вилкой вручныю каждый раз и родительской энтити сначала убрать, только потом удалять через репо? Пиздец конечно.
Аноним 22/03/23 Срд 16:53:42 #829 №2648830 
>>2648647
А юзер сервис тут точно не нужен?
Аноним 22/03/23 Срд 18:16:59 #830 №2648946 
>>2648830
Тут всё тестовое нахуй не нужно. Тестовое либо на максимум полчаса даётся и условие пишется нормально, либо оплачивается. Либо гарантируется трудоустройство после него. А тут скорее всего его никто даже читать не будет.
Аноним 22/03/23 Срд 18:22:07 #831 №2648957 
Есть два объекта. В объекте А вызываются методы объекта В.
Как узнать какие методы объекта А вызываются? Причем не в рантайме, а которые просто есть в коде, декларированы.
Как такое через рефлексию сделать?
Аноним 22/03/23 Срд 18:24:35 #832 №2648965 
>>2648957
Вероятно Вам смогут помочь шаблоны проектирования "Декоратор" и "Заместитель"
Аноним 22/03/23 Срд 18:33:14 #833 №2648984 
>>2648965
А если объект А создается внутри объекта В через спринговый контекст?
Аноним 22/03/23 Срд 19:14:44 #834 №2649059 
>>2648984
Переписывать так, чтобы спринг не использовался, а объекты были элегантными.
Аноним 22/03/23 Срд 19:16:00 #835 №2649060 
>>2649059
А. Ну спасибо большое. Пошел переписывать.
Аноним 22/03/23 Срд 19:24:33 #836 №2649067 
>>2649060
Обращайся.
Аноним 22/03/23 Срд 19:30:51 #837 №2649080 
Уже 30 резюме отправлено, ответили только 2 компании. Это нормально ? Или может у меня резюме неправильное ?
Фио
Должность
Скиллы
Образование
О себе
:/
Аноним 22/03/23 Срд 19:33:30 #838 №2649087 
>>2643787
Это как ?
Аноним 22/03/23 Срд 19:36:04 #839 №2649090 
>>2649080
айти индустрия находится в процессе клинической смерти.
https://habr.com/ru/news/t/724094/
Половина вакансий фейковые, как минимум. В резюме нужно быть волчистым и рисовать себе 5 лет опыта минимум. Пиздеть как не в себя. Но в любом случае перспектив тут никаких
Аноним 22/03/23 Срд 20:13:20 #840 №2649132 
>>2649080
Может у тебя опыт неинтересный или с гэпами? Или ты там каждый год прыгал по вакансиям?
Аноним 22/03/23 Срд 20:42:45 #841 №2649154 
>>2648388
Да, читай мурзилки, там про это есть.
Аноним 22/03/23 Срд 20:58:34 #842 №2649165 
.png
>>2649087
Аноним 22/03/23 Срд 21:01:19 #843 №2649167 
Через неделю выхожу на первую работу. Как подготовиться к этому моменту, чтоб потом обойтись без тупняков? Мб пока время есть, начать в чем-то разбираться, где часто поначалу спотыкаются? Или может наоборот хуй забить и наслаждаться последними днями, когда я не вынужден потеть над тасочками для кабанчика?
Аноним 22/03/23 Срд 21:05:26 #844 №2649173 
>>2649167
Побрей хуй и яйцы и сделай ональную клизму.
Аноним 22/03/23 Срд 21:08:50 #845 №2649176 
>>2649167
Быстро ты 6 микросервисов поднял
Аноним 22/03/23 Срд 21:10:44 #846 №2649179 
>>2649176
7 вообще-то
Аноним 22/03/23 Срд 22:57:46 #847 №2649335 
>>2649176
>6 микросервисов поднял
место в галере потерял
Аноним 22/03/23 Срд 23:45:33 #848 №2649414 
>>2649165
Вау, спасибо.
Аноним 22/03/23 Срд 23:48:00 #849 №2649419 
Если я создам ссылку типа StringBuilder например в поле класса, могу ли я несколько раз использовать ссылку в разных методах ?
Или для каждого метода своя ссылка типа StringBuilder ?
Аноним 22/03/23 Срд 23:57:58 #850 №2649437 
>>2649419
Кому как нравится.
Аноним 23/03/23 Чтв 00:08:23 #851 №2649444 
>>2649419
Можешь.
Аноним 23/03/23 Чтв 00:17:39 #852 №2649447 
>>2649444
А как же выделение памяти, например я вызову несколько методов этого класса которые использую эту переменную ?
Аноним 23/03/23 Чтв 00:50:13 #853 №2649466 
>>2649447
Для чего это тебе?
Предполагается, что при обращении к одной ссылке разные методы в один и тот же объект будут записывать общие данные: первый метод что-то записал в StringBuilder, второй добавил, третий ещё что-то добавил. Если надо, чтобы методы работали независимо с разными объектами, надо создавать отдельные ссылки. Если надеешься сэкономить память, создавая только одну ссылку, брось эту затею.
Аноним 23/03/23 Чтв 03:13:46 #854 №2649553 
>>2648652
А у меня это говно перестало апдейтить, вызываешь save на существующей записи и оно создаёт новую. Это с обновлением на spring boot 3/Hibernate 6 так стало и непонятно как чинить
Аноним 23/03/23 Чтв 10:56:43 #855 №2649718 
>>2648633
ваще циклические зависимости - это практически всегда косяк в архитектуре. они не нужны. нарушение третей нормальной формы, как сказали бы в соседнем треде.
Аноним 23/03/23 Чтв 11:15:11 #856 №2649758 
>>2649718
сервису заказов надо отправлять сообщения, а сервису сообщений нужен последний заказ юзера. Что делать?
Аноним 23/03/23 Чтв 12:25:26 #857 №2649849 
Распределенные зависимости это миф?
Аноним 23/03/23 Чтв 13:21:55 #858 №2649911 
>>2649849
Что такое распределенные зависимости?
Аноним 23/03/23 Чтв 13:24:13 #859 №2649916 
>>2649911
Хахаха повелся,я тебя затролила ахаххкхкхах
Аноним 23/03/23 Чтв 13:26:26 #860 №2649921 
>>2649758
>сервису заказов надо отправлять сообщения, а сервису сообщений нужен последний заказ юзера

Сначала, разбираться, почему так получилось.

В общем случае, любая цикличная зависимость разрешается одним из двух способов:
1. Либо инверсия зависимости (выделается какой то третий компонент, через который развязывается цикл)
2. Либо мердж этих двух штук в одну.

Как конкретно в этом случае поступить, надо смотреть. У меня например, первый вопрос который возникает, это "с какой стати сервису сообщений нужны заказы юзеров".
Аноним 23/03/23 Чтв 13:34:29 #861 №2649926 
>>2649921
>"с какой стати сервису сообщений нужны заказы юзеров".
требование что если у юзера есть заказ - добавлять в сообщение информацию о его статусе
Аноним 23/03/23 Чтв 13:40:31 #862 №2649932 
https://www.infoq.com/news/2023/03/collections-framework-makeover/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java
АХУЕТЬ
Аноним 23/03/23 Чтв 13:42:10 #863 №2649933 
>>2649926
А что вообще такое у тебя "сервис сообщений"? Какую роль он выполняет?

В моем представлении, он должен выполнять инфраструктурную роль посылки уже кем то сформированного сообщения по тем каналам связи, которые он поддерживает. Тогда и дилемма отпадает сама собой - пусть это требование выполняет тот сервис, кто формирует текст сообщения (сервис заказов).
Аноним 23/03/23 Чтв 13:43:22 #864 №2649937 
>>2649926
Ну можно наверное сделать какой-нибудь мессадж постпроцессор, который потом настроит дефолт сообщение в соответствии с требованиями
Аноним 23/03/23 Чтв 13:45:29 #865 №2649944 
>>2649932
Да ну нахуй. Интерфейсы коллекций - параша полная, их бы по совести с нуля переписать давно пора. Сделали бы Collection API 3.0, с явной поддержкой иммутабельности/персистентности. И не поверю что не могут из-за обратной совместимости: когда то же состоялся переход от векторов и Hashtable в сторону текущих Collection API.
Аноним 23/03/23 Чтв 13:49:07 #866 №2649955 
>>2649944
Тут SortedSet::addFirst будут кидать эксепшен, вполне вероятно, что началась ментальная гимнастика, которая приведет к тому, что у иммутабл коллекций будет падать метод add
Аноним 23/03/23 Чтв 13:52:48 #867 №2649965 
>>2649955
Так он и так падает щас. Не суть. Суть в том, что у иммутабельных коллекций в интерфейсе вообще не должно быть метода add.
Аноним 23/03/23 Чтв 14:13:51 #868 №2649991 
Кто-то из анонов было дело писал в треде, что к стандартному спринговому тестрированию лучше добавить еще одну депенденси. Как она называется, напомните, testContainers вроде?
Аноним 23/03/23 Чтв 16:02:53 #869 №2650122 
не пынямаю. если чекед исключения - это норма, которые нужно обрабатывать и вызывать, то анчекед - это ошибки, которые не нужно обрабатывать, а нужно исправлять. тогда для чего я могу расширять класс RuntimeException, создавая свое исключение, если в этом нет смысла? и почему я так же могу вызвать например throw new IllegalArgumentException()?
Аноним 23/03/23 Чтв 16:22:24 #870 №2650138 
>>2647672
Попытался еще поспрашивать по поводу этого тестового у эйчарки. Говорит, что прям это все надо реализовать, то есть анон, который предположил относительно простой генерации апишки свагером, не угадал. Спросил, сколько микросервисов вообще ожидают на выходе, ответ: сложно сказать. Короче мутная какая-то хуетень, скипаю нахуй. В чем я не прав?
Аноним 23/03/23 Чтв 16:22:57 #871 №2650139 
>>2650122
Чекед эксепшены - легаси, которое хуй знает почему до сих пор не выпилили.
Аноним 23/03/23 Чтв 16:28:22 #872 №2650143 
>>2650138
прав
Аноним 23/03/23 Чтв 16:29:25 #873 №2650146 
>>2650122
>чекед исключения - это норма

Это очень спорное утверждение. Я, например, так не считаю. Чекед эксепшены в реалиях джавы - полная шляпа. Они становятся лютым геморроем когда дело доходит до лямбд. Еще, они имеют тенденцию просачивания в интерфейсы и засирания API бессмысленной инфой.

Забавен также тот факт, что на уровне рантайма всем похуй на тип эксепшена - они там все анчекед. Ушлые люди этим пользуются, и наебывают компилятор всякими SneakyThrows'ами из ломбока.
Аноним 23/03/23 Чтв 16:29:35 #874 №2650147 
>>2650139
почему легаси?
Я знаю что очень вероятно будет генерироваться эксепшен, и я хочу чтобы пользователь либы не забыл обработать этот эксепшен
Аноним 23/03/23 Чтв 16:38:45 #875 №2650159 
>>2650147
И пользователь из-за выработанной годами привычки поймает его, обернёт в RuntimeException и кинет дальше.
Аноним 23/03/23 Чтв 16:41:18 #876 №2650163 
>>2650147
>>почему легаси?
Заставляет писать код в стиле жава 7. С циклами, трайкечами и прочее поеботой из нулевых.

>>я хочу чтобы пользователь либы не забыл обработать этот эксепшен
Ты просто заставляешь его писать тра-кетч, не более. Если захочет - обработает. Задокументируй лучше подробнее, чтоб пользователь понимал когда прилетает эксепшен
Аноним 23/03/23 Чтв 16:52:20 #877 №2650184 
>>2650146
>>2650139
90 IQ анальники тут как тут.
Аноним 23/03/23 Чтв 16:52:36 #878 №2650185 
>>2650163
>>2650159
итого единственная причина - неудобно с новомодными лямбдами?
Аноним 23/03/23 Чтв 16:53:50 #879 №2650186 
>>2650185
Нет, просто это слегка более заумная вещь, чем способен вытянуть мозг анальника.
Аноним 23/03/23 Чтв 16:54:37 #880 №2650188 
>>2650163
> Задокументируй лучше подробнее
А потом забываешь один из 500 постулатов документации и встречаешь дебаг в 3 часа ночи.
Аноним 23/03/23 Чтв 17:00:14 #881 №2650196 
>>2650184
блин чел вижу ты умный. можешь мне ответить? сюда >>2650122
я не пониманию что и когда мне использовать, exception или runtime exception
Аноним 23/03/23 Чтв 17:00:30 #882 №2650197 
>>2650184
>>2650186
Написал пустой кетч и почувствовал себя гением наебавшим систему?
Аноним 23/03/23 Чтв 17:02:56 #883 №2650199 
>>2650197
Пустой кетч — моветон. Исключение в любом случае надо обрабатывать, либо утвердить, что оно не должно вылетать, повесив @SneakyThrows.
Аноним 23/03/23 Чтв 17:06:39 #884 №2650202 
@SneakyThrows
Аноним 23/03/23 Чтв 17:12:41 #885 №2650208 
>>2650196
Чекен и анчекед эксепшены, хоть, по виду и очень похожи, являются фактически совершенно разными конструкциями.

Непроверяемое исключение — это ошибка в работе программы. Программа прерывает своё выполнение в этом случае и просит разработчика решить проблему.

Проверяемое исключение — это форма ветвления. Это невероятно мощный инструмент, который фактически представляет из себя множественный возврат. С помощью него создаётся точка, в которой исполнение программы расходится кардинально. Можно использовать эту штуку по-разному, но, всё же, лучше использовать в соответствии с семантическим значением конструкции — для обработки исключительных ситуаций, которые выбиваются из нормального хода программы, но, при этом, всё ещё являются нормой, при которой программа должна продолжить работу в штатном режиме.
Аноним 23/03/23 Чтв 17:20:18 #886 №2650212 
>>2649758
>Что делать?
ну тут очевидно что нужно менять профессию
Аноним 23/03/23 Чтв 17:21:42 #887 №2650214 
>>2650184
Разумеется. Ты же пришел.
Аноним 23/03/23 Чтв 17:24:47 #888 №2650218 
>>2649932
>АХУЕТЬ
добавление пары никому ненужных коллекций к существуующему зоопарку стоит таких эмоций?
Аноним 23/03/23 Чтв 17:26:31 #889 №2650220 
>>2650146
>Я, например, так не считаю.
также как и создатели самой жавы. это всеми признаный архитектурный проёб который к сожалению нельзя уже никак исправить.
Аноним 23/03/23 Чтв 17:28:19 #890 №2650221 
>>2650208
>Проверяемое исключение — это форма ветвления

Хуево быть тобой, хули.

Всем еще десять лет назад было ясно, что экесепшены для контрол флоу - моветон ебаный. Не говоря уже о том, что в реалиях джавы это еще и дорого - собирать ебаный стектрейс только для того чтоб ветвиться. С этим мирятся только в веб серверах, где ради ошибки прерывать процесс тупо нельзя. Ну в тестах еще. Все.

Но даже если на это забить - в реалиях джавы чекед эксепшены все равно хуйня из за лямбд и стримов, которые превращаются либо в трай-кэтч месиво, либо сники-throws-лицемерие. И я еще не говорю про просачивание чекед эксепшенов в интерфейсы - такие концепции говнокодер типа тебя скорее всего даже и не осмыслит.
Аноним 23/03/23 Чтв 17:30:34 #891 №2650229 
>>2650208
>Чекен и анчекед эксепшены, хоть, по виду и очень похожи, являются фактически совершенно разными конструкциями.
срыв покровов итт
Аноним 23/03/23 Чтв 17:31:40 #892 №2650235 
изображение.png
изображение.png
изображение.png
>>2650208
>Непроверяемое исключение — это ошибка в работе программы. Программа прерывает своё выполнение в этом случае и просит разработчика решить проблему.
ну вот в книжке написано, что вызывать через throw new NullPointerException() не надо, потому что это ошибка, которую программист должен не допускать. т.е. как я понимаю, если я хочу обращаться к методам объекта, то мне надо сначала проверить что-то типа if (obj != null) obj.getSomething(), а не вызывать эти методы в try/catch и не отлавливать их. соответственно, исходя из этого, я не понимаю в каких случаях я должен создавать свое исключение extends RuntimeException, если я их не должен отлавливать, а должен не допускать в принципе? т.е. какой смысл вообще наследоваться от RuntimeException мне?

в той же книжке даже пример приводят на основе Exception. книга если что java полное руководство шилдт 12 издание
Аноним 23/03/23 Чтв 17:32:07 #893 №2650236 
>>2650220
>к сожалению нельзя уже никак исправить.

ИМХО конкретно этот проеб исправить относительно просто. Как поломается обратная совместимость, если просто перестать их чекать? В рантайме они и так все анчекед.
Аноним 23/03/23 Чтв 17:36:13 #894 №2650247 
>>2650235
по сути разницы нет, кидаешь ты стандартный RuntimeException или наследованный от него. Но с особым MySpecialRuntimeException появляется возможность отловить только его, что в общем может понадобиться
Аноним 23/03/23 Чтв 17:39:46 #895 №2650262 
>>2650247
да не в этом вопрос... бля, я что не понятно объясняю? КАК Я ПОНЯЛ Я ВООБЩЕ НЕ ДОЛЖЕН ВЫПУСКАТЬ RUNTIME ЭКСЕПШЕНЫ, ПОТОМУ ЧТО Я ИХ ДОЛЖЕН НЕ ДОПУСКАТЬ В ПРИНЦИПЕ

если это действительно так, то для чего есть эта возможность, как и наследоваться от RuntimeException?
Аноним 23/03/23 Чтв 17:44:38 #896 №2650276 
>>2650262
Почему?

BudgetNeSwedenException ты можешь сделать как рантайм так и чекед эксепшеном
Аноним 23/03/23 Чтв 17:48:49 #897 №2650283 
>>2650276
С не пойманными рантайм эксепшенами хорошо сочетается респонскод 200 ОК.
Аноним 23/03/23 Чтв 17:49:42 #898 №2650285 
>>2650221
Моветон, потому что в умной книжке от Анальника Аналыча так сказано?
Аноним 23/03/23 Чтв 17:50:07 #899 №2650286 
>>2650214
Стрелочка от анальника, ведь ни на что другое он не способен.
Аноним 23/03/23 Чтв 17:50:21 #900 №2650288 
>>2650283
если ты его поймал - значит приложуха не упала и способна отвечать и работать дальше, значит 200
Аноним 23/03/23 Чтв 17:50:29 #901 №2650289 
>>2650236
ну основной тезис, как я понимаю, в том, что потребуется смена парадигмы программирования, пусть и в локальном масштабе. то есть сейчас эксепшены, как сказано выше, используются как механизм ветвления. эдакий ifelse только через жопу. когда эти эксепшены только внедрялись там под них пиздец какая идеология подводилась в противовес сишным кодам ошибок. типа сделаем удобнее, быстрее, лучше, блаблабла.

по итогу оказалось что сишный способ возвращать код ошибок как результат процедуры проще и удобнее в разы чем этот эксепшный оверинжиниринг. но выкинуть его просто так нельзя, так как эта хуйня - часть идеологии языка
Аноним 23/03/23 Чтв 17:51:15 #902 №2650292 
>>2650235
Наследование непроверяемых исключений нужно только для семантики. Чтобы залезть в консоль и увидеть, что ты долбоеб и ввёл неправильный токен от АПИ, а не мистический RuntimeException по любому поводу.
Аноним 23/03/23 Чтв 17:52:28 #903 №2650294 
изображение.png
>>2650276
могу! но нахуя, если мне шилдт говорит, что я должен предотвращать появление runtime эксепшинов, а не выкидывать их и обрабатывать? написал код, куда уж нагляднее? глядя на этот пик приходит мысль зачем вообще наследоваться и создавать свои runtime эксепшены, если их надо попросту НЕ ДОПУСКАТЬ В ПРОГРАММЕ?
Аноним 23/03/23 Чтв 17:54:12 #904 №2650298 
>>2650294
что за бред. Программа должна работать корректно. Если это невозможно - кидаешь эксепшен.
Возвращать некорректный результат только из-за нежелания кидать эксепшен - это неправлиьно
Аноним 23/03/23 Чтв 17:54:12 #905 №2650299 
>>2650289
>эдакий ifelse только через жопу.
Не через жопу, во многих случаях это правильнее, а иногда без них вообще никак. If/else в контексте небезопасного инпута это префиксная обработка, а исключение — постфиксная.
Аноним 23/03/23 Чтв 17:54:36 #906 №2650302 
>>2650294
Если у тебя 10 — инпут, то 1 — правильнее.
Аноним 23/03/23 Чтв 17:55:41 #907 №2650305 
>>2650302
Ой блядь, не 10, а переменная "а".
Аноним 23/03/23 Чтв 17:55:46 #908 №2650306 
>>2650294
ну так и есть, писать код вообще без самописных эксепшенов - вполне себе хорошая практика. относись к эксепшенам как к неудачному эксперименту при разработке языка и старайся их использование свести к минимуму
Аноним 23/03/23 Чтв 17:56:22 #909 №2650308 
>>2650306
>>2650294
Ты нахуя сам с собой разговариваешь, дурик?
Аноним 23/03/23 Чтв 17:57:46 #910 №2650312 
>>2650299
>Не через жопу, во многих случаях это правильнее, а иногда без них вообще никак.
как же сишка без эксепшенов работает, магия наверно.
Аноним 23/03/23 Чтв 17:58:24 #911 №2650316 
>>2650312
А ассемблер-то как работает!
Аноним 23/03/23 Чтв 17:59:33 #912 №2650320 
>>2650294
>>2650235

а все, я долбаеб, он говорил про throws, а не throw...... т.е. для runtime эксепшенов не обязательно явно их прокидывать выше для дальнейшей обработки
Аноним 23/03/23 Чтв 18:00:18 #913 №2650322 
>>2650316
как сишка
Аноним 23/03/23 Чтв 18:05:44 #914 №2650331 
>>2650294
ну кстати твой пик вполне показателен.
у тебя блоки кода нихуя не равнозначны, и это одна из основных преензий к эксепшенам. если во втором случае ты впоне конкретно обрабываешь ситуацию деления на ноль то в первом случае ты обрабатываешь неведомую хуйню, то есть он у тебя может упасть и когда ты на ноль поделишь, а может упасть когда ты код на хитромудром процессоре с необычной архитектурой запустишь и у него там регистров не хватит для вычисления твоего деления. и если вдуматься то это пиздец. в жаве так то мало мест где можно стрелять себе в ногу - и это одно из них.
Аноним 23/03/23 Чтв 18:06:44 #915 №2650334 
>>2650331
Почему ты продолжаешь гореть и разговаривать сам с собой?
Аноним 23/03/23 Чтв 18:07:35 #916 №2650337 
go.png
>>2650312
>>без эксепшенов работает
го доказал что эксепшены не нужны
Аноним 23/03/23 Чтв 18:07:58 #917 №2650338 
изображение.png
http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA_%D0%B8_%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F&mobileaction=toggle_view_desktop

ну вот написано тоже самое... я запутался бля... вот взять пример практический, пришли в контроллер параметры запроса, как мне их проверять? выкидывать и обрабатывать исключения и отсылать ответ этого исключения? или вообще без исключений напрямую как-то обрабатывать и отсылать ответ?
Аноним 23/03/23 Чтв 18:11:24 #918 №2650345 
>>2650289
>эксепшены, как сказано выше, используются как механизм ветвления. эдакий ifelse только через жопу.

Ну вот я не понимаю, откуда нахуй взялась вот эта вот всратая идея, что делать контрол флоу эксекпшенами, это чем то лучше и чище, чем делать контрол флоу с помощью goto?

>по итогу оказалось что сишный способ возвращать код ошибок как результат процедуры

Мы ж не в 90х щас вроде живем. Есть способы и подескриптивней. Верни опшенал. Или затащи из ФП какой нить аналог Either/Maybe.
Аноним 23/03/23 Чтв 18:12:54 #919 №2650350 
>>2650331
причем это изначально подавалось как ахуеть какой плюс, типа безопасный код, даже если регистров не хватит мы все равно ошибку поймаем. но на практике это вылилось в мегабайты непонятных стактрейсов ведущих в никуда и рождению принципа fail fast, который абсолютная противоположность тому подходу, который декларируется концепцией эксепшнов
Аноним 23/03/23 Чтв 18:13:14 #920 №2650351 
>>2650334
съеби
Аноним 23/03/23 Чтв 18:13:52 #921 №2650352 
>>2650294
>но нахуя, если мне шилдт говорит, что я должен предотвращать появление runtime эксепшинов, а не выкидывать их и обрабатывать

Относись к этому так: рантайм эксекпшен - это косяк по вине твоей, как разработчика. В этом смысле ты действительно должен избегать их появления в рантайме. Но это не значит что ты не можешь обьявить и использовать парочку рантайм эксепшенов для самопроверки.
Аноним 23/03/23 Чтв 18:14:25 #922 №2650355 
scale1200.webp
>>2650351
>съеби
Аноним 23/03/23 Чтв 18:16:02 #923 №2650357 
>>2650338
>>пришли в контроллер параметры запроса, как мне их проверять?
ValidationApi
>>пвыкидывать и обрабатывать исключения и отсылать ответ этого исключения?
Они сами все выкинут, но если хочешь свое сообщение написать - перехватываешь в своем эксепшен хендлере валидейшЭксепшн и выдаешь свой текст.
Аноним 23/03/23 Чтв 18:16:39 #924 №2650359 
>>2650338
если валидация не прошла - выкидываешь свой чекед BusinessException, ловишь его в контроллере, в случае реста выдаешь на выходе что-то типа

200
{
code: BusinessException
message: Budget ne sweden
}
Аноним 23/03/23 Чтв 18:17:13 #925 №2650361 
>>2650345
>Мы ж не в 90х щас вроде живем.
ты то может и не живешь, но ноги этой концепции прям оттуда и ты пожинаешь ее плоды. просто в свое время была охуеть какая дискуссия на тему того что обработка ошибок в сишке говно и как нам ее решить, и эксепшены родились (точнее массово распространились) как раз в результате этой дискуссии.
Аноним 23/03/23 Чтв 18:18:53 #926 №2650366 
>>2650359
>если валидация не прошла - выкидываешь свой чекед BusinessException, ловишь его в контроллере, в случае реста выдаешь на выходе что-то типа
>
вот вот, о чем и речь, то же самое сишное возвращение кода ошибки, только через жопу
Аноним 23/03/23 Чтв 18:21:43 #927 №2650368 
>>2650361
Кек, интересно.

А у тебя часом не осталось хвостов на эту дискуссию? Я б почитал.
Аноним 23/03/23 Чтв 18:21:46 #928 №2650369 
>>2650366
не нужно руками прокидывать твой код ответа функции по всему стеку вызовов.
Аноним 23/03/23 Чтв 18:24:30 #929 №2650374 
>>2650369
ну так у тебя чекед эксепшн же, ну будешь не код ошибки прокидывать а декларацию throws в описании метода, какая разница
Аноним 23/03/23 Чтв 18:24:46 #930 №2650375 
изображение.png
изображение.png
изображение.png
>>2650359
>>2650357
>>2650352

ну вот я так писал на спринге. он сам перехватывал этот эксепшн и отправлял клиенту. в этой ситуации разве это ошибка программиста? сомневаюсь, это наоборот обработка ошибок пользователей, но ведь это runtime эксепшн все равно
Аноним 23/03/23 Чтв 18:28:04 #931 №2650380 
>>2650368
>А у тебя часом не осталось хвостов на эту дискуссию? Я б почитал.
в ранних книгах по яве это было обязательной главой, так как там был именно запрос на перевод программистов с си на яву и эти темы (чем ява лучше си и с++) полно освещались. они по сути и писались как учебник для тех кто решил сменить си/плюсы на яву. можешь поискать что-нибудь из книг года выпуска эдак 1996-1998.
Аноним 23/03/23 Чтв 18:28:23 #932 №2650381 
>>2650375
Спринг, это как правило веб-сервер. А стопать процесс вебсервера из-за эксепшена == получить стопяцот недовольных хомяков, которые не смогли провести свои транзакции и точат вилы чтобы ими тебя выебать. Там тупо выхода другого нет.

Поэтому вместо этого спринг отдает код 500, который на НТТП-языке означает литералли то же самое - "реквест провалился из-за того, что Васян на сервер-сайде - долбоеб".
Аноним 23/03/23 Чтв 18:31:22 #933 №2650387 
>>2650381
500 должно означать что сервер помер. Ошибка валидации это явно нормальная работа и сервер не помер. Значит 200
Аноним 23/03/23 Чтв 18:34:50 #934 №2650388 
>>2650375
Кинопоиск кун, ты живой)
Аноним 23/03/23 Чтв 18:35:26 #935 №2650390 
>>2650380
вот показательный текст 1989 года.
http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/tech_reports/SRC-RR-40.pdf

тут на первых трех страницах приводятся доводы который потом можно было прочесть в любой книжке по яве
Аноним 23/03/23 Чтв 18:44:26 #936 №2650397 
>>2650387
Это уже нюансы. В спринге ты добавляешь эксепшн хендлеры и в них сам решаешь, как маппить эксепшены на транспорт. И это кстати еще одна причина почему обьявлять рантайм эксепшены может понадобиться: спринг их различает по типу.

Или ты можешь пересесть полностью на чекед эксепшены. Но тогда тебе еще придется по всему стеку вызовов прокидывать руками бессмысленные throws-декларации, или как местный шиз рекомендует - контрол флоуить. А спрингу один хер похер - какие эксепшены маппить.
Аноним 23/03/23 Чтв 18:47:27 #937 №2650399 
Что такое ранее и позднее связывание ?
Аноним 23/03/23 Чтв 18:53:11 #938 №2650405 
>>2650381
Валидация это 400, хуйня не найдена - 404, ошибка по бизнес хуйне 417.
А 500 - да, либо вася долбоеб и НПЕ не учел или все наебнулося по какой то причине.
Аноним 23/03/23 Чтв 18:58:44 #939 №2650406 
200.png
>>2650405
>хуйня не найдена - 404
here we are. 404 это приложуха не найдена
Аноним 23/03/23 Чтв 19:05:24 #940 №2650416 
>>2650399
То, чего в джаве нет.
Аноним 23/03/23 Чтв 19:05:31 #941 №2650417 
>>2650406
Дежурно напоминаю

ДВУХСОТКА-ДОДИК ЗАКАЗАЛ СЕБЕ ДОДОПИЦЦУ
@
ПИЦЦУ ПРИНЕСЛИ, НА КОРОБКЕ ФИРМЕННАЯ НАКЛЕЙКА "Я ПРОВЕРИЛ, ВСЁ ХОРОШО"
@
ДВУХСОТКАДОДИК ОТКРЫЛ КОРОБКУ, А ТАМ ГОВНО
@
В ГОВНЕ ТОРЧИТ ЗАПИСОЧКА "409 MESYA4NII BALANS NE SWEDEN"
@
ОХУЕВШИЙ ЗВОНИТ В ПОДДЕРЖКУ
@
НУ ВЫ ЖЕ ПОНИМАЕТЕ, ЧТО НАКЛЕЙКА ОТНОСИТСЯ ТОЛЬКО К ВНЕШНЕМУ ВИДУ КОРОБКИ
@
МЫ ЖЕ НЕ МОЖЕМ СМЕШИВАТЬ КУЛИНАРНЫЙ, УПАКОВОЧНЫЙ И ДОСТАВОЧНЫЙ ПРОТОКОЛЫ
@
ГОВНО В КОРОБКЕ ЗАКЕШИРОВАЛОСЬ
@
ТЕПЕРЬ ДАЖЕ ПРИ ОТДАЧЕ ПИЦЦЫ В ПИЦЦЕРИИ ДВУХСОТКА-ДОДИКУ БУДЕТ ПРИЕЗЖАТЬ ГОВНО В КОРОБКЕ БЛИЖАЙШИЕ 4 ЧАСА
Аноним 23/03/23 Чтв 19:08:23 #942 №2650420 
>>2650417
ВСЕ ЗАПРОСЫ ЧЕРЕЗ POST
@
НИКАКОГО КЕШИРОВАНИЯ
@
PROBLEMS WEREN'T
Аноним 23/03/23 Чтв 19:11:32 #943 №2650423 
>>2650399
аааа дошло...
Аноним 23/03/23 Чтв 19:11:54 #944 №2650424 
>>2650416
Как-бы есть.
Аноним 23/03/23 Чтв 20:20:37 #945 №2650475 
.png
Это филиал бугурт-треда?
Аноним 23/03/23 Чтв 23:53:10 #946 №2650742 
Для тестов можно обойтись System.out.println() ? Или лучше использовать Slf4j-Log4j ?
Аноним 24/03/23 Птн 00:06:50 #947 №2650750 
>>2650742
Да.
Аноним 24/03/23 Птн 00:25:42 #948 №2650766 
>>2650742
Тесты не нужны вообще. Если ты хороший программист, то сразу пишешь хороший и понятный код.
Аноним 24/03/23 Птн 00:26:14 #949 №2650767 
>>2650742
Лучше логгером, можно всё таки разделять levelы, фильтровать, может пригодится
Аноним 24/03/23 Птн 00:26:46 #950 №2650768 
>>2650766
Щас бы в 2к23 не знать про no code
Аноним 24/03/23 Птн 00:38:35 #951 №2650777 
>>2650742
java.util.logging
Аноним 24/03/23 Птн 02:00:15 #952 №2650825 
>>2650766
Нет, нужны. Никто не пишет сразу без багов.
Аноним 24/03/23 Птн 04:41:06 #953 №2650850 
>>2650742
ни то ни то, нахуй в тестах вообще какие-то логи
Аноним 24/03/23 Птн 04:45:37 #954 №2650851 
>>2650742
в Assertions есть параметр message - тебе туда
Аноним 24/03/23 Птн 05:05:01 #955 №2650854 
>>2650742
Тесты нужны только в компаниях уровня Гугла.
Ты — гугл?
Аноним 24/03/23 Птн 07:48:45 #956 №2650897 
>>2650854
тесты и комментарии нужны только если у тебя говнокод. У тебя говнокод? Тогда пиши тесты и комментарии
Аноним 24/03/23 Птн 10:47:06 #957 №2650975 
Аноны, вот отсюда вопрос:

https://www.baeldung.com/spring-boot-testing

mvc.perform(get("/api/employees")
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(jsonPath("$", hasSize(1)))
.andExpect(jsonPath("$[0].name", is(alex.getName())));

Вот этим статик методы get, status, jsonpath, они вообще откуда? Что импортировать нужно что заработало?
Аноним 24/03/23 Птн 12:51:34 #958 №2651079 
>>2650975
В балдуенге есть ссылки всегда на гитхаб с исходниками, там и посмотри импорты
Аноним 24/03/23 Птн 13:53:33 #959 №2651122 
Udp - легаси, вопросы?
Аноним 24/03/23 Птн 14:26:04 #960 №2651160 
>>2651079
Спасибо, очень полезно, пригодится не только в этой ситуации, я думаю.
Аноним 24/03/23 Птн 14:41:24 #961 №2651178 
>>2651122
Сам не гамаешь - другим не мешай.
Аноним 24/03/23 Птн 14:56:56 #962 №2651210 
>>2651122
В реализации jdk - да
Аноним 24/03/23 Птн 15:21:01 #963 №2651243 
>>2650359
>>2650387
Вы что пидорасы человеку советуете? Чекед экспепшоны писать, 200 при ошибке, охуеть

Значит выдаю базу
- Чекед эксепшены нахуй не надо использовать, по факту рудимент. Unchecked используются в 99 процентах случаев, особенно для бизнес логики.
- После того как ты создал свой unchecked exception ты пишешь для него обработчик отдельный, в случае спринга это controller advice.
- 200 возвращается при успешном выполении запроса. НИКОГДА сука нельзя отвечать 200 и в теле писать текст ошибки. Http status codes для кого придумали?
Аноним 24/03/23 Птн 15:26:17 #964 №2651246 
>>2651243
>Http status codes для кого придумали?
явно не для ручного задавания и попыток выразить ими бизнес-логику
Аноним 24/03/23 Птн 15:32:29 #965 №2651252 
>>2650122
Не слушай быдло выше, он наверное пару месяцев отработал на говногалере и уже возомнил себя крудошлепом. Еще хорошей практикой является обработка эксепшенов, которые ероры. Только их очень сложно отловить, поэтому лучше по возможности все методы оборачивать в трайкеч и там уже что-то с ними делать, допустим выводить инфу об ероре в систем аут.
Аноним 24/03/23 Птн 15:43:50 #966 №2651263 
>>2651246
Посмотри любой паблик апи, тот же самый github api. Они в зависимости от сценария могут и 200 отдать, могут 204, могут 304, 201, 422, дохуя. В прицнипе я соглашусь, что так много может быть и не нужно (смотря как в команде договоритесь), но остальные ваши советы это пиздец, даже джуны уже знают лучше
Аноним 24/03/23 Птн 15:56:37 #967 №2651274 
2ch.png
2ch2.png
>>2651263
знать и я знаю, ещё я знаю что это очередные идеологи опять поднасрали и высрали свою шизу, которую зафорсили на всяких хабрах.
Если у тебя что-то сложнее http странички, то поверх накладывается свой бизнес-протокол со своими собственными ошибками. С http кодами они ну никак не бьются.

Скажи мне учоный в говне моченый, если мониторинг детектит 500 ответ, надо ли слать алерт и поднимать админа?
Аноним 24/03/23 Птн 16:05:31 #968 №2651284 
>>2651274
Не смешивай сущности. Ребята выше обсуждали rest over http который предполагает использование http status codes. Если вы городите свои велосипеды или rpc то пожалуйста, но не надо новичкам рассказывать, что в ресте нормально возвращать ошибку в 200ке, это вредно

По поводу 500ок, ну тут зависит опять же от кейса, но у нас вот настроен мониторинг на % 5xx
Аноним 24/03/23 Птн 16:07:58 #969 №2651287 
Как отправить через MockMVC следующий объект:

class articleDTO {
private String headline;
private String content;
private MultipartFile imageFile;
}

В если в imageFile поставить MockMultipartFile, то он не переделывается в жсон, и следовательно нельзя добавить через content(String body). Как решить это?
Аноним 24/03/23 Птн 16:19:32 #970 №2651300 
>>2651284
рест это и есть форс. Недостижимый идеал, который даже теоретически недостижим и непонятен. Исходит из ложной идеи что все это объект, и у объекта может быть только 4 действия (круд).
Для веб-странички это применимо. Для ресурса типа картинки - тоже. Если что-то сложнее, какой-нибудь там бюджет, то у бюджета гораздо больше возможных действий.
HTTP изначально и создавался ради веб-страничек и картинок, для этого он хорошо подходит. Это уже потом где-то в десятых появился форс что http надо натягивать вместо бизнес-протокола. До сих пор страдаем

Предположим в коде случился рандомный RuntimeException, спринг это смаппил на http 500. Это аварийная ситуация? Ты бы хотел чтобы тебя в ночи будили из-за попытки тёти вали поделить на ноль?
Аноним 24/03/23 Птн 17:29:40 #971 №2651415 
>>2651300
>и у объекта может быть только 4 действия (круд).
Я тебе щас страшную вещь скажу, но все, что сложнее этих 4 операций - это отдельная сущность.
Аноним 24/03/23 Птн 17:35:29 #972 №2651426 
>>2651415
Нет.
Аноним 24/03/23 Птн 17:42:24 #973 №2651437 
>>2651415
а вот и попытка натянуть сову на глобус. Попытка всё сделать объектами с 4 операциями
Аноним 24/03/23 Птн 17:54:17 #974 №2651455 
>>2651437
Ой, а что, в ООП как-то иначе должно быть?
>>2651426
Ты пидор.
Аноним 24/03/23 Птн 17:58:39 #975 №2651459 
>>2651455
ооп не существует. В программировании глаголы (методы, функции), а не объекты с 4 действиями

"Распечатать отчёт" как ты через рест будешь делать?
"Распечатка отчета, создать"?
Аноним 24/03/23 Птн 18:01:25 #976 №2651466 
>>2651459
Где он должен распечататься?
Аноним 24/03/23 Птн 18:02:15 #977 №2651468 
>>2651466
на принтере
Аноним 24/03/23 Птн 18:02:40 #978 №2651469 
>>2651468
На каком из?
Аноним 24/03/23 Птн 18:08:12 #979 №2651482 
>>2651469
Пользователь нажимает "Напечатать" и у него открывается новое окно с pdf
Аноним 24/03/23 Птн 18:09:00 #980 №2651486 
image.png
>>2651482
Вопрос не снят.
Аноним 24/03/23 Птн 18:26:23 #981 №2651521 
>>2651459
GET /cgi-bin/reports.fcgi?action=printreport&reporttype=kassovaya_kniga&knigaid=44736
Аноним 24/03/23 Птн 18:36:05 #982 №2651530 
>>2651521
perfect
Аноним 24/03/23 Птн 19:58:46 #983 №2651613 
>>2651300
>у объекта может быть только 4 действия (круд).

Кстати говоря, это нихуя не так. Если пройтись по определениям и гайдам по REST, ни в одном из них не будет ни слова про круд. Из 6 констрейнов, которые приписывают рестам, нет ни одного, сводящего API к этим 4 операциям:

https://restfulapi.net/rest-architectural-constraints/

REST и CRUD - две абсолютно не зависящие друг от друга вещи. REST не обязан быть CRUDом так же, как CRUD - RESTом.
Аноним 24/03/23 Птн 20:28:50 #984 №2651649 
>>2651459
ООП не существует только в твой скудной голове, аналиэ.
Аноним 24/03/23 Птн 20:33:57 #985 №2651655 
Рест только для обмена данными, долбоебы.
Аноним 24/03/23 Птн 20:46:03 #986 №2651667 
>>2651613
>REST и CRUD - две абсолютно не зависящие друг от друга вещи. REST не обязан быть CRUDом так же, как CRUD - RESTом.
Обязан, так как >>2651655.
Аноним 24/03/23 Птн 21:17:57 #987 №2651684 
>>2651613
если есть существительное, с которым можно только
PUT create
GET read
POST update
DELETE delete

где ещё взять операций?
Аноним 24/03/23 Птн 22:12:10 #988 №2651737 
POST /api/anon/2651655/jopa

["hui"]
Аноним 24/03/23 Птн 22:16:19 #989 №2651740 
>>2651737
Натягивание совы на глобус. Рест не предназначен для этого.
Аноним 24/03/23 Птн 22:17:09 #990 №2651742 
POST /api/anon/>>2651740/jopa

["hui"]
Аноним 25/03/23 Суб 00:26:07 #991 №2651812 
>>2651210
Пидорас,я тебе ебальник то проломлю
Аноним 25/03/23 Суб 00:27:00 #992 №2651813 
Кто-нибудь использовал спринговский mail sender? Хули так долго? Одно письмо в две строчки отправляется секунд 10,а если их сотню надо отправить,это же ебануться можно
Аноним 25/03/23 Суб 01:41:01 #993 №2651861 
>>2651813
Это ебанутые протоколы. Это больше задержка, чем непосредственно время, потраченное на отправку. Отправляй каждое новое письмо новым потоком просто.
Аноним 25/03/23 Суб 08:01:30 #994 №2651952 
>>2651861
> отправляй потоком
Это как?
Аноним 25/03/23 Суб 09:43:31 #995 №2652012 
>>2651952
new Thread(() -> this.sendEmail("[email protected]", "mamku ebal)0)0))))")).start();
Аноним 25/03/23 Суб 09:47:13 #996 №2652015 
>>2651813
Все нормально работает, у тебя что-то сломано в конфигурации
Аноним 25/03/23 Суб 09:48:18 #997 №2652018 
>>2651861
Никаких протоколов «тупить 10 секунд» не существует
Аноним 25/03/23 Суб 09:51:48 #998 №2652021 
>>2652015
Покеж свои конфигурацию
Аноним 25/03/23 Суб 10:08:53 #999 №2652037 
>>2652018
Ты не поверишь...
Аноним 25/03/23 Суб 10:56:29 #1000 №2652085 
>>2651287
Аноны, ну подскажите, плиз. До сих пор не могу решить.
Аноним 25/03/23 Суб 11:12:30 #1001 №2652098 
В Java 20 выпилили instanceof Point point
Аноним 25/03/23 Суб 11:18:21 #1002 №2652104 
>>2652098
Нахуя? Кому мешало?
Аноним 25/03/23 Суб 11:19:41 #1003 №2652107 
>>2652085
Когда вы используете MockMVC для тестирования контроллера, вы можете использовать метод multipart для отправки запроса multipart/form-data. Это позволит вам отправить файл вместе с другими полями формы.

В вашем случае, чтобы отправить объект articleDTO через MockMVC, вы можете использовать следующий код:

java
Copy code
MockMultipartFile mockFile = new MockMultipartFile("imageFile", "filename.jpg", "image/jpeg", "some image data".getBytes());

ArticleDTO articleDTO = new ArticleDTO();
articleDTO.setHeadline("Article headline");
articleDTO.setContent("Article content");
articleDTO.setImageFile(mockFile);

MockMultipartHttpServletRequestBuilder builder = MockMvcRequestBuilders.multipart("/your-api-endpoint");
builder.with(request -> {
request.setMethod("POST");
return request;
});
builder.with(request -> {
request.setContentType("multipart/form-data");
return request;
});
builder.file(mockFile);
builder.param("headline", articleDTO.getHeadline());
builder.param("content", articleDTO.getContent());

mockMvc.perform(builder)
.andExpect(status().isOk());
В этом коде мы создали объект MockMultipartFile для тестирования отправки файла. Затем мы создали объект ArticleDTO с заголовком, контентом и файлом. Затем мы использовали MockMvcRequestBuilders.multipart() для создания запроса multipart/form-data. Мы добавили заголовки запроса и параметры для объекта ArticleDTO. Наконец, мы использовали mockMvc.perform() для выполнения запроса и проверки статуса ответа.

Обратите внимание, что это пример и может потребоваться настройка в зависимости от вашего API.
Аноним 25/03/23 Суб 12:07:13 #1004 №2652144 
>>2652107
Спасибо большое, но не совсем то. У меня метод контроллера принимает (@RequestBody ArticleDTO), а в том что описано это метод с тремя @RequestParam, один из которых файл, два строки.

Эх, походу придется переделывать апи под реквест парамы... Обидно, когда не можешь справиться с задачей как нужно, и приходится подгонять задачу под ответ.
Аноним 25/03/23 Суб 12:39:20 #1005 №2652173 
>>2652085
Я нихуя не понял что нужно, закинь проект на гит, придумаем всем двачом
Аноним 25/03/23 Суб 19:15:14 #1006 №2652657 
>>2652098
пруф
Аноним 25/03/23 Суб 19:51:00 #1007 №2652706 
.png
>>2652098
Не воспроизводится.
Аноним 26/03/23 Вск 01:38:43 #1008 №2652996 
Ку анчоусы, вопросец есть. Использую спринг секьюрити, написал фильтр для токенов и класс, который генерит эти jwt токены. Могу ли я как-то сразу подсунуть этот токен в хедер при успешном вводе кредов юзером? Ну то есть в саксес хандлере допустим взять и вставить новый хедер в реквест, чтобы потом сразу выдать юзеру страничку запрашиваемую.
Аноним 26/03/23 Вск 02:22:20 #1009 №2653015 
Хочу из аннотейшн процессора на этапе компиляции вызвать рефлексию для обработки компайл-тайм аннотаций.
Там вроде отдельный рантайм поднимается.
javax.annotation.processing апишка очень многословная, неприятная и кривая, хуже рефлексии.
Попробовал рефлексией читать содержимое классов, параметры аннотаций, и сигнатуры методов. С рефлексией код попроще, но компилируется медленнее.
Еще почему то в AnnotationValue.getValue() параметр с типом String[] не кастится String[], идея в дебагере пишет, что там под капотом com.sun.tools.javac.util.List<String> вместо массива и пока не нашел как его скастить или сконвертировать.
Какие подводные вызывать рефлексию из аннотейшн процессора? Ну кроме скорости компиляции.
Аноним 26/03/23 Вск 04:35:09 #1010 №2653039 
>>2651243
>НИКОГДА сука нельзя отвечать 200 и в теле писать текст ошибки.
Тыскозал?
Аноним 26/03/23 Вск 10:02:16 #1011 №2653123 
>>2653039
Пчел, не позорься, не смешно. Ну а если ты не пытаешься в троллинг, то сразу становится видно, что нихуя кода ты в своей жизни не писал, потому что знал бы, что стандарты и best practices важная часть работы
Аноним 26/03/23 Вск 10:27:43 #1012 №2653130 
соя.png
>>2653123
>best practices
Аноним 26/03/23 Вск 11:55:47 #1013 №2653195 
>>2653015
Как ты хочешь вызывать рефлексию для нескомпилированных классов?
Аноним 26/03/23 Вск 12:55:13 #1014 №2653239 
>>2653123
restful это не стандарты и не best practices. Это натужный форс
Аноним 26/03/23 Вск 12:56:53 #1015 №2653241 
>>2653239
натужный форс это твоя жизнь
Аноним 26/03/23 Вск 13:14:35 #1016 №2653257 
>>2653239
Это де-факт индустриальный стандарт. От того что лично тебе это не нравится ситуация не изменится. Очевидно ты неадекватно оцениваешь современное положение дел. Тут вижу два варианта, либо ты ебать шутник, либо ты нихуя не знаешь

Новички, которые будут это читать, не будьте как этот васян, работать с такими челиками это пиздец
Аноним 26/03/23 Вск 13:26:04 #1017 №2653274 
>>2653257
чтобы быть стандартом оно должно иметь четкое описание и требования. Рестфул это просто набор слабо привязанных к реальности рекомендаций
Аноним 26/03/23 Вск 13:26:27 #1018 №2653275 
>>2653274
рекомендаций, которые каждый понимает по-своему
Аноним 26/03/23 Вск 18:57:26 #1019 №2653597 
Когда в последний раз вы сталкивались с ситуацией "глаза боятся — руки делают"?
Аноним 26/03/23 Вск 19:04:57 #1020 №2653605 
>>2653597
Все 4 года, что работаю.
Аноним 26/03/23 Вск 19:05:02 #1021 №2653606 
>>2653597
почти каждая таска
Аноним 26/03/23 Вск 19:22:24 #1022 №2653646 
ПЕРЕКАТ >2651134
Аноним 13/04/23 Чтв 17:07:18 #1023 №2671280 DELETED
>>2653646
я бы сделал это по-другому
Аноним 10/05/23 Срд 23:01:13 #1024 №2694558 
C# хуйня
comments powered by Disqus

Отзывы и предложения