Этого треда уже нет.
Это копия, сохраненная 31 октября 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
image.png1,3 Мб, 1024x1024
Java Thread #252 /java/ 2816575 В конец треда | Веб
Программирование 😎 - это не только скучное кодописание 😏, а настоящее приключение в мире бесконечных возможностей 🚀. Высокоуровневая ☝ абстракция, поиск общих черт, умение оптимизировать - всё это как кисти художника, воплощающие высший уровень интеллектуального мастерства, взаимодействующего с магией программирования на Java 😜.

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

Предыдущий: >>2756391 (OP)
Slice 1 (6).png36 Кб, 512x479
2 2816596
>>16575 (OP)
ОП хуй.
Бамп.
3 2816636
спрашивайте вопросы по джаве отвечу пока в отпуске
4 2816651
>>16636
Зачем выбрал убогую жабу, когда есть няшный шарпик?
5 2816654
Пупуни дибильные трендик перекатывают хихихи,покекала с пупунек дурацких
6 2816657
вжжжжж вжжжжж вжжжжж
7 2816669
>>2816536 →
Сервис пользователей вычитывает весь топик по фильмам. И сохраняет себе в бд табличку фильмов(табличка фильмов может состоять из одних юидов, сгенеренных сервисом фильмов). Потом по к этой табличке делаешь свою manytomany табличку к юзерам.
Ну и создал ты юзера. Потом идешь поиском по фильмам(имя через like и год) на сервис фильмов. Он возвращает тебе юид. И потом идешь на сервис юзеров и делаешь запись в таблицу user_film, туда и оценки можно добавить.
В какой-то из книжек по микропенисам были эти ваши кинопоиски.
8 2816844
>>16636
Сколько опыт?
Какая ЗП?
Уровень знаний? Роль в команде?
Какой стек?
9 2816847
>>16636
Сколько опыт?
Какая ЗП?
Уровень знаний? Роль в команде?
Какой стек?
10 2816854
>>16636
1. Как устроен компилятор,
2. Как устроена ЖВМ?
3. Ты гей?
4. Назови 3 принципа ООП.
5. Какое девичья фамилия вашей матери.
6. Напиши на регекспах распределенный сервер.
7. Бочку сделай.

Пока так
11 2816883
>>16854
Блять, лучше бы не выходил в отпуск...
12 2817005
>>16669
Пасибки
13 2817081
>>16636
почему джава такая хуйня и нахуя тебе отпуск на заводе твоём дядь миш
14 2817221
>>16847
>>16854
>>17081
вы че ебланы я не буду на такое отвечать
15 2817228
>>17221
Да ты ни на что нормально не отвечаешь.
16 2817303
>>17228
нормальные вопросы задавайте
17 2817307
>>17303
Справа лес хуев, слева море говна, куда приземлишься? Ответ в виде юнит теста
18 2817309
>>17307
assert нет
image.png66 Кб, 801x730
19 2817320
20 2817363
>>17303
Какие? Что лучше Балтика 9 или Жигулевское? Не на правах рекламы
21 2817377
>>17363
не пью
баварскоепиво.jpg570 Кб, 1200x840
22 2817397
>>17363
жигулёвское уточняй какой пивзавод. Жигуль на каждом пивзаводе есть, и не по одному
23 2817530
https://habr.com/ru/news/756588/

В каждой шутке есть доля шутки.
24 2817560
>>17530
С кобола на кобол? Чзх? Чому не шарп
25 2817563
>>17560

>Чому не шарп


Там наверное не под виндой эти мейнфреймы ходють
26 2817570
>>17563
Ну там эта, мона есть. Или как оно называется. Ну в общем кроссплатформенный он.
27 2817705
>>17530
IBM главные пупуни индустрии
28 2817723
>>16636
Когда идешь вверх по файлам для импорта в jsp, то фильтр по секурности не пропускает этот форвард, если не добавить пик 2.
Вопрос, какой конкретно файл-то не проходит? Я не хочу вообще все добавлять.
29 2817747
>>17723

> JSP


> WEB-INF


Никто никогда не вернётся в 2003 год. Но ты вернулся.
30 2817750
>>17747
Какая в жопу разница, как этот хтмл генерировать?
image.png8 Кб, 755x53
31 2817752
Из кобола в кобол.
32 2817754
>>17750
Раз нет разницы, пиши на шарпе.
33 2817759
>>17754
Мне лень новый яп учить. Вот если минетик оформишь....
34 2817761
>>17759
Я готов соснуть каждому джависту, перекатившемуся в шарп.
35 2817762
>>17761
Мило. Но пока в какой раз надо переписывать... Делать хуйню, чтобы переписать на хуйню чуть лучше. Звучит, что ж.
36 2817778
>>17747
Ха-ха я в нем живу проект на 5 джаве
37 2817779
>>17778
О, ответишь на вопрос? >>17723
38 2817800
>>16636
Перекатчиков с плюсов берете на работу?
39 2817824
>>17779
Сорямба, я в настройку сервлетов не лазил давно. В основном крашу кнопочки :3
40 2817983
>>17530
Аж олдскулы свело. Когда был студентом, мой научрук писал компилятор из PL/1 в Java.
41 2817984
>>17309

>нет


Пидора return
42 2817985
>>17778

>проект на 5 джаве


На каких нибудь военных работаешь?
43 2817999
>>17985
Нет, в Энтерпрайзе!!!
44 2818011
>>17999
Ну ты и пупуня
45 2818040
>>17999
Пиздишь. Весь тырппрайз сидит на Java 8 Enterprise Edition.
46 2818211
Что-то опять по срокам проебываюсь. Ну в принципе-то почти готово, думаю, надюсь к концу недели захосчу... https://github.com/anywaythanks/Twister
Только не знаю, стоит ли того, возможно и не нужно этот проект в резюме пихать, а написать что-то другое потом
47 2818251
>>18211
Блять!
Это что вообще? ТРИ ТОПОРА?
бЛЯТЬ!
Какую задачу решает этот сервис?
48 2818258
>>18251
А че он какую-то задачу обязательно должен решать? Крутица красиво. Думаю хватет.
Вообще у меня и другие штуки есть, прим https://github.com/anywaythanks/ExtendedSynchronizers
Но как видишь, эта штука больше внимания привлекает.
49 2818265
>>18211
Бляяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя

Я не хочу тебя обидеть, серьезно. Нахуя тебе столько интерфейсов? Просто было было? Так вообще НИКТО не пишет.
В качестве маппингов погугли про mapstruct.
Как минимум аутентификацию/авторизацию вынести в отдельный модуль бы, но это всё хуйня, если смотреть как ты пишешь код с этими ебучими интерфейсами
50 2818266
>>18265

>Как минимум аутентификацию/авторизацию вынести в отдельный модуль бы


В плане? Она и так на отдельном сервере авторизации keycloack. Че мне еще сделать-то?

>погугли про mapstruct.


О, пасиба. Глянем.

>Нахуя тебе столько интерфейсов?


Ну прочетал, что сервисы это интерфейс и имплементация. Разделил.
51 2818279
>>18266

>сервисы это интерфейс и имплементация. Разделил.


Хуйня это ебанная. Антипаттерн. Имеет смысл, если у тебя будет несколько разных реализаций

Сори, хуй знает чё у тебя там с авторизацией, я читать это ебал. Для начала попробуй писать монолиты, но с нормальной архитектурой внутри проекта, хотя бы. Потом уже переключишься на микросервисы. Я бы тебе советовал почекать какие-то боевые проекты, которые писали челы с опыток, но я не ебу где такое искать в оперсурсе. Можно всякие видосики на тыртубе от всяких Eugene Suleimanov чекнуть
52 2818285
>>18258
а пон это ты тот шиз
image.png61 Кб, 533x404
53 2818293
>>18285
Че сразу шиз-то?
>>18279

>Антипаттерн


У суки, прям в доках антипатернят. Где почитать про это можно хотя бы?

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


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

> Я бы тебе советовал почекать какие-то боевые проекты


Ммм, я прошу скинуть хотя бы какой-то вот уже сколько времени... Ну когдаааа-нибудь скинут, да.
54 2818311
>>18293
Доки в джаве... Вот бы ты еще до доков про многопоточность дошел. Ахуел бы что там их около 0

Ну, и тебе в доке пишут про DDD. У тебя интерфейс не зависит от реализации. Нахуя тебе его описывать? - Не понятно. Твой интерфейс - методы торчащие наружу из класса (public)
55 2818322
>>18311
Ты рофлишь? У меня проект по многопоточке сверху скинут.

>У тебя интерфейс не зависит от реализации.


Что это вообще значит? Почему он вообще должен зависеть от имплементации, это ж контракт. Можешь скинуть что-то про это все?
image.png25 Кб, 613x381
56 2818347
Чё творит то...
57 2818348
>>18322

>Ты рофлишь? У меня проект по многопоточке сверху скинут.


Ну а чё ты доками тычишь. В коммьюнити всем на них плевать. Это хуево, но ничего не поделаешь.

>Что это вообще значит? Почему он вообще должен зависеть от имплементации, это ж контракт. Можешь скинуть что-то про это все?


Представь что ты написал какой-то код со сторонней библиотекой. Ты знаешь что какой то методполучается оговоренные параметры и ты ожидаешь оговоренный результат. (Например, либа Math) Тебя не ебет че там чел под капотом сделал, ты ждешь результат через интерфейс, который описан. Через время чел, разраб библиотеки, меняет РЕАЛИЗАЦИЮ этого метода. Но он должен сохранить контракт. Чтобы не сломать совместимость. Типа тебе вообще похую чё под капотом, если контракт сохраняется.

Где про это читать? Ну, я не ебу. Я не читал книги по этим темам. Но, наверное, самое тупое - чистый код, чистая архитектура. Эти книги люто обсирают. Можно прочитать, но нужно быть критичным. Я лично видел как автор в чистом коде ебанул абстракций, которые 1 метод на 10 размазали.
image.png113 Кб, 783x793
58 2818355
>>18347
Могу себе позволить.
>>18348

> В коммьюнити всем на них плевать.


Блин, не знал. Я неиронично думал, что доки это что-то чуть ниже спек, и фактически то, на что стоит ориентироваться. Ну лан.

>Но он должен сохранить контракт. Чтобы не сломать совместимость. Типа тебе вообще похую чё под капотом, если контракт сохраняется.


Ну вот, в чем проблема? Возможно я в будущем захочу часть сервисов под жука переписать, нинаю. Или еще что. А контракты уже будут. Я правда не понимаю доеба.
59 2818362
>>18322

>Почему он вообще должен зависеть от имплементации


Прикинь что я тебе вместо HuiPizdaDto в новой версии буду отправлять PizdaDtoV2. Вот тут у тебя контракт зависит от реализации. Я что-то поменял и всё сломал.
60 2818363
>>18347

>может позволить держать две разные базы данных


>не может позволить ломбок


Томкат нахуя, он и так там есть в миниатюрной версии в спринг буте
61 2818370
>>18363
Ломбок я просто сам не хочу.

>миниатюрной версии в спринг буте


Да пофег. В любом случае я это на томкат хочу пульнуть в итоге.
>>18362
Ну еблан тут ты и не пройдешь по валидации.
62 2818382
>>18355
Возможно я в будущем захочу часть сервисов под жука переписать, нинаю. Или еще что. А контракты уже будут. Я правда не понимаю доеба.

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

Офк, брат, это ТВОЙ КОД СТАЙЛ!!! Но тебя с ним никто не пустить писать ничего. У тебя реальные проблемы с этим. Это не такая хуйня, когда ты срешься с тимлидом из-за фигурных скобок и т.д. У тебя само понимание архитектуры слабое. Как фиксить? Я не ебу. Читай проекты + смотри видосы. Было бы заебись, если ты на стажировку устроился. Там хотя бы научат какому-то код стайлу. Тоже мб не супер, но лучше, чем сейчас

>>18370
Ебланом буду я, но прод слетит у тебя
63 2818388
Почему бидерекшнл связи в хибере такое говно? Какие-то дикие костыли для сериализации, чтобы не уйти в рекурсию. При этом это защищает тебя для jackson, но никак не поможет, если кто-то просто сделает get. Все выглядит так, что нужно избегать бидерекшнл связей.
64 2818401
>>18388
В говнохибернейте вообще много чего нужно избегать.
65 2818406
>>18382

> У тебя само понимание архитектуры слабое.


Ну я не особо спорю, но кроме интерфейсов-то критика есть? Как бы там к реальному коду, например? То, как персистенс контекст сохраняется, еще чего. А то доебы уровня, а вот у тебя отступ 1.25, а надо 1.5.
66 2818423
>>18406

>Как бы там к реальному коду, например?


Архитектуру пофикси, почитаю. Пока желания в это погружаться особо нет)

>То, как персистенс контекст сохраняется, еще чего.


Ты аннотации транкакций еблански ставишь
67 2818449
>>18423
Ну лан, пасиба еще раз. Уберу интерфейсы из сервисов и попробую маппинг через структ сделать. Возможно сервисы красивше станут...

>Ты аннотации транкакций еблански ставишь


Почти osiv. Ну поправлю думаю, как раз.

>почитаю


Приму как обещание)
68 2818455
отказываюсь от хибернейта. Как через jdbcTemplate избавиться от N+1?

запрашиваем список сущностей с зависимостями

entity1
.... entity2
.....entity2
entity1
.....entity2
.....entity2

как это вытащить через один запрос и запихать в дто?
69 2818462
>>18355
какой нах qa еблан
70 2818523
>>18455
Почитать базу про JOIN, например.
71 2818530
>>18523
ну приджойнил я вторую сущность, получил

entity1_1 entity2_1
entity1_1 entity2_2
entity1_1 entity2_3
entity1_2 entity2_1
entity1_2 entity2_2

как это красиво преобразовать в список entity1 с потомками?
72 2818537
>>18462
Через постман, няшк. А что?
73 2818653
>>18537
у тебя при запросах через постман и в проде приложение по разному работает? еблан?
74 2818666
>>18653
Блин, ну запросы в постман отрабатывются.
Вообще я сонный и хватит обзываца
75 2818682
>>18251

>Какую задачу решает этот сервис?


Вот я про тоже писал, ну видимо покрутить кейсы))) это весело)))
76 2818687
>>18682

>это весело)))


Вот, рад что ты меня понял)
77 2818916
>>16854

>1. Как устроен компилятор,


>2. Как устроена ЖВМ?


>3. Ты гей?


>4. Назови 3 принципа ООП.


>5. Какое девичья фамилия вашей матери.


>6. Напиши на регекспах распределенный сервер.


>7. Бочку сделай.



1. Каком кверху
2. Каком книзу
3. Да
4. Полиморфизм, Инкапсуляция. Наследование - для дебилов, нужно вычеркнуть.
5. Шаломова
6. Напишу в регексп треде
7. https://www.youtube.com/watch?v=jIc6dW-Tbsg
8. Скрам, Спринг, Котлин, Гредл - базворды для тупых дебилов. Только pojo, ООП и хардкор
78 2818979
Котлин выглядит компактнее, в нём есть защита от нулла, нет 25-летней легаси истории (Int - это класс, а не переменная) и прочие плюхи. Почему же ты душишь старую жабу?
79 2818980
Все мои одноклассники давно пишут плагины и моды для майнкрафта на котлине, девки текут, быдло уважает
80 2818981
>>18979
Эм, что? В котлин проект вальгалла уже реализован? Или просто примитивы запрещены? Второе хуета же абсолютная.
Защита от нулла мб и полезна, но лучше бы скуфы из оракла сделали стандартные аннотации для этого.
81 2818982
>>18979
Нах не нужна нам ваша защита от нулла!
82 2818984
>>18981
Там нет примитивов совсем, твоя переменная типа Int на самом деле в котлине является объектом класса Int
83 2818987
>>18984
Ну это хуета и аргумент против котлина. В жабе есть Integer. Кушай, не обляпайся.
84 2818992
Скоро в java завезут struct, loom уже завезли и нахуя тогда го нужен будет?
85 2818994
>>18987
Само наличие в джаве типа int и класса Integer признак легаси, в котлине отсутствие примитивов позволяет автоматически приводить "тип", это значит меньше телодвижений.
И так во многом. Допустим в джаве для класса вы прописываете геттеры сеттеры (пусть даже одним кликом в IDE), а в котлине просто пишут data class и они сами потом генерируются при компиляции
86 2818996
>>18994
Нет, ты несёшь хуйню. Это решение создателя языка, как и отсутствие перегрузки операторов.
Удалить примитивы, просто идиотское решение, мне даже не верится, что в котлине это провернули.
87 2818997
>>18530
В жуке я такое делал переводя вложенный список сущностей в jsonarray встроенными функциями постгри.
88 2819000
>>18211
И ты вот это все серьезно делаешь чисто для себя и тебе никто за это не платит?
89 2819001
>>19000
Кто мне заплатит за открытый код? Да делаю для себя. Просто первый ±проект на спринге. А что?
90 2819031
>>19001
В чем проблема устроиться стажёром и пилить себе учебные таски за деньги?
91 2819037
>>19031
Я не в дс. Тут вакух штуки 3...
92 2819051
>>19037
3 вакухи стажера на спринге это дохуя. Наверно какой-нибудь миллионник.
93 2819052
>>19051
3 вакухи на джуна жабы. А так дааа, миллионник >>2815659 →
94 2819054
>>19052
Ну и что? У меня была в мухосрани была одна вакансия на соротыгу, когда я вкатывался. И проработал там в итоге целых 2 недели, пока не нашел что-то получше на удаленке.
95 2819119
>>19054
Да ничево няш. Я ж не жалуюсь. Вот проектик делаю, чтоб точно вкатиться.
96 2819120
>>18211
Открыл твой проект. Ну как это можно ревьюить, если у тебя нет описания проекта? Не ясно что это, не ясно зачем.
1. Тут в проекте 9к строчек, из них 7к строчек на джаве. По идее к таким проектам нужно минимум десяток страниц текста + диаграммы. Особенно, если ты сделал 2 сервиса. Заполни хотя-бы README.md. Хотя-бы десяток-другой предложений что сервис делает. Какие есть юзкейсы, какая связь между сервисами.
2. В ResourceServer у тебя больше 30 эндпоинтов в десятке контроллеров. Прикрути описания к контроллерам через springdoc-openapi-ui. Хотя бы в одном предложении что делает каждый эндпоинт.
3. У тебя там 20 классов в моделях. У тебя 20 таблиц? Если да, то с таким количеством уже нужна дока на бдху. Er-диаграммы или что-то подобное.
Таблицы создает хибер? Если да, то это хуево. Прикручивай liquibase/flyway. Иначе при доработке схемы ты можешь все поломать.
4. Чисто рандомно заглянул в HibernateConfig:
a. Аннотаха HibernateProps зачем нужна?
b. Почему проперти в коде захардкожены, а не в профильных проперти/yml файлах лежат?
5. Так же рандомно взял сервис. То что ты постоянно вставляешь один вызов в метода в другой сильно ухудшает чтение. Вот посмотри, разлепляешь все вызовы в отдельную строчку с созданием переменной и намного легче и читать и дебажить. Я бы лично и от var отказался, но это вкусовщина.
97 2819147
>>19120
1-2. Ну я обычно в самом конце пишу, как и тесты. В основном потому, что не умею нормально писать ни то ни другое. Постараюсь, конечно описать, но судя вот по этому https://github.com/anywaythanks/ExtendedSynchronizers не гарантирую хорошесть...
3. Таблички делал вроде, но они теряют актуальность, потому и схемы тоже потом сделаю, а пока хибер генерит.
4. Аннотация из-за конфликта бинов нужна.
А так можно? Надо глянуть тогда, вроде у меня уже есть подобное.
5. Можно и так. Я ещё попробую это убрать через мапструкт.
Не ну зря, что ли вар делали в оракл?
Жалко, что немного планы сместились и нет возможности за пк пока что сесть.

В общем пасиба, постараюсь исправить по возможности...
98 2819150
>>19120
смотрю вторую картинку. Добавили вары, но для удобства тип прописывается через двоеточие. Вот это прорыв, вот это мощно
99 2819158
>>19150
Через двоеточие это подсказка идеи. В сорцах там ничего нет.
100 2819189
>>19158
почему-бы не делать это сразы в языке? Удобно же, прописываешь тип и не нужны подсказки идеи
101 2819237
>>19189
Ну не используй вар.
102 2819314
Кажется я понял, почему в аррай дэке 16 + 1 элемент.
103 2819317
>>19314
Ну и почему же
104 2819412
>>19147
5. Хотя глянул я, нормально, что это такое. По сути кодогенерация аля ломбока. Надо тогда и последний тоже включить.

Но это не решает каскада вызова методов: получение сущности из бд в отдельном сервисе, перевод её в id и отправка, получение этого id через маппер, потом через репозиторий получение сущности по id(вытаскивание из контекста). Возможно, конечно, стоит убрать целых 3 вложенных друг в друга вызова в каждом сервисе и возвращать сразу сущность, но тут встаёт вопрос по тому, а persistence ли она, а может detach или transient. Хотя это merge можно решить, наверное. Раз уж это реальная сущность, то и все one-to-many коллекции будут persistence, а не lang, ну это только если детач, с трансиент будет декартово произведение потенциально. Ну и ещё встаёт вопрос существования методов getPartial.

В общем вообще не понятно как именно проектировать сервисы, нормально ли возвращать сущности, а не дто...?
Ну пока мне кажется, что да, наверное так и уберу эти цепочки вызовов.
105 2819632
>>19412
Из слоя сервиса возвращать сущность и маппить ее в дто в контроллере - вариант нормы. Но я предпочитаю маппить в сервисе.
Отдавать на контроллерах сущность - не нормально.
Если не нравится mupstract могу предложить modelmapper. +- тоже самое, но в рантайме и без кодогенерации. Естественно медленее, но это обычно не критично.
106 2819640
>>19632
Вообще, я про общение между сервисами. Но похоже я просто херни навертел и надо просто сущности между ними передавать. Правда как семантически отделить методы для сервисного слоя и межслойного...
Т.е. вот есть сервис для перевода монет; сначала он запросит у другого сервиса общий аккаунт, потом уже в третьем сервисе из этого общего аккаунта ему вернут счёт для кредита. Потом нужно из того же третьего получить счёт для дебита посредством какого-то номера для переводов. Ну и произвести операции над сущностями.
Во время этих запросов соответственно @Authorize проверки проводятся о которых сервис переводов знать не знает.
Сейчас же у меня возвращается дто с id, а сущность надо забрать из репозитория.

Ну кодогенерация объем кода снизит, так проще будет ревьюить.
Может чистый код почитать, а то реально глупо все это как-то.
107 2819644
Вот я еще раз разлепил getPartial. Тут 6 строчек(50-55) с вызовами методов. И вопросов не вызывает только обращение к репошке. Вопросы:
1. Что это вообще за метод и что он делает?
2. Почему на 50 generalAccountInformationService.getId возвращает не айдишкник, а какой-то шизовый GeneralAccountIdResponseDto с наследованием от двух интерфейсов?
3. Почему на на 51 нужен маппер, а не просто .getId()?
4. На 53 идет маппинг отдельным классом-маппером. Смотрим что там за дто и энтитя(пик2). А там классы с одной единственной стрингой. Нужна ли вообще такая дтошка и такая таблица?
5. Что за get() на 54? Смотрим что делает getAccounts() и там какая я то жесть с кучей логики на аннотациях хибера. Пик 3. Что это и зачем тут Map<AccountNumber, Account> accounts?
6. На 55 возвращается AccountPartialResponseDto. Смотрим эту дто. Пик 4 Почему дто имплемнтит что то параметризированное (Amount<MoneyPartialResponseDto>)? Зачем нужен класс Money, помеченный как @Embedded?

Вообще по коду невозможно догадаться что это за сервис и что он делает. Ощущения, что просто все переусложнено на пустом месте. Можешь сгенерить идеей диаграмму табличек бд?
108 2819647
>>19640
Чистый код тебе очень мало поможет. Многие его советы вообще идиотские, некоторые противоречат магии спринга и других фреймворков с которыми мы работаем.
109 2819677
>>19644
Ебать тут перефутболиваний, если задуматься... Попробовал, конечно через ноут поделать, нооо оперативка кончилась. В общем-то сейчас нет возможности. Ну по крайней мере есть вот это https://2ch.hk/pr/res/2756391.html#2811164 (М)
4 сущности для автогенерации имён и номеров. Там AccountNumber, GeneralAccountName и тд. Т.е. табличка существует чисто для sequence. Также есть несколько скрытых маппинг табличек, они для Map<?, Entity> соответственно.
Так, есть uuid из keycloak, оно связывается с GeneralAccount one-to-one связью. Потом в этом общем аккаунте есть счета для денег и инвентари.
Каждый счёт в себе содержит какой-то тип денег и amount. Это агрегировано в табличку.
Инвентарь же содержит слоты с предметом и его количеством.
Предмет это Item, причём есть разные виды предметов, на данный момент это те, что можно продать(ItemMoney) и те что нельзя(ItemTrash). Определяется соответствующим интерфейсом SellingItem.
Потом есть кейсы, что содержат в себе похожие на инвенторные слоты(CaseSlot), но уже и с шансом выпадения. Также есть цена.
Ну и Twist это табличка последних прокручиваний кейсов. По сути журналирование. Крайне спорная табличка, поскольку очень часто просматриваться будет, а ещё она объёмная. Это по поводу model.

1. Возвращает информацию об счёте.
2. Там в интерфейсе @Authorize проверка через returnValue, короче, чтобы не делать лишние запросы в бд. Но думаю вместо этого напрямую сущности буду возвращать.
3. Не знаю, просто показалась, что все операции с дто должны быть в маппере.
4. Автогенерация имён, поэтому да, нужна...
5. В основном, чтобы не писать методы в репозитории для проверки существования. Хотя они там вроде универсальные есть. В общем, просто карта понравилась, красиво же с объектной точки зрения, но маппинг таблица, конечно всю малину портит.
6. А эт чтоб не писать несколько интерфейсов для Request и Response. В любом случае все, что я могу сделать с вложенным дто, это проверить на @NotNull, хотя есть и исключения.
7. Там внутри есть значение value. Оно агрегировано в 3 сущности: Account, Case, ItemMoney. Т.е. каждая сущность имеет собственное значение, там цену, стоимость и пр.
109 2819677
>>19644
Ебать тут перефутболиваний, если задуматься... Попробовал, конечно через ноут поделать, нооо оперативка кончилась. В общем-то сейчас нет возможности. Ну по крайней мере есть вот это https://2ch.hk/pr/res/2756391.html#2811164 (М)
4 сущности для автогенерации имён и номеров. Там AccountNumber, GeneralAccountName и тд. Т.е. табличка существует чисто для sequence. Также есть несколько скрытых маппинг табличек, они для Map<?, Entity> соответственно.
Так, есть uuid из keycloak, оно связывается с GeneralAccount one-to-one связью. Потом в этом общем аккаунте есть счета для денег и инвентари.
Каждый счёт в себе содержит какой-то тип денег и amount. Это агрегировано в табличку.
Инвентарь же содержит слоты с предметом и его количеством.
Предмет это Item, причём есть разные виды предметов, на данный момент это те, что можно продать(ItemMoney) и те что нельзя(ItemTrash). Определяется соответствующим интерфейсом SellingItem.
Потом есть кейсы, что содержат в себе похожие на инвенторные слоты(CaseSlot), но уже и с шансом выпадения. Также есть цена.
Ну и Twist это табличка последних прокручиваний кейсов. По сути журналирование. Крайне спорная табличка, поскольку очень часто просматриваться будет, а ещё она объёмная. Это по поводу model.

1. Возвращает информацию об счёте.
2. Там в интерфейсе @Authorize проверка через returnValue, короче, чтобы не делать лишние запросы в бд. Но думаю вместо этого напрямую сущности буду возвращать.
3. Не знаю, просто показалась, что все операции с дто должны быть в маппере.
4. Автогенерация имён, поэтому да, нужна...
5. В основном, чтобы не писать методы в репозитории для проверки существования. Хотя они там вроде универсальные есть. В общем, просто карта понравилась, красиво же с объектной точки зрения, но маппинг таблица, конечно всю малину портит.
6. А эт чтоб не писать несколько интерфейсов для Request и Response. В любом случае все, что я могу сделать с вложенным дто, это проверить на @NotNull, хотя есть и исключения.
7. Там внутри есть значение value. Оно агрегировано в 3 сущности: Account, Case, ItemMoney. Т.е. каждая сущность имеет собственное значение, там цену, стоимость и пр.
110 2819823
Вот смотрю я на библиотечный метод.
Библиотечный метод делает кучу всякой хуйни, которая не может не выбрасывать эксепшены. Потому что внутри этого библиотечного метода вызывается десять других методов, внутри каждого из которых вызывается ещё по десять, ну вы поняли. Ожидаю, что там будут рантайм эксепшены, с которыми мне надо будет что-то делать.
Джавадоков, разумеется, нет.
Есть ли какой-нибудь инструмент в Идее, который может заглянуть во все методы и выдать список эксепшенов, которые там выбрасываются, чтобы я знал, чего ожидать?
111 2819832
>>19823
Инструменты тебе ничего не дадут, это зависит от реализации и в любой момент может измениться. Ожидать надо Exception.
112 2819880
>>18994

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


мне нужно поле boolean с дефолтным значением false, как это работает в котлин?

>>Допустим в джаве для класса вы прописываете геттеры сеттеры


>>в котлине просто пишут data class


Как и в джаве @Data. Они наверное из жабы эту фичу и взяли.
113 2820106
>>19832

>Ожидать надо Exception.


Вот тебе, бабка, и строгая типизация с кучей типов на любой вкус.
114 2820111
>>20106
это результат ухода от CheckedException. Теперь может кидать что угодно
115 2820143
>>19832
Чому именно эксепшен, а не рантайм эксепшен? Може вообще throwable ждать?
116 2820174
День добрый, на связи студент почти 2-ого курса информатики. За этот год учёбы много чего учил: C++, ASSembler, Питоняку и прочее дерьмо. Решил вкатиться на галеры явы, но чувствую, что сейчас начинать сидеть и писать голые принты с циклами не даст ничего кроме скуки. Что можно комбинировать с жабой, чтобы был интерес+выгода?Выгода имеется ввиду, что ява+хуйня_нейм даст какой-то стек.
117 2820186
>>20174
P.S. Планирую идти в бэк, да и вообще туда, где будут платить через год-два бабки.
118 2820190
>>20174

>Что можно комбинировать с жабой, чтобы был интерес+выгода?


Майнкрафт плагины.

>P.S. Планирую идти в бэк, да и вообще туда, где будут платить через год-два бабки.


Джава уже мертва, а через год-два разложится окончательно.
119 2820192
>>20190
Первый гейткипер - чек. Да-да, вот уже 20 лет умирает, да никак разложиться не может, так чего сидишь здесь?
120 2820195
>>20174
Ну тк сиди и дрочи дальше свой cpp. Че ты сюда припёрся? За школу нихуя не изучил и сейчас решил вкатиться? НахуйВ шарп иди.
121 2820200
>>20195
"Припёрся" я сюда, чтобы у мудро-анонов спросить про стеки, а не слушать пидорасов, как ты про "не дрочил доки с 12 лет - идёшь нахуй".
122 2820215
>>20200
Какой тебе стек блять, если ты даже кор не знаешь? Ты бредишь что ли? Попустись, чмоньк
123 2820220
>>20215
Что ты блять под "кором" подразумеваешь, ебанат? В своем оп-посте написал яп, которые изучал, но не дальше ООП, т.к. скакать по хуям яп люблю. Ты мне предлагаешь сейчас идти дрочить алгоритмы или читать про то, как устроен компьютер?
124 2820222
>>20220
А т.е. ты даже не знаешь, что такое java core? Далеко пойдёшь. Ну лично для тебя няш, это околосиноним std из cpp.
125 2820224
>>20222
Пиздюньчик, мне джава нужна кодошлепства за первый пару месяцев работы. Урчать от удовольствия я могу на питончике или держа писю в руках. Мне сейчас нужно направление, а не совет "вот прочитай пару книг, а потом уже задавай ответы".
126 2820226
>>20224
*для кодошлепства
быстрофикс
127 2820287
>>20224
Ну вкатывался бы в бек на питоне.
Вообще вот этот плейлист тебе даст нормальное представление о работе на жабе. https://www.youtube.com/playlist?list=PLU2ftbIeotGoGSEUf54LQH-DgiQPF2XRO
Разве что шаблонизаторы в проде не используются, используются рестконтроллеры.
Классический бекендерский стек на жабе это:
0. Жаба и ооп. Тут и гоф-паттерны и клин коды и прочее.
1. Spring(mvc, data, test, security) ну и знать спринг кор и бут
2. Бд - postgres, hibernate, liqubase/flyway, изредка нереляциоки. Знать теорию с нормализацией, изоляцией и прочей хренью.
3. http + очереди (rabbit/kafka), изредка grpc и graphql
4. Тесты - junit, mockito, знать как писать юниты и интеграшки
5. Веб секурити. Всякие jwt, oauth2, sso.
6. Всякая модная микросервисная хрень. Из обязательных только докер. Ну а там и кубер и куча микросервисных паттернов и инструментов.
128 2820291
>>20224
Ну направление нахуй. Пиздец ты наглый, конечно. Кому ты такой ушлепок нужен только. Сиди и дрочи дальше свой питон с cpp.
129 2820354
>>16636
бамп последний день отвечаю
130 2820362
>>20224
Ты даже не представляешь каким количеством вопросов тебя убьют по жава кору на собесе. Ты не дойдешь до секции со спрингом и т.д. Просто попустят на базе, которую ты вообще изучать не хочешь.

Всем вот реально похуй - думай как хочешь. Просто можешь чекнуть любые записи интервью, там примерно 3-4 части. Одна из которых, обычна самая первая, про сам Java Core.
131 2820364
>>20354
Сколько лет кодишь? Что понял за эти годы? Какие советы/гайды/книги т.д. посоветуешь мне - джуну? Хочу быстро варисти до мидла)
132 2820382
>>20364
5 лет
програмирование хуйня
никаких
нахуй тебе это не надо
133 2820383
>>19412

>В общем вообще не понятно как именно проектировать сервисы, нормально ли возвращать сущности, а не дто...?


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

Нет и еще раз нет. Ты вообще не должен уносить ПЕРСИСТЕНТУЮ сущность из СЕРВИСА. Ты просто представь что ты её кому отдал, чел с ней чета сделал и у тебя НАХУЙ ДАННЫЕ потерялись. Потому что манипуляция с сущностью = изменения данных в БД.

Это вообще плохой тон тянуть наружу такую сущность.

Делай так: Никогда не выноси из контроллера DTO в серсис, и никогда не выноси из сервиса персистентую сущность. Если тебе нужно куда-то отправить эту сущность, то сделай еще одну - бизнес сущность, которая не будет иметь НИКАКИХ МАППИНГОВ В БД. Просто отдаешь её, и всё. Да, сущностей будет больше, но тогда ты ГАРАНТИРУЕШЬ ЦЕЛОСТНОСТЬ ДАННЫХ
134 2820391
>>20382
Ты кто щас? Сенькой стал?
135 2820395
>>20383
Блин, ну я же сказал что это не межслойное общение, а межсервисное. Мне надо от одного сервиса другому именно сущность передать. Пока я по id это делаю. Понятно, что в контроллер тащить сущность такое себе.
136 2820396
137 2820401
>>20395
Так отдай сущность, которая содержить в себе все данные из entity, но которая не может менять ничего в бд (без маппингов). Я же тебе это и предложил.
138 2820418
>>20401
Детачить её до ретерна что ли? И потом мерджем восстановить? По объёму это конечно от получения id не отличается...
У меня пример вот есть >>19640 мне именно, что нужна сущность, значение которой я могу изменить.
Просто разрываюсь между тем, чтобы стереть это огромное количество вызовов мапперов и репозиториев или оставить так... Правда транзакции надо пересмотреть все же.
139 2820566
Я не какал сегодня
140 2820633
>>20566
Ни строчечки не смог выдавить?
141 2820727
>>20633
Нет
142 2821030
>>20174

>Что можно комбинировать с жабой, чтобы был интерес+выгода


Хз че ты подразумеваешь под этой формулировкой конечно.

Если ты - результатоориентирован и хочешь сразу понять что прикладное можно сделать по фану, и из чего, гугли awesome листы. Если ищешь работу, еби спрингбут и не еби мозги.
sage 143 2821035
>>20174

> Что можно комбинировать с жабой, чтобы был интерес+выгода?


Если смешать килограмм варенья и килограмм говна, получится два килограмма говна.
144 2821051
>>20174
в го иди, ява для скуфов
image.png1,9 Мб, 1523x784
145 2821052
Сейчас сижу учу джаву и решил сделать какой-нибудь пет-проект, выбор пал на две вещи: калькулятор матриц или случайная генерация паролей (есть желание оформить в веб приложении). НО! Появился закономерный вопрос: а это вообще будет полезно? Т.е. вместо того, чтобы дрочить матрицы или рандомом писать строчки паролей, я бы мог сделать что-то реально полезное, за что HR'ы смогут дать плюсик. Понятное дело, что делать ручками что-то буду, да боюсь, что и время проебу, и показать людям нечего будет.
146 2821055
>>21052
Пиши круд на спринге.
Калькуляторы и матрицы это для студентов младших курсов, такое никому не нужно.
147 2821068
>>21052
Шта? Бля, ты какие-то тупые вопросы задаёшь. Ну тебе калькулятор матриц полезен? Ты матрицы считаешь? Зачем стараться для hr, если у неё задачи другие. Она не считает матрицы. Старайся делать полезное для себя. Нахуя ты стараешься для собеседования. А если ты устроишься на работу, получается ты вообще прекратишь учиться и кодить хобби проекты? Только дом-работа, дом-работа, дом-работа. И так каждый день.
148 2821069
>>21052

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


Олсо, если ты реально хочешь понравиться HR, юзай свою харизму. Сделай ей комплимент, расспроси как дела, поболтай о чём-нибудь. Софт-скиллы гораздо больше на баб действуют чем твои проекты. Ей это всё равно ничего не говорит.
149 2821073
>>21069
Рычи, двигай тазом. А потом по такой же схеме и с лидом?
Снимок экрана 2023-08-28 в 14.17.42.png776 Кб, 2410x730
150 2821074
>>16575 (OP)
Мужики, я когда "Hello world" запускаю - потребление ОЗУ на машине поднимается с 2GB до пикрила. Не подскажете, что делать?
sage 151 2821075
>>21074
Это нормально.
152 2821077
>>21074
Ты в сколько строчек кода смог уложиться, вкатун?
153 2821078
>>21074
Xms убери, петросян ебаный.
image.png116 Кб, 1038x744
154 2821189
Бля, ну и хуйни наворотил, конечно... Зато целых 300 строчек ушло.
155 2821192
>>21052
Идеи для петов приходят сами собой. Если вообще приходят. Если не приходят, то нихуя не делай. Просто научись делать то, что надо кабану.
Нефтяники после работы не бурят скважины у себя на даче, а лифтеры не строят в своей квартире лифт, ну ты понел.
156 2821206
>>21192
А водопроводчики меняют водопровод и дома и на даче и у матери и у тещи.
157 2821207
>>21206
А программисты меняют винду дяде Бафомету. Что сказать хотел?
158 2821214
>>21207
В пятницу зашел к бывшему однокласснику на работу. Он в госухе работает админом. Ему там при мне тетя срака тыщу рублей сунула за переустановку винды и сделала новый заказ на настройку чего-то там у нее на смартфоне.
159 2821269
>>21051
У гошников целый тред, про то что в го вкатиться нельзя.
160 2821271
Я хрюкнула
161 2821272
>>21269
Гошники те еще пупуньки
162 2821290
>>16636
блядь я заебался работать
163 2821292
>>21271
Ты хрюша?
164 2821294
Вот допустим пришел у меня запрос с полем "Service-Version": "v3" в теле. В коде у меня есть три имплементации сервиса с разными квалифаерами. Как мне вызвать из контроллера нужный сервис, не делая трех разных ручек?
.jpg50 Кб, 600x449
165 2821302
>>21294
if ("v1".equals(request.getServiceVersion())) {
service1.call(request);
} else if ("v2".equals(request.getServiceVersion())) {
service2.call(request);
} else if ("v3".equals(request.getServiceVersion())) {
service3.call(request);
} else {
throw new RuntimeException("Unsupported version: " + request.getServiceVersion());
}
166 2821319
>>21302
ahh thank you mr. durga!
167 2821325
>>21292
Да,ты сасный?
168 2821351
>>21325
Да.
169 2821354
>>21069
И что она сделает? Сбросит в группу где сидят сеньки, которые собесят на проект:

>Ребята посмотрите кандидата, он спросил как у меня дела


?
Решение о тех. собесе не hr принимает обычно.
170 2821360
>>21294
Гугли rpc.
171 2821370
>>20174
В джаве отсутствует практически выбор. Это энтерпрайз язык и дорожка тут одна:
Spring, Spring Boot, Hibernate
Из spring как минимум spring data, spring web, spring security.
Это прям минимальный набор для джуна.
172 2821376
>>21351
Нет
173 2821379
>>21376
Пидора ответ.
174 2821384
>>21370
А в какой момент можно сказать, что вот точно возьмут на позицию жуна, если опыт работы нулевой?
175 2821385
>>21379
Трахнешь? :3
176 2821392
>>21384
Ни в какой. У джунов супер большая конкуренция, нужна удача. Ты как учащийся в вузике по специальности можешь попробовать залететь на стажировку к крупным компания, у них есть такие программы.
177 2821406
>>21384
Нулевым опытом в жабе можно считать два года опыта коммерческой разработки. Это уровень джуна.
178 2821409
>>21384
Когда тебе перезвонит кабаньё и скажет, что ты принят джуном ты долбоеб?
179 2821418
>>21379
Мы вам перезвоним
180 2821424
>>21409
Нет ты.
>>21406
И сколько лет некоммерческой до этого?
>>21392
К сожалению именно я не могу. Ну лан, буду дальше задрачивать джеву. Посмотрим, по собесам, если они будут вообще.
181 2821426
Нихуя, в идее есть возможность генерировать геттеры в стиле пупуня() а не гетПупуня().
Называется records style.
А я всегда переписывал гетпупуни руками...
182 2821432
>>21426
А нахуя этот рекорд стайл нужен?
183 2821436
>>21432
объект.пупуня() красиво выглядит и оопшно

объект.гетПупуня() - гадость, воняет процедурными мешками с переменными, а не ООП
184 2821440
>>21436
Субъективно.
Но я точно уверен, что геттеры стандарт и поддерживаются во многих штуках, а вот рекорд стайл... Хотя может уже переписали все, черт его знает.
185 2821444
>>21432
Records появились в java 17. Это имьютебл объекты, которые могут хранить только состояние, без методов. Астеничная модель pojo официально победила, сосат
Этот >>21436 чел несет хуйню. ООПшно это как раз get, так как не нарушает инкапсуляцию.
186 2821446
>>21444
Ну я знаю что это, да и разве в 17, а не 14? Огрызок проекта вальгалла...
187 2821448
>>21446
Между 8, 11 и 17 версиями ничего не было.
188 2821449
>>21446
Окончательно оформились в 16, но в целом ты прав - в 14 начали внедрять.
189 2821451
>>21448
Так-то было, но всем похуй. https://habr.com/ru/articles/547364/
190 2821454
>>21451
Это снапшотные версии для внутреннего тестирования.
191 2821455
>>21454
Да, поетому всем похуй, но формально было.
192 2821458
>>21426
А в ломбоке как?
sage 193 2821460
ЛОБОК блять.
194 2821462
>>21460
ПУПУНЯ блять.
196 2821467
>>21464
Ух блять, make java great again
197 2821470
>>21467
Тока ответьте, нахуя вам это?
198 2821473
>>21470
ну вот чтобы вот пупуня() а не гетПупуня(), что за странные вот вопросы
199 2821477
>>21473
Какой же ты ебанутый... Прям как я. Удачи там.
sage 200 2821479
Если у них нет ломбока, пусть юзают Котлин.
201 2821488
У нас чел есть, который на сервис с единственным полем навешивает @FieldDefaults(makeFinal=true, level=AccessLevel.PRIVATE) и при этом все равно умудряется прописать private final
202 2821491
>>21488
А вдруг добавят новое поле и забудут.
203 2821566
>>21269
Они понимают что гойда учится за пару месяцев и активно гейткипят.
С джавой проще - по спрингу инфы нет и вкатиться быстро не выйдет и так.
204 2821599
>>21566
В смысле нету инфы, не понял
205 2821602
>>21470
>>21473
На самом деле это ответ на давнюю дискуссию: что важнее srp или инкапсуляция? Инкапсуляция предполагает, что данные и методы их обрабатывающие должны быть инкапсулированы внутри программной единицы. Исходя из этого раньше рич модель класса (имеющая данные и все методы, которые обрабатывают эти данные) считалась каноном. Но дядя Боб в своей книге и отдельно в статье https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html разгромил нахуй этот подход как противоречащий srp. После этого произошло переосмысление модели класса и астеничная модель класса, в которой мы храним состояние, а всю обработку вынесли в сервисный слой и этот подход стало нормой. Java 17 по сути закрепил этот подход внеся объекты типа record, которые по сути и являются формализованной астеничной моделью pojo/
206 2821661
>>21444

>ООПшно это как раз get, так как не нарушает инкапсуляцию



В чем разница? Что там что в другом месте приватную пупуню вывалили наружу.
207 2821674
>>21661
Ты не понимаешь.
208 2821675
>>21674
Ты пидор.
209 2821691
>>21674
Смотри, в классе есть мембер Пупуня пупуня.

Два метода:
Пупуня пупуня() {вернуть пупуня}

Пупуня гетПупуня() {вернуть пупуня}

Ты утверждаешь, что в 1 случае инкапсуляция нарушается, а во втором — нет.

Ты шизик.
210 2821695
>>21691
Гет пупуня может делать клон пупуни.
211 2821698
>>21695
А пупуня не может.
Таблетки пей, чел...
212 2821700
>>21698
Ты мне в ротик язычком положишь их?
213 2821704
>>21700
А ты пупуня?
214 2821707
>>21704
А ты instanceof-ом проверь.
215 2821711
>>21707
false

throw new NoPillsPutingInMouthException("Only pupunya allowed")
216 2821713
>>21700
А ты вызовешь коллект ртом?
217 2821720
>>21713
Для тебя и флатмап могу.
>>21711
Мне кажется, что ты знак восклицания поставил и таблетки зажал, хад.
218 2821763
>>21691
Мне вообще не понятно с какой целью в рекордах нужны ацесоры, логично бы было сделать поля публичными. private поле в рекорде это какая-то хуйня.
219 2821767
>>21763
Так они публичные же, не?
220 2821775
>>21767
Не. Непонятно нахуй они так сделали, но там под капотом метод ацессор вместо публичного поля.
221 2821777
>>21775
Ссылка отклеилась https://openjdk.org/jeps/395
222 2821793
>>21775
Пишут, не баг, а фича https://stackoverflow.com/a/66705027

Правда зачем private на final не совсем понятно. Ну возможно как гарантия того, что все не владельцы будут только по методам стучаться.
223 2821817
>>21566

>С джавой проще - по спрингу инфы нет и вкатиться быстро не выйдет и так.


Сиранул с этого иксперта.
224 2821821
>>21793

>Правда зачем private на fina


Угу. У меня к этому собственно вопросы. У вас же не может быть нарушения инкапсуляции по определению, зачем вам выставлять кастомный интерфейс к классу?
Снимок экрана 2023-08-29 120004.png57 Кб, 1920x1033
225 2821862
Аноны, что за хуйня? Почему не могу скачать Android Studio?
Под VPN доступ тоже блокируется
226 2821872
>>21862
Скачай с сайта жетбрейнс, хотя то, что ты не можешь даже скачать пограму о многом говорит. А и пиздуй в андроид тред.
227 2821889
>>21872
О, благодарю!
228 2821993
>>21817

>>Сиранул


Ты осторожнее с этим, а то шарпомухи щас налетят.
229 2822062
Хуй.
230 2822252
А в ломбоке можно сделать сеттеры, которые возвращают новый обжект? Типо такого:

Point{
x, y;

setX(x){
return new Point(x, y);
}
}
231 2822263
>>22252
Builder.
232 2822269
>>22263
Пакажи, чтобы она не this возвращала.
233 2822271
>>22269
toBuilder()
image.png70 Кб, 698x464
234 2822279
>>22271
Да че ту билдер? Это другой паттерн. Похож на конкатенацию строк и пик.
235 2822408
А тут все читали книги Губки Боба?
Я вот не смог дочитать, меня лид подтравливает за это.
image.png167 Кб, 1147x796
236 2822417
Зацените orderBy. Откыврял что-то из QueryUtils, вроде работает даже. Удивительно...
237 2822431
>>22417
Чел, у тебя какой-то не уловимый оверхед, как мне кажется постоянно. Но я краем глаза слежу, та к что могу пиздеть. Но от var я бы отказался, этот реверанс в сторону нетепезированных языков, который нахуй не нужен в джава.
238 2822439
Всегда всё пишу с var. Если бы было можно, юзал бы его и в параметрах методов, и в полях классов.
239 2822450
>>22439
А чо в питон просто не съебешь?
240 2822452
>>22450
Так это ж динамикодрисня.
image.png122 Кб, 1081x580
241 2822455
>>22431
Ну хуй знает насколько понятнее без них, но вары хотя бы скрывают вот эти очень нужные предупреждения. Можно, наверное аннотациями заглушить, но нужно ли

>Чел, у тебя какой-то не уловимый оверхед, как мне кажется постоянно.


Не очень понимаю где, конечно. Вот тут постарался все к одной табличке свести. Хотя если orderBy будет не по id, то, наверное будет жоин есче.
Но в идеале, наверное стоит ввести отдельный журнал, мол какие и когда кейсы крутил какой-то аккаунт. А то максимум по журналу... Впрочем черт его знает, я-т никогда в жизни не видел нагруженных сервисов.
242 2822469
>>22455
Ответь себе на вопрос "а почему нужны выры"?
243 2822472
>>22455
>>22469
Ну то есть это же просто -"я гихуя не понял, пусть будет"
244 2822480
>>22469
Количество кода сокращают и импортов. Возмоожно будет проще смотреть. Мне-то в общем-то пофиг вар не вар. Я вон до какого-то момента онли на 8 писал, так по фану.
Просто если без вар реально понятнее, можно убрать, почему нет...
>>22472
Не очень понял.
245 2822482
>>22480
А когнитивная сложность не сокращается. Твой код должен кто-то поддерживать и читать.
246 2822484
>>22472
>>22480
Ты используешь вар, когда не очень сам понимаешь, что к тебе предет.
247 2822489
>>22484
Придет Twist<?>, но я не могу взять класс этого типа, тк в жабе есть фича по стиранию информации об женериках в рантайме.
>>22482
Понятно. Ну уберу большую часть.
248 2822615
var hui = new var();
249 2822639
>>22484
Наоборот, антипаттерн же. Вар только там, где и так все понятно и нет смысла повторять.
250 2822640
>>22615
var var = new Var().var();
251 2822643
var var = new var().var() тогда уж
252 2822663
>>22643
Ты долбоеб классы с маленькой буквы называть?
253 2822667
>>22663
Если надо дать больше var'ов богу var'ов, то можно пойти и на такие жертвы
254 2822772
>>22643
Можно возвращать this и...
var var = new var().var().var().var().var()...

А если ещё варарг из var классов ебнуть
var var = new var();
var.var(var.var(var.var(var.var(var.var(var.var(), var(.....

Ну это все алеф нуль, а как бы выйти в потенциальную бесконечность....
255 2822914
>>18916
Неправильно. Инкапсуляция для дебилов и борьба с симптомом. Наследование и полиморфизм же абсолютнейшая базища.
256 2822921
>>22914
Ты из тех, кто думает, что инкапсуляция - это private?
257 2822924
>>22921
Да по разному можно спрятать данные и насрать в суп тому, кто пользуется твоим кодом. Что сказать-то хотел?
258 2822927
>>22924
Хотел сказать, что попробуй потоньше, трололоша.
259 2823050
Немедленно признавайтесь,какая пупуня УРОНИЛА ПРОД °(>_<)°
260 2823051
>>22640
var var = VarFactory.createVar().setVar(new Var())
261 2823065
>>23050
Подними попу и посмотри в зеркало.
262 2823108
>>23065
Нееееет это не я,это кто-то другой,я не виноват
263 2823111
>>23108
Пупуня смешная - сразу оправдывается, покекал с тебя, кек
264 2823114
>>23111
Так это ты УРОНИЛ ПРОД,я так и знал что что-то тут не чисто,хватайте пупуню ураааааа
265 2823128
>>22772

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

Но тьюринг-полный ли var?
266 2823142
>>23128

>дженерики в джаве тьюринг-полны.


Серьезно? Пакажи статью, чет на пиздешь похоже
267 2823148
>>23142
Дык гуглится же

https://arxiv.org/pdf/1605.05274.pdf

Сразу скажу - за контент я не поясню. Сам просто порофлил с постановки вопроса и заголовков. За что купил, за то и продаю.
268 2823150
>>23148

>University of Kent, United Kingdom



Литералли британские ученые кстати
269 2823170
>>23148

>Дык гуглится же


Ну как правило гуглить за кого-то себе дороже.
А по поводу статьи... Ебать я скучно живу оказывается. Надо бы запомнить.
270 2823613
Ненавижу ебаные метрики,делаешь сука атомик интежер переменную, завязываешь на нее метрику. Сетаешь и ебаная мразь графана отображает ее рандомно. Может половину значений скипнуть,может вообще нихуя не показать,одним словом,мразь. Еще и в микрометр ебаный ручной счетчик не завезли, приходится с этими ебаными атомиками ебаться
271 2823641
>>23613
А может ты криворучка просто, не думал, няшк?
272 2823697
>>23641
Дамал
273 2823702
>>23697
Ну это хорошо: не оскуфел окончательно
274 2823728
>>23702
Меня очень подбодрили твои слова,на этой позитивной волне я решил посмотреть в графану,вдруг карма на нее распространяется. И знаешь что? Ничего не поменялось. Видимо докер контейнеры изолированны от позитивной энергии
image.png55 Кб, 886x367
275 2823750
>>23728
Сожалею. Правда не очень понял откуда тут докеры взялись и графаны какие-то. Так бы помог, но я не девопс.
А пока и сам вот ебался какое-то время с транзакциями, чтобы они нормально обрабатывали случай insert. А то до insert нихуя не видит, потому может создаться дубликат... Можно конечно ограничить на стороне бд, но так-то хуйня, если б я не мог на сервер стороне это сделать.
Правда чувствую, что скоро придется документировать всю эту парашу, чтобы я сам хотя бы не запутался.
276 2823792
>>22252
Да, можно
lombok.accessors.chain = true
277 2823793
>>23792
А, ты не хочешь this, хз тада
278 2823836
>>23750
У тебя блядь есть из коробки метод existById,кастылестроитель
279 2823851
>>23836
Бля, ну сложно описать, что решает эта хрень. Есть две транзакции и у них есть кондишен по какому-то полю. Но если это поле еще не существует, то обе транзакции создадут свое поле и добавят в бд оба. Т.е. insert вроде как не создает конфликта.
Вот эта хрень заставляет создать что-то вне транзакции основной. Т.е. есть гарантия, что поле точно существует, и так лока по нему будет.
280 2823861
>>23851
Ты наркоман,сходи к специалисту
281 2823864
>>23861
Я лучше к бакалавру схожу.
282 2823870
>>23861
Злой ты...
123.jpg639 Кб, 2000x1330
Аноним 283 2823968
Всем кулити, вкатун ИТТ.
Посоветуйте книгу годную по жабке. Помню как-то давно пытался в жаву, обосрался на спринге и дропнул от лютого жопного возгорания. Сейчас сильно тянет снова говном обмазаться.
Кстати, если кто может поделиться адекватным роадмапом, буду крайне благодарен. В целом буду рад любому совету. нет, дропать сразу не хочу
С меня как всегда.
284 2823969
>>23968
Иди в шарп. Как тебе совет?
А так, попробуй jcip. Самая годная книга, имхо.
285 2823973
>>23968
Книг нет, все мурзилки уважают.
287 2823979
>>23969
>>23974
Слушайте, а в шарп треде также активно в жабу гонят?
288 2824001
>>23979
Нет, там наслаждаются лучшим языком всех времён и народов.
Аноним 289 2824005
>>23969
>>23974
Почему шарп и нахуя мне всем он?
290 2824006
>>24005
Шарп сочетает в себе скорость джавы и выразительность питона.
Аноним 291 2824036
>>24006
Тогда зачем джава и питон, если шарп успел и рыбку съесть и на хуй сесть?
292 2824059
>>24036
Затем, что долбоеб пиздит. Вчера в МВП треде петушарп был обоссан по фактам, в связи с чем у шарпоблядей замечено рост средней жопной температуры.
293 2824124
>>24006
Нет, петушарп это убогий клон джавы, в котором дополнительно накидана куча бесполезного говна, от котого у программистов на нормальных языках глаза на лоб лезут, и в котором нет таких маст-хев функций, как автоматическое создание конструктора и классы-делегаты.
294 2824253
>>24124
Зато там дженерики нормальные. И есть объекты значения.
295 2824309
>>24253
Хуерики. Это все хуйня, а не аргументы.
Главный реальный плюс шарпа перед жавой - шарпомухи дешевле и их легко продавить на фулстек.
296 2824315
>>24253
Скоро и то, и другое завезут нам. Project Valhalla.
297 2824328
>>24315
Дженерики в рантайме не появлятся никогда. Никакой проект это не исправит. Ну впрочем всегда можно сказать нинужна.
>>24309
А почему дешевле?
298 2824330
>>24328

>Ну впрочем всегда можно сказать нинужна.


Да, и тебе нужно будет доказывать, почему это нужно.
299 2824346
>>24330
Ни, слишком скучно. Лучше минетик мне сделай.
300 2824447
Вопрос о подрисовывании опыта, вот вам дают анкету при устройстве и че вы там пишите про бывшее место работы?
301 2824454
Если тимлид помогает джуну по каждой задаче это хуевый знак?
302 2824455
>>24447
Шиномантаж.
>>24454
Наоборот же. Ты ему главное тоже приятно сделать не забудь.
303 2824489
>>24454
Хороший, попу помой главное.
304 2824494
>>23613

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



Чем тебя Counter не устроил?
305 2824498
>>22252
То что ты описываешь, называется не сеттер, а wither. У ломбока для них свои аннотации.
306 2824500
>>24006
Звучит как антиреклама.
307 2824521
>>24498
О, спасибо няш.
А ты случаем еще не знаешь, как бы в гитхабе красиво схемки для дб нарисовать? А то mermaid мне не нравится...
308 2824549
>>24521
plantuml
309 2824552
>>24549
Он на отдельном сервере рендерится, потому его нет в гитхабе.
В README.md имею ввиду.
310 2824555
>>24455

>Шиномантаж.


Как это коррелирует опытом разработки, который требуется в вакансии?
311 2824556
>>24552
ну и хуйня лол
в гитлабе все робит
312 2824560
>>24555

>коррелирует опытом разработки


Рандомный набор слов какой-то.
313 2824562
>>24556
Пиздец...
314 2824577
>>24562
Хотя, там вроде тоже нельзя именно поля указывать как связи. Только сущности.
315 2824601
>>24455
>>24489
Шарпист порвался
316 2824628
>>24560
Те кто рисуют себе опыт разработки, которого нету в трудовой, когда заполняют анкету при устройстве, что там пишут? И что в дальнейшем происходит так сказать
317 2824639
>>24628
Так а все, приехали. Если тебе дают такую анкету, значит тебе уже априори не верят, и стопудово откажут.
318 2824643
>>24639
А если такую анкету дают уже после пройденных собесов, при устройстве? Ее же везде дают, где-то после, где-то перед собеседованиями
319 2824644
Анончик, только начинаю вкатываться в Java. Часто сталкиваюсь с такими проблемами, когда переношу JAR файлы с одного компа на другой.

Вроде два одинаковых сервера, но на одном всё работает, а на другом вылетает ошибка что не найден класс.

Объясни принцип как это фиксить? Где искать недостающие либы? Как их включать в проект или как понять где их нехватает в системе и как их поставить?

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/ws/Service
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at hello.World.run(World.java:67)
at hello.World.main(World.java:53)
Caused by: java.lang.ClassNotFoundException: javax.xml.ws.Service
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 11 more


$java --version
openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment (Red_Hat-11.0.17.0.8-2.fc35) (build 11.0.17+8)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.17.0.8-2.fc35) (build 11.0.17+8, mixed mode, sharing)


# alternatives --config java
There are 3 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.fc35.x86_64/bin/java)
2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.fc35.x86_64/jre/bin/java)
3 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.5.0.8-2.fc35.x86_64/bin/java)
319 2824644
Анончик, только начинаю вкатываться в Java. Часто сталкиваюсь с такими проблемами, когда переношу JAR файлы с одного компа на другой.

Вроде два одинаковых сервера, но на одном всё работает, а на другом вылетает ошибка что не найден класс.

Объясни принцип как это фиксить? Где искать недостающие либы? Как их включать в проект или как понять где их нехватает в системе и как их поставить?

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/ws/Service
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at hello.World.run(World.java:67)
at hello.World.main(World.java:53)
Caused by: java.lang.ClassNotFoundException: javax.xml.ws.Service
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 11 more


$java --version
openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment (Red_Hat-11.0.17.0.8-2.fc35) (build 11.0.17+8)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.17.0.8-2.fc35) (build 11.0.17+8, mixed mode, sharing)


# alternatives --config java
There are 3 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.fc35.x86_64/bin/java)
2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.fc35.x86_64/jre/bin/java)
3 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.5.0.8-2.fc35.x86_64/bin/java)
320 2824649
>>24643

>после пройденных собесов, при устройстве



Пока оффера на руках нет, булки не расслабляй.
321 2824650
>>24644

>javax.xml.ws.


в свежей жабе это вроде выпилили

искать вида "maven repo javax.xml.ws.Service"
Но придется пересобирать
322 2824657
>>24644

1. Не быть салагой, не искать оправданий
2. Четко понимать, как работает класслодинг в джаве - как таковой, и в конкретном сервере, который ты используешь (обычно в каждом сервере могут быть свои навороты поверх стандартного класслодинга - гугли документацию)
3. Если первые два пункта - чек, просто гуглишь имя класса. Обычно этого хватает чтобы понять, откуда он. Остается только забрать джарку и подставить в класспаф
323 2824671
Почему чем больше я кодю, тем больше хочеца соснуть член дать в попу и нарядиться в женское? Что за проклятье такое, даже тьюрингу был, ну того.
324 2824700
>>24671
Длина моего члена 16 + 1 сантиметр
325 2824702
>>24650
>>24657

Спасибо, значит всё же надо надо эти классы для старых веб-сервисом вручную включать в проект. Это грустно. Особенно с учётом того что это не мавен проект, а говно мамонта на нетбинсе 10 летней давности.
326 2824708
>>24671
Осознаешь свой объективный уровень знаний и ищешь более эффективный способ получения оффера. Молодец,далеко пойдешь
327 2824715
>>24671
Попробуй шарп, расхочется.
328 2824730
>>24702
Мавен и в нетбинсе можно. В чем проблема?
>>24708
Я много знаю вообще-то! Не надо тут мне.
>>24715
Помню на юнити что-то делал: не понравилось.
>>24700
Ты так и не сказал, нафига там 16+1 скуфы написали
329 2824736
>>24730

>Мавен и в нетбинсе можно. В чем проблема?



Он скорее всего имеет ввиду проект, созданный нетбинсом для нетбинса, где вся сборка описана в нетбинсовых xmlках. Такое следовало запретить женевской конвенцией еще на заре появления IDE что для нетбинса, что для идеи.
15515330599100.png301 Кб, 500x725
330 2824738
>>24730

> Мавен и в нетбинсе можно. В чем проблема?


> Я много знаю вообще-то! Не надо тут мне.


> Помню на юнити что-то делал: не понравилось.


> Ты так и не сказал, нафига там 16+1 скуфы написали

331 2824741
>>24730
Назначаю тебя главной пупуней треда
332 2824758
>>24736

Именно. Надо проект переделывать.

Штош. Когда-нибудь это всё равно нужно было сделать.
333 2824801
>>24741
О. Прогресс с наркомана и ебнутого. Пасиба, няш.
>>24738
Да, я.
334 2824976
>>19640
Бля, у меня такая ахуенная идея появилась. А что если разделить сервисы по типу их предназначения, как в CRUD. Мол вот
@InformationService обязуется исполнять буковку R и только ее, не давая никаких гарантий по поводу персистентности
@RegistrationService буковка C, гарантирует создание новой ентити из каких-то дтоошек.
@MergeService буковка U, типа можно мерджить сущность.

Так, будет сервис TransferMoney из InformationService запросит дтоошку с полной инофрмацией об аккаунтах по двум разным методам, там публичному для дебита и приватному для кредита. В маппере соберет ентити.
Потом изменит данные и разберет ентитю в маппере, ну и отправит в MergeService, для апдейта.
Все проверки Authorize будут на уровне InformationService, а остальные валидируют уровень доступа по наличию id. Мол в ином случае у тебя его быть не может. Впрочем можно продублировать на другие уровни, это не принципиально.

Еще можно разные интерфейсы присобачить, типа
InformationSuppliterParitalService<P>{
P get();
}
InformationFunctionParitalService<P, N>{
P get(N n);
}
InformationBiFunctionParitalService<P, N1, N2>{
P get(N1 n1, N2 n2);
}

Что думаете?
335 2824986
>>24976
Ты только что ООП только зачем-то аннотации присобачил.
336 2824992
>>24986
Аннотации чтобы как-то обозначить принадлежность. Не пустой же интерфейс по типу Serializable делоть.

>Ты только что ООП


Ну нормльно нормально, стабильно велосипеды делаю.
337 2825009
>>24976
Ты переизобрел CQRS
338 2825079
Расскажите как у вас с либами обстоят дела. Я изначально вообще на плюсах хотел писать, ибо все либы есть и под Java и под C++, но я заебался их подключать. Я готов язык сменить, если все заработает там быстрее
339 2825108
>>25079
Подключаются либы легко, указываешь имена и версии либ в специальном файлике, мавен сам их скачает и подключит к проекту.

> Заработает быстрее


Ты имеешь в виду скорость разработки или скорость работы итогового приложения? Если второе, забудь о джаве.
340 2825114
>>25108

>Если второе, забудь о джаве.


JVM круче любого компилера на плюсах.
341 2825115
>>25009
Ну неплохо. Только придется убрать все Set<> оставив только @ManyToOne, в ином случае мердж через жопу работает, так как там lang, а не persistence. Чет все меньше и меньше хибера остается...
342 2825131
>>25108
Первое, конечно

> забудь о джаве


Че ты так. Она нормально работает, если числаки не дрочить
343 2825140
>>25131
Тогда бери джаву, конечно. Ну или шарп
344 2825247
>>25131
Нормально все с числами - весь матан давно уже на интринсиках.
345 2825252
могу поотвечать на вопросы про яву перед сном
346 2825260
>>25252
Назови все методы класса Class.
348 2825265
>>25263
Гуглить я и сам умею, а ты развлеки меня.
349 2825266
>>25252
Спи иди, график собьешь.
image.png33 Кб, 1087x177
350 2825267
Хм, а ведь кто-то ворчал на вложенные классы. Это даже не умещается. Ну думаю ахуенно получится.
351 2825271
>>24801
Ты шизуня.
352 2825273
>>25267
Чет ты упоролся.
353 2825280
>>25273
А по мне красиво. Только не знаю нужен ли Service у интерфейсов на конце. Еще из-за контракта можно сляпать метод getModel. Похоже на пик 2 чем-то.
>>25271
Няшно звучит.
354 2825289
>>25267
Кажется, я уже где-то видел эти дтохи.
355 2825290
>>25289
Тебе показалось. Успеть бы конечно за ночь все это написать...
356 2825298
>>25290
Ничего, сразу узнаю, где я это видел, как только окажется в основной ветке.
357 2825308
>>25280

>А по мне красиво


Такое.

Я те так скажу по своему опыту: если у тебя нет логики, которая работает с коллекциями инстансов дженерикового интерфейса обобщенно - в пизду дженериковые интерфейсы. Даже про запас - не надо. Заебешься потом. Я крайне сомневаюсь что у тебя такая логика есть.
358 2825312
>>25267
Какая же ты невероятная пупуня,с ума сойти просто
359 2825315
private final native public volatile static transient synchronized protected abstract class FactoryFactoryFactoryFacade extends AbstractBuilderIteratorBeanDecoratorInterceptorFactoryFactory implements AbstractFactoryStrategyIteratorProxy, AbstractFactoryFactoryListener {
SingletonDecoratorAdapter singletonDecoratorAdapter = new SingletonDecoratorAdapter();
AbstractFactoryFactorySingletonBuilderProxy abstractFactoryFactorySingletonBuilderProxy = new AbstractFactoryFactorySingletonBuilderProxy();
VisitorBeanSingletonProxyAdvisorBuilderFactoryFactory visitorBeanSingletonProxyAdvisorBuilderFactoryFactory = new VisitorBeanSingletonProxyAdvisorBuilderFactoryFactory();
IteratorListenerBean iteratorListenerBean = new IteratorListenerBean();
AbstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator abstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator = new AbstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator();
synchronized final private protected void setAdvisorFacadeObserverFactorySingletonBeanProxy(AdvisorFacadeObserverFactorySingletonBeanProxy advisorFacadeObserverFactorySingletonBeanProxy) {
this.advisorFacadeObserverFactorySingletonBeanProxy = advisorFacadeObserverFactorySingletonBeanProxy;
}
public synchronized static protected native volatile transient private void setAbstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy(AbstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy) {
this.abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy = abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy;
}
native public static synchronized protected private transient final void setAbstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator(AbstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator) {
this.abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator = abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator;
}
protected public native synchronized final void setAbstractBuilderFactoryFactory(AbstractBuilderFactoryFactory abstractBuilderFactoryFactory) {
this.abstractBuilderFactoryFactory = abstractBuilderFactoryFactory;
}
static private protected volatile transient SingletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory getSingletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory() {
return this.singletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory;
}
transient private final static public VisitorAdvisorFactoryAdapterProxy getVisitorAdvisorFactoryAdapterProxy() {
return this.visitorAdvisorFactoryAdapterProxy;
}
synchronized protected public final volatile private AbstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener getAbstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener() {
return this.abstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener;
}
public transient private AbstractListenerAdvisor getAbstractListenerAdvisor() {
return this.abstractListenerAdvisor;
}
public protected transient final synchronized volatile static native private AbstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter abstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter(ObserverDecoratorAdvisorAdapterBuilderSingletonFacade observerDecoratorAdvisorAdapterBuilderSingletonFacade, AbstractBeanInterceptor abstractBeanInterceptor, AdvisorFacadeSingletonDecoratorListener advisorFacadeSingletonDecoratorListener, AbstractAdapterAdvisorObserverListenerFactoryStrategyBeanBuilder abstractAdapterAdvisorObserverListenerFactoryStrategyBeanBuilder, AbstractBeanSingletonInterceptorDecoratorFactoryFactoryFactoryProxyObserver abstractBeanSingletonInterceptorDecoratorFactoryFactoryFactoryProxyObserver) {
decoratorProxyBean.setProxyAdvisorStrategyFactoryFactoryInterceptorFactoryAdapter(this.proxyAdvisorStrategyFactoryFactoryInterceptorFactoryAdapter);
return new AbstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter();
}
transient native private final synchronized volatile protected static DecoratorSingletonIterator decoratorSingletonIterator(ObserverSingletonListenerFactoryFactoryBuilder observerSingletonListenerFactoryFactoryBuilder, VisitorDecoratorSingletonObserverFactory visitorDecoratorSingletonObserverFactory, AbstractFacadeBeanAdvisorAdapterSingletonProxyListenerFactoryFactory abstractFacadeBeanAdvisorAdapterSingletonProxyListenerFactoryFactory, FactoryVisitorProxyDecoratorListener factoryVisitorProxyDecoratorListener) {
factoryInterceptorListenerSingletonFacadeDecoratorAdapter.setAbstractBuilderDecorator(this.abstractBuilderDecorator);
InterceptorProxyFacade interceptorProxyFacade = new InterceptorProxyFacade();
abstractAdvisorAdapterVisitorBean.setAbstractAdapterObserver(this.abstractAdapterObserver);
abstractInterceptorListenerBuilderSingletonAdapterStrategyFactoryAdvisor.setAdvisorStrategyDecorator(this.advisorStrategyDecorator);
return new DecoratorSingletonIterator();
}
synchronized volatile private final protected public static native transient AbstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade abstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade(ObserverListenerBeanFactoryFactoryAdvisor observerListenerBeanFactoryFactoryAdvisor, ProxyObserverVisitorFactoryBuilderDecoratorStrategy proxyObserverVisitorFactoryBuilderDecoratorStrategy, AbstractBeanInterceptorObserverAdvisor abstractBeanInterceptorObserverAdvisor) {
abstractStrategyFactoryFactoryBeanVisitorBuilderSingleton.setAbstractIteratorVisitor(this.abstractIteratorVisitor);
AbstractListenerAdvisorSingletonObserver abstractListenerAdvisorSingletonObserver = abstractBuilderDecoratorVisitorFactoryBeanProxyFacadeSingleton.getAbstractAdapterProxyBuilderFacadeListenerAdvisorInterceptorFactory().getAbstractListenerAdvisorSingletonObserver();
return new AbstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade();
}
volatile static transient public native protected AbstractListenerBuilderAdvisorProxyVisitorFacade abstractListenerBuilderAdvisorProxyVisitorFacade(DecoratorSingletonAdvisorFactoryInterceptorListenerBuilder decoratorSingletonAdvisorFactoryInterceptorListenerBuilder, AbstractDecoratorBuilderBeanListenerSingletonObserver abstractDecoratorBuilderBeanListenerSingletonObserver) {
AbstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter abstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter = new AbstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter();
adapterAdvisorDecoratorFacadeProxy.setAbstractAdapterBeanDecoratorStrategySingletonFacadeListenerFactory(this.abstractAdapterBeanDecoratorStrategySingletonFacadeListenerFactory);
return new AbstractListenerBuilderAdvisorProxyVisitorFacade();
}
private final public static volatile transient synchronized protected InterceptorSingletonVisitor interceptorSingletonVisitor(AbstractDecoratorStrategyProxyObserverInterceptorBuilder abstractDecoratorStrategyProxyObserverInterceptorBuilder, AbstractVisitorAdvisorFacadeListener abstractVisitorAdvisorFacadeListener, VisitorFactoryFactoryBuilder visitorFactoryFactoryBuilder, VisitorProxyFacadeFactoryFactorySingletonAdvisorDecorator visitorProxyFacadeFactoryFactorySingletonAdvisorDecorator, AbstractAdvisorBuilderDecoratorInterceptor abstractAdvisorBuilderDecoratorInterceptor) {
AbstractProxyAdvisor abstractProxyAdvisor = abstractFactoryFactoryDecorator.getListenerInterceptorFactoryFactory().getAbstractProxyAdvisor();
AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory abstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory = new AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory();
abstractBeanAdvisorSingletonInterceptor.setAbstractFactoryFactoryAdvisorFacadeStrategy(this.abstractFactoryFactoryAdvisorFacadeStrategy);
AbstractAdvisorProxyStrategyIteratorVisitorObserver abstractAdvisorProxyStrategyIteratorVisitorObserver = new AbstractAdvisorProxyStrategyIteratorVisitorObserver();
if (abstractSingletonFacadeFactoryObserver.isInterceptorListenerFacade()) {
iteratorProxyListenerFacadeBean.setAbstractStrategyBean(this.abstractStrategyBean);
AbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor abstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor = abstractBeanInterceptorIteratorListenerFactoryFactoryStrategyProxyObserver.getAbstractObserverFacadeListenerSingletonProxyAdvisorStrategyVisitor().getAbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor();
abstractProxyBuilderVisitorSingleton.setIteratorAdvisorProxySingletonAdapter(this.iteratorAdvisorProxySingletonAdapter);
if (abstractDecoratorAdapterVisitorProxyObserverIteratorBuilderFactory.isDecoratorFactoryFactoryFacade()) {
visitorIteratorObserverProxyAdvisor.setAbstractObserverSingletonProxyAdvisorBuilderDecorator(this.abstractObserverSingletonProxyAdvisorBuilderDecorator);
singletonFacadeAdapterListenerFactory.setAbstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory(this.abstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory);
while (abstractFactoryAdapterSingletonFactoryFactory.isAbstractStrategyFactory()) {
abstractAdapterBeanStrategySingletonAdvisorBuilderListenerFactory.setAbstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver(this.abstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver);
abstractObserverAdapterFactoryFacadeDecoratorBuilderInterceptorFactoryFactory.setAdvisorIteratorFactoryProxyDecorator(this.advisorIteratorFactoryProxyDecorator);
while (abstractFacadeListenerStrategyIteratorAdvisorSingletonProxyObserver.isVisitorDecoratorInterceptorIteratorAdapter()) {
abstractProxyAdapterInterceptorObserverFactoryFactoryIterator.setSingletonFactoryFactoryProxyIteratorStrategy(this.singletonFactoryFactoryProxyIteratorStrategy);
singletonInterceptorDecorator.setAbstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade(this.abstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade);
visitorFactoryFactoryAdapterIteratorInterceptor.setAbstractIteratorVisitor(this.abstractIteratorVisitor);
}
}
} else {
abstractListenerInterceptorStrategyVisitorBeanFactorySingletonIterator.setAbstractProxyStrategy(this.abstractProxyStrategy);
abstractProxyInterceptorSingletonFactoryFactory.setAbstractSingletonIterator(this.abstractSingletonIterator);
}
} else {
singletonListenerFactoryFactoryIteratorProxy.setAbstractObserverProxyIteratorVisitor(this.abstractObserverProxyIteratorVisitor);
}
return new InterceptorSingletonVisitor();
}
native volatile static final public AbstractSingletonObserver abstractSingletonObserver(AbstractBuilderFacade abstractBuilderFacade, ListenerBuilderVisitorFactoryStrategyAdvisorFacade listenerBuilderVisitorFactoryStrategyAdvisorFacade) {
builderObserverIterator.setAbstractProxyBuilder(this.abstractProxyBuilder);
AbstractInterceptorAdapterFactoryAdvisorStrategyProxy abstractInterceptorAdapterFactoryAdvisorStrategyProxy = abstractDecoratorInterceptor.getStrategyObserverListenerVisitorBean().getAbstractInterceptorAdapterFactoryAdvisorStrategyProxy();
AbstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator abstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator = abstractFactoryIteratorStrategyVisitor.getAdvisorBuilderVisitorBeanIterator().getAbstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator();
while (facadeStrategyObserver.isAbstractFactoryFactoryFactoryListenerVisitorIteratorSingletonBeanAdvisor()) {
abstractFactoryFactoryAdvisorFactoryInterceptorIteratorObserverProxyBuilder.setIteratorAdvisorBeanBuilderProxy(this.iteratorAdvisorBeanBuilderProxy);
AbstractIteratorFactoryFactoryFacadeObserverVisitorAdapter abstractIteratorFactoryFactoryFacadeObserverVisitorAdapter = new AbstractIteratorFactoryFactoryFacadeObserverVisitorAdapter();
abstractVisitorObserverBeanSingletonBuilderProxyFacadeIterator.setAbstractProxyFactoryAdapterFactoryFactoryInterceptorIterator(this.abstractProxyFactoryAdapterFactoryFactoryInterceptorIterator);
}
return new AbstractSingletonObserver();
}
transient volatile static private synchronized AbstractFactorySingletonFacadeProxyFactoryFactoryIterator abstractFactorySingletonFacadeProxyFactoryFactoryIterator(ObserverInterceptorAdapter observerInterceptorAdapter, AbstractInterceptorIteratorListenerFacadeDecoratorVisitor abstractInterceptorIteratorListenerFacadeDecoratorVisitor, FactoryDecoratorBeanAdapterProxy factoryDecoratorBeanAdapterProxy, SingletonAdvisorFacadeBuilderStrategy singletonAdvisorFacadeBuilderStrategy) {
AbstractBuilderIterator abstractBuilderIterator = new AbstractBuilderIterator();
iteratorSingletonDecoratorVisitorAdvisorFactoryFacade.setAbstractDecoratorAdapterListenerBuilderFacadeIterator(this.abstractDecoratorAdapterListenerBuilderFacadeIterator);
return new AbstractFactorySingletonFacadeProxyFactoryFactoryIterator();
}
synchronized volatile protected native private DecoratorStrategyBuilderListenerSingleton decoratorStrategyBuilderListenerSingleton(ObserverBuilderFactoryFactory observerBuilderFactoryFactory, AbstractStrategyDecoratorFacadeVisitor abstractStrategyDecoratorFacadeVisitor, AbstractAdapterIteratorListenerBuilderFactoryVisitor abstractAdapterIteratorListenerBuilderFactoryVisitor, AbstractVisitorObserverBuilderSingletonProxyIteratorListenerDecorator abstractVisitorObserverBuilderSingletonProxyIteratorListenerDecorator, AbstractStrategyFactoryFacadeVisitorListenerBean abstractStrategyFactoryFacadeVisitorListenerBean) {
advisorStrategySingleton.setAbstractSingletonObserverAdapterDecorator(this.abstractSingletonObserverAdapterDecorator);
return new DecoratorStrategyBuilderListenerSingleton();
}
}
359 2825315
private final native public volatile static transient synchronized protected abstract class FactoryFactoryFactoryFacade extends AbstractBuilderIteratorBeanDecoratorInterceptorFactoryFactory implements AbstractFactoryStrategyIteratorProxy, AbstractFactoryFactoryListener {
SingletonDecoratorAdapter singletonDecoratorAdapter = new SingletonDecoratorAdapter();
AbstractFactoryFactorySingletonBuilderProxy abstractFactoryFactorySingletonBuilderProxy = new AbstractFactoryFactorySingletonBuilderProxy();
VisitorBeanSingletonProxyAdvisorBuilderFactoryFactory visitorBeanSingletonProxyAdvisorBuilderFactoryFactory = new VisitorBeanSingletonProxyAdvisorBuilderFactoryFactory();
IteratorListenerBean iteratorListenerBean = new IteratorListenerBean();
AbstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator abstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator = new AbstractAdvisorBuilderIteratorInterceptorSingletonFacadeStrategyDecorator();
synchronized final private protected void setAdvisorFacadeObserverFactorySingletonBeanProxy(AdvisorFacadeObserverFactorySingletonBeanProxy advisorFacadeObserverFactorySingletonBeanProxy) {
this.advisorFacadeObserverFactorySingletonBeanProxy = advisorFacadeObserverFactorySingletonBeanProxy;
}
public synchronized static protected native volatile transient private void setAbstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy(AbstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy) {
this.abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy = abstractIteratorFactoryFactoryFactoryBuilderSingletonInterceptorFacadeProxy;
}
native public static synchronized protected private transient final void setAbstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator(AbstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator) {
this.abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator = abstractObserverAdvisorBeanStrategyAdapterListenerBuilderIterator;
}
protected public native synchronized final void setAbstractBuilderFactoryFactory(AbstractBuilderFactoryFactory abstractBuilderFactoryFactory) {
this.abstractBuilderFactoryFactory = abstractBuilderFactoryFactory;
}
static private protected volatile transient SingletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory getSingletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory() {
return this.singletonInterceptorAdvisorListenerBuilderFactoryFactoryFactory;
}
transient private final static public VisitorAdvisorFactoryAdapterProxy getVisitorAdvisorFactoryAdapterProxy() {
return this.visitorAdvisorFactoryAdapterProxy;
}
synchronized protected public final volatile private AbstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener getAbstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener() {
return this.abstractAdapterSingletonStrategyProxyBuilderInterceptorDecoratorListener;
}
public transient private AbstractListenerAdvisor getAbstractListenerAdvisor() {
return this.abstractListenerAdvisor;
}
public protected transient final synchronized volatile static native private AbstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter abstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter(ObserverDecoratorAdvisorAdapterBuilderSingletonFacade observerDecoratorAdvisorAdapterBuilderSingletonFacade, AbstractBeanInterceptor abstractBeanInterceptor, AdvisorFacadeSingletonDecoratorListener advisorFacadeSingletonDecoratorListener, AbstractAdapterAdvisorObserverListenerFactoryStrategyBeanBuilder abstractAdapterAdvisorObserverListenerFactoryStrategyBeanBuilder, AbstractBeanSingletonInterceptorDecoratorFactoryFactoryFactoryProxyObserver abstractBeanSingletonInterceptorDecoratorFactoryFactoryFactoryProxyObserver) {
decoratorProxyBean.setProxyAdvisorStrategyFactoryFactoryInterceptorFactoryAdapter(this.proxyAdvisorStrategyFactoryFactoryInterceptorFactoryAdapter);
return new AbstractListenerAdvisorProxySingletonFacadeStrategyFactoryAdapter();
}
transient native private final synchronized volatile protected static DecoratorSingletonIterator decoratorSingletonIterator(ObserverSingletonListenerFactoryFactoryBuilder observerSingletonListenerFactoryFactoryBuilder, VisitorDecoratorSingletonObserverFactory visitorDecoratorSingletonObserverFactory, AbstractFacadeBeanAdvisorAdapterSingletonProxyListenerFactoryFactory abstractFacadeBeanAdvisorAdapterSingletonProxyListenerFactoryFactory, FactoryVisitorProxyDecoratorListener factoryVisitorProxyDecoratorListener) {
factoryInterceptorListenerSingletonFacadeDecoratorAdapter.setAbstractBuilderDecorator(this.abstractBuilderDecorator);
InterceptorProxyFacade interceptorProxyFacade = new InterceptorProxyFacade();
abstractAdvisorAdapterVisitorBean.setAbstractAdapterObserver(this.abstractAdapterObserver);
abstractInterceptorListenerBuilderSingletonAdapterStrategyFactoryAdvisor.setAdvisorStrategyDecorator(this.advisorStrategyDecorator);
return new DecoratorSingletonIterator();
}
synchronized volatile private final protected public static native transient AbstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade abstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade(ObserverListenerBeanFactoryFactoryAdvisor observerListenerBeanFactoryFactoryAdvisor, ProxyObserverVisitorFactoryBuilderDecoratorStrategy proxyObserverVisitorFactoryBuilderDecoratorStrategy, AbstractBeanInterceptorObserverAdvisor abstractBeanInterceptorObserverAdvisor) {
abstractStrategyFactoryFactoryBeanVisitorBuilderSingleton.setAbstractIteratorVisitor(this.abstractIteratorVisitor);
AbstractListenerAdvisorSingletonObserver abstractListenerAdvisorSingletonObserver = abstractBuilderDecoratorVisitorFactoryBeanProxyFacadeSingleton.getAbstractAdapterProxyBuilderFacadeListenerAdvisorInterceptorFactory().getAbstractListenerAdvisorSingletonObserver();
return new AbstractListenerFactoryFactoryDecoratorAdapterProxyInterceptorObserverFacade();
}
volatile static transient public native protected AbstractListenerBuilderAdvisorProxyVisitorFacade abstractListenerBuilderAdvisorProxyVisitorFacade(DecoratorSingletonAdvisorFactoryInterceptorListenerBuilder decoratorSingletonAdvisorFactoryInterceptorListenerBuilder, AbstractDecoratorBuilderBeanListenerSingletonObserver abstractDecoratorBuilderBeanListenerSingletonObserver) {
AbstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter abstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter = new AbstractObserverAdvisorBuilderIteratorFacadeFactoryFactoryFactoryAdapter();
adapterAdvisorDecoratorFacadeProxy.setAbstractAdapterBeanDecoratorStrategySingletonFacadeListenerFactory(this.abstractAdapterBeanDecoratorStrategySingletonFacadeListenerFactory);
return new AbstractListenerBuilderAdvisorProxyVisitorFacade();
}
private final public static volatile transient synchronized protected InterceptorSingletonVisitor interceptorSingletonVisitor(AbstractDecoratorStrategyProxyObserverInterceptorBuilder abstractDecoratorStrategyProxyObserverInterceptorBuilder, AbstractVisitorAdvisorFacadeListener abstractVisitorAdvisorFacadeListener, VisitorFactoryFactoryBuilder visitorFactoryFactoryBuilder, VisitorProxyFacadeFactoryFactorySingletonAdvisorDecorator visitorProxyFacadeFactoryFactorySingletonAdvisorDecorator, AbstractAdvisorBuilderDecoratorInterceptor abstractAdvisorBuilderDecoratorInterceptor) {
AbstractProxyAdvisor abstractProxyAdvisor = abstractFactoryFactoryDecorator.getListenerInterceptorFactoryFactory().getAbstractProxyAdvisor();
AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory abstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory = new AbstractVisitorAdvisorListenerStrategySingletonIteratorAdapterFactory();
abstractBeanAdvisorSingletonInterceptor.setAbstractFactoryFactoryAdvisorFacadeStrategy(this.abstractFactoryFactoryAdvisorFacadeStrategy);
AbstractAdvisorProxyStrategyIteratorVisitorObserver abstractAdvisorProxyStrategyIteratorVisitorObserver = new AbstractAdvisorProxyStrategyIteratorVisitorObserver();
if (abstractSingletonFacadeFactoryObserver.isInterceptorListenerFacade()) {
iteratorProxyListenerFacadeBean.setAbstractStrategyBean(this.abstractStrategyBean);
AbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor abstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor = abstractBeanInterceptorIteratorListenerFactoryFactoryStrategyProxyObserver.getAbstractObserverFacadeListenerSingletonProxyAdvisorStrategyVisitor().getAbstractFactoryDecoratorBeanFacadeAdapterProxyAdvisorVisitor();
abstractProxyBuilderVisitorSingleton.setIteratorAdvisorProxySingletonAdapter(this.iteratorAdvisorProxySingletonAdapter);
if (abstractDecoratorAdapterVisitorProxyObserverIteratorBuilderFactory.isDecoratorFactoryFactoryFacade()) {
visitorIteratorObserverProxyAdvisor.setAbstractObserverSingletonProxyAdvisorBuilderDecorator(this.abstractObserverSingletonProxyAdvisorBuilderDecorator);
singletonFacadeAdapterListenerFactory.setAbstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory(this.abstractIteratorInterceptorSingletonListenerAdvisorDecoratorBuilderFactoryFactory);
while (abstractFactoryAdapterSingletonFactoryFactory.isAbstractStrategyFactory()) {
abstractAdapterBeanStrategySingletonAdvisorBuilderListenerFactory.setAbstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver(this.abstractStrategyFactoryFactoryFacadeBuilderFactoryIteratorProxyObserver);
abstractObserverAdapterFactoryFacadeDecoratorBuilderInterceptorFactoryFactory.setAdvisorIteratorFactoryProxyDecorator(this.advisorIteratorFactoryProxyDecorator);
while (abstractFacadeListenerStrategyIteratorAdvisorSingletonProxyObserver.isVisitorDecoratorInterceptorIteratorAdapter()) {
abstractProxyAdapterInterceptorObserverFactoryFactoryIterator.setSingletonFactoryFactoryProxyIteratorStrategy(this.singletonFactoryFactoryProxyIteratorStrategy);
singletonInterceptorDecorator.setAbstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade(this.abstractFactoryFactoryListenerBuilderAdvisorDecoratorFacade);
visitorFactoryFactoryAdapterIteratorInterceptor.setAbstractIteratorVisitor(this.abstractIteratorVisitor);
}
}
} else {
abstractListenerInterceptorStrategyVisitorBeanFactorySingletonIterator.setAbstractProxyStrategy(this.abstractProxyStrategy);
abstractProxyInterceptorSingletonFactoryFactory.setAbstractSingletonIterator(this.abstractSingletonIterator);
}
} else {
singletonListenerFactoryFactoryIteratorProxy.setAbstractObserverProxyIteratorVisitor(this.abstractObserverProxyIteratorVisitor);
}
return new InterceptorSingletonVisitor();
}
native volatile static final public AbstractSingletonObserver abstractSingletonObserver(AbstractBuilderFacade abstractBuilderFacade, ListenerBuilderVisitorFactoryStrategyAdvisorFacade listenerBuilderVisitorFactoryStrategyAdvisorFacade) {
builderObserverIterator.setAbstractProxyBuilder(this.abstractProxyBuilder);
AbstractInterceptorAdapterFactoryAdvisorStrategyProxy abstractInterceptorAdapterFactoryAdvisorStrategyProxy = abstractDecoratorInterceptor.getStrategyObserverListenerVisitorBean().getAbstractInterceptorAdapterFactoryAdvisorStrategyProxy();
AbstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator abstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator = abstractFactoryIteratorStrategyVisitor.getAdvisorBuilderVisitorBeanIterator().getAbstractInterceptorListenerAdvisorVisitorProxyObserverStrategyIterator();
while (facadeStrategyObserver.isAbstractFactoryFactoryFactoryListenerVisitorIteratorSingletonBeanAdvisor()) {
abstractFactoryFactoryAdvisorFactoryInterceptorIteratorObserverProxyBuilder.setIteratorAdvisorBeanBuilderProxy(this.iteratorAdvisorBeanBuilderProxy);
AbstractIteratorFactoryFactoryFacadeObserverVisitorAdapter abstractIteratorFactoryFactoryFacadeObserverVisitorAdapter = new AbstractIteratorFactoryFactoryFacadeObserverVisitorAdapter();
abstractVisitorObserverBeanSingletonBuilderProxyFacadeIterator.setAbstractProxyFactoryAdapterFactoryFactoryInterceptorIterator(this.abstractProxyFactoryAdapterFactoryFactoryInterceptorIterator);
}
return new AbstractSingletonObserver();
}
transient volatile static private synchronized AbstractFactorySingletonFacadeProxyFactoryFactoryIterator abstractFactorySingletonFacadeProxyFactoryFactoryIterator(ObserverInterceptorAdapter observerInterceptorAdapter, AbstractInterceptorIteratorListenerFacadeDecoratorVisitor abstractInterceptorIteratorListenerFacadeDecoratorVisitor, FactoryDecoratorBeanAdapterProxy factoryDecoratorBeanAdapterProxy, SingletonAdvisorFacadeBuilderStrategy singletonAdvisorFacadeBuilderStrategy) {
AbstractBuilderIterator abstractBuilderIterator = new AbstractBuilderIterator();
iteratorSingletonDecoratorVisitorAdvisorFactoryFacade.setAbstractDecoratorAdapterListenerBuilderFacadeIterator(this.abstractDecoratorAdapterListenerBuilderFacadeIterator);
return new AbstractFactorySingletonFacadeProxyFactoryFactoryIterator();
}
synchronized volatile protected native private DecoratorStrategyBuilderListenerSingleton decoratorStrategyBuilderListenerSingleton(ObserverBuilderFactoryFactory observerBuilderFactoryFactory, AbstractStrategyDecoratorFacadeVisitor abstractStrategyDecoratorFacadeVisitor, AbstractAdapterIteratorListenerBuilderFactoryVisitor abstractAdapterIteratorListenerBuilderFactoryVisitor, AbstractVisitorObserverBuilderSingletonProxyIteratorListenerDecorator abstractVisitorObserverBuilderSingletonProxyIteratorListenerDecorator, AbstractStrategyFactoryFacadeVisitorListenerBean abstractStrategyFactoryFacadeVisitorListenerBean) {
advisorStrategySingleton.setAbstractSingletonObserverAdapterDecorator(this.abstractSingletonObserverAdapterDecorator);
return new DecoratorStrategyBuilderListenerSingleton();
}
}
image.png62 Кб, 1135x349
360 2825321
>>25315
Какое-то нагромождение из ключевых слов.
>>25308
Ну в спринге эта логика есть же. По сути я просто хотел подобное в филды пихать. Т.е. как бы переход от конкретного сервиса к отдельной функции, которую может реализовать кто угодно. Не знаю как это можно выразить не через женерики... Типа 100500 интферфейсов писать? Или просто забить и оставить только инстансы.
>>25298
А че за основная ветка?
>>25312
Стараюсь...
361 2825336
>>25267
Пр с таким говном я б нечитая дальше первой строки отправил нахуй.
362 2825341
>>25336
Да блин. А ведь такая красота могла выйти. Ну тогда инстансы оставлю. Сосредоточусь только на разделении типов сервисов.
363 2825372
https://howtodoinjava.com/java/java-string-templates/
Не, ну вы прикиньте, они реально добавили это убожество.
364 2825379
>>25372
Че вы постоянно бухтите...
365 2825384
>>25372
Долбаеб, ты с 21 жявой на РАБОТЕ лет через 10 столкнешься и то врядли.
366 2825385
>>24643
Анкету попросили заполнить в одной около госпараше после успешного собеса.
В анкете помимо персональных данных просили написать все имущество что у меня есть (недвига, авто и тп), фио и контакты всех родственников ну и тп дичь.
Оффера кстати так и не дали, якобы там начальник в отпуске и подписать прям щас не может тупая отмазка, другие "подписывали" картинкой печати и подписи или вообще хуй забивали - это не документ в РФ, а вы там пока заполните и ждите проверки сбшников.

Не стал дожидаться, через неделю я уже работал в другом месте без всяких анкет.
367 2825458
Привет всем джавунам
Подскажите, сейчас в РФ реальной найти шабашку на этом стеке или удел джависта - аналить на финтехи до пенсии?
368 2825551
>>25458
Шабашка это фриланс что ли? Видел всякие курсы для вкатунов с почасовой ставкой. Если сенька++ то мб возьмут на парт тайм.

А так везде - фултайм. В основном надо вникать в бизнес логику, а не просто писать код.
369 2825553
>>25372
Не отклоняйся от линии партии, с выходом 21 версии этот функционал перестал быть бесполезным синтаксическим сахаром для детишек из майкрософт и стал очередным достоинством современного языка программирования от оракла.
370 2825565
>>25372
у меня своя либа для шаблонов
java 5 кун
371 2825568
>>25372
Так-то если почитать JEP, то будет понятно, почему они так сделали, и это уже не будет выглядеть убожеством.
372 2825570
Главная проблема в новых строках в джаве это то, что они, блядь, какого-то хуя в превью были высраны в LTS, блядь. Учитывая, что новый LTS планируется уже после конца времён, много кто их так и не потрогает.
373 2825571
>>25384
Не проецируй, шарпомух.
374 2825624
ку, ананасы, подскажите каким образом в вебфлюхе можно сделать отложенную таску, выполняющуюся ежедневно в определенное время? Flux.interval, очевидно, работает, через какое-то время после запуска, а мне нужно, условно, чтобы таска выполнялась ежедневно в 2:22 ночи. как быть?
375 2825637
>>25624
@Scheduled не пробовал?
376 2825648
>>25637
не хочу его пробовать, думаю всякие проблемы могут вылезти в реактивном контексте, хочется именно каким-нибудь вебфлаксовским способом
377 2825734
>>25648

>думаю всякие проблемы могут вылезти в реактивном контексте



С чего бы?
378 2825954
>>25568
Выглядит все равно убого.
IMG20230901170901592.jpg22 Кб, 962x322
379 2825965
Почему в ArrayDeque 16 + 1 элемент.
В нем два указателя: head и tail.
Про указатель tail написано, что это the index at which the next element would be added to the tail of the deque (via addLast(E), add(E), or push(E)). Elements[tail] is always null.
Соответственно, один из элементов в массиве дэка всегда будет фиктивным, равным null, на него указывает tail.
И чтобы выполнить свой контрактусси изначального capacity в 16 элементов, приходится выделять один дополнительный под tail.
380 2826005
>>25965
Не забывай себе голову пупуньскими вопросами
381 2826017
>>25965
А нахуя его всегда нулловым сделали?
382 2826040
>>25954
Да норм. Мне нравится.
383 2826105
Почему в Java нет подобия деструкторов из C++? Это только в одном месте меня бесит - надо явно закрывать все ресурсы типо файлов, сокетов и тд. Как на C пишу. Слышал про try with resources, но это все равно не то
384 2826118
У вас все объекты передаются по ссылке. А если я не хочу, чтобы функция поменяла переданный объект? В C++ есть константные ссылки. И тогда 100% функция не изменит ничего. А в Java че делать?
385 2826128
>>26105
Деструктор вызывается при уничтожении объекта. В жабе момент удаления объекта непредсказуем из-за сборки мусора, и пожтому никаких полезных действий на событие удаления объекта не повесить.
>>26118
Проектировать объекты иммутабельными. Других способов нет.

Да, никому это не нравится. Нет, с этим ничего нельзя поделать.
386 2826132
Есть в Java такое? https://github.com/bitwizeshift/result
387 2826157
>>26132
Короче. Какой канон? У меня есть обращение к бд которое может мне выдать ошибку. И я хотел это в монаду Result завернуть. Выглядит красиво. Но мб у вас более хорошие способы есть
388 2826168
>>26132
Сьеби отсюда крестопидор
389 2826177
>>26157
В джаве канон - кидать эксепшен на каждый пук.
390 2826179
>>26177
Это же пизда производительности
391 2826183
>>26179
Ну скуфы из оракла стараются это оптимизировать. Кстати, а давно в крестах исключения появились?
392 2826185
>>26132
В стандартной нет. Есть в Vavr'е типы Either и Try
393 2826186
>>26179
Ты ещё не заметил, что в джаве всем похуй на производительность?
394 2826188
>>26183
Были с самого начала.
395 2826190
>>26186
В джаве похуй на тебя-шарпея, и твои маняфантазии, а с производительснотью все нормально.
396 2826194
>>26188
Всм? А че оно тогда сегфаулты мне кидало? И ошибки номер хуй. Или вы их в стд не юзаете?
397 2826195
>>26179
Есть такое мнение.

Но проблемы с производительностью эксепшенов решаемы - у эксепшена можно кастрировать метод сбора стектрейса. Метода - так себе, но видел в нескольких фреймворках это чудо.
398 2826200
>>26190
То-то вижуалстудия у меня летает на некроноуте, а идея жрёт все доступные ресурсы на мощной рабочей пекарне.
399 2826204
>>26177
А я вот помню брайн гетц говорил, мол делать логику на эксепшенах - зло. Исключительные случаи для исключительных случаев. Кто прав?
400 2826206
>>26200
Не ебу че у тебя там на ноуте, пидор. Скорее всего проблема в прослойке между моником и сидушкой. Или в нервном узле у тебя между ушей.
401 2826207
>>26194

> сегфаулты


А джава кинет эксепшен, если компьютер выдернуть из розетки?
402 2826209
>>26204
Гетц прав. Но когда кодеры не говнокодили, камон?
403 2826210
>>26168
Сам съеби отсюда, шарпоблядь. Крестовики здесь уважаемые посетители.
404 2826216
Хуя жабадебила прорвало
405 2826217
>>26204
Хоть и непосредственно логику на эксепшенах делать не стоит, это один из важнейших инструментов языка и замены им нет. Почти каждый метод подразумевает наличие какого-то контекста для его исполнения. Если условия не соответствуют требуемым, необходимо вывалить исключение, и это в хорошем коде происходит очень часто.
406 2826220
>>26216
Тупую орущую школоту типо шарпоблядей никто уважать не будет. Крестовики обычно не являются таковыми, потому они и уважаемые.
407 2826224
Блин, няши, это какой-то ужас. Опять проебываюсь по срокам. Из всей вчерашней замены сделал дай ты бог половину: 50 добавленных файлов ~3000 строк изменённых.
Когда я уже это закончу...
408 2826245
>>26040
Ты пупуня.
409 2826260
>>25648
Не будет никаких проблем. @Async навесь и не парься.
410 2826263
>>16669
Братик, а не можешь подсказать мне как стоит реализовать security для сервисов? Сделать отдельный auth-service? В каждый сервис добавить filter? Или прям в gateway сервисе реализовать?
411 2826279
>>26263
ПС.
Я попробовал добавить spring security & jwt в оба микросервиса user-servic & movie-service но по итогу у меня почему то теперь на каждый эндпоинт статус 200 и пустой респонс.
412 2826301
Наконец-то пятница,пупуням хороших выходных,вкатунам здоровья
413 2826331
>>26301
Буду прорабатывать монотоник стак и спринг веб флукс!
414 2826339
https://www.youtube.com/live/B7sjBwrMIV8?si=gnZlP8fz3T_azfbT
Смотрите прямую трансляцию от sir Durga на YouTube!
415 2826340
>>26331
Ты хочешь выгореть не начав работать?
416 2826363
>>26339
Бля, я и половину слов разобрать не могу, но чувствую, что через час буду понимать всё.
417 2826429
А как вообще внедрят jwt в микросервиса? Пилить отдельный сервис?
418 2826524
>>26429
Что за кончи в треде сидят, пиздец просто.
То они крестоблядей уважают, то какую то хуйню про jwt несут.
Тебе дали кейклок, нет хочу говно жрать и пилить собственный обоссаный iam который и сотой части функционала кейклока не высрет.
419 2826787
>>26185

>Vavr


Спасибо
420 2826797
Vavr это кал.
421 2826825
Java это кал.
422 2826826
>>26797
Avaj єɯо ʞɐv.
423 2826975
>>26263
Мы через keycloak реализуем. Подробности не знаю, не я этим занался. Но знаю, что там и без spring security было и вместе с ним. Подключение к oauth2 провайдерам идет через плагины кейклока. Даже какие-то свои плагины писали.
424 2826976
>>26975
Это все устарело.
425 2826979
>>26976
А что не устарело?
426 2826984
>>26979
Шарп
427 2826986
>>26984
И как там по современному делать секурити у микросервисов?
428 2826987
>>26986
Ебу? Я шарпом не пользовался никогда.
Просто знаю, что аддоныдля кейклока усе, депрекатед. Теперь надо напрямую через спринг секурити делать, без прослоек.
429 2827147
>>26987
Что значит без прослоек? Внутри спринг секурити теперь есть ссо?
430 2827203
>>27147

>In addition, Keycloak adapters has not received the love and attention they require


>Rather than continue to spreading ourselves thin we are going to deprecate the adapters, and focus more on the Keycloak server.


https://www.keycloak.org/2022/02/adapter-deprecation.html

А вот спринг секурити отказался от сервера авторизации, мол вот есть кейклока и другие их и используйте.
431 2827218
>>27203
хуясе картельный сговор
432 2827263
>>20174

>на связи студент почти 2-ого курса информатики. За этот год учёбы много чего учил: C++, ASSembler, Питоняку и прочее дерьмо. Решил вкатиться на галеры явы, но чувствую, что сейчас начинать сидеть и писать голые принты с циклами не даст ничего кроме скуки. Что можно комбинировать с жабой, чтобы был интерес+выгода?Выгода имеется ввиду, что ява+хуйня_нейм даст какой-то стек



Спринг, хуйбирнейт. Вообще я бы еще навернул говна по распределенным системам, микросервисам, то как данные в БД хранятся, транзакции, шардирование, партиции, MVCC, вот это всякое.
Я когда в бакалавриате учился, от скуки начал литкод решать сутками. В итоге дорешался до того, что попал стажером в Яндекс на питухон и го, после чего к жэбе больше не прикасался в своей жизни.
433 2827370
>>27263
На каком языке собесился таки? На чём сейчас больше пишешь?
434 2827441
>>22927
По делу чё нибудь высрешь?
435 2827453
Есть идея для джавы, как сделать её ещё прекраснее. Как превратить эту идею в JEP и увидеть реализованной в Java 22?
436 2827454
>>27453
Отсосать гетцу. Самый простой вариант.
437 2827457
>>27453
работает - не трогай
438 2827458
>>27457
С пятой жебы капчуешь?
439 2827460
>>27458
начиная с восьмой ничего существенного не добавили, только всякий мусор.
Ну кроме свитча со строками. Чем больше мусора - тем хуже для языка
440 2827461
>>27460
Хочешь сказать sealed интерфейсы и свитч-кейс по ним это мусор?
441 2827462
>>27460
Начиная с 5 так-то. До неё не было jmm. Потом мусор один. Ну може пару полезных классов только, но если работает...
442 2827470
>>27461
да
Давайте сделаем наследование.
А ещё давайте сделаем наследование которое нельзя наследовать
443 2827471
>>27470
Это не наследование, которое нельзя наследовать, а enum с поддержкой per-type данных. Я каждый раз кончаю в штаны, когда пишу свитч-кейс на силед интерфейсы.
444 2827473
>>27460

>Ну кроме свитча со строками


То есть switch expressions это хуйня. Понял тебя, скуф
445 2827477
>>27471
давай пример что ты там пишешь и от чего кончаешь
446 2827478
>>27473

>switch expressions


это просто исправление изначально кривого синтаксиса свича, взятого из си
447 2827507
>>27471
Покажи пример
448 2827541
Приструните своего долбоеба, который со своим лобком до шарпистов доебался, а то будут приняты административные меры наказания.
449 2827544
>>27541

>будут приняты административные меры наказания.


Эт как?
450 2827549
>>27544
Щитпост в жава треде будет увеличен втрое
451 2827554
>>27541
Чё-то пока шарпобляди срали полгода тут у нас всем похуй было.
452 2827611
>>26826
Опущенный шарпопетух даже нормально отразить не смог, лул.
453 2827742
Есть кто на свежем спринг буте пишет?
Есть нужные фичи у 3.1 по сравнению с 2.7?
Вот жаба 21 выйдет через три недели. Еще через месяц думаю обновиться с 17.
А спринг бут так и не поднял. Во время выхода 3.0 я полчасика потыкал в одном сервисе - у меня сломались фейн и кафка и я забил.
454 2827751
>>27742
А что ты подразумеваешь говоря фичи в спринг бут? Вообще всю плеяду spring-xxx?
455 2827764
>>27751
Ну на самом деле да. Все фичи в артефактах spring-boot-starter-xxx версий 3.1.
456 2827781
>>27742
Самые заметные изменения - замена spring-security-oauth2 на spring-security и spring-cloud-sleuth на micrometer-tracing. Причем некоторые фичи при этом проебались и пришлось писать их самим. Но при этом 2.7 скоро перестанут поддерживать, поэтому на 3.х переходить придется.
457 2827786
>>27781

>spring-cloud-sleuth на micrometer-tracing


вот это у меня есть.
А полезное новое то что-то есть? Там я помню читал из нового есть новый http клиент, что-то про докеры. А вот по полезности - хз.
458 2827789
>>27786
Не особо заметил пока. Локальным докером у нас не пользуются. Есть нативная компиляция прямо в буте, но на винде она работает через жопу, очень сыро пока.
459 2827792
>>27789
Походу будем сидеть на 2.7 неподдерживаемом.
Аноним 460 2827794
>>16575 (OP)
тут можно пиздеть про котлин потому что jwm или я пидор?
461 2827795
>>27794
Только если это бековский котлин. Желательно на спринге.
462 2827798
>>27795
пиздец блять, есть ветка на котлин?
Аноним 463 2827811
>>27798
я недопонял, простите, ок
464 2827917
Что почитать по нейронным сетям для начинающих человеков (без phyton )?
465 2827923
>>27917
В спринге такой хуйни нет. Ты точно в тот тред зашёл?
466 2827982
Как работает логическое или "|" при присваивании значений переменных ?

int num1 = 100;
int num2 = 225;

int flags = num1 | num2;
467 2827986
>>27917
Математику. Университетский курс линейной алгебры, матстата и теорвер
468 2827990
>>27982
Это не логическое ИЛИ, а побитовое. Проходит по каждому биту первого значения и выполняет ИЛИ с соответствующим битом второго значения.
469 2828096
А чому ломбок аннотации нельзя впихнуть в свои аннотации? Они еще и не наследуются. Это че за фича такая ахуенная? Чтобы что блятб?
470 2828098
>>28096
Потому что лобок создан пидорасами для других пидорасов.
471 2828102
>>28098
Ну я ца получаеца.
Блять, это реально троллинг или че. Може можно как-то еще этот он метход заюзать не в геттере. Но эти пидоры в изьюзах писаль, вай сложна сложна... Это есть - кушойте
472 2828109
>>28102

>Ну я ца получаеца.


Няшный?
473 2828135
>>28109
Я шизуля, так что оно того не стоит ~

Черт, обидно же, что нельзя.
474 2828280
>>28135
это не просто гнев
то что сидит в мне
475 2828421
Ты скоро перейдёшь на котлин и ты будешь счастлив
476 2828425
Пупуни начинают трудовые будни
477 2828427
>>28421
Спасибо, не надо, я уже перешёл на шарп.
478 2828439
>>28425
Дааааа уже целый час отработал....
479 2828447
>>28439
Ты такой молодец,самый продуктивный работник нашей команды
480 2828685
>>20143
потому, шо throwable избыточно ждать, так как он будет либо эксепшоном, либо эрором, с которым все равно жавамашине разбираться. А возьмешь рантайм - проебешь ИОэксепшн
481 2828686
Не забывайте делать зарядку между работой. Вы же не хотите превратиться из пупуни в скуфуню?
482 2828698
>>28685
А как ты можешь сделать иоэксепшен не проверяемым? Вопрос-то в этом.
483 2828702
>>28698
Да, через Котлин или Ломбок.
484 2828706
>>28702
Ломбок байткод генерит что ли? Чёт больно сильное вмешательство
485 2828714
>>28698
catch (IOException e){
throw new RuntimeException(e)
}

Мимо лид
487 2828731
catch (Throwable t) {
throw new RuntimeException(t);
}
488 2828736
>>28731
>>28714
Просто заебатый паттерн.
Нахуя выше-то ловить что-то помимо рантайма тогда?
489 2828749
>>28736
Да ничего ловить не надо. Один раз пишешь глобальный обраьотчик эксепшенов и ловишь там Exception. А catch в бизнес-логике - это почти всегда борьба с проверяемыми эксепшенами.
490 2828751
>>28714
>>28717
@SneakyThrows вам на чё?
491 2828763
>>28749
Прямо уж борьба... Например InterrputedException вполне полезное: не проебешь логику прерывания потока.
492 2829049
>>28698
>>28706

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

Ломбок просто использует один баянистый чит с прикастом эксепшенов https://github.com/projectlombok/lombok/blob/000ce6d19a3d4a7d8c88ffa51e47ffda2a3b2c79/src/core/lombok/Lombok.java#L55.
493 2829057
>>28706
И да - лобок не трогает байткод. Вместо этого он делает абсолютно ректальный гейский нелегальный трюк: через приватные API выдирает из annotation processorа редактируемую версию AST сорцов, и правит это AST перед тем как оно будет скомпилировано в байткод.
494 2829072
Когда уже ебаный лобок форкнет жабу?
495 2829081
>>29072
Пупунь,тебе не стыдно?
496 2829085
Пока писал пост, ответил сам себе на вопрос, но появился другой. Какую роль в деливери семантик играет продюсер??нахуй? При чем здесь сука продюсер? Или ни при чем и сам это придумал?
497 2829093
Не уеду домой пока не получу ответ нахуй
Отвечайте
498 2829099
https://kafka.apache.org/documentation/#semantics

> let's discuss the semantic guarantees Kafka provides between producer and consumer

499 2829106
Продюсер как-то ебет закоммитилось сообщение консюмером или нет?
500 2829124
видимо я перепутал джава тред с ломбок тредом.
501 2829130
Это логово шарпистов.
502 2829172
>>29106
Нет конечно. Вся идея очередей это развязать продюсера и консьюмера, чтобы они друг о друге ничего не знали и не зависели.
503 2829181
>>29172
Ну гарантии доставки-то нужны.
504 2829183
>>28763

>InterrputedException


Вот как раз пример того, что нахуй не нужно.
505 2829192
>>29183
В плане не нужно?
506 2829195
>>29192
Да.
507 2829198
>>29195
Че да? Ты поясни нормально. Просто вдруг к нам зашёл кто-то уровня даг ли и лучше знает как архитектуру многопоточную сделать.
509 2829210
>>29205
А че в нормальном виде нельзя было сделать? Даже для телефонов не адаптировали - держат планку, хули
510 2829230
>>29198
Да нет тут никакой мудрости, просто нет таких кейсов, когда interruptedException может быть нужен.
image.png19 Кб, 718x162
511 2829232
>>29230
Ты еблан? Ты хоть раз открывал доки по синхронизаторам-то?
512 2829233
>>29232
И чё это?
513 2829237

>просто нет таких кейсов, когда interruptedException может быть нужен


фор (вар хуй : жопаФактори.гетЖопаОфАнон(">>29230").гетХуйс()) {
__тру {
____хуй.ремув();
__} катч(InterruptedException e) {
____бреак;
__}
}
Не поймал исключение и у тебя застряли хуи в жопе.
514 2829238
>>29233
Методы которые имеют разное поведение, хотя выполняют одно и тоже действие. И блокирующая операция всегда подчеркивается чекед исключением.
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html
515 2829244
>>23148
Практические применения есть?
516 2829252
>>29244
Заходишь в шарп тред... Применяешь
517 2829258
>>29238
Нихуя не понял.
518 2829259
>>29237
Так и в твоём случае хуи тоже в жопе застревают.
519 2829260
>>29259
Хуевый пример просто.
520 2829265
>>29205
2025 - infa po springu was released finally after 20 years of infa deprivation.
522 2829279
>>29269
А че пиздец-то?
523 2829281
Мой лид скуф останавливает потоки через Thread.stop(). А в коде потока перехватывает ThreadDeath, обрабатывает ситуацию и снова бросает ThreadDeath. А потом аж приговаривает ух бля. Надо ли говорить какой тред дамп получается? Аж ждуны от херочек отклеиваются.
524 2829283
>>29281
Почему он лид-то? Это ж пиздец полнейший ничем не оправданный.
525 2829285
>>29244
Сам то как думаешь?

>>29252
Шарпей не знает уже в какую беседу приткнуться со своими шарпами ненужными - нигде не привечают. Как же ты жалок, пиздец.
526 2829303
>>29279
Пиздец люди иногда красивые идеи выдают.
527 2829308
>>29244
По идее есть. На петухабре была статья про кащея, где он ебанутую валидацию на дженериках захуярил.
528 2829310
Ух шарп шарп шарп шарб.
529 2829328
Если отучился на джаву и даже прошел собес, но все это время работал по другой должности, но напиздел что опыт есть, какие подводные?
530 2829338
>>29328
Как ты собес-то прошел блятб?
531 2829347
>>29338
рандом удача
532 2829406
>>29328
Ну тут зависит от того о каком количестве опыта напиздел.
Сколько напиздел?
533 2829408
А как можно сохранять сущность со связью @ManyToOne, если вот эта вложенная заполнена только по id полю и соответственно является Transient?
Т.е.
A{
@ManyToOne
B;
}
Хотелось бы провернуть подобное:
save(new A(new B(1));
Не создавая новую B.
По сути я хочу выполнить простой запрос insert.
534 2829411
>>29408
Хотя надо просто optional = false ебнуть, но без insertable = false, updatable = false. Хуй знает как они сочетаются, что все в null уходит.
535 2829416
>>29406
2 года, но в трудовой написано с программированием не связанное
536 2829537
>>29416
Понятно, ну 2 года это не много и немало. Готовься новые штуки осваивать в короткий срок, еще есть шанс спалится на какой самой простой вещи. Вполне жди мидловских задач.
sage 537 2829657
>>29281

Такой лид небось и JSF неплохо оприходует...
538 2829766
>>16575 (OP)
Соре за тупой вопрос, но:
Может ли ключевое слово static быть применено к определению внутреннего класса?
Уверен, что да, но gpt почему-то говорит, что нет. Поясните плиз
539 2829771
>>29766
Когда же до вас, детей имбицильных, дойдет уже...

ЧатГпт - не интеллект. ЧатГпт - просто Т9-переросток, с косяками такого же рода что и у предшественника. Он нихуя не знает и не умозаключает, он просто выдает портянку текста, которая наиболее вероятна согласно его модели. За ЧатГпт всегда нужно перепроверять. Никогда не верить на слово.

И если перепроверив ты выяснил что реальность не сходится с маняфантазиями нейронки, верх тупости копротивляться и верить в нейронку до конца блять. Поэтому нет, не "соре", пошел нахуй.

Сука.
540 2829775
>>29771
Встал не с той ноги, няш?
Мима
541 2829776
>>29775
Ну блять, а как еще? "Уверен, что да, но gpt почему-то говорит, что нет"... Пиздец блять, сингулярность наступила. Похуй что машины так и не прошли тест тьюринга, зато люди его больше не вывозят.
542 2829941
ананасы, сколько времени может занять перекат с ноды в джаву?

конкретнее с неста в спринг? и насколько хорошая/ебанутая идея туда закатываться? работы с джавой овермного в сравнении с остальным и это не кнопкоебство на реакте с 123123123 откликов.

какой стек в целом смотреть для вката?

я сам на кабана ебашу за такие се 90к, хочу как мой знакомый ебанат одноклеточный 180-200 ловить (2к баксов кек)
543 2829965
>>29941
Почему не в шарп? И что ты о жабе знаешь, к слову?
544 2829985
>>29965
Потому что все шарпеи залпом перекатываются в джаву. Вот и ты тут как тут.
545 2829992
>>29965
на шарпе писал по универу (я с мухосранска двшного) и вакансий на шарп тут хуй да нихуя.

а вот на джаву вполне можно вкатиться (при должном пиздеже и подготовке к собесам за 2-3 месяца мб даже на мидла влезу, опыт то на другой платформе есть)

+ еще имхо конечно, но вакансии в целом по палате в финтехе и тд в ру сегменте и забугорные почему-то куда чаще на джаве встречал, поэтому кажется логичным попробовать туда (+ там куча всяких скал груви и остальной котлинатории)
546 2829996
>>29992

>и вакансий на шарп тут хуй да нихуя.


Главное пытаться же.

>месяца мб даже на мидла влезу


Ты ж в ней нихуя не знаешь. Каким образом ты это провернешь? Опыт на другой платформе ну никак не ляжет на опыт жабовский.

>котлинатории


Ну вот, сразу туда и катись.
>>29985
Мимо.
547 2830069
>>29996

>Ты ж в ней нихуя не знаешь. Каким образом ты это провернешь?


дрочка дрочка и еще раз дрочка + заливы петов тестовых на которых буду дрочить задними числами))) вот те и два года опыта хыхы

>Опыт на другой платформе ну никак не ляжет на опыт жабовский.


.net + nest вполне может налезть, концепции схожие есть.
548 2830072
>>30069
Бля мб тгшку попросить... Вместе бы подрочили :3
549 2830162
>>30072
кидай
550 2830168
>>30162
Бля, учитывая сколько я эти треды заебываю... @anywaythanks
551 2830328
>>29657
Поссал на зуммерка.
Мимо_дед_с_jsp
552 2830358
Проясните момент по паттернам. Это говно без задач? Если нет, то какие надо использовать, чтобы не зашкварно было?
553 2830364
>>30358
PIDOR. Лучший из всех.
554 2830372
>>30364
Это импортозамещённый паттерн что ли? Я про бариновские заокеанские спрашивал
Марсианский лес-2.png1,6 Мб, 1023x1024
555 2830376
Как передать методу более одной переменной? Я пытаюсь передать массив, вот так:
public class JavaFile {
public static void main(String[] args) {
String[] array1 = { "Red", "Blue" };
Yellow yellow1 = new Yellow();
String result = yellow1.forAddtion(array1);
System.out.println(result);
}
}

class Yellow {
public String[] forAddition(String[] input) {
String result = "";
result = input[0] + input[1];
return result;
}
}
Но Java ругается, говорит что The method forAddition(String[]) is undefined for the type Yellow.
556 2830378
>>30376
Ну у тебя как минимум метод возвращает String[], а сохраняешь ты в String
557 2830379
>>30358
Паттерны - это не архитектурные бестпрактисы, а просто единообразный код, получающийся при решении схожих задач. Можно писать дохуя кода и даже не подозревать, что реализуешь какие-то паттерны, потому что они тупо получаются сами собой, когда пытаешься обобщить схожие подходы. Вот надо тебе часто создавать один и тот же объект с одинаковыми параметрами, ты выносишь логику его создания в хелпер и только месяцы спустя узнаешь, что это ниибацца какой фабричный метод.
558 2830382
>>30376
А через запятую не судьба? Да и варарг...
559 2830383
>>30378
Это поздняя итерации. Когда я возвращал String - оно точно так же не работало.
560 2830386
>>30378
>>30383
Вот сейчас я просто передаю строковую переменную и возвращаю строковую переменную. Но нет - все та же херня.
561 2830387
>>30382
Через запятую, тупо не работает.
.png35 Кб, 651x538
562 2830389
>>30376
Опечатки исправь блять.
image.png48 Кб, 667x543
563 2830390
>>30387
Троллинг чтоле
564 2830392
>>30389
Какие именно, опечатки?
565 2830395
>>30392
Название метода и тип возвращаемого значения.
566 2830396
>>30390
У меня в любом случае, сломалась сама технология методов Java. Вот последняя итерация кода:
public class JavaFile {
public static void main(String[] args) {
String array1 = "3 5";
Yellow yellow1 = new Yellow();
String result = yellow1.forAddtion(array1);
System.out.println(result);
}
}

class Yellow {
public int forAddition(String input) {
int result = 0;
String[] forMath = input.split(" ");
result = Integer.parseInt(forMath[0]) + Integer.parseInt(forMath[1]);
return result;
}
}
Причем в моем предыдущем коде, все идеально - методы объявляются, вызываются, все нормально.
567 2830397
>>30396

>сломалась сама технология методов Java


Ну классика. Это вообще известная проблема. Решается перекатом в шарпы.
568 2830400
>>30397
Ты - ебобо?
569 2830402
>>30395
Исправил опечатки. Теперь у меня лишь вываливается другая ошибка:
"java.lang.NoSuchMethodError: 'java.lang.String Yellow.forAddition(java.lang.String)'"
570 2830406
>>30400
Он пупуня.
571 2830407
>>30406
Как ты узнал...
572 2830409
ахаха блять пиздец
sage 573 2830572
>>30328

Поссать ты можешь только на свое ебало, сначала матчасть изучай, jsf поматёрее и постарше будет чем этот ваш jsp.

Но если ты сейчас с jsp сидишь то ебало твое перманентно обоссано, боюсь даже представить в каком бодишопе ты работаешь.
574 2830587
>>30572

>Зумерок не может в самоиронию


Бля чел нахуя ты ответил, да еще серьезно, на это.
sage 575 2830598
>>30587

>я тебя затралел нет я тебя



Чел ты себя видел в зеркало?
576 2830603
>>30396

>>String result = yellow1.forAddtion(array1);


>>public int forAddition(String input)


Ты на питоне программированию учился?
577 2831023
Каравашки-кун, ты не мог бы кратко посвятить меня в доменную модель каравашек?
Какие есть агрегаты, атрибуты, события и т.д в домене каравашек?
578 2831080
>>31023
Такой форсер был полгода назад или больше.
Чего ты вспомнил?
sage 579 2831081
>>31023

БДД ЖРАЛИ НО ДОМЕН ДРИВЕН ТО НЕ ЕЛИ!
580 2831097
Пиздец конечно эта клин акитекче блин блять нахуя
sage 581 2831104
>>31080
Вниманиеблядь семёнит, чтобы о нём не забыли.
582 2831170
>>31023
Пупуня,спок
583 2831213
>>31023
Стори?
584 2831223
>>31080
Я буду делать ремейк.
585 2831230
>>31223
Говоря о римейках - помнится был еще кинопоиск-чел. Как интересно щас у него дела.
586 2831243
>>31230
В фаанг устроился,работает под началом чувака,который вложенные дто делал
image.png354 Кб, 719x400
sage 587 2831302
>>31243

>вложенные дто



Рамжэш, не зря ты MIT закончил!
image.png80 Кб, 727x443
588 2831689
А есть какие-то гайды по тому как тестировать с бдшкой? Т.е. почти функциональное тестирование но через juinit, там по полному циклу диспатч сервер -> хандлер маппинг -> контроллер -> сервис -> бд -> виев прогнать бы. Есть подобное из одной книжки, но не очень понятно как сюда еще бдшку лучше вкорячить.
>>31243
Бля, мб лучше стоило их оставить, раз они так внимание привлекают...
589 2831700
>>31689
HSQL/H2 или всякие тестконтейнеры.
590 2831703
>>31700
Почему не jpql... Нет ну вообще понятно, что использовать. Мне не понятно как. Я ведь могу нахуярить и чистого sql со схемами, но... Нинаю даже
591 2831704
>>31703
Да это не то. Речь не про ORM-ы, а про создание ин-мемори БД для запуска интеграционных тестов.
592 2831706
>>31704
Нууу. Пример тестов можешь скинуть? Я могу конфиг сделать с такой бд, какой раз повторюсь, проблема в том, чтобы опять велосипедов не наделать...
593 2831724
>>31689
Тестконтейнеры смотри. Ну или как диды через Н2.
594 2831726
>>31724
Проще как диды. Но мне бы примерчик блина ~~
595 2831757
>>31726
Ты никогда не вкатишься, если не умеешь гуглить. В твои 35 годиков пора уже научиться.
596 2831759
>>31757
Ты откуда столько насчитал-то?
597 2832088
Божеее, парни, помогите, как мне написать SQL в этом ебанном @Query, который вернет HashMap<Long, Long>. Оба поля в одной и той же таблице.
598 2832095
>>32088
В чем проблема брать два поля и самому мапить их?
599 2832126
>>32095
Хочу сгруппировать по первому полю за один селект
600 2832128
>>32088
А зачем тебе мапа-то? Вроде лист должен по get(int) справляться
601 2832135
>>32126
Хотя, если тебе нужна группировка именно, то можно лист из дтоошек сделать...
602 2832136
>>32126
Не получится.
603 2832190
Расскажите про аннотацию спринг @ServiceConnection.
604 2832201
>>32190
Аннотация абсолютно точно была сделана дибильными пупунями для дибильных пупунь,использовать порядочным пупуням не рекомендуется
605 2832220
>>31700
>>31724
Так и че в итоге, делать @SpringBootTest с конфигурацией по h2 и частичным созданием бинов?
606 2832244
>>32220
Делай. Ты же пупуня.
607 2832248
>>32244
И так знаю... Главная причем. Ну ладно, пофиг - хоть что-то будет.
sage 608 2832268
>>32201

Я твоей маме бины настраивал, пёс
609 2832276
>>32268
Насмехайтесь над этой пупуней
708d93db7568441029cc4a4a5bd9ed6d.jpg74 Кб, 564x798
610 2832277
У меня Java поломалась - не выполняет собственные же правила.
Есть код:
public class TSringList {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
При попытке запустить, ругается на строку:
public static void main(String[] args)
Пишет: "java.lang.Error: Unresolved compilation problem:
611 2832280
>>32277
Выглядит как будто ты ждк не установил или что-то в этом роде
612 2832296
>>32280
Все у меня установлено. Более того, до недавнего времени, когда я писал такой же код - все работало. Да и сейчас есть файлы с расширением .java, которые абсолютно нормально запускаются.
613 2832307
ахаха блять пиздец
615 2832324
Посмотрел интервью вашего любимого Евгения Борисова. Грит все, жуны не нужны, чатгпт всех заменит. Ебало?
616 2832402
>>32324
В чем он не прав?
617 2832417
>>32402
Хз, когда я последний раз пробовал гпт, она мне даже банальный код написать не смогла...
Скажем есть массив произвольной глубины и надо определить зубчатый ли он.
618 2832544
Сидим тут
619 2832621
есть общение с сокетом. И есть два потока - один читает, другой пишет. Есть также InputStream и OutputStream, общие для потоков.
Делаю тест на чтение/запись, запускаю одиночный тест - нормально.
Запускаю все тесты - тесты начинают нестабильно падать. Судя по логам - из сокета не читаются данные, и тест за это время успевает завершиться.

Т.е. тред теста, тред чтения, тред записи. В треде теста я ставлю Thread.sleep. Но всё-равно почему-то не всегда читаются данные. Можно как-то синхронизировать эти потоки в разных тредах? Или сказать чтобы всегда выполнялось поровну, без отдачи приоритета тому или другому треду
620 2832633
>>32621
Тред слип нихуя не гарантирует. Вообще по словам мало что ясно. Спограмируй модель небольшую с этой проблемой.
621 2832711
>>32324

>Ебало?



Хороший вопрос. Скинь таймкод на интервью, тоже бы взглянул на его ебало.
image.png291 Кб, 533x579
622 2832721
>>32621
Можно ебнуть две блокирующие очереди. Так, тред чтения это консумер, тред записи продусер. Тред теста будет как продусером для треда чтения, так консумером для треда записи.
Т.е. тред записи все что делает, так это кладет в очередь данные. Тред записи берет из своей очереди данные и пишет их. Можно сделать общими блокирующие очереди, а не стримы. И вот в тесте берешь данные из очереди чтения чета делаешь, клодешь в очередь записи.
Ну это если я правильно понял.
>>32711
https://youtu.be/m8UaCpo62Cs?si=T4MFHsd2qsn0j3lG&t=2955
623 2832743
>>32721
Хаха, забавно. Ну типичный евангелист, че еще от него было ожидать.
624 2832779
Сап джавовый, пришел за советом, у меня ситуация следующая
Я разрабатываю свою соцсеть, у которой пока есть только какой никакой фронтенд на vuejs. Мне нужно на стеке java + spring boot сделать следующий функционал. Когда user1 лайкает пост, в базу должен записываться лайк и после этого мое рест говно должно обновить данные в браузере что user1 понравился его пост. Запись лайков в базу данных я уже сделал, теперь нужно сделать так чтобы приложение уведомляла пользователя. Что лучше для этого использовать, websocket, webhook или long polling?

1. Что быстрее
2. Что меньше ресурсов сервера растрачивает
3. Что быстрее можно реализовать
625 2832781
>>32779
Нахуй не надо это обновлять. Рисуй +1 лайк и все.
626 2832782
>>32781
Да ебать этот варик не пойдет пчел, вот мне кажется можно попробовать использовать websocket. Он наверное куда легче нем каждый раз дрочить http запросы серверу, какими они там лонгполлингами не были
627 2832791
>>32782
ТЫ ЕБЛАН СУКА ПРОЩЕ НЕ ДЕЛАТЬ ЗАПРОС ВООБЩЕ
628 2832794
>>32791
ДЕГЕНЕРАТ СУКА КАК ТЫ УЗНАЕШЬ ЧТО ТЕБЕ ТВОЙ ЛЮБОВНИК ЛАЙК ПОСТАВИЛ?! Собираешься кнопку обновления дрочить пока палец не отсохнет?
629 2832795
>>32794

>ТЕБЕ ТВОЙ ЛЮБОВНИК ЛАЙК ПОСТАВИЛ


ДОЛБОЕБ ПИШИ ТЗ НОРМАЛЬНО
лонг поллинг
от вебсокетов у сервера писька отвалится с каждым соединение держать в час наибольшей загрузки
630 2832798
>>32779
http2 server push
631 2832799
>>32794
Можно утром заходить просто же. Вот в мангалиб, например, не заморачивались с этим.
632 2832800
>>32795

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


Схуяли отвалится чмо?
633 2832801
>>32800
ну раз ты самый умный то делай сам ДОЛБОЕБ
634 2832803
>>32801
Ну и пошел нахуй, если не можешь нормально свои слова аргументировать
635 2832807
>>32803
бисер перед свиньями не метаю
636 2832808
>>32807
А мне вот тоже ничево не написал нормально, хотя я точно не свинка, не далабеб и вообще няша.
637 2832810
>>32807

@АДЕКВАТНО ПРОСИШЬ СОВЕТ
@ПОК ПОК ПООК ДОЛБОЕБ ПОК ПОК
@ПРОСИШЬ АРГУМЕНТИРОВАТЬ СВОИ СЛОВА
@ПОК ПОК ПОК бисер перед свиньями не метаю
638 2832811
>>32808
ты кто
639 2832812
>>32811
Всм кто? Сказал же, что няша. Вот недавно про тесты спрашивал
640 2832813
>>32812
я те не писал ниче вообще ЕБЛАН
641 2832816
>>32813
Тем более. Злюка ты. Одинокий, наверное.
642 2832821
>>32816
я сомодостаточный
image.png133 Кб, 1150x772
643 2832829
>>32821
Да ладно тебе, тут все свои. Вообще смари какие классные вложенные тесты получаются.
644 2832831
>>32829
вложенные тесты это уважаемо
645 2832833
>>32829
а стоп ты ДОЛБОЕБ с дтохами
646 2832835
>>32833
Повод помочь я щитаю.
>>32831
:3
647 2832887
Сап, подскажите как правильно сделать? Есть один реактивный сервис с блокирующим доступом к БД (это хуйня, я знаю, не я принимал такое решение), который генерит .xlsx по расписанию, после чего отправляет этот файлик в другой сервис через WebClient. Собственно, вопрос - каким образом мне его отправлять? Обязательно ли нужно хранить сгенеренный файл на сервере, создавая File (или другую абстракцию) или же можно каким-то образом OutputStream запихнуть в WebClient и не париться о том, что где-то на диске файл будет временно храниться? Или я вообще долбоеб и то, что файл будет сохранен это нормальная практика?
648 2832888
>>32887
А че плохого в блокирующем доступе?
649 2832928
>>32887
у меня в проекте в таком случае отправляется Mono<ResponseEntity<Resource>>
650 2833170
>>32277
Переустанови JDK
sage 651 2833186
>>33170
ПРИШЛО ВРЕМЯ ПЕРЕУСТАНАВЛИВАТЬ JDK
652 2833199
Парни, помогите пж.

Есть сервис-регист с eureka server, сервис для конфигов других мс и собственно сам мс.

В йамлке мс:
spring:
application:
name: test-service
config:
import: "optional:configserver:http://config-server:8088"

Решил стартануть их через докер предварительно поменяв везде localhost на назв. контейнеров и нужные порты.

Но в итоге мс не может взять конфиг с сервиса конфигов. Получаю такой еррор:
I/O error on GET request for "http://config-server:8088/test-service/default": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused)

В композе поставил их в одну сеть и сделал зависимость. Все равно еррор. Как фиксануть?
653 2833223
>>32277

>Unresolved compilation problem



А полный эксепшон мы конечно не дадим. По полному экскепшену нас обоссут, да и шарпеем свое коронное "решается перекатом в шарп" не вставить.

Да?
654 2833231
>>33199
Инфы мало. Очевидно, что сервис не может достучаться до хоста config-server:8088. Почему? Мадо смотреть что ты там в композе нахуевертил, и прочие настройки.
655 2833233
>>33223

>да и шарпеем свое коронное


Я тебе секрет открою, но это не шарписты. Можно легко убедиться спросив что-то шарповское.
656 2833249
>>33231

application.yaml (сервис-регист)
server:
port: 8761
spring:
application:
name: service-registry
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

application.yaml (сервис конфига)
server:
port: 8088
spring:
profiles:
active: native

user-service.yaml (сервис конфига)
server:
port: 8081
error:
include-message: always
eureka:
client:
serviceUrl:
defaultZone: http://service-registry:8761/eureka/
management:
tracing:
sampling:
probability: 1.0
endpoints:
web:
exposure:
include: "health,info"
spring:
datasource:
url: jdbc:postgresql://db:5432
username: postgres
password: postgres
jpa:
hibernate:
ddl-auto: validate
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQLDialect
format_sql: true
show-sql: true

application.yaml (тестовый сервис)
spring:
application:
name: test-service
config:
import: "optional:configserver:http://config-server:8088"

docker-compose.yaml:
version: '3'

services:
service_registry:
container_name: service-registry
build: ./service-registry
ports:
- "8761:8761"
networks:
- db

config_service:
container_name: config-service
build: ./config-service
ports:
- "8088:8088"
depends_on:
- service_registry
networks:
- db

db:
container_name: db
image: postgres:15
ports:
- "5432:5432"
networks:
- db

test_service:
container_name: test-service
build: ./test-service
ports:
- "8081:8081"
depends_on:
- config_service
networks:
- db

networks:
db:
driver: bridge

volumes:
db:
656 2833249
>>33231

application.yaml (сервис-регист)
server:
port: 8761
spring:
application:
name: service-registry
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

application.yaml (сервис конфига)
server:
port: 8088
spring:
profiles:
active: native

user-service.yaml (сервис конфига)
server:
port: 8081
error:
include-message: always
eureka:
client:
serviceUrl:
defaultZone: http://service-registry:8761/eureka/
management:
tracing:
sampling:
probability: 1.0
endpoints:
web:
exposure:
include: "health,info"
spring:
datasource:
url: jdbc:postgresql://db:5432
username: postgres
password: postgres
jpa:
hibernate:
ddl-auto: validate
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQLDialect
format_sql: true
show-sql: true

application.yaml (тестовый сервис)
spring:
application:
name: test-service
config:
import: "optional:configserver:http://config-server:8088"

docker-compose.yaml:
version: '3'

services:
service_registry:
container_name: service-registry
build: ./service-registry
ports:
- "8761:8761"
networks:
- db

config_service:
container_name: config-service
build: ./config-service
ports:
- "8088:8088"
depends_on:
- service_registry
networks:
- db

db:
container_name: db
image: postgres:15
ports:
- "5432:5432"
networks:
- db

test_service:
container_name: test-service
build: ./test-service
ports:
- "8081:8081"
depends_on:
- config_service
networks:
- db

networks:
db:
driver: bridge

volumes:
db:
657 2833297
Это правда что больше половины погромистов пиздят код прода с работы?
658 2833301
Смотрите какой мне видосик сняли :3
https://youtu.be/gD8xUkZW1GU?si=AHxfVshULAMuM5vA
659 2833307
>>33301
Пупунище...
660 2833322
>>33249

>import: "optional:configserver:http://config-server:8088"



>config_service:


>container_name: config-service



Госпаде, ну тыб перепроверил за собой чтоле, Семен Семеныч...
661 2833338
>>33322
Спасибо, исправил, но толку все равно не дало. Тот же еррор.
662 2833341
>>33338
Пости листинг - как конкретно исправил? Опять небось накосячил
663 2833351
>>33341
import: "optional:configserver:http://config-service:8088"
664 2833361
>>33351
Сделай import: "optional:configserver:http://config_service:8088"

Если я правильно помню, в композе container-name != хостнейму, и последний определяется именем секции в ямле.
665 2833454
>>33361
I/O error on GET request for "http://config_service:8088/test-service/default": Connection refused

(
666 2833631
В общем есть некоторый прогресс с дтошек вложенных.
Переделал архитектуру на cqrs.
Немного документации добавил.
Частично тестов.
Еще мапстркут и ломбок.
Все мапы хиберовские убрал.

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

Еще помню кто-то обещал посмотреть, когда уберу интерфейсы... Короче можете оценить....?
https://github.com/anywaythanks/Twister
667 2833666
>>33631
Как же здорово что ты плотно держишь всех в курсе.
668 2833686
>>33666
Ну вот а чтобы вы без меня делали-то?

Прикольно циферки совпали, к слову.
669 2833690
>>33686

> а чтобы вы без меня делали-то?


Изучали шарп.
670 2833876
>>33186
Долбоёб, я просто не знаю, что еще сказать, потому что у меня такой хуйни не было никогда. Отношения переустановка JDK к переустановке шинды не имеет никакого, потому что я предположил, что он хуёвую сборку скачал или она криво установилась, что может произойти с любой программой.
671 2833882
>>33876
Долбоеб, тебе уже сказали дать полный стектрейс, но ты продолжаешь нести хуйню.
672 2833883
>>33882

>тебе


То есть ему.
sage 673 2833907
>>33876
JDK ZVER CD СКАЧАТЬ БЕЗ РЕГИСТРАЦИИ И СМС С LETITBIT
674 2833936
>>33907
В том, что васяны делают васянские сборки виновата не jdk.
sage 675 2833965
>>33936
ЗАЧЕМ МНЕ НУЖЕН ШАРП, У МЕНЯ НЕТ ВРЕМЕНИ, ЧТОБЫ ЕБАТЬСЯ С НИМ
676 2833992
Вот допустим у меня метод который вызывает другие методы

void method(){
do();
do2();
do3();
}

Если в do2 будет исключение,то метод продолжится или нет?
677 2833995
>>33992
Сам-то как думаешь?
image.png18 Кб, 566x261
678 2834005
Джавапидоры, поясните новичку, нахуя мне нужен valueOf если есть уже готовый toString который и так вызывается под капотом valueOf
679 2834006
>>33992
Нет, конечно, сама суть исключений в том, чтобы прерывать выполнения методов вверх по цепочке вызовов, пока исключение не будет перехвачено. И после перехвата к этому методу программа не вернётся, она продолжит выполнять инструкции там, где исключение перехвачено.
Научись сам проверять изученное, вместо do3() напиши System.out.println("here"), если в консоль что-то выведется, значит, метод продолжил выполняться, иначе нет. В будущем вместо вывода в консоль научишься пользоваться дебаггером.
680 2834007
>>34005
Джавапидор, нахуя ты тут спрашиваешь, будто в этом треде этот язык придумали?
681 2834008
682 2834009
>>34005
Ты тролишь нахуй? У тебя на скрине сука примитив, который не имеет методов. Так, для восьми примитивов свои классы обертки, для обжектов внутренний метод.
Для автобоксинга в строку при кокатенации тип 1 + "123" нужен однообразный класс, который полимрфно решит, что и как.
1 + "123" = String.valueOf(1) + "123"
Также велика вероятность, что этот метод может во время рантайма меняться.
683 2834017
>>33995
>>34006
Лан,мне просто гуглить было лень
684 2834020
>>34009
нихуя ты умный, сам догадался?
685 2834032
>>34005
Низачем.
686 2834055
В хибернейте saveOrUpdate, он race-condition безопасен? Возможно ли что произойдёт коммит другой транзакции в момент сразу после select.
Или оно через контекст работает? Тогда для корректной работы с базой может работать только одна приложуха и только через хибернейт?
ff.JPG15 Кб, 641x193
687 2834058
>>34009
Пиздос, что за долбоеб решил туда значение захардкодить, вместо пустой строки.
688 2834081
>>34058
А что не так?
689 2834252
>>34058
Пустая строка и null два разных случая. Ты ещё NaN в ноль преврати.
>>34055
А он разве не просто на null проверяет id? Откуда там селект?
690 2834266
>>34252
а как он узнает нужно генерить insert или update?
691 2834274
>>34266
Я тебе уже сказал. По id. Мол вот если null, то это новый обжект, иначе уже существующий.
692 2834595
Использую либу которая использует другу плюсовую через JNI. При попытке собрать проект получаю Can't find dependent libraries. Че делать? В инструкции ничего про это не написано
693 2834627
>>34595

>В инструкции ничего про это не написано


Нет ну если не написано... То в шарп только остаётся идти
изображение.png19 Кб, 656x193
694 2834631
>>34627

>2834627


Я даже через прогу посомтрел че ей надо. Ей нужен пик. Но я же не могу каждый раз либу ручками добавлять. Как быть?м
695 2834644
>>34252

>>Пустая строка и null два разных случая.


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

>>Ты ещё NaN в ноль преврати.


Так этот и есть аналог того что ParseInt(null) возвращал бы 0 или еще какое нибудь особое число.
696 2834652
Последняя строчка инструкции говорит "Add the shared libraries within ./build/ to your application's classpath." Я это вроде сделал в intellij через project structure -> libs. И после этого у меня либа даже находится во время сборки, но дальше падает с " Can't find dependent libraries"
697 2834776
>>34644
Тебе б в жс с такими ахуительными идеями. Или ты оттуда как раз?
698 2834832
Ребят сказали сделать приложение графическое на java, с открытием редактированием созданием и удалением баз данных( например mysql), подскажите с чего начать.
699 2834845
>>34832
Swing+JDBC
700 2834851
>>34845
Свинг сдох. JFX уж лучше
701 2834877
>>34851
Раз на то пошло, десктоп как таковой мёртв, за исключением игор и всяких CAD.
702 2834996
>>34595
игьз
703 2835051
>>34851
>>34877
Понял спасибо
2bd222ea6bd63c5654bcec642f866728.jpg45 Кб, 450x337
704 2835060
ИНСТРУКЦИЯ
705 2835065
>>35060

> инструкция


> ряяяя рашкинские скуфы с завода


> туториал


> ОМНОМНОМ

706 2835067
>>35065
Мурзилка.
707 2835073
708 2835096
image.png1,2 Мб, 1080x1080
709 2835110
>>35060
ГАЙД
710 2835182
>>34776
Явное поведение вместо неявного это теперь про жс, а не про жаву?
711 2835202
>>35182
Где здесь неявность-то бля? Тебе явно логгируют null вместо "". Причём, если к тебе пришло "null" то это не null и не пустая строка.
А вот ввести NaN и в инты пиздец нужно, конечно. Как мы живём-то без этого. Только undefined не хватает.
712 2835253
>>35202

>>Тебе явно логгируют null вместо


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

String.of(null) и String.of("null") не должны жавать одинаковый результат.
713 2835385
>>35253
Ну делай так
valueOf(new String(null)) == valueOf(null)//false
"null" == valueOf(null)//true
714 2835469
>>35385

>>Ну делай так


вот и я о том что теперь надо костыль писать и за долбоеба который в ждк насрал
715 2835552
>>35469
Какой же ты... Ну где тебе надо костыль писать? Даже json парсеры хуину забили. У сюка, отняшил бы ворчуна
716 2836450
>>35253

>String.of(null) и String.of("null") не должны жавать одинаковый результат.


Должны.
717 2836451
>>36450
Причем это, между прочим, доказывается простым логическим выводом. Это даже не вопрос дизайна языка, это вопрос понимания математики.
718 2836726
Пупунечки мои,у вас все хорошо? Никто вас на работе не обижает?
719 2836729
>>36726
Меня никто не оценивает((
Обнимешь?
math.mp42,9 Мб, mp4,
720x576, 1:57
720 2836855
>>36451
Ты из жс чтоли?
Каким образом у тебя null равен строке со значением?
721 2836928
>>36729
Или сюда,бедная пупунечка
722 2837038
>>36855
Таким, что ты сам захотел это сделать, переведя всё что угодно, в том числе строку, в строку.
723 2837192
Спасите, помогите. Не шарю в микросервисах. Дали проект, конфиг-сервер и эврика-сервер подняты, на каких-то портах, на локалхосте. Пытаюсь обратиться к ним из фича-сервиса. В аппликейшен-проперти в фича-сервисе написано, создателем этого всего, spring.config.import=configserver:http://localhost:8888. Если я через павершелл пингую, этот адрес он отвечает. Но когда я пытаюсь поднять фича-сервис падает с эксепшеном. Failed to configure a DataSource: url attribute is not specified... Чё ему надо? Квда смотреть?
724 2837299
>>37192
По той инфе что ты дал, можно однозначно сказать только то, что твой сервис не знает, где находится его БД, так как ты ему url к БД не отдал. Может в конфиге на КС его добавить забыли - хуй знат. Инфы мало дал.
725 2837343
>>37299
Я понимаю, что нет бд. А какая инфа ещё нужна? Есть пэкедж services, в нем конфиг-сервер, еврика-сервер, и пэкедж config->dev->фича-сервис-проперти. В этих проперти прописаны пути к бд. Конфиг-сервер, еврика-сервер крутятся, локально. Пытаюсь поднять фича-сервис падение.
726 2837410
Есть докер компоуз файл с двумя сервисами: спринг-бут приложение и постгрес. Допустим все настроено правильно, по команде докер-компоуз ап все стартует и работает нормально. Теперь нужно внести изменения в код спринг-бут приложения. Я правильно понимаю, что после этого нужно перепаковать джарник (mvn:clean package). Потом пересобрать образ и перезапустить докер-компоуз? Это все занимает много времени. Если приложение уже протестировано локально, тогда это делается один раз. А как разрабатывать сразу с докер-компоуз? Сразу извиняюсь, возможно непонятно написал.
727 2837485
>>36928
Спасибо... Люблю вас, няши.
728 2837515
ставишь базу локально на твой комп.
В идее открываешь проект и задаешь в переменные окружения адрес и порт твоей базы. При изменении перезапускаешь приложуху в идее. Плюс появляется возможность дебага и запуска тестов
729 2837707
>>37515
Если это ответ сюда >>37410 то я так и делаю. Просто думал есть какой-то другой способ, без установки базы данных локально.
image.png17 Кб, 719x320
730 2837796
это пиздец блядь
image.png12 Кб, 655x112
731 2837806
732 2837811
>>37796
Вот скокро в жабку завезут фуловый патерн матчинг, а не вот эту вот обрезаную хрень. Заживеееем.
>>37806
:3
733 2837813
>>37796
К слову, в свинге у Area есть метод для подсчета площади. То что здесь написано - хуйня.
image.png25 Кб, 1136x74
734 2837817
ебало?
735 2838105
Подскажите пожалуйста, почему нейронные сети преподносят phyton к небесам ?
736 2838201
Поясните за топ конторы, которые работают с Java.
Очевидные Яндекс, Тинькофф, Сбер, Озон, vk, Альфа. Кто ещё?
Где ЗП выше рынка, где ниже?
Кто больше других дрочит на собесах? Тинькофф, говорят, возомнил себя Яндексом и требует алгоритмы. Что по остальным?
Хочу сразу спланировать направление, в которое буду развиваться, чтобы через годик-два херки текли от моего резюме.

Ну и можете напилить своих прохладных про работу в этих компаниях.
737 2838202
>>37796
Такого нету прямо щас, что-ли?
738 2838203
>>38201
Сосачую реквест.
739 2838205
>>38105
Потому что занятие дегенеративное и занимаются им дегенераты, которые ниасиливают ничего, кроме петухона.
740 2838208
>>38201
Давно в вк жаба-то? Она ж в днокласниках.
741 2838209
>>38208
ВП тоже на жабе.
742 2838210
>>38209
Бредишь что ли? Че они тогда в жпоинтах не учувствуют?
743 2838213
>>38210
Я чё, ебу? Может не по статусу барину и Королю Индустрии участвовать в каких-то холопских забавах. Вот вакансии у них на жабу, тысячи их: https://team.vk.company/search/?search=Java
744 2838214
>>38213
Контора от алишерки и король? АХахахахах, ебать. Жетбрейнс больше подходит под это звание, но они свалили.
745 2838215
>>38214
Я не говорил, что они короли, просто они могут себя такими считать. И не в плане королей джавы, а в плане крупнейшей и фактически единственной после начала гойды сосальной сети в пидорашке.
746 2838216
>>38215
Все перечисленные тобою конторы, окромя вк, учувствовали в жпоинтах. Крупнейший банк, крупнейший поиск и тд и тп.

>фактически единственной


В мечтах разве что.
Вот даже по твоей хуйне, это сервисы от мейла и андроид. Ну вперед, че. Только это не вк, а говнецо от мейла.
747 2838383
Подскажите пожалуйста, как написать резюме?
748 2838386
>>38201
А с phyton работают ?
749 2838409
>>38383
С ххру импорт сделай
750 2838818
Ура ребята меня переводят с проекта на 5 джаве на допиливание легаси системы на груви 2, я щас кончу...
751 2838832
>>38818
С герыча на метадон
752 2839072
>>38201
Хуавей. Хедхантер.
Из крупных еще МТС вроде ничего. Х5 вроде не так плохи.
В озоне джавы нет.
Но после ухода жидбрейнса, оракла, райфа и дойчебанка единственным местом с большой компетенцией по жабе остался тинек.
753 2839078
Какая разница между этими двумя случаями:

1)Вызов метода webClient (асинхронный)
2)Вызов метода restTemplate из метода,который помечен @Async
754 2839081
>>39072
Тинек дрочат алгоритмы и при этом делают неустойчивую парашу. Работать у таких лицемерных выродков это позор
image.png20 Кб, 728x169
755 2839218
>>39078
Старье пишут.
756 2839263
>>39078
Нет разницы
757 2839336
>>39218
Пиздаболы ебаные,ведомые пидорасы,в новых версиях будет RestClient. Тот же самый темплейт без изменений,но с новым названием. Омномном зато не деприкейтед это другое омномном
758 2839337
>>39218
Да и я обычный рест темплейт вызываю,а не асинк
759 2839447
>>38201
В pdf ?
760 2839506
Есть простые объекты. Хочется их сохранять и читать из файла. Формат не бинарный, а json, xml, что угодно. Как правильно?
761 2839516
>>39506
Качаешь парсер и все. А вообще есть sqlite
762 2839540
>>39506
Сохраняй, как угодно. Какая разница? Лишь бы java serialization не использовать.
763 2839592
>>39506

>json, xml



Jackson - твое решение. Создаешь ObjectMapper, настраиваешь если нужно, и сохраняешь/загружаешь свои обьекты хоть в строку хоть в файл, хоть куда.
764 2839603
>>38105
Со свечкой не стоял, но предполагаю что эта кухня плотно прижилась в питоне благодаря Jupiter Notebook. Последний обнулил порог входа до уровня экселя.
765 2839625
это нормально что я не понимаю о чем вы в 80% постов?

мимо джава-джунчик
766 2839651
>>39625
Я понимаю все посты, но как же много тут даунов.

мимо мидол
767 2839654
>>39651
И кто даун?
768 2839664
>>39337
А как аннотация работает? Я думал она готовое берет, а не сама реализует. Типа как с транзакциями: проще делегировать jta.
769 2839670
>>39654
Да хотя бы аноны, кормящие шарпоблядей.
770 2839672
>>39670
Угу, а кто ещё?
sage 771 2839697
>>39672
Твоя мамка.
772 2839733
>>39697
Парень бросил...?
773 2839736
А как запретить изменение полей? Вот я сделал класс который хранит описание задачи. Я не хочу, чтобы какой то еблан изменил это, потому что задача по ходу выполнения никогда не меняется. Но у если наружу торчит string, то как запретить менять это поле?
774 2839737
>>39664
Хуярит прокси над методом и выносит в отдельный поток,для асинк потоков есть отдельный эксекьютор сервис сингл че то там эксекьютор сервис
775 2839739
>>39733
Назвали пупуней
776 2839742
>>39736
Сделать поле файнал епта,еще и класс можешь тоже финальным сделать чтобы от него унаследоваться никто не мог. Плюс если ты не сделаешь сеттеры то и менять будет нечем
777 2839747
>>39737
СимплАсинкТаскЭкзекьютор,во ебать
778 2839754
>>39747
М, точно. Ну это вряд ли тоже самое, что и у вебклиента. Тк в последнем верояяятно нет блокирующего кода, а значит натив треды не простаивают.
С лумом на это поебать будет, конечно.
779 2840378
А можете подсказать как мне триггер в бд оформить?
Вот я insert массив данных они соответственно group by к какому-то FK. И мне нужно каким-то образом гарантировать, что общая сумма числового столбца в этой группе равна какому-то числу.
Скажем
A(
id integer,
primary key(id)
);
B (
id integer,
num bigint,
a_id integer,
primary key(id)
)
A.id one-to-many B.a_id;

И я хочу гарантировать, что
select sum(b.num) from B b group by a_id
Всегда будет содержать массив из одинаковых значений, скажем "500".

Пока думаю навесить триггер на все dml кроме select. И тут два пути или делать первый insert из максимального значения(тут 500), а потом заполнить нулями. И через n update сделать нормальные значения.
Или как-то по особому определять момент, что пакетные данные вот точно загружены. Флаг куда-то добавить или табличку со значениями FK пока не знаю.
Как лучше поступить, пупуни?
image.png56 Кб, 744x560
780 2840441
>>40378
Хм, судя по всему надо второй подход через какие-то temp таблички делать. Ммм, ну и хуита.
781 2840861
>>40441
Твоя задача изначально ёбань какая-то.
782 2840892
>>40861
Да и сам он пидорас скорее всего. Иди ка ты нахуй,пидорас,с такими вопросами
783 2840915
>>40861
В чем ебань?
>>40892
Ты не няшный, не пойду я к тебе.
784 2840943
>>39625
>>39651

>мимо


Значение знаете?
785 2840957
Пишу игрушечную стистему сборки. И хочу вести лон процесса сборки. На сколько норм пропихнуть лог через несколько классов внутрь? Звучит как хуйня полная. Но как иначе?
sage 786 2840959
>>40943
Знаем, иди нахуй.
787 2840971
>>40378
Опиши человеческо-бизнесовым языком - что делаешь? Может на самом деле тебе нужно вообще не то, что ты описываешь?
788 2841009
>>40957

>На сколько норм пропихнуть лог через несколько классов внутрь?



Это как?
789 2841011
>>41009
У меня есть класс самой системы сборки, класс задачи сборки, класс всех задач сборки. И пихать лог через это все нет желани
790 2841013
>>41011
Я сейчас думаю, что наверное и не буду это делать. Буду только ошибки логгировать, а их через исключения пробрасывать
791 2841023
>>41011
Я не врубаюсь, что значит "пихать лог". Ты руками чтоли логируешь, прям в стрим файла лога? Если так, то не еби себе мозг и возьми уже slf4j. Откроешь по логгеру в каждом классе и отлоггируешь все что нужно без гомопропихонов.

>>41013

>Буду только ошибки логгировать



Плохая идея, потом сам об этом пожалеешь. Логируй все, что может представлять интерес. Если заботит перформанс, уводи часть логов в трейсы, за проверку isTraceEnabled/isDebugEnabled, и включай/выключай трейсы конфигом.
792 2841117
>>40971
Если я опишу вы не будете мне помогать. Знаю я вас... Уже хеем вон обзывают. Давай так, я опишу, а ты точно хоть чем-то мне поможешь, м?
793 2841123
>>41117
Бля буду.
1694696544490.jpg287 Кб, 1080x1829
794 2841131
>>41123
Ты же не он, да?

Ну в общем поле с числом - это шанс выпадения. Для формулы сумма всегда должна быть равна 100 или 1.
Иначе говоря, есть n предметов у каждого есть свой шанс выпадения и я не хочу допускать ситуации, как в той новости, когда насчитали 146%. Я могу со стороны ресурс сервера это гарантировать, но в одной книжке писали, мол если на уровне бд нет валидации - ваши данные хуйня, тк строятся на хрупких гарантиях консинстентости.
Реальные данные на пике и поле соответственно - percentage_wining.
795 2841136
>>41117
Бояться быть покрытым хуями - в интернеты не выходить. Что ты теряешь, кроме собственного достоинства, которое разрабам вообще не положено?
796 2841143
>>41131

>Иначе говоря, есть n предметов у каждого есть свой шанс выпадения и я не хочу допускать ситуации, как в той новости, когда насчитали 146%



Отлично, примерно это я и предположил.

А ты возьми и храни не проценты, а веса. А вероятность получай уже постфактум, путем деления веса на их общую сумму. И ничего валидировать не придется. Не?
797 2841154
>>41136
Я няша, меня не кроют хуями. :3
Просто боюсь, что у меня тут слишком специфичная репутация и из-за нее игнорить могут.
>>41143
Деление операция которую я вообще не хочу допускать. Какая-то 1/3 непредставима в BigDecimal.
798 2841166
>>41154

>Просто боюсь, что у меня тут слишком специфичная репутация и из-за нее игнорить могут.



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

>Какая-то 1/3 непредставима в BigDecimal.


А по твоему numeric в БД - это другое, чтоли? И во что ты собрался десериализовывать эти вероятности при извлечении?

Никакого пресижена ты априори не потеряешь, храня целочисленные веса. А там уж чтобы приготовить омлет, яйца однажды придется разбить во что-то.
image.png47 Кб, 719x320
799 2841202
>>41166
Да не будет ниче.

Угу, другое. Я использую там только сложение, а значит не теряю точность. Деление единственная операция, при которой неясен результат, поетому туда можно запихать mc.
Проще говоря, 1/3+1/3+1/3 != 1. А в бд я не могу запихать 0.3333... три раза таким образом, чтобы они не дали суммы равной в один. Т.е. при поствычислении можно запихать бесконечные дроби, а если пихать именно шанс, то дроби всегда конечны.
800 2841269
>>41202
Да что ты говоришь. О чем еще мне расскажешь, о машинном эпсилоне?

Открой доку по numeric у своей БД (предположим что это постгрес). Затем открой джавадоку по BigDecimal у джавы. Сравни, найди различия. Открой для себя тот факт, что оба - ни что иное как arbitrary-precision numbers. Обрати внимание что максимальный пресижен что у numeric в постгресе, что у джавы имеет конфигурируемые и предельные лимиты, и mc можно "запихать", как ты выразился, обоим.

И не рассказывай больше сказки о том что "это другое".
801 2841306
>>41269
Блин, я правда так плохо объясняю что ли~
Ммм, на данный момент у меня нет в формулах деления, а значит и потери точности. И изначальная гарантия, по тому, чтобы сумма шансов была равна 1 или 100 с делением будет вообще недостижима, максимум в какой-то области, мол 1±mc, а это слабая гарантия.
802 2841338
кто нибудь сталкивался с приемом RTP, а в частности DTMF? ебучий JMF не поддерживает его из коробки, в апи гайде написано, что можно вкорячить туда свой payload type, но, сука, не написано как...

может кто то уже с этим ебся и что то подскажет?
803 2841364
>>41338
Расшифруй аббревиатуры брат, я джун...
804 2841375
>>41364
rtp - real time protocol, типа голос, в этом случае
dtmf - Dual-Tone Multi-Frequency, передача циферок во время звонка, тут речь идет про rfc2833
jmf - java media framework, фреймворк для всей этой хуйни
я тоже друн, брат
805 2841378
>>41306
Ну допустим.

И че, прям долей процентов у тебя тоже вообще никогда нет? Всегда целочисленное число от 0 до сотни? Че вообще ты с ними делаешь, с этими процентами?

И как ты выражаешь в процентах случай, когда у тебя три кейса с равной вероятностью выпадения (33.3333...%)? Че пишешь в numericи эти свои (не надо здесь о том что "в бд я не могу запихать 0.3333... три раза таким образом, чтобы они не дали суммы равной в один" - если в БД у тебя unconstrained numericи, это еще не означает что они там представлены как то по особенному)?

=====

Ну и ок, если тебе не нравятся веса (я могу понять чем они могут не нравиться, без бузы. Например, тем, что при добавлении/удалении этих весов вероятности гулять будут у всех кейсов), вот что я тебе скажу в ответ на этот вот кусок твоей постановки проблемы >>41131:

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



В этой же книжке по совести должны были написать, что консистентность консистентности - рознь, и она бывает вообще разная, в зависимости от постановки проблемы и требований к системе. В том числе - eventual. Где есть нормализация, случается и денормализация. Консистентность очень часто сознательно ломают во имя прочих плюшек. Микросервисная архитектура вся строится литералли на на идее о разбиении монолитной схемы на bounded contextы с потоками эвентов между ними. Поэтому скорее всего нет ничего зазорного в том, чтобы заниматься валидацией таких кейсов, как у тебя, со стороны сервера. Если ты понимаешь, что делаешь и знаешь свою СУБД.
806 2841394
>>41375
Я бы сконвертировал голос в base64 и передал бы в джейсоне по ресту.
джуно макака
807 2841399
>>41394
не покатит, во-первых, это sip клиентпочему я сразу это не написал..., т. е. все протоуолы уже описаны и есть оборудование, которое по этим протоколам работает, а во-вторых, рест это tcp, соответственно, задержки
808 2841410
>>41378

>И как ты выражаешь в процентах случай


Логично, что никак. Абсолютно не мои проблемы. Я дал точность, допустим 2 знака после запятой. Вот пиши "0.33", "0.33", "0.34". Естественно я могу дать и 38 знаков после запятой. По сути те, кто проектируют шансы должны скушать вот это вот ограничение, а сильная гарантия останется.

>должны были написать


Вообще там много разного написали - пик1. А по поводу нормализации и прочего - это не моя экспертная область, вон даже пишут: спросите админа.
В общем пофиг, я уже написал темп таблички через апи Work хибера. Будет какой никакой опыт.
809 2841414
>>41306

>с делением будет вообще недостижима, максимум в какой-то области,



И кстати, вот это вот твое "недостижима" - вопрос очень относительный. Потому что весь прикол arbitrary precision numbers именно в том, что в отличие от классических плавающих точек с фиксированной длиной, ты сам определяешь путем presicion и scale величину того самого "плюс-минус". И эта область может быть запредельно микроскопической, в ущерб скорости вычислений. Поэтому давай избавляйся от этих своих стереотипах.
810 2841421
>>41414
Ууу, а темп таблички бьют по перфомансу? По сути ж они будут использовать раз в никогда админами сайта.
Ну по сути я хочу гарантировать без плюс и минуса. На данный момент я могу это осуществить и вроде без потерь по перфомансу, но даа пришлось в jdbc залезть.
811 2841424
>>41410

>Логично, что никак. Абсолютно не мои проблемы. Я дал точность, допустим 2 знака после запятой. Вот пиши "0.33", "0.33", "0.34". Естественно я могу дать и 38 знаков после запятой. По сути те, кто проектируют шансы должны скушать вот это вот ограничение, а сильная гарантия останется.



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

>В общем пофиг, я уже написал темп таблички через апи Work хибера. Будет какой никакой опыт.



Дело твое. Чужие сексуальные фетиши - не предмет для дискуссий.
812 2841431
>>41421

>Ну по сути я хочу гарантировать без плюс и минуса.



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

https://www.postgresql.org/docs/current/datatype-numeric.html#DATATYPE-NUMERIC-DECIMAL

>The maximum precision that can be explicitly specified in a numeric type declaration is 1000. An unconstrained numeric column is subject to the limits described in Table 8.2.


>If the scale of a value to be stored is greater than the declared scale of the column, the system will round the value to the specified number of fractional digits.

813 2841432
>>41424
Правила округления будут на уровне ресурс сервера, а не бд. Т.е. данные не однозначны. Хотяя, можно и их запихать в бд, наверное.

>не предмет для дискуссий


В плане... Как же так
814 2841448
>>41431
Если даже из-за правил округления бд 0.33333333 ушло в 0.34, то триггер проверит, а точно ли сумма будет равна 1. Если нет, то пошлет нахуй.
По сути с таким правилом неважно какие округления были до записи, главное, что записано все однозначно и консистентно. А значит при чтении не возникнет различных интерпретаций.

А вот кстати по поводу смешения процента из-за добавления, вообще это как фича, тк на данный момент я не придумал как мне сделать PUT.
815 2841459
>>41448
Да нихрена он не проверит! Если у тебя scale=1, твой триггер даже не увидит эту четверку в конце. А если scale>1, ты эту четверку на конце априори не получишь, и триггер будет просто вхолостую заниматься хуйней.
816 2841470
>>41459
Блин, ну вот увидим. Ты главное подожди - вот допишу все ddl. Я ведь помню мне тут не верили, что хибер не будет мне генерить декартовых произведений.
817 2841472
>>41459
И пасиба, к слову, няша.
h2mem.jpg297 Кб, 1920x969
818 2841585
Почаны, научите ебаться со Спринг-бутом.

Как понять, почему он мне не создает базу по конфигу, а создает рандомную херню хуйми пойми где? Консоль h2 вообще ищет базу в корне системы (C:\users\..).
819 2841694
ахаха блять пиздец
820 2841698
Мне нужно протестить сборку проекта на джаве с зависимостями. Поэтому справшиваю какую самую простую либу для Java вы знаете? Нужно что то очень простое, как isOdd для js
821 2841713
>>41698
Жавакор потести. Вообще у меня есть либа с тестами, но там JMH( https://github.com/openjdk/jmh ).
изображение.png168 Кб, 888x279
822 2841734
Я правильно понимаю, что java при запуске все эти классы в виртуальную машину скармливает? И че это за доллар в классах?
823 2841738
>>41713
спасибо
824 2841744
>>41734
Не, сначала класслоадер их загружает. Вложенные классы.
825 2841826
>>41744
А как мне запустить вот это вот ручками?
826 2841827
>>41826
Создаешь класс с main методом. Запускаешь java "имя класса"
Дальше все само.
827 2841831
>>41827
Так main уже есть в каком то классе
828 2841886
>>41694
>>41585
Спасибо за помощь, пидоры
829 2841969
>>41886
Обращайся.
830 2842225
>>41585
Всё оно тебе по конфигу создаёт. Задал h2, и получил h2.
831 2842228
>>41886
А ты откуда это взял вообще? Комментарии вон даже имеются.
832 2842247
Пупунечки,готовы хорошенько отдохнуть на выходных?
833 2842258
>>42247
Я свою фигню доделываю, так что нет...
834 2842295
>>41826
Через JShell, класспаф толлько подготовь сначала
835 2842305
>>42225
В конфиге я прошу создать базу в памяти (mem), но Спринг забивает на этот конфиг, как и на type, где я прошу использовать h2 pool.
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#data.sql.datasource.connection-pool

spring.datasource.type=org.h2.jdbc.JdbcDataSource
spring.datasource.url=jdbc:h2:mem:bugtracker

Спрингу похуй и он стартует своим дефолтным Hikari. Доходит ли он до моей инструкции или нет?
КАк этот Спринг дебажить вообще, не понимаю.
836 2842323
>>42305

>Спрингу похуй и он стартует своим дефолтным Hikari. Доходит ли он до моей инструкции или нет?



В спринге нет инструкций. В спринге - конфигурация (описываемая аннотациями и записями в конфиге).

>КАк этот Спринг дебажить вообще, не понимаю.



Я бы в код стартеров полез. Скорее всего, у тебя либо прямыми, либо транзитивными зависимостями вытащился какой нибудь конфиг с дефолтным кондишенал бином на хикари с рандомной H2 базой. Надо найти эту декларацию и прибить.
image.png99 Кб, 930x517
837 2842334
Наконец-то доделал, вроде. Пришлось дробить еще методы, тк ddl транзакции сносит, а dml мне тоже нужен и не хочеца самому весь персистенс контекст инсертить.... Хотя, надеюсь, что flush не убивает транзакцию и роллбэк все еще возможен.
838 2842376
>>42323
Да, вполне возможно. Спасибо за подсказку, друг!
839 2842414
>>42295
Рахобрался, спасибо. У вас все очень просто устроено, кайф
840 2842433
>>42334

>for each в 2033


Поток
.создать(ФабрикаМочи::моча)
.фильтр(Тепленькая.какПредикат())
.лимит(Литр.из(2))
.собрать(вВедро(Ведро::новое))
.плеснуть(форичОпущенец.лицо())
841 2842437
>>42433
Ты пидор.
842 2842453
>>42433
Фор быстрее стримов и во многих случаях читабельнее.
843 2842477
>>42433
У меня задача не создать новые обжекты, а их имя запихать в контекст. Это делается так или иначе через foreach. Где ты его возьмешь: в стриме, в коллекции, через iterable - сути никак не меняет.
Мне бы посмотреть как тут транзакции работают, а вот на такие мелочи абсолютно плевать.
844 2842499
>>42258
Пиши дурачок,получишь значок
845 2842502
>>42499
Я не дурачок. Извинись ~
846 2842504
>>42502
Дибильный
sage 847 2842518
Блять весь тред засран потугами неумелого хуесоса который какое-то ебанный в рот казино делает. Нахуй вы тут вообще существуете, джаваны?
848 2842527
>>42518
Почему неумелого-то...
image126 Кб, 900x900
849 2842532
>>42518

>sage в имени

75d5a74bf8cc87600a2e482490b7b239.jpg91 Кб, 975x720
850 2842536
>>42334
На строке 35 мы отправляем в сеттер пожеванный результат из геттера, я правильно понимаю?
Строка 40 - final tempTable ()нет ничего более постоянного, чем временное)
851 2842545
>>42536
Сравни до после. Цель была в пик 3.
Файнал, чтобы точно никто не поменял значение. Но так-то jvm ее и так считает final.
852 2842750
Пытаюсь собрать java из консоли. Есть ли способ не прописывать при сборке вообще все файлы? Почему он не может их сам найти, они же импортятся через пакеты, можно по папкам пройтись и все?
853 2842759
>>42750
Да, Maven.
javac -sourcepath
854 2842787
>>42759
Пасибки
855 2842824
пидарасы почему всего одна либа для парсинга jsonpath на всю яву существует?!?!?!
856 2842828
>>42824
Зачем тебе две либы с одинаковыми задачами и разными названиями? Чтобы что?
857 2842833
>>42828
jayway нихуя не делает то что мне нужно
падла заприватила классы парсера
858 2842836
>>42833
Форкни и распривать.
859 2842845
>>42836
Можно же рефлекшеном расприватить, не? Другое дело, что если они запривачены, значит и никаких гарантий нет. Мб он делает что-то не так, раз они понадобились...
860 2842879
>>42845
Рефлекшен медленный.
861 2842884
>>42879
А пруфы будут? Насколько я помню, там оптимизировали ряд методов.
862 2842904
>>42845
как я тебе классы распривачу?
863 2842921
>>42884
Ну так один хуй не оптимизировали до скорости обычного вызова. Всё ещё раз в 5 медленнее.
864 2842926
>>42879
Жаба вообще не особо быстрая.
865 2842929
>>42921
Тесты неси, хуйлуш.
>>42926
Смотря как мерять.
image.png81 Кб, 923x708
866 2842931
>>42904
Вот так можно, но мне впадлу тут мараться с этой защитой. Думаю у тебя ее нет.
867 2842932
>>42931

>Object


по кайфу ебать
868 2842934
>>42932
Ну тк да. Потом каждый вызов метода в приватном классе будешь оборачивать рефлекшеном.
vvv.mp48,7 Мб, mp4,
1280x1024, 2:03
869 2842961
>>41470
В общем потестил наконец. Вот говорил же, что все ок будет. Так что.
870 2842992
>>42929
Принёс тебе за щёку, проверяй.
871 2843000
>>42992
У меня принцип: сосать только няшные члены. Очевидно ты не подходишь. Кыш
872 2843026
>>43000
Пидорас как всегда о хуях.
image.png56 Кб, 957x546
873 2843041
>>43026
Угу. Ну короче поискал за тебя. https://blogs.oracle.com/javamagazine/post/java-reflection-performance
Парируй, геюш
874 2843444
>>43041
Ты бы хотел сначала понюхать мои яйца или ты собираешься сразу начать их вылизывать?
875 2843466
>>43444
А можно просто в кроватке понежица?
876 2843584
>>43466
Нет
877 2843876
>>43584
Ну почему вы все такие буки
878 2843882
879 2843887
>>43882
В жидбрейнсе тоже есть отдел по этой херне. А че пиздец-то?
880 2843893
>>43887
там типа нписали сервер который возвращает самуб популярнубю песнюб года а он тупо ошибается все время в исполнителе или альбоме
881 2843895
>>43893
Ну то не проблемы спринга, кмк.
882 2843916
>>43895
нахуя интегрироваться с тем что работает через жопу? это удар по репутации
883 2843921
>>43916
Удар по репутации - это лог4. Тут же похуй+похуй.
884 2843963
fleet это позорище блядь
885 2844108
Java 21 это новая Java 8.
886 2844110
>>21436
Вот этот прав.
887 2844132
Java 17 это новая Java 8.
888 2844137
>>44132
Не, нихуя. Java 17 это бета-версия Java 21.
889 2844146
Ставлю анус, после выхода java 21 о 17 и тем более 11 все забудут, как и не будут думать о переходе на новые версии, потому что всем будет 21 хватать. Потому и повторится ситуация с 8, когда все поголовно на неё перейдут резко и на ней застрянут, и не начнут переходить дальше, пока уж совсем жопу печь не будет.
890 2844153
>>44146
Ты дурачок. Выше не переходили из-за модульной системы в ждк9.
891 2844157
>>44153
А тут не будут переходить, потому что нинужно.
892 2844161
>>44157
Проект вальхала где? Так что это не уровень 8. Ни тем более 5.
893 2844165
>>44161
Так вальхаллы ещё очень долго не предвидится, её нигде, кроме маняфантазий нет. Да и в целом она не так нужна, как свитчи и лум.
894 2844174
>>44165
Как раз обычные разрабы лум и не заметят. Он в кишках либ будет.
Свитчи это крайне редкий кейс. Это все ещё не лямбды. Или дженерики с jmm.
А вот то, что вальхалла не нужна вообще пиздец. Это переработка объектной модели жабы, что огромный шаг вперёд.
895 2844178
>>44165
Чем лум так хорош?
image.png819 Кб, 2083x1842
897 2844204
>>44179

>Thread Wars: проект Loom наносит ответный удар

898 2844220
>>44204
Один из лучших докладов так-то. Не гунди, пупунь.
899 2844460
>>44174

>Как раз обычные разрабы лум и не заметят. Он в кишках либ будет.


А это и не нужно, в этом и задача лума.
900 2844464
Скоро собес по Java/Kotlin. Нужны нюансы языка, вплоть до каких то знаний о байткоде, приколюках с системой типов, понимания как можно котлин в java компилировать и наоборот. Где брать материалы?
901 2844474
>>44464
Надеюсь тебя там обоссут.
902 2844475
>>44464
ПОЧЕМУ ОН, А НЕ Я???!!!!!!!!!?!??!!?!?!?
903 2844476
>>44464
"Скоро" это не учится. Придётся тебе отменить собес и провести год-другой в чтении спецификаций и исходников компиляторов.
904 2844485
>>44476
Эх, вот бы год другой в объятиях кунчега провести, а не вот это вот все
905 2844491
>>44476
Я знаю java на базовом уровне. Куда дальше копать то? Котлин вообще не знаю
906 2844492
>>44491
Ответь на пару вопросов.
String иммутабельный?
Если да, то почему в нем есть не final fields?
907 2844496
>>44492
String иммутабельный. А почему в иммутабельном объекте не может быть не final полей? Я не знаю как ответить на твой вопрос, потому что я не знаю какие там поля не final, но не удивляюсь тому, что они есть

Да и вообще. Я не прошу сейчас собес устраивать. Я вполне четкий вопрос задал вроде
908 2844499
>>44496

>А почему в иммутабельном объекте не может быть не final полей?


Это один из критериев. Иначе это де факто неизменяемый.

>Я вполне четкий вопрос задал вроде


Ну вообще у тебя пробелы в терминологии. Еще как видишь, ты не знаешь внутрянку жавакор.

>но не удивляюсь тому, что они есть


Читай effective java какой-нибудь. Лазай по сорцам кора. Потом можешь по сорцам jvm. Но правда хз, зачем последнее нужно, если только не в оракл идти.
909 2844500
>>44496

> Я вполне четкий вопрос задал вроде



Нет. В ответ на твою размытую постановку вопроса кроме JLS советовать вообще нечего.
910 2844502
>>44499
>>44500
Спасибо
911 2844514
>>44499

>>А почему в иммутабельном объекте не может быть не final полей?


>Это один из критериев. Иначе это де факто неизменяемый.



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

Определение иммутабельности шире, нежели чем тупо "класс у которого все аттрибуты - final". Иммутабельный обьект - это обьект с неизменяемым состоянием, каким образом достугнута неизменяемость состояния - вторичный вопрос. В стринге мутабельные поля к состоянию стринги не имеют никакого отношения - это просто штуки для всяких разных оптимизаций.
image.png75 Кб, 721x646
912 2844517
>>44514
Няша ты моя, а где я заявлял что это к стрингам относится? Я именно, что и спросил, почему они иммутабельные несмотря на это. Вообще в 17 этот момент хорошо так объяснили.
913 2844521
Дежурно напоминаю, что if — антипаттерн и java должна получить switch по boolean.
914 2844524
>>44517
Ну хуй знат, ты привел пикрилы и формулировку выкатил так, будто именно это и утверждал. Сам виноват.
915 2844529
>>44521
Блять, без малого с десяток лет уже нытье про эти сраные свитчи слышу, и вангую что когда их выкатят, все равно останется бухтежь аля "не так сделали".
916 2844532
>>44529
Ну так и остался, выкатили без свитча по булину.
917 2844536
>>44524
Эх, я вообще плохо мысли формулирую, знаю. Еще ты такая няша, нинаю. Настроение игривое что-то сегодня.
>>44529
Там примитивов нет. Не помню, что они ждут теперь или вальхалу или болт забили.
918 2844538
>>44532
Сука, вот че эти люди со своими синтаксическими амбициями в хаскель не перекатываются. Там весь спектр паттерн матчинг фич есть, и при этом максимально лаконичен. Такими темпами ща бы жили в мире, где ФП - мейнстрим и учится со школ.
919 2844540
>>44538
ФП для пары задротов математиков нужно. А жаба вечна.
920 2844543
>>44540
Все так. 95% людей заслуживают кровавый энтерпрайз в полной мере.
921 2844587
Поскорей бы джаву 21, буду на ней писать интеграционные коннекторы для проекта на java 5 и груви 2... жду не дождусь...
922 2844608
>>44587
груви гораздо лучше чем джава
923 2844612
>>44608
Пися гораздо лучше чем попа
924 2844704
>>44612
Это ты к чему? В груви есть LINQ (GINQ). Звучит почти как GIN-toniQ
925 2844707
>>44704
Не помню уже. У меня голова болит очень... Можешь погладить немножко...?
926 2844861
>>44608
Нет.
927 2845386
А как аллоцируется OOME?
928 2845521
Атак
929 2845546
Посмотрел пару докладов по реактивному спрингу и в обоих докладчики тонко намекают что у не реактивного подхода куча минусов. Отсюда вопрос почему асинхронщина не стала мейнстримом в тырпрайзе? Создаётся впечатление что это какая-то лютая имба которой почему то никто не пользуется
930 2845549
>>45546

>Создаётся впечатление что это какая-то лютая имба


Че такого имбового?

>тсюда вопрос почему асинхронщина не стала мейнстримом в тырпрайзе?


Пришел лум, на этом усе.
931 2845551
>>45546
у не реактивного подхода 0 минусов, они так говорят из-за job security
932 2845586
>>45549

> что имбового


Минус простои,использование всех доступных ресурсов приложения максимально эффективно
933 2845588
Лум это кал с запретом на синхронайзеды и тяжёлый код. Говорю как самый большой жаба-фан на сосаче.
934 2845589
>>45549
Плюс я имел ввиду почему мы достаем из базы листы объектов,а не флакс потоки? Почему мы отдаем с контроллера пачку объектов а не поток объектов. Так-то джава же язык на котором пишут системы, которые в 90% работают под серьёзной нагрузкой,а тут парадигма предлагающая эту нагрузку распараллелить
935 2845608
>>45588
Lock мощнее же. Или у тебя сильные просадки по перфомансу?
>>45586
Ну это можно достигнуть и без реактивщины. Больше скажу, с ней этого не достигнуть, ибо она лишняя прослойка.
>>45589
Вообще без понятия в чем разница между листом объектов и флакс потоками. Типа на последние ты можешь подписаться? Мол воот как достанете, пж верните в контроллер.
Ну обычный подход эту нагрузку ровно так же паралелит. Там проблема в другом так-то.
936 2845612
>>45608

>Lock мощнее же. Или у тебя сильные просадки по перфомансу?


Чем мощнее-то? Дело не в просадках, а в подходе. Зачем использовать более тормозящий инструмент, если можно использовать менее тормозящий? Алсо, синхронайзед покрасивше, чем лок с траем, намного.
937 2845616
>>45608
Получатель ждет пока ты этот лист сформируешь,минимализируем простой
image.png109 Кб, 842x522
938 2845618
>>45612
Да сук, где он тормозит-то... У синхронайзд больше перфоманс из-за оптимизаций со стороны жвм. Вообще мб в будущих поставках таки и эти блоки можно будет использовать в виртуальных потоках.

>Чем мощнее-то?


Пик. Ну еще можно гибче разграничивать захват и отпуск монитора. В разных методах, например. Правда это плохая практика, вероятно.
>>45616
Каво? Он как ждал ответа от бд, так и будет ждать. Нихуя не изменилось. Единственный выигрыш тут в том, что одновременно мы можем обработать большее количество пользователей. Типа платформенные потоки не будут заняты ожиданием ответа от бд. На этом йобапреимущества ректива кончаются.
939 2845644
>>45618
Так для бд есть ассинхронный драйвер
940 2845664
>>45644
Супер. Можно FJ заюзать, вместо реактива.
941 2845669
>>45618

>Да сук, где он тормозит-то...


В пизде. Заставил ты меня погонять бенчмарки. Синхронайзед быстрее в 4,25 раз, чем реентрант лок. На моём ПК оверхед на синхронизацию у synchronized был 0,05 нс, а у reentrantlock — 0,23 нс.

Benchmark Mode Cnt Score Error Units
LockTest.testReentrantLock thrpt 6 252364866,165 ? 1460780,585 ops/s
LockTest.testSynchronized thrpt 6 447342752,642 ? 6324130,282 ops/s
LockTest.testWithoutLock thrpt 6 589805446,040 ? 5718641,088 ops/s

Однако есть небольшой подводный камень. Такие результаты достигаются только при использовании биаседлока, который вот-вот к хуям выпилят соевые дегенераты, гадящие в джаву изнутри и который включается отдельным аргументом запуска джавы. Без него синхронайзед будет медленнее где-то на 25%.
942 2845681
>>45669

> Заставил ты меня погонять бенчмарки.


Ужс какой. Мне теперь натурой платить тебе? Кста, пакаж бенчи. Интересно же.
943 2845688
Блядь какой же кринж,борисов вместе с лысеющим додиком рассказывают про реактивный спринг на примере 1984. Ааааааааааа. Существует ли более соевый кринжовый доклад?
944 2845690
>>45664
Че за FJ
945 2845693
>>45690
ForkJoinPool
>>45688
Блять, это тред для нытья пупунь?
946 2845697
>>45669
Хуйню насчитал, забыл сделать вывод в нс/оп и проебался с десятками. Оверхед на сихнронизацию для реентрантлока и сихнронайзеда 2,261 нс и 0,547 нс соответственно, соотношение то же.

LockTest.testReentrantLock avgt 3 3,948 ? 0,538 ns/op
LockTest.testSynchronized avgt 3 2,234 ? 0,171 ns/op
LockTest.testWithoutLock avgt 3 1,687 ? 0,062 ns/op

>>45681
Православно спизжены от сюда: https://github.com/rbygrave/reentrant-vs-synchronized . Но я изменил количество форков с 2 на 1, чтобы быстрее было и добавил над классом вот это:

@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
947 2845698
>>45688
А борисов ещё делает отсылки на пыню и работает в израиле ааааааааааааааа какая атомная соя боже бляяяяяяя
948 2845736
>>45664

>FJ


footjob?
949 2845739
>>45736
Fucking Java
950 2845760
>>45697
М, насколько же у меня слабый пк палучаеца. На второй пикче чуточку переписал бенч. Можешь запустить? https://pastebin.com/h62qZU5f
951 2845783
>>45760
Всё точно также. Нечестность реентрантлока и не должна была изменить ситуацию, один поток тестируется жеж (в реальных ситуациях так всегда и происходит, очень редко два потока одновременно лезут в один ресурс, задача синхронизации предотвратить ебучие плавающие баги, когда случайно влезло два потока и все данные превратились в кашу).

Benchmark Mode Cnt Score Error Units
LockTest.testReentrantLock avgt 3 4,412 ? 0,227 ns/op
LockTest.testSynchronized avgt 3 2,652 ? 0,225 ns/op
LockTest.testWithoutLock avgt 3 2,018 ? 0,533 ns/op
952 2845795
>>45783
Он по дефолту нечестный. Суть в том, чтобы тестировался не ебучий инкремент, а псевдорандом.
Вообще странно, что у тебя синхронайзед крайне близко к нонлоку. Такое чувство, что там нет переключения контекста даже. Ебни потоков хотя б в два раза больше чем у тебя есть реальных.
Да и есть же разница. Не оч понимаю, как ты считаешь, конечно.
953 2845804
>>45795

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


А ты это читал?

>Однако есть небольшой подводный камень. Такие результаты достигаются только при использовании биаседлока, который вот-вот к хуям выпилят соевые дегенераты, гадящие в джаву изнутри и который включается отдельным аргументом запуска джавы. Без него синхронайзед будет медленнее где-то на 25%.



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


А какая разница? Хоть рендер изображения туда сунь, всё точно также будет. Тестируется же оверхед.
954 2846025
>>45804
Бля, какие же в jmh ахуенные сорцы. Только я так и не нашел, как именно реализована аннотация Threads. Ну да неважно...
955 2846033
>>46025
Правильно, не надо инстанциировать чёрные дыры, а то ещё землю засосёт.
956 2846073
>>45546

>Создаётся впечатление что это какая-то лютая имба которой почему то никто не пользуется



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

Адекватные люди асинхронщину берут в проект только тогда, когда это реально нужно и других опций вообще нет. А реально нужна она единицам (тем, у кого миллион запросов в секунду и классические нативные треды не вывозят). А с виртуальными тредами спектр применения стал еще уже.
957 2846074
>>45608

>Больше скажу, с ней этого не достигнуть, ибо она лишняя прослойка.



Какой то дебильный аргумент. Ну лишняя прослойка - и что?

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

>Вообще без понятия в чем разница между листом объектов и флакс потоками



Backpressure.

>>45588

>Лум это кал с запретом на синхронайзеды и тяжёлый код



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

И вообще, претензия у тебя соевая какая то. Звучишь литералли как соя со свичами (>>44529). "Ой, все, мне джава монитор на зеленых потоках не так как я ожидаю захватывает. Дилбрекер, дропаем фичу пацаны".
958 2846075
>>46074

>Ну лишняя прослойка - и что?


1. Она никак не может быть быстрее того, прослойкой над чем является. В данном случае Thread API, т.е. она точно не будет быстрее ванильной жабки.
2. Прослойка тоже кушает ресурсы, а значит и сравнится она не сможет.
По моему это что-то из разряда очевидного, не?
959 2846076
>>46074

>Так то и нативные, и виртуальные треды


Вообще я бы другую аналогию использовал. Аппаратные оптимизации и кодовые. Ты ни при каких обстоятельствах не сможешь сравниться по перфомансу с аппаратными оптимизациями. SIMD, например.
960 2846078
>>46075

>Она никак не может быть быстрее того, прослойкой над чем является. В данном случае Thread API, т.е. она точно не будет быстрее ванильной жабки.



Вот по этой цитатке явно просматривается что ты даже сути постановки проблемы не выкупаешь. Причем не выкупил ты проблематику даже после предыдущего коммента:

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



При чем тут "быстрее"? Проблема здесь вообще не в быстроте, а в том, как жыть нахуй. Классическим тредпулом-обработчиком-запросов-с-реста в 10-20 тредов миллион запросов в секунду ты ни в жизнь не обработаешь, не превратив код в колбэчную нежизнеспособную лапшу, пожирающую все мыслимые бюджеты. А тред-пул из миллиона тредов тебе никто создать не даст.

Реактивщина решают эту проблему через замену колбэков на стримы. Async-await и корутины - через покраску функций. Виртуальные треды лума - через отвязку джавовых тредов от нативных. И во всех случаях бутылочным горлышком будет твой процессор и его ядра, во всех трех случаях будут свои накладные расходы на абстракции, и два вот этих вот твоих пункта из разряда очевидного - тупо демагогия, которая вообще не в тему.
961 2846081
>>46078
Вон же писал ровно тоже самое.
>>45618

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



Вообще не помню, почему тут про перфоманс что-то пошло. Ты же мой тезис просто перестал считать важным. Похуй в общем-то, мне б ебаный вдс настроить...
962 2846083
>>46081

>йобапреимущества



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

>Вообще не помню, почему тут про перфоманс что-то пошло



Тебя надо спросить зачем ты "быстроту" приплел. Контекст был отсюда:

> что имбового


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


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



Ни слова про быстроту. И на самом деле реактивщина и есть про минус-простои и альтернативное распределение ресурсов. И лум - про то же.
963 2846084
>>46083

>сиди знай ебошь гуглы на голом нетти.


Ну да, и в чем я не прав? Еще тесты нахуй не нужны. Нужно coq-ом и им подобным инструментами доказывать.

>Тебя надо спросить зачем


Не, меня не надо спрашивать. Малчи.
964 2846085
>>46084
С нетти ты разве что кабану на coq присядешь
965 2846087
>>46085
Не ну если он няшный...
Блин, почему по порту нельзя к постгре подключиться
966 2846089
>>46087
Мб тебя в hbaconf по айпи забанили?
967 2846112
>>46089
Ни. Я в конфегах пару букв напутал. Бывааает.
968 2846621
Завтра напьюсь по поводу 21 джавы.
969 2846745
Поясните мне пожалуйста за List<? super SomeClass> и List<? extends SomeClass>

В первый можно закинуть все объекты SomeClass и его наследников? А <? extends SomeClass> для чего нужен если с него вроде как можно только читать? Он все время пустой должен быть или что?
970 2846755
>>46745
Consumer/Producer же.
Вон в доках примеры есть. Хотя эти вайлдкарды с нулами ахуенно работают.
971 2846794
>>46745
P E C S
E
C
S
972 2846819
СУКА НЕ МОГУ ТЕРПЕТЬ ХОЧУ УЖЕ СЕГОДНЯ 21 ЖАБУ!!!!!!!!!!!!!!!
973 2846823
А что случилось-то?
974 2846841
>>46819
Нахуя она тебе? Собери сам, че ты как этот?
975 2846900
>>45644
Блин няши, а как в томкате логи включить, чтобы видно было какие он профили для спринга взял? Вроде в каталина.пропертис все прописал, но нихуя... чувствую блин, что деплоится все без профилей...
976 2846976
Так она же ещё блять не вышла. Нах вы ссыте кипятком раньше времени?
977 2847057
>>46745
Чел, не мысли категорией - "что туда можно закинуть", это путь в никуда. Мысли ссылками и их совместимостями.

Вот есть у тебя к примеру переменная List<? extends A>. В эту переменную ты можешь присвоить List<A>, List<наследник от A>, List<наследник наследника от A> и. т. д.

И есть у тебя переменная List<? super A>. В нее можно присвоить List<A>, List<родитель от A>, и.т.д, вплоть до List<Object>

Имея эти две переменные ответь себе на вопросы:
1. Какие обьекты можно, используя такие ссылки, добавлять, при этом не поломав инварианты в списки, на которые ссылки ссылаются
2. Какого типа обьекты можно, используя такие референсы, читать гарантированно, без прикастов.

>В первый можно закинуть все объекты SomeClass и его наследников?



В список ? super A ты можешь безопасно писать A и его наследников, потому что по ссылке гарантированно будет список, который совместим с записываемым значением (инстанс A ты миожешь записать как в List<A>, так и в List<Object>). А вот в лист ? extends A ты не можешь писать вообще ничего кроме null, потому что что бы ты в такой лист ни писал, всегда остается вероятность что по ссылке будет несовместимый список (например, лист наследника от A)

>А <? extends SomeClass> для чего нужен если с него вроде как можно только читать?



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

Если обьявишь функцию как int sum(List<Integer> list); ты не сможешь ее использовать для списка чисел с плавающей точкой.

int sum(List<Number> list) тоже не выход - ни List<Integer> ни List<Float> в такую функцию не передашь.

Выход - int sum(List<? extends Number> list); В нее можно будет передать и List<Integer>, и List<Float> и все что угодно, что список чисел. Итерируя по этому списку ты будешь получать инстансы Number.
978 2847066
>>47057
Расскажешь про рекурсивные дженерики?
979 2847082
>>47057
То есть ? extends A нужен исключительно для объявления функции как в твоем примере?
980 2847090
>>47082
Да в целом все дженерики нужны в первую очередь для сигнатур функций/классов. Это их цель существования - дать возможность писать обобщенный код.
981 2847107
Как же хочется взять и начать все месяцами переписывать на реактивный стек. Но я ни строчки на нем не написал и не уверен в преимуществах
982 2847114
>>47107
А нахуя, если есть лум?
983 2847115
>>47114
Лума не существует
984 2847118
>>47057
может тогда показать какой то прикладной пример использования super?
985 2847132
>>47118
class A {}
class B extends A {}

add(List<? super A> list, A a) { list.add(a); }
read(List<? extends A> list) { for(Shape s : list) {sout(s)}; }

Вот тебе максимально примитивная хня
986 2847138
>>47132
А пачиму list.of не возвращает extends?
987 2847164
>>47138

Потому что в этом нет смысла. Использовать дженерики в сигнатуре имеет смысл, когда есть неопределенность в аргцументах или возвращаемом результате. А List.of максимально конкретен - принимая vararg E он всегда возвращает List<E> и ничто иное.
988 2847173
>>47164
Он неявно возвращает иммутабельный лист.
989 2847207
>>47173

>иммутабельный


неизменяемый

>лист


список
990 2847214
>>47207
Иммутабельный лист.
image.png24 Кб, 644x154
991 2847215
>>47207
Ахуеть, спасибо за адаптацию. А теперь давай Stream/Thread Lock/Block адаптируй.
Хотя вон здесь анмодифейбл. Интересно, в чем тонкая разница между иммутейбл, если внизу ImmutableCollection.
992 2847225
>>47215

>Stream


струя

>Thread


нить

>Lock


замок

>Block


блок
993 2847233
>>47173
А без разницы. Дженерикам похую на мутабельбность, они - про вариантность
994 2847240

>Stream


поток

>Thread


поток
995 2847241
>>47233
Всм похуй? Они полны по тьюрингу, так что давай ка хуйни не неси.
996 2847243

>List


список

>Immutable


неизменяемый

>Stream


стрим

>Thread


поток

>Lock


лок

>Block


блок
997 2847244
>>47241
И какая связь?
998 2847254
>>47244
Такая, что ты ограничиваешь инструмент. Мол пук среньк, он не для этого создан. В котлине заменили на in/out, например. В жабе же есть ряд методов с Class<extends>.
Нормальные объяснения есть?
999 2847258
>>47254
Ну это вообще шизофазия.
1000 2847260
>>47258
Нет! Я не шизек! Хватет уже так меня называть
image.png5 Кб, 270x120
1001 2847269
1002 2847272
>>47269
Бан палучаеца, за дубль.
1003 2847275
>>47272
Обпупунился?
1004 2847277
>>47275
Есть такое. Исправишь?
1005 2847305
>>47225
stream, thread, flux, flow, current, torrent
1006 2847307
>>47305
Струя, нить, флюс, поток, электричество, торрент.
1007 2847319
>>47307

>>электрическаяНить()


>>пружинный паутинный флюс


>>многонитевое приложение


ява которую мы заслужили
1008 2847372
>>47241
Блять, я уже жалею что ссылку на ту статью вбросил. Один рандомный чел заскучал и упоролся - сотня двачеров-ебланов щас из его поделия сделают религию нахуй...
1009 2847388
>>47372
Ты мне же её и вбросил... Обещал же запомнить. Можешь ещё что-то рассказать.
1010 2847394
>>47388
Хуй те. Скидывать тебе ту ссылку было ошибкой, оно сожрет твой разум нахуй.
1011 2847401
>>47394
Да че вы злые со мной такие порой... Я же вас всех люблю, а вы. Ну неважно
1012 2847407
>>47254

>Нормальные объяснения есть?


>А пачиму list.of не возвращает extends?



Потому что если бы List.of имел сигнатуру вида...

static <E> List<? extends E> of(E... elements)

...то возвращаемое значение этого метода ты не смог бы использовать ни в одном месте, где ожидается обычный List<E>. Что резко множит полиморфизм на ноль и делает метод of тупо бесполезным. Можешь сам это проверить - напиши где нить в уголке своего проекта свой listOf и попробуй идеей сделать самену List.of на свой метод. Быстро заебешься.
1013 2847408
>>47401
Бьем - значит любим.
image.png50 Кб, 607x614
1014 2847422
>>47407
Какие же страдания: пик.
>>47408
Ууу, мило
1015 2847428
>>47422
Ору блять, в голосину.

Думал систему наебал, малой? Попробуй ка присвоить эту вот свою конструкцию magick(of(1,2,3)) к переменной типа List<Integer>.
image.png52 Кб, 597x599
1016 2847433
>>47428
Ок, дальше что?
Тут все изменения в том, что теперь ошибка в add изменилась.
1017 2847449
Перекатывайтесь сюда >>47269, ебанаты.
1018 2847450
>>47433
Ок, это была хорошая ответка с твоей стороны. Ловко ты наебал инференс дженериков - мне аж спеку пришлось полистать, чтобы примерно понять - как.

Тем не менее - тебе просто повезло. Элементарно вынеси ты, например, тот же of(1, 2, 3) в переменную (необязательно даже List<? extends Integer> - тупо в var), и все. Твой magick тебе уже не поможет.
1019 2847451
>>47449
Иди нахуй, там все равно нихуя интересного пока что нет. Первую неделю щас там только шарпеи будут торговать своим ебалом, напрашиваясь под струю мочи, да пориджи будут проходить свои пять стадий от гнева до принятия от нового свитча.
1020 2847452
>>47451
Там 21 жабу отмечают.
1021 2847453
>>47452
Проходили уже, знаем. Каждый тред - одно и то же.
image.png67 Кб, 663x782
1022 2847456
>>47450
Нет, ну если обернуть боксом...

>хорошая ответка с твоей стороны


Ммм, я тут скоро свою фигню закончу делать, можешь посмотреть потом, няш? :3
1023 2847718
>>47456
Ну вот ты уже две обертки придумал чтобы со своей версией of'а работать, и никакого профита относительно обычного List of не получил. Нахуя?
1024 2847773
>>47718
Какой же ты бука....
Вопрос изначально был не в этом же. Признай уже что я молодец, хватит пупунить(

Тут юзкейс как с optional: пользователь явно видит, что лист иммутабельный и если ему надо он сам снимает ограничения.
1025 2847804
>>47773
По твоему List<? extends T> мне как пользователю должен сообщить, что этот лист иммутабельный? Ты серьезно щас?

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

Я бы мог сказать что это чушь и в общем случае - потому, что вайлдкарты и границы вообще не про мутабельность, а про вариантность (или что, по твоему лямбда типа Predicate<T> мутабельна, в то время как Predicate<? extends T> - нет?). Но ты же упоролся веществами, и начнешь щас в ответ заливать мне несвязную ахинею про тьюринг полноту дженериков. Короче когда закончишь делать свою фигню, я ее чекну лишь из научного интереса, чтобы понять, какие вещества ты употребляешь.
ё
1026 2847822
>>47804
Ну нету в жабке интерфейса IReadOnlyList. Живём как можем.

Пасиба, вот в новом тредике отпишу. Я если что автор вложенных дто.
1027 2849133
>>47822
Причём здесь отсутствие этого интерфейса, ебанько? Речь идёт про то, что дженерики не про мутабельность.
image.png66 Кб, 1103x679
1028 2849443
>>49133
Угу. Глянь, к слову, обещал же https://2ch.hk/pr/res/2847268.html#2848659 (М)
1029 2849605
>>49443

>but its not strict guarantie


До конца дочитать сил не хватило?
1030 2849608
>>49605
А теперь давай мне хоть одно моё сообщение, где я говорил, что оно гарантирует, а не подсказывает.
Даже интерфейс IReadOnlyList этого гарантировать не может. Хватит душнить, я устал.
1031 2849717
>>49133
В том то и суть, что из-за того, что коллекшн апи спроектирован не лучшим образом, маслята, впервые увидев что в extends-wildcard коллекцию писать система типов ничего не дает, пытаются сделать из говна и палок панацею.

>>49443
Это был импостер, он те ничего не обещал.
1032 2849734
>>49717

>Это был импостер


Ууу... А где же тот самый...
1033 2852897
>>49608
Как будто слова какого-то хера из документописцев оракла определяют значение языковых конструкций джавы. extends/super это про наследование, всё. Всё остальное это лишь возможные следствия этого.
1034 2852907
>>52897
Автор конкретно этой секции вроде как Gilad Bracha.
Ммм, математика про аксиомы - остальное следствия. Что это меняет, няш?
Я правда нинаю какой тезис уже отстаиваю, можешь напомнить заодно)
1035 2854758
>>52897

>extends/super это про наследование, всё



Нет

Мимо
1036 2854920
>>54758
Спасибо за подробный и аргументированный ответ!
1037 2855007
>>45795
>>45804
Ребят, а зачем вам это нужно? Риентрент локи, где вы их используете? Вы пишете свой сервлет контейнер с блекджеком и шлюхами?
1038 2855009
>>46025
проиграл с blackhole
1039 2855062
>>55007
Из всех синхронизаторов, локи, наверное самое частоиспользуемое. Т.е. обычно никто не разбирается, локу налепил, serialized получил и намана.
1040 2864688
Что делать будем,пупунечки мои любимые? Наш дом разорен,наши дто больше не вложенные
1041 2864700
>>64688
В плане... Я там тесты вложенные делал и вообще старался. А еще в клиенте пара вложенных дто осталась.
1042 2864702
>>64700
А вложенные контроллеры?
1043 2864706
>>64702
А RequestMapping учитывает то, что выше неё? Знаешь, я вообще хотел. Ну типа там на уровне пакета "api/" сделать ну и вложить ".../public/..." в ряд классов.
1044 2864721
>>64706
Попробуй вложить хуй в женщину,архитектор хуев
1045 2864746
>>64721
Что я тебе сделал, злюка? И вообще мне тни не нрав.
1046 2864807
>>64746
Почему тогда не на шарпе пишешь?
1047 2864829
>>64807
Не ну если тебе так интересно, то когда я школьником был, не было курсов по шарпу, а ещё на олимпиаде был выбор из жабы cpp и петухона.
Воть и знаю неплохо жабку и плюсы немного. А ещё мило, что меня из треда не гонят)
1048 2865391
>>64829
Тихо пидорас
Тред утонул или удален.
Это копия, сохраненная 31 октября 2023 года.

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

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