Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 1048 95 188
Java Thread #252 /java/ Аноним 23/08/23 Срд 18:34:19 2816575 1
image.png 1321Кб, 1024x1024
1024x1024
Программирование 😎 - это не только скучное кодописание 😏, а настоящее приключение в мире бесконечных возможностей 🚀. Высокоуровневая ☝ абстракция, поиск общих черт, умение оптимизировать - всё это как кисти художника, воплощающие высший уровень интеллектуального мастерства, взаимодействующего с магией программирования на Java 😜.

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

Предыдущий: >>2756391 (OP)
Аноним 23/08/23 Срд 18:57:58 2816596 2
Slice 1 (6).png 36Кб, 512x479
512x479
Аноним 23/08/23 Срд 19:36:20 2816636 3
спрашивайте вопросы по джаве отвечу пока в отпуске
Аноним 23/08/23 Срд 19:47:01 2816651 4
>>2816636
Зачем выбрал убогую жабу, когда есть няшный шарпик?
Аноним 23/08/23 Срд 19:49:37 2816654 5
Пупуни дибильные трендик перекатывают хихихи,покекала с пупунек дурацких
Аноним 23/08/23 Срд 19:50:32 2816657 6
вжжжжж вжжжжж вжжжжж
Аноним 23/08/23 Срд 20:11:24 2816669 7
>>2816536 →
Сервис пользователей вычитывает весь топик по фильмам. И сохраняет себе в бд табличку фильмов(табличка фильмов может состоять из одних юидов, сгенеренных сервисом фильмов). Потом по к этой табличке делаешь свою manytomany табличку к юзерам.
Ну и создал ты юзера. Потом идешь поиском по фильмам(имя через like и год) на сервис фильмов. Он возвращает тебе юид. И потом идешь на сервис юзеров и делаешь запись в таблицу user_film, туда и оценки можно добавить.
В какой-то из книжек по микропенисам были эти ваши кинопоиски.
Аноним 24/08/23 Чтв 01:12:22 2816844 8
>>2816636
Сколько опыт?
Какая ЗП?
Уровень знаний? Роль в команде?
Какой стек?
Аноним 24/08/23 Чтв 01:13:35 2816847 9
>>2816636
Сколько опыт?
Какая ЗП?
Уровень знаний? Роль в команде?
Какой стек?
Аноним 24/08/23 Чтв 02:54:15 2816854 10
>>2816636
1. Как устроен компилятор,
2. Как устроена ЖВМ?
3. Ты гей?
4. Назови 3 принципа ООП.
5. Какое девичья фамилия вашей матери.
6. Напиши на регекспах распределенный сервер.
7. Бочку сделай.

Пока так
Аноним 24/08/23 Чтв 06:58:26 2816883 11
>>2816854
Блять, лучше бы не выходил в отпуск...
Аноним 24/08/23 Чтв 10:56:58 2817005 12
Аноним 24/08/23 Чтв 12:17:44 2817081 13
>>2816636
почему джава такая хуйня и нахуя тебе отпуск на заводе твоём дядь миш
Аноним 24/08/23 Чтв 14:02:50 2817221 14
Аноним 24/08/23 Чтв 14:05:15 2817228 15
>>2817221
Да ты ни на что нормально не отвечаешь.
Аноним 24/08/23 Чтв 15:50:42 2817303 16
>>2817228
нормальные вопросы задавайте
Аноним 24/08/23 Чтв 15:54:29 2817307 17
>>2817303
Справа лес хуев, слева море говна, куда приземлишься? Ответ в виде юнит теста
Аноним 24/08/23 Чтв 15:56:19 2817309 18
Аноним 24/08/23 Чтв 16:06:13 2817320 19
image.png 66Кб, 801x730
801x730
Аноним 24/08/23 Чтв 16:51:25 2817363 20
>>2817303
Какие? Что лучше Балтика 9 или Жигулевское? Не на правах рекламы
Аноним 24/08/23 Чтв 17:02:23 2817377 21
Аноним 24/08/23 Чтв 17:16:04 2817397 22
баварскоепиво.jpg 570Кб, 1200x840
1200x840
>>2817363
жигулёвское уточняй какой пивзавод. Жигуль на каждом пивзаводе есть, и не по одному
Аноним 24/08/23 Чтв 19:08:47 2817530 23
Аноним 24/08/23 Чтв 19:36:14 2817560 24
>>2817530
С кобола на кобол? Чзх? Чому не шарп
Аноним 24/08/23 Чтв 19:39:53 2817563 25
>>2817560
>Чому не шарп
Там наверное не под виндой эти мейнфреймы ходють
Аноним 24/08/23 Чтв 19:45:00 2817570 26
>>2817563
Ну там эта, мона есть. Или как оно называется. Ну в общем кроссплатформенный он.
Аноним 24/08/23 Чтв 22:42:53 2817705 27
>>2817530
IBM главные пупуни индустрии
Аноним 24/08/23 Чтв 23:58:06 2817723 28
image.png 3Кб, 253x26
253x26
image.png 10Кб, 636x37
636x37
>>2816636
Когда идешь вверх по файлам для импорта в jsp, то фильтр по секурности не пропускает этот форвард, если не добавить пик 2.
Вопрос, какой конкретно файл-то не проходит? Я не хочу вообще все добавлять.
Аноним 25/08/23 Птн 01:50:49 2817747 29
>>2817723
> JSP
> WEB-INF
Никто никогда не вернётся в 2003 год. Но ты вернулся.
Аноним 25/08/23 Птн 02:04:32 2817750 30
>>2817747
Какая в жопу разница, как этот хтмл генерировать?
Аноним 25/08/23 Птн 02:07:27 2817752 31
image.png 8Кб, 755x53
755x53
Из кобола в кобол.
Аноним 25/08/23 Птн 02:42:39 2817754 32
>>2817750
Раз нет разницы, пиши на шарпе.
Аноним 25/08/23 Птн 02:55:59 2817759 33
>>2817754
Мне лень новый яп учить. Вот если минетик оформишь....
Аноним 25/08/23 Птн 02:59:30 2817761 34
>>2817759
Я готов соснуть каждому джависту, перекатившемуся в шарп.
Аноним 25/08/23 Птн 03:10:36 2817762 35
>>2817761
Мило. Но пока в какой раз надо переписывать... Делать хуйню, чтобы переписать на хуйню чуть лучше. Звучит, что ж.
Аноним 25/08/23 Птн 05:41:27 2817778 36
>>2817747
Ха-ха я в нем живу проект на 5 джаве
Аноним 25/08/23 Птн 05:54:11 2817779 37
Аноним 25/08/23 Птн 08:11:43 2817800 38
>>2816636
Перекатчиков с плюсов берете на работу?
Аноним 25/08/23 Птн 08:38:34 2817824 39
>>2817779
Сорямба, я в настройку сервлетов не лазил давно. В основном крашу кнопочки :3
Аноним 25/08/23 Птн 12:01:54 2817983 40
>>2817530
Аж олдскулы свело. Когда был студентом, мой научрук писал компилятор из PL/1 в Java.
Аноним 25/08/23 Птн 12:03:00 2817984 41
Аноним 25/08/23 Птн 12:04:42 2817985 42
>>2817778
>проект на 5 джаве
На каких нибудь военных работаешь?
Аноним 25/08/23 Птн 12:30:57 2817999 43
>>2817985
Нет, в Энтерпрайзе!!!
Аноним 25/08/23 Птн 12:51:36 2818011 44
Аноним 25/08/23 Птн 13:31:27 2818040 45
>>2817999
Пиздишь. Весь тырппрайз сидит на Java 8 Enterprise Edition.
Аноним 25/08/23 Птн 16:27:11 2818211 46
video.mp4 1728Кб, 1280x1024, 00:01:21
1280x1024
image.png 34Кб, 657x584
657x584
Что-то опять по срокам проебываюсь. Ну в принципе-то почти готово, думаю, надюсь к концу недели захосчу... https://github.com/anywaythanks/Twister
Только не знаю, стоит ли того, возможно и не нужно этот проект в резюме пихать, а написать что-то другое потом
Аноним 25/08/23 Птн 16:59:37 2818251 47
>>2818211
Блять!
Это что вообще? ТРИ ТОПОРА?
бЛЯТЬ!
Какую задачу решает этот сервис?
Аноним 25/08/23 Птн 17:04:14 2818258 48
>>2818251
А че он какую-то задачу обязательно должен решать? Крутица красиво. Думаю хватет.
Вообще у меня и другие штуки есть, прим https://github.com/anywaythanks/ExtendedSynchronizers
Но как видишь, эта штука больше внимания привлекает.
Аноним 25/08/23 Птн 17:06:13 2818265 49
>>2818211
Бляяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя

Я не хочу тебя обидеть, серьезно. Нахуя тебе столько интерфейсов? Просто было было? Так вообще НИКТО не пишет.
В качестве маппингов погугли про mapstruct.
Как минимум аутентификацию/авторизацию вынести в отдельный модуль бы, но это всё хуйня, если смотреть как ты пишешь код с этими ебучими интерфейсами
Аноним 25/08/23 Птн 17:08:11 2818266 50
>>2818265
>Как минимум аутентификацию/авторизацию вынести в отдельный модуль бы
В плане? Она и так на отдельном сервере авторизации keycloack. Че мне еще сделать-то?
>погугли про mapstruct.
О, пасиба. Глянем.
>Нахуя тебе столько интерфейсов?
Ну прочетал, что сервисы это интерфейс и имплементация. Разделил.
Аноним 25/08/23 Птн 17:17:19 2818279 51
>>2818266

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

Сори, хуй знает чё у тебя там с авторизацией, я читать это ебал. Для начала попробуй писать монолиты, но с нормальной архитектурой внутри проекта, хотя бы. Потом уже переключишься на микросервисы. Я бы тебе советовал почекать какие-то боевые проекты, которые писали челы с опыток, но я не ебу где такое искать в оперсурсе. Можно всякие видосики на тыртубе от всяких Eugene Suleimanov чекнуть
Аноним 25/08/23 Птн 17:19:10 2818285 52
>>2818258
а пон это ты тот шиз
Аноним 25/08/23 Птн 17:23:34 2818293 53
image.png 61Кб, 533x404
533x404
>>2818285
Че сразу шиз-то?
>>2818279
>Антипаттерн
У суки, прям в доках антипатернят. Где почитать про это можно хотя бы?
>Для начала попробуй писать монолиты, но с нормальной архитектурой внутри проекта, хотя бы.
Все это разделение нужно только лишь для OAuth2. Иные способы авторизации хуевые. Да и честно говоря я не очень понимаю, что я не так сделал. Просто какие-то обвинения, то дто вложенные, то интерфейсов много...
> Я бы тебе советовал почекать какие-то боевые проекты
Ммм, я прошу скинуть хотя бы какой-то вот уже сколько времени... Ну когдаааа-нибудь скинут, да.
Аноним 25/08/23 Птн 17:28:54 2818311 54
>>2818293
Доки в джаве... Вот бы ты еще до доков про многопоточность дошел. Ахуел бы что там их около 0

Ну, и тебе в доке пишут про DDD. У тебя интерфейс не зависит от реализации. Нахуя тебе его описывать? - Не понятно. Твой интерфейс - методы торчащие наружу из класса (public)
Аноним 25/08/23 Птн 17:36:50 2818322 55
>>2818311
Ты рофлишь? У меня проект по многопоточке сверху скинут.

>У тебя интерфейс не зависит от реализации.
Что это вообще значит? Почему он вообще должен зависеть от имплементации, это ж контракт. Можешь скинуть что-то про это все?
Аноним 25/08/23 Птн 17:44:14 2818347 56
image.png 25Кб, 613x381
613x381
Чё творит то...
Аноним 25/08/23 Птн 17:44:15 2818348 57
>>2818322

>Ты рофлишь? У меня проект по многопоточке сверху скинут.
Ну а чё ты доками тычишь. В коммьюнити всем на них плевать. Это хуево, но ничего не поделаешь.

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

Где про это читать? Ну, я не ебу. Я не читал книги по этим темам. Но, наверное, самое тупое - чистый код, чистая архитектура. Эти книги люто обсирают. Можно прочитать, но нужно быть критичным. Я лично видел как автор в чистом коде ебанул абстракций, которые 1 метод на 10 размазали.
Аноним 25/08/23 Птн 17:47:31 2818355 58
image.png 113Кб, 783x793
783x793
>>2818347
Могу себе позволить.
>>2818348
> В коммьюнити всем на них плевать.
Блин, не знал. Я неиронично думал, что доки это что-то чуть ниже спек, и фактически то, на что стоит ориентироваться. Ну лан.
>Но он должен сохранить контракт. Чтобы не сломать совместимость. Типа тебе вообще похую чё под капотом, если контракт сохраняется.
Ну вот, в чем проблема? Возможно я в будущем захочу часть сервисов под жука переписать, нинаю. Или еще что. А контракты уже будут. Я правда не понимаю доеба.
Аноним 25/08/23 Птн 17:49:46 2818362 59
>>2818322
>Почему он вообще должен зависеть от имплементации
Прикинь что я тебе вместо HuiPizdaDto в новой версии буду отправлять PizdaDtoV2. Вот тут у тебя контракт зависит от реализации. Я что-то поменял и всё сломал.
Аноним 25/08/23 Птн 17:49:53 2818363 60
>>2818347
>может позволить держать две разные базы данных
>не может позволить ломбок
Томкат нахуя, он и так там есть в миниатюрной версии в спринг буте
Аноним 25/08/23 Птн 17:52:32 2818370 61
>>2818363
Ломбок я просто сам не хочу.
>миниатюрной версии в спринг буте
Да пофег. В любом случае я это на томкат хочу пульнуть в итоге.
>>2818362
Ну еблан тут ты и не пройдешь по валидации.
Аноним 25/08/23 Птн 17:55:45 2818382 62
>>2818355
Возможно я в будущем захочу часть сервисов под жука переписать, нинаю. Или еще что. А контракты уже будут. Я правда не понимаю доеба.

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

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

>>2818370
Ебланом буду я, но прод слетит у тебя
Аноним 25/08/23 Птн 17:57:51 2818388 63
Почему бидерекшнл связи в хибере такое говно? Какие-то дикие костыли для сериализации, чтобы не уйти в рекурсию. При этом это защищает тебя для jackson, но никак не поможет, если кто-то просто сделает get. Все выглядит так, что нужно избегать бидерекшнл связей.
Аноним 25/08/23 Птн 18:00:51 2818401 64
>>2818388
В говнохибернейте вообще много чего нужно избегать.
Аноним 25/08/23 Птн 18:02:31 2818406 65
>>2818382
> У тебя само понимание архитектуры слабое.
Ну я не особо спорю, но кроме интерфейсов-то критика есть? Как бы там к реальному коду, например? То, как персистенс контекст сохраняется, еще чего. А то доебы уровня, а вот у тебя отступ 1.25, а надо 1.5.
Аноним 25/08/23 Птн 18:09:06 2818423 66
>>2818406
>Как бы там к реальному коду, например?
Архитектуру пофикси, почитаю. Пока желания в это погружаться особо нет)

>То, как персистенс контекст сохраняется, еще чего.
Ты аннотации транкакций еблански ставишь
Аноним 25/08/23 Птн 18:19:05 2818449 67
>>2818423
Ну лан, пасиба еще раз. Уберу интерфейсы из сервисов и попробую маппинг через структ сделать. Возможно сервисы красивше станут...
>Ты аннотации транкакций еблански ставишь
Почти osiv. Ну поправлю думаю, как раз.
>почитаю
Приму как обещание)
Аноним 25/08/23 Птн 18:21:00 2818455 68
отказываюсь от хибернейта. Как через jdbcTemplate избавиться от N+1?

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

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

как это вытащить через один запрос и запихать в дто?
Аноним 25/08/23 Птн 18:22:20 2818462 69
Аноним 25/08/23 Птн 18:44:13 2818523 70
>>2818455
Почитать базу про JOIN, например.
Аноним 25/08/23 Птн 18:48:25 2818530 71
>>2818523
ну приджойнил я вторую сущность, получил

entity1_1 entity2_1
entity1_1 entity2_2
entity1_1 entity2_3
entity1_2 entity2_1
entity1_2 entity2_2

как это красиво преобразовать в список entity1 с потомками?
Аноним 25/08/23 Птн 18:54:00 2818537 72
>>2818462
Через постман, няшк. А что?
Аноним 25/08/23 Птн 20:04:02 2818653 73
>>2818537
у тебя при запросах через постман и в проде приложение по разному работает? еблан?
Аноним 25/08/23 Птн 20:12:34 2818666 74
>>2818653
Блин, ну запросы в постман отрабатывются.
Вообще я сонный и хватит обзываца
Аноним 25/08/23 Птн 20:31:41 2818682 75
>>2818251
>Какую задачу решает этот сервис?
Вот я про тоже писал, ну видимо покрутить кейсы))) это весело)))
Аноним 25/08/23 Птн 20:38:21 2818687 76
>>2818682
>это весело)))
Вот, рад что ты меня понял)
Аноним 26/08/23 Суб 09:26:26 2818916 77
>>2816854
>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, ООП и хардкор
Аноним 26/08/23 Суб 11:39:24 2818979 78
Котлин выглядит компактнее, в нём есть защита от нулла, нет 25-летней легаси истории (Int - это класс, а не переменная) и прочие плюхи. Почему же ты душишь старую жабу?
Аноним 26/08/23 Суб 11:42:47 2818980 79
Все мои одноклассники давно пишут плагины и моды для майнкрафта на котлине, девки текут, быдло уважает
Аноним 26/08/23 Суб 11:43:28 2818981 80
>>2818979
Эм, что? В котлин проект вальгалла уже реализован? Или просто примитивы запрещены? Второе хуета же абсолютная.
Защита от нулла мб и полезна, но лучше бы скуфы из оракла сделали стандартные аннотации для этого.
Аноним 26/08/23 Суб 11:44:41 2818982 81
>>2818979
Нах не нужна нам ваша защита от нулла!
Аноним 26/08/23 Суб 11:44:59 2818984 82
>>2818981
Там нет примитивов совсем, твоя переменная типа Int на самом деле в котлине является объектом класса Int
Аноним 26/08/23 Суб 11:49:21 2818987 83
>>2818984
Ну это хуета и аргумент против котлина. В жабе есть Integer. Кушай, не обляпайся.
Аноним 26/08/23 Суб 11:59:49 2818992 84
Скоро в java завезут struct, loom уже завезли и нахуя тогда го нужен будет?
Аноним 26/08/23 Суб 12:01:22 2818994 85
>>2818987
Само наличие в джаве типа int и класса Integer признак легаси, в котлине отсутствие примитивов позволяет автоматически приводить "тип", это значит меньше телодвижений.
И так во многом. Допустим в джаве для класса вы прописываете геттеры сеттеры (пусть даже одним кликом в IDE), а в котлине просто пишут data class и они сами потом генерируются при компиляции
Аноним 26/08/23 Суб 12:04:53 2818996 86
>>2818994
Нет, ты несёшь хуйню. Это решение создателя языка, как и отсутствие перегрузки операторов.
Удалить примитивы, просто идиотское решение, мне даже не верится, что в котлине это провернули.
Аноним 26/08/23 Суб 12:06:00 2818997 87
>>2818530
В жуке я такое делал переводя вложенный список сущностей в jsonarray встроенными функциями постгри.
Аноним 26/08/23 Суб 12:08:34 2819000 88
>>2818211
И ты вот это все серьезно делаешь чисто для себя и тебе никто за это не платит?
Аноним 26/08/23 Суб 12:11:13 2819001 89
>>2819000
Кто мне заплатит за открытый код? Да делаю для себя. Просто первый ±проект на спринге. А что?
Аноним 26/08/23 Суб 12:41:54 2819031 90
>>2819001
В чем проблема устроиться стажёром и пилить себе учебные таски за деньги?
Аноним 26/08/23 Суб 12:48:13 2819037 91
>>2819031
Я не в дс. Тут вакух штуки 3...
Аноним 26/08/23 Суб 13:24:09 2819051 92
>>2819037
3 вакухи стажера на спринге это дохуя. Наверно какой-нибудь миллионник.
Аноним 26/08/23 Суб 13:28:44 2819052 93
Аноним 26/08/23 Суб 13:33:41 2819054 94
>>2819052
Ну и что? У меня была в мухосрани была одна вакансия на соротыгу, когда я вкатывался. И проработал там в итоге целых 2 недели, пока не нашел что-то получше на удаленке.
Аноним 26/08/23 Суб 14:35:45 2819119 95
>>2819054
Да ничево няш. Я ж не жалуюсь. Вот проектик делаю, чтоб точно вкатиться.
Аноним 26/08/23 Суб 14:36:14 2819120 96
image.png 123Кб, 898x988
898x988
image.png 74Кб, 2048x142
2048x142
>>2818211
Открыл твой проект. Ну как это можно ревьюить, если у тебя нет описания проекта? Не ясно что это, не ясно зачем.
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 отказался, но это вкусовщина.
Аноним 26/08/23 Суб 14:56:36 2819147 97
>>2819120
1-2. Ну я обычно в самом конце пишу, как и тесты. В основном потому, что не умею нормально писать ни то ни другое. Постараюсь, конечно описать, но судя вот по этому https://github.com/anywaythanks/ExtendedSynchronizers не гарантирую хорошесть...
3. Таблички делал вроде, но они теряют актуальность, потому и схемы тоже потом сделаю, а пока хибер генерит.
4. Аннотация из-за конфликта бинов нужна.
А так можно? Надо глянуть тогда, вроде у меня уже есть подобное.
5. Можно и так. Я ещё попробую это убрать через мапструкт.
Не ну зря, что ли вар делали в оракл?
Жалко, что немного планы сместились и нет возможности за пк пока что сесть.

В общем пасиба, постараюсь исправить по возможности...
Аноним 26/08/23 Суб 14:56:49 2819150 98
>>2819120
смотрю вторую картинку. Добавили вары, но для удобства тип прописывается через двоеточие. Вот это прорыв, вот это мощно
Аноним 26/08/23 Суб 15:01:32 2819158 99
>>2819150
Через двоеточие это подсказка идеи. В сорцах там ничего нет.
Аноним 26/08/23 Суб 15:17:19 2819189 100
>>2819158
почему-бы не делать это сразы в языке? Удобно же, прописываешь тип и не нужны подсказки идеи
Аноним 26/08/23 Суб 15:47:02 2819237 101
>>2819189
Ну не используй вар.
Аноним 26/08/23 Суб 16:28:51 2819314 102
Кажется я понял, почему в аррай дэке 16 + 1 элемент.
Аноним 26/08/23 Суб 16:31:58 2819317 103
Аноним 26/08/23 Суб 18:25:14 2819412 104
>>2819147
5. Хотя глянул я, нормально, что это такое. По сути кодогенерация аля ломбока. Надо тогда и последний тоже включить.

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

В общем вообще не понятно как именно проектировать сервисы, нормально ли возвращать сущности, а не дто...?
Ну пока мне кажется, что да, наверное так и уберу эти цепочки вызовов.
Аноним 26/08/23 Суб 21:28:03 2819632 105
>>2819412
Из слоя сервиса возвращать сущность и маппить ее в дто в контроллере - вариант нормы. Но я предпочитаю маппить в сервисе.
Отдавать на контроллерах сущность - не нормально.
Если не нравится mupstract могу предложить modelmapper. +- тоже самое, но в рантайме и без кодогенерации. Естественно медленее, но это обычно не критично.
Аноним 26/08/23 Суб 21:59:15 2819640 106
>>2819632
Вообще, я про общение между сервисами. Но похоже я просто херни навертел и надо просто сущности между ними передавать. Правда как семантически отделить методы для сервисного слоя и межслойного...
Т.е. вот есть сервис для перевода монет; сначала он запросит у другого сервиса общий аккаунт, потом уже в третьем сервисе из этого общего аккаунта ему вернут счёт для кредита. Потом нужно из того же третьего получить счёт для дебита посредством какого-то номера для переводов. Ну и произвести операции над сущностями.
Во время этих запросов соответственно @Authorize проверки проводятся о которых сервис переводов знать не знает.
Сейчас же у меня возвращается дто с id, а сущность надо забрать из репозитория.

Ну кодогенерация объем кода снизит, так проще будет ревьюить.
Может чистый код почитать, а то реально глупо все это как-то.
Аноним 26/08/23 Суб 22:03:03 2819644 107
image.png 311Кб, 2416x959
2416x959
image.png 100Кб, 1147x821
1147x821
image.png 112Кб, 917x698
917x698
image.png 93Кб, 851x912
851x912
Вот я еще раз разлепил 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?

Вообще по коду невозможно догадаться что это за сервис и что он делает. Ощущения, что просто все переусложнено на пустом месте. Можешь сгенерить идеей диаграмму табличек бд?
Аноним 26/08/23 Суб 22:04:55 2819647 108
>>2819640
Чистый код тебе очень мало поможет. Многие его советы вообще идиотские, некоторые противоречат магии спринга и других фреймворков с которыми мы работаем.
Аноним 26/08/23 Суб 23:28:57 2819677 109
>>2819644
Ебать тут перефутболиваний, если задуматься... Попробовал, конечно через ноут поделать, нооо оперативка кончилась. В общем-то сейчас нет возможности. Ну по крайней мере есть вот это 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. Т.е. каждая сущность имеет собственное значение, там цену, стоимость и пр.
Аноним 27/08/23 Вск 10:11:23 2819823 110
Вот смотрю я на библиотечный метод.
Библиотечный метод делает кучу всякой хуйни, которая не может не выбрасывать эксепшены. Потому что внутри этого библиотечного метода вызывается десять других методов, внутри каждого из которых вызывается ещё по десять, ну вы поняли. Ожидаю, что там будут рантайм эксепшены, с которыми мне надо будет что-то делать.
Джавадоков, разумеется, нет.
Есть ли какой-нибудь инструмент в Идее, который может заглянуть во все методы и выдать список эксепшенов, которые там выбрасываются, чтобы я знал, чего ожидать?
Аноним 27/08/23 Вск 10:24:36 2819832 111
>>2819823
Инструменты тебе ничего не дадут, это зависит от реализации и в любой момент может измениться. Ожидать надо Exception.
Аноним 27/08/23 Вск 11:35:52 2819880 112
>>2818994
>>отсутствие примитивов позволяет автоматически приводить "тип", это значит меньше телодвижений.
мне нужно поле boolean с дефолтным значением false, как это работает в котлин?

>>Допустим в джаве для класса вы прописываете геттеры сеттеры
>>в котлине просто пишут data class
Как и в джаве @Data. Они наверное из жабы эту фичу и взяли.
Аноним 27/08/23 Вск 14:59:44 2820106 113
>>2819832
>Ожидать надо Exception.
Вот тебе, бабка, и строгая типизация с кучей типов на любой вкус.
Аноним 27/08/23 Вск 15:06:53 2820111 114
>>2820106
это результат ухода от CheckedException. Теперь может кидать что угодно
Аноним 27/08/23 Вск 15:57:19 2820143 115
>>2819832
Чому именно эксепшен, а не рантайм эксепшен? Може вообще throwable ждать?
Аноним 27/08/23 Вск 17:04:02 2820174 116
День добрый, на связи студент почти 2-ого курса информатики. За этот год учёбы много чего учил: C++, ASSembler, Питоняку и прочее дерьмо. Решил вкатиться на галеры явы, но чувствую, что сейчас начинать сидеть и писать голые принты с циклами не даст ничего кроме скуки. Что можно комбинировать с жабой, чтобы был интерес+выгода?Выгода имеется ввиду, что ява+хуйня_нейм даст какой-то стек.
Аноним 27/08/23 Вск 17:13:56 2820186 117
>>2820174
P.S. Планирую идти в бэк, да и вообще туда, где будут платить через год-два бабки.
Аноним 27/08/23 Вск 17:24:09 2820190 118
>>2820174
>Что можно комбинировать с жабой, чтобы был интерес+выгода?
Майнкрафт плагины.
>P.S. Планирую идти в бэк, да и вообще туда, где будут платить через год-два бабки.
Джава уже мертва, а через год-два разложится окончательно.
Аноним 27/08/23 Вск 17:26:35 2820192 119
>>2820190
Первый гейткипер - чек. Да-да, вот уже 20 лет умирает, да никак разложиться не может, так чего сидишь здесь?
Аноним 27/08/23 Вск 17:32:00 2820195 120
>>2820174
Ну тк сиди и дрочи дальше свой cpp. Че ты сюда припёрся? За школу нихуя не изучил и сейчас решил вкатиться? НахуйВ шарп иди.
Аноним 27/08/23 Вск 17:36:52 2820200 121
>>2820195
"Припёрся" я сюда, чтобы у мудро-анонов спросить про стеки, а не слушать пидорасов, как ты про "не дрочил доки с 12 лет - идёшь нахуй".
Аноним 27/08/23 Вск 17:48:53 2820215 122
>>2820200
Какой тебе стек блять, если ты даже кор не знаешь? Ты бредишь что ли? Попустись, чмоньк
Аноним 27/08/23 Вск 17:51:51 2820220 123
>>2820215
Что ты блять под "кором" подразумеваешь, ебанат? В своем оп-посте написал яп, которые изучал, но не дальше ООП, т.к. скакать по хуям яп люблю. Ты мне предлагаешь сейчас идти дрочить алгоритмы или читать про то, как устроен компьютер?
Аноним 27/08/23 Вск 17:55:11 2820222 124
>>2820220
А т.е. ты даже не знаешь, что такое java core? Далеко пойдёшь. Ну лично для тебя няш, это околосиноним std из cpp.
Аноним 27/08/23 Вск 17:57:40 2820224 125
>>2820222
Пиздюньчик, мне джава нужна кодошлепства за первый пару месяцев работы. Урчать от удовольствия я могу на питончике или держа писю в руках. Мне сейчас нужно направление, а не совет "вот прочитай пару книг, а потом уже задавай ответы".
Аноним 27/08/23 Вск 17:58:14 2820226 126
>>2820224
*для кодошлепства
быстрофикс
Аноним 27/08/23 Вск 18:52:40 2820287 127
>>2820224
Ну вкатывался бы в бек на питоне.
Вообще вот этот плейлист тебе даст нормальное представление о работе на жабе. 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. Всякая модная микросервисная хрень. Из обязательных только докер. Ну а там и кубер и куча микросервисных паттернов и инструментов.
Аноним 27/08/23 Вск 18:53:30 2820291 128
>>2820224
Ну направление нахуй. Пиздец ты наглый, конечно. Кому ты такой ушлепок нужен только. Сиди и дрочи дальше свой питон с cpp.
Аноним 27/08/23 Вск 19:20:15 2820354 129
>>2816636
бамп последний день отвечаю
Аноним 27/08/23 Вск 19:24:00 2820362 130
>>2820224
Ты даже не представляешь каким количеством вопросов тебя убьют по жава кору на собесе. Ты не дойдешь до секции со спрингом и т.д. Просто попустят на базе, которую ты вообще изучать не хочешь.

Всем вот реально похуй - думай как хочешь. Просто можешь чекнуть любые записи интервью, там примерно 3-4 части. Одна из которых, обычна самая первая, про сам Java Core.
Аноним 27/08/23 Вск 19:25:53 2820364 131
>>2820354
Сколько лет кодишь? Что понял за эти годы? Какие советы/гайды/книги т.д. посоветуешь мне - джуну? Хочу быстро варисти до мидла)
Аноним 27/08/23 Вск 19:35:05 2820382 132
>>2820364
5 лет
програмирование хуйня
никаких
нахуй тебе это не надо
Аноним 27/08/23 Вск 19:35:12 2820383 133
>>2819412
>В общем вообще не понятно как именно проектировать сервисы, нормально ли возвращать сущности, а не дто...?
Ну пока мне кажется, что да, наверное так и уберу эти цепочки вызовов.

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

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

Делай так: Никогда не выноси из контроллера DTO в серсис, и никогда не выноси из сервиса персистентую сущность. Если тебе нужно куда-то отправить эту сущность, то сделай еще одну - бизнес сущность, которая не будет иметь НИКАКИХ МАППИНГОВ В БД. Просто отдаешь её, и всё. Да, сущностей будет больше, но тогда ты ГАРАНТИРУЕШЬ ЦЕЛОСТНОСТЬ ДАННЫХ
Аноним 27/08/23 Вск 19:39:13 2820391 134
>>2820382
Ты кто щас? Сенькой стал?
Аноним 27/08/23 Вск 19:41:27 2820395 135
>>2820383
Блин, ну я же сказал что это не межслойное общение, а межсервисное. Мне надо от одного сервиса другому именно сущность передать. Пока я по id это делаю. Понятно, что в контроллер тащить сущность такое себе.
Аноним 27/08/23 Вск 19:41:55 2820396 136
Аноним 27/08/23 Вск 19:45:41 2820401 137
>>2820395
Так отдай сущность, которая содержить в себе все данные из entity, но которая не может менять ничего в бд (без маппингов). Я же тебе это и предложил.
Аноним 27/08/23 Вск 19:54:05 2820418 138
>>2820401
Детачить её до ретерна что ли? И потом мерджем восстановить? По объёму это конечно от получения id не отличается...
У меня пример вот есть >>2819640 мне именно, что нужна сущность, значение которой я могу изменить.
Просто разрываюсь между тем, чтобы стереть это огромное количество вызовов мапперов и репозиториев или оставить так... Правда транзакции надо пересмотреть все же.
Аноним 27/08/23 Вск 22:36:11 2820566 139
Я не какал сегодня
Аноним 28/08/23 Пнд 00:37:40 2820633 140
>>2820566
Ни строчечки не смог выдавить?
Аноним 28/08/23 Пнд 09:56:13 2820727 141
Аноним 28/08/23 Пнд 14:17:31 2821030 142
>>2820174
>Что можно комбинировать с жабой, чтобы был интерес+выгода
Хз че ты подразумеваешь под этой формулировкой конечно.

Если ты - результатоориентирован и хочешь сразу понять что прикладное можно сделать по фану, и из чего, гугли awesome листы. Если ищешь работу, еби спрингбут и не еби мозги.
28/08/23 Пнд 14:22:32 2821035 143
>>2820174
> Что можно комбинировать с жабой, чтобы был интерес+выгода?
Если смешать килограмм варенья и килограмм говна, получится два килограмма говна.
Аноним 28/08/23 Пнд 14:42:51 2821051 144
>>2820174
в го иди, ява для скуфов
Аноним 28/08/23 Пнд 14:44:55 2821052 145
image.png 1907Кб, 1523x784
1523x784
Сейчас сижу учу джаву и решил сделать какой-нибудь пет-проект, выбор пал на две вещи: калькулятор матриц или случайная генерация паролей (есть желание оформить в веб приложении). НО! Появился закономерный вопрос: а это вообще будет полезно? Т.е. вместо того, чтобы дрочить матрицы или рандомом писать строчки паролей, я бы мог сделать что-то реально полезное, за что HR'ы смогут дать плюсик. Понятное дело, что делать ручками что-то буду, да боюсь, что и время проебу, и показать людям нечего будет.
Аноним 28/08/23 Пнд 14:58:32 2821055 146
>>2821052
Пиши круд на спринге.
Калькуляторы и матрицы это для студентов младших курсов, такое никому не нужно.
Аноним 28/08/23 Пнд 15:17:57 2821068 147
>>2821052
Шта? Бля, ты какие-то тупые вопросы задаёшь. Ну тебе калькулятор матриц полезен? Ты матрицы считаешь? Зачем стараться для hr, если у неё задачи другие. Она не считает матрицы. Старайся делать полезное для себя. Нахуя ты стараешься для собеседования. А если ты устроишься на работу, получается ты вообще прекратишь учиться и кодить хобби проекты? Только дом-работа, дом-работа, дом-работа. И так каждый день.
Аноним 28/08/23 Пнд 15:21:15 2821069 148
>>2821052
>я бы мог сделать что-то реально полезное, за что HR'ы смогут дать плюсик
Олсо, если ты реально хочешь понравиться HR, юзай свою харизму. Сделай ей комплимент, расспроси как дела, поболтай о чём-нибудь. Софт-скиллы гораздо больше на баб действуют чем твои проекты. Ей это всё равно ничего не говорит.
Аноним 28/08/23 Пнд 15:30:35 2821073 149
>>2821069
Рычи, двигай тазом. А потом по такой же схеме и с лидом?
Аноним 28/08/23 Пнд 15:33:12 2821074 150
Снимок экрана 2[...].png 776Кб, 2410x730
2410x730
>>2816575 (OP)
Мужики, я когда "Hello world" запускаю - потребление ОЗУ на машине поднимается с 2GB до пикрила. Не подскажете, что делать?
28/08/23 Пнд 15:35:52 2821075 151
Аноним 28/08/23 Пнд 15:36:17 2821077 152
>>2821074
Ты в сколько строчек кода смог уложиться, вкатун?
Аноним 28/08/23 Пнд 15:40:37 2821078 153
>>2821074
Xms убери, петросян ебаный.
Аноним 28/08/23 Пнд 17:46:32 2821189 154
image.png 116Кб, 1038x744
1038x744
Бля, ну и хуйни наворотил, конечно... Зато целых 300 строчек ушло.
Аноним 28/08/23 Пнд 17:47:57 2821192 155
>>2821052
Идеи для петов приходят сами собой. Если вообще приходят. Если не приходят, то нихуя не делай. Просто научись делать то, что надо кабану.
Нефтяники после работы не бурят скважины у себя на даче, а лифтеры не строят в своей квартире лифт, ну ты понел.
Аноним 28/08/23 Пнд 17:57:27 2821206 156
>>2821192
А водопроводчики меняют водопровод и дома и на даче и у матери и у тещи.
Аноним 28/08/23 Пнд 17:58:53 2821207 157
>>2821206
А программисты меняют винду дяде Бафомету. Что сказать хотел?
Аноним 28/08/23 Пнд 18:01:54 2821214 158
>>2821207
В пятницу зашел к бывшему однокласснику на работу. Он в госухе работает админом. Ему там при мне тетя срака тыщу рублей сунула за переустановку винды и сделала новый заказ на настройку чего-то там у нее на смартфоне.
Аноним 28/08/23 Пнд 18:42:20 2821269 159
>>2821051
У гошников целый тред, про то что в го вкатиться нельзя.
Аноним 28/08/23 Пнд 18:43:38 2821271 160
Я хрюкнула
Аноним 28/08/23 Пнд 18:44:12 2821272 161
>>2821269
Гошники те еще пупуньки
Аноним 28/08/23 Пнд 19:10:01 2821290 162
>>2816636
блядь я заебался работать
Аноним 28/08/23 Пнд 19:11:14 2821292 163
Аноним 28/08/23 Пнд 19:13:32 2821294 164
Вот допустим пришел у меня запрос с полем "Service-Version": "v3" в теле. В коде у меня есть три имплементации сервиса с разными квалифаерами. Как мне вызвать из контроллера нужный сервис, не делая трех разных ручек?
Аноним 28/08/23 Пнд 19:22:39 2821302 165
.jpg 50Кб, 600x449
600x449
>>2821294
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());
}
Аноним 28/08/23 Пнд 19:39:30 2821319 166
Аноним 28/08/23 Пнд 19:45:06 2821325 167
Аноним 28/08/23 Пнд 20:05:58 2821351 168
Аноним 28/08/23 Пнд 20:09:55 2821354 169
>>2821069
И что она сделает? Сбросит в группу где сидят сеньки, которые собесят на проект:
>Ребята посмотрите кандидата, он спросил как у меня дела
?
Решение о тех. собесе не hr принимает обычно.
Аноним 28/08/23 Пнд 20:15:29 2821360 170
Аноним 28/08/23 Пнд 20:24:29 2821370 171
>>2820174
В джаве отсутствует практически выбор. Это энтерпрайз язык и дорожка тут одна:
Spring, Spring Boot, Hibernate
Из spring как минимум spring data, spring web, spring security.
Это прям минимальный набор для джуна.
Аноним 28/08/23 Пнд 20:30:05 2821376 172
Аноним 28/08/23 Пнд 20:43:18 2821379 173
Аноним 28/08/23 Пнд 20:49:47 2821384 174
>>2821370
А в какой момент можно сказать, что вот точно возьмут на позицию жуна, если опыт работы нулевой?
Аноним 28/08/23 Пнд 20:50:10 2821385 175
Аноним 28/08/23 Пнд 20:55:30 2821392 176
>>2821384
Ни в какой. У джунов супер большая конкуренция, нужна удача. Ты как учащийся в вузике по специальности можешь попробовать залететь на стажировку к крупным компания, у них есть такие программы.
Аноним 28/08/23 Пнд 21:08:25 2821406 177
>>2821384
Нулевым опытом в жабе можно считать два года опыта коммерческой разработки. Это уровень джуна.
Аноним 28/08/23 Пнд 21:11:01 2821409 178
>>2821384
Когда тебе перезвонит кабаньё и скажет, что ты принят джуном ты долбоеб?
Аноним 28/08/23 Пнд 21:16:57 2821418 179
Аноним 28/08/23 Пнд 21:22:05 2821424 180
>>2821409
Нет ты.
>>2821406
И сколько лет некоммерческой до этого?
>>2821392
К сожалению именно я не могу. Ну лан, буду дальше задрачивать джеву. Посмотрим, по собесам, если они будут вообще.
Аноним 28/08/23 Пнд 21:22:51 2821426 181
Нихуя, в идее есть возможность генерировать геттеры в стиле пупуня() а не гетПупуня().
Называется records style.
А я всегда переписывал гетпупуни руками...
Аноним 28/08/23 Пнд 21:26:17 2821432 182
>>2821426
А нахуя этот рекорд стайл нужен?
Аноним 28/08/23 Пнд 21:30:12 2821436 183
>>2821432
объект.пупуня() красиво выглядит и оопшно

объект.гетПупуня() - гадость, воняет процедурными мешками с переменными, а не ООП
Аноним 28/08/23 Пнд 21:35:46 2821440 184
>>2821436
Субъективно.
Но я точно уверен, что геттеры стандарт и поддерживаются во многих штуках, а вот рекорд стайл... Хотя может уже переписали все, черт его знает.
Аноним 28/08/23 Пнд 21:38:36 2821444 185
>>2821432
Records появились в java 17. Это имьютебл объекты, которые могут хранить только состояние, без методов. Астеничная модель pojo официально победила, сосат
Этот >>2821436 чел несет хуйню. ООПшно это как раз get, так как не нарушает инкапсуляцию.
Аноним 28/08/23 Пнд 21:41:02 2821446 186
>>2821444
Ну я знаю что это, да и разве в 17, а не 14? Огрызок проекта вальгалла...
Аноним 28/08/23 Пнд 21:44:30 2821448 187
>>2821446
Между 8, 11 и 17 версиями ничего не было.
Аноним 28/08/23 Пнд 21:44:49 2821449 188
>>2821446
Окончательно оформились в 16, но в целом ты прав - в 14 начали внедрять.
Аноним 28/08/23 Пнд 21:46:00 2821451 189
Аноним 28/08/23 Пнд 21:48:26 2821454 190
>>2821451
Это снапшотные версии для внутреннего тестирования.
Аноним 28/08/23 Пнд 21:49:35 2821455 191
>>2821454
Да, поетому всем похуй, но формально было.
Аноним 28/08/23 Пнд 21:57:28 2821458 192
28/08/23 Пнд 21:58:35 2821460 193
ЛОБОК блять.
Аноним 28/08/23 Пнд 21:59:12 2821462 194
Аноним 28/08/23 Пнд 22:03:03 2821464 195
Аноним 28/08/23 Пнд 22:04:52 2821467 196
>>2821464
Ух блять, make java great again
Аноним 28/08/23 Пнд 22:05:42 2821470 197
>>2821467
Тока ответьте, нахуя вам это?
Аноним 28/08/23 Пнд 22:07:05 2821473 198
>>2821470
ну вот чтобы вот пупуня() а не гетПупуня(), что за странные вот вопросы
Аноним 28/08/23 Пнд 22:09:33 2821477 199
>>2821473
Какой же ты ебанутый... Прям как я. Удачи там.
28/08/23 Пнд 22:10:17 2821479 200
Если у них нет ломбока, пусть юзают Котлин.
Аноним 28/08/23 Пнд 22:14:47 2821488 201
У нас чел есть, который на сервис с единственным полем навешивает @FieldDefaults(makeFinal=true, level=AccessLevel.PRIVATE) и при этом все равно умудряется прописать private final
Аноним 28/08/23 Пнд 22:16:09 2821491 202
>>2821488
А вдруг добавят новое поле и забудут.
Аноним 28/08/23 Пнд 23:35:53 2821566 203
>>2821269
Они понимают что гойда учится за пару месяцев и активно гейткипят.
С джавой проще - по спрингу инфы нет и вкатиться быстро не выйдет и так.
Аноним 29/08/23 Втр 00:04:36 2821599 204
>>2821566
В смысле нету инфы, не понял
Аноним 29/08/23 Втр 00:09:16 2821602 205
>>2821470
>>2821473
На самом деле это ответ на давнюю дискуссию: что важнее srp или инкапсуляция? Инкапсуляция предполагает, что данные и методы их обрабатывающие должны быть инкапсулированы внутри программной единицы. Исходя из этого раньше рич модель класса (имеющая данные и все методы, которые обрабатывают эти данные) считалась каноном. Но дядя Боб в своей книге и отдельно в статье https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html разгромил нахуй этот подход как противоречащий srp. После этого произошло переосмысление модели класса и астеничная модель класса, в которой мы храним состояние, а всю обработку вынесли в сервисный слой и этот подход стало нормой. Java 17 по сути закрепил этот подход внеся объекты типа record, которые по сути и являются формализованной астеничной моделью pojo/
Аноним 29/08/23 Втр 05:45:44 2821661 206
>>2821444
>ООПшно это как раз get, так как не нарушает инкапсуляцию

В чем разница? Что там что в другом месте приватную пупуню вывалили наружу.
Аноним 29/08/23 Втр 07:59:15 2821674 207
Аноним 29/08/23 Втр 08:01:08 2821675 208
Аноним 29/08/23 Втр 09:08:56 2821691 209
>>2821674
Смотри, в классе есть мембер Пупуня пупуня.

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

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

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

Ты шизик.
Аноним 29/08/23 Втр 09:12:50 2821695 210
>>2821691
Гет пупуня может делать клон пупуни.
Аноним 29/08/23 Втр 09:13:56 2821698 211
>>2821695
А пупуня не может.
Таблетки пей, чел...
Аноним 29/08/23 Втр 09:16:51 2821700 212
>>2821698
Ты мне в ротик язычком положишь их?
Аноним 29/08/23 Втр 09:30:57 2821704 213
Аноним 29/08/23 Втр 09:34:01 2821707 214
>>2821704
А ты instanceof-ом проверь.
Аноним 29/08/23 Втр 09:39:05 2821711 215
>>2821707
false

throw new NoPillsPutingInMouthException("Only pupunya allowed")
Аноним 29/08/23 Втр 09:39:52 2821713 216
>>2821700
А ты вызовешь коллект ртом?
Аноним 29/08/23 Втр 09:50:56 2821720 217
>>2821713
Для тебя и флатмап могу.
>>2821711
Мне кажется, что ты знак восклицания поставил и таблетки зажал, хад.
Аноним 29/08/23 Втр 10:50:39 2821763 218
>>2821691
Мне вообще не понятно с какой целью в рекордах нужны ацесоры, логично бы было сделать поля публичными. private поле в рекорде это какая-то хуйня.
Аноним 29/08/23 Втр 10:53:46 2821767 219
>>2821763
Так они публичные же, не?
Аноним 29/08/23 Втр 11:04:56 2821775 220
image.png 1Кб, 311x33
311x33
image.png 11Кб, 538x77
538x77
>>2821767
Не. Непонятно нахуй они так сделали, но там под капотом метод ацессор вместо публичного поля.
Аноним 29/08/23 Втр 11:05:26 2821777 221
Аноним 29/08/23 Втр 11:17:49 2821793 222
>>2821775
Пишут, не баг, а фича https://stackoverflow.com/a/66705027

Правда зачем private на final не совсем понятно. Ну возможно как гарантия того, что все не владельцы будут только по методам стучаться.
Аноним 29/08/23 Втр 11:31:38 2821817 223
>>2821566
>С джавой проще - по спрингу инфы нет и вкатиться быстро не выйдет и так.
Сиранул с этого иксперта.
Аноним 29/08/23 Втр 11:34:57 2821821 224
>>2821793
>Правда зачем private на fina
Угу. У меня к этому собственно вопросы. У вас же не может быть нарушения инкапсуляции по определению, зачем вам выставлять кастомный интерфейс к классу?
Аноним 29/08/23 Втр 12:08:20 2821862 225
Снимок экрана 2[...].png 57Кб, 1920x1033
1920x1033
Аноны, что за хуйня? Почему не могу скачать Android Studio?
Под VPN доступ тоже блокируется
Аноним 29/08/23 Втр 12:11:07 2821872 226
>>2821862
Скачай с сайта жетбрейнс, хотя то, что ты не можешь даже скачать пограму о многом говорит. А и пиздуй в андроид тред.
Аноним 29/08/23 Втр 12:20:12 2821889 227
Аноним 29/08/23 Втр 13:49:41 2821993 228
>>2821817
>>Сиранул
Ты осторожнее с этим, а то шарпомухи щас налетят.
Аноним 29/08/23 Втр 14:44:03 2822062 229
Хуй.
Аноним 29/08/23 Втр 17:27:30 2822252 230
А в ломбоке можно сделать сеттеры, которые возвращают новый обжект? Типо такого:

Point{
x, y;

setX(x){
return new Point(x, y);
}
}
Аноним 29/08/23 Втр 17:34:36 2822263 231
Аноним 29/08/23 Втр 17:40:08 2822269 232
>>2822263
Пакажи, чтобы она не this возвращала.
Аноним 29/08/23 Втр 17:42:13 2822271 233
Аноним 29/08/23 Втр 17:46:08 2822279 234
image.png 70Кб, 698x464
698x464
>>2822271
Да че ту билдер? Это другой паттерн. Похож на конкатенацию строк и пик.
Аноним 29/08/23 Втр 19:20:21 2822408 235
А тут все читали книги Губки Боба?
Я вот не смог дочитать, меня лид подтравливает за это.
Аноним 29/08/23 Втр 19:30:01 2822417 236
image.png 167Кб, 1147x796
1147x796
Зацените orderBy. Откыврял что-то из QueryUtils, вроде работает даже. Удивительно...
Аноним 29/08/23 Втр 19:51:43 2822431 237
>>2822417
Чел, у тебя какой-то не уловимый оверхед, как мне кажется постоянно. Но я краем глаза слежу, та к что могу пиздеть. Но от var я бы отказался, этот реверанс в сторону нетепезированных языков, который нахуй не нужен в джава.
Аноним 29/08/23 Втр 20:01:29 2822439 238
Всегда всё пишу с var. Если бы было можно, юзал бы его и в параметрах методов, и в полях классов.
Аноним 29/08/23 Втр 20:09:16 2822450 239
>>2822439
А чо в питон просто не съебешь?
Аноним 29/08/23 Втр 20:10:11 2822452 240
>>2822450
Так это ж динамикодрисня.
Аноним 29/08/23 Втр 20:13:14 2822455 241
image.png 122Кб, 1081x580
1081x580
>>2822431
Ну хуй знает насколько понятнее без них, но вары хотя бы скрывают вот эти очень нужные предупреждения. Можно, наверное аннотациями заглушить, но нужно ли
>Чел, у тебя какой-то не уловимый оверхед, как мне кажется постоянно.
Не очень понимаю где, конечно. Вот тут постарался все к одной табличке свести. Хотя если orderBy будет не по id, то, наверное будет жоин есче.
Но в идеале, наверное стоит ввести отдельный журнал, мол какие и когда кейсы крутил какой-то аккаунт. А то максимум по журналу... Впрочем черт его знает, я-т никогда в жизни не видел нагруженных сервисов.
Аноним 29/08/23 Втр 20:18:54 2822469 242
>>2822455
Ответь себе на вопрос "а почему нужны выры"?
Аноним 29/08/23 Втр 20:21:13 2822472 243
>>2822455
>>2822469
Ну то есть это же просто -"я гихуя не понял, пусть будет"
Аноним 29/08/23 Втр 20:25:21 2822480 244
>>2822469
Количество кода сокращают и импортов. Возмоожно будет проще смотреть. Мне-то в общем-то пофиг вар не вар. Я вон до какого-то момента онли на 8 писал, так по фану.
Просто если без вар реально понятнее, можно убрать, почему нет...
>>2822472
Не очень понял.
Аноним 29/08/23 Втр 20:29:41 2822482 245
>>2822480
А когнитивная сложность не сокращается. Твой код должен кто-то поддерживать и читать.
Аноним 29/08/23 Втр 20:31:18 2822484 246
>>2822472
>>2822480
Ты используешь вар, когда не очень сам понимаешь, что к тебе предет.
Аноним 29/08/23 Втр 20:35:39 2822489 247
>>2822484
Придет Twist<?>, но я не могу взять класс этого типа, тк в жабе есть фича по стиранию информации об женериках в рантайме.
>>2822482
Понятно. Ну уберу большую часть.
Аноним 29/08/23 Втр 23:23:45 2822615 248
var hui = new var();
Аноним 29/08/23 Втр 23:57:57 2822639 249
>>2822484
Наоборот, антипаттерн же. Вар только там, где и так все понятно и нет смысла повторять.
Аноним 30/08/23 Срд 00:00:07 2822640 250
Аноним 30/08/23 Срд 00:03:15 2822643 251
var var = new var().var() тогда уж
Аноним 30/08/23 Срд 00:28:56 2822663 252
>>2822643
Ты долбоеб классы с маленькой буквы называть?
Аноним 30/08/23 Срд 00:31:29 2822667 253
>>2822663
Если надо дать больше var'ов богу var'ов, то можно пойти и на такие жертвы
Аноним 30/08/23 Срд 03:50:09 2822772 254
>>2822643
Можно возвращать 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(.....

Ну это все алеф нуль, а как бы выйти в потенциальную бесконечность....
Аноним 30/08/23 Срд 06:21:20 2822914 255
>>2818916
Неправильно. Инкапсуляция для дебилов и борьба с симптомом. Наследование и полиморфизм же абсолютнейшая базища.
Аноним 30/08/23 Срд 06:36:15 2822921 256
>>2822914
Ты из тех, кто думает, что инкапсуляция - это private?
Аноним 30/08/23 Срд 07:01:36 2822924 257
>>2822921
Да по разному можно спрятать данные и насрать в суп тому, кто пользуется твоим кодом. Что сказать-то хотел?
Аноним 30/08/23 Срд 07:08:40 2822927 258
>>2822924
Хотел сказать, что попробуй потоньше, трололоша.
Аноним 30/08/23 Срд 10:45:54 2823050 259
Немедленно признавайтесь,какая пупуня УРОНИЛА ПРОД °(>_<)°
Аноним 30/08/23 Срд 10:47:29 2823051 260
>>2822640
var var = VarFactory.createVar().setVar(new Var())
Аноним 30/08/23 Срд 11:13:13 2823065 261
>>2823050
Подними попу и посмотри в зеркало.
Аноним 30/08/23 Срд 12:03:32 2823108 262
>>2823065
Нееееет это не я,это кто-то другой,я не виноват
Аноним 30/08/23 Срд 12:09:54 2823111 263
>>2823108
Пупуня смешная - сразу оправдывается, покекал с тебя, кек
Аноним 30/08/23 Срд 12:12:29 2823114 264
>>2823111
Так это ты УРОНИЛ ПРОД,я так и знал что что-то тут не чисто,хватайте пупуню ураааааа
Аноним 30/08/23 Срд 12:24:59 2823128 265
>>2822772

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

Но тьюринг-полный ли var?
Аноним 30/08/23 Срд 12:33:38 2823142 266
>>2823128
>дженерики в джаве тьюринг-полны.
Серьезно? Пакажи статью, чет на пиздешь похоже
Аноним 30/08/23 Срд 12:36:21 2823148 267
>>2823142
Дык гуглится же

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

Сразу скажу - за контент я не поясню. Сам просто порофлил с постановки вопроса и заголовков. За что купил, за то и продаю.
Аноним 30/08/23 Срд 12:37:17 2823150 268
>>2823148
>University of Kent, United Kingdom

Литералли британские ученые кстати
Аноним 30/08/23 Срд 12:49:20 2823170 269
>>2823148
>Дык гуглится же
Ну как правило гуглить за кого-то себе дороже.
А по поводу статьи... Ебать я скучно живу оказывается. Надо бы запомнить.
Аноним 30/08/23 Срд 18:38:30 2823613 270
Ненавижу ебаные метрики,делаешь сука атомик интежер переменную, завязываешь на нее метрику. Сетаешь и ебаная мразь графана отображает ее рандомно. Может половину значений скипнуть,может вообще нихуя не показать,одним словом,мразь. Еще и в микрометр ебаный ручной счетчик не завезли, приходится с этими ебаными атомиками ебаться
Аноним 30/08/23 Срд 18:47:18 2823641 271
>>2823613
А может ты криворучка просто, не думал, няшк?
Аноним 30/08/23 Срд 19:11:49 2823697 272
Аноним 30/08/23 Срд 19:12:53 2823702 273
>>2823697
Ну это хорошо: не оскуфел окончательно
Аноним 30/08/23 Срд 19:23:01 2823728 274
>>2823702
Меня очень подбодрили твои слова,на этой позитивной волне я решил посмотреть в графану,вдруг карма на нее распространяется. И знаешь что? Ничего не поменялось. Видимо докер контейнеры изолированны от позитивной энергии
Аноним 30/08/23 Срд 19:34:35 2823750 275
image.png 55Кб, 886x367
886x367
>>2823728
Сожалею. Правда не очень понял откуда тут докеры взялись и графаны какие-то. Так бы помог, но я не девопс.
А пока и сам вот ебался какое-то время с транзакциями, чтобы они нормально обрабатывали случай insert. А то до insert нихуя не видит, потому может создаться дубликат... Можно конечно ограничить на стороне бд, но так-то хуйня, если б я не мог на сервер стороне это сделать.
Правда чувствую, что скоро придется документировать всю эту парашу, чтобы я сам хотя бы не запутался.
Аноним 30/08/23 Срд 19:52:58 2823792 276
>>2822252
Да, можно
lombok.accessors.chain = true
Аноним 30/08/23 Срд 19:54:06 2823793 277
>>2823792
А, ты не хочешь this, хз тада
Аноним 30/08/23 Срд 20:28:00 2823836 278
>>2823750
У тебя блядь есть из коробки метод existById,кастылестроитель
Аноним 30/08/23 Срд 20:38:13 2823851 279
>>2823836
Бля, ну сложно описать, что решает эта хрень. Есть две транзакции и у них есть кондишен по какому-то полю. Но если это поле еще не существует, то обе транзакции создадут свое поле и добавят в бд оба. Т.е. insert вроде как не создает конфликта.
Вот эта хрень заставляет создать что-то вне транзакции основной. Т.е. есть гарантия, что поле точно существует, и так лока по нему будет.
Аноним 30/08/23 Срд 20:43:42 2823861 280
>>2823851
Ты наркоман,сходи к специалисту
Аноним 30/08/23 Срд 20:44:51 2823864 281
>>2823861
Я лучше к бакалавру схожу.
Аноним 30/08/23 Срд 20:48:55 2823870 282
30/08/23 Срд 23:03:55 2823968 283
123.jpg 639Кб, 2000x1330
2000x1330
Всем кулити, вкатун ИТТ.
Посоветуйте книгу годную по жабке. Помню как-то давно пытался в жаву, обосрался на спринге и дропнул от лютого жопного возгорания. Сейчас сильно тянет снова говном обмазаться.
Кстати, если кто может поделиться адекватным роадмапом, буду крайне благодарен. В целом буду рад любому совету. нет, дропать сразу не хочу
С меня как всегда.
Аноним 30/08/23 Срд 23:06:33 2823969 284
>>2823968
Иди в шарп. Как тебе совет?
А так, попробуй jcip. Самая годная книга, имхо.
Аноним 30/08/23 Срд 23:11:23 2823973 285
>>2823968
Книг нет, все мурзилки уважают.
Аноним 30/08/23 Срд 23:11:36 2823974 286
Аноним 30/08/23 Срд 23:14:24 2823979 287
>>2823969
>>2823974
Слушайте, а в шарп треде также активно в жабу гонят?
Аноним 30/08/23 Срд 23:36:58 2824001 288
>>2823979
Нет, там наслаждаются лучшим языком всех времён и народов.
30/08/23 Срд 23:44:52 2824005 289
Аноним 30/08/23 Срд 23:49:54 2824006 290
>>2824005
Шарп сочетает в себе скорость джавы и выразительность питона.
31/08/23 Чтв 02:03:51 2824036 291
>>2824006
Тогда зачем джава и питон, если шарп успел и рыбку съесть и на хуй сесть?
Аноним 31/08/23 Чтв 05:53:13 2824059 292
>>2824036
Затем, что долбоеб пиздит. Вчера в МВП треде петушарп был обоссан по фактам, в связи с чем у шарпоблядей замечено рост средней жопной температуры.
Аноним 31/08/23 Чтв 08:59:00 2824124 293
>>2824006
Нет, петушарп это убогий клон джавы, в котором дополнительно накидана куча бесполезного говна, от котого у программистов на нормальных языках глаза на лоб лезут, и в котором нет таких маст-хев функций, как автоматическое создание конструктора и классы-делегаты.
Аноним 31/08/23 Чтв 11:03:05 2824253 294
>>2824124
Зато там дженерики нормальные. И есть объекты значения.
Аноним 31/08/23 Чтв 11:24:41 2824309 295
>>2824253
Хуерики. Это все хуйня, а не аргументы.
Главный реальный плюс шарпа перед жавой - шарпомухи дешевле и их легко продавить на фулстек.
Аноним 31/08/23 Чтв 11:27:27 2824315 296
>>2824253
Скоро и то, и другое завезут нам. Project Valhalla.
Аноним 31/08/23 Чтв 11:34:46 2824328 297
>>2824315
Дженерики в рантайме не появлятся никогда. Никакой проект это не исправит. Ну впрочем всегда можно сказать нинужна.
>>2824309
А почему дешевле?
Аноним 31/08/23 Чтв 11:35:34 2824330 298
>>2824328
>Ну впрочем всегда можно сказать нинужна.
Да, и тебе нужно будет доказывать, почему это нужно.
Аноним 31/08/23 Чтв 11:45:10 2824346 299
>>2824330
Ни, слишком скучно. Лучше минетик мне сделай.
Аноним 31/08/23 Чтв 12:57:51 2824447 300
Вопрос о подрисовывании опыта, вот вам дают анкету при устройстве и че вы там пишите про бывшее место работы?
Аноним 31/08/23 Чтв 13:02:53 2824454 301
Если тимлид помогает джуну по каждой задаче это хуевый знак?
Аноним 31/08/23 Чтв 13:04:17 2824455 302
>>2824447
Шиномантаж.
>>2824454
Наоборот же. Ты ему главное тоже приятно сделать не забудь.
Аноним 31/08/23 Чтв 13:29:39 2824489 303
>>2824454
Хороший, попу помой главное.
Аноним 31/08/23 Чтв 13:32:11 2824494 304
>>2823613
>Еще и в микрометр ебаный ручной счетчик не завезли, приходится с этими ебаными атомиками ебаться

Чем тебя Counter не устроил?
Аноним 31/08/23 Чтв 13:33:38 2824498 305
>>2822252
То что ты описываешь, называется не сеттер, а wither. У ломбока для них свои аннотации.
Аноним 31/08/23 Чтв 13:35:21 2824500 306
>>2824006
Звучит как антиреклама.
Аноним 31/08/23 Чтв 13:44:00 2824521 307
>>2824498
О, спасибо няш.
А ты случаем еще не знаешь, как бы в гитхабе красиво схемки для дб нарисовать? А то mermaid мне не нравится...
Аноним 31/08/23 Чтв 13:54:09 2824549 308
Аноним 31/08/23 Чтв 13:55:18 2824552 309
>>2824549
Он на отдельном сервере рендерится, потому его нет в гитхабе.
В README.md имею ввиду.
Аноним 31/08/23 Чтв 13:56:20 2824555 310
>>2824455
>Шиномантаж.
Как это коррелирует опытом разработки, который требуется в вакансии?
Аноним 31/08/23 Чтв 13:57:05 2824556 311
>>2824552
ну и хуйня лол
в гитлабе все робит
Аноним 31/08/23 Чтв 13:57:35 2824560 312
>>2824555
>коррелирует опытом разработки
Рандомный набор слов какой-то.
Аноним 31/08/23 Чтв 13:58:19 2824562 313
Аноним 31/08/23 Чтв 14:05:54 2824577 314
>>2824562
Хотя, там вроде тоже нельзя именно поля указывать как связи. Только сущности.
Аноним 31/08/23 Чтв 14:19:28 2824601 315
Аноним 31/08/23 Чтв 14:32:45 2824628 316
>>2824560
Те кто рисуют себе опыт разработки, которого нету в трудовой, когда заполняют анкету при устройстве, что там пишут? И что в дальнейшем происходит так сказать
Аноним 31/08/23 Чтв 14:41:32 2824639 317
>>2824628
Так а все, приехали. Если тебе дают такую анкету, значит тебе уже априори не верят, и стопудово откажут.
Аноним 31/08/23 Чтв 14:48:28 2824643 318
>>2824639
А если такую анкету дают уже после пройденных собесов, при устройстве? Ее же везде дают, где-то после, где-то перед собеседованиями
Аноним 31/08/23 Чтв 14:49:17 2824644 319
Анончик, только начинаю вкатываться в 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)
Аноним 31/08/23 Чтв 14:53:55 2824649 320
>>2824643
>после пройденных собесов, при устройстве

Пока оффера на руках нет, булки не расслабляй.
Аноним 31/08/23 Чтв 14:55:19 2824650 321
>>2824644
>javax.xml.ws.
в свежей жабе это вроде выпилили

искать вида "maven repo javax.xml.ws.Service"
Но придется пересобирать
Аноним 31/08/23 Чтв 14:58:43 2824657 322
>>2824644

1. Не быть салагой, не искать оправданий
2. Четко понимать, как работает класслодинг в джаве - как таковой, и в конкретном сервере, который ты используешь (обычно в каждом сервере могут быть свои навороты поверх стандартного класслодинга - гугли документацию)
3. Если первые два пункта - чек, просто гуглишь имя класса. Обычно этого хватает чтобы понять, откуда он. Остается только забрать джарку и подставить в класспаф
Аноним 31/08/23 Чтв 15:11:23 2824671 323
Почему чем больше я кодю, тем больше хочеца соснуть член дать в попу и нарядиться в женское? Что за проклятье такое, даже тьюрингу был, ну того.
Аноним 31/08/23 Чтв 15:33:43 2824700 324
>>2824671
Длина моего члена 16 + 1 сантиметр
Аноним 31/08/23 Чтв 15:34:41 2824702 325
>>2824650
>>2824657

Спасибо, значит всё же надо надо эти классы для старых веб-сервисом вручную включать в проект. Это грустно. Особенно с учётом того что это не мавен проект, а говно мамонта на нетбинсе 10 летней давности.
Аноним 31/08/23 Чтв 15:39:17 2824708 326
>>2824671
Осознаешь свой объективный уровень знаний и ищешь более эффективный способ получения оффера. Молодец,далеко пойдешь
Аноним 31/08/23 Чтв 15:46:03 2824715 327
>>2824671
Попробуй шарп, расхочется.
Аноним 31/08/23 Чтв 15:53:41 2824730 328
>>2824702
Мавен и в нетбинсе можно. В чем проблема?
>>2824708
Я много знаю вообще-то! Не надо тут мне.
>>2824715
Помню на юнити что-то делал: не понравилось.
>>2824700
Ты так и не сказал, нафига там 16+1 скуфы написали
Аноним 31/08/23 Чтв 15:57:23 2824736 329
>>2824730
>Мавен и в нетбинсе можно. В чем проблема?

Он скорее всего имеет ввиду проект, созданный нетбинсом для нетбинса, где вся сборка описана в нетбинсовых xmlках. Такое следовало запретить женевской конвенцией еще на заре появления IDE что для нетбинса, что для идеи.
Аноним 31/08/23 Чтв 15:57:25 2824738 330
15515330599100.png 301Кб, 500x725
500x725
>>2824730
> Мавен и в нетбинсе можно. В чем проблема?
> Я много знаю вообще-то! Не надо тут мне.
> Помню на юнити что-то делал: не понравилось.
> Ты так и не сказал, нафига там 16+1 скуфы написали
Аноним 31/08/23 Чтв 15:58:05 2824741 331
>>2824730
Назначаю тебя главной пупуней треда
Аноним 31/08/23 Чтв 16:06:31 2824758 332
>>2824736

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

Штош. Когда-нибудь это всё равно нужно было сделать.
Аноним 31/08/23 Чтв 16:26:31 2824801 333
>>2824741
О. Прогресс с наркомана и ебнутого. Пасиба, няш.
>>2824738
Да, я.
Аноним 31/08/23 Чтв 18:15:41 2824976 334
>>2819640
Бля, у меня такая ахуенная идея появилась. А что если разделить сервисы по типу их предназначения, как в 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);
}

Что думаете?
Аноним 31/08/23 Чтв 18:22:26 2824986 335
>>2824976
Ты только что ООП только зачем-то аннотации присобачил.
Аноним 31/08/23 Чтв 18:26:37 2824992 336
>>2824986
Аннотации чтобы как-то обозначить принадлежность. Не пустой же интерфейс по типу Serializable делоть.
>Ты только что ООП
Ну нормльно нормально, стабильно велосипеды делаю.
Аноним 31/08/23 Чтв 18:37:35 2825009 337
Аноним 31/08/23 Чтв 19:21:45 2825079 338
Расскажите как у вас с либами обстоят дела. Я изначально вообще на плюсах хотел писать, ибо все либы есть и под Java и под C++, но я заебался их подключать. Я готов язык сменить, если все заработает там быстрее
Аноним 31/08/23 Чтв 19:43:06 2825108 339
>>2825079
Подключаются либы легко, указываешь имена и версии либ в специальном файлике, мавен сам их скачает и подключит к проекту.
> Заработает быстрее
Ты имеешь в виду скорость разработки или скорость работы итогового приложения? Если второе, забудь о джаве.
Аноним 31/08/23 Чтв 19:46:42 2825114 340
>>2825108
>Если второе, забудь о джаве.
JVM круче любого компилера на плюсах.
Аноним 31/08/23 Чтв 19:48:11 2825115 341
>>2825009
Ну неплохо. Только придется убрать все Set<> оставив только @ManyToOne, в ином случае мердж через жопу работает, так как там lang, а не persistence. Чет все меньше и меньше хибера остается...
Аноним 31/08/23 Чтв 19:57:22 2825131 342
>>2825108
Первое, конечно
> забудь о джаве
Че ты так. Она нормально работает, если числаки не дрочить
Аноним 31/08/23 Чтв 20:01:37 2825140 343
>>2825131
Тогда бери джаву, конечно. Ну или шарп
Аноним 31/08/23 Чтв 22:11:03 2825247 344
>>2825131
Нормально все с числами - весь матан давно уже на интринсиках.
Аноним 31/08/23 Чтв 22:14:34 2825252 345
могу поотвечать на вопросы про яву перед сном
Аноним 31/08/23 Чтв 22:18:32 2825260 346
>>2825252
Назови все методы класса Class.
Аноним 31/08/23 Чтв 22:21:06 2825263 347
Аноним 31/08/23 Чтв 22:22:49 2825265 348
>>2825263
Гуглить я и сам умею, а ты развлеки меня.
Аноним 31/08/23 Чтв 22:24:25 2825266 349
>>2825252
Спи иди, график собьешь.
Аноним 31/08/23 Чтв 22:25:39 2825267 350
image.png 33Кб, 1087x177
1087x177
Хм, а ведь кто-то ворчал на вложенные классы. Это даже не умещается. Ну думаю ахуенно получится.
Аноним 31/08/23 Чтв 22:29:53 2825271 351
Аноним 31/08/23 Чтв 22:31:33 2825273 352
Аноним 31/08/23 Чтв 22:40:35 2825280 353
image.png 24Кб, 585x299
585x299
image.png 61Кб, 993x405
993x405
>>2825273
А по мне красиво. Только не знаю нужен ли Service у интерфейсов на конце. Еще из-за контракта можно сляпать метод getModel. Похоже на пик 2 чем-то.
>>2825271
Няшно звучит.
Аноним 31/08/23 Чтв 22:50:41 2825289 354
>>2825267
Кажется, я уже где-то видел эти дтохи.
Аноним 31/08/23 Чтв 22:52:07 2825290 355
>>2825289
Тебе показалось. Успеть бы конечно за ночь все это написать...
Аноним 31/08/23 Чтв 23:01:30 2825298 356
>>2825290
Ничего, сразу узнаю, где я это видел, как только окажется в основной ветке.
Аноним 31/08/23 Чтв 23:14:30 2825308 357
>>2825280
>А по мне красиво
Такое.

Я те так скажу по своему опыту: если у тебя нет логики, которая работает с коллекциями инстансов дженерикового интерфейса обобщенно - в пизду дженериковые интерфейсы. Даже про запас - не надо. Заебешься потом. Я крайне сомневаюсь что у тебя такая логика есть.
Аноним 31/08/23 Чтв 23:21:00 2825312 358
>>2825267
Какая же ты невероятная пупуня,с ума сойти просто
Аноним 31/08/23 Чтв 23:24:15 2825315 359
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();
}
}
Аноним 31/08/23 Чтв 23:33:48 2825321 360
image.png 62Кб, 1135x349
1135x349
>>2825315
Какое-то нагромождение из ключевых слов.
>>2825308
Ну в спринге эта логика есть же. По сути я просто хотел подобное в филды пихать. Т.е. как бы переход от конкретного сервиса к отдельной функции, которую может реализовать кто угодно. Не знаю как это можно выразить не через женерики... Типа 100500 интферфейсов писать? Или просто забить и оставить только инстансы.
>>2825298
А че за основная ветка?
>>2825312
Стараюсь...
Аноним 31/08/23 Чтв 23:53:15 2825336 361
>>2825267
Пр с таким говном я б нечитая дальше первой строки отправил нахуй.
Аноним 01/09/23 Птн 00:00:14 2825341 362
>>2825336
Да блин. А ведь такая красота могла выйти. Ну тогда инстансы оставлю. Сосредоточусь только на разделении типов сервисов.
Аноним 01/09/23 Птн 00:31:07 2825372 363
Аноним 01/09/23 Птн 00:40:09 2825379 364
>>2825372
Че вы постоянно бухтите...
Аноним 01/09/23 Птн 00:53:19 2825384 365
>>2825372
Долбаеб, ты с 21 жявой на РАБОТЕ лет через 10 столкнешься и то врядли.
Аноним 01/09/23 Птн 00:54:08 2825385 366
>>2824643
Анкету попросили заполнить в одной около госпараше после успешного собеса.
В анкете помимо персональных данных просили написать все имущество что у меня есть (недвига, авто и тп), фио и контакты всех родственников ну и тп дичь.
Оффера кстати так и не дали, якобы там начальник в отпуске и подписать прям щас не может тупая отмазка, другие "подписывали" картинкой печати и подписи или вообще хуй забивали - это не документ в РФ, а вы там пока заполните и ждите проверки сбшников.

Не стал дожидаться, через неделю я уже работал в другом месте без всяких анкет.
Аноним 01/09/23 Птн 08:22:18 2825458 367
Привет всем джавунам
Подскажите, сейчас в РФ реальной найти шабашку на этом стеке или удел джависта - аналить на финтехи до пенсии?
Аноним 01/09/23 Птн 10:33:50 2825551 368
>>2825458
Шабашка это фриланс что ли? Видел всякие курсы для вкатунов с почасовой ставкой. Если сенька++ то мб возьмут на парт тайм.

А так везде - фултайм. В основном надо вникать в бизнес логику, а не просто писать код.
Аноним 01/09/23 Птн 10:37:30 2825553 369
>>2825372
Не отклоняйся от линии партии, с выходом 21 версии этот функционал перестал быть бесполезным синтаксическим сахаром для детишек из майкрософт и стал очередным достоинством современного языка программирования от оракла.
Аноним 01/09/23 Птн 10:56:06 2825565 370
>>2825372
у меня своя либа для шаблонов
java 5 кун
Аноним 01/09/23 Птн 10:59:47 2825568 371
>>2825372
Так-то если почитать JEP, то будет понятно, почему они так сделали, и это уже не будет выглядеть убожеством.
Аноним 01/09/23 Птн 11:06:09 2825570 372
Главная проблема в новых строках в джаве это то, что они, блядь, какого-то хуя в превью были высраны в LTS, блядь. Учитывая, что новый LTS планируется уже после конца времён, много кто их так и не потрогает.
Аноним 01/09/23 Птн 11:07:08 2825571 373
>>2825384
Не проецируй, шарпомух.
Аноним 01/09/23 Птн 11:44:31 2825624 374
ку, ананасы, подскажите каким образом в вебфлюхе можно сделать отложенную таску, выполняющуюся ежедневно в определенное время? Flux.interval, очевидно, работает, через какое-то время после запуска, а мне нужно, условно, чтобы таска выполнялась ежедневно в 2:22 ночи. как быть?
Аноним 01/09/23 Птн 11:52:49 2825637 375
Аноним 01/09/23 Птн 12:02:34 2825648 376
>>2825637
не хочу его пробовать, думаю всякие проблемы могут вылезти в реактивном контексте, хочется именно каким-нибудь вебфлаксовским способом
Аноним 01/09/23 Птн 13:02:45 2825734 377
>>2825648
>думаю всякие проблемы могут вылезти в реактивном контексте

С чего бы?
Аноним 01/09/23 Птн 15:09:10 2825954 378
>>2825568
Выглядит все равно убого.
Аноним 01/09/23 Птн 15:13:42 2825965 379
IMG202309011709[...].jpg 22Кб, 962x322
962x322
Почему в 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.
Аноним 01/09/23 Птн 15:27:12 2826005 380
>>2825965
Не забывай себе голову пупуньскими вопросами
Аноним 01/09/23 Птн 15:32:41 2826017 381
>>2825965
А нахуя его всегда нулловым сделали?
Аноним 01/09/23 Птн 15:53:44 2826040 382
>>2825954
Да норм. Мне нравится.
Аноним 01/09/23 Птн 16:41:07 2826105 383
Почему в Java нет подобия деструкторов из C++? Это только в одном месте меня бесит - надо явно закрывать все ресурсы типо файлов, сокетов и тд. Как на C пишу. Слышал про try with resources, но это все равно не то
Аноним 01/09/23 Птн 16:52:43 2826118 384
У вас все объекты передаются по ссылке. А если я не хочу, чтобы функция поменяла переданный объект? В C++ есть константные ссылки. И тогда 100% функция не изменит ничего. А в Java че делать?
Аноним 01/09/23 Птн 17:00:23 2826128 385
>>2826105
Деструктор вызывается при уничтожении объекта. В жабе момент удаления объекта непредсказуем из-за сборки мусора, и пожтому никаких полезных действий на событие удаления объекта не повесить.
>>2826118
Проектировать объекты иммутабельными. Других способов нет.

Да, никому это не нравится. Нет, с этим ничего нельзя поделать.
Аноним 01/09/23 Птн 17:05:38 2826132 386
Аноним 01/09/23 Птн 17:32:20 2826157 387
>>2826132
Короче. Какой канон? У меня есть обращение к бд которое может мне выдать ошибку. И я хотел это в монаду Result завернуть. Выглядит красиво. Но мб у вас более хорошие способы есть
Аноним 01/09/23 Птн 17:40:01 2826168 388
>>2826132
Сьеби отсюда крестопидор
Аноним 01/09/23 Птн 17:43:45 2826177 389
>>2826157
В джаве канон - кидать эксепшен на каждый пук.
Аноним 01/09/23 Птн 17:45:18 2826179 390
>>2826177
Это же пизда производительности
Аноним 01/09/23 Птн 17:46:39 2826183 391
>>2826179
Ну скуфы из оракла стараются это оптимизировать. Кстати, а давно в крестах исключения появились?
Аноним 01/09/23 Птн 17:46:47 2826185 392
>>2826132
В стандартной нет. Есть в Vavr'е типы Either и Try
Аноним 01/09/23 Птн 17:46:50 2826186 393
>>2826179
Ты ещё не заметил, что в джаве всем похуй на производительность?
Аноним 01/09/23 Птн 17:47:12 2826188 394
>>2826183
Были с самого начала.
Аноним 01/09/23 Птн 17:47:49 2826190 395
>>2826186
В джаве похуй на тебя-шарпея, и твои маняфантазии, а с производительснотью все нормально.
Аноним 01/09/23 Птн 17:49:10 2826194 396
>>2826188
Всм? А че оно тогда сегфаулты мне кидало? И ошибки номер хуй. Или вы их в стд не юзаете?
Аноним 01/09/23 Птн 17:49:17 2826195 397
>>2826179
Есть такое мнение.

Но проблемы с производительностью эксепшенов решаемы - у эксепшена можно кастрировать метод сбора стектрейса. Метода - так себе, но видел в нескольких фреймворках это чудо.
Аноним 01/09/23 Птн 17:50:56 2826200 398
>>2826190
То-то вижуалстудия у меня летает на некроноуте, а идея жрёт все доступные ресурсы на мощной рабочей пекарне.
Аноним 01/09/23 Птн 17:52:05 2826204 399
>>2826177
А я вот помню брайн гетц говорил, мол делать логику на эксепшенах - зло. Исключительные случаи для исключительных случаев. Кто прав?
Аноним 01/09/23 Птн 17:52:18 2826206 400
>>2826200
Не ебу че у тебя там на ноуте, пидор. Скорее всего проблема в прослойке между моником и сидушкой. Или в нервном узле у тебя между ушей.
Аноним 01/09/23 Птн 17:52:26 2826207 401
>>2826194
> сегфаулты
А джава кинет эксепшен, если компьютер выдернуть из розетки?
Аноним 01/09/23 Птн 17:53:09 2826209 402
>>2826204
Гетц прав. Но когда кодеры не говнокодили, камон?
Аноним 01/09/23 Птн 17:53:17 2826210 403
>>2826168
Сам съеби отсюда, шарпоблядь. Крестовики здесь уважаемые посетители.
Аноним 01/09/23 Птн 17:58:25 2826216 404
Хуя жабадебила прорвало
Аноним 01/09/23 Птн 17:58:29 2826217 405
>>2826204
Хоть и непосредственно логику на эксепшенах делать не стоит, это один из важнейших инструментов языка и замены им нет. Почти каждый метод подразумевает наличие какого-то контекста для его исполнения. Если условия не соответствуют требуемым, необходимо вывалить исключение, и это в хорошем коде происходит очень часто.
Аноним 01/09/23 Птн 18:00:21 2826220 406
>>2826216
Тупую орущую школоту типо шарпоблядей никто уважать не будет. Крестовики обычно не являются таковыми, потому они и уважаемые.
Аноним 01/09/23 Птн 18:02:58 2826224 407
Блин, няши, это какой-то ужас. Опять проебываюсь по срокам. Из всей вчерашней замены сделал дай ты бог половину: 50 добавленных файлов ~3000 строк изменённых.
Когда я уже это закончу...
Аноним 01/09/23 Птн 18:22:59 2826245 408
Аноним 01/09/23 Птн 18:32:05 2826260 409
>>2825648
Не будет никаких проблем. @Async навесь и не парься.
Аноним 01/09/23 Птн 18:33:51 2826263 410
>>2816669
Братик, а не можешь подсказать мне как стоит реализовать security для сервисов? Сделать отдельный auth-service? В каждый сервис добавить filter? Или прям в gateway сервисе реализовать?
Аноним 01/09/23 Птн 18:39:59 2826279 411
>>2826263
ПС.
Я попробовал добавить spring security & jwt в оба микросервиса user-servic & movie-service но по итогу у меня почему то теперь на каждый эндпоинт статус 200 и пустой респонс.
Аноним 01/09/23 Птн 19:12:24 2826301 412
Наконец-то пятница,пупуням хороших выходных,вкатунам здоровья
Аноним 01/09/23 Птн 19:40:00 2826331 413
>>2826301
Буду прорабатывать монотоник стак и спринг веб флукс!
Аноним 01/09/23 Птн 19:46:52 2826339 414
Аноним 01/09/23 Птн 19:47:43 2826340 415
>>2826331
Ты хочешь выгореть не начав работать?
Аноним 01/09/23 Птн 20:38:10 2826363 416
>>2826339
Бля, я и половину слов разобрать не могу, но чувствую, что через час буду понимать всё.
Аноним 01/09/23 Птн 22:18:34 2826429 417
А как вообще внедрят jwt в микросервиса? Пилить отдельный сервис?
Аноним 02/09/23 Суб 01:49:02 2826524 418
>>2826429
Что за кончи в треде сидят, пиздец просто.
То они крестоблядей уважают, то какую то хуйню про jwt несут.
Тебе дали кейклок, нет хочу говно жрать и пилить собственный обоссаный iam который и сотой части функционала кейклока не высрет.
Аноним 02/09/23 Суб 14:45:05 2826787 419
Аноним 02/09/23 Суб 15:01:19 2826797 420
Vavr это кал.
Аноним 02/09/23 Суб 15:34:49 2826825 421
Java это кал.
Аноним 02/09/23 Суб 15:36:33 2826826 422
Аноним 02/09/23 Суб 18:23:59 2826975 423
>>2826263
Мы через keycloak реализуем. Подробности не знаю, не я этим занался. Но знаю, что там и без spring security было и вместе с ним. Подключение к oauth2 провайдерам идет через плагины кейклока. Даже какие-то свои плагины писали.
Аноним 02/09/23 Суб 18:25:31 2826976 424
Аноним 02/09/23 Суб 18:26:25 2826979 425
Аноним 02/09/23 Суб 18:29:28 2826984 426
Аноним 02/09/23 Суб 18:30:48 2826986 427
>>2826984
И как там по современному делать секурити у микросервисов?
Аноним 02/09/23 Суб 18:32:37 2826987 428
>>2826986
Ебу? Я шарпом не пользовался никогда.
Просто знаю, что аддоныдля кейклока усе, депрекатед. Теперь надо напрямую через спринг секурити делать, без прослоек.
Аноним 02/09/23 Суб 20:10:06 2827147 429
>>2826987
Что значит без прослоек? Внутри спринг секурити теперь есть ссо?
Аноним 02/09/23 Суб 20:33:16 2827203 430
>>2827147
>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

А вот спринг секурити отказался от сервера авторизации, мол вот есть кейклока и другие их и используйте.
Аноним 02/09/23 Суб 20:50:33 2827218 431
>>2827203
хуясе картельный сговор
Аноним 02/09/23 Суб 21:50:11 2827263 432
>>2820174
>на связи студент почти 2-ого курса информатики. За этот год учёбы много чего учил: C++, ASSembler, Питоняку и прочее дерьмо. Решил вкатиться на галеры явы, но чувствую, что сейчас начинать сидеть и писать голые принты с циклами не даст ничего кроме скуки. Что можно комбинировать с жабой, чтобы был интерес+выгода?Выгода имеется ввиду, что ява+хуйня_нейм даст какой-то стек

Спринг, хуйбирнейт. Вообще я бы еще навернул говна по распределенным системам, микросервисам, то как данные в БД хранятся, транзакции, шардирование, партиции, MVCC, вот это всякое.
Я когда в бакалавриате учился, от скуки начал литкод решать сутками. В итоге дорешался до того, что попал стажером в Яндекс на питухон и го, после чего к жэбе больше не прикасался в своей жизни.
Аноним 03/09/23 Вск 00:45:24 2827370 433
>>2827263
На каком языке собесился таки? На чём сейчас больше пишешь?
Аноним 03/09/23 Вск 07:25:44 2827441 434
>>2822927
По делу чё нибудь высрешь?
Аноним 03/09/23 Вск 08:41:25 2827453 435
Есть идея для джавы, как сделать её ещё прекраснее. Как превратить эту идею в JEP и увидеть реализованной в Java 22?
Аноним 03/09/23 Вск 08:42:54 2827454 436
>>2827453
Отсосать гетцу. Самый простой вариант.
Аноним 03/09/23 Вск 08:53:38 2827457 437
>>2827453
работает - не трогай
Аноним 03/09/23 Вск 08:55:24 2827458 438
>>2827457
С пятой жебы капчуешь?
Аноним 03/09/23 Вск 08:58:43 2827460 439
>>2827458
начиная с восьмой ничего существенного не добавили, только всякий мусор.
Ну кроме свитча со строками. Чем больше мусора - тем хуже для языка
Аноним 03/09/23 Вск 09:00:53 2827461 440
>>2827460
Хочешь сказать sealed интерфейсы и свитч-кейс по ним это мусор?
Аноним 03/09/23 Вск 09:01:26 2827462 441
>>2827460
Начиная с 5 так-то. До неё не было jmm. Потом мусор один. Ну може пару полезных классов только, но если работает...
Аноним 03/09/23 Вск 09:19:10 2827470 442
>>2827461
да
Давайте сделаем наследование.
А ещё давайте сделаем наследование которое нельзя наследовать
Аноним 03/09/23 Вск 09:20:56 2827471 443
>>2827470
Это не наследование, которое нельзя наследовать, а enum с поддержкой per-type данных. Я каждый раз кончаю в штаны, когда пишу свитч-кейс на силед интерфейсы.
Аноним 03/09/23 Вск 09:22:53 2827473 444
>>2827460
>Ну кроме свитча со строками
То есть switch expressions это хуйня. Понял тебя, скуф
Аноним 03/09/23 Вск 09:30:22 2827477 445
>>2827471
давай пример что ты там пишешь и от чего кончаешь
Аноним 03/09/23 Вск 09:32:08 2827478 446
>>2827473
>switch expressions
это просто исправление изначально кривого синтаксиса свича, взятого из си
Аноним 03/09/23 Вск 10:08:51 2827507 447
Аноним 03/09/23 Вск 10:43:24 2827541 448
Приструните своего долбоеба, который со своим лобком до шарпистов доебался, а то будут приняты административные меры наказания.
Аноним 03/09/23 Вск 10:46:44 2827544 449
>>2827541
>будут приняты административные меры наказания.
Эт как?
Аноним 03/09/23 Вск 11:07:07 2827549 450
>>2827544
Щитпост в жава треде будет увеличен втрое
Аноним 03/09/23 Вск 11:20:25 2827554 451
>>2827541
Чё-то пока шарпобляди срали полгода тут у нас всем похуй было.
Аноним 03/09/23 Вск 12:24:23 2827611 452
>>2826826
Опущенный шарпопетух даже нормально отразить не смог, лул.
Аноним 03/09/23 Вск 14:48:25 2827742 453
Есть кто на свежем спринг буте пишет?
Есть нужные фичи у 3.1 по сравнению с 2.7?
Вот жаба 21 выйдет через три недели. Еще через месяц думаю обновиться с 17.
А спринг бут так и не поднял. Во время выхода 3.0 я полчасика потыкал в одном сервисе - у меня сломались фейн и кафка и я забил.
Аноним 03/09/23 Вск 14:52:33 2827751 454
>>2827742
А что ты подразумеваешь говоря фичи в спринг бут? Вообще всю плеяду spring-xxx?
Аноним 03/09/23 Вск 15:11:58 2827764 455
>>2827751
Ну на самом деле да. Все фичи в артефактах spring-boot-starter-xxx версий 3.1.
Аноним 03/09/23 Вск 15:30:40 2827781 456
>>2827742
Самые заметные изменения - замена spring-security-oauth2 на spring-security и spring-cloud-sleuth на micrometer-tracing. Причем некоторые фичи при этом проебались и пришлось писать их самим. Но при этом 2.7 скоро перестанут поддерживать, поэтому на 3.х переходить придется.
Аноним 03/09/23 Вск 15:36:08 2827786 457
>>2827781
>spring-cloud-sleuth на micrometer-tracing
вот это у меня есть.
А полезное новое то что-то есть? Там я помню читал из нового есть новый http клиент, что-то про докеры. А вот по полезности - хз.
Аноним 03/09/23 Вск 15:44:41 2827789 458
>>2827786
Не особо заметил пока. Локальным докером у нас не пользуются. Есть нативная компиляция прямо в буте, но на винде она работает через жопу, очень сыро пока.
Аноним 03/09/23 Вск 15:49:22 2827792 459
>>2827789
Походу будем сидеть на 2.7 неподдерживаемом.
03/09/23 Вск 15:50:59 2827794 460
>>2816575 (OP)
тут можно пиздеть про котлин потому что jwm или я пидор?
Аноним 03/09/23 Вск 15:53:08 2827795 461
>>2827794
Только если это бековский котлин. Желательно на спринге.
Аноним 03/09/23 Вск 15:57:08 2827798 462
>>2827795
пиздец блять, есть ветка на котлин?
03/09/23 Вск 16:06:59 2827811 463
>>2827798
я недопонял, простите, ок
Аноним 03/09/23 Вск 18:11:31 2827917 464
Что почитать по нейронным сетям для начинающих человеков (без phyton )?
Аноним 03/09/23 Вск 18:16:40 2827923 465
>>2827917
В спринге такой хуйни нет. Ты точно в тот тред зашёл?
Аноним 03/09/23 Вск 19:34:40 2827982 466
Как работает логическое или "|" при присваивании значений переменных ?

int num1 = 100;
int num2 = 225;

int flags = num1 | num2;
Аноним 03/09/23 Вск 19:37:11 2827986 467
>>2827917
Математику. Университетский курс линейной алгебры, матстата и теорвер
Аноним 03/09/23 Вск 19:38:50 2827990 468
>>2827982
Это не логическое ИЛИ, а побитовое. Проходит по каждому биту первого значения и выполняет ИЛИ с соответствующим битом второго значения.
Аноним 03/09/23 Вск 21:53:40 2828096 469
А чому ломбок аннотации нельзя впихнуть в свои аннотации? Они еще и не наследуются. Это че за фича такая ахуенная? Чтобы что блятб?
Аноним 03/09/23 Вск 21:59:53 2828098 470
>>2828096
Потому что лобок создан пидорасами для других пидорасов.
Аноним 03/09/23 Вск 22:03:53 2828102 471
image.png 6Кб, 508x65
508x65
image.png 39Кб, 479x289
479x289
>>2828098
Ну я ца получаеца.
Блять, это реально троллинг или че. Може можно как-то еще этот он метход заюзать не в геттере. Но эти пидоры в изьюзах писаль, вай сложна сложна... Это есть - кушойте
Аноним 03/09/23 Вск 22:14:32 2828109 472
>>2828102
>Ну я ца получаеца.
Няшный?
Аноним 03/09/23 Вск 22:38:15 2828135 473
>>2828109
Я шизуля, так что оно того не стоит ~

Черт, обидно же, что нельзя.
Аноним 04/09/23 Пнд 05:41:51 2828280 474
>>2828135
это не просто гнев
то что сидит в мне
Аноним 04/09/23 Пнд 10:17:07 2828421 475
Ты скоро перейдёшь на котлин и ты будешь счастлив
Аноним 04/09/23 Пнд 10:18:58 2828425 476
Пупуни начинают трудовые будни
Аноним 04/09/23 Пнд 10:20:50 2828427 477
>>2828421
Спасибо, не надо, я уже перешёл на шарп.
Аноним 04/09/23 Пнд 10:28:23 2828439 478
>>2828425
Дааааа уже целый час отработал....
Аноним 04/09/23 Пнд 10:38:56 2828447 479
>>2828439
Ты такой молодец,самый продуктивный работник нашей команды
Аноним 04/09/23 Пнд 13:47:09 2828685 480
>>2820143
потому, шо throwable избыточно ждать, так как он будет либо эксепшоном, либо эрором, с которым все равно жавамашине разбираться. А возьмешь рантайм - проебешь ИОэксепшн
Аноним 04/09/23 Пнд 13:47:26 2828686 481
Не забывайте делать зарядку между работой. Вы же не хотите превратиться из пупуни в скуфуню?
Аноним 04/09/23 Пнд 13:53:33 2828698 482
>>2828685
А как ты можешь сделать иоэксепшен не проверяемым? Вопрос-то в этом.
Аноним 04/09/23 Пнд 13:55:54 2828702 483
>>2828698
Да, через Котлин или Ломбок.
Аноним 04/09/23 Пнд 13:58:34 2828706 484
>>2828702
Ломбок байткод генерит что ли? Чёт больно сильное вмешательство
Аноним 04/09/23 Пнд 14:05:33 2828714 485
>>2828698
catch (IOException e){
throw new RuntimeException(e)
}

Мимо лид
Аноним 04/09/23 Пнд 14:08:02 2828717 486
Аноним 04/09/23 Пнд 14:14:11 2828731 487
catch (Throwable t) {
throw new RuntimeException(t);
}
Аноним 04/09/23 Пнд 14:16:10 2828736 488
>>2828731
>>2828714
Просто заебатый паттерн.
Нахуя выше-то ловить что-то помимо рантайма тогда?
Аноним 04/09/23 Пнд 14:21:50 2828749 489
>>2828736
Да ничего ловить не надо. Один раз пишешь глобальный обраьотчик эксепшенов и ловишь там Exception. А catch в бизнес-логике - это почти всегда борьба с проверяемыми эксепшенами.
Аноним 04/09/23 Пнд 14:22:30 2828751 490
Аноним 04/09/23 Пнд 14:26:29 2828763 491
>>2828749
Прямо уж борьба... Например InterrputedException вполне полезное: не проебешь логику прерывания потока.
Аноним 04/09/23 Пнд 17:58:07 2829049 492
>>2828698
>>2828706

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

Ломбок просто использует один баянистый чит с прикастом эксепшенов https://github.com/projectlombok/lombok/blob/000ce6d19a3d4a7d8c88ffa51e47ffda2a3b2c79/src/core/lombok/Lombok.java#L55.
Аноним 04/09/23 Пнд 18:02:13 2829057 493
>>2828706
И да - лобок не трогает байткод. Вместо этого он делает абсолютно ректальный гейский нелегальный трюк: через приватные API выдирает из annotation processorа редактируемую версию AST сорцов, и правит это AST перед тем как оно будет скомпилировано в байткод.
Аноним 04/09/23 Пнд 18:14:08 2829072 494
Когда уже ебаный лобок форкнет жабу?
Аноним 04/09/23 Пнд 18:21:53 2829081 495
>>2829072
Пупунь,тебе не стыдно?
Аноним 04/09/23 Пнд 18:23:50 2829085 496
Пока писал пост, ответил сам себе на вопрос, но появился другой. Какую роль в деливери семантик играет продюсер??нахуй? При чем здесь сука продюсер? Или ни при чем и сам это придумал?
Аноним 04/09/23 Пнд 18:28:47 2829093 497
Не уеду домой пока не получу ответ нахуй
Отвечайте
Аноним 04/09/23 Пнд 18:33:17 2829099 498
Аноним 04/09/23 Пнд 18:35:24 2829106 499
Продюсер как-то ебет закоммитилось сообщение консюмером или нет?
Аноним 04/09/23 Пнд 18:46:59 2829124 500
видимо я перепутал джава тред с ломбок тредом.
Аноним 04/09/23 Пнд 18:48:28 2829130 501
Это логово шарпистов.
Аноним 04/09/23 Пнд 19:36:48 2829172 502
>>2829106
Нет конечно. Вся идея очередей это развязать продюсера и консьюмера, чтобы они друг о друге ничего не знали и не зависели.
Аноним 04/09/23 Пнд 19:39:53 2829181 503
>>2829172
Ну гарантии доставки-то нужны.
Аноним 04/09/23 Пнд 19:40:54 2829183 504
>>2828763
>InterrputedException
Вот как раз пример того, что нахуй не нужно.
Аноним 04/09/23 Пнд 19:48:39 2829192 505
Аноним 04/09/23 Пнд 19:52:27 2829195 506
Аноним 04/09/23 Пнд 20:04:28 2829198 507
>>2829195
Че да? Ты поясни нормально. Просто вдруг к нам зашёл кто-то уровня даг ли и лучше знает как архитектуру многопоточную сделать.
Аноним 04/09/23 Пнд 20:08:55 2829205 508
Аноним 04/09/23 Пнд 20:13:44 2829210 509
>>2829205
А че в нормальном виде нельзя было сделать? Даже для телефонов не адаптировали - держат планку, хули
Аноним 04/09/23 Пнд 20:28:15 2829230 510
>>2829198
Да нет тут никакой мудрости, просто нет таких кейсов, когда interruptedException может быть нужен.
Аноним 04/09/23 Пнд 20:29:51 2829232 511
image.png 19Кб, 718x162
718x162
>>2829230
Ты еблан? Ты хоть раз открывал доки по синхронизаторам-то?
Аноним 04/09/23 Пнд 20:31:32 2829233 512
Аноним 04/09/23 Пнд 20:33:41 2829237 513
>просто нет таких кейсов, когда interruptedException может быть нужен
фор (вар хуй : жопаФактори.гетЖопаОфАнон(">>2829230").гетХуйс()) {
__тру {
____хуй.ремув();
__} катч(InterruptedException e) {
____бреак;
__}
}
Не поймал исключение и у тебя застряли хуи в жопе.
Аноним 04/09/23 Пнд 20:36:10 2829238 514
Аноним 04/09/23 Пнд 20:50:30 2829244 515
>>2823148
Практические применения есть?
Аноним 04/09/23 Пнд 20:56:33 2829252 516
>>2829244
Заходишь в шарп тред... Применяешь
Аноним 04/09/23 Пнд 21:11:26 2829258 517
Аноним 04/09/23 Пнд 21:12:08 2829259 518
>>2829237
Так и в твоём случае хуи тоже в жопе застревают.
Аноним 04/09/23 Пнд 21:12:47 2829260 519
>>2829259
Хуевый пример просто.
Аноним 04/09/23 Пнд 21:17:28 2829265 520
>>2829205
2025 - infa po springu was released finally after 20 years of infa deprivation.
Аноним 04/09/23 Пнд 21:20:46 2829269 521
Аноним 04/09/23 Пнд 21:27:06 2829279 522
Аноним 04/09/23 Пнд 21:27:36 2829281 523
Мой лид скуф останавливает потоки через Thread.stop(). А в коде потока перехватывает ThreadDeath, обрабатывает ситуацию и снова бросает ThreadDeath. А потом аж приговаривает ух бля. Надо ли говорить какой тред дамп получается? Аж ждуны от херочек отклеиваются.
Аноним 04/09/23 Пнд 21:29:56 2829283 524
>>2829281
Почему он лид-то? Это ж пиздец полнейший ничем не оправданный.
Аноним 04/09/23 Пнд 21:31:58 2829285 525
>>2829244
Сам то как думаешь?

>>2829252
Шарпей не знает уже в какую беседу приткнуться со своими шарпами ненужными - нигде не привечают. Как же ты жалок, пиздец.
Аноним 04/09/23 Пнд 21:44:54 2829303 526
>>2829279
Пиздец люди иногда красивые идеи выдают.
Аноним 04/09/23 Пнд 21:46:37 2829308 527
>>2829244
По идее есть. На петухабре была статья про кащея, где он ебанутую валидацию на дженериках захуярил.
Аноним 04/09/23 Пнд 21:47:02 2829310 528
Ух шарп шарп шарп шарб.
Аноним 04/09/23 Пнд 22:09:24 2829328 529
Если отучился на джаву и даже прошел собес, но все это время работал по другой должности, но напиздел что опыт есть, какие подводные?
Аноним 04/09/23 Пнд 22:20:28 2829338 530
>>2829328
Как ты собес-то прошел блятб?
Аноним 04/09/23 Пнд 22:29:14 2829347 531
Аноним 04/09/23 Пнд 23:24:09 2829406 532
>>2829328
Ну тут зависит от того о каком количестве опыта напиздел.
Сколько напиздел?
Аноним 04/09/23 Пнд 23:25:38 2829408 533
А как можно сохранять сущность со связью @ManyToOne, если вот эта вложенная заполнена только по id полю и соответственно является Transient?
Т.е.
A{
@ManyToOne
B;
}
Хотелось бы провернуть подобное:
save(new A(new B(1));
Не создавая новую B.
По сути я хочу выполнить простой запрос insert.
Аноним 04/09/23 Пнд 23:31:25 2829411 534
>>2829408
Хотя надо просто optional = false ебнуть, но без insertable = false, updatable = false. Хуй знает как они сочетаются, что все в null уходит.
Аноним 04/09/23 Пнд 23:49:10 2829416 535
>>2829406
2 года, но в трудовой написано с программированием не связанное
Аноним 05/09/23 Втр 08:56:41 2829537 536
>>2829416
Понятно, ну 2 года это не много и немало. Готовься новые штуки осваивать в короткий срок, еще есть шанс спалится на какой самой простой вещи. Вполне жди мидловских задач.
05/09/23 Втр 11:11:17 2829657 537
>>2829281

Такой лид небось и JSF неплохо оприходует...
Аноним 05/09/23 Втр 12:54:32 2829766 538
>>2816575 (OP)
Соре за тупой вопрос, но:
Может ли ключевое слово static быть применено к определению внутреннего класса?
Уверен, что да, но gpt почему-то говорит, что нет. Поясните плиз
Аноним 05/09/23 Втр 13:06:42 2829771 539
>>2829766
Когда же до вас, детей имбицильных, дойдет уже...

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

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

Сука.
Аноним 05/09/23 Втр 13:14:00 2829775 540
>>2829771
Встал не с той ноги, няш?
Мима
Аноним 05/09/23 Втр 13:16:31 2829776 541
>>2829775
Ну блять, а как еще? "Уверен, что да, но gpt почему-то говорит, что нет"... Пиздец блять, сингулярность наступила. Похуй что машины так и не прошли тест тьюринга, зато люди его больше не вывозят.
Аноним 05/09/23 Втр 15:29:38 2829941 542
ананасы, сколько времени может занять перекат с ноды в джаву?

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

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

я сам на кабана ебашу за такие се 90к, хочу как мой знакомый ебанат одноклеточный 180-200 ловить (2к баксов кек)
Аноним 05/09/23 Втр 15:43:11 2829965 543
>>2829941
Почему не в шарп? И что ты о жабе знаешь, к слову?
Аноним 05/09/23 Втр 16:02:30 2829985 544
>>2829965
Потому что все шарпеи залпом перекатываются в джаву. Вот и ты тут как тут.
Аноним 05/09/23 Втр 16:06:26 2829992 545
>>2829965
на шарпе писал по универу (я с мухосранска двшного) и вакансий на шарп тут хуй да нихуя.

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

+ еще имхо конечно, но вакансии в целом по палате в финтехе и тд в ру сегменте и забугорные почему-то куда чаще на джаве встречал, поэтому кажется логичным попробовать туда (+ там куча всяких скал груви и остальной котлинатории)
Аноним 05/09/23 Втр 16:09:50 2829996 546
>>2829992
>и вакансий на шарп тут хуй да нихуя.
Главное пытаться же.
>месяца мб даже на мидла влезу
Ты ж в ней нихуя не знаешь. Каким образом ты это провернешь? Опыт на другой платформе ну никак не ляжет на опыт жабовский.
>котлинатории
Ну вот, сразу туда и катись.
>>2829985
Мимо.
Аноним 05/09/23 Втр 17:11:31 2830069 547
>>2829996

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


>Опыт на другой платформе ну никак не ляжет на опыт жабовский.
.net + nest вполне может налезть, концепции схожие есть.
Аноним 05/09/23 Втр 17:13:21 2830072 548
>>2830069
Бля мб тгшку попросить... Вместе бы подрочили :3
Аноним 05/09/23 Втр 18:01:23 2830162 549
Аноним 05/09/23 Втр 18:04:51 2830168 550
>>2830162
Бля, учитывая сколько я эти треды заебываю... @anywaythanks
Аноним 05/09/23 Втр 20:34:00 2830328 551
>>2829657
Поссал на зуммерка.
Мимо_дед_с_jsp
Аноним 05/09/23 Втр 21:31:14 2830358 552
Проясните момент по паттернам. Это говно без задач? Если нет, то какие надо использовать, чтобы не зашкварно было?
Аноним 05/09/23 Втр 21:37:22 2830364 553
>>2830358
PIDOR. Лучший из всех.
Аноним 05/09/23 Втр 21:42:10 2830372 554
>>2830364
Это импортозамещённый паттерн что ли? Я про бариновские заокеанские спрашивал
Аноним 05/09/23 Втр 21:45:49 2830376 555
Марсианский лес[...].png 1663Кб, 1023x1024
1023x1024
Как передать методу более одной переменной? Я пытаюсь передать массив, вот так:
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.
Аноним 05/09/23 Втр 21:48:22 2830378 556
>>2830376
Ну у тебя как минимум метод возвращает String[], а сохраняешь ты в String
Аноним 05/09/23 Втр 21:48:47 2830379 557
>>2830358
Паттерны - это не архитектурные бестпрактисы, а просто единообразный код, получающийся при решении схожих задач. Можно писать дохуя кода и даже не подозревать, что реализуешь какие-то паттерны, потому что они тупо получаются сами собой, когда пытаешься обобщить схожие подходы. Вот надо тебе часто создавать один и тот же объект с одинаковыми параметрами, ты выносишь логику его создания в хелпер и только месяцы спустя узнаешь, что это ниибацца какой фабричный метод.
Аноним 05/09/23 Втр 21:50:59 2830382 558
>>2830376
А через запятую не судьба? Да и варарг...
Аноним 05/09/23 Втр 21:51:56 2830383 559
>>2830378
Это поздняя итерации. Когда я возвращал String - оно точно так же не работало.
Аноним 05/09/23 Втр 21:52:47 2830386 560
>>2830378
>>2830383
Вот сейчас я просто передаю строковую переменную и возвращаю строковую переменную. Но нет - все та же херня.
Аноним 05/09/23 Втр 21:53:21 2830387 561
>>2830382
Через запятую, тупо не работает.
Аноним 05/09/23 Втр 21:55:17 2830389 562
.png 35Кб, 651x538
651x538
>>2830376
Опечатки исправь блять.
Аноним 05/09/23 Втр 21:58:06 2830390 563
image.png 48Кб, 667x543
667x543
Аноним 05/09/23 Втр 22:01:22 2830392 564
>>2830389
Какие именно, опечатки?
Аноним 05/09/23 Втр 22:03:12 2830395 565
>>2830392
Название метода и тип возвращаемого значения.
Аноним 05/09/23 Втр 22:03:31 2830396 566
>>2830390
У меня в любом случае, сломалась сама технология методов 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;
}
}
Причем в моем предыдущем коде, все идеально - методы объявляются, вызываются, все нормально.
Аноним 05/09/23 Втр 22:04:34 2830397 567
>>2830396
>сломалась сама технология методов Java
Ну классика. Это вообще известная проблема. Решается перекатом в шарпы.
Аноним 05/09/23 Втр 22:07:26 2830400 568
Аноним 05/09/23 Втр 22:10:05 2830402 569
>>2830395
Исправил опечатки. Теперь у меня лишь вываливается другая ошибка:
"java.lang.NoSuchMethodError: 'java.lang.String Yellow.forAddition(java.lang.String)'"
Аноним 05/09/23 Втр 22:13:13 2830406 570
Аноним 05/09/23 Втр 22:14:45 2830407 571
Аноним 05/09/23 Втр 22:16:57 2830409 572
ахаха блять пиздец
06/09/23 Срд 07:55:02 2830572 573
>>2830328

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

Но если ты сейчас с jsp сидишь то ебало твое перманентно обоссано, боюсь даже представить в каком бодишопе ты работаешь.
Аноним 06/09/23 Срд 08:31:32 2830587 574
>>2830572
>Зумерок не может в самоиронию
Бля чел нахуя ты ответил, да еще серьезно, на это.
06/09/23 Срд 09:02:10 2830598 575
>>2830587
>я тебя затралел нет я тебя

Чел ты себя видел в зеркало?
Аноним 06/09/23 Срд 09:08:09 2830603 576
>>2830396
>>String result = yellow1.forAddtion(array1);
>>public int forAddition(String input)
Ты на питоне программированию учился?
Аноним 06/09/23 Срд 14:49:23 2831023 577
Каравашки-кун, ты не мог бы кратко посвятить меня в доменную модель каравашек?
Какие есть агрегаты, атрибуты, события и т.д в домене каравашек?
Аноним 06/09/23 Срд 15:37:28 2831080 578
>>2831023
Такой форсер был полгода назад или больше.
Чего ты вспомнил?
06/09/23 Срд 15:37:30 2831081 579
>>2831023

БДД ЖРАЛИ НО ДОМЕН ДРИВЕН ТО НЕ ЕЛИ!
Аноним 06/09/23 Срд 15:49:10 2831097 580
Пиздец конечно эта клин акитекче блин блять нахуя
06/09/23 Срд 15:56:43 2831104 581
>>2831080
Вниманиеблядь семёнит, чтобы о нём не забыли.
Аноним 06/09/23 Срд 16:39:18 2831170 582
Аноним 06/09/23 Срд 16:58:56 2831213 583
Аноним 06/09/23 Срд 17:11:27 2831223 584
>>2831080
Я буду делать ремейк.
Аноним 06/09/23 Срд 17:14:12 2831230 585
>>2831223
Говоря о римейках - помнится был еще кинопоиск-чел. Как интересно щас у него дела.
Аноним 06/09/23 Срд 17:18:53 2831243 586
>>2831230
В фаанг устроился,работает под началом чувака,который вложенные дто делал
06/09/23 Срд 17:51:14 2831302 587
image.png 354Кб, 719x400
719x400
>>2831243

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

Рамжэш, не зря ты MIT закончил!
Аноним 06/09/23 Срд 22:59:46 2831689 588
image.png 80Кб, 727x443
727x443
А есть какие-то гайды по тому как тестировать с бдшкой? Т.е. почти функциональное тестирование но через juinit, там по полному циклу диспатч сервер -> хандлер маппинг -> контроллер -> сервис -> бд -> виев прогнать бы. Есть подобное из одной книжки, но не очень понятно как сюда еще бдшку лучше вкорячить.
>>2831243
Бля, мб лучше стоило их оставить, раз они так внимание привлекают...
Аноним 06/09/23 Срд 23:19:47 2831700 589
>>2831689
HSQL/H2 или всякие тестконтейнеры.
Аноним 06/09/23 Срд 23:22:50 2831703 590
>>2831700
Почему не jpql... Нет ну вообще понятно, что использовать. Мне не понятно как. Я ведь могу нахуярить и чистого sql со схемами, но... Нинаю даже
Аноним 06/09/23 Срд 23:25:07 2831704 591
>>2831703
Да это не то. Речь не про ORM-ы, а про создание ин-мемори БД для запуска интеграционных тестов.
Аноним 06/09/23 Срд 23:29:17 2831706 592
>>2831704
Нууу. Пример тестов можешь скинуть? Я могу конфиг сделать с такой бд, какой раз повторюсь, проблема в том, чтобы опять велосипедов не наделать...
Аноним 07/09/23 Чтв 00:18:56 2831724 593
>>2831689
Тестконтейнеры смотри. Ну или как диды через Н2.
Аноним 07/09/23 Чтв 00:24:13 2831726 594
>>2831724
Проще как диды. Но мне бы примерчик блина ~~
Аноним 07/09/23 Чтв 01:30:28 2831757 595
>>2831726
Ты никогда не вкатишься, если не умеешь гуглить. В твои 35 годиков пора уже научиться.
Аноним 07/09/23 Чтв 01:39:37 2831759 596
>>2831757
Ты откуда столько насчитал-то?
Аноним 07/09/23 Чтв 12:37:55 2832088 597
Божеее, парни, помогите, как мне написать SQL в этом ебанном @Query, который вернет HashMap<Long, Long>. Оба поля в одной и той же таблице.
Аноним 07/09/23 Чтв 12:44:47 2832095 598
>>2832088
В чем проблема брать два поля и самому мапить их?
Аноним 07/09/23 Чтв 13:05:22 2832126 599
>>2832095
Хочу сгруппировать по первому полю за один селект
Аноним 07/09/23 Чтв 13:07:16 2832128 600
>>2832088
А зачем тебе мапа-то? Вроде лист должен по get(int) справляться
Аноним 07/09/23 Чтв 13:13:16 2832135 601
>>2832126
Хотя, если тебе нужна группировка именно, то можно лист из дтоошек сделать...
Аноним 07/09/23 Чтв 13:13:29 2832136 602
Аноним 07/09/23 Чтв 13:54:38 2832190 603
Расскажите про аннотацию спринг @ServiceConnection.
Аноним 07/09/23 Чтв 14:07:02 2832201 604
>>2832190
Аннотация абсолютно точно была сделана дибильными пупунями для дибильных пупунь,использовать порядочным пупуням не рекомендуется
Аноним 07/09/23 Чтв 14:25:47 2832220 605
>>2831700
>>2831724
Так и че в итоге, делать @SpringBootTest с конфигурацией по h2 и частичным созданием бинов?
Аноним 07/09/23 Чтв 14:44:08 2832244 606
>>2832220
Делай. Ты же пупуня.
Аноним 07/09/23 Чтв 14:50:59 2832248 607
>>2832244
И так знаю... Главная причем. Ну ладно, пофиг - хоть что-то будет.
07/09/23 Чтв 15:18:18 2832268 608
>>2832201

Я твоей маме бины настраивал, пёс
Аноним 07/09/23 Чтв 15:29:23 2832276 609
>>2832268
Насмехайтесь над этой пупуней
Аноним 07/09/23 Чтв 15:30:25 2832277 610
708d93db7568441[...].jpg 74Кб, 564x798
564x798
У меня 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:
Аноним 07/09/23 Чтв 15:32:13 2832280 611
>>2832277
Выглядит как будто ты ждк не установил или что-то в этом роде
Аноним 07/09/23 Чтв 15:41:00 2832296 612
>>2832280
Все у меня установлено. Более того, до недавнего времени, когда я писал такой же код - все работало. Да и сейчас есть файлы с расширением .java, которые абсолютно нормально запускаются.
Аноним 07/09/23 Чтв 15:49:09 2832307 613
ахаха блять пиздец
Аноним 07/09/23 Чтв 15:51:35 2832310 614
Аноним 07/09/23 Чтв 15:58:11 2832324 615
Посмотрел интервью вашего любимого Евгения Борисова. Грит все, жуны не нужны, чатгпт всех заменит. Ебало?
Аноним 07/09/23 Чтв 16:55:13 2832402 616
Аноним 07/09/23 Чтв 17:08:05 2832417 617
>>2832402
Хз, когда я последний раз пробовал гпт, она мне даже банальный код написать не смогла...
Скажем есть массив произвольной глубины и надо определить зубчатый ли он.
Аноним 07/09/23 Чтв 18:12:57 2832544 618
Сидим тут
Аноним 07/09/23 Чтв 19:10:59 2832621 619
есть общение с сокетом. И есть два потока - один читает, другой пишет. Есть также InputStream и OutputStream, общие для потоков.
Делаю тест на чтение/запись, запускаю одиночный тест - нормально.
Запускаю все тесты - тесты начинают нестабильно падать. Судя по логам - из сокета не читаются данные, и тест за это время успевает завершиться.

Т.е. тред теста, тред чтения, тред записи. В треде теста я ставлю Thread.sleep. Но всё-равно почему-то не всегда читаются данные. Можно как-то синхронизировать эти потоки в разных тредах? Или сказать чтобы всегда выполнялось поровну, без отдачи приоритета тому или другому треду
Аноним 07/09/23 Чтв 19:23:20 2832633 620
>>2832621
Тред слип нихуя не гарантирует. Вообще по словам мало что ясно. Спограмируй модель небольшую с этой проблемой.
Аноним 07/09/23 Чтв 20:30:26 2832711 621
>>2832324
>Ебало?

Хороший вопрос. Скинь таймкод на интервью, тоже бы взглянул на его ебало.
Аноним 07/09/23 Чтв 20:34:31 2832721 622
image.png 291Кб, 533x579
533x579
>>2832621
Можно ебнуть две блокирующие очереди. Так, тред чтения это консумер, тред записи продусер. Тред теста будет как продусером для треда чтения, так консумером для треда записи.
Т.е. тред записи все что делает, так это кладет в очередь данные. Тред записи берет из своей очереди данные и пишет их. Можно сделать общими блокирующие очереди, а не стримы. И вот в тесте берешь данные из очереди чтения чета делаешь, клодешь в очередь записи.
Ну это если я правильно понял.
>>2832711
https://youtu.be/m8UaCpo62Cs?si=T4MFHsd2qsn0j3lG&t=2955
Аноним 07/09/23 Чтв 21:00:32 2832743 623
>>2832721
Хаха, забавно. Ну типичный евангелист, че еще от него было ожидать.
Аноним 07/09/23 Чтв 22:12:26 2832779 624
Сап джавовый, пришел за советом, у меня ситуация следующая
Я разрабатываю свою соцсеть, у которой пока есть только какой никакой фронтенд на vuejs. Мне нужно на стеке java + spring boot сделать следующий функционал. Когда user1 лайкает пост, в базу должен записываться лайк и после этого мое рест говно должно обновить данные в браузере что user1 понравился его пост. Запись лайков в базу данных я уже сделал, теперь нужно сделать так чтобы приложение уведомляла пользователя. Что лучше для этого использовать, websocket, webhook или long polling?

1. Что быстрее
2. Что меньше ресурсов сервера растрачивает
3. Что быстрее можно реализовать
Аноним 07/09/23 Чтв 22:16:15 2832781 625
>>2832779
Нахуй не надо это обновлять. Рисуй +1 лайк и все.
Аноним 07/09/23 Чтв 22:18:48 2832782 626
>>2832781
Да ебать этот варик не пойдет пчел, вот мне кажется можно попробовать использовать websocket. Он наверное куда легче нем каждый раз дрочить http запросы серверу, какими они там лонгполлингами не были
Аноним 07/09/23 Чтв 22:29:36 2832791 627
>>2832782
ТЫ ЕБЛАН СУКА ПРОЩЕ НЕ ДЕЛАТЬ ЗАПРОС ВООБЩЕ
Аноним 07/09/23 Чтв 22:35:07 2832794 628
>>2832791
ДЕГЕНЕРАТ СУКА КАК ТЫ УЗНАЕШЬ ЧТО ТЕБЕ ТВОЙ ЛЮБОВНИК ЛАЙК ПОСТАВИЛ?! Собираешься кнопку обновления дрочить пока палец не отсохнет?
Аноним 07/09/23 Чтв 22:36:20 2832795 629
>>2832794
>ТЕБЕ ТВОЙ ЛЮБОВНИК ЛАЙК ПОСТАВИЛ
ДОЛБОЕБ ПИШИ ТЗ НОРМАЛЬНО
лонг поллинг
от вебсокетов у сервера писька отвалится с каждым соединение держать в час наибольшей загрузки
Аноним 07/09/23 Чтв 22:36:40 2832798 630
Аноним 07/09/23 Чтв 22:37:43 2832799 631
>>2832794
Можно утром заходить просто же. Вот в мангалиб, например, не заморачивались с этим.
Аноним 07/09/23 Чтв 22:39:00 2832800 632
>>2832795
>от вебсокетов у сервера писька отвалится с каждым соединение держать в час наибольшей загрузки
Схуяли отвалится чмо?
Аноним 07/09/23 Чтв 22:40:16 2832801 633
>>2832800
ну раз ты самый умный то делай сам ДОЛБОЕБ
Аноним 07/09/23 Чтв 22:41:35 2832803 634
>>2832801
Ну и пошел нахуй, если не можешь нормально свои слова аргументировать
Аноним 07/09/23 Чтв 22:57:22 2832807 635
>>2832803
бисер перед свиньями не метаю
Аноним 07/09/23 Чтв 22:59:25 2832808 636
>>2832807
А мне вот тоже ничево не написал нормально, хотя я точно не свинка, не далабеб и вообще няша.
Аноним 07/09/23 Чтв 23:00:41 2832810 637
>>2832807

@АДЕКВАТНО ПРОСИШЬ СОВЕТ
@ПОК ПОК ПООК ДОЛБОЕБ ПОК ПОК
@ПРОСИШЬ АРГУМЕНТИРОВАТЬ СВОИ СЛОВА
@ПОК ПОК ПОК бисер перед свиньями не метаю
Аноним 07/09/23 Чтв 23:01:47 2832811 638
Аноним 07/09/23 Чтв 23:02:56 2832812 639
>>2832811
Всм кто? Сказал же, что няша. Вот недавно про тесты спрашивал
Аноним 07/09/23 Чтв 23:04:01 2832813 640
>>2832812
я те не писал ниче вообще ЕБЛАН
Аноним 07/09/23 Чтв 23:07:23 2832816 641
>>2832813
Тем более. Злюка ты. Одинокий, наверное.
Аноним 07/09/23 Чтв 23:12:05 2832821 642
Аноним 07/09/23 Чтв 23:20:32 2832829 643
image.png 133Кб, 1150x772
1150x772
>>2832821
Да ладно тебе, тут все свои. Вообще смари какие классные вложенные тесты получаются.
Аноним 07/09/23 Чтв 23:23:20 2832831 644
>>2832829
вложенные тесты это уважаемо
Аноним 07/09/23 Чтв 23:23:41 2832833 645
>>2832829
а стоп ты ДОЛБОЕБ с дтохами
Аноним 07/09/23 Чтв 23:27:39 2832835 646
Аноним 08/09/23 Птн 01:00:17 2832887 647
Сап, подскажите как правильно сделать? Есть один реактивный сервис с блокирующим доступом к БД (это хуйня, я знаю, не я принимал такое решение), который генерит .xlsx по расписанию, после чего отправляет этот файлик в другой сервис через WebClient. Собственно, вопрос - каким образом мне его отправлять? Обязательно ли нужно хранить сгенеренный файл на сервере, создавая File (или другую абстракцию) или же можно каким-то образом OutputStream запихнуть в WebClient и не париться о том, что где-то на диске файл будет временно храниться? Или я вообще долбоеб и то, что файл будет сохранен это нормальная практика?
Аноним 08/09/23 Птн 01:03:01 2832888 648
>>2832887
А че плохого в блокирующем доступе?
Аноним 08/09/23 Птн 04:13:14 2832928 649
>>2832887
у меня в проекте в таком случае отправляется Mono<ResponseEntity<Resource>>
Аноним 08/09/23 Птн 11:35:50 2833170 650
08/09/23 Птн 11:52:21 2833186 651
>>2833170
ПРИШЛО ВРЕМЯ ПЕРЕУСТАНАВЛИВАТЬ JDK
Аноним 08/09/23 Птн 12:11:00 2833199 652
Парни, помогите пж.

Есть сервис-регист с 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)

В композе поставил их в одну сеть и сделал зависимость. Все равно еррор. Как фиксануть?
Аноним 08/09/23 Птн 12:52:34 2833223 653
>>2832277
>Unresolved compilation problem

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

Да?
Аноним 08/09/23 Птн 12:59:38 2833231 654
>>2833199
Инфы мало. Очевидно, что сервис не может достучаться до хоста config-server:8088. Почему? Мадо смотреть что ты там в композе нахуевертил, и прочие настройки.
Аноним 08/09/23 Птн 13:03:11 2833233 655
>>2833223
>да и шарпеем свое коронное
Я тебе секрет открою, но это не шарписты. Можно легко убедиться спросив что-то шарповское.
Аноним 08/09/23 Птн 13:28:17 2833249 656
>>2833231

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:
Аноним 08/09/23 Птн 13:57:18 2833297 657
Это правда что больше половины погромистов пиздят код прода с работы?
Аноним 08/09/23 Птн 14:00:21 2833301 658
Аноним 08/09/23 Птн 14:02:15 2833307 659
Аноним 08/09/23 Птн 14:11:43 2833322 660
>>2833249

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

>config_service:
>container_name: config-service

Госпаде, ну тыб перепроверил за собой чтоле, Семен Семеныч...
Аноним 08/09/23 Птн 14:19:05 2833338 661
>>2833322
Спасибо, исправил, но толку все равно не дало. Тот же еррор.
Аноним 08/09/23 Птн 14:19:54 2833341 662
>>2833338
Пости листинг - как конкретно исправил? Опять небось накосячил
Аноним 08/09/23 Птн 14:24:35 2833351 663
>>2833341
import: "optional:configserver:http://config-service:8088"
Аноним 08/09/23 Птн 14:34:50 2833361 664
>>2833351
Сделай import: "optional:configserver:http://config_service:8088"

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

(
Аноним 08/09/23 Птн 18:31:18 2833631 666
image.png 102Кб, 1094x667
1094x667
image.png 47Кб, 723x741
723x741
В общем есть некоторый прогресс с дтошек вложенных.
Переделал архитектуру на cqrs.
Немного документации добавил.
Частично тестов.
Еще мапстркут и ломбок.
Все мапы хиберовские убрал.

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

Еще помню кто-то обещал посмотреть, когда уберу интерфейсы... Короче можете оценить....?
https://github.com/anywaythanks/Twister
Аноним 08/09/23 Птн 18:57:42 2833666 667
>>2833631
Как же здорово что ты плотно держишь всех в курсе.
Аноним 08/09/23 Птн 19:05:55 2833686 668
>>2833666
Ну вот а чтобы вы без меня делали-то?

Прикольно циферки совпали, к слову.
Аноним 08/09/23 Птн 19:10:20 2833690 669
>>2833686
> а чтобы вы без меня делали-то?
Изучали шарп.
Аноним 08/09/23 Птн 21:38:34 2833876 670
>>2833186
Долбоёб, я просто не знаю, что еще сказать, потому что у меня такой хуйни не было никогда. Отношения переустановка JDK к переустановке шинды не имеет никакого, потому что я предположил, что он хуёвую сборку скачал или она криво установилась, что может произойти с любой программой.
Аноним 08/09/23 Птн 21:48:53 2833882 671
>>2833876
Долбоеб, тебе уже сказали дать полный стектрейс, но ты продолжаешь нести хуйню.
Аноним 08/09/23 Птн 21:49:44 2833883 672
08/09/23 Птн 22:16:52 2833907 673
>>2833876
JDK ZVER CD СКАЧАТЬ БЕЗ РЕГИСТРАЦИИ И СМС С LETITBIT
Аноним 08/09/23 Птн 23:00:58 2833936 674
>>2833907
В том, что васяны делают васянские сборки виновата не jdk.
08/09/23 Птн 23:22:26 2833965 675
>>2833936
ЗАЧЕМ МНЕ НУЖЕН ШАРП, У МЕНЯ НЕТ ВРЕМЕНИ, ЧТОБЫ ЕБАТЬСЯ С НИМ
Аноним 09/09/23 Суб 00:20:39 2833992 676
Вот допустим у меня метод который вызывает другие методы

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

Если в do2 будет исключение,то метод продолжится или нет?
Аноним 09/09/23 Суб 00:23:45 2833995 677
>>2833992
Сам-то как думаешь?
Аноним 09/09/23 Суб 00:36:35 2834005 678
image.png 18Кб, 566x261
566x261
Джавапидоры, поясните новичку, нахуя мне нужен valueOf если есть уже готовый toString который и так вызывается под капотом valueOf
Аноним 09/09/23 Суб 00:39:02 2834006 679
>>2833992
Нет, конечно, сама суть исключений в том, чтобы прерывать выполнения методов вверх по цепочке вызовов, пока исключение не будет перехвачено. И после перехвата к этому методу программа не вернётся, она продолжит выполнять инструкции там, где исключение перехвачено.
Научись сам проверять изученное, вместо do3() напиши System.out.println("here"), если в консоль что-то выведется, значит, метод продолжил выполняться, иначе нет. В будущем вместо вывода в консоль научишься пользоваться дебаггером.
Аноним 09/09/23 Суб 00:40:33 2834007 680
>>2834005
Джавапидор, нахуя ты тут спрашиваешь, будто в этом треде этот язык придумали?
Аноним 09/09/23 Суб 00:45:09 2834008 681
Аноним 09/09/23 Суб 00:46:21 2834009 682
>>2834005
Ты тролишь нахуй? У тебя на скрине сука примитив, который не имеет методов. Так, для восьми примитивов свои классы обертки, для обжектов внутренний метод.
Для автобоксинга в строку при кокатенации тип 1 + "123" нужен однообразный класс, который полимрфно решит, что и как.
1 + "123" = String.valueOf(1) + "123"
Также велика вероятность, что этот метод может во время рантайма меняться.
Аноним 09/09/23 Суб 01:08:16 2834017 683
Аноним 09/09/23 Суб 01:25:58 2834020 684
>>2834009
нихуя ты умный, сам догадался?
Аноним 09/09/23 Суб 05:46:18 2834032 685
Аноним 09/09/23 Суб 07:17:37 2834055 686
В хибернейте saveOrUpdate, он race-condition безопасен? Возможно ли что произойдёт коммит другой транзакции в момент сразу после select.
Или оно через контекст работает? Тогда для корректной работы с базой может работать только одна приложуха и только через хибернейт?
Аноним 09/09/23 Суб 07:22:30 2834058 687
ff.JPG 15Кб, 641x193
641x193
>>2834009
Пиздос, что за долбоеб решил туда значение захардкодить, вместо пустой строки.
Аноним 09/09/23 Суб 08:25:47 2834081 688
Аноним 09/09/23 Суб 11:30:22 2834252 689
>>2834058
Пустая строка и null два разных случая. Ты ещё NaN в ноль преврати.
>>2834055
А он разве не просто на null проверяет id? Откуда там селект?
Аноним 09/09/23 Суб 11:36:39 2834266 690
>>2834252
а как он узнает нужно генерить insert или update?
Аноним 09/09/23 Суб 11:39:51 2834274 691
>>2834266
Я тебе уже сказал. По id. Мол вот если null, то это новый обжект, иначе уже существующий.
Аноним 09/09/23 Суб 16:00:33 2834595 692
Использую либу которая использует другу плюсовую через JNI. При попытке собрать проект получаю Can't find dependent libraries. Че делать? В инструкции ничего про это не написано
Аноним 09/09/23 Суб 16:13:18 2834627 693
>>2834595
>В инструкции ничего про это не написано
Нет ну если не написано... То в шарп только остаётся идти
Аноним 09/09/23 Суб 16:16:33 2834631 694
изображение.png 19Кб, 656x193
656x193
>>2834627
>2834627
Я даже через прогу посомтрел че ей надо. Ей нужен пик. Но я же не могу каждый раз либу ручками добавлять. Как быть?м
Аноним 09/09/23 Суб 16:32:48 2834644 695
>>2834252
>>Пустая строка и null два разных случая.
Пустую строку или нул легко отфильтровать, а так нужно парсить строку чтоб понять что эта хуита туда "null" закинула при нуловом аргументе.
Ну спасибо хоть не NPE, блядь

>>Ты ещё NaN в ноль преврати.
Так этот и есть аналог того что ParseInt(null) возвращал бы 0 или еще какое нибудь особое число.
Аноним 09/09/23 Суб 16:37:35 2834652 696
Последняя строчка инструкции говорит "Add the shared libraries within ./build/ to your application's classpath." Я это вроде сделал в intellij через project structure -> libs. И после этого у меня либа даже находится во время сборки, но дальше падает с " Can't find dependent libraries"
Аноним 09/09/23 Суб 18:10:10 2834776 697
>>2834644
Тебе б в жс с такими ахуительными идеями. Или ты оттуда как раз?
Аноним 09/09/23 Суб 18:36:24 2834832 698
Ребят сказали сделать приложение графическое на java, с открытием редактированием созданием и удалением баз данных( например mysql), подскажите с чего начать.
Аноним 09/09/23 Суб 18:46:26 2834845 699
Аноним 09/09/23 Суб 18:50:27 2834851 700
>>2834845
Свинг сдох. JFX уж лучше
Аноним 09/09/23 Суб 19:09:06 2834877 701
>>2834851
Раз на то пошло, десктоп как таковой мёртв, за исключением игор и всяких CAD.
Аноним 09/09/23 Суб 20:20:41 2834996 702
Аноним 09/09/23 Суб 21:06:38 2835051 703
Аноним 09/09/23 Суб 21:11:49 2835060 704
2bd222ea6bd63c5[...].jpg 45Кб, 450x337
450x337
ИНСТРУКЦИЯ
Аноним 09/09/23 Суб 21:16:59 2835065 705
>>2835060
> инструкция
> ряяяя рашкинские скуфы с завода
> туториал
> ОМНОМНОМ
Аноним 09/09/23 Суб 21:18:02 2835067 706
Аноним 09/09/23 Суб 21:21:46 2835073 707
Аноним 09/09/23 Суб 21:44:59 2835096 708
Аноним 09/09/23 Суб 21:53:15 2835110 709
image.png 1240Кб, 1080x1080
1080x1080
Аноним 09/09/23 Суб 22:41:14 2835182 710
>>2834776
Явное поведение вместо неявного это теперь про жс, а не про жаву?
Аноним 09/09/23 Суб 23:18:29 2835202 711
>>2835182
Где здесь неявность-то бля? Тебе явно логгируют null вместо "". Причём, если к тебе пришло "null" то это не null и не пустая строка.
А вот ввести NaN и в инты пиздец нужно, конечно. Как мы живём-то без этого. Только undefined не хватает.
Аноним 10/09/23 Вск 03:10:12 2835253 712
>>2835202
>>Тебе явно логгируют null вместо
Мне явно засирается какая то константа в ответ и узнать какая это константа сегодня можно только заглянув в исходники.

String.of(null) и String.of("null") не должны жавать одинаковый результат.
Аноним 10/09/23 Вск 09:14:35 2835385 713
>>2835253
Ну делай так
valueOf(new String(null)) == valueOf(null)//false
"null" == valueOf(null)//true
Аноним 10/09/23 Вск 11:38:30 2835469 714
>>2835385
>>Ну делай так
вот и я о том что теперь надо костыль писать и за долбоеба который в ждк насрал
Аноним 10/09/23 Вск 12:39:43 2835552 715
>>2835469
Какой же ты... Ну где тебе надо костыль писать? Даже json парсеры хуину забили. У сюка, отняшил бы ворчуна
Аноним 11/09/23 Пнд 05:23:26 2836450 716
>>2835253
>String.of(null) и String.of("null") не должны жавать одинаковый результат.
Должны.
Аноним 11/09/23 Пнд 05:25:54 2836451 717
>>2836450
Причем это, между прочим, доказывается простым логическим выводом. Это даже не вопрос дизайна языка, это вопрос понимания математики.
Аноним 11/09/23 Пнд 12:24:18 2836726 718
Пупунечки мои,у вас все хорошо? Никто вас на работе не обижает?
Аноним 11/09/23 Пнд 12:24:58 2836729 719
>>2836726
Меня никто не оценивает((
Обнимешь?
Аноним 11/09/23 Пнд 13:29:08 2836855 720
math.mp4 2941Кб, 720x576, 00:01:57
720x576
>>2836451
Ты из жс чтоли?
Каким образом у тебя null равен строке со значением?
Аноним 11/09/23 Пнд 14:19:20 2836928 721
>>2836729
Или сюда,бедная пупунечка
Аноним 11/09/23 Пнд 15:34:03 2837038 722
>>2836855
Таким, что ты сам захотел это сделать, переведя всё что угодно, в том числе строку, в строку.
Аноним 11/09/23 Пнд 16:53:38 2837192 723
Спасите, помогите. Не шарю в микросервисах. Дали проект, конфиг-сервер и эврика-сервер подняты, на каких-то портах, на локалхосте. Пытаюсь обратиться к ним из фича-сервиса. В аппликейшен-проперти в фича-сервисе написано, создателем этого всего, spring.config.import=configserver:http://localhost:8888. Если я через павершелл пингую, этот адрес он отвечает. Но когда я пытаюсь поднять фича-сервис падает с эксепшеном. Failed to configure a DataSource: url attribute is not specified... Чё ему надо? Квда смотреть?
Аноним 11/09/23 Пнд 18:05:41 2837299 724
>>2837192
По той инфе что ты дал, можно однозначно сказать только то, что твой сервис не знает, где находится его БД, так как ты ему url к БД не отдал. Может в конфиге на КС его добавить забыли - хуй знат. Инфы мало дал.
Аноним 11/09/23 Пнд 18:23:23 2837343 725
>>2837299
Я понимаю, что нет бд. А какая инфа ещё нужна? Есть пэкедж services, в нем конфиг-сервер, еврика-сервер, и пэкедж config->dev->фича-сервис-проперти. В этих проперти прописаны пути к бд. Конфиг-сервер, еврика-сервер крутятся, локально. Пытаюсь поднять фича-сервис падение.
Аноним 11/09/23 Пнд 18:49:04 2837410 726
Есть докер компоуз файл с двумя сервисами: спринг-бут приложение и постгрес. Допустим все настроено правильно, по команде докер-компоуз ап все стартует и работает нормально. Теперь нужно внести изменения в код спринг-бут приложения. Я правильно понимаю, что после этого нужно перепаковать джарник (mvn:clean package). Потом пересобрать образ и перезапустить докер-компоуз? Это все занимает много времени. Если приложение уже протестировано локально, тогда это делается один раз. А как разрабатывать сразу с докер-компоуз? Сразу извиняюсь, возможно непонятно написал.
Аноним 11/09/23 Пнд 19:15:24 2837485 727
>>2836928
Спасибо... Люблю вас, няши.
Аноним 11/09/23 Пнд 19:31:15 2837515 728
ставишь базу локально на твой комп.
В идее открываешь проект и задаешь в переменные окружения адрес и порт твоей базы. При изменении перезапускаешь приложуху в идее. Плюс появляется возможность дебага и запуска тестов
Аноним 11/09/23 Пнд 20:51:23 2837707 729
>>2837515
Если это ответ сюда >>2837410 то я так и делаю. Просто думал есть какой-то другой способ, без установки базы данных локально.
Аноним 11/09/23 Пнд 21:38:24 2837796 730
image.png 17Кб, 719x320
719x320
это пиздец блядь
Аноним 11/09/23 Пнд 21:41:57 2837806 731
image.png 12Кб, 655x112
655x112
Аноним 11/09/23 Пнд 21:43:16 2837811 732
>>2837796
Вот скокро в жабку завезут фуловый патерн матчинг, а не вот эту вот обрезаную хрень. Заживеееем.
>>2837806
:3
Аноним 11/09/23 Пнд 21:44:12 2837813 733
>>2837796
К слову, в свинге у Area есть метод для подсчета площади. То что здесь написано - хуйня.
Аноним 11/09/23 Пнд 21:46:36 2837817 734
image.png 25Кб, 1136x74
1136x74
ебало?
Аноним 12/09/23 Втр 00:27:36 2838105 735
Подскажите пожалуйста, почему нейронные сети преподносят phyton к небесам ?
Аноним 12/09/23 Втр 02:42:07 2838201 736
Поясните за топ конторы, которые работают с Java.
Очевидные Яндекс, Тинькофф, Сбер, Озон, vk, Альфа. Кто ещё?
Где ЗП выше рынка, где ниже?
Кто больше других дрочит на собесах? Тинькофф, говорят, возомнил себя Яндексом и требует алгоритмы. Что по остальным?
Хочу сразу спланировать направление, в которое буду развиваться, чтобы через годик-два херки текли от моего резюме.

Ну и можете напилить своих прохладных про работу в этих компаниях.
Аноним 12/09/23 Втр 02:43:35 2838202 737
>>2837796
Такого нету прямо щас, что-ли?
Аноним 12/09/23 Втр 02:44:13 2838203 738
Аноним 12/09/23 Втр 02:46:50 2838205 739
>>2838105
Потому что занятие дегенеративное и занимаются им дегенераты, которые ниасиливают ничего, кроме петухона.
Аноним 12/09/23 Втр 02:48:27 2838208 740
>>2838201
Давно в вк жаба-то? Она ж в днокласниках.
Аноним 12/09/23 Втр 02:49:11 2838209 741
Аноним 12/09/23 Втр 02:49:47 2838210 742
>>2838209
Бредишь что ли? Че они тогда в жпоинтах не учувствуют?
Аноним 12/09/23 Втр 02:52:25 2838213 743
>>2838210
Я чё, ебу? Может не по статусу барину и Королю Индустрии участвовать в каких-то холопских забавах. Вот вакансии у них на жабу, тысячи их: https://team.vk.company/search/?search=Java
Аноним 12/09/23 Втр 02:53:27 2838214 744
>>2838213
Контора от алишерки и король? АХахахахах, ебать. Жетбрейнс больше подходит под это звание, но они свалили.
Аноним 12/09/23 Втр 02:55:10 2838215 745
>>2838214
Я не говорил, что они короли, просто они могут себя такими считать. И не в плане королей джавы, а в плане крупнейшей и фактически единственной после начала гойды сосальной сети в пидорашке.
Аноним 12/09/23 Втр 02:59:38 2838216 746
>>2838215
Все перечисленные тобою конторы, окромя вк, учувствовали в жпоинтах. Крупнейший банк, крупнейший поиск и тд и тп.
>фактически единственной
В мечтах разве что.
Вот даже по твоей хуйне, это сервисы от мейла и андроид. Ну вперед, че. Только это не вк, а говнецо от мейла.
Аноним 12/09/23 Втр 11:05:52 2838383 747
Подскажите пожалуйста, как написать резюме?
Аноним 12/09/23 Втр 11:09:36 2838386 748
Аноним 12/09/23 Втр 11:36:09 2838409 749
>>2838383
С ххру импорт сделай
Аноним 12/09/23 Втр 17:08:12 2838818 750
Ура ребята меня переводят с проекта на 5 джаве на допиливание легаси системы на груви 2, я щас кончу...
Аноним 12/09/23 Втр 17:22:20 2838832 751
>>2838818
С герыча на метадон
Аноним 12/09/23 Втр 21:15:13 2839072 752
>>2838201
Хуавей. Хедхантер.
Из крупных еще МТС вроде ничего. Х5 вроде не так плохи.
В озоне джавы нет.
Но после ухода жидбрейнса, оракла, райфа и дойчебанка единственным местом с большой компетенцией по жабе остался тинек.
Аноним 12/09/23 Втр 21:25:14 2839078 753
Какая разница между этими двумя случаями:

1)Вызов метода webClient (асинхронный)
2)Вызов метода restTemplate из метода,который помечен @Async
Аноним 12/09/23 Втр 21:26:24 2839081 754
>>2839072
Тинек дрочат алгоритмы и при этом делают неустойчивую парашу. Работать у таких лицемерных выродков это позор
Аноним 13/09/23 Срд 01:28:18 2839218 755
image.png 20Кб, 728x169
728x169
Аноним 13/09/23 Срд 07:02:15 2839263 756
Аноним 13/09/23 Срд 09:15:35 2839336 757
>>2839218
Пиздаболы ебаные,ведомые пидорасы,в новых версиях будет RestClient. Тот же самый темплейт без изменений,но с новым названием. Омномном зато не деприкейтед это другое омномном
Аноним 13/09/23 Срд 09:16:10 2839337 758
>>2839218
Да и я обычный рест темплейт вызываю,а не асинк
Аноним 13/09/23 Срд 11:08:39 2839447 759
Аноним 13/09/23 Срд 12:14:27 2839506 760
Есть простые объекты. Хочется их сохранять и читать из файла. Формат не бинарный, а json, xml, что угодно. Как правильно?
Аноним 13/09/23 Срд 12:18:53 2839516 761
>>2839506
Качаешь парсер и все. А вообще есть sqlite
Аноним 13/09/23 Срд 12:36:09 2839540 762
>>2839506
Сохраняй, как угодно. Какая разница? Лишь бы java serialization не использовать.
Аноним 13/09/23 Срд 13:28:12 2839592 763
>>2839506
>json, xml

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

мимо джава-джунчик
Аноним 13/09/23 Срд 14:14:30 2839651 766
>>2839625
Я понимаю все посты, но как же много тут даунов.

мимо мидол
Аноним 13/09/23 Срд 14:16:27 2839654 767
Аноним 13/09/23 Срд 14:23:51 2839664 768
>>2839337
А как аннотация работает? Я думал она готовое берет, а не сама реализует. Типа как с транзакциями: проще делегировать jta.
Аноним 13/09/23 Срд 14:29:54 2839670 769
>>2839654
Да хотя бы аноны, кормящие шарпоблядей.
Аноним 13/09/23 Срд 14:31:25 2839672 770
13/09/23 Срд 14:56:59 2839697 771
Аноним 13/09/23 Срд 15:26:46 2839733 772
Аноним 13/09/23 Срд 15:29:03 2839736 773
А как запретить изменение полей? Вот я сделал класс который хранит описание задачи. Я не хочу, чтобы какой то еблан изменил это, потому что задача по ходу выполнения никогда не меняется. Но у если наружу торчит string, то как запретить менять это поле?
Аноним 13/09/23 Срд 15:29:24 2839737 774
>>2839664
Хуярит прокси над методом и выносит в отдельный поток,для асинк потоков есть отдельный эксекьютор сервис сингл че то там эксекьютор сервис
Аноним 13/09/23 Срд 15:29:46 2839739 775
Аноним 13/09/23 Срд 15:30:37 2839742 776
>>2839736
Сделать поле файнал епта,еще и класс можешь тоже финальным сделать чтобы от него унаследоваться никто не мог. Плюс если ты не сделаешь сеттеры то и менять будет нечем
Аноним 13/09/23 Срд 15:31:59 2839747 777
>>2839737
СимплАсинкТаскЭкзекьютор,во ебать
Аноним 13/09/23 Срд 15:37:09 2839754 778
>>2839747
М, точно. Ну это вряд ли тоже самое, что и у вебклиента. Тк в последнем верояяятно нет блокирующего кода, а значит натив треды не простаивают.
С лумом на это поебать будет, конечно.
Аноним 13/09/23 Срд 22:57:43 2840378 779
А можете подсказать как мне триггер в бд оформить?
Вот я 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 пока не знаю.
Как лучше поступить, пупуни?
Аноним 14/09/23 Чтв 00:12:17 2840441 780
image.png 56Кб, 744x560
744x560
>>2840378
Хм, судя по всему надо второй подход через какие-то temp таблички делать. Ммм, ну и хуита.
Аноним 14/09/23 Чтв 12:45:41 2840861 781
>>2840441
Твоя задача изначально ёбань какая-то.
Аноним 14/09/23 Чтв 13:00:27 2840892 782
>>2840861
Да и сам он пидорас скорее всего. Иди ка ты нахуй,пидорас,с такими вопросами
Аноним 14/09/23 Чтв 13:12:33 2840915 783
>>2840861
В чем ебань?
>>2840892
Ты не няшный, не пойду я к тебе.
Аноним 14/09/23 Чтв 13:38:45 2840943 784
Аноним 14/09/23 Чтв 13:52:45 2840957 785
Пишу игрушечную стистему сборки. И хочу вести лон процесса сборки. На сколько норм пропихнуть лог через несколько классов внутрь? Звучит как хуйня полная. Но как иначе?
14/09/23 Чтв 13:53:35 2840959 786
Аноним 14/09/23 Чтв 14:00:51 2840971 787
>>2840378
Опиши человеческо-бизнесовым языком - что делаешь? Может на самом деле тебе нужно вообще не то, что ты описываешь?
Аноним 14/09/23 Чтв 14:25:03 2841009 788
>>2840957
>На сколько норм пропихнуть лог через несколько классов внутрь?

Это как?
Аноним 14/09/23 Чтв 14:26:15 2841011 789
>>2841009
У меня есть класс самой системы сборки, класс задачи сборки, класс всех задач сборки. И пихать лог через это все нет желани
Аноним 14/09/23 Чтв 14:26:51 2841013 790
>>2841011
Я сейчас думаю, что наверное и не буду это делать. Буду только ошибки логгировать, а их через исключения пробрасывать
Аноним 14/09/23 Чтв 14:33:07 2841023 791
>>2841011
Я не врубаюсь, что значит "пихать лог". Ты руками чтоли логируешь, прям в стрим файла лога? Если так, то не еби себе мозг и возьми уже slf4j. Откроешь по логгеру в каждом классе и отлоггируешь все что нужно без гомопропихонов.

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

Плохая идея, потом сам об этом пожалеешь. Логируй все, что может представлять интерес. Если заботит перформанс, уводи часть логов в трейсы, за проверку isTraceEnabled/isDebugEnabled, и включай/выключай трейсы конфигом.
Аноним 14/09/23 Чтв 15:49:19 2841117 792
>>2840971
Если я опишу вы не будете мне помогать. Знаю я вас... Уже хеем вон обзывают. Давай так, я опишу, а ты точно хоть чем-то мне поможешь, м?
Аноним 14/09/23 Чтв 15:54:34 2841123 793
Аноним 14/09/23 Чтв 16:02:25 2841131 794
1694696544490.jpg 287Кб, 1080x1829
1080x1829
>>2841123
Ты же не он, да?

Ну в общем поле с числом - это шанс выпадения. Для формулы сумма всегда должна быть равна 100 или 1.
Иначе говоря, есть n предметов у каждого есть свой шанс выпадения и я не хочу допускать ситуации, как в той новости, когда насчитали 146%. Я могу со стороны ресурс сервера это гарантировать, но в одной книжке писали, мол если на уровне бд нет валидации - ваши данные хуйня, тк строятся на хрупких гарантиях консинстентости.
Реальные данные на пике и поле соответственно - percentage_wining.
Аноним 14/09/23 Чтв 16:08:28 2841136 795
>>2841117
Бояться быть покрытым хуями - в интернеты не выходить. Что ты теряешь, кроме собственного достоинства, которое разрабам вообще не положено?
Аноним 14/09/23 Чтв 16:15:04 2841143 796
>>2841131
>Иначе говоря, есть n предметов у каждого есть свой шанс выпадения и я не хочу допускать ситуации, как в той новости, когда насчитали 146%

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

А ты возьми и храни не проценты, а веса. А вероятность получай уже постфактум, путем деления веса на их общую сумму. И ничего валидировать не придется. Не?
Аноним 14/09/23 Чтв 16:27:01 2841154 797
>>2841136
Я няша, меня не кроют хуями. :3
Просто боюсь, что у меня тут слишком специфичная репутация и из-за нее игнорить могут.
>>2841143
Деление операция которую я вообще не хочу допускать. Какая-то 1/3 непредставима в BigDecimal.
Аноним 14/09/23 Чтв 16:36:28 2841166 798
>>2841154
>Просто боюсь, что у меня тут слишком специфичная репутация и из-за нее игнорить могут.

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

>Какая-то 1/3 непредставима в BigDecimal.
А по твоему numeric в БД - это другое, чтоли? И во что ты собрался десериализовывать эти вероятности при извлечении?

Никакого пресижена ты априори не потеряешь, храня целочисленные веса. А там уж чтобы приготовить омлет, яйца однажды придется разбить во что-то.
Аноним 14/09/23 Чтв 17:00:16 2841202 799
image.png 47Кб, 719x320
719x320
>>2841166
Да не будет ниче.

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

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

И не рассказывай больше сказки о том что "это другое".
Аноним 14/09/23 Чтв 17:43:16 2841306 801
>>2841269
Блин, я правда так плохо объясняю что ли~
Ммм, на данный момент у меня нет в формулах деления, а значит и потери точности. И изначальная гарантия, по тому, чтобы сумма шансов была равна 1 или 100 с делением будет вообще недостижима, максимум в какой-то области, мол 1±mc, а это слабая гарантия.
Аноним 14/09/23 Чтв 17:59:34 2841338 802
кто нибудь сталкивался с приемом RTP, а в частности DTMF? ебучий JMF не поддерживает его из коробки, в апи гайде написано, что можно вкорячить туда свой payload type, но, сука, не написано как...

может кто то уже с этим ебся и что то подскажет?
Аноним 14/09/23 Чтв 18:08:24 2841364 803
>>2841338
Расшифруй аббревиатуры брат, я джун...
Аноним 14/09/23 Чтв 18:11:47 2841375 804
>>2841364
rtp - real time protocol, типа голос, в этом случае
dtmf - Dual-Tone Multi-Frequency, передача циферок во время звонка, тут речь идет про rfc2833
jmf - java media framework, фреймворк для всей этой хуйни
я тоже друн, брат
Аноним 14/09/23 Чтв 18:12:34 2841378 805
>>2841306
Ну допустим.

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

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

=====

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

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

В этой же книжке по совести должны были написать, что консистентность консистентности - рознь, и она бывает вообще разная, в зависимости от постановки проблемы и требований к системе. В том числе - eventual. Где есть нормализация, случается и денормализация. Консистентность очень часто сознательно ломают во имя прочих плюшек. Микросервисная архитектура вся строится литералли на на идее о разбиении монолитной схемы на bounded contextы с потоками эвентов между ними. Поэтому скорее всего нет ничего зазорного в том, чтобы заниматься валидацией таких кейсов, как у тебя, со стороны сервера. Если ты понимаешь, что делаешь и знаешь свою СУБД.
Аноним 14/09/23 Чтв 18:16:56 2841394 806
>>2841375
Я бы сконвертировал голос в base64 и передал бы в джейсоне по ресту.
джуно макака
Аноним 14/09/23 Чтв 18:20:37 2841399 807
>>2841394
не покатит, во-первых, это sip клиентпочему я сразу это не написал..., т. е. все протоуолы уже описаны и есть оборудование, которое по этим протоколам работает, а во-вторых, рест это tcp, соответственно, задержки
Аноним 14/09/23 Чтв 18:28:37 2841410 808
image.png 76Кб, 790x781
790x781
image.png 120Кб, 1000x538
1000x538
>>2841378
>И как ты выражаешь в процентах случай
Логично, что никак. Абсолютно не мои проблемы. Я дал точность, допустим 2 знака после запятой. Вот пиши "0.33", "0.33", "0.34". Естественно я могу дать и 38 знаков после запятой. По сути те, кто проектируют шансы должны скушать вот это вот ограничение, а сильная гарантия останется.
>должны были написать
Вообще там много разного написали - пик1. А по поводу нормализации и прочего - это не моя экспертная область, вон даже пишут: спросите админа.
В общем пофиг, я уже написал темп таблички через апи Work хибера. Будет какой никакой опыт.
Аноним 14/09/23 Чтв 18:29:27 2841414 809
>>2841306
>с делением будет вообще недостижима, максимум в какой-то области,

И кстати, вот это вот твое "недостижима" - вопрос очень относительный. Потому что весь прикол arbitrary precision numbers именно в том, что в отличие от классических плавающих точек с фиксированной длиной, ты сам определяешь путем presicion и scale величину того самого "плюс-минус". И эта область может быть запредельно микроскопической, в ущерб скорости вычислений. Поэтому давай избавляйся от этих своих стереотипах.
Аноним 14/09/23 Чтв 18:32:31 2841421 810
>>2841414
Ууу, а темп таблички бьют по перфомансу? По сути ж они будут использовать раз в никогда админами сайта.
Ну по сути я хочу гарантировать без плюс и минуса. На данный момент я могу это осуществить и вроде без потерь по перфомансу, но даа пришлось в jdbc залезть.
Аноним 14/09/23 Чтв 18:33:53 2841424 811
>>2841410
>Логично, что никак. Абсолютно не мои проблемы. Я дал точность, допустим 2 знака после запятой. Вот пиши "0.33", "0.33", "0.34". Естественно я могу дать и 38 знаков после запятой. По сути те, кто проектируют шансы должны скушать вот это вот ограничение, а сильная гарантия останется.

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

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

Дело твое. Чужие сексуальные фетиши - не предмет для дискуссий.
Аноним 14/09/23 Чтв 18:37:05 2841431 812
>>2841421
>Ну по сути я хочу гарантировать без плюс и минуса.

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

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.
Аноним 14/09/23 Чтв 18:37:05 2841432 813
>>2841424
Правила округления будут на уровне ресурс сервера, а не бд. Т.е. данные не однозначны. Хотяя, можно и их запихать в бд, наверное.
>не предмет для дискуссий
В плане... Как же так
Аноним 14/09/23 Чтв 18:45:46 2841448 814
>>2841431
Если даже из-за правил округления бд 0.33333333 ушло в 0.34, то триггер проверит, а точно ли сумма будет равна 1. Если нет, то пошлет нахуй.
По сути с таким правилом неважно какие округления были до записи, главное, что записано все однозначно и консистентно. А значит при чтении не возникнет различных интерпретаций.

А вот кстати по поводу смешения процента из-за добавления, вообще это как фича, тк на данный момент я не придумал как мне сделать PUT.
Аноним 14/09/23 Чтв 18:56:20 2841459 815
>>2841448
Да нихрена он не проверит! Если у тебя scale=1, твой триггер даже не увидит эту четверку в конце. А если scale>1, ты эту четверку на конце априори не получишь, и триггер будет просто вхолостую заниматься хуйней.
Аноним 14/09/23 Чтв 19:01:56 2841470 816
>>2841459
Блин, ну вот увидим. Ты главное подожди - вот допишу все ddl. Я ведь помню мне тут не верили, что хибер не будет мне генерить декартовых произведений.
Аноним 14/09/23 Чтв 19:03:16 2841472 817
>>2841459
И пасиба, к слову, няша.
Аноним 14/09/23 Чтв 20:43:11 2841585 818
h2mem.jpg 297Кб, 1920x969
1920x969
Почаны, научите ебаться со Спринг-бутом.

Как понять, почему он мне не создает базу по конфигу, а создает рандомную херню хуйми пойми где? Консоль h2 вообще ищет базу в корне системы (C:\users\..).
Аноним 14/09/23 Чтв 22:40:57 2841694 819
ахаха блять пиздец
Аноним 14/09/23 Чтв 22:44:31 2841698 820
Мне нужно протестить сборку проекта на джаве с зависимостями. Поэтому справшиваю какую самую простую либу для Java вы знаете? Нужно что то очень простое, как isOdd для js
Аноним 14/09/23 Чтв 23:07:49 2841713 821
Аноним 14/09/23 Чтв 23:24:22 2841734 822
изображение.png 168Кб, 888x279
888x279
Я правильно понимаю, что java при запуске все эти классы в виртуальную машину скармливает? И че это за доллар в классах?
Аноним 14/09/23 Чтв 23:25:45 2841738 823
Аноним 14/09/23 Чтв 23:31:25 2841744 824
>>2841734
Не, сначала класслоадер их загружает. Вложенные классы.
Аноним 15/09/23 Птн 02:32:34 2841826 825
>>2841744
А как мне запустить вот это вот ручками?
Аноним 15/09/23 Птн 02:45:19 2841827 826
>>2841826
Создаешь класс с main методом. Запускаешь java "имя класса"
Дальше все само.
Аноним 15/09/23 Птн 03:01:23 2841831 827
>>2841827
Так main уже есть в каком то классе
Аноним 15/09/23 Птн 07:52:35 2841886 828
Аноним 15/09/23 Птн 09:40:38 2841969 829
Аноним 15/09/23 Птн 12:59:15 2842225 830
>>2841585
Всё оно тебе по конфигу создаёт. Задал h2, и получил h2.
Аноним 15/09/23 Птн 13:02:36 2842228 831
>>2841886
А ты откуда это взял вообще? Комментарии вон даже имеются.
Аноним 15/09/23 Птн 13:12:52 2842247 832
Пупунечки,готовы хорошенько отдохнуть на выходных?
Аноним 15/09/23 Птн 13:24:37 2842258 833
>>2842247
Я свою фигню доделываю, так что нет...
Аноним 15/09/23 Птн 13:49:54 2842295 834
>>2841826
Через JShell, класспаф толлько подготовь сначала
Аноним 15/09/23 Птн 14:03:41 2842305 835
>>2842225
В конфиге я прошу создать базу в памяти (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. Доходит ли он до моей инструкции или нет?
КАк этот Спринг дебажить вообще, не понимаю.
Аноним 15/09/23 Птн 14:30:11 2842323 836
>>2842305

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

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

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

Я бы в код стартеров полез. Скорее всего, у тебя либо прямыми, либо транзитивными зависимостями вытащился какой нибудь конфиг с дефолтным кондишенал бином на хикари с рандомной H2 базой. Надо найти эту декларацию и прибить.
Аноним 15/09/23 Птн 14:36:02 2842334 837
image.png 99Кб, 930x517
930x517
Наконец-то доделал, вроде. Пришлось дробить еще методы, тк ddl транзакции сносит, а dml мне тоже нужен и не хочеца самому весь персистенс контекст инсертить.... Хотя, надеюсь, что flush не убивает транзакцию и роллбэк все еще возможен.
Аноним 15/09/23 Птн 15:01:34 2842376 838
>>2842323
Да, вполне возможно. Спасибо за подсказку, друг!
Аноним 15/09/23 Птн 15:25:51 2842414 839
>>2842295
Рахобрался, спасибо. У вас все очень просто устроено, кайф
Аноним 15/09/23 Птн 15:40:32 2842433 840
>>2842334
>for each в 2033
Поток
.создать(ФабрикаМочи::моча)
.фильтр(Тепленькая.какПредикат())
.лимит(Литр.из(2))
.собрать(вВедро(Ведро::новое))
.плеснуть(форичОпущенец.лицо())
Аноним 15/09/23 Птн 15:42:29 2842437 841
Аноним 15/09/23 Птн 15:46:24 2842453 842
>>2842433
Фор быстрее стримов и во многих случаях читабельнее.
Аноним 15/09/23 Птн 15:54:36 2842477 843
>>2842433
У меня задача не создать новые обжекты, а их имя запихать в контекст. Это делается так или иначе через foreach. Где ты его возьмешь: в стриме, в коллекции, через iterable - сути никак не меняет.
Мне бы посмотреть как тут транзакции работают, а вот на такие мелочи абсолютно плевать.
Аноним 15/09/23 Птн 16:07:44 2842499 844
>>2842258
Пиши дурачок,получишь значок
Аноним 15/09/23 Птн 16:09:02 2842502 845
>>2842499
Я не дурачок. Извинись ~
Аноним 15/09/23 Птн 16:12:36 2842504 846
sage 15/09/23 Птн 16:20:28 2842518 847
Блять весь тред засран потугами неумелого хуесоса который какое-то ебанный в рот казино делает. Нахуй вы тут вообще существуете, джаваны?
Аноним 15/09/23 Птн 16:25:32 2842527 848
>>2842518
Почему неумелого-то...
Аноним 15/09/23 Птн 16:28:27 2842532 849
image 126Кб, 900x900
900x900
Аноним 15/09/23 Птн 16:31:01 2842536 850
75d5a74bf8cc876[...].jpg 91Кб, 975x720
975x720
>>2842334
На строке 35 мы отправляем в сеттер пожеванный результат из геттера, я правильно понимаю?
Строка 40 - final tempTable ()нет ничего более постоянного, чем временное)
Аноним 15/09/23 Птн 16:36:23 2842545 851
img1.png 158Кб, 991x553
991x553
img2.png 182Кб, 972x589
972x589
img3.png 48Кб, 697x171
697x171
>>2842536
Сравни до после. Цель была в пик 3.
Файнал, чтобы точно никто не поменял значение. Но так-то jvm ее и так считает final.
Аноним 15/09/23 Птн 18:06:52 2842750 852
Пытаюсь собрать java из консоли. Есть ли способ не прописывать при сборке вообще все файлы? Почему он не может их сам найти, они же импортятся через пакеты, можно по папкам пройтись и все?
Аноним 15/09/23 Птн 18:15:31 2842759 853
Аноним 15/09/23 Птн 18:34:41 2842787 854
Аноним 15/09/23 Птн 19:15:23 2842824 855
пидарасы почему всего одна либа для парсинга jsonpath на всю яву существует?!?!?!
Аноним 15/09/23 Птн 19:19:20 2842828 856
>>2842824
Зачем тебе две либы с одинаковыми задачами и разными названиями? Чтобы что?
Аноним 15/09/23 Птн 19:21:42 2842833 857
>>2842828
jayway нихуя не делает то что мне нужно
падла заприватила классы парсера
Аноним 15/09/23 Птн 19:23:32 2842836 858
>>2842833
Форкни и распривать.
Аноним 15/09/23 Птн 19:33:24 2842845 859
>>2842836
Можно же рефлекшеном расприватить, не? Другое дело, что если они запривачены, значит и никаких гарантий нет. Мб он делает что-то не так, раз они понадобились...
Аноним 15/09/23 Птн 19:59:20 2842879 860
>>2842845
Рефлекшен медленный.
Аноним 15/09/23 Птн 20:01:41 2842884 861
>>2842879
А пруфы будут? Насколько я помню, там оптимизировали ряд методов.
Аноним 15/09/23 Птн 20:21:46 2842904 862
>>2842845
как я тебе классы распривачу?
Аноним 15/09/23 Птн 20:33:09 2842921 863
>>2842884
Ну так один хуй не оптимизировали до скорости обычного вызова. Всё ещё раз в 5 медленнее.
Аноним 15/09/23 Птн 20:36:15 2842926 864
>>2842879
Жаба вообще не особо быстрая.
Аноним 15/09/23 Птн 20:38:05 2842929 865
Аноним 15/09/23 Птн 20:38:36 2842931 866
image.png 81Кб, 923x708
923x708
>>2842904
Вот так можно, но мне впадлу тут мараться с этой защитой. Думаю у тебя ее нет.
Аноним 15/09/23 Птн 20:40:02 2842932 867
>>2842931
>Object
по кайфу ебать
Аноним 15/09/23 Птн 20:41:10 2842934 868
>>2842932
Ну тк да. Потом каждый вызов метода в приватном классе будешь оборачивать рефлекшеном.
Аноним 15/09/23 Птн 20:58:18 2842961 869
vvv.mp4 8916Кб, 1280x1024, 00:02:03
1280x1024
>>2841470
В общем потестил наконец. Вот говорил же, что все ок будет. Так что.
Аноним 15/09/23 Птн 21:14:13 2842992 870
>>2842929
Принёс тебе за щёку, проверяй.
Аноним 15/09/23 Птн 21:17:43 2843000 871
>>2842992
У меня принцип: сосать только няшные члены. Очевидно ты не подходишь. Кыш
Аноним 15/09/23 Птн 21:28:47 2843026 872
>>2843000
Пидорас как всегда о хуях.
Аноним 15/09/23 Птн 21:34:18 2843041 873
image.png 56Кб, 957x546
957x546
Аноним 16/09/23 Суб 01:32:39 2843444 874
>>2843041
Ты бы хотел сначала понюхать мои яйца или ты собираешься сразу начать их вылизывать?
Аноним 16/09/23 Суб 01:51:36 2843466 875
>>2843444
А можно просто в кроватке понежица?
Аноним 16/09/23 Суб 09:47:52 2843584 876
Аноним 16/09/23 Суб 14:12:29 2843876 877
>>2843584
Ну почему вы все такие буки
Аноним 16/09/23 Суб 14:14:33 2843882 878
Аноним 16/09/23 Суб 14:16:34 2843887 879
>>2843882
В жидбрейнсе тоже есть отдел по этой херне. А че пиздец-то?
Аноним 16/09/23 Суб 14:17:35 2843893 880
>>2843887
там типа нписали сервер который возвращает самуб популярнубю песнюб года а он тупо ошибается все время в исполнителе или альбоме
Аноним 16/09/23 Суб 14:19:09 2843895 881
>>2843893
Ну то не проблемы спринга, кмк.
Аноним 16/09/23 Суб 14:30:47 2843916 882
>>2843895
нахуя интегрироваться с тем что работает через жопу? это удар по репутации
Аноним 16/09/23 Суб 14:32:44 2843921 883
>>2843916
Удар по репутации - это лог4. Тут же похуй+похуй.
Аноним 16/09/23 Суб 15:06:31 2843963 884
fleet это позорище блядь
Аноним 16/09/23 Суб 16:54:26 2844108 885
Java 21 это новая Java 8.
Аноним 16/09/23 Суб 16:55:41 2844110 886
Аноним 16/09/23 Суб 17:06:17 2844132 887
Java 17 это новая Java 8.
Аноним 16/09/23 Суб 17:07:57 2844137 888
>>2844132
Не, нихуя. Java 17 это бета-версия Java 21.
Аноним 16/09/23 Суб 17:10:12 2844146 889
Ставлю анус, после выхода java 21 о 17 и тем более 11 все забудут, как и не будут думать о переходе на новые версии, потому что всем будет 21 хватать. Потому и повторится ситуация с 8, когда все поголовно на неё перейдут резко и на ней застрянут, и не начнут переходить дальше, пока уж совсем жопу печь не будет.
Аноним 16/09/23 Суб 17:12:04 2844153 890
>>2844146
Ты дурачок. Выше не переходили из-за модульной системы в ждк9.
Аноним 16/09/23 Суб 17:12:59 2844157 891
>>2844153
А тут не будут переходить, потому что нинужно.
Аноним 16/09/23 Суб 17:14:22 2844161 892
>>2844157
Проект вальхала где? Так что это не уровень 8. Ни тем более 5.
Аноним 16/09/23 Суб 17:18:19 2844165 893
>>2844161
Так вальхаллы ещё очень долго не предвидится, её нигде, кроме маняфантазий нет. Да и в целом она не так нужна, как свитчи и лум.
Аноним 16/09/23 Суб 17:22:33 2844174 894
>>2844165
Как раз обычные разрабы лум и не заметят. Он в кишках либ будет.
Свитчи это крайне редкий кейс. Это все ещё не лямбды. Или дженерики с jmm.
А вот то, что вальхалла не нужна вообще пиздец. Это переработка объектной модели жабы, что огромный шаг вперёд.
Аноним 16/09/23 Суб 17:24:26 2844178 895
Аноним 16/09/23 Суб 17:26:24 2844179 896
Аноним 16/09/23 Суб 17:45:09 2844204 897
image.png 819Кб, 2083x1842
2083x1842
>>2844179
>Thread Wars: проект Loom наносит ответный удар
Аноним 16/09/23 Суб 17:48:59 2844220 898
>>2844204
Один из лучших докладов так-то. Не гунди, пупунь.
Аноним 16/09/23 Суб 19:41:41 2844460 899
>>2844174
>Как раз обычные разрабы лум и не заметят. Он в кишках либ будет.
А это и не нужно, в этом и задача лума.
Аноним 16/09/23 Суб 19:44:49 2844464 900
Скоро собес по Java/Kotlin. Нужны нюансы языка, вплоть до каких то знаний о байткоде, приколюках с системой типов, понимания как можно котлин в java компилировать и наоборот. Где брать материалы?
Аноним 16/09/23 Суб 19:52:29 2844474 901
>>2844464
Надеюсь тебя там обоссут.
Аноним 16/09/23 Суб 19:54:06 2844475 902
>>2844464
ПОЧЕМУ ОН, А НЕ Я???!!!!!!!!!?!??!!?!?!?
Аноним 16/09/23 Суб 19:54:40 2844476 903
>>2844464
"Скоро" это не учится. Придётся тебе отменить собес и провести год-другой в чтении спецификаций и исходников компиляторов.
Аноним 16/09/23 Суб 20:00:12 2844485 904
>>2844476
Эх, вот бы год другой в объятиях кунчега провести, а не вот это вот все
Аноним 16/09/23 Суб 20:09:48 2844491 905
>>2844476
Я знаю java на базовом уровне. Куда дальше копать то? Котлин вообще не знаю
Аноним 16/09/23 Суб 20:11:17 2844492 906
>>2844491
Ответь на пару вопросов.
String иммутабельный?
Если да, то почему в нем есть не final fields?
Аноним 16/09/23 Суб 20:15:58 2844496 907
>>2844492
String иммутабельный. А почему в иммутабельном объекте не может быть не final полей? Я не знаю как ответить на твой вопрос, потому что я не знаю какие там поля не final, но не удивляюсь тому, что они есть

Да и вообще. Я не прошу сейчас собес устраивать. Я вполне четкий вопрос задал вроде
Аноним 16/09/23 Суб 20:22:47 2844499 908
image.png 16Кб, 695x195
695x195
image.png 16Кб, 722x200
722x200
>>2844496
>А почему в иммутабельном объекте не может быть не final полей?
Это один из критериев. Иначе это де факто неизменяемый.
>Я вполне четкий вопрос задал вроде
Ну вообще у тебя пробелы в терминологии. Еще как видишь, ты не знаешь внутрянку жавакор.
>но не удивляюсь тому, что они есть
Читай effective java какой-нибудь. Лазай по сорцам кора. Потом можешь по сорцам jvm. Но правда хз, зачем последнее нужно, если только не в оракл идти.
Аноним 16/09/23 Суб 20:23:09 2844500 909
>>2844496
> Я вполне четкий вопрос задал вроде

Нет. В ответ на твою размытую постановку вопроса кроме JLS советовать вообще нечего.
Аноним 16/09/23 Суб 20:24:31 2844502 910
Аноним 16/09/23 Суб 20:41:45 2844514 911
>>2844499
>>А почему в иммутабельном объекте не может быть не final полей?
>Это один из критериев. Иначе это де факто неизменяемый.

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

Определение иммутабельности шире, нежели чем тупо "класс у которого все аттрибуты - final". Иммутабельный обьект - это обьект с неизменяемым состоянием, каким образом достугнута неизменяемость состояния - вторичный вопрос. В стринге мутабельные поля к состоянию стринги не имеют никакого отношения - это просто штуки для всяких разных оптимизаций.
Аноним 16/09/23 Суб 20:45:27 2844517 912
image.png 75Кб, 721x646
721x646
>>2844514
Няша ты моя, а где я заявлял что это к стрингам относится? Я именно, что и спросил, почему они иммутабельные несмотря на это. Вообще в 17 этот момент хорошо так объяснили.
Аноним 16/09/23 Суб 20:46:44 2844521 913
Дежурно напоминаю, что if — антипаттерн и java должна получить switch по boolean.
Аноним 16/09/23 Суб 20:47:33 2844524 914
>>2844517
Ну хуй знат, ты привел пикрилы и формулировку выкатил так, будто именно это и утверждал. Сам виноват.
Аноним 16/09/23 Суб 20:51:07 2844529 915
>>2844521
Блять, без малого с десяток лет уже нытье про эти сраные свитчи слышу, и вангую что когда их выкатят, все равно останется бухтежь аля "не так сделали".
Аноним 16/09/23 Суб 20:52:58 2844532 916
>>2844529
Ну так и остался, выкатили без свитча по булину.
Аноним 16/09/23 Суб 20:54:13 2844536 917
>>2844524
Эх, я вообще плохо мысли формулирую, знаю. Еще ты такая няша, нинаю. Настроение игривое что-то сегодня.
>>2844529
Там примитивов нет. Не помню, что они ждут теперь или вальхалу или болт забили.
Аноним 16/09/23 Суб 20:55:47 2844538 918
>>2844532
Сука, вот че эти люди со своими синтаксическими амбициями в хаскель не перекатываются. Там весь спектр паттерн матчинг фич есть, и при этом максимально лаконичен. Такими темпами ща бы жили в мире, где ФП - мейнстрим и учится со школ.
Аноним 16/09/23 Суб 20:57:13 2844540 919
>>2844538
ФП для пары задротов математиков нужно. А жаба вечна.
Аноним 16/09/23 Суб 21:00:03 2844543 920
>>2844540
Все так. 95% людей заслуживают кровавый энтерпрайз в полной мере.
Аноним 16/09/23 Суб 21:57:05 2844587 921
Поскорей бы джаву 21, буду на ней писать интеграционные коннекторы для проекта на java 5 и груви 2... жду не дождусь...
Аноним 16/09/23 Суб 22:13:18 2844608 922
>>2844587
груви гораздо лучше чем джава
Аноним 16/09/23 Суб 22:15:01 2844612 923
>>2844608
Пися гораздо лучше чем попа
Аноним 16/09/23 Суб 23:42:39 2844704 924
>>2844612
Это ты к чему? В груви есть LINQ (GINQ). Звучит почти как GIN-toniQ
Аноним 16/09/23 Суб 23:48:28 2844707 925
>>2844704
Не помню уже. У меня голова болит очень... Можешь погладить немножко...?
Аноним 17/09/23 Вск 06:37:15 2844861 926
Аноним 17/09/23 Вск 16:05:10 2845386 927
А как аллоцируется OOME?
Аноним 17/09/23 Вск 16:55:43 2845521 928
Атак
Аноним 17/09/23 Вск 17:07:49 2845546 929
Посмотрел пару докладов по реактивному спрингу и в обоих докладчики тонко намекают что у не реактивного подхода куча минусов. Отсюда вопрос почему асинхронщина не стала мейнстримом в тырпрайзе? Создаётся впечатление что это какая-то лютая имба которой почему то никто не пользуется
Аноним 17/09/23 Вск 17:10:49 2845549 930
>>2845546
>Создаётся впечатление что это какая-то лютая имба
Че такого имбового?
>тсюда вопрос почему асинхронщина не стала мейнстримом в тырпрайзе?
Пришел лум, на этом усе.
Аноним 17/09/23 Вск 17:11:14 2845551 931
>>2845546
у не реактивного подхода 0 минусов, они так говорят из-за job security
Аноним 17/09/23 Вск 17:33:09 2845586 932
>>2845549
> что имбового
Минус простои,использование всех доступных ресурсов приложения максимально эффективно
Аноним 17/09/23 Вск 17:34:13 2845588 933
Лум это кал с запретом на синхронайзеды и тяжёлый код. Говорю как самый большой жаба-фан на сосаче.
Аноним 17/09/23 Вск 17:35:02 2845589 934
>>2845549
Плюс я имел ввиду почему мы достаем из базы листы объектов,а не флакс потоки? Почему мы отдаем с контроллера пачку объектов а не поток объектов. Так-то джава же язык на котором пишут системы, которые в 90% работают под серьёзной нагрузкой,а тут парадигма предлагающая эту нагрузку распараллелить
Аноним 17/09/23 Вск 17:49:52 2845608 935
>>2845588
Lock мощнее же. Или у тебя сильные просадки по перфомансу?
>>2845586
Ну это можно достигнуть и без реактивщины. Больше скажу, с ней этого не достигнуть, ибо она лишняя прослойка.
>>2845589
Вообще без понятия в чем разница между листом объектов и флакс потоками. Типа на последние ты можешь подписаться? Мол воот как достанете, пж верните в контроллер.
Ну обычный подход эту нагрузку ровно так же паралелит. Там проблема в другом так-то.
Аноним 17/09/23 Вск 17:58:58 2845612 936
>>2845608
>Lock мощнее же. Или у тебя сильные просадки по перфомансу?
Чем мощнее-то? Дело не в просадках, а в подходе. Зачем использовать более тормозящий инструмент, если можно использовать менее тормозящий? Алсо, синхронайзед покрасивше, чем лок с траем, намного.
Аноним 17/09/23 Вск 18:01:59 2845616 937
>>2845608
Получатель ждет пока ты этот лист сформируешь,минимализируем простой
Аноним 17/09/23 Вск 18:07:58 2845618 938
image.png 109Кб, 842x522
842x522
>>2845612
Да сук, где он тормозит-то... У синхронайзд больше перфоманс из-за оптимизаций со стороны жвм. Вообще мб в будущих поставках таки и эти блоки можно будет использовать в виртуальных потоках.
>Чем мощнее-то?
Пик. Ну еще можно гибче разграничивать захват и отпуск монитора. В разных методах, например. Правда это плохая практика, вероятно.
>>2845616
Каво? Он как ждал ответа от бд, так и будет ждать. Нихуя не изменилось. Единственный выигрыш тут в том, что одновременно мы можем обработать большее количество пользователей. Типа платформенные потоки не будут заняты ожиданием ответа от бд. На этом йобапреимущества ректива кончаются.
Аноним 17/09/23 Вск 18:42:14 2845644 939
>>2845618
Так для бд есть ассинхронный драйвер
Аноним 17/09/23 Вск 19:01:12 2845664 940
>>2845644
Супер. Можно FJ заюзать, вместо реактива.
Аноним 17/09/23 Вск 19:05:00 2845669 941
>>2845618
>Да сук, где он тормозит-то...
В пизде. Заставил ты меня погонять бенчмарки. Синхронайзед быстрее в 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%.
Аноним 17/09/23 Вск 19:12:00 2845681 942
>>2845669
> Заставил ты меня погонять бенчмарки.
Ужс какой. Мне теперь натурой платить тебе? Кста, пакаж бенчи. Интересно же.
Аноним 17/09/23 Вск 19:15:03 2845688 943
Блядь какой же кринж,борисов вместе с лысеющим додиком рассказывают про реактивный спринг на примере 1984. Ааааааааааа. Существует ли более соевый кринжовый доклад?
Аноним 17/09/23 Вск 19:15:26 2845690 944
Аноним 17/09/23 Вск 19:16:20 2845693 945
>>2845690
ForkJoinPool
>>2845688
Блять, это тред для нытья пупунь?
Аноним 17/09/23 Вск 19:18:53 2845697 946
>>2845669
Хуйню насчитал, забыл сделать вывод в нс/оп и проебался с десятками. Оверхед на сихнронизацию для реентрантлока и сихнронайзеда 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

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

@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
Аноним 17/09/23 Вск 19:19:06 2845698 947
>>2845688
А борисов ещё делает отсылки на пыню и работает в израиле ааааааааааааааа какая атомная соя боже бляяяяяяя
Аноним 17/09/23 Вск 19:49:06 2845736 948
Аноним 17/09/23 Вск 19:50:06 2845739 949
Аноним 17/09/23 Вск 20:00:59 2845760 950
image.png 18Кб, 542x138
542x138
image.png 18Кб, 597x119
597x119
>>2845697
М, насколько же у меня слабый пк палучаеца. На второй пикче чуточку переписал бенч. Можешь запустить? https://pastebin.com/h62qZU5f
Аноним 17/09/23 Вск 20:14:21 2845783 951
>>2845760
Всё точно также. Нечестность реентрантлока и не должна была изменить ситуацию, один поток тестируется жеж (в реальных ситуациях так всегда и происходит, очень редко два потока одновременно лезут в один ресурс, задача синхронизации предотвратить ебучие плавающие баги, когда случайно влезло два потока и все данные превратились в кашу).

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
Аноним 17/09/23 Вск 20:23:29 2845795 952
image.png 30Кб, 604x238
604x238
image.png 5Кб, 396x146
396x146
>>2845783
Он по дефолту нечестный. Суть в том, чтобы тестировался не ебучий инкремент, а псевдорандом.
Вообще странно, что у тебя синхронайзед крайне близко к нонлоку. Такое чувство, что там нет переключения контекста даже. Ебни потоков хотя б в два раза больше чем у тебя есть реальных.
Да и есть же разница. Не оч понимаю, как ты считаешь, конечно.
Аноним 17/09/23 Вск 20:30:42 2845804 953
>>2845795
>Вообще странно, что у тебя синхронайзед крайне близко к нонлоку. Такое чувство, что там нет переключения контекста даже. Ебни потоков хотя б в два раза больше чем у тебя есть реальных.
А ты это читал?
>Однако есть небольшой подводный камень. Такие результаты достигаются только при использовании биаседлока, который вот-вот к хуям выпилят соевые дегенераты, гадящие в джаву изнутри и который включается отдельным аргументом запуска джавы. Без него синхронайзед будет медленнее где-то на 25%.

>Суть в том, чтобы тестировался не ебучий инкремент, а псевдорандом
А какая разница? Хоть рендер изображения туда сунь, всё точно также будет. Тестируется же оверхед.
Аноним 18/09/23 Пнд 00:24:45 2846025 954
image.png 86Кб, 1065x582
1065x582
image.png 12Кб, 658x89
658x89
image.png 21Кб, 993x135
993x135
>>2845804
Бля, какие же в jmh ахуенные сорцы. Только я так и не нашел, как именно реализована аннотация Threads. Ну да неважно...
Аноним 18/09/23 Пнд 00:40:13 2846033 955
>>2846025
Правильно, не надо инстанциировать чёрные дыры, а то ещё землю засосёт.
Аноним 18/09/23 Пнд 02:35:24 2846073 956
>>2845546
>Создаётся впечатление что это какая-то лютая имба которой почему то никто не пользуется

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

Адекватные люди асинхронщину берут в проект только тогда, когда это реально нужно и других опций вообще нет. А реально нужна она единицам (тем, у кого миллион запросов в секунду и классические нативные треды не вывозят). А с виртуальными тредами спектр применения стал еще уже.
Аноним 18/09/23 Пнд 03:05:33 2846074 957
>>2845608
>Больше скажу, с ней этого не достигнуть, ибо она лишняя прослойка.

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

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

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

Backpressure.

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

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

И вообще, претензия у тебя соевая какая то. Звучишь литералли как соя со свичами (>>2844529). "Ой, все, мне джава монитор на зеленых потоках не так как я ожидаю захватывает. Дилбрекер, дропаем фичу пацаны".
Аноним 18/09/23 Пнд 03:11:39 2846075 958
>>2846074
>Ну лишняя прослойка - и что?
1. Она никак не может быть быстрее того, прослойкой над чем является. В данном случае Thread API, т.е. она точно не будет быстрее ванильной жабки.
2. Прослойка тоже кушает ресурсы, а значит и сравнится она не сможет.
По моему это что-то из разряда очевидного, не?
Аноним 18/09/23 Пнд 03:14:50 2846076 959
>>2846074
>Так то и нативные, и виртуальные треды
Вообще я бы другую аналогию использовал. Аппаратные оптимизации и кодовые. Ты ни при каких обстоятельствах не сможешь сравниться по перфомансу с аппаратными оптимизациями. SIMD, например.
Аноним 18/09/23 Пнд 03:32:44 2846078 960
>>2846075
>Она никак не может быть быстрее того, прослойкой над чем является. В данном случае Thread API, т.е. она точно не будет быстрее ванильной жабки.

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

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

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

Реактивщина решают эту проблему через замену колбэков на стримы. Async-await и корутины - через покраску функций. Виртуальные треды лума - через отвязку джавовых тредов от нативных. И во всех случаях бутылочным горлышком будет твой процессор и его ядра, во всех трех случаях будут свои накладные расходы на абстракции, и два вот этих вот твоих пункта из разряда очевидного - тупо демагогия, которая вообще не в тему.
Аноним 18/09/23 Пнд 03:36:12 2846081 961
>>2846078
Вон же писал ровно тоже самое.
>>2845618
> что одновременно мы можем обработать большее количество пользователей. Типа платформенные потоки не будут заняты ожиданием ответа от бд. На этом йобапреимущества ректива кончаются.

Вообще не помню, почему тут про перфоманс что-то пошло. Ты же мой тезис просто перестал считать важным. Похуй в общем-то, мне б ебаный вдс настроить...
Аноним 18/09/23 Пнд 03:56:21 2846083 962
>>2846081

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

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

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

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

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

Ни слова про быстроту. И на самом деле реактивщина и есть про минус-простои и альтернативное распределение ресурсов. И лум - про то же.
Аноним 18/09/23 Пнд 04:01:57 2846084 963
>>2846083
>сиди знай ебошь гуглы на голом нетти.
Ну да, и в чем я не прав? Еще тесты нахуй не нужны. Нужно coq-ом и им подобным инструментами доказывать.
>Тебя надо спросить зачем
Не, меня не надо спрашивать. Малчи.
Аноним 18/09/23 Пнд 04:05:26 2846085 964
>>2846084
С нетти ты разве что кабану на coq присядешь
Аноним 18/09/23 Пнд 04:11:04 2846087 965
>>2846085
Не ну если он няшный...
Блин, почему по порту нельзя к постгре подключиться
Аноним 18/09/23 Пнд 04:14:00 2846089 966
>>2846087
Мб тебя в hbaconf по айпи забанили?
Аноним 18/09/23 Пнд 06:53:38 2846112 967
>>2846089
Ни. Я в конфегах пару букв напутал. Бывааает.
Аноним 18/09/23 Пнд 16:08:47 2846621 968
Завтра напьюсь по поводу 21 джавы.
Аноним 18/09/23 Пнд 17:20:18 2846745 969
Поясните мне пожалуйста за List<? super SomeClass> и List<? extends SomeClass>

В первый можно закинуть все объекты SomeClass и его наследников? А <? extends SomeClass> для чего нужен если с него вроде как можно только читать? Он все время пустой должен быть или что?
Аноним 18/09/23 Пнд 17:25:28 2846755 970
image.png 75Кб, 1044x787
1044x787
image.png 71Кб, 1064x692
1064x692
>>2846745
Consumer/Producer же.
Вон в доках примеры есть. Хотя эти вайлдкарды с нулами ахуенно работают.
Аноним 18/09/23 Пнд 17:50:30 2846794 971
Аноним 18/09/23 Пнд 18:01:04 2846819 972
СУКА НЕ МОГУ ТЕРПЕТЬ ХОЧУ УЖЕ СЕГОДНЯ 21 ЖАБУ!!!!!!!!!!!!!!!
Аноним 18/09/23 Пнд 18:04:35 2846823 973
А что случилось-то?
Аноним 18/09/23 Пнд 18:16:50 2846841 974
>>2846819
Нахуя она тебе? Собери сам, че ты как этот?
Аноним 18/09/23 Пнд 18:44:22 2846900 975
>>2845644
Блин няши, а как в томкате логи включить, чтобы видно было какие он профили для спринга взял? Вроде в каталина.пропертис все прописал, но нихуя... чувствую блин, что деплоится все без профилей...
Аноним 18/09/23 Пнд 19:19:42 2846976 976
Так она же ещё блять не вышла. Нах вы ссыте кипятком раньше времени?
Аноним 18/09/23 Пнд 19:59:46 2847057 977
>>2846745
Чел, не мысли категорией - "что туда можно закинуть", это путь в никуда. Мысли ссылками и их совместимостями.

Вот есть у тебя к примеру переменная 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.
Аноним 18/09/23 Пнд 20:03:41 2847066 978
>>2847057
Расскажешь про рекурсивные дженерики?
Аноним 18/09/23 Пнд 20:10:33 2847082 979
>>2847057
То есть ? extends A нужен исключительно для объявления функции как в твоем примере?
Аноним 18/09/23 Пнд 20:13:39 2847090 980
>>2847082
Да в целом все дженерики нужны в первую очередь для сигнатур функций/классов. Это их цель существования - дать возможность писать обобщенный код.
Аноним 18/09/23 Пнд 20:20:46 2847107 981
Как же хочется взять и начать все месяцами переписывать на реактивный стек. Но я ни строчки на нем не написал и не уверен в преимуществах
Аноним 18/09/23 Пнд 20:24:21 2847114 982
>>2847107
А нахуя, если есть лум?
Аноним 18/09/23 Пнд 20:25:28 2847115 983
>>2847114
Лума не существует
Аноним 18/09/23 Пнд 20:26:11 2847118 984
>>2847057
может тогда показать какой то прикладной пример использования super?
Аноним 18/09/23 Пнд 20:33:27 2847132 985
>>2847118
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)}; }

Вот тебе максимально примитивная хня
Аноним 18/09/23 Пнд 20:35:27 2847138 986
>>2847132
А пачиму list.of не возвращает extends?
Аноним 18/09/23 Пнд 20:46:10 2847164 987
>>2847138

Потому что в этом нет смысла. Использовать дженерики в сигнатуре имеет смысл, когда есть неопределенность в аргцументах или возвращаемом результате. А List.of максимально конкретен - принимая vararg E он всегда возвращает List<E> и ничто иное.
Аноним 18/09/23 Пнд 20:47:49 2847173 988
>>2847164
Он неявно возвращает иммутабельный лист.
Аноним 18/09/23 Пнд 21:05:42 2847207 989
>>2847173
>иммутабельный
неизменяемый
>лист
список
Аноним 18/09/23 Пнд 21:10:29 2847214 990
>>2847207
Иммутабельный лист.
Аноним 18/09/23 Пнд 21:13:00 2847215 991
image.png 24Кб, 644x154
644x154
>>2847207
Ахуеть, спасибо за адаптацию. А теперь давай Stream/Thread Lock/Block адаптируй.
Хотя вон здесь анмодифейбл. Интересно, в чем тонкая разница между иммутейбл, если внизу ImmutableCollection.
Аноним 18/09/23 Пнд 21:22:05 2847225 992
>>2847215
>Stream
струя
>Thread
нить
>Lock
замок
>Block
блок
Аноним 18/09/23 Пнд 21:34:08 2847233 993
>>2847173
А без разницы. Дженерикам похую на мутабельбность, они - про вариантность
Аноним 18/09/23 Пнд 21:40:48 2847240 994
>Stream
поток
>Thread
поток
Аноним 18/09/23 Пнд 21:41:22 2847241 995
>>2847233
Всм похуй? Они полны по тьюрингу, так что давай ка хуйни не неси.
Аноним 18/09/23 Пнд 21:44:26 2847243 996
>List
список
>Immutable
неизменяемый
>Stream
стрим
>Thread
поток
>Lock
лок
>Block
блок
Аноним 18/09/23 Пнд 21:47:17 2847244 997
Аноним 18/09/23 Пнд 21:59:46 2847254 998
>>2847244
Такая, что ты ограничиваешь инструмент. Мол пук среньк, он не для этого создан. В котлине заменили на in/out, например. В жабе же есть ряд методов с Class<extends>.
Нормальные объяснения есть?
Аноним 18/09/23 Пнд 22:07:01 2847258 999
>>2847254
Ну это вообще шизофазия.
Аноним 18/09/23 Пнд 22:08:28 2847260 1000
>>2847258
Нет! Я не шизек! Хватет уже так меня называть
Аноним 18/09/23 Пнд 22:23:57 2847269 1001
image.png 5Кб, 270x120
270x120
Аноним 18/09/23 Пнд 22:27:25 2847272 1002
>>2847269
Бан палучаеца, за дубль.
Аноним 18/09/23 Пнд 22:30:37 2847275 1003
Аноним 18/09/23 Пнд 22:33:56 2847277 1004
>>2847275
Есть такое. Исправишь?
Аноним 18/09/23 Пнд 23:13:11 2847305 1005
>>2847225
stream, thread, flux, flow, current, torrent
Аноним 18/09/23 Пнд 23:15:17 2847307 1006
>>2847305
Струя, нить, флюс, поток, электричество, торрент.
Аноним 18/09/23 Пнд 23:25:56 2847319 1007
>>2847307
>>электрическаяНить()
>>пружинный паутинный флюс
>>многонитевое приложение
ява которую мы заслужили
Аноним 19/09/23 Втр 00:03:02 2847372 1008
>>2847241
Блять, я уже жалею что ссылку на ту статью вбросил. Один рандомный чел заскучал и упоролся - сотня двачеров-ебланов щас из его поделия сделают религию нахуй...
Аноним 19/09/23 Втр 00:15:35 2847388 1009
>>2847372
Ты мне же её и вбросил... Обещал же запомнить. Можешь ещё что-то рассказать.
Аноним 19/09/23 Втр 00:20:35 2847394 1010
>>2847388
Хуй те. Скидывать тебе ту ссылку было ошибкой, оно сожрет твой разум нахуй.
Аноним 19/09/23 Втр 00:25:28 2847401 1011
>>2847394
Да че вы злые со мной такие порой... Я же вас всех люблю, а вы. Ну неважно
Аноним 19/09/23 Втр 00:30:46 2847407 1012
>>2847254
>Нормальные объяснения есть?
>А пачиму list.of не возвращает extends?

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

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

...то возвращаемое значение этого метода ты не смог бы использовать ни в одном месте, где ожидается обычный List<E>. Что резко множит полиморфизм на ноль и делает метод of тупо бесполезным. Можешь сам это проверить - напиши где нить в уголке своего проекта свой listOf и попробуй идеей сделать самену List.of на свой метод. Быстро заебешься.
Аноним 19/09/23 Втр 00:31:34 2847408 1013
>>2847401
Бьем - значит любим.
Аноним 19/09/23 Втр 00:43:03 2847422 1014
image.png 50Кб, 607x614
607x614
Аноним 19/09/23 Втр 00:48:42 2847428 1015
>>2847422
Ору блять, в голосину.

Думал систему наебал, малой? Попробуй ка присвоить эту вот свою конструкцию magick(of(1,2,3)) к переменной типа List<Integer>.
Аноним 19/09/23 Втр 00:50:51 2847433 1016
image.png 52Кб, 597x599
597x599
>>2847428
Ок, дальше что?
Тут все изменения в том, что теперь ошибка в add изменилась.
Аноним 19/09/23 Втр 01:55:37 2847449 1017
Перекатывайтесь сюда >>2847269, ебанаты.
Аноним 19/09/23 Втр 02:27:33 2847450 1018
>>2847433
Ок, это была хорошая ответка с твоей стороны. Ловко ты наебал инференс дженериков - мне аж спеку пришлось полистать, чтобы примерно понять - как.

Тем не менее - тебе просто повезло. Элементарно вынеси ты, например, тот же of(1, 2, 3) в переменную (необязательно даже List<? extends Integer> - тупо в var), и все. Твой magick тебе уже не поможет.
Аноним 19/09/23 Втр 02:33:56 2847451 1019
>>2847449
Иди нахуй, там все равно нихуя интересного пока что нет. Первую неделю щас там только шарпеи будут торговать своим ебалом, напрашиваясь под струю мочи, да пориджи будут проходить свои пять стадий от гнева до принятия от нового свитча.
Аноним 19/09/23 Втр 02:39:11 2847452 1020
>>2847451
Там 21 жабу отмечают.
Аноним 19/09/23 Втр 02:41:38 2847453 1021
>>2847452
Проходили уже, знаем. Каждый тред - одно и то же.
Аноним 19/09/23 Втр 04:55:04 2847456 1022
image.png 67Кб, 663x782
663x782
>>2847450
Нет, ну если обернуть боксом...
>хорошая ответка с твоей стороны
Ммм, я тут скоро свою фигню закончу делать, можешь посмотреть потом, няш? :3
Аноним 19/09/23 Втр 12:22:46 2847718 1023
>>2847456
Ну вот ты уже две обертки придумал чтобы со своей версией of'а работать, и никакого профита относительно обычного List of не получил. Нахуя?
Аноним 19/09/23 Втр 13:20:43 2847773 1024
>>2847718
Какой же ты бука....
Вопрос изначально был не в этом же. Признай уже что я молодец, хватит пупунить(

Тут юзкейс как с optional: пользователь явно видит, что лист иммутабельный и если ему надо он сам снимает ограничения.
Аноним 19/09/23 Втр 13:43:53 2847804 1025
>>2847773
По твоему List<? extends T> мне как пользователю должен сообщить, что этот лист иммутабельный? Ты серьезно щас?

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

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

Пасиба, вот в новом тредике отпишу. Я если что автор вложенных дто.
Аноним 20/09/23 Срд 15:20:50 2849133 1027
>>2847822
Причём здесь отсутствие этого интерфейса, ебанько? Речь идёт про то, что дженерики не про мутабельность.
Аноним 20/09/23 Срд 19:12:42 2849443 1028
image.png 66Кб, 1103x679
1103x679
Аноним 20/09/23 Срд 21:15:40 2849605 1029
>>2849443
>but its not strict guarantie
До конца дочитать сил не хватило?
Аноним 20/09/23 Срд 21:18:10 2849608 1030
>>2849605
А теперь давай мне хоть одно моё сообщение, где я говорил, что оно гарантирует, а не подсказывает.
Даже интерфейс IReadOnlyList этого гарантировать не может. Хватит душнить, я устал.
Аноним 20/09/23 Срд 23:55:39 2849717 1031
>>2849133
В том то и суть, что из-за того, что коллекшн апи спроектирован не лучшим образом, маслята, впервые увидев что в extends-wildcard коллекцию писать система типов ничего не дает, пытаются сделать из говна и палок панацею.

>>2849443
Это был импостер, он те ничего не обещал.
Аноним 21/09/23 Чтв 00:19:56 2849734 1032
>>2849717
>Это был импостер
Ууу... А где же тот самый...
Аноним 23/09/23 Суб 23:22:43 2852897 1033
>>2849608
Как будто слова какого-то хера из документописцев оракла определяют значение языковых конструкций джавы. extends/super это про наследование, всё. Всё остальное это лишь возможные следствия этого.
Аноним 23/09/23 Суб 23:43:43 2852907 1034
>>2852897
Автор конкретно этой секции вроде как Gilad Bracha.
Ммм, математика про аксиомы - остальное следствия. Что это меняет, няш?
Я правда нинаю какой тезис уже отстаиваю, можешь напомнить заодно)
Аноним 25/09/23 Пнд 15:05:01 2854758 1035
>>2852897
>extends/super это про наследование, всё

Нет

Мимо
Аноним 25/09/23 Пнд 17:36:53 2854920 1036
>>2854758
Спасибо за подробный и аргументированный ответ!
Аноним 25/09/23 Пнд 18:36:48 2855007 1037
>>2845795
>>2845804
Ребят, а зачем вам это нужно? Риентрент локи, где вы их используете? Вы пишете свой сервлет контейнер с блекджеком и шлюхами?
Аноним 25/09/23 Пнд 18:37:35 2855009 1038
Аноним 25/09/23 Пнд 19:07:27 2855062 1039
>>2855007
Из всех синхронизаторов, локи, наверное самое частоиспользуемое. Т.е. обычно никто не разбирается, локу налепил, serialized получил и намана.
Аноним 03/10/23 Втр 15:18:17 2864688 1040
Что делать будем,пупунечки мои любимые? Наш дом разорен,наши дто больше не вложенные
Аноним 03/10/23 Втр 15:22:21 2864700 1041
>>2864688
В плане... Я там тесты вложенные делал и вообще старался. А еще в клиенте пара вложенных дто осталась.
Аноним 03/10/23 Втр 15:23:06 2864702 1042
>>2864700
А вложенные контроллеры?
Аноним 03/10/23 Втр 15:25:33 2864706 1043
>>2864702
А RequestMapping учитывает то, что выше неё? Знаешь, я вообще хотел. Ну типа там на уровне пакета "api/" сделать ну и вложить ".../public/..." в ряд классов.
Аноним 03/10/23 Втр 15:30:34 2864721 1044
>>2864706
Попробуй вложить хуй в женщину,архитектор хуев
Аноним 03/10/23 Втр 15:40:39 2864746 1045
>>2864721
Что я тебе сделал, злюка? И вообще мне тни не нрав.
Аноним 03/10/23 Втр 16:08:37 2864807 1046
>>2864746
Почему тогда не на шарпе пишешь?
Аноним 03/10/23 Втр 16:20:29 2864829 1047
>>2864807
Не ну если тебе так интересно, то когда я школьником был, не было курсов по шарпу, а ещё на олимпиаде был выбор из жабы cpp и петухона.
Воть и знаю неплохо жабку и плюсы немного. А ещё мило, что меня из треда не гонят)
Аноним 04/10/23 Срд 10:19:02 2865391 1048
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов