Двач.hk не отвечает.
Вы видите копию треда, сохраненную 23 мая 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Java Thread #247 /java/ admin 2630498 В конец треда | Веб
Программирование - это не столько про анальное крудошлёпство, сколько про стиль мышления. Высокоуровневая абстракция, поиск сходных черт, оптимизация - всё это высшие интеллектуальные способности, что образуют такой прочный симбиоз с программированием на Java.

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

Предыдущий: >>2614255 (OP)
2 2630528
>>30498 (OP)
Шарп во всем лучше джавы
ASP.NET CORE во всем лучше спринга
Тогда в чем смысл существования джава стека?
image.png320 Кб, 1200x630
3 2630535
4 2630601
Красим кнопки вместе!
5 2630717
Зашел сейчас сказать одну вещь.

Пусть черти ебут в жопу того, кто додумался сделать невозможным создание таблицы под названием "user", часа полтора сейчас голову грел хули не работает @Entity public class User, пока не выяснил. Ебал этого гандона все просто.
6 2630721
RESTfull, HATEOAS это сейчас стандарт или нет?
7 2630722
>>30717
есть же аннотации которые изменяют название хранимой таблицы (даже я вкатун по второму разу это знаю
sage 8 2630729
>>30717
Можешь ещё повыёбываться не невозможность создать таблицу select. ORM таким как ты полностью атрофировало мозг, так что лучше сразу бери монгу и перекатывайся в JS.
9 2630731
>>30721

>RESTfull


это недостижимая фантазия, оторванная от реальности и смысла
10 2630765
>>30722
Я так и сделал когда допер. Спринг в консоли не пишет в чем дело, просто кидает эксепшн что нельзя создать такую таблицу и нихуя не разжевывает.
>>30729
Select понятно, а про существование ключевого слова user не все в курсе.
11 2630768
Даунский вопрос.

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

Где мне на компе теперь искать эту бд?
12 2630777
>>30768
в конфиге установленного постгреса вроде есть точный адрес к самой базе
13 2630792
>>30768
А тут других и не бывает!
14 2630797
>>30731
Нахуй тогда спринг во всех своих гайдах пихает это?
15 2630801
>>30797
распиарено
16 2630859
У меня есть классы task и subtask, или даже только один task, и я хочу, чтобы у каждого объекта task могло быть несколько subtask'ов, при этом у каждого subtask'а тоже могли быть свои subtask'и и так несколько поколений с ограничением.
Как это реализовать в spring jpa? Как вообще такие связи называются? Сколько смотрю примеров many to many, везде используются разные классы с двух сторон связи.
17 2630862
>>30859
Тебе нужно SQL освоить. Там какой-то тип связи есть (Self Join вроде), который ссылается на ту же самую таблицу в качестве форейн кий использует айдишник из этой же таблицы, типа отношение владелец/хозяин.

на ЖОПЕ это наверняка реализуемо. Погугли вначале сикуль, потом поймешь что тебе нужно гуглить в жопе.
18 2630871
>>30862
жопа наверняка через n+1 сделает стековерфлоу. Так во всем - что-то сложнее примитивного круда - и жопа сосёт
19 2630872
>>30768
на диске ц поищи
20 2630874
>>30871
да ну не, вряд ли, self join это база сикуля, простецкая база, кажетсо логичным что в жопе это реализовано из коробки.
21 2630875
>>30874
в хибернейте union не реализован когда я смотрел
22 2630879
>>30859
https://www.viralpatel.net/hibernate-self-join-annotations-one-to-many-mapping/

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

читай это.
23 2630947
>>30731
Лично у меня есть несколько проектов, которые работают по рестфуллу.
24 2630948
>>30498 (OP)
Нахуя петушарп в шапке?
25 2630959
>>30948
Тред уже полгода перекатывает шарпоблядь. С подключением.
26 2630961
>>30958 (Del)
Репорт.
27 2630971
>>30958 (Del)
сливай бесплатно на треккер, платить за это я не буду.
28 2630994
>>30978 (Del)
я не верю что это работает. Программа какая то у вас там ебанутая, с такой даже в стажеры не возьмут сейчас.

Я всё это почти прошёл по книжкам 2 года назад, потом забил на понимании того что в джуны меня не возьмут. Сейчас вот по новой осваиваю, но уже серьезно взялся.
29 2630996
Почему в джаве не дадут возможность самому удалять объекты? Зачем мне обязательно ждать стоп зе ворлд, если в некоторых ситуациях легче самому озаботится жизненным циклом объекта. Имхо, если бы в жабе была такая возможность, то область применения языка была бы больше.
30 2631003
>>30996
Если у тебя возникают такие ситуации, ты выбрал не тот язык.
Джава специально проектируется для проектов, где надёжность важнее производительности.
31 2631004
Серьезный вопрос, надеюсь есть понимающие в матчасти

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

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

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

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

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

Есть ли такие плагины в идее?
32 2631008
>>31004
Tabnine, Github Copilot
33 2631016
>>31008
ебать, охуенно.

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

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

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

Или я могу просто установить плагин и все, сидеть пердеть на триал версии?
34 2631018
>>31011 (Del)
Проблема в том, что я в мухосрани живу, в москву перекатываться ссыкотно без опыта в айти.
Да и лет мне много уже, технического образования нет
35 2631019
>>31017 (Del)
я вот выше Tabnine попробовал, вроде охуенно, но там какая-то триал версия.

Платить жмотно.
Снимок экрана от 2023-03-06 00-07-47.png110 Кб, 807x843
36 2631039
>>31032 (Del)
Странно, на сайте Tabnine ниче не сказано по количеству запросов.

Там вроде только продвинутая версия платная
37 2631067
Я научился пользоваться гитом!
38 2631069
>>31067
А джава тут при том, что...
39 2631070
>>31069
...ты идёшь обратно в свой загон для петушарперов.
40 2631071
>>31070
Как и ты идёшь в загон гитоёбов.
image8 Кб, 474x169
41 2631073
Обновил идею. Сука, как вернуть обратно нормальные цвета? Нахуй мне на блеклую дрисню смотреть?
42 2631074
>>31073
Нашёл решение: Color Scheme -> New Dark сменить на Dark.
43 2631085
По мотивам вопроса челика, который спрашивал про AI-based плагины для идеи выше.

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

Я чет смотрю на это вот все безобразие, и даже если отбросить мое патологическое недоверие к нейронкам: набора текста в моей работе по прикидкам несоразмерно меньше, чем изучения спек, возни с дебаггером и профайлером, чтения логов, вдупления того, что вообще хочет от моего кода окружающая реальность. Идейка впринципе уже неплохо справляется с джавовым кодом, я чисто по Амдалу если бы че и оптимизировал в своей рутине, то не набор кодотекста в идейке. Мне кажется, я бы больше времени потратил на чтение, сверку и причесывание того, что эта ботва мне нагенерит, нежели чем если бы написал все сам.
44 2631088
>>31016
не ебу, я ж не додик чтобы свой код бесплатно отдавать корпорациям которые будут следить через эти плагины
45 2631141
>>31004

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


там похоже не только искусственный интеллект но и чтение мыслей через излучение монитора.
46 2631148
>>31085

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


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

с кодом я думаю так же будет - в итоге все придет к генерации таких вот черных ящиков рожающих ожидаемый функционал и в котором разобраться будет человеку в принципе невозможно.
47 2631159
>>31073
<Ctrl> + <`>
48 2631171
>>30947
кто тебе сказал что у тебя рестфул?
49 2631198
>>31148
Сука, сингулярнлсть через нейронки блять. Более унизительной судьбы для человечества сложно представить.
50 2631249
sage 51 2631358
>>30498 (OP)

>"Элегантные Объекты - Java Edition" имеет перевод на русский язык. Однако, если без приколов, не зная парашный язык можешь смело идти нахуй, потому что никто твои классы с названиями ProveryalshikArgumentov читать не будет.



А если ПроверяльщикАргументов? Ява ж полностью отъюникожена.
52 2631402
>>31358
Сэр, я вижу перед собой синьора.
53 2631456
>>31073
Я не понял, а это как? Как сделать цвета? ну кроме оранжевого
54 2631469
55 2631497
>>30996

>>Почему в джаве не дадут возможность самому удалять объекты?


Средний Шипилев умнее среднего Олега и ему виднее когда объекты удалять.

>>Зачем мне обязательно ждать стоп зе ворлд


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

>>в жабе была такая возможность


Есть десятки всяких гц, вплоть до ручного запуска очистки памяти по таймеру (когда торги закрыты).
image.png29 Кб, 889x89
56 2631689
Обьясните как вы емейлы обрабатываете. Мне на пост эндпоинт прилетает 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.
Поставил такие конфги какие в тырнете нашел, а оно всё равно падает с этой же ошибкой.
57 2631693
>>31689
Мало инфы. Скинь дтоху хотя бы. А еще лучше: дтоху и джсон.
58 2631695
>>31358
Торг, как третья фаза на пути к Принятию.
59 2631708
>>31693
ДТОхи нет, это мне из Mailgun-а прилетает их тестовый
"fully parsed message as an HTTP POST."
Я до приложения смог это дело довести только принимая @RequestBody как String.
Если отлогировать до того как мапить то получается что-то такое
https://pastebin.com/cQ7gKtzY
60 2631726
>>31708

>Я до приложения смог это дело довести только принимая @RequestBody как String.



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

Честно говоря, я вообще хз чем ее парсить. Попробуй вот так: https://medium.com/@basakabhijoy/parsing-multipart-mixed-response-in-spring-webclient-81b15d2dc4cd - там описано решение с вебфлаксом, но по логике должно сработать и с обычными контроллерами.
61 2631739
>>31726
Ну сейчас буду посмотреть, спасибо и на этом.
62 2631757
Это норма что большинство компаний даже не открывают резюме, тупо ждут что им позвонят... ?
63 2631760
>>31757
Да.
64 2631810
Это норма что большинство сеньоров даже не открывают резюме, тупо ждут что им позвонят... ?
65 2631811
>>31810
мне в мыло спамят, при том что я не открываю резюме. Видимо из старого линкедина или из базы херочек
66 2631899
>>31810
>>31811
>>31760
Что будет если отправить резюме на емайл джуниора ?
67 2631944
>>31689
никак ты че ебнутый
68 2631974
Как замокать RestTemplate (через MockRestServiceServer) внутри одного конкретного бина в интеграционном тесте?
69 2632083
lwjgl или opengl ?
70 2632086
>>32083
jmonkeyengine3
71 2632096
>>31974
@InjectMocks
72 2632108
>>31974
Там прям в джавадоке копипастный пример написан. Про бин нихуя не понял, но в примере всё локально создается, контекст не закараптит.

Если нужны разные бины для тестов и рантайма, смотри @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{...}
72 2632108
>>31974
Там прям в джавадоке копипастный пример написан. Про бин нихуя не понял, но в примере всё локально создается, контекст не закараптит.

Если нужны разные бины для тестов и рантайма, смотри @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{...}
73 2632111
>>31810
Это норма что большинство вкатунов даже не отправляют резюме, тупо ждут что им перезвонят... ?
75 2632121
>>31899
Скорее всего он подумает, что это кидалово, и не ответ. Сам таким был
76 2632123
>>31899
Скорее всего он подумает, что это кидалово, и не ответ. Сам таким был
77 2632131
>>32111
Как им перезвонят? Не понял
78 2632139
>>32083
Бери что угодно, всё равно геймдев и 3D-графика на жабе - говно
79 2632143
>>32108
В примере просто рест темплейт используется. А у меня есть сервис, в который инжектится рест темплейт, и мне надо этот сервис замокать. Но только этот сервис, все остальные сервисы должны использовать обычный рест темплейт.
80 2632191
>>32139
>>32139
Аргументируйте пожалуйста -_-
81 2632194
>>32086
Очень интересное утверждение...
82 2632251
>>30959
Год. Перекаты после 500 постов начались год назад.
83 2632276
>>32251
Как быстро время летит.
image62 Кб, 1002x817
84 2632283
Вот так начались перекаты после 500 постов.
goat.mp44 Мб, mp4,
640x360, 0:48
85 2632336
>>32283
Иллюстрация
86 2632980
прощу прощения. Постгре на обычном жестком диске это плохо? В наличии ещё есть ssd, но похоже переместить постгрю на ссд геморно
87 2633032
>>32980
помести всё на nvme
88 2633045
У меня завтра мой первый собес с техническим специалистом ! АААААААААААААААААААААААААААА ! !! ! ! ! Ваши мысли ?
89 2633047
>>33045
Выучи все методы класса Object.
90 2633048
>>33045
Успехов брат! Чтоб всё получилось
91 2633049
Доброго времени суток. Работал 1.7 года бизнес-аналитиком. Общался с заказчиками, формулировал бизнес-требования и всё вот это вот. На сколько это будет плюсом среди других стажёров/джунов?
92 2633052
>>33049
ты машина
93 2633058
>>33049
Лучше, чем опыт слесаря на заводе. Код ты может и не писал, зато понимаешь, как происходит разработка продукта, что для этого нужно, какие обычно возникают сложности, как их преодолеть.
94 2633094
>>31974
ясно нихуя не знаете блядь окатыши
1678216206589.jpg71 Кб, 600x527
95 2633122
Здравствуйте. Подскажите пожалуйста, стоит ли изучать Котлин? Я просто решил джаву осваивать, но вдруг закралась мысль, что бекенд я в силу умственных способностей не потяну. Мобильная разработка проще или же это только на первый взгляд?
96 2633137
>>33122

> бекенд я в силу умственных способностей не потяну


Это как? Даже я с 85 IQ потянул.
97 2633152
>>33137
Думаешь все проще? Я вообще подумал с тестирования на джаве начать, чтобы параллельно в мобильную разработку вникать. Но это опять же с точки зрения дилетанта.
98 2633297
>>2629174 →
Я не могу найти этот двухтомник по фамилии. Какое полное название?
99 2633306
>>33049
Если ты еще там работаешь, то говоришь своему руководителю, что горишь желанием ПОДНАЖАТЬ и лучше вникнуть в процесс разработки, чтобы предупреждать сложности разработки еще на этапе общения с заказчиком, лучше формулировать требования тыры-пыры, в общем ссышь в уши, чтобы получить доступ к кодовой базе.
Потом люто задротишь погромирование, так чтобы было понятно, что за хуйню твои быдлокодеры пишут. Нкличие реального кода в реальном проекте ускорит обучение в 10 раз.
Потом по ситуации грамотно перекатываешься внутри компании или сьебываешь куда-нибудь.
100 2633329
>>33297
Хортсман core java
101 2633340
>>33122
А что такого страшного в беке? Что там что там есть сложные констркуции, инструмены разработки и тд. Но только ты будешь получать задачу и думать над логикой (что откуда взять, как обработать, куда положить и тд), а на фронте/мобилке ты будешь париться как кнопку сделать нужной формы, размером, чтобы она была поверх другой кнопке ну и куча куча других параметров.
Вообще надо выбирать то к чему душа больше лежит, но если поровну, то в одном месте изъёбываешься с логикой, а в другом месте изъёбываешься с визуальными элементами
102 2633458
Почему все API для серверов Minecraft написаны на Java, а соответственно и плагины к ним? Разве без jvm нельзя обойтись? Что мне мешает набайтоёбить свой API и через него дёргать jvm?
103 2633492
>>33458
Нахуя?
104 2633494
>>33458
Ничего, альтернативно одарённые личности наделали уже 100500 UltimateScriptEngine'ов.
105 2633500
>>33494
>>33492
>>33458
https://github.com/feather-rs/feather

нашёл примерно то, что хотел сделать, там баг на баге конечно....
106 2633504
>>33500
Ты что, в джаву не смог, долбоеб?
107 2633525
>>33504
Долбоеб, твоя тошнотворная джава нужна только если ты бэкендер в банке с джавой. Писать на ней мод убивает все удовольствие от процесса
108 2633528
Вы часто пишете СВОИ классы с дженериками в работе?
Можете назвать самый частый юз кейз? Какие-нибудь мапперы?
109 2633567
>>33525
Обосрался с растабоя. Джава лучший язык для всего.
110 2633695
>>33340
Спасибо за развернутый ответ. Да, в свое время во фронте именно позиционирование больше всего раздражало. Возможно, бэк в этом плане зайдет легче.
111 2633741
>>33695
Так что пугает в беке?
Тут все намного более ясно, чем на фронте. По большинству вопросов есть паттерны и бестпрактисы.
112 2633813
Предложили работу в компании которая звонит людям и просит номер карты продиктовать ... :с Ваши мысли ? ._.
113 2633814
>>33813
А какая там работа? Наёбщик вульгарис?ё
114 2633815
>>33741

> Так что пугает в беке?


Если судить исходя из личного опыта, а я некогда пытался в джангу, то именно логика и пугает. Огромное количество подключаемых модулей, классов, бутстрап и базы данных. Может быть все кажется сложным лишь по началу, но с другой стороны практиковался я на относительно простых проектах. Посмотрим что из этого выйдет.
115 2633822
Добавил редис в петик для сохранение сессий, чтоб не выкидывало при сбоях и горизонтальном масштабировании. Эх, вот бы на работку взяли, хочется за сотыги копаться в легаси, а не вот это вот все…
116 2633827
>>33813
В банке чоль?
117 2633852
Почему джавамуха это всегда соевое быдло?
image94 Кб, 1000x1000
118 2633862
>>33852

>джавабоярин


>соевое


>быдло

119 2633915
120 2634019
>>33815
Какой еще бутстрап?
121 2634026
>>34019
Django-bootstrap. Только хуй знает, при чём тут бэкенд и логика.
122 2634172
А че ща в сбере тож задачки дают? Проходил недавно собес и ахуел от того, что задачку дали. Это мне не повезло так или стандарт у них на собесах?
123 2634186
>>34172
Нет у нас в Сбере стандарта собесов, проект проекту рознь, везде принимают по-разному. На нашем проекте дрочат задачами, на других дают тестовое, на третьих присылают стажёров, на четвёртых ещё какая-то залупа.
124 2634206
>>34172
Нет, сразу две сотыги дают за то что ты нашел информацию по спрингу
125 2634218
>>34206
так я на это и рассчитывал, когда шел к ним на собес, а тут на те
126 2634232
>>34206
Т.е. две сотыги дают всем вкатунам, кроме тебя.
127 2634310
У меня друг джавист, начинал работать фулстаком (ява + яваскрипт). От сюда вопрос. Я правильно понимаю, что если ты чисто быкарь на яве - вакансии в основном с галер, а фулстек - вакансии с проектов/компаний по проще?
Какое вообще соотношение потребностей? На что, по вашим ощущениям, на рынке большая потребность?
128 2634323
>>34310
Фулстек это обычно аутстаф на европейской галере или еще какое-нибудь нищее легаси.
129 2634329
>>34310
Хуй знает, что ты галёрой называешь.
Чем меньше компания - тем больше фуллстеков. В какой-нибудь крупной корпорации фуллстеков не просто мало, там ещё и препятствуют совмещению ролей, т.е. бэкендеру тупо не разрешат писать фронт, даже если он сам проявит желание.
130 2634364
>>34323
>>34329
В общем в идеале, мне, как вкатуну, нужно кроме ява стека, выучить ещё и js/html на уровне "написать поле с валидацией" - правильно понимаю?
131 2634365
>>34364
Вкат всё. Можешь не тратить время, если у тебя нет профильного образования и глубокого знания компьютер сайнс
132 2634366
>>34364
Уметь написать простенькую страницу с парой форм лишним не будет, всякое может пригодиться, даже если пишешь только бэк.
>>34365
А ты можешь соснуть хуйца на пару со своей шлюхой-мамашей.
133 2634371
>>34365
Да кто это сказал?) Типо с этого момента ява-кодеры перестали рождаться или больше никогда не появятся?)

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

>>34366
Спасибо, друг. Инфа полезная для меня
134 2634372
>>34371
>>34371

>делиться которым не сильно хочется


Поделись плиз, я просто тоже думаю вкатываться или нет. Ситуация 1 в 1 твоя, если не смогу вкатиться до конца года, то сделаю роскомнадзор.
135 2634375
>>34372
Ну мой анализ мне подсказывает что вкатываться 100% стоит - вот тебе и ответ.

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

С пониманием отношусь к твоей проблеме, но не знаю что ты хочешь услышать. Если хочешь вкатиться, то тут думать не надо. Зашёл на явараш, уверенно отдал им 30 баксов и как машина едешь по уровням XD А там война план подскажет как дальше идти
Аноним 136 2634423
Мимокрокодил Java Senior из гугл, прямиком из Кремниевой долины, задавайте свои ответы.
137 2634427
>>34423
Почему не в своём загоне для петушарперов?
Аноним 138 2634433
>>34427
Каво нахуйблядь?
139 2634440
>>34433
Проследуй в этот тред: >>2621949 (OP)
Аноним 140 2634450
>>34440
нахуй мне тот шарп, я тебе про Java говорю, ёбанарот
141 2634535
Валидация через @Valid это же херня полная? Работает для простых приложений и простых решений. В чем-нибудь более-менее сложном лучше ручками делать валидацию. Я прав или все же нет?
142 2634559
>>34535
ты хуйло
143 2634625
>>34364
На перовой галере что я был требовался ангуляр. Надо было было разбираться на уровне нарисовать форму, добавить кнопки, привязать их к рест ендпоинтам. Это по сложности как писать круды на спринге - вроде не сложно, но с нуля месяца 3 ты на это потратишь. Чаще всего для фичи надо писать и фронт и бэк одновременно.
Сейчас я пишу чисто бэк и фронтовые проблемы с ползунком или уехавшей кнопкой меня не ебут.
144 2634634
>>34535

>>лучше ручками делать валидацию


Тебе @Valid / @Validated дали, пользуйся. Нет, хочу жрать говно и писать кастомную валидацию на каждый пук.
145 2634757
В чем разница, андроид приложение на котлин vs на джава ?
146 2634770
>>34757
Котлин это знак для сойбоев, как треугольник пальцами у масонов.
147 2634793
>>34757
Разница в том, что проект на джэве - это всегда боль и нечеловеческие страдания. От языка несет нафталином, а инженерные практики и подходы остались где-то в 90-х. Пока команда джэва-программистов наматывает сопли на кулак и размазывает по засаленному свитеру, в попытках пофиксить очередной NPE, продираясь через килотонны императивного кода, часть из которого завернута в Optional, команда на котле уже выкатывает релиз и получает бабулесы.

начинать проект на джэве - моветон.
148 2634794
>>34793
Кроме этого гугл андроидовские тулзы пишет только под котлин, jetpack compose не работает с джавой
149 2634796
>>34794
И слава Богу. Официальный язык разработки под андроид это котел. Билд тул - градл. Все! Не нужно в 2к23 обмазываться помойной джэвой и дрочить эксемельки в мувене. Оставьте это старым пердунам, которые на старости лет начали дрочить опшиналы и заворачивать свои помойные легасные поделки пытаясь спастись от нуллпоинтерэксепшенов.
150 2634798
>>34796
Хотелось бы конечно жить в мире где котел основной язык jvm
151 2634813
>>34798
Дебильная соя размечталась.

>>34796
Дебильная соя вошла в реальность, вспомнив, что никому нахуй петухон jvm edition не нужен.
152 2634815
>>34793
Че ты так горишь-то? Ну подумаешь тебя заставляют на 8 жабе обмазанной сокращениями писать и ебаться с дегенерадлом, который не хочет собирать проект по причине пидарас, но плакать то зачем?
153 2634818
>>34815
Никто меня не заставляет. Я пишу на суперсовременном C# и у нас нет проблемы с NPE. Это вам все никак nullable типа не завезут и все проверки дрочите или опшионалами обмазываетесь, лол.
154 2634822
>>34818
Если тебе так охуенно пишется на петушарпе, то почему ты каждый божий день приходишь к нам и ноешь?
155 2634824
>>34822
Нужно почаще напоминать о вашей ущербности
156 2634826
>>34824
Аж сквозит через сообщение тряской и разочарованием. Ты давай, там, зашивайся.
157 2634959
Груви лучший язык, а еще скала. Жопа и клиторин не нужны
158 2634977
>>34959
Тред про жабу есть, а про кокотлин, груви и скалу нет. Шах и мат.
159 2634984
>>34977
уничтожил)
Аноним 160 2634994
>>34818
Ты неверно дурачёк и в своей жизни писал код только для компаний уровня хуй&залупа? Тебе не знакомо такое понятие что падать с ошибкой надо как можно раньше, на этапе сборки в идеале. Или ты такой ахуенный что каждый get() ты обрабатываешь так что там может прийти Nullable? Это же полная хуйня ожидать что тебе придёт ёбанное ничего и как на это реагировать? Это такое же дерьмо как динамическая типизация, когда ты хуйзнаешь что тебе пришло и как с этим работать. Может для школьных поделок и прототипирования это ещё сгодится, но для серьёзного ентерпрайза это хуета.
/thread
161 2634997
Шарпоблядей кормят всем разделом, в какой тред ни зайди.
162 2635064
>>34793
>>34794
>>34796
ребята да вы нубы просто, андроид и джава это маст хев.
163 2635085
Есть две таблицы, Person и Address, нужно выбрать имена человеков у которых больше всего адресов. Получается, я делаю
select name, address from Person
where Person.id = Address.id_person. Как теперь сделать условие для выборки адреса, ведь where уже занят ?
164 2635107
>>35085
бля хз а че ты в джава треде это спросил?
165 2635108
>>35085
Что значит "больше всех" адресов? Можно вывести 10 людей с отсортированных по числу адресов или всех отсортированных так же.
166 2635122
>>35107
Ну он же на ДжАвЕ пИшЕт, а этот запрос вызывается из приложения на джаве, значит, логично нет спрашивать в этом треде! Примерно как у анонов, которые срут здесь вопросами про докер и гит.
167 2635129
додикам не отвечаем
168 2635136
>>35129
Если я порежу метод на два кусочка, кусочки будут дружить ?
169 2635137
>>35107

>больше всего адресов

170 2635140
>>35085
Как то так.
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;
172 2635158
>>35152
я че ебанутый
174 2635169
>>35166
ну по уебанству фреймворк "mocha" еще никто не перепрыгнул, но у ребят есть задатки.
175 2635174
>>35169
алсо раз ребята пишут общую шину, значит тиньку пизда
176 2635180
>>35174
Почему пизда?
177 2635190
>>35180

>Почему пизда?


полюбому
178 2635197
>>35152
>>35166
Пошёл нахуй.
179 2635205

>Подготовка¶


>Создаем новый Gradle-проект


дальше не читал пусть жрут говно в одиночестве
180 2635208
>>35205
Всё программируешь на XML? Я тоже.
181 2635212
>>35208
хуй пососи шарпоблядь
182 2635214
>>34994
хз как там в шарпах, а вот котлиновский fizz?.getBuzz() вместо Optional.ofNullable(fizz).map(x->x.getBuzz).orElse(null) немного удобнее. Но только ради сахара тащить другой язык это конечно клиника.

>>Это же полная хуйня ожидать что тебе придёт ёбанное ничего и как на это реагировать?


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

>Для конфигурации kora framework использует библиотеку typesafe config, которая умеет читать конфигурации в формате HOCON.



ну ебнутые просто
184 2635224
Конфигурацию надо читать из реестра Windows. Его же использовать как базу данных.
185 2635229
>>35224
А если у меня Arch Linux? Там нет реестра Windows. Я кстати использую Arch Linux на ThinkPad от IBM
186 2635234
>>35229
Так установи Windows.
187 2635239
>>35224
В алпине нет конфигурацмй виндовс и базы.
188 2635241
>>35239
А в Windows есть.
189 2635248
короче в тинькове долбоебы
190 2635249
Почему в spring data все по умолчанию юзают Long тип для айди? Зачем нули лишние хранить на диске, если количество записей вряд ли превысит 2ккк ?
191 2635255
>>35249
Значение ID может быть намного больше количества записей, например, если городишь для PK sequence с кешами.

> Зачем нули лишние хранить на диске


Эти нули будут последним, что покажется лишним, когда надо будет оптимизировать размер базы данных. Что толку от экономии 4 байт в одной строке таблицы, если строка занимает несколько килобайт?
192 2635256
>>35152
>>35166
А что дешевле, проще и быстрее? переписать всё что писали миллионы человеколет или купить более мощные серваки и перенести на них очень медленный спринг?

Ответ очевиден как по мне. Блин такие паникёры) вы такими родились или двач вас такими сделал?)
193 2635257
>>35256
Как будто проекты могут быть только легаси.

Медленное старьё на спринге изживёт себя, а новые проекты на Kora.
194 2635258
>>35257
Ну окей, что то небольшое или молодое начнут внезапно писать на чём то новом (хотя это не будет так надёжно как сринг, а для бизнеса это важно и что то новое ещё написать надо... кароче ну ты понял), но старое то никуда не денется и его надо будет развивать, разростать и так далее.
кароче как будто лет 5, а скорее 10, ещё можно сидеть ровно на спрнге.
195 2635278
Ну ваще коры мочишь ахахах
196 2635281
>>35256
>>35258
Отставить тряску, старичье. Ваш срэнг фримверк никому не нужен и он де-факто легаси и дурной тон в новом проекте. Сидите себе там тихо и не отсвечиваете. Через 10 лет пойдете на мороз таксовать или грузчиками работать в пятерочку, когда упругие зумеры будут писать проекты на Kora. Короче говоря - it's Tinkoff!
197 2635291
Я вот читаю эту поеботу и думаю, кто такие эти ваши тинькоф банк? Какая-то блядь шарага с детскими оборотами и исключительно локальным присутствием в одной стране. Какая нахуй разница то, чем они там блядь занимаются? Они аутисты сужают свою потенциальную кадровую массу вводя свои собственные фреймверки, а за пределами даного дженерик банка — это нахуй никому не нужно.
198 2635293
>>35136
С тобой нет
199 2635294
>>35291

>а за пределами даного дженерик банка — это нахуй никому не нужно.


зато тот хуй в очках, который подсадил весь банк на свою самописную залупу, теперь гарантированно обеспечил себя работой до конца жизни (ну или пока тинёк не сдохнет)
200 2635302
>>35291

>с детскими оборотами и исключительно локальным присутствием в одной стране



Можно PROOFS пожалуйста?
Я что, зря дрочил лягушонку линку??
201 2635303
>>35281
Там из зала правильный вопрос задали, а где вы будете брать разрабов на свои велосипеды?
-Пук-среньк, настоящий инженер пишет на джаве без фреймворка, это база.

А по итогу найдут только студентов - получится такой же обосрамс как с яндексом.
Сенькам то может и по кайфу пилить велосипед, это интересно.
А вот мидлы в рот ебали использовать это нонейм говно в рабочих задачах, они просядут по скилам и пострадает их ценность как спецов (а значит меньше зепка).
Если уж переучиваться - то выгоднее в го свичнуться (там как раз пилить спринг уместно).
kora.webm7,1 Мб, webm,
1280x576, 1:57
202 2635304
>>35166
В быту корой обычно называется легко отделяющаяся наружная омертвевшая часть корней и стеблей древесных растений.
203 2635307
>>35302
Он даже в топ 10 не входит.
204 2635312
>>35291
>>35303
Эх, молодые. Сеньор он на то и сеньор, что гарантирует себе рабочее место. Сделать свой велосипед = гарантировать, что кабан тебя не выкинет, как Илон Маск 80% твиттер разработчиков, потому что никто кроме него там не разберется. Чтобы не переписали быстро на молодежном языке, надо пропихнуть его побольше и поглубже, а чтоб цепные псы кабана - менеджеры, не прочухали подвоха пиарим на конференциях и докладах. Всё, дядя сеньор и его друзья обеспечили себе высокооплачиваемую и непыльную работу до пенсии.

А по поводу всякой чуши, типа чистого кода и молодежных языков, профразвития и тд - это наебалово для выжимки молоденьких, упругих но глупых по неопытности зумерков. Потому что когда они подрастут и прохавают безжалостный мир капитализма, такую лапшу на уши не повесить.
205 2635322
>>35291
Это как посмотреть. В теории они могут наоборот её расширить, хайря всех подряд со знаниями на уровне java se, и чуток доучить своей поделке уже дома, вместо того чтобы искать только спрингокульт.
206 2635325
>>35322
спрингокульт-шиз в треде, я спокоен.
207 2635344
>>35152
прослушал половину. В принципе правильно говорит. Меня тоже очень бесит вся спринговая магия и что оно жрёт минимум 500Мб и долго стартует
208 2635345
>>35303

> просядут по скилам и пострадает их ценность как спецов (а значит меньше зепка).



Имхо это майндсет терпилы. Ценность спеца определяется компетенцией и уровнем задач, которые он способен решать а не стеком. Скиллы, посадка по которым действительно критична, ортогональны стэку.
209 2635353
>>35345
какой мне смысл как специалисту переходить на другой стек и начинать всё почти с нуля?
210 2635355
>>35344
А не легче было бы вложиться и контрибутить в spring native? Или не взять кваркус или микронафт?
Зачем очень средней по мировым мерках компании лепить собственные фреймворки?
Она ведь поддержку его не потянет 100%. Через 3 года использования у этого велосипеда будет уже костылей столько же сколько у спринга, а функционал будет все еще на порядок ниже.
211 2635367
>>35256

>переписать всё что писали миллионы человеколет



Обычно постановка задачи звучит не так. Никому, даже отьявленным велосипедостроителям, неинтересно писать убийцу спринга снихуя. Проект пишут под конкретные цели, и эти цели обычно локальные. Писать фреймворк под эти цели не так уж и трудозатратно.
212 2635368
>>35353
Без обид.
Если для тебя переход на новый стек означает "учить все с нуля", ты не специалист, вот и все.
213 2635371
>>35355
Компашка масштаба тинькова потянет, почему нет?

Контрибутить в спринг натив означает зависеть от прихотей остальных стейкхолдеров и майлстоунов проекта. Иногда это может быть неприемлемо.
214 2635374
>>35355
у них нет цели впихнуть всё или сделать нескучный конструктор для вкатышей, как у спринга.
Просто какой-нибудь DI без проксей и рефлексии, чтобы не раскидывать зависимости руками
215 2635377
>>35368
окей. Ты не в яндексе случайно работаешь? Где ещё любят скакать по языкам и стекам
216 2635381
>>35374
Ну то есть этот велосипед не предназначен для выхода из загона тинька?
И нахуя его вообще тогда слушать?
217 2635385
>>35381
вообще не связанные вещи. Мне тоже не нужна магия и нескучный конструктор спринг-бута, если страдает память и производительность
218 2635388
>>35385
Но что ты будешь делать, когда у велосипеда тинька не будет нужного тебе функционала, а его не окажется с 99% вероятностью?
90% проектов хватает чистого спринга, для остальных 10 есть гора информации как спринг допиливать и оптимизировать под свои нужды.
219 2635389
>>35377
Нет. Просто за 10+ лет стажа перекаьываться приходилось не единожды.
220 2635391
>>35388
а что за магический функционал есть у спринга? Это только DI и готовые конфиги для распространенных либ
221 2635392
>>35389
my condolences
222 2635396
>>35312
Вопрос даже не в том нахуя это пишет сеньор в тиньке. Но они ж это выкинули в опенсорс и пиарят как убийцу спринга, мол давайте тащите себе в проекты это говно и вкладывайте в него тоже. Какой то анон даже возбудился (залетная шарпомуха наверняка). На что и последовала реакция.

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


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

>>Сделать свой велосипед = гарантировать, что кабан тебя не выкинет


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

>>35345

>>Ценность спеца определяется компетенцией и уровнем задач


Это работает только на уровня от сеньора и выше. Мидл без знания спрингов (что и определяет его компетенцию) нахуй не нужон. А работать на этой поделке предположительно должны именно они (джуны нихуя не умеют, сенек нанимать для погрузки жсонов дорого)
223 2635398
>>35391
Даже в рамках работы с бинами - интерсепторы, скоупы и инит/дестрой методы бинов, кондишоны автоконфигураций, профили.
На уровне веба - фильтры, адвайсы.
Куча оберток для тестов.
Это только то что сразу вспомнил.
224 2635405
Уверен, что через год-два не просто никто не будет использовать фреймворк за пределами тинька, но от него откажутся и в тиньке.
Хотя если на тинек наложат хорошие санкции он сдохнет раньше.
225 2635432
>>35214

>а вот котлиновский fizz?.getBuzz()


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

Да, есть ситуации, в которых проведение нулл вверх по стеку как ошибки в ГОвне прямо так и напрашивается. Но все они являются говнокодом и при нормальной структуре проекта самоуничтожаются.
226 2635433
Петухлин вообще борется не с тем, с чем надо бороться. Он борется с внешними проблемами, оставляя возможность внутри написать такое говнище, что никакие сахарки его не спасут. Джава принуждает хотя-бы писать нормально, чтобы не приходилось заменять петухлиновский ? целой строкой бойлерплейта.
227 2635436
>>35396

>Мидл без знания спрингов (что и определяет его компетенцию) нахуй не нужон



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

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


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



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

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



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

Я вообще не представляю, как эту контору можно воспринимать всерьёз, платят они ещё меньше яндекса, собес (карго культ с яндексового) муторный, хоть и не сложный (потому что особого потока людей в тинек нету)
229 2635441
>>35436

>Ты миддл, ты уже овладел спрингом


нет, всегда можно поймать на незнании кишочков
230 2635442
>>35441
Харчок в ебало любому ублюдку-интервьюеру, ловящему кандидатов на знании кишочек. Еще б блять джава-паззлеры додумались спросить, ебланы.
231 2635445
>>35405
можно смело ставить анус. даже яндекс не смог родить ничего такого, что имело бы статус общеупотребимого фреймворка/библиотеки, хотя пытался не один десяток раз. а уж про подзалупный банк с крайне хуёвой репутацией нечего даже и говорить, дропнут идею использования сразу как только дойдут то слова тиньков в описании.
232 2635448
Я тем временем напоминаю, что всё, что все полезные функции спринга можно написать в 1к строк.
vid2.mp4131 Кб, mp4,
712x416, 0:17
233 2635451
Что делать с этой залупой бля?
234 2635452
>>35432

>>Нинужон


Ну вот поле может быть со значением, а может и без него. Если не пустое - нужно вывести. Для бизнеса это правильно. Что делать будешь? Идти объяснять овнеру что он и его клиенты долбоебы и надо переписать логику чтоб тебе удобно было?
235 2635455
>>35452

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

236 2635456
>>35452
Опшенал въебать?
237 2635463
>>35451
Бамп
238 2635467
>>35463
Реще мышью води. У тебя получится.
239 2635468
>>35467
Блять, а если без приколов?
240 2635475
>>35468
Если без приколов, то хуй его знает. Багу жыдам завести.
241 2635487
>>35451
Жать F2 для перемещения по ошибкам/предупреждениям а не быть дегродом, сросшимся с мышью
242 2635489
>>35445

>>яндекс не смог родить ничего такого, что имело бы статус общеупотребимого фреймворка/библиотеки


Кликхаус используется многими. А до них меил тарантула высрал, которым тоже кто то пользовался. На этом пожалуй все.
243 2635492
>>35455
Вот этот опшионал это считай и есть его особая обработка. Только таких мест в коде может быть довольно много.
244 2635496
>>35456
чел выше писал что опшионал нинужон, потому что нулов нет или почти нет.
245 2635538
Вкатуны блядь угомонитесь
Нормальный специалист перекатится на новый веб фреймворк за неделю
Похуй что там: кора, play, микронавт или вообще takes
Если лично ТЫ не в состоянии этого сделать, то ты вкатун ебаный и перхоть
246 2635539
>>35492
Ты даун? Это поднятие нулла вверх по стеку. Ничего общего с особой обработкой он не имеет.
247 2635541
>>35487
Нахуя мне захламлять мозг бесполезной инфой о дохуиллиарде сочетаний клавиш, если есть мышь?
248 2635577
тиньковщики тоже против ORM. Неужели я не одинок
249 2635585
>>35577
Мне кажется, тут скорее именно хибернейт. Он уж больно переусложнен. Как и спринг секьюрити, например. Оверинжиниринг там, где можно проще. Физз базз энтерпрайз эдишном отдает немного.
250 2635589
>>35585
он основан на мертворожденной идее что можно автоматически генерировать sql запросы. Генерить то можно, но получается всякая херня. И это в самом бутылочном горлышке приложения.
251 2635613
>>35541
Еще можно жать Ctrl + Enter, чтобы Идея сама поставила за тебя точку-с-запятой.
Это очень полезная инфа, если ты пользуешься Идеей
252 2635624
>>35589

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

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

А генерация запросов - это нормально. Их много кто генерит, вон Jooq например.
253 2635632
Бля, опять зовут в команду, где всего два бекендера. Только теперь там какой-то относительно новый проект на 11 жабе и 5 сринге и, по их словам, без легаси вообще. Стремаюсь я что-то идти в команду, где всего два разраба, тем более на первую работу. Че скажете вообще исходя из вводных? Дропать их и искать что-то получше или хороший опыт для начала карьеры кнопкодава?
254 2635635
>>35624
Нет. Это не мертворождённая идея.

Корень всех проблем, который ближе всего к понятию мертворождённости - общая память. Когда два инстанса с разными точками входа работают с одной и той же памятью. Вот что вызывает проблемы. Если точка входа гарантированно одна, то всегда можно шлёпнуть паттерн реставратор и даже с ORM наслаждаться истинным ООП.
255 2635653
>>35632
где ты вакуху нашел. На ххру 0 вакансий
256 2635674
>>35653
Я бы тебе ответил, только ты не задал вопроса.
257 2635675
>>35635
Нихуя не понял.

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

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

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

Разьясни подробней свой пойнт, будь добр?
258 2635678
>>35632
На вкус и цвет. Мне наоборот нравится когда в проекте мало людей. Идеально - когда я литералли один.
259 2635680
>>35589

>на мертворожденной идее что можно автоматически генерировать sql запросы


охуеть, а пацаны то не в курсе
260 2635682
>>35678
Ну так ты то скорее всего опытный, а я просто вкатыш, грязь из-под ногтей. Мне будет тяжко без постоянных кодревью, ну по крайней мере так мне это представляется, буду сам во всем разбираться, а если игорь1 и игорь2 решат уйти в отпуск, то меня выебут и высушат овертаймами.
261 2635686
>>35675

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


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

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


А можно по-русски, а не на языке соевого крудошлёпа? Нихуя не понял.

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


Локальный вызов this.save() после каждого внесения изменения в ООП-шный объект и YourDataMap, представляющая из себя обрезанный репозиторий без методов update и delete (это делает сам объект). В более общем смысле - чтение из оперативки, запись на диск.
262 2635691
>>35585

>Мне кажется, тут скорее именно хибернейт. Он уж больно переусложнен.


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

>>35577

>тиньковщики тоже против ORM. Неужели я не одинок


ты не можешь писать на яве и не использовать ORM. по крайней мере на практике. потому что ORM - это, если грубо говорить, перевод объектой модели в реляционную. ты можешь использовать хибернейт или что-то еще либо писать свой велосипед, но от ORM ты никуда не уйдешь.
263 2635693
>>35686

> Микросервисы - мертворождённая идея, общая память - близка к этому


то есть концепция РСУБД с 60-летней историей коммерческого применения это мертворожденная идея, ага.
264 2635695
>>35686

>Локальный вызов this.save() после каждого внесения изменения в ООП-шный объект и YourDataMap, представляющая из себя обрезанный репозиторий без методов update и delete (это делает сам объект). В более общем смысле - чтение из оперативки, запись на диск.


ебать, что это за шиза.
265 2635697
>>35693
Именно. Команды из десятков тысяч крудошлёпов вышлёпывают годами то, что микро-команды или вообще соло разработчики делают за неделю. Угадаешь, как так получилось?
266 2635699
>>35695
Трясёшься, анальничек, с разрыва манямирка?
267 2635707
>>35697

>Угадаешь, как так получилось?


как у тебя всякая хуйня в манямире рождается? не угадаю и не собираюсь этого делать.

концепция реляционных баз данных это пример возможно самой успешной программной архитектуры, реализованной на практике. и, что уж несомненно, sql - это пример самого успешного dsl эвар. если для тебя это мертворожденная идея то ты либо клинический долбоеб либо человек который в принципе не знает о чем говорит.
268 2635711
>>35707
Не читал после

>? не


Как выучишь правила русского языка, возвращайся.
269 2635718
>>35675

>Во первых - че за нахуй новый паттерн такой: "реставратор"?


ну скорее всего он вот это имел в виду
https://en.wikipedia.org/wiki/Memento_pattern

но то что описал во фразе

> Локальный вызов this.save() после каждого внесения изменения в ООП-шный объект и YourDataMap, представляющая из себя обрезанный репозиторий без методов update и delete (это делает сам объект). В более общем смысле - чтение из оперативки, запись на диск.


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

>у. ес


И тут тоже чтение остановилось, а пост я скрыл.
271 2635722
>>35682

>ты то скорее всего опытный, а я просто вкатыш



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

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



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

И хэй, сложности будут всегда и везде. И рано или поздно будет овертайм, который тебя высушит досуха, это неизбежно ни на каком проекте. Если заранее накручивать себя на такой негатив, никогда не вкатишься. Уволиться всегда успеешь.
272 2635723
>>35720
Что тебе не нравится в мелкобуквенности?
273 2635725
>>35723
Неуважение к собеседнику. Заглавные буквы придумали не просто так, а для того, чтобы читать было удобнее. Набирать текст без заглавных букв не намного легче (вообще не легче практически), а читать сложнее. Это либо явное выражение неуважения к собеседнику (смотрите, мне похуй, как ты прочитаешь, зато я 0,1 секунду сэкономлю), либо стадное поведение (долбоеб скопировал стиль письма своих протыков).
274 2635729
>>35725
Двачую, мелкобуквенное быдло идёт нахуй из треда джавагоспод прямиком в /vg/dota2/.
275 2635731
>>35725

>Неуважение к собеседнику.


соси хуй быдло, что тебя уважать если ты несешь феерическую хуйню. в реальности за эту чушь что ты тут транслируешь тебя пидорнули бы давно с любой вменяемой команды как профнепригодного.
image2 Кб, 370x53
276 2635732
>>35731
Быдло скрыто с первых слов.
277 2635735
>>35732
Пиздец, обосрался и спалился, что я семёнил. Тем не менее, не отменяет того, что я тебя скрываю.
278 2635740
>>35691

Эммм... шта? Но критерия апи и есть функционал жпа...
279 2635742
>>35691

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



Уже ушел в сторону JOOQ.
280 2635744
>>35742
>>35740
Нахуя вы кормите тролля-мелкобукву?
281 2635755
>>35740
там другие критерии

было:
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();

ебануться же, ну. как этой хуйней нормально вообще пользоваться можно?
282 2635761
Лахта из тинькова совсем охуела.
283 2635764
>>35755
А по моему, оно того стоило хотя бы ради того, чтобы дропнуть навсегда метод list(), возвращающий List без дженериков. Меня такие вещи гораздо больше триггерят, чем чучуть возросший объем кода.

https://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Criteria.html#list()
284 2635769
Как в контроллере принять данные формы, в которых пара текстовых полей и прикрепленный файл. В гугле такие случае вообше не описываются, только отправка формы с одним лишь файлом(((
285 2635770
>>35742

>Уже ушел в сторону 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 и прочих вспомогательных нагромождений. Но, увы, в яве так сделать нельзя.
286 2635782
>>35770

>это все еще преобразование объектов в реляционную модель через генерацию 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и можно только в кложуре писать?
image.png112 Кб, 883x874
287 2635814
>>35769
А это что?? Всё в гугле описывается. Выкатывайся из джавы и не возвращайся
288 2635853
>>35539
Какая нахуй возгонка - достаем поле вложенного объекта без риска нарваться на НПЕ. В orElse можешь "" авставить, если тебя null так тригерит.
289 2635865
>>35691

> ты не можешь писать на яве и не использовать ORM. по крайней мере на практике


могу. ОРМ придумали и зафорсили лет 10 назад. Как же до этого жили?

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

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

Так какую проблему решает хибернейт? Я скажу какую - вкатыши боятся sql и думают что хибернейт позволит поместить это в черный ящик и как-то там сам всё сделает. Это ошибка. Теперь вкатыши вообще не умеют без хибернейта слать запросы в базу и думают что это невозможно
KSAj2a9tjc.png71 Кб, 997x430
290 2635869
>>35770

>альтернатива выглядит, например, так:


руками написал sql запрос и небо не обрушилось. Можно прямо копировать и вставлять в консольку
291 2635880
>>35853
Что?
292 2635894
>>35880
Изначальный пост >>35214
293 2635895
>>35894
На тот пост я ответил.
image.png64 Кб, 1432x511
294 2635897
>>35880
Аночоусы, у недавно вкатившегося вопрос.
Так фильтровать вообще нормально?
Мне приходит лист енумов, нужно сделать реквест и получить из него лист объектов. Вернуть объекты нужно только те, в описании которых находятся value енума. В описании много текста, а искать нужно только по определённому слову. Изменить то, как мне приходит ответ из реквеста я не могу.

Мне кажется я хуйню написал и можно лучше, но никак не вижу как это лучше сделать
295 2635899
>>35897
Реплай прилип случайно
296 2635900
>>35897
Что блядь? Лист енумов?
297 2635902
>>35900
Говорю случайно на номер поста нажал и не заметил
298 2635905
>>35902
Я понял. Я по твоему посту и спрашиваю.
299 2635906
list.add{
"мам",
"я",
"долбоеб"
};
300 2635907
>>35897
1. фор в стримах выглядит как говно
2. сложность пиздец (замени на хэшмап)
3. нулпоинт поджидает в 53 строке (разверни сравнение)
301 2635908
>>35906
list.add = new("мам я долбоеб")
302 2635911
>>35905
А что не так с листом? Стринги я принимать не могу, значений будет много и они фиксированы.

>>35907
1 - Понятно что как говно, потому решил спросить.
2 - А как иначе? Вижу что там фильтр в фильтре по сути, но ничего придумать не могу. Лист foosAndBars на хэшмапу?
3 - Там заранее стоит остановка работы сервиса если ничего не найдено, так что не будет нпе
303 2635913
>>35911

>1 - Понятно что как говно, потому решил спросить.


>2 - А как иначе? Вижу что там фильтр в фильтре по сути, но ничего придумать не могу. Лист foosAndBars на хэшмапу?


>3 - Там заранее стоит остановка работы сервиса если ничего не найдено, так что не будет нпе


тупоголовый блядь
304 2635915
>>35913
Оформил по съебам, безработный
305 2635917
>>35915
Оформил съёб в свой родной петушарп-тред, агрессивное быдло.
306 2635918
>>35913
Ты тоже в темпе съёб в петушарп-тред реализовал.
307 2635920
>>35917
Ты даун-долбаёб, только честно? Хули мелкобуквишь на меня и потом проецируешь?
308 2635922
>>35920
Я не мелкобуквил на самом деле мне сначала показалось, что ты нюфаню шлёшь нахуй, поэтому и направил тебя в петушарп тред.
309 2635924
>>35911
Ну да, для стрингов мапа перебор, сделай сет.

.filter(r -> fizzBuzzSet.contains(r))
310 2635926
>>35906
>>35908
Ты заебал это постить каждый тред.
311 2635927
>>35926
Дед, последний раз это было запощено в треде этак 115.
312 2635928
>>35926
ты заебал жить
313 2635930
>>35928
Съёб в петушарп оформил, быстро, резко.
314 2635938
>>35924
Трабла в том, что этот филд description по которому я смотрю имеет в себе много всего, по типу "qwe foo qwe". Я пробовал сначала смотреть со стороны листа енумов, но тогда будет пусто ведь.
315 2635968
Есть серьезный вопрос. Почему вы выбрали java, а не c#
бойз 316 2635970
Парни ,а стоит ли вообще учить джаву в 2023? перспективно ли? или лучше плюсы/питон и тд?>>35938
317 2635975
>>35970
тебе нет
318 2635976
>>35975
умник такой
319 2635982
>>35451
Сугак, подонок, мерзавец!
javadotnet.webm17 Мб, webm,
640x360, 3:13
320 2635984
321 2636002
>>35968
Я не выбирал, меня заставили.
Но даже при наличии выбора я бы ни за что не вкатился в шарп.
322 2636008
>>35984
Аж позеленел с такого перефорса. Это ведь петушарперы пидорасы.
323 2636013
>>35865

>Так какую проблему решает хибернейт? Я скажу какую - вкатыши боятся sql и думают что хибернейт позволит поместить это в черный ящик и как-то там сам всё сделает.


ой вей. ты говоришь хуйню. хибернейт решает много проблем, и
1) основная - это управление сложностью, а именно упрощение и сокращение количества написанного кода. ты просто не видел систем хотя бы с парой сотен таблиц где всё общение с БД орагнизовано на голом jdbc. Там количество кода на порядок больше чем при использовании самой простой ORM.
2) кросплатформенность на уровне субд
3) КЕШ второго уровня
4) четкое разграничение уровня приложения и БД. именно благодаря инструментам типа хибера страшную ебанину вроде бизнес-логики на триггерах и хранимых процедурах сейчас можно встретить тьолько в самых дремучих легаси. именно поэтому практически в любой книге по ораклу выпущенной за последние 15 лет есть отдельная глава посвещенная критике хибернейтоподобных систем, потому как они ОЧЕНЬ сильно повлияли на популярность PL/SQL и подобных языков как языков программирования и у адептов написания логики в БД от них очень сильно подгорает.
5) множественные следствия из п.1 - упрощение тестирования, возможность наследования сущностей, типовые решения и шаблоны проектирования и т.д. и т.п.

> Сложность? Нет, сложность увеличивается,


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

еще раз - ты думаешь что если ты будешь писать вместо хибера голый скл то у тебя там будут всю дорогу запросы в духе update user set name='vasya' where id=1? хуй там. у тебя будет несколько сотен файлов типа пикрелейтеда неведомой ебанины которую легче каждый раз писать с нуля чем пытаться разобраться что в ней написано, а особенно фееричные запросы будут достигать размера в нескольких сотен строк.
323 2636013
>>35865

>Так какую проблему решает хибернейт? Я скажу какую - вкатыши боятся sql и думают что хибернейт позволит поместить это в черный ящик и как-то там сам всё сделает.


ой вей. ты говоришь хуйню. хибернейт решает много проблем, и
1) основная - это управление сложностью, а именно упрощение и сокращение количества написанного кода. ты просто не видел систем хотя бы с парой сотен таблиц где всё общение с БД орагнизовано на голом jdbc. Там количество кода на порядок больше чем при использовании самой простой ORM.
2) кросплатформенность на уровне субд
3) КЕШ второго уровня
4) четкое разграничение уровня приложения и БД. именно благодаря инструментам типа хибера страшную ебанину вроде бизнес-логики на триггерах и хранимых процедурах сейчас можно встретить тьолько в самых дремучих легаси. именно поэтому практически в любой книге по ораклу выпущенной за последние 15 лет есть отдельная глава посвещенная критике хибернейтоподобных систем, потому как они ОЧЕНЬ сильно повлияли на популярность PL/SQL и подобных языков как языков программирования и у адептов написания логики в БД от них очень сильно подгорает.
5) множественные следствия из п.1 - упрощение тестирования, возможность наследования сущностей, типовые решения и шаблоны проектирования и т.д. и т.п.

> Сложность? Нет, сложность увеличивается,


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

еще раз - ты думаешь что если ты будешь писать вместо хибера голый скл то у тебя там будут всю дорогу запросы в духе update user set name='vasya' where id=1? хуй там. у тебя будет несколько сотен файлов типа пикрелейтеда неведомой ебанины которую легче каждый раз писать с нуля чем пытаться разобраться что в ней написано, а особенно фееричные запросы будут достигать размера в нескольких сотен строк.
324 2636029
>>36013
у тебя на картинках аналитические запросы, которые хибернейтом ты ну никак не сделаешь. Только если выгружать данные и в жабе делать это же самое
325 2636037
>>35152
>>35166
Отставить тряску - ДимСаул уже все объяснил
326 2636042
>>36029
а ты хочешь в своем приложении еще pure sql оставить? да ты ебанешься, просто выведи стактрейс хибера и посмотри какого размера запросы он генерирует. тебе, чтобы сохранить хоть-какую-то читабельность и вменяемость кода придётся переходить на хранимки/курсоры.
327 2636055
>>36042
не понял аргумента. Я знаю что хибер высирает тонны говна и что я могу делать запросы лучше чем хибернейт.
Кстати хранимка у тебя тоже не скомпилится если в ней ошибки.

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

кроссплатформенность - нахуй не нужно и сомневаюсь что хибер может её обеспечить. Кеш для бд - нахуй не нужен. Разграничение - глупость. Просто лишились возможстей хранимок/вьюх. С таким же успехом можно было запретить хранимки/вьюхи.
Хибернейт и его генерацию точно также нужно тестировать. И ещё глазами смотреть что он там генерирует и насколько плохо
328 2636062
>>36037
Твой протык?

Репорт.
329 2636065
>>35968
Потому что котлин, а джава ненужна. Ну шарпы просто редкий стек. Я бы если знал о предстоящем кризисе лучше бы пошел в универ и дрочил питон, го, линукс и облака вместо крудошлепства
330 2636097
>>36062
Не знаешь Дмитрия Соловьева? Позорище, ливай с треда.
331 2636098
>>36097
Репорт.
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 статический член или нет?
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 статический член или нет?
333 2636284
>>36279
член у меня в штанах
334 2636286
>>36279
В смысле? У тебя вообще нет строковых полей, только аргумент. Нет никакой разницы, как ты вызываешь метод, передавай хоть статическое поле, хоть поле объекта, хоть переменную.
335 2636287
>>35325
Я ваще google guice юзаю, мне похуй
336 2636291
>>35344
Похуй сколько стартует, главное как работает в долгую. Или вы там блядь апликейшены каждые пол часа деплоите?
Так же похуй сколько жрёт памяти, если она работает быстрее. С точки зрения инфраструктуры купить больше памяти дешевле и проще чем добавить\купить больше CPU
337 2636292
>>35396
два чая этому господину
338 2636293
>>36287
ебать ты конченый
339 2636296
>>35214
Нулы это наёбка для мидлов и джунов которые блядь архитекруту не понимают и что падать надо как можно раньше. Потому что если тебе в проде придёт нул и ты его просто примешь как должное, то обосрёшься как тиньков и кого то выебут (кому-то даже понравится)
340 2636298
>>36293
Я в гугл батрачу, у гугла ВСЁ своё. Все фрейворки чисто свои, они себе могут позволить.
341 2636299
>>36296
ну и как умник хуев ты будешь моделировать дату начала некоего события если оно еще не произошло?
342 2636324
>>36299
Есть такая вещь как Promise, когда произойдёт тогда и будет результат.
343 2636330
>>36013
Бля, ебать ты евангелист. Сколько те за эту лыжу заплатили? Хуй да маленько?
344 2636335
>>36324
еблан у тебя поле ВРЕМЯ НАЧАЛА какой нахуй промис
345 2636338
>>36335
Чем null лучше 0 в ситуации когда событие не произошло?
Темболее что это за извращённая логика когда событие ещё не началось, а его объект уже есть? Нахуй он нужен? Сделай объект Promise весь целиком, что он как бы есть, но детали его появятся когда он действительно случится.
346 2636341
>>36338
Date startDate = 0; // мам я еблан

>Нахуй он нужен


ну например он ЗАПЛАНИРОВАН но не НАЧАЛСЯ
короче ты безработный БОМЖ сразу видно
347 2636345
>>36338

>Чем null лучше 0 в ситуации когда событие не произошло?



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

Мимокрок
348 2636346
>>36341
Так он блядь запланирован на когда-то же, а не блядь просто в никуда?
Кароче ты быдло джун.
Ты чё блядь потом после создания объекта его ещё редактировать будешь меняя свой ебучий нул на какую-то реальную дату? Ты блядь про многопоточность и иммутабельность слышал?

>>36345
Всё именно так. Оба варианта хуета хует, помимо того что нул это такая хуета шо лучше уж 0.
349 2636350
>>36346

>Так он блядь запланирован на когда-то же, а не блядь просто в никуда?


запланирован в одно время а стартанул в другое и как ты потом это узнаешь хуйлуша?
350 2636351
>>36346
я те блядь еще больше скажу у него есть еще и ВРЕМЯ ЗАВЕРШЕНИЯ вот ты щас охуеешь да?
351 2636352
>>36350
Если стартанули в другое от запланировано времени, предыдущий объект должен быть уничтожен, а не перезаписан.

>>36351
Почитай про Promise. Ещё есть такая хуйня как имплементировать метод boolean hasDate(), и возвращать true если что-то реально было записанно, false если значение по дефолту стоит. А для getDate() метода, если поле содержит дефолт значени то выкидывать эксепшен.
/thread
352 2636353
>>36346
>>36351

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

Где логика, где обьективность? Шли б спать, один хуй не договоритесь.
353 2636354
>>36353
Не нуль-обжект-заменитель, а провославный фрейворк Promise, в который можно завернуть объект Promise<Date>.
И да, у меня рабочий день, мимогуглодев в треде
354 2636356
>>36352

>Ещё есть такая хуйня как имплементировать метод boolean hasDate(), и возвращать true если что-то реально было записанно, false если значение по дефолту стоит. А для getDate() метода, если поле содержит дефолт значени то выкидывать эксепшен.


boolean hasDate() { return this.date != null; }
Date getDate() { return this.date; }
requireNonNull(object.getDate());
ахуенно придумал братан
355 2636360
>>36354
Ну значит работать, в твоем случае.

И кстати, о каких конкретно промисах в джаве ты все время талдычишь? В джаве оные никогда не были в ходу, их роль всегда с лихвой покрывалась прочими штуками типа Future(Task) или CompletableFuture.
356 2636361
>>36360
это шарпоблядь под прикрытием
357 2636365
>>36361
Да чел, мне похуй - что шарпоблять, что гуглодев. Один хуй - двачер.
image.png235 Кб, 1327x1362
358 2636366
>>36360
Блядь, сорямба, думал опенсорс уже.
Получается чисто гугловая либа асинхронная. Думаю что-то подобное в опенсорсе должно быть.
359 2636367
орунах проекты гугла в яватреде сливают
360 2636368
>>36367
да нихуя тут не слито, вот почитай концепты
https://promisesaplus.com/
361 2636369
>>36013
Пишу такие запросы как на пиках на jooq.
И круды тоже пишу на jooq. Проблемы только с дедупликацией корневой сущности при джойне листа пока возникали. Но и они вполне решаются, конвертом приджойненого в массив джейсонов.
И в чём я не прав?
362 2636373
>>36366

>Такая же хуита что и коплитблфьючи.


>Но куча ненужных апишек.


>И его нельзя блокнуть, можно использовать только в асинхронной дрисне.


Нахуй ты это говно сюда притащил, культист ебаный?
363 2636374
>>36373
Просто выёбываюсь что могу жрать говно и смаковать
364 2636380
>>36366
Прочитал.

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

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

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

Короче либо ты пиздишь что из гугла, либо лычка гуглодевелопера не значит ровным счетом нихуя, и внутри гугла кодят такие же дебилы, что и снаружи.
365 2636386
>>36380
Сорри, может меня недопоняли или я рил мудак. Я хотел сказать, что весь объект делать промисом, а не 1 поле, если этот объект будет как бы существовать когда-то там.
366 2636387
А если мне в базенке надо занулить ячеечку в табличке? Как без нулика то?
367 2636389
>>36387
Ну вот это тот случай, когда можно
368 2636390
>>36389
Так. А если динамически надо ячеечку заполнить, а в довольно случае занулить? Значит можно и создавать переменную, равную null.
369 2636392
>>36390
Используй Optional. Нул нужно избегать всеми возможными способами.
370 2636394
Буду использовать null. Потому что мне похуй.
371 2636397
>>36380
Угар по промисам в хайлоаде никогда не пройдёт, асинхронность лучший способ максимально утилизировать ресурсы.
Зеленые треды это только если для каких-то ембедед вещей, которые на уровне железа\ос не могут в потоки, потому что никто лучше менеджить потоки чем ос\железо, не сможет.
372 2636460
Сап, кто-нибудь знает, где найти API для Nokia s40?
373 2636614
>>36386

>весь объект делать промисом, а не 1 поле, если этот объект будет как бы существовать когда-то там.


сохранил промис в базу
@
мам я еблан
374 2636764
>>36397

>асинхронность лучший способ максимально утилизировать ресурсы.



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

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


>потому что никто лучше менеджить потоки чем ос\железо, не сможет.



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

О нееееет, "этож нечистый код, а как же швятой ОРМ". Мракобесы блять.
376 2636785
>>36455 (Del)
Еще бы этот @Nullable не был вендор-локнут на идею блять, и можно было бы его чекать на уровне сборки, фейля билд в случае чего, цены б ему не было.
377 2636806
>>36779
Ты зачем так порвался?
Я фанат через джуучек в базенку класть значения, нулики в том числе.
А потом вынать большие объекты с большой вложенностью одним запросом с стешками и кучей джойнов.
378 2636820
>>36806

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



Ну ок, сорян, постановка вопроса звучала так, будто ты как типичный ОРМ-чел даже помыслить себе не можешь ситуацию, где есть что-то кроме ентити=таблица (и как следствие если таблица с нуллабл полями, нулей в энтите не избежать).
379 2636830
>>36820

>ентити=таблица


Это очень удобно на самом деле даже без орм.
Но даже в жпа можно писать через дтохи(через jpql), а забирать через проекции.
1678561219674.jpg268 Кб, 1170x1043
380 2637330
Что касается петпроектов. Как думаете, на чем лучше всего навыки практиковать? Ну и чтобы в дальнейшем не стыдно было показать. Я так понимаю парсеры, калькуляторы, магазины и прочие поделки с курсов идут нахуй. И что в итоге остаётся? По всей видимости на собеседованиях ожидают увидеть какую-то научную хуйню, чтобы с серьезным ебало ее презентовать.
381 2637335
>>37330
Оно должно быть полезно на практике, а не синтетически высрано.
Вот наберешь сто звезд на гитхабе, это уже хоть что-то.
Как те долбоебы, вандалившие свои миллионные жс-либы - это взлетевшие пет-проекты.
382 2637336

>>263733000


Кому ты свои петы собрался показывать? Работодателю?)))00)
383 2637355
>>37335

>>Оно должно быть полезно на практике


>>Вот наберешь сто звезд на гитхабе


Энтерпрайзу похуй на звезды и гитхаб, либы берут с репозиториев, а не с рандомной помойки.
384 2637360
>>37355
Не для энтерпрайза, а вообще.
Т.е. это что-то, что применяется посторонними людьми для какой-то пользы, а не высрано для галочки. Чуешь разницу?
385 2637374
>>37330

>Как думаете, на чем лучше всего навыки практиковать



Напиши свой нетфликс или сбер. На крайняк банк Санкт Петербург. Мельче проектов на джаве не бывает.
386 2637376
>>37369 (Del)
i8 i16 i32 i64 f32 f64 сразу хуле
387 2637383
>>37360
Зачем людям использовать джаву не для энтерпрайза? Они что ебанутые?
388 2637387
NumberOf
NumberEnvelope
TextOf
ScalarOf
389 2637402
>>37387
Очередную убийце джавы выдумываешь? Остров с подходящим названием то выбрал уже?
sage 390 2637404
LickDickOf
SuckCockOf
391 2637414
>>37330
На собесах мы смотрели только один раз пет, когда челика брали по рекомендации и он переписал свой пет под наш стек.
392 2637420
>>37415 (Del)
Скучно слишком, когда десятилетиями всё работает и ничего не меняется.
393 2637483
>>37409 (Del)
ты додич
394 2637516
Что он говорит после "возьмите спринг мвс и ..." ?
СИМЛИВ СИМЛИБ, хуй поймешь
1:13:13
https://youtu.be/xReBrinErYU?t=4393
395 2637518
>>37516
Thymeleaf

Так вот откуда вкатуны взяли моду на шаблонизаторы, они оказывается петучинского все посмотрели.
.jpg173 Кб, 1246x919
396 2637555
>>37518

> вкатуны взяли моду


Вкатуны в Java, я всё правильно понял?
397 2637651
>>37518
Просто таймлиф самый популярный и при этом простой шаблонизаор. А Скуфчинский раньше стракты всякие советовал.
398 2637753
>>37409 (Del)

Нахуя тебе дженерики в рантайме? Какую проблему ты собрался ими решать?
399 2637766
>>37415 (Del)
Есть мнение (не мое), что у мавена не очень хорошо все с распараллеливанием и инкрементальностью билда. Часть проблем, вроде как, решает поделка под названием mvnd, но я мало ее пробовал.

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

В остальном - мавен все еще топчик.
400 2637775
>>37753
Проблему отсутствия дженериков в рантайме.
401 2637780
>>37775
Ясно. Инфантил.
402 2637797
Курс по java от яндекс практикума пойдет для начала, чтоб я хоть немного смог претендовать на стажировку в самом же яндексе? Ради приличия попробовал на сайте решит самую первую задачу, тест прошла, дальше пиздец. Ну и про стажировку в яндексе, у кого какие мнения есть, если я из ебаной деревни, есть возможность таким оьразом хоть поьывать в Москве?
403 2637820
>>37797

>смог претендовать на стажировку в самом же яндексе?


Лол нет. Яндекс после своего же практикума на работу или стажировку не берет. Практикум - это самый минимум знания разработчика, как умение писать или читать
404 2637826
>>37820
Про 1 задачу, это я имел ввиду на сайте контеста, где заявку на стажировку подаешь, но там чет алгоритмы еще нужны, т.е. вкатуну только киснуть в сбере/втб?
А про сам курс яндекса есть мнение, там уверенные джуны получаются хотя бы? Спасибо
405 2637834
>>37826
Нет. Почти все курсы это дно. Это даже не стажер. Плюс для многих прохождение платных курсов для дебилов это показатель, что ты сам не умеешь учиться, искать инфу и тебе нужны пендели. Если и будешь брать курс, лучше никому не говори, что его проходил.
406 2637837
>>37826

>вкатуну только киснуть в сбере/втб?


Вкатуна туда не возьмут. Набора джунов нет ни в сбер, ни в втб.
407 2637840
>>37834
Учту, я впринципе видел, что люди советуют пиздеть про опыт работы, чтоб на позицию миддла вкатиться сразу, заучивая вопросы/ответы собесов, но эт же пиздец. Как они держатся больше пары недель, или таким оьразом и нарабатывают опыт работы? :(
>>37837
Но почитывая треды, я вижу, что зп выше чем у яндекса, и не так ебут при собесах, не так ли?
408 2637848
>>37766
жди мавен 4 там все будет
409 2637864
>>37848
А замена СкуфXML на yaml будет? Иначе останусь на Gradle + kt!
410 2637874
>>37864
Оставайся. И никогда не возвращайся
411 2637876
>>37864
Да, см пик 3 в шапке.
412 2637995
Как сделать так чтобы что-то вроде <img src="http//localhost:8080/C://outsideFolder"> работало? То есть чтобы картинки в хтмл подгружались из папки вне папки проекта. Пока подргужаются только из папки static что в resources.
413 2638004
>>37995
Забыл добавить, картинку добавляются/удаляются динамически во время рантайма.
414 2638005
>>37995
Ты же понимаешь, что это специально сделано, чтобы злоумышленник не мог поставить путь к любому файлу и спиздить его?
415 2638071
>>38005
Не, мне нужно было чтобы это путь был в серверной части. То есть сервер и на нем эта директория C://outsideFolder. Нужен был даже не именно абсолютный путь, а любой способ юзать динамичные ресурсы в сторонней папке(не resources/static).

Уже проблему решил через WebMvcConfigurer и метод addResourceHandlers. Кстати, можно как-нибудь это через application.properties прописать?
416 2638181
Я когда джаву только учил года три назад - наткнулся на рассказ о project valgalla. И ждал ее первое время.
Вальгалла сейчас заморожена? Только лум и панама кое как пилятся и то непонятно когда будут в релизе?
417 2638201
>>38181
Я жду только project generiki v rantaijme
418 2638228
>>38082 (Del)

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

И даже если рефлексия тебе чего то недодает, ты всегда можешь спуститься на уровень ниже, взять какой нибудь байткод-тул типа ASM или ByteBuddy, пропарсить им байткод классов и извлечь всю нужную инфу. На твоем месте, если б передо мной стояла генерить что-то в билд-тайме по классам и их аннотациям, я б сразу забил на рефлексию и шел бы этим путем.
419 2638254
мужички, подскажите плиз у меня в новой JDK19 джаве то ли работает то ли не работает "super" по гайду нужно вписать такое super(speed,weight) а у меня работает только с super( ). и я не понимаю оно наследуется или просто новое вводится. мне просто нужно чтоб наследовалось. нагуглить не могу . заранее спасибо за помощь.
420 2638266
>>38254
у меня даже от скринов глаза начали болеть. Как вы сидите в этой даркуле?
SA6h7bZObE.png206 Кб, 1918x903
421 2638271
>>38267 (Del)
единственная нормальная тема
422 2638272
>>38264 (Del)
Представь себе еблан
423 2638273
>>38266
а ответ то какой , че по суперу то ?.норм что он пустой? или нет?
424 2638276
>>38273
показал бы ошибку. И во втором скрине второй transport внизу. Что это?
425 2638277
>>38275 (Del)
ебал твои принципы в принципе
426 2638283
>>38276
В этом ошибка
первый скрин-как у меня
второй как надо(я так понимаю), у меня супер красным горит ,когда делаю по гайду
Снизу в транспорте была простая пустышка,думал мб пофиксится
427 2638285
>>38283
наведи мышкой на красное. Выскочит табличка с описанием. Подозреваю из-за второго transport
428 2638288
>>38284 (Del)
я недолюблюваю высокобукв
429 2638292
>>38285
Аа , реально помогло .ждк попросил конструктор бахнуть и реально заработало
Миска рис тебе
430 2638351
>>38342 (Del)
Он же специально так пишет, чтобы у тебя жёппа сгорела.
431 2638372
>>38264 (Del)

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

jshell> TTTT.class.getField("list").getGenericType()
$21 ==> java.util.List<java.lang.String>
432 2638391
>>38351
Я другой анон, но я не представляю себе, как с таким отношением к синтаксису и конвенциям возможно будет писать продакшен код.
433 2638413
Да , я первую неделю на Джаве пишу. Так что прошу извинить меня за явные ошибки с регистром кода. Пока еще не вошло в привычку и понимание что к чему.
Довольны моей письменной речью теперь, Уважаемые Пользователи анонимной площадки для постинга букв?
434 2638430
>>38413
А на русском какую неделю пишешь?
435 2638448
>>38413
пашол нахуй
436 2638478
>>38403 (Del)

>Но читать и писать научился он явно не вчера


Да, я про это и говорю.
437 2638518
Кто-нибудь работал в bell integrator? Норм компания или дерьмо?(как я вижу по отзывам мутная какая-то компания)
438 2638521
>>37518
А как делать без шаблонизаторов? Руками хуярить хтмл теги или что?
439 2638523
>>38521
React
440 2638525
>>38518
Да.
441 2638537
>>38516 (Del)
Нахуй иди,долбоеб, мы с ним твою мамашу уважали
442 2638620
Походу даже на спринг бут 3.1 с 2.7 не будет смысла переходить. Там в большинстве сервисов что-то сломается, а фич новых и полезных нету так то.
Или есть?
Наверно в конце года/в начале следующего прыгать на джаву 21. К бут там уже будет 3.3/3.4.
443 2638813
>>38523
реакт это оверкил для вкатунского пет проекта.
444 2638818
>>38813
UI во вкатунском проекте бэкендера вообще нахуй не всрался, сваггера хватит.
445 2638994
Есть ли смысл использовать в своих пет-проектах логгер или это лишнее? И какая разница между объявления логгера с помощью аннотации Lombok и статического объекта интерфейса Logger?
446 2638997
>>38994
а как без логгера? В систем аут?
447 2639009
>>38994
Хочешь - используй, не хочешь - не используй. Ты у нас спрашиваешь, что лишнее в твоём проекте, который ты пишешь для себя?
448 2639028
Посмотрел впервые бугаенко, хочется теперь создать 500 враперов над каждым объектом и иметь 100 ифов в контроллере
449 2639044
>>38994
В целом изучить, как настраивать логбэк или лог4ж, имеет смысл. Это пока приложуха локально задеплоена, ты можешь к ней и дебаггером подлезть, и прочими тулами, и в целом на все похер. А в боевом окружении отсутствие логов очень запросто превращает жизнь команды в ад.
450 2639046
>>39028

>иметь 100 ифов в контроллере



?
451 2639049
>>39046
Ну а как понять, какой декоратор мне нужен в конкретный момент? Ну хорошо, пусть будет 100 методов в контроллере
452 2639052
>>39049
Но в контроллере и так по методу на эндпойнт. Или про какой "конкретный момент" речь?
453 2639064
>>39052
В контроле может нулл прийти
454 2639067
>>39064
Окей, а остальные 99 ветвлений тогда что?
455 2639089
>>39067
Ну может быть не один параметр и у параметров внутри тоже могут быть нуллы, а нужно создать конкретный декоратор, где их не будет. Значит нужно либо заиметь эндпоинтов по количеству декораторов, либо как-то ифами разгребать и сохдавать нужный
image.png15 Кб, 876x306
456 2639125
Аноны, пишу кастомный плагин для Gradle, вопрос мб тупой но все же - должен ли я юзать Property (те, которые менеджатся градлом) в Extension'ах или Property только в тасках юзаются?

Т.е. берешь из расширения поля, пробрасываешь их в Gralde-managed properties?
457 2639128
>>39125
Пошел нахуй.
458 2639144
>>39128

Хуя ты сильный джавист, небось и жвм неплохо прогреваешь своим пылающим анусом
459 2639150
>>39144
У тебя весь рот в гредле, молчал бы
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.

Это вообще нормальная практика?
461 2639319
>>39310
Что не так? Только не рекомендуется делать слишком много мап, да и вообще паблишер лишний раз создавать, а то по производительности может ударить
462 2639323
>>39319
Я сам не знаю вот и спрашиваю, показалось просто странным флатмап для этого юзать
463 2639363
Пиздец блять попробовал через этот флатмап зачейнить всё. В итоге упёрлось в гугление почему реквесты выполняются два раза, оказалось что это-то непрямого сабскрайба от флатмапа. Помог в этом разобраться как не смешно чатгпт лол. Потому что гугл на жсовские и ангуляровские вопросы на стаковерфлоу меня кидал.
464 2639392
>>38620
https://www.baeldung.com/spring-6-http-interface
Мне вот эта штука понравилась, можно выкинуть вонючий feign. Больше вроде ниче и нет.
image.png2,1 Мб, 1200x1200
465 2639395
>>39125

>Аноны, пишу кастомный плагин для Gradle

466 2639398
>>39363
Что имеется в виду? Кинь пример кода
467 2639420
>>39398

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

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

secondMono.subscribe
468 2639445
>>39420
В таком виде это лишено смысла.

Это как то так должно выглядеть. 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>
469 2639447
>>39445

>>Mono<T>


>>.subscribe()


Тут проебался - субскрайб лишний, с ним будет не моно, а диспосабл. Но надеюсь суть ты понял.
470 2639456
>>39445
Суть то я понял, пасибо анончик. Ток тупой я чет для этого пока-что. Пойду перепишу это всё с реакта, а то умру потом ещё больше функционала так писать
471 2639489
Сделал пулл реквест в свою же репу,как его теперь удалить? Там нихуя полезного,бесит что он висит в списке закрытых
472 2639494
>>39489
Удали репу и создай заново
473 2639496
>>39494
Охуенно ты придумал
474 2639505
>>39496
Ну как бы да, ты не путай git-репу и проект на GitHub. Твой код останется у тебя и ты сможешь заново запушить его
475 2639543
Я не понял, то за зоопарк apache.commons?
Это же просто свалка творчества Васянов, типа питоновских библиотек или плагинов к Идее или я что-то не понял?

Пытался загрузить в Идею примеры кода из Пактовской книжки и там все нахуй обмазано импортами этого говна типа org.apache.commons.codec.binary.Base64 и в мавене это не прописано (еще и я в мавене не разбирался)
476 2639550
>>39545 (Del)
Я пытаюсь Java core выучить
477 2639558
Скиньте кто-то курсы от Kata Academy
478 2639630
>>39567 (Del)
Уныло, пиздец.
479 2639642
>>39550
Читай Хорстмана, там почти нету внешних библиотек. А в том месте, где появляется он показывает какой гемор их подключать без сборщика. Заодно поймешь что мавен тебе нужен пиздец как.
480 2639646
Ща даун-скорострел перекатит.
16697996003575.jpg107 Кб, 700x875
481 2639649
>>39637 (Del)
Уныло обмазываться всеми этими фреймворками тестами, сборщиками профайлерами, персистансами, аджайлами, жирами еще до того, как начнешь писать что-то из 1-3 классов.

Изучил гит, который сейчас мне никак не помогает, теперь еще мавен, потом блять JUint какой-нибудь понадобится. Я так никогда не продвинусь =(
482 2639659
>>39543
Это творчество васянов было актуально во времена Java 1.5-Java 1.6. Потом да, в Java 7-8 уже большая часть нужного появилась в стандартной библиотеке (или в Спринге)
483 2639665
>>39642
Да я читаю и Хортсмана, и Эванса, и Java Precisely параллельно, потому что мало кто пишет четкие определения для терминов и приходится из нескольких источников собирать.
484 2639668
>>39659
Да-да, именно такое уныние из 00-х и вызывает сайт apache
Зачем-то Nick Samoylov в своей книжке 2022 года использует все это окаменелое говно.
Значит, идет он нахуй со своей книгой, хотя теоретическая часть была неплохая.
485 2639674
>>39665
Все там норм с терминами, если ты в оригинале читаешь.
Какие термины плохо определены?
486 2639676
>>39668
По джава кору написаны тысячи книг. И по закону больших чисел большая их часть - говно.
487 2639686
>>39659
Нормальных утилит для работы с коллекциями в джаве до сих пор нет, а спринг сильно ограничен.
488 2639696
>>39674
За дифференцирующими определениями token, expression, statement я залез в книгу про компиляторы. Это было важно, чтобы понимать синтаксис (где ставить ; , {})
Static code и non-static code. Четкая структура, которая есть у class-header
(<access modifiers> public/private/protected <keyword> class <class name> <extends-clause> <implements-clause>)

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

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

>>39674
>>39676
Спасибо а поддержку, добрые люди!
489 2639717
>>39696

>>это немного не то, к чему я привык в инженерных дисциплинах.


Читай спецификацию.
490 2639738
>>39717
Java Precisely пока что мне нравится больше всего

>>39721 (Del)
Чтобы выебываться на собеседованиях конечно же
491 2639870
>>39567 (Del)
Схуяли? Пусть сначала java core подтянет, поймёт что такое jar, в итоге он сам захочет мавен себе. А не зная java core даже он никогда в жизни нормально не поймёт что это такое и нахуя нужно и как работает
492 2639902
>>39567 (Del)
>>39870
>>39872 (Del)

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

Это в нормальных экосистемах можно начинать учить язык с билд-тулов, потому что тот же cabal init, например, одной командой создает компактный проект с прожиточным минимумом по дилбовой обвязке. А мавен с джавой сразу задирают порог входа в небеса, потому что могут предложить лишь стопятцот архетипов, которыми один хуй никто не польузется, где хуй пойми с какого лучше всего начать и хуй пойми что намешано.
493 2639904
>>39902

>дилбовой


*билдовой
494 2639907
>>39536 (Del)
>>39395

Semen, pls

Еще б понимал чего, болезный, позоришься только своим пылающим пердаком
495 2639914
>>39870
>>39872 (Del)
Эх, пошёл вникать в maven и XML
пиздец, вкатился в бэк через простыни угловых скобочек
image.png5 Кб, 199x112
496 2639916
>>39907
Как же ты сейчас обосрался...
497 2639918
>>39902
С Идеей немного проще, конечно, но в этом случае она не смогла найти и скачать импорты.
Я даже руками искал (через интерфейс Идеи) в мавеновском репе библиотеки, но и там ждал провал.
498 2639919
>>39902
Что там задирать в мавене? Генеришь дефолтный проект и забываешь про него. Потом копипастишь зависимость - и ты уже продакшен-реди-джун.
499 2639927
>>39918
Идея, когда дело доходит до менеджмента мавен-модулей, глючная, как ебаная сука. Каждый раз плююсь на нее как первый раз.

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

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

И ведет она так себя по ублюдочному кучу лет уже. Никто не фиксит, всем похуй.
maven.png80 Кб, 1159x1034
500 2639944
>>39927
Да я уже заметил, когда решил просто Maven-артефакт-application создать в Идее и она мне сделала имя GroupId с $ в начале. Без всяких запросов подтверждения ("что-то не так с именем, может передумаешь?") и возможности откатить.
501 2639958
Парни , объясните вкатуну чем интерфейс лучше класса и можно ли вообще забить на него и использовать классы. Заранее спасибо!
502 2639964
>>39958
Забить можно, но на собеседованиях тебя спросят про интерфейс и класс в первую очередь
503 2639968
>>39958

>чем интерфейс лучше класса


Они - не лучше и не хуже, они просто другие, и существуют для других задач.

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



Можно. Но тогда ты лишаешь себя бенефитов от использования полиморфизма и инверсии контроля, что рано или поздно стрельнет тебе в ногу.
504 2639972
>>39964
>>39967 (Del)
>>39968
Понял,спасибо!
505 2639998
>>39902
Так ебать, если он не понимает как работает импорт и как работает classpath, и зачем ему apache commons, на кой хер ему лезть в мавен?

>>39958
Пока что в начале обучения можешь. Потом - нет, интерфейс очень важная часть ооп. Могу порекомендовать почитать Part 1 книги touch of class B. Meyer'а. Разложишь себе по полочкам разницу между классом, объектом и интерфейсом
506 2640003
Двачик, выручай вкатуна
Наблюдаю проблемы с печатью инфы про аккаунты из БД в сервлет. Есть метод getAccountsShortInfo() который читает инфу об аккаунтах из БД.
Почему то printWriter в сервлете перестает писать любой текст после вызова этого метода (хотя возможно причина не в самом вызове метода). То есть он не пишет данные из БД вызываемые в методе, и так же не пишет обычные любые String после этого (Строка "After database reading")
При этом при дебаге видно, что printWriter успешно собирает ВЕСЬ нужный текст, но сам сервлет отображает только тот текст, что идёт до вызова метода getAccountsShortInfo()
Думал, что данные из буфера не полностью передаются, но методы flush() или close() нихуя картину не меняют
507 2640012
>>40003
А ты уверен что у тебя там нет эксепшенов?

Попробуй из catch блока сделать throw
508 2640016
>>40003
Или еще гипотеза. Ты уверен что проблема - в респонзе, а не в браузере? Может хтмль пришел весь, но браузер его криво отрендерил? Чекал вкладку networks?
509 2640019
>>40016
>>40012
Эксепшенев нету

Что за вкладка networks? Где это?
510 2640025
>>40003
>>40016
Ебать, прописка после каждого append() метода flush() всё пофиксила. Не понимаю почему
pw.append().flush();
511 2640037
>>40025
Cглазил нахуй, перестало работать
СУУУУУУКА БЛЯЯЯЯЯЯТЬ
512 2640060
>>40025
Flush и close надо в самом конце прописать
513 2640064
>>39916
>>39930 (Del)

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

Помимо некомпетентности и шкилы головного мозга.
514 2640065
>>40037
Вангую, что если ты строку будешь собирать StringBuilderом и делать только один

>append(StringBuilder.toString()).flush().close()



То всё заработает
1111.JPG64 Кб, 1366x689
515 2640068
>>40060
Не помогло, всё равно только половина текста
Кстати, вижу вот эти красные ошибки, может и правда чот с браузером не то? Хотя в ебучем Edge та же картина - только половина текста
33.JPG134 Кб, 817x648
516 2640082
>>40065
Интересная идея
В таком случае сервлет падает с 500
517 2640091
>>40065
Вообще не ебу теперь. Поместил закрытие writer в блок finally и теперь сервлет просто пропускает инфу из БД.
КАК НАХУЙ ЭТО ВОЗМОЖНО? КАК ОН ПЕЧАТАЕТ StringBuilder НЕ ПОЛНОСТЬЮ?

в пизду программирование, буду проституткой
518 2640095
>>40091
Братишка, так всё логично. У тебя функция, которая лезет в бд нихуя не работает. Выбрасывает экспешн. При этом вместо обработки ты нихуя не делаешь. Посмотри в логи приложения в идее, у тебя там наверняка залупа

Кинь код на pastebin я тебе покажу как это должно быть по человечески сделано
519 2640119
>>40095
Там дохуллиард классов и методов, но вот, основые методы я выделил по классам
Спасибо, анон!
https://pastebin.com/RUazYim3
520 2640144
>>40119
Я на самом деле просил только код сервлета, чтобы показать тебе как надо было делать обработку ошибок. По хорошему ещё нужно добавить логов/выводов в консоль, это помогает очень сильно. Логгером ещё не умеешь пользоваться? Очень важно в программировании уметь определять где что не так пошло

Смотри комментарии, я не запускал, но примерно оно так должно выглядеть
https://pastebin.com/2vfwhhFH
521 2640167
>>40082
Так это уже другой косяк. Чето с базой данных у тебя случилось.
sage 522 2640374
>>40358 (Del)
Тредом ошибся.
523 2640392
>>40358 (Del)
Размер очка вкатунов при каждой версии))
524 2640468
>>40358 (Del)
Я надеюсь,все параметры передаются в конструктор?
525 2640520
Если я честно скажу, что при стажировке/junior позиции, буду юзать gpt и стараться разбираться в проблеме, какие подводные камни будут при собесе? Эта хуйня все равно лучше пишет стандартного junior разработчика, если адекватно описывать ТЗ
526 2640521
>>40520
Мнение? Без опыта все равно меня даже не рассмотрят до собесов
527 2640531
Нужно развернуть сервер на локальном хосте с базой данных и json файлом. Когда буду делать с моего приложения запрос на сервер, данные из базы данных должны будут отправится в json файл, и оттуда я их буду брать. Подскажите пожалуйста, как это реализовать ?
528 2640542
>>40531
Звучит как - мне нужно вывести спутник на орбиту, подскажите как это реализовать?
Откуда мы блять знаем твой уровень подготовки к запуску сервера? А про файл ты вообще бред пишешь
529 2640544
>>40531
При чём тут файлы? Тебе надо получить ответ от сервера в формате json, а данные в ответ подтянуть из базы? Если так, пили на спринге rest-контроллер.
530 2640607
>>39543

>Я не понял, то за зоопарк apache.commons?


ядреное легаси.

>>39668

>Зачем-то Nick Samoylov в своей книжке 2022 года использует все это окаменелое говно.


ты это говно встретишь с вероятностью 95% в любом более-менее серьезном проекте.
при этом сами эти апачевские либы вполне хороши, это набор простейших инструментов которые просто работают. юникс-стайл как он есть, без всякой архитектурной залупы, монтстрообразности, оверинжиниринга и мешанины всего и сразу как в гуаве или спринге. чувствуется что ее писали люди у которых мозги на чистом си работают. там где можно обойтись одним статическим методом обходятся одним статическим методом, а не городят огород из нагромождений интерфейсов для сримов и абстрактных фабрик
531 2640612
>>40531
я ебу чел
это тред джавы
532 2640660
>>40607
Там какие-то дикие коллекции типа 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"

533 2640670
>>40607
ну.. такое. Ради этого этого мне импорты делать?

Это, конечно, подходит под описание

>>набор простейших инструментов которые просто работают

534 2640736
Нормально вообще взять в качестве пета фронт с гитхаба и сделать для него свой бэк?
535 2640767
536 2640776
>>40544
Ну да, но как я их получу в формате json ? Через Url ?
537 2640795
>>40776
Да, просто сделать http-запрос через любую библиотеку.
538 2640841
Как зайти на веб-страницу веб-приложения, которое работает на одном пк, с другого ?
539 2640848
>>40841
По айпи адресу машины, на которой сервер. При этом он должен быть reachable
540 2640949
java + нет опыта + удалёнка = 26 вакансий на НН. не вкатицо, не пробраться, не пролезть.
541 2640959
>>40949
Вот и не вкатывайся.
542 2641166
>>40949
Где 26?
У меня всего 26 вакансий в Чите.
543 2641183
>>41166
Город не уточнён = Москва.
544 2641198
Как получить доступ к файлу в spring по URL ?
Типо вот так http://localhost:8080/file.txt.
В какую папку файл положить ?
545 2641215
>>41198
Сделать котроллер, который будет дергать логику получения файла и выставить наружу эндпоинт
546 2641235
>>41215
Уже дошло, нужно было просто положить файл в папку static.
547 2641257
>>30498 (OP)
https://www.youtube.com/watch?v=yU6DTrMuo0k

В голос с самоделкиных!
548 2641263
>>41257
хехехехе в моей компании тоже раньше переписывали мавен
549 2641288
>>40949
Так без опыта на удалёнку никто брать и не будет
550 2641377
Рационально ли создавать библиотеку с одним классом ?
Типо, класс с помощью которого можно отправить запросы на сервер с get и post.
551 2641388
>>41288
Меня взяли, вопросы?
552 2641391
>>41288
а вменяемое объяснение такого нежелания выйдет погулять?
553 2641394
>>41388
Расскажи, пожалуйста, о своих знаниях с которыми тебя взяли на работу. + сколько времени понадобилось на ват и какие у тебя исходные данные (учишься/учился в универе или уже пытался учить языки до этого)?
554 2641398
Кто знает чела по имени дима с обезьяной на аве? Говорят пидр знатный.
555 2641403
>>41398
твой тред в /hry/
556 2641413
>>41394
Ага хуй тебе, так я все и рассказал. Чем меньше вкатышей будет, тем мне лучше по итогу, и так скоро будет борьба с чатжпт за сотыги. А ты лучше оставь это дело, вкат и так всё твердо и четко.
1.jpg419 Кб, 640x640
557 2641456
>>40144
Блять, братишка, ты лучший
Огромное тебе спасибо, благодаря тебе я обнаружил в чём косяк. Мира тебе и твоему дому, друг
558 2641479
>>41413
Так ты уже устроился, что тебе терять? С боевым опытом ты уже никуда от рекрутёров не денишься если пол года - год проработаешь.
Меня никто не остановит вкатываться, просто хочу ориентировочно просчитать сколько времени у меня на это уйдёт
559 2641495
>>41479
Я щас год отработаю, а ты потом себе два накрутишь по советам от инфоцыган. По итогу будем вместе бороться за лычку мидла в рога и копыта, а мне этого не надо
560 2641643
>>41479
Просто берешь и подаешься во все 26 мест. Без удаленки без опыта тоже подаешься(подрочить собесы). С опытом в год тоже подаешься. Через годик вкатишься скорее всего.
561 2641681
Как записать данные в файл, который находится в папке resources ?
562 2641685
>>41681
Ты долбоеб?
563 2641692
>>41681
FileUtils.write = "мам я долбоеб"
564 2641694
>>41685
>>41692
Так надо.
565 2641695
>>41456
Без проблем, чмоки в носик

>>41681
Что ты пытаешься сделать? Папка resources для статических файлов нужна. Если извратиться и предположить, что ты запускаешь jarник, то можно в архиве пеоезаписать файл, будет у тебя в него запись. Но юзкейс такой очень сомнительный, удаление гланд через жопу. Лучше создавай файл в отдельной директории и пиши туда
566 2641697
Вы из-под палки все осваивали или же интерес был?
567 2641700
>>41697
Конечно интерес, жаба охуенная штука
568 2641709
>>41700
Жаба говно ебаное, просто работы на ней много
569 2641716
>>41709
Я в универе на старших курсах всякое пробовал, жаба больше всех понравилась. Про то, что на ней много работы уже потом узнал
570 2641718
>>41709
Я пробовал кроме жабы плюсы, пхп, питухон, жс, голанг. Жаба мне понравилась больше всего.
571 2641729
>>41697
Да, был интерес. Коммерческий интерес.
А свои пет-проекты пишу на других языках.
572 2641940
Аноны, помогите, пожалуйста. AuthenticationFailureHandler, метод onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception). Хочу сделать редирект response.sendRedirect("/redirectPage"). Как мне добавить аттрибуты к редиректу? Можно как-нибудь получить RedirectAttributes?
573 2641979
>>41413
О, гляди ка - не врет. Сразу видно что вкатился. Уже проявляются первые симптомы анальника.
574 2642080
>>41940
Чёт нихуя не понял, это спринг mvc?
575 2642105
>>42080
выглядит как чистые сервлеты
576 2642246
Использую slf4j-log4j, почему нету метода fatal() ?
577 2642252
>>42080
>>42105
Короче, когда конфигурируешь SecurityFilterChain, там метод failureHandler(AuthenticationFailureHandler afh), нужно передать объект класса который имплементирует этот интерфейс и оверрайдит метод onAuthenticationFailure. Там проходит обработка зафейленной аутентификации. В параметрах два сервлета и сам экспепшен фейла. Что отреагировать на фейл ауфентикации юзается метод сервлета респонса response.sendRedirect(String location). Но делается это без аттрибутов. Мне нужно разобраться, как имся два сервлета надыбать эти аттрибуты.
578 2642332
Как правильно делать, обрабатывать исключения внутри метода или с помощью throws выносить обработку исключения за метод ?
579 2642336
>>42332
прокидывать туда, где это может быть обработано. Либо выкидывать чтобы приложуха упала если это невозможно обработать
580 2642451
А че никто не пишет, что лум в 21-й джаве уже выйдет из превьюхи и будет в релизе? Доучивайте виртуальные треды теперь. На 21-ю лтс активно покатятся. Там и паттерн матчинг для свича и виртуальные треды. Напоследок порезвитесь, пока чат-гпт 4 с работы не выкинет
581 2642453
>>42451
чел, мы на восьмой жабе. Продвинутые на 11
582 2642486
>>42332
кидать рантаймы, обрабатывать централизованно в одном месте
j11.JPG71 Кб, 632x818
583 2642503
>>42451

>>На 21-ю лтс активно покатятся.


Почему ты думаешь что ради лума станут перепрыгивать несколько лтс версий? До 2025 дотянут, а там видно будет нужен ли этот лум вообще.
584 2642518
>>42503

>2025


Профессии программиста уже не будет. Останутся операторы чат гпт
585 2642531
Подскажите пожалуйста, документацию пишут только для библиотек ?
586 2642532
>>42531
Документацию пишут для вообще всего.
587 2642576
>>42451

>что лум в 21-й джаве уже выйдет из превьюхи и будет в релизе?


пруфы?
589 2642581
>>41257
Может быть проблему-то они и решили, причём, в какой-то мере элегантно (без миграций и изменений API), только суть вообще не в сборке, их решение — по сути своей костыль. Корень проблемы в монорепозалупе.
590 2642661
https://github.com/javax-inject/javax-inject
Эта хуйня еще актуальна?
.png57 Кб, 684x329
591 2642676
>>42661
Актуально ли выучить за минуту пять аннотаций, полностью аналогичных спринговым?
592 2642853
>>42676
еблан? javax в jakarta переименовали я об этом если ты не понял (тупиздень)
593 2642861
>>42853
Ну ты и дебил блять
594 2642868
>>42861
слыш хуйлопан, я тебя вздрючу
595 2642890
>>40544

>я тебе вздрочу


Лол
596 2642913
597 2643118
НАХУЯ нужны комплитабл фьючеры, если в итоге всё равно надо вызывать get(), который всё останавливает?
598 2643125
>>43118

>если в итоге всё равно надо вызывать get(), который всё останавливает


Не надо, зачем?
599 2643135
>>43125
А данные я откуда получу? Ну создал я комплитаблфьючер, напихал туда цепочку стейджей со своими говнолямбдами. Теперь у меня есть объект фьючера, который знает про то, какой код надо выполнять. А чтобы получить данные, всё равно надо вывать get() и ждать.
600 2643158
>>43135
Тебе надо написать функцию и вернуть ее, пускай с ожиданием ебется пользователь.

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

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

public Mono<Yoba> getYoba() {
return getAsyncHyitka()
.map(ozhidaemoeDto -> ozhidaemoeDto.getYoba())
}
photo2023-03-0603-19-52.jpg112 Кб, 960x960
601 2643175
>>43158

>Тебе надо написать функцию и вернуть ее, пускай с ожиданием ебется пользователь.


В этом вся суть фьючеров ну кроме чейнинга нескольких функций? Ну писос, а я-то думал, что это ультимативное решение всех проблем мира.
602 2643192
>>43175
Улучшается утилизация ресурсов, некоторые функции вообще могут не вызываться. Но никакой особой магии там нет.
Стоит ли ради этого переебашить весь код в процедурные портянки? Зависит от нагрузки и задач.
603 2643208
Подскажите пожалуйста, логирование писать внутри классов которые определяют поведение с каким то функционалом или там где мы этот функционал используем ?
604 2643384
>>34365
Аноны, это правда? Работаю в вебе уже несколько лет без вышки отчислился на первом курсе, но не с джавой. Пиздец как руки опускаются после такого, когда понимаешь, что все твои скиллы и знания никому не нужны без формальности в виде корочки.
605 2643395
>>43384
для западного барина наша "вышка" это уровня прослушанного курса в индусском "университете".
Какой-нибудь сертификат OCAJP будет весомее диплома мухгу
606 2643398
>>43395

>сертификат OCAJP будет весомее диплома



То есть, мне можно не поступать заочно ?
607 2643399
>>43398
А тебе сколько лет?
608 2643404
>>43398
имеет смысл только если поступаешь в западный или какой-нибудь чешский
609 2643410
>>43404
А если я не собираюсь на запад и хочу здесь найти работу?
610 2643419
>>43410
You're fucked then. Хочешь работать в ниишечке, на заводе или ещё какой муниципальной залупе - диплом нужен. Другой работы не осталось, бодишопы свалили в сербии, за оставшиеся крохи сражаются мидлы и сеньоры
611 2643441
>>43419
оптимистично...
612 2643451
>>43384
Если в хорошем вузе реально изучаешь то, что тебе преподают, то никакой обосранный опыт веб макаки даже близко не встанет.
613 2643458
>>43451
ну изучит он матанализ и всякие численные методы. И что с этим делать, если у него нормального формального западного образования нет?
614 2643466
615 2643467
ПОШЁЛ НАХУЙ, ЕГОР!
616 2643473
>>43451
А если как 80% выпускников вузов ничего не изучаю и пинаю хуи?
617 2643503
618 2643508
>>43384
Та же хуйня. Дропнул на 4 курсе. Никогда бы не подумал, что она может пригодится спустя много лет на вкате в гос шарагу, вкатился по итогу в местный мухосранский аналог ерата
И вот я уже было забил, но тут пыня начал мобилизацию и показал хуй с айтишной отсрочкой всем, у кого нет вышки.

>>Если в хорошем вузе


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

>>43458
Ехать на Кипр и устраиваться в геймдев какой-нибудь, где это может пригодиться.
619 2643513
>>43410
На западе работает так:
Нет диплома = потолок по зп в N доллларов. Если это до мидла/сеньёра
Есть диплом = потолок по зп в N доллларов. Если это до мидла/сеньёра.

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

Кароче если ты планируешь рости выше сеньёра на западе - пойди на заочку в плохой вуз на хорошую (в плане для того чтобы вписать в резюме) специальность. И отсиди там до корочки
620 2643525
обосранный анальник.jpg144 Кб, 680x1006
621 2643569
image.png53 Кб, 770x450
622 2643574
>>43569
Это дюк?
623 2643680
>>43513

>И отсиди там до корочки


Хорошее выражение. Мясо на сковороде до корочки запекается, а скубент в универе отсиживается. По итогу шо то непробиваемая хуета, шо это.
624 2643770
>>30717
В смысле блять создать? Ты с помощью хибера создаёшь таблицу на старте приложения? Ебать ты конченый.
625 2643783
Как создать метод который будет в аргументы принимать класс-сущность, вызывать сеттеры и помещать в них данные ?
626 2643784
>>43770
Любители ORM все ебанутые нахуй, про миграции никогда не слышали.
627 2643787
>>43783
Через рефлексию.
628 2643790
>>30862
Двачую этого:
629 2643798
>>31358
Те, кто понял жизнь, хуярят на Groovy.
630 2643802
>>35152
Видос не смотрел, но есть же Micronaut, Quarkus, хули им этого не хватило.
631 2643811
>>35755
Бля пацаны, вот реально, JOOQ поприятнее будет.
Его одновременно с хибером можно использовать. Более читаемо.
632 2643839
Как научиться шарить за микросервисы? Сейчас читаю всякие мурзилки и смотрю видиксы на ютубе по всяким паттернам типо circuit breaker, sidecar и тд, норм для начала? И что потом глянуть, как закончу?
633 2643841
Приведите пример какой-нибудь очень сложной тасочки, с которой вам довелось столкнуться в последнее время
634 2643843
>>43841
Получить высшее образование.
635 2643847
>>43843
А что в ней сложного, если ты не в топ 10 вузов учился? Я вот вообще без напряга закончил. Проебывался в общаге, пока не останется пару недель до начала сессии, потом трайхардил и снова хуй пинал. Ну мне еще с ковидом повезло правда, на удаленке закрываться было в разы проще.
636 2643850
>>43847
Мне 30...
637 2643857
>>43841
интегрироваться с хуйней
638 2643858
Ахуй, просто придумываешь опыт работы, и тут не только ты откликаешлся, но и тебя приглашать начинают, они что никак не проверяют трудовую, во ебланы
639 2643859
>>43858
Кадровикам похуй что у тебя в трудовой, главное пройти отбор рекрютера и собесы, изи
640 2643868
>>43841
Интеграция с одной из государственных систем с погружением в замечательный мир ЭЦП через Криптопро, SOAP и корпоративные шлюзы безопасности.
641 2643898
>>43783
Какие данные?
642 2643906
>>43841
подпись заявления не прошла из-за пропавшего сообщения в кафке. Есть только обфусцированные логи с прода по этому инциденту
643 2643980
нашел вакансию где предлагают выполнить тестовое задание а после бесплатная стажировка на 2 недели. к заданию прилагается судя по всему их документация апи на 200 страниц. пахнет каким-то наебаловом, словно хотят выполнить реальную работы чужими руками, а потом кинуть. мысли?
644 2643991
>>43839
Ну але блять, ответьте
645 2644052
>>43980
так и есть, скипай
646 2644073
Меня смущает использование сеттеров, но в моем случае по другому никак. Ваши мысли ?
647 2644075
>>43991
Да.
648 2644086
>>43787
а дженерики ?
>>43898
String
649 2644095
>>44073
Ну если в твоём случае реально никак, то окей. Так-то конечно иммутабельные объекты это получше, но твой кейс мы не знаем
650 2644111
>>44075
Что значит да? Я много вопросов задал, те ответить сложно? Ты че пидр?
651 2644130
>>44073
Если по другому никак, то это не интернал пакет, а значит все допустимо и даже поощряемо. А если интернал пакет - то ты долбоеб. Ну или у тебя упор в перформанс, а значит для тебя применяются правила не джависта, а байтоёба, и тебе тоже можно.
652 2644207
>>44111
я тя вздрючу
UInR0aO8GF.png4 Кб, 277x168
653 2644382
как принято Docker и docker-compose файлы хранить? Хочу на хостовой машине запустить эту аппликуху. Значит они должны копироваться в /target рядом с джарником? И на хост копировать джарник + Docker + docker-compose.yml ?
654 2644386
>>44382
в рут хуярь
655 2644400
>>44386
а потом что? Оно же само не копируется ни в таргет ни в джарник
656 2644404
>>44400
ты еблан?
657 2644432
>>44404
ты жыд?
658 2644433
>>44382

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



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

>>44400

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

В таргет докер композ положитть относительно просто - достаточно просто обьявить его мавен-ресурсом. В этом есть даже свои бенефиты - можно включить фильтеринг и подставлять в композ версии собранных имаджей и джарок. Но опять же - вопрос дистрибуции не ограничивается складыванием все в таргет.
659 2644460
>>44433
может есть какой-то индустриальный стандарт, где хранить - в руте, в src/resources или в src/docker
Во всяких кубернетисах эти докер файлы достаются прямо из гита?
660 2644471
>>44460

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

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

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

Докер композ, в зависимости от его назначения, может подпадать под разные вышеописанные категории. Например: докер композ может быть частью интегрейшн-тестов на testcontainers, и тогда его придется положить в src/test/resources, чтобы тесты потом могли его найти и стартануть. А в твоем случае этого не нужно.
661 2644491
>>44460
докеры хранятся в докер реджистри
докеро композы в руте потому что запускаются юзером
UP6Ua9Fk8L.png134 Кб, 1576x860
662 2644575
Ещё вопрос. Указал links, но оно всё-равно одновременно стартует. Что не так?
auTSP6cDL7.png23 Кб, 602x547
663 2644606
>>44575
вобщем так помогло
sage 664 2644626
Пиздуй со своим докером в нюфаг-тред, сука.
665 2644628
>>44626
но я мидол
.png63 Кб, 838x703
666 2644630
Дайте идею плиз, почему maven в Idea не скачивает свой ебаный плагин из своего ебаного репозитория.
Какая же это хуйня - чувствуешь себя ебаной вэб макакой, методом тыка подбирать нужные символы в ебаном XML
Ни нормального описания ошибки ни логов процесса
667 2644634
>>44630
у идеи можно посмотреть лог в Help -> Show Log in Explorer
.png65 Кб, 1639x199
668 2644654
>>44634
Спасибо, бро! В логах Идеи не совсем то, что нужно.

Вобщем, оно билдится без ошибок, но в pom'нике все равно выбрасывает ошибку, что этот плагин не найден.
669 2644659
>>44630
Имя артифакта ему не нравится? Я тупой
670 2644665
>>44654
попробуй посмотри в самом репозитории по этому урл, есть ли там джарник. Бывает что помник есть, а джарника нет
.png303 Кб, 1485x579
671 2644700
>>44665
Вроде как все есть.
Завтра продолжу разбираться, спасибо за помощь!
672 2644907
ECMA, RFC, IEEE! реально спрашивают.

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

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

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

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

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

Сижу в чате лидов, так как я поступают очень многие.
Повторяю, самозванцев стало очень много, реально много.
673 2644970
>>44907
Вас таких малый процент, мне ничего не мешает придумать опыт работы, отточить его и заучить вопросы для позиции миддла 🤫
Как получаю стабильные приглашения на собесы, так и буду получать, не имея реального опыта.
674 2645017
>>44907
Зачем тебе тогда фильтры HR или почему ты не перепишешь фильтры HR? Ты точно лид?

Еще студенточки с плохим зрением ни за что пострадали
675 2645103
>>44907
2 пиздабола в лице hr и меня всегда находят друг-друга
676 2645112
>>44907
И че, много кого захайрил?
677 2645113
Где в реальных проектах происходит преобразование датастэмпа в локальное время? На сервере или пусть клиент этим занимается?
678 2645195
>>44907

>>RFC реально спрашивают.


Ты прям так и спрашивает процитируйте мне второй пункт и рфц 228 и четвертый из рфц 1488? Не боишься что они просто загуглят на месте?
679 2645198
>>45113
Как договоритесь с фронтом. На бэке это делается в одну строку, на фронте - не всегда с их дегенеративными фреймворками.
680 2645354
Можете посоветовать какой-нибудь задачник для тренинга всяких коллекций и прочего подобного?
Чтоб вот там была условно глава по использованию set, глава по листам, глава по map? Можно с базовыми приколами от стрингов, интеджеров и т.п..

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

Я помню что одно время у вас в шапке висела ссылочка на какой-то простенький сайт с простенькими вещами (не уровня leetcode/codewars), а вот там прям главы были по стрингам, коллекциям, но простенькие задчки такие. или не у вас.
681 2645394
>>45354
Вкат всё. Пошел на хуй.
682 2645396
>>45394

>Вкат всё. Пошел на хуй.


нахуй иди со своими илонами масками.
683 2645402
>>45198
Чо? В локальное время бекенда?
684 2645466
>>45396
чел, ты новости давно читал?
1) Уход 10000 компаний из рф
2) Сокращения в топ компаниях и средних
3) 100000 вкатунов
4) ЧАТГПТ
686 2645494
>>45402
Локаль клиента из сервлета достаешь и переводишь.
687 2645496
>>45354

>глава по использованию set, глава по листам, глава по map



Это так не работает.
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 (*).

Как правильно добавить все это доверенные пакеты? Путь должен быть прописан как приложении продюсере или приложении консюмере? Хотя я и так и так пробовал, но не заходит.
689 2645516
>>45494
И откуда оно там?
690 2645520
>>45467

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

>>45466
из всего этого только илонмаск с четвертым пунктом напрягает (первые 3 пункта это цикличная политота, цикличная политота + цикличность рынка, цикличность рынка). Но и то с оговорочками. Расписывать всё лень, но у меня есть примеры из личной жизни когда подобная автоматизация потом же откатывалась на прежние позиции. Мамка на железке работает, на позиции которую можно было автоматизовать еще лет 20 назад, и таки пытались. Но потом выросла масса побочек, в итоге решили отказаться от этой идеи (и даже вернули набор в местном ведомственном мухосранском училище на ее позицию).
Поэтому смешно кажется что запросом в гпт будут писаться программки. Тот же Tabnine попробовал, вот в нем я вижу будущее - это же ведь просто сумма гугла и интеллисенса, а не индусокод, написанный бездушной программой, на которой потом вылезают баги в виде отстутсвия связей с реальностью, прежде всего ООП.
692 2645528
>>45521 ты долбоеб, сука, какое отношение это имеет к времени клиента?
693 2645532
>>45466
Чатгпт разве что тебя на двощах заменит. Будет за тебя говнопасты на двощах генерить.
694 2645534
>>45528
Потому что это и есть время клиента, которое он отправляет в хедере запроса.
695 2645538
>>45534
Это язык клиента, кретин
696 2645555
>>45505
Не ебись с десериализаторами, через MessageConverter это проще делается.
https://docs.spring.io/spring-kafka/docs/latest-ga/api/org/springframework/kafka/support/converter/JsonMessageConverter.html
697 2645601
>>45555
Так я и так через него делаю. Все варианты пути испробовал танцуя с бубном, нихера не работает.
698 2645619
>>45601
хули ты пиздишь у тебя ошибка из десериализатора а я тебе конвертер скинул
699 2645638
>>45619
Я использую то, что ты скинул, и он все равно кидает, то, что я скопипастил.
700 2645653
Библиотеки по парсингу json как правило читают json формат и помещают их в сущность. Что делать если я НЕ ЗНАЮ блеат какие там поля в этом жесоне ? Приходит ответ от веб-сервера на 10000 символов.
701 2645660
>>45653
Читай в мапу.
702 2645666
>>45653
1. Тебе не нужна ентити, чтобы парсить json. Спроси у чатгпт про метод readTree в Джексоне.
2. Неизвестные поля можно игнорить при десериализации в ентити, початься с чатгпт как настроить джексон
3. json-ы можно параллельно сохранять в nosql базу - когда поймешь, какие там поля, тогда и напишешь энтити, а данные будут уже заботливо дожидаться тебя на диске. Это я в кабанчике прочитал, называется schema-on-read. Охуенно?
703 2645704
>>45638
ну хуево используешь значит
даунам не помогаю
704 2645706
>>45653
ебланище? маппинг это всегда отдельный этап
705 2645711
>>45666
Классно, да.
706 2645713
>>45653
Совсем не знаешь? Сохраняй в текст. Знаешь хотябы названия полей? Сделай поля Object
707 2645734
>>45653
Если вы не знаете, какие поля будут присутствовать в 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, когда вы не знаете заранее, какие поля будут присутствовать.
708 2645809
Мама сказала парсинг делают только шлюхи и пидоры.
709 2645834
>>45809
Ты пидор, а твоя мама шлюха.
710 2645871
>>45704
Подскажи как правильно. Как тогда заместо десериализатора использовать? Как его нахрен отключить из пропертиз? Напиши, плиз, как правильно.
711 2645900
>>45871
Чел, тебя троллят.
712 2645936
>>45871
читай мурзилки направление я тебе дал
713 2645976
lwjgl vs android ?
714 2645981
>>45976
Нет.
715 2646014
716 2646020
>>46014
>>45981
Пизды ответ.
717 2646032
>>46020
я тя вздрючу
718 2646045
Как при переходе на страницу /test/select отобразить содержимое файла ?
719 2646125
>>46045
Написать для этого логику
720 2646162
>>46045
Какую страницу
Где переход
Какой переход
Какой файл
Что значит отобразить
721 2646197
>>45734
Это как beatiful soup?
Фу, блять, меня чуть не вырвало от флешбэка
Мимо другой анон
722 2646597
В какой папке вообще должно быть тестирование? Спринг инишалайзир создает отдельный папку test, там нихуя не получается протестировать, так оно не автоварит ApplicationContext. Если пытаться с главной папке сделать, то там не работают тестовые аннотации. Как правльно все сделать?
723 2646650
>>45113
А зачем в реальном проекте нужен таймстемп? Чем он лучше человекочитаемого формата?
724 2646656
>>30498 (OP)
Стоит пет для портфолио делать реактивным?
725 2646663
>>46656
Нет.
726 2646732
>>46656
Реактивный пет клиник? Пожалей собачек
727 2646753
>>46650
Хотя бы тем, что можно форматировать в различные временные зоны, в зависимости от ситуации.
728 2646776
>>46753
что тебе мешает делать так же с датой?
729 2646807
>>46776
Date это и есть таймстэмп.
730 2646859
>>46807
Не Date, а OfsetDateTime.
731 2646946
Можно использовать нижнее подчеркивание в названии переменной, класса или метода ?
nc.JPG74 Кб, 731x606
732 2646954
733 2646960
>>46946
Нет, даже если выглядит как говно.
734 2646969
>>46946
Можно. Но только никому не показывай.
735 2647073
Интересно, чтобы получить работу нужен опыт. Если не опыта - ссылку на гитхаб с проектом. При этом от блогов и парсеров все ебало воротят. Что в итоге? Неделями сидеть придумывать идею, чтобы ушлые пидоры взяли за 50 тыщ работать? Так я же в бекенд пытаюсь, нахуя мне фронт? Инди игру говорят сделай, на мобилки, хуею блять.
736 2647079
>>47073
Больше местных "экспертов" слушай, они и не такого насоветуют.
737 2647090
>>47079
Так тут дело не в местных экспертах, а в ситуации. По итогу выясняется, что нужно быть до кучи креативным менеджером, разработчиком игр, тестировщиком, фронтэндером и маэстро минета. Чето дохуя движений ради минимального выхлопа.
738 2647095
>>47073
Что делать, если нужно дать ссылку на гитхаб, а на гитхаб 13 репозиториев ?
739 2647111
>>47095
скрой лишние
740 2647151
Кто стажировку в яндексе проходил, расскажите какого это, пройти собесы эти ебучие, и что делали у них стажером, в итоге давали оффер? Могли не джуна дать, а повыше, хз какие у них градайии
741 2647238
>>47073
Скоро на собесах оператор ChatGPT будет проверять, за сколько вопросов можно сгенерить твой пет. Если меньше 10 - ты пойдёшь нахуй
742 2647564
>>30528
Ну на счет того, что во всем лучше, я не согласен, хотя да, во многом действительно лучше.

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

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

>>30528
743 2647672
Дали тестовое на джуна пик1. Вкратце, нужно реализовать онлайн магазин на микросервисах. Я начал с построения архитектуры, на пик2 то, что получилось. Опустил сервис организаций, тк лепить уже некуда. Есть мысли или замечания какие-то по поводу архитектуры? Кажется, будто хуйню какую-то сделал...
744 2647692
>>47672
я бы им сказал что онлайн магазин надо делать на монотиле и не играть в гугл
745 2647696
>>47692
Да на это задание еще и дедлайн 4 дня, хз даже, успею ли. Монолит сделать конечно было б в разы проще.
746 2647699
>>47696
это задача на пару месяцев для хорошего мидла
747 2647708
>>47672
Это еще секьюрити вешать надо будет на апи гейтвей и жсон токен парсить что ли
748 2647714
>>47699
Я думаю, тут можно много допущений сделать и над кодом особо не потеть. Надо только выстроить взаимодействия и представить в голове, как это должно работать. Хотя я хз, количество микросервисов, которые у меня вышли конечно пугает, тоже кажется, что как-то дохуя всего. Значит, слать их куда подальше?
749 2647721
>>47714
"напишите api". Видимо это только пустые контроллеры со сваггером.

Но тут слишком много и слишком много непонятного. Я бы забил. И от микросервисов меня воротит
750 2647726
>>47708
Ну по идее да, я правда вынес сервис, отвечающий за авторизацию и выдачу токенов, отдельно. Слышал, что зачастую это делают прям в гейтвее, но чет решил как на картинке сделать.
751 2647731
>>47721
Ну в таком случае секьюрити конфигурить все равно же нужно будет?
752 2647739
>>47726
>>47721
Там еще в конце написано «СУБД использовать PostgreSQL. Однако, API не должен быть привязан к конкретной СУБД». Так что, скорее всего, там не только свагер нужен.
753 2647762
>>47739
Это что ли свой инстанс постгреса на каждый микросервис разворачивать?
Микросервисную архитектуру придумали больные люди, канеш.
754 2647767
>>47762
у меня компутер по ресурсам не выдержит 6 постгресов и 6 жаб
755 2647769
>>47762
Ну походу, насколько я слышал, делать расшеренный инстанс между несколькими сервисами - хуйня идея.
756 2647799
>>47672

>напишите API простого магазина



А шизоуебище побежало за 4 дня поднимать стартап с 6 постресами.
757 2647806
>>47799
>>47739
Ты совсем долбоеб?
758 2647818
>>47806
Ой умора блядь я щас обосрусь нахуй от смеха
759 2647826
>>47818
Нахуя там постгрес, если только контроллеры со свагером нужны, шиз ебаный?
760 2647839
>>47699
вот до чего прогресс дошел. а еще каких-то 15 лет назад на фриланс.ру на создание онлайн-магазина под ключ давали 10 дней и 300 баксов.
761 2647842
>>47839
берёшь cms интернет-магазина
@
настраиваешь
@
получаешь свои 300 баксов

Одинэсники тоже не с нуля каждое предприятие делают
762 2647850
>>47839
Так и сейчас можно по-быстрому набросать простенький магазин даже без знания фреймворков. Просто использовать конструкторы какие-то, картинки, шрифты поменять и готово. Уверен, что на жс с фреймворками, это тоже достаточно быстро можно написать. Просто это не будут микросервисы.
763 2647853
>>47842
ну знаешь ли.

берешь спринг
@
настраиваешь
@
получаешь 3000 баксов
764 2647857
>>47853
И нихуя не работает
765 2647859
>>47672

>Кажется, будто хуйню какую-то сделал...



Картинка норм. Но так то ты еще нихуя не сделал, чтобы оценку давать. Такую же картинку ты бы мог откуда нить с интернета спиздить - это самая типовая дженериковая микросервисная архитектура.
766 2647860
>>47853
берёшь спринг
@
так, нужно прочитать 300 страничное тз и спроектировать бд и интерфейсы
@
на это уходит пара тройка месяцев
@
осталось всё это реализовать
@
на это ещё пара лет минимум
767 2647867
>>47859
>>47672
И кстати, а в тестовом тебя разве просили строить микросервисную архитектуру? Вроде речь идет только об API
768 2647869
>>47857
ну это уже тестировщики виноваты, не оттестировали вовремя хорошо. ну и на железо как всегда бабла зажали
769 2647876
>>47762

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


ну а если серьезно, как это говно до сих пор не сдохло и кто-то всерьез еще строит приложения под эту шизоидную концепцию?

помню на каком-то древнем хайлоаде, еще в самом начале хайпа этой параши кто-то из архитекторов крупняка сказал что по суммарному опыту на микросервисаы нужно переходить если у вас в команде не меньше пятисот технарей, если меньше то просто нет смысла.
770 2647880
>>47762

>Это что ли свой инстанс постгреса на каждый микросервис разворачивать?



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

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



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

Программисты - они как крысы. Во имя галочки в резюме распространят любую болезнь.
771 2647884
>>47859

> еще нихуя не сделал, чтобы оценку давать


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

> Такую же картинку ты бы мог откуда нить с интернета спиздить


Ну я не пиздил, всю эту хуйню сам в редакторе нарисовал. Само собой, я уже видел что-то подобное в интернете, так что можно сказать, что сделал по аналогии.
image.png13 Кб, 827x102
772 2647888
>>47867
Просто фулл тестовое не уместилось на скрине, но я же об этом упомянул в первом сообщении.

На пикрил то, что не уместилось.
773 2647896
>>47888

>API должен быть написан с помощью микросервисной архитектуры


дом труба шатал. Что за чурки писали
Как с помощью микросервисной архитектуры можно писать api. Что вообще означает "написать api"?
774 2647900
>>47884

>Я ж по сути хотел для начала определиться с архитектурой



Так нету ж нихуя. Где какие сущности? Где какие схемы данных? Где какие бизнес-функции (кто из сервисов что умеет делать)? Что, как, куда и когда по кафке гонять будешь? Как будешь обеспечивать консистентность всего этого? Вот это вот еще можно оценивать. А картинка - ну красивая, че.
775 2647915
>>47672
Они там чё, охуели совсем?
776 2647918
>>47900
Ну схемы, какими они должны быть, в тз же есть. Что примерно должен уметь каждый сервис - тоже. А насчет кафки, я изначально задумывал, что у меня будут ссылки в отзывах на определенный товар или в ордерах будет ссылка на юзера, который их сделал, с помощью кафки сервисы будут слушать изменения и, допустим, при удалении товара, удалять и отзывы на него. Что именно по кафке будет гоняться хз, как будто мне там и стринги хватит.
777 2647921
>>47915
Рыночек порешал. Тут наверное подразумевается, что надо с помощью чатжпт сделать. Тогда мб за 4 дня можно и успеть.
778 2647930
>>47921
Ты охуел? Какие нахуй 4 дня сука? Насколько нужно быть опущенным хуесосом, чтобы выполнять тестовые длиннее 30 минут?
779 2647931
>>45505
spring.kafka.consumer.properties.spring.json.trusted.packages=*
или
spring.kafka.consumer.properties.spring.json.trusted.packages=org.example в котором лежит LoginSuccess
780 2647933
>>47930
Апи за полчаса как раз и пишется.
781 2647934
>>47933
Хуесос, ты так и не ответил, зачем там постгрес нужен?
782 2648028
>>47564

>>Java проще шарпа


>>просто потому что меньше фичей


Нет, шарпомух, не по этому.
Фич в джаве больше чем в шарпе, только они не в базовом пакете лежат, а раскиданы по либам. можно сказать что и котлин - плагин для джавы, его можно подключать и использовать в уже готовом проекте
В джаве есть спринг с запуском любой магии волшебной аннотацией, а в шарпе такого нет и придется ебаться с настройкой любой ебалы самостоятельно.
783 2648033
Представляю что там на сеньку
784 2648061
Микросервисные пацаны, у вас хелм чарты рядом с джава кодом лежат или нет?
785 2648070
>>48061
в отдельной репе
786 2648078
>>48070
Типа для каждого микросервиса по две репы? Или одна общая со всеми чартами?
787 2648085
У нас только один микросервис. Примерно на 1.5кк строчек кода. А вместо кубера юзается вебсфера.
788 2648087
>>48085

>А вместо кубера юзается вебсфера.


Так это просто две разные реализации JavaEE сервера приложений.
789 2648093
>>48078
Микросервисы в 1-й репе, чарты - во 2-й.
790 2648094
>>48093
Монорепа? Вы ебанутые что ли?
791 2648151
>>48094
Ну не я принимал решение о хранении, но для разработки удобнее, чем ебаться с десятком репозиториев.
Да и монорепа это вроде 1 репа на все проекты/команды, у нас только наши микросервисы. У соседней команды своя репа с ее сервисами в рамках того же проекта.
792 2648308
>>48151
Пиздец...............................
793 2648332
>>48308
Как это выглядит с отдельными репами на каждый микросервис? Делаешь по 5 МР на каждую таску?
794 2648334

> Виртуальные потоки, которые появились в Java 19, продолжают оставаться в статусе Preview API (предлагается финализировать их в Java 21). Изменений API, связанных с проектом Loom, в этом релизе нет


АХАХАХАХАХАХХАХАХАХАХАЗХАХЗАХАХАХАХХАХАХАХАХАХАХАХА
795 2648368
>>48332
Да, и?
796 2648388
Есть какая-нибудь принципиальная разница между тем как ты автоваришь, над полем класса, над конструктором, перед аргументом конструктора? Почему идея ругается когда прямиком в поле инжектишь?
797 2648392
>>47672
Аноны - олдфаги, скажите, на джунов всегда такие тестовые давали? Лет 6 назад вкатун сошел на собес, ему аналогичное требовали сделать? Или это реалии современного рыночка?
798 2648405
>>48332
Да.
799 2648410
>>47672
Братишка, мне кажется ты заоверинжинирил и получилась хуйня
800 2648468
>>48410
А где именно оверинженеринг? Что поменять?
801 2648476
>>48388
Тесты как писать будешь?
Как будешь мокать зависимости?
802 2648491
>>48476
Я еще тесты не проходил, лол. Скоро закончу пет, и начну изучать как его тестировать.
803 2648503
>>48476
Не понял, а что мешает написать тесты, если у тебя филд инжекшн? Есть же @mockbean или @injectmocks, можно с помощью них сделать моками филды
804 2648531
>>48476
Тесты не нужны. Хороший код тестирования и комментариев не требует.
805 2648532
>>48476
мохито через рефлексию умеет подставлять моки в приватные поля
806 2648545
>>48388
Мне на собесе кабан говорил, что там какое-то преимущество есть в конструктор инжекшн, связанное с циркулярными зависимостями. Не помню точно, че он там говорил, но вроде, если у тебя происходит инжект в конструкторе, то циркулярные зависимости недопустимы в принципе.
807 2648584
>>48545
Да, хочешь циклические зависимости - ебашь автоваир в поле, по другому - никак.
808 2648587
>>48545
чот не сработало
809 2648592
>>48587

>если у тебя происходит инжект в конструкторе, то циркулярные зависимости недопустимы в принципе


Что не сработало?
2023-03-2215-35-54.png17 Кб, 665x297
810 2648605
Я написал замену петухлину. И вот ради вот этой хуйни весь этот кошмар был затеян?
811 2648622
>>48605
там для этого достаточно вопросик поставить. Ну и этим сахарок котлина не заканчивается, мне почему-то запомнилась возможность создания дата классов и добавление дефолтных значений для конструктора, но я очень поверхностно смотрел котлин, уверен, там еще приколы какие-то есть.
812 2648624
>>48592
типа если будет через поля, то спринг разрулит циркулярные зависимости и это плохо?
image.png52 Кб, 646x488
813 2648633
>>48624
Ну типа. Если еще проперти поставишь, что допускаются такие зависимости, тогда через филды спринг разрулит, а через конструктор - нет. А чем плохи такие зависимости, чатгопота пишет: пикрил
814 2648647
>>47672
Мне кажется можно просто сделать гейтвей, аус сервис, стор сервис, нотификейшн сервис без всяких кафок. Всё что связано с магазином, товарами, покупателями в монолит. Микросервисы соблюдены, ебалы меньше. Но задание всё равно объемное какое-то. Такое ощущение, что из-за вкатунопокалипсиса галера хочет найти джуна с навыками миддла за 30 тысяч.
815 2648649
>>48647

>за 30 тысяч.


угадал низ указанной вилки)
816 2648652
У меня только что хибернейтовский CrudRepository перестал удалять. Я нихуя абсолютно не менял, чтобы это произошло. Пол часа назад все работало, и внезапно такое. Ни под каким методом ничего не удаляет из бд. БД постгрес. В чем вообще дело может быть? Я вообще ничего не понимаю лол.
817 2648653
>>48652
сделал транзакцию ридонли может. Или начало что-то падать в транзакции и транзакция откатывается
818 2648659
>>48647

>Мне кажется можно просто сделать гейтвей, аус сервис, стор сервис, нотификейшн сервис без всяких кафок.



Да ладно, нихуя себе
На вторые сутки до тебя дошло, чел.
819 2648660
>>48653
Стоит аннотация @Transcational, так как в энтити одно поле @Lob. Но я абсолютно ничего не менял. И то, что еще недавно работало, просто не работает. Причем другие энтити, которые методы удаляния которых также помечены как транзакшионал, работают прекрасно. Даже все таблицы из бд удалил и заново заполнин, нихера.
820 2648663
>>48659
Ну у тебя, долбоеба, на проекте все так и работает, я не сомневаюсь.
821 2648667
>>48663
Более того, скорее всего там только гейтвей и нужен.
822 2648678
>>48660
попробвуй включи вывод в лог всех запросов и попробуй нати твой DELETE FROM
823 2648681
>>48647

>Такое ощущение, что из-за вкатунопокалипсиса галера хочет найти джуна с навыками миддла за 30 тысяч.



А таковы реалии рынка и есть. Если контора и берет к себе вкатуна, то это должен быть вкатыш-вундеркинд. 100500 откликов на вакансию позволяют им подобным образом охуевать.
824 2648690
>>48503
Я про юнит тесты.
825 2648694
>>48690
А почему тест с @injectmocks не юнит тест?
826 2648699
>>48678
Лог в консоль есть. Видны все sql кроме делетов из этой таблицы.
827 2648701
>>47860

>>на это ещё пара лет минимум


Если за это плятят хотя бы пару сотыг в месяц, в чем проблема?
828 2648714
>>48653
>>48678
>>48652
Короче, вспомнил, что поставил у родительской энтити FetchType.Eager. И из-за этого перестало удалять. Хуй знает почему это так, но я убрал эту eager, и все норм (благо оно оказлось мне вообще не нужно).

Как вообще удалять когда этот фетчтайп стоит? Вилкой вручныю каждый раз и родительской энтити сначала убрать, только потом удалять через репо? Пиздец конечно.
829 2648830
>>48647
А юзер сервис тут точно не нужен?
830 2648946
>>48830
Тут всё тестовое нахуй не нужно. Тестовое либо на максимум полчаса даётся и условие пишется нормально, либо оплачивается. Либо гарантируется трудоустройство после него. А тут скорее всего его никто даже читать не будет.
831 2648957
Есть два объекта. В объекте А вызываются методы объекта В.
Как узнать какие методы объекта А вызываются? Причем не в рантайме, а которые просто есть в коде, декларированы.
Как такое через рефлексию сделать?
832 2648965
>>48957
Вероятно Вам смогут помочь шаблоны проектирования "Декоратор" и "Заместитель"
833 2648984
>>48965
А если объект А создается внутри объекта В через спринговый контекст?
834 2649059
>>48984
Переписывать так, чтобы спринг не использовался, а объекты были элегантными.
835 2649060
>>49059
А. Ну спасибо большое. Пошел переписывать.
836 2649067
>>49060
Обращайся.
837 2649080
Уже 30 резюме отправлено, ответили только 2 компании. Это нормально ? Или может у меня резюме неправильное ?
Фио
Должность
Скиллы
Образование
О себе
:/
838 2649087
>>43787
Это как ?
839 2649090
>>49080
айти индустрия находится в процессе клинической смерти.
https://habr.com/ru/news/t/724094/
Половина вакансий фейковые, как минимум. В резюме нужно быть волчистым и рисовать себе 5 лет опыта минимум. Пиздеть как не в себя. Но в любом случае перспектив тут никаких
840 2649132
>>49080
Может у тебя опыт неинтересный или с гэпами? Или ты там каждый год прыгал по вакансиям?
841 2649154
>>48388
Да, читай мурзилки, там про это есть.
.png84 Кб, 1521x684
842 2649165
843 2649167
Через неделю выхожу на первую работу. Как подготовиться к этому моменту, чтоб потом обойтись без тупняков? Мб пока время есть, начать в чем-то разбираться, где часто поначалу спотыкаются? Или может наоборот хуй забить и наслаждаться последними днями, когда я не вынужден потеть над тасочками для кабанчика?
844 2649173
>>49167
Побрей хуй и яйцы и сделай ональную клизму.
845 2649176
>>49167
Быстро ты 6 микросервисов поднял
846 2649179
>>49176
7 вообще-то
847 2649335
>>49176

>6 микросервисов поднял


место в галере потерял
848 2649414
>>49165
Вау, спасибо.
849 2649419
Если я создам ссылку типа StringBuilder например в поле класса, могу ли я несколько раз использовать ссылку в разных методах ?
Или для каждого метода своя ссылка типа StringBuilder ?
850 2649437
>>49419
Кому как нравится.
851 2649444
>>49419
Можешь.
852 2649447
>>49444
А как же выделение памяти, например я вызову несколько методов этого класса которые использую эту переменную ?
853 2649466
>>49447
Для чего это тебе?
Предполагается, что при обращении к одной ссылке разные методы в один и тот же объект будут записывать общие данные: первый метод что-то записал в StringBuilder, второй добавил, третий ещё что-то добавил. Если надо, чтобы методы работали независимо с разными объектами, надо создавать отдельные ссылки. Если надеешься сэкономить память, создавая только одну ссылку, брось эту затею.
854 2649553
>>48652
А у меня это говно перестало апдейтить, вызываешь save на существующей записи и оно создаёт новую. Это с обновлением на spring boot 3/Hibernate 6 так стало и непонятно как чинить
855 2649718
>>48633
ваще циклические зависимости - это практически всегда косяк в архитектуре. они не нужны. нарушение третей нормальной формы, как сказали бы в соседнем треде.
856 2649758
>>49718
сервису заказов надо отправлять сообщения, а сервису сообщений нужен последний заказ юзера. Что делать?
857 2649849
Распределенные зависимости это миф?
858 2649911
>>49849
Что такое распределенные зависимости?
859 2649916
>>49911
Хахаха повелся,я тебя затролила ахаххкхкхах
860 2649921
>>49758

>сервису заказов надо отправлять сообщения, а сервису сообщений нужен последний заказ юзера



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

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

Как конкретно в этом случае поступить, надо смотреть. У меня например, первый вопрос который возникает, это "с какой стати сервису сообщений нужны заказы юзеров".
861 2649926
>>49921

>"с какой стати сервису сообщений нужны заказы юзеров".


требование что если у юзера есть заказ - добавлять в сообщение информацию о его статусе
863 2649933
>>49926
А что вообще такое у тебя "сервис сообщений"? Какую роль он выполняет?

В моем представлении, он должен выполнять инфраструктурную роль посылки уже кем то сформированного сообщения по тем каналам связи, которые он поддерживает. Тогда и дилемма отпадает сама собой - пусть это требование выполняет тот сервис, кто формирует текст сообщения (сервис заказов).
864 2649937
>>49926
Ну можно наверное сделать какой-нибудь мессадж постпроцессор, который потом настроит дефолт сообщение в соответствии с требованиями
865 2649944
>>49932
Да ну нахуй. Интерфейсы коллекций - параша полная, их бы по совести с нуля переписать давно пора. Сделали бы Collection API 3.0, с явной поддержкой иммутабельности/персистентности. И не поверю что не могут из-за обратной совместимости: когда то же состоялся переход от векторов и Hashtable в сторону текущих Collection API.
866 2649955
>>49944
Тут SortedSet::addFirst будут кидать эксепшен, вполне вероятно, что началась ментальная гимнастика, которая приведет к тому, что у иммутабл коллекций будет падать метод add
867 2649965
>>49955
Так он и так падает щас. Не суть. Суть в том, что у иммутабельных коллекций в интерфейсе вообще не должно быть метода add.
868 2649991
Кто-то из анонов было дело писал в треде, что к стандартному спринговому тестрированию лучше добавить еще одну депенденси. Как она называется, напомните, testContainers вроде?
869 2650122
не пынямаю. если чекед исключения - это норма, которые нужно обрабатывать и вызывать, то анчекед - это ошибки, которые не нужно обрабатывать, а нужно исправлять. тогда для чего я могу расширять класс RuntimeException, создавая свое исключение, если в этом нет смысла? и почему я так же могу вызвать например throw new IllegalArgumentException()?
870 2650138
>>47672
Попытался еще поспрашивать по поводу этого тестового у эйчарки. Говорит, что прям это все надо реализовать, то есть анон, который предположил относительно простой генерации апишки свагером, не угадал. Спросил, сколько микросервисов вообще ожидают на выходе, ответ: сложно сказать. Короче мутная какая-то хуетень, скипаю нахуй. В чем я не прав?
871 2650139
>>50122
Чекед эксепшены - легаси, которое хуй знает почему до сих пор не выпилили.
872 2650143
>>50138
прав
873 2650146
>>50122

>чекед исключения - это норма



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

Забавен также тот факт, что на уровне рантайма всем похуй на тип эксепшена - они там все анчекед. Ушлые люди этим пользуются, и наебывают компилятор всякими SneakyThrows'ами из ломбока.
874 2650147
>>50139
почему легаси?
Я знаю что очень вероятно будет генерироваться эксепшен, и я хочу чтобы пользователь либы не забыл обработать этот эксепшен
875 2650159
>>50147
И пользователь из-за выработанной годами привычки поймает его, обернёт в RuntimeException и кинет дальше.
876 2650163
>>50147

>>почему легаси?


Заставляет писать код в стиле жава 7. С циклами, трайкечами и прочее поеботой из нулевых.

>>я хочу чтобы пользователь либы не забыл обработать этот эксепшен


Ты просто заставляешь его писать тра-кетч, не более. Если захочет - обработает. Задокументируй лучше подробнее, чтоб пользователь понимал когда прилетает эксепшен
877 2650184
>>50146
>>50139
90 IQ анальники тут как тут.
878 2650185
>>50163
>>50159
итого единственная причина - неудобно с новомодными лямбдами?
879 2650186
>>50185
Нет, просто это слегка более заумная вещь, чем способен вытянуть мозг анальника.
880 2650188
>>50163

> Задокументируй лучше подробнее


А потом забываешь один из 500 постулатов документации и встречаешь дебаг в 3 часа ночи.
881 2650196
>>50184
блин чел вижу ты умный. можешь мне ответить? сюда >>50122
я не пониманию что и когда мне использовать, exception или runtime exception
882 2650197
>>50184
>>50186
Написал пустой кетч и почувствовал себя гением наебавшим систему?
883 2650199
>>50197
Пустой кетч — моветон. Исключение в любом случае надо обрабатывать, либо утвердить, что оно не должно вылетать, повесив @SneakyThrows.
884 2650202
@SneakyThrows
885 2650208
>>50196
Чекен и анчекед эксепшены, хоть, по виду и очень похожи, являются фактически совершенно разными конструкциями.

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

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

>Что делать?


ну тут очевидно что нужно менять профессию
887 2650214
>>50184
Разумеется. Ты же пришел.
888 2650218
>>49932

>АХУЕТЬ


добавление пары никому ненужных коллекций к существуующему зоопарку стоит таких эмоций?
889 2650220
>>50146

>Я, например, так не считаю.


также как и создатели самой жавы. это всеми признаный архитектурный проёб который к сожалению нельзя уже никак исправить.
890 2650221
>>50208

>Проверяемое исключение — это форма ветвления



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

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

Но даже если на это забить - в реалиях джавы чекед эксепшены все равно хуйня из за лямбд и стримов, которые превращаются либо в трай-кэтч месиво, либо сники-throws-лицемерие. И я еще не говорю про просачивание чекед эксепшенов в интерфейсы - такие концепции говнокодер типа тебя скорее всего даже и не осмыслит.
891 2650229
>>50208

>Чекен и анчекед эксепшены, хоть, по виду и очень похожи, являются фактически совершенно разными конструкциями.


срыв покровов итт
892 2650235
>>50208

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


ну вот в книжке написано, что вызывать через throw new NullPointerException() не надо, потому что это ошибка, которую программист должен не допускать. т.е. как я понимаю, если я хочу обращаться к методам объекта, то мне надо сначала проверить что-то типа if (obj != null) obj.getSomething(), а не вызывать эти методы в try/catch и не отлавливать их. соответственно, исходя из этого, я не понимаю в каких случаях я должен создавать свое исключение extends RuntimeException, если я их не должен отлавливать, а должен не допускать в принципе? т.е. какой смысл вообще наследоваться от RuntimeException мне?

в той же книжке даже пример приводят на основе Exception. книга если что java полное руководство шилдт 12 издание
893 2650236
>>50220

>к сожалению нельзя уже никак исправить.



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

если это действительно так, то для чего есть эта возможность, как и наследоваться от RuntimeException?
896 2650276
>>50262
Почему?

BudgetNeSwedenException ты можешь сделать как рантайм так и чекед эксепшеном
897 2650283
>>50276
С не пойманными рантайм эксепшенами хорошо сочетается респонскод 200 ОК.
898 2650285
>>50221
Моветон, потому что в умной книжке от Анальника Аналыча так сказано?
899 2650286
>>50214
Стрелочка от анальника, ведь ни на что другое он не способен.
900 2650288
>>50283
если ты его поймал - значит приложуха не упала и способна отвечать и работать дальше, значит 200
901 2650289
>>50236
ну основной тезис, как я понимаю, в том, что потребуется смена парадигмы программирования, пусть и в локальном масштабе. то есть сейчас эксепшены, как сказано выше, используются как механизм ветвления. эдакий ifelse только через жопу. когда эти эксепшены только внедрялись там под них пиздец какая идеология подводилась в противовес сишным кодам ошибок. типа сделаем удобнее, быстрее, лучше, блаблабла.

по итогу оказалось что сишный способ возвращать код ошибок как результат процедуры проще и удобнее в разы чем этот эксепшный оверинжиниринг. но выкинуть его просто так нельзя, так как эта хуйня - часть идеологии языка
902 2650292
>>50235
Наследование непроверяемых исключений нужно только для семантики. Чтобы залезть в консоль и увидеть, что ты долбоеб и ввёл неправильный токен от АПИ, а не мистический RuntimeException по любому поводу.
изображение.png28 Кб, 327x376
903 2650294
>>50276
могу! но нахуя, если мне шилдт говорит, что я должен предотвращать появление runtime эксепшинов, а не выкидывать их и обрабатывать? написал код, куда уж нагляднее? глядя на этот пик приходит мысль зачем вообще наследоваться и создавать свои runtime эксепшены, если их надо попросту НЕ ДОПУСКАТЬ В ПРОГРАММЕ?
904 2650298
>>50294
что за бред. Программа должна работать корректно. Если это невозможно - кидаешь эксепшен.
Возвращать некорректный результат только из-за нежелания кидать эксепшен - это неправлиьно
905 2650299
>>50289

>эдакий ifelse только через жопу.


Не через жопу, во многих случаях это правильнее, а иногда без них вообще никак. If/else в контексте небезопасного инпута это префиксная обработка, а исключение — постфиксная.
906 2650302
>>50294
Если у тебя 10 — инпут, то 1 — правильнее.
907 2650305
>>50302
Ой блядь, не 10, а переменная "а".
908 2650306
>>50294
ну так и есть, писать код вообще без самописных эксепшенов - вполне себе хорошая практика. относись к эксепшенам как к неудачному эксперименту при разработке языка и старайся их использование свести к минимуму
909 2650308
>>50306
>>50294
Ты нахуя сам с собой разговариваешь, дурик?
910 2650312
>>50299

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


как же сишка без эксепшенов работает, магия наверно.
911 2650316
>>50312
А ассемблер-то как работает!
912 2650320
>>50294
>>50235

а все, я долбаеб, он говорил про throws, а не throw...... т.е. для runtime эксепшенов не обязательно явно их прокидывать выше для дальнейшей обработки
913 2650322
>>50316
как сишка
914 2650331
>>50294
ну кстати твой пик вполне показателен.
у тебя блоки кода нихуя не равнозначны, и это одна из основных преензий к эксепшенам. если во втором случае ты впоне конкретно обрабываешь ситуацию деления на ноль то в первом случае ты обрабатываешь неведомую хуйню, то есть он у тебя может упасть и когда ты на ноль поделишь, а может упасть когда ты код на хитромудром процессоре с необычной архитектурой запустишь и у него там регистров не хватит для вычисления твоего деления. и если вдуматься то это пиздец. в жаве так то мало мест где можно стрелять себе в ногу - и это одно из них.
915 2650334
>>50331
Почему ты продолжаешь гореть и разговаривать сам с собой?
go.png205 Кб, 1717x1674
916 2650337
>>50312

>>без эксепшенов работает


го доказал что эксепшены не нужны
изображение.png18 Кб, 1272x127
917 2650338
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

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

>эксепшены, как сказано выше, используются как механизм ветвления. эдакий ifelse только через жопу.



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

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



Мы ж не в 90х щас вроде живем. Есть способы и подескриптивней. Верни опшенал. Или затащи из ФП какой нить аналог Either/Maybe.
919 2650350
>>50331
причем это изначально подавалось как ахуеть какой плюс, типа безопасный код, даже если регистров не хватит мы все равно ошибку поймаем. но на практике это вылилось в мегабайты непонятных стактрейсов ведущих в никуда и рождению принципа fail fast, который абсолютная противоположность тому подходу, который декларируется концепцией эксепшнов
920 2650351
>>50334
съеби
921 2650352
>>50294

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



Относись к этому так: рантайм эксекпшен - это косяк по вине твоей, как разработчика. В этом смысле ты действительно должен избегать их появления в рантайме. Но это не значит что ты не можешь обьявить и использовать парочку рантайм эксепшенов для самопроверки.
scale1200.webp31 Кб, 1200x900
922 2650355
>>50351

>съеби

923 2650357
>>50338

>>пришли в контроллер параметры запроса, как мне их проверять?


ValidationApi

>>пвыкидывать и обрабатывать исключения и отсылать ответ этого исключения?


Они сами все выкинут, но если хочешь свое сообщение написать - перехватываешь в своем эксепшен хендлере валидейшЭксепшн и выдаешь свой текст.
924 2650359
>>50338
если валидация не прошла - выкидываешь свой чекед BusinessException, ловишь его в контроллере, в случае реста выдаешь на выходе что-то типа

200
{
code: BusinessException
message: Budget ne sweden
}
925 2650361
>>50345

>Мы ж не в 90х щас вроде живем.


ты то может и не живешь, но ноги этой концепции прям оттуда и ты пожинаешь ее плоды. просто в свое время была охуеть какая дискуссия на тему того что обработка ошибок в сишке говно и как нам ее решить, и эксепшены родились (точнее массово распространились) как раз в результате этой дискуссии.
926 2650366
>>50359

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


>


вот вот, о чем и речь, то же самое сишное возвращение кода ошибки, только через жопу
927 2650368
>>50361
Кек, интересно.

А у тебя часом не осталось хвостов на эту дискуссию? Я б почитал.
928 2650369
>>50366
не нужно руками прокидывать твой код ответа функции по всему стеку вызовов.
929 2650374
>>50369
ну так у тебя чекед эксепшн же, ну будешь не код ошибки прокидывать а декларацию throws в описании метода, какая разница
930 2650375
>>50359
>>50357
>>50352

ну вот я так писал на спринге. он сам перехватывал этот эксепшн и отправлял клиенту. в этой ситуации разве это ошибка программиста? сомневаюсь, это наоборот обработка ошибок пользователей, но ведь это runtime эксепшн все равно
931 2650380
>>50368

>А у тебя часом не осталось хвостов на эту дискуссию? Я б почитал.


в ранних книгах по яве это было обязательной главой, так как там был именно запрос на перевод программистов с си на яву и эти темы (чем ява лучше си и с++) полно освещались. они по сути и писались как учебник для тех кто решил сменить си/плюсы на яву. можешь поискать что-нибудь из книг года выпуска эдак 1996-1998.
932 2650381
>>50375
Спринг, это как правило веб-сервер. А стопать процесс вебсервера из-за эксепшена == получить стопяцот недовольных хомяков, которые не смогли провести свои транзакции и точат вилы чтобы ими тебя выебать. Там тупо выхода другого нет.

Поэтому вместо этого спринг отдает код 500, который на НТТП-языке означает литералли то же самое - "реквест провалился из-за того, что Васян на сервер-сайде - долбоеб".
933 2650387
>>50381
500 должно означать что сервер помер. Ошибка валидации это явно нормальная работа и сервер не помер. Значит 200
934 2650388
>>50375
Кинопоиск кун, ты живой)
935 2650390
>>50380
вот показательный текст 1989 года.
http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/tech_reports/SRC-RR-40.pdf

тут на первых трех страницах приводятся доводы который потом можно было прочесть в любой книжке по яве
936 2650397
>>50387
Это уже нюансы. В спринге ты добавляешь эксепшн хендлеры и в них сам решаешь, как маппить эксепшены на транспорт. И это кстати еще одна причина почему обьявлять рантайм эксепшены может понадобиться: спринг их различает по типу.

Или ты можешь пересесть полностью на чекед эксепшены. Но тогда тебе еще придется по всему стеку вызовов прокидывать руками бессмысленные throws-декларации, или как местный шиз рекомендует - контрол флоуить. А спрингу один хер похер - какие эксепшены маппить.
937 2650399
Что такое ранее и позднее связывание ?
938 2650405
>>50381
Валидация это 400, хуйня не найдена - 404, ошибка по бизнес хуйне 417.
А 500 - да, либо вася долбоеб и НПЕ не учел или все наебнулося по какой то причине.
200.png126 Кб, 900x675
939 2650406
>>50405

>хуйня не найдена - 404


here we are. 404 это приложуха не найдена
940 2650416
>>50399
То, чего в джаве нет.
941 2650417
>>50406
Дежурно напоминаю

ДВУХСОТКА-ДОДИК ЗАКАЗАЛ СЕБЕ ДОДОПИЦЦУ
@
ПИЦЦУ ПРИНЕСЛИ, НА КОРОБКЕ ФИРМЕННАЯ НАКЛЕЙКА "Я ПРОВЕРИЛ, ВСЁ ХОРОШО"
@
ДВУХСОТКАДОДИК ОТКРЫЛ КОРОБКУ, А ТАМ ГОВНО
@
В ГОВНЕ ТОРЧИТ ЗАПИСОЧКА "409 MESYA4NII BALANS NE SWEDEN"
@
ОХУЕВШИЙ ЗВОНИТ В ПОДДЕРЖКУ
@
НУ ВЫ ЖЕ ПОНИМАЕТЕ, ЧТО НАКЛЕЙКА ОТНОСИТСЯ ТОЛЬКО К ВНЕШНЕМУ ВИДУ КОРОБКИ
@
МЫ ЖЕ НЕ МОЖЕМ СМЕШИВАТЬ КУЛИНАРНЫЙ, УПАКОВОЧНЫЙ И ДОСТАВОЧНЫЙ ПРОТОКОЛЫ
@
ГОВНО В КОРОБКЕ ЗАКЕШИРОВАЛОСЬ
@
ТЕПЕРЬ ДАЖЕ ПРИ ОТДАЧЕ ПИЦЦЫ В ПИЦЦЕРИИ ДВУХСОТКА-ДОДИКУ БУДЕТ ПРИЕЗЖАТЬ ГОВНО В КОРОБКЕ БЛИЖАЙШИЕ 4 ЧАСА
942 2650420
>>50417
ВСЕ ЗАПРОСЫ ЧЕРЕЗ POST
@
НИКАКОГО КЕШИРОВАНИЯ
@
PROBLEMS WEREN'T
943 2650423
>>50399
аааа дошло...
944 2650424
>>50416
Как-бы есть.
.png467 Кб, 500x500
945 2650475
Это филиал бугурт-треда?
946 2650742
Для тестов можно обойтись System.out.println() ? Или лучше использовать Slf4j-Log4j ?
947 2650750
>>50742
Да.
948 2650766
>>50742
Тесты не нужны вообще. Если ты хороший программист, то сразу пишешь хороший и понятный код.
949 2650767
>>50742
Лучше логгером, можно всё таки разделять levelы, фильтровать, может пригодится
950 2650768
>>50766
Щас бы в 2к23 не знать про no code
951 2650777
>>50742
java.util.logging
952 2650825
>>50766
Нет, нужны. Никто не пишет сразу без багов.
953 2650850
>>50742
ни то ни то, нахуй в тестах вообще какие-то логи
954 2650851
>>50742
в Assertions есть параметр message - тебе туда
955 2650854
>>50742
Тесты нужны только в компаниях уровня Гугла.
Ты — гугл?
956 2650897
>>50854
тесты и комментарии нужны только если у тебя говнокод. У тебя говнокод? Тогда пиши тесты и комментарии
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, они вообще откуда? Что импортировать нужно что заработало?
958 2651079
>>50975
В балдуенге есть ссылки всегда на гитхаб с исходниками, там и посмотри импорты
959 2651122
Udp - легаси, вопросы?
960 2651160
>>51079
Спасибо, очень полезно, пригодится не только в этой ситуации, я думаю.
961 2651178
>>51122
Сам не гамаешь - другим не мешай.
962 2651210
>>51122
В реализации jdk - да
963 2651243
>>50359
>>50387
Вы что пидорасы человеку советуете? Чекед экспепшоны писать, 200 при ошибке, охуеть

Значит выдаю базу
- Чекед эксепшены нахуй не надо использовать, по факту рудимент. Unchecked используются в 99 процентах случаев, особенно для бизнес логики.
- После того как ты создал свой unchecked exception ты пишешь для него обработчик отдельный, в случае спринга это controller advice.
- 200 возвращается при успешном выполении запроса. НИКОГДА сука нельзя отвечать 200 и в теле писать текст ошибки. Http status codes для кого придумали?
964 2651246
>>51243

>Http status codes для кого придумали?


явно не для ручного задавания и попыток выразить ими бизнес-логику
965 2651252
>>50122
Не слушай быдло выше, он наверное пару месяцев отработал на говногалере и уже возомнил себя крудошлепом. Еще хорошей практикой является обработка эксепшенов, которые ероры. Только их очень сложно отловить, поэтому лучше по возможности все методы оборачивать в трайкеч и там уже что-то с ними делать, допустим выводить инфу об ероре в систем аут.
966 2651263
>>51246
Посмотри любой паблик апи, тот же самый github api. Они в зависимости от сценария могут и 200 отдать, могут 204, могут 304, 201, 422, дохуя. В прицнипе я соглашусь, что так много может быть и не нужно (смотря как в команде договоритесь), но остальные ваши советы это пиздец, даже джуны уже знают лучше
967 2651274
>>51263
знать и я знаю, ещё я знаю что это очередные идеологи опять поднасрали и высрали свою шизу, которую зафорсили на всяких хабрах.
Если у тебя что-то сложнее http странички, то поверх накладывается свой бизнес-протокол со своими собственными ошибками. С http кодами они ну никак не бьются.

Скажи мне учоный в говне моченый, если мониторинг детектит 500 ответ, надо ли слать алерт и поднимать админа?
968 2651284
>>51274
Не смешивай сущности. Ребята выше обсуждали rest over http который предполагает использование http status codes. Если вы городите свои велосипеды или rpc то пожалуйста, но не надо новичкам рассказывать, что в ресте нормально возвращать ошибку в 200ке, это вредно

По поводу 500ок, ну тут зависит опять же от кейса, но у нас вот настроен мониторинг на % 5xx
969 2651287
Как отправить через MockMVC следующий объект:

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

В если в imageFile поставить MockMultipartFile, то он не переделывается в жсон, и следовательно нельзя добавить через content(String body). Как решить это?
970 2651300
>>51284
рест это и есть форс. Недостижимый идеал, который даже теоретически недостижим и непонятен. Исходит из ложной идеи что все это объект, и у объекта может быть только 4 действия (круд).
Для веб-странички это применимо. Для ресурса типа картинки - тоже. Если что-то сложнее, какой-нибудь там бюджет, то у бюджета гораздо больше возможных действий.
HTTP изначально и создавался ради веб-страничек и картинок, для этого он хорошо подходит. Это уже потом где-то в десятых появился форс что http надо натягивать вместо бизнес-протокола. До сих пор страдаем

Предположим в коде случился рандомный RuntimeException, спринг это смаппил на http 500. Это аварийная ситуация? Ты бы хотел чтобы тебя в ночи будили из-за попытки тёти вали поделить на ноль?
971 2651415
>>51300

>и у объекта может быть только 4 действия (круд).


Я тебе щас страшную вещь скажу, но все, что сложнее этих 4 операций - это отдельная сущность.
972 2651426
>>51415
Нет.
973 2651437
>>51415
а вот и попытка натянуть сову на глобус. Попытка всё сделать объектами с 4 операциями
974 2651455
>>51437
Ой, а что, в ООП как-то иначе должно быть?
>>51426
Ты пидор.
975 2651459
>>51455
ооп не существует. В программировании глаголы (методы, функции), а не объекты с 4 действиями

"Распечатать отчёт" как ты через рест будешь делать?
"Распечатка отчета, создать"?
976 2651466
>>51459
Где он должен распечататься?
977 2651468
>>51466
на принтере
978 2651469
>>51468
На каком из?
979 2651482
>>51469
Пользователь нажимает "Напечатать" и у него открывается новое окно с pdf
image.png5 Кб, 450x135
980 2651486
>>51482
Вопрос не снят.
981 2651521
>>51459
GET /cgi-bin/reports.fcgi?action=printreport&reporttype=kassovaya_kniga&knigaid=44736
982 2651530
>>51521
perfect
983 2651613
>>51300

>у объекта может быть только 4 действия (круд).



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

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

REST и CRUD - две абсолютно не зависящие друг от друга вещи. REST не обязан быть CRUDом так же, как CRUD - RESTом.
984 2651649
>>51459
ООП не существует только в твой скудной голове, аналиэ.
985 2651655
Рест только для обмена данными, долбоебы.
986 2651667
>>51613

>REST и CRUD - две абсолютно не зависящие друг от друга вещи. REST не обязан быть CRUDом так же, как CRUD - RESTом.


Обязан, так как >>51655.
987 2651684
>>51613
если есть существительное, с которым можно только
PUT create
GET read
POST update
DELETE delete

где ещё взять операций?
988 2651737
POST /api/anon/2651655/jopa

["hui"]
989 2651740
>>51737
Натягивание совы на глобус. Рест не предназначен для этого.
990 2651742
POST /api/anon/>>51740/jopa

["hui"]
991 2651812
>>51210
Пидорас,я тебе ебальник то проломлю
992 2651813
Кто-нибудь использовал спринговский mail sender? Хули так долго? Одно письмо в две строчки отправляется секунд 10,а если их сотню надо отправить,это же ебануться можно
993 2651861
>>51813
Это ебанутые протоколы. Это больше задержка, чем непосредственно время, потраченное на отправку. Отправляй каждое новое письмо новым потоком просто.
994 2651952
>>51861

> отправляй потоком


Это как?
995 2652012
>>51952
new Thread(() -> this.sendEmail("popeg\ldANUSkreml`SRinPUNCTUMrNWNu", "mamku ebal)0)0))))")).start();
996 2652015
>>51813
Все нормально работает, у тебя что-то сломано в конфигурации
997 2652018
>>51861
Никаких протоколов «тупить 10 секунд» не существует
998 2652021
>>52015
Покеж свои конфигурацию
999 2652037
>>52018
Ты не поверишь...
1000 2652085
>>51287
Аноны, ну подскажите, плиз. До сих пор не могу решить.
1001 2652098
В Java 20 выпилили instanceof Point point
1002 2652104
>>52098
Нахуя? Кому мешало?
1003 2652107
>>52085
Когда вы используете 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.
1003 2652107
>>52085
Когда вы используете 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.
1004 2652144
>>52107
Спасибо большое, но не совсем то. У меня метод контроллера принимает (@RequestBody ArticleDTO), а в том что описано это метод с тремя @RequestParam, один из которых файл, два строки.

Эх, походу придется переделывать апи под реквест парамы... Обидно, когда не можешь справиться с задачей как нужно, и приходится подгонять задачу под ответ.
1005 2652173
>>52085
Я нихуя не понял что нужно, закинь проект на гит, придумаем всем двачом
1006 2652657
>>52098
пруф
.png43 Кб, 1042x519
1007 2652706
>>52098
Не воспроизводится.
1008 2652996
Ку анчоусы, вопросец есть. Использую спринг секьюрити, написал фильтр для токенов и класс, который генерит эти jwt токены. Могу ли я как-то сразу подсунуть этот токен в хедер при успешном вводе кредов юзером? Ну то есть в саксес хандлере допустим взять и вставить новый хедер в реквест, чтобы потом сразу выдать юзеру страничку запрашиваемую.
1009 2653015
Хочу из аннотейшн процессора на этапе компиляции вызвать рефлексию для обработки компайл-тайм аннотаций.
Там вроде отдельный рантайм поднимается.
javax.annotation.processing апишка очень многословная, неприятная и кривая, хуже рефлексии.
Попробовал рефлексией читать содержимое классов, параметры аннотаций, и сигнатуры методов. С рефлексией код попроще, но компилируется медленнее.
Еще почему то в AnnotationValue.getValue() параметр с типом String[] не кастится String[], идея в дебагере пишет, что там под капотом com.sun.tools.javac.util.List<String> вместо массива и пока не нашел как его скастить или сконвертировать.
Какие подводные вызывать рефлексию из аннотейшн процессора? Ну кроме скорости компиляции.
1010 2653039
>>51243

>НИКОГДА сука нельзя отвечать 200 и в теле писать текст ошибки.


Тыскозал?
1011 2653123
>>53039
Пчел, не позорься, не смешно. Ну а если ты не пытаешься в троллинг, то сразу становится видно, что нихуя кода ты в своей жизни не писал, потому что знал бы, что стандарты и best practices важная часть работы
соя.png903 Кб, 720x1079
1012 2653130
>>53123

>best practices

1013 2653195
>>53015
Как ты хочешь вызывать рефлексию для нескомпилированных классов?
1014 2653239
>>53123
restful это не стандарты и не best practices. Это натужный форс
1015 2653241
>>53239
натужный форс это твоя жизнь
1016 2653257
>>53239
Это де-факт индустриальный стандарт. От того что лично тебе это не нравится ситуация не изменится. Очевидно ты неадекватно оцениваешь современное положение дел. Тут вижу два варианта, либо ты ебать шутник, либо ты нихуя не знаешь

Новички, которые будут это читать, не будьте как этот васян, работать с такими челиками это пиздец
1017 2653274
>>53257
чтобы быть стандартом оно должно иметь четкое описание и требования. Рестфул это просто набор слабо привязанных к реальности рекомендаций
1018 2653275
>>53274
рекомендаций, которые каждый понимает по-своему
1019 2653597
Когда в последний раз вы сталкивались с ситуацией "глаза боятся — руки делают"?
1020 2653605
>>53597
Все 4 года, что работаю.
1021 2653606
>>53597
почти каждая таска
1022 2653646
ПЕРЕКАТ >2651134
1023 2694558
C# хуйня
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 23 мая 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски