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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
TOP-17-kursov-po-obucheniju-Java-programmirovaniju-s-nulya.jpg290 Кб, 1280x853
Java Thread #250👳 /java/ 2730933 В конец треда | Веб
Программирование 😎 — это не столько про анальное крудошлёпство😏, сколько про стиль мышления🤔. Высокоуровневая☝ абстракция, поиск сходных черт, оптимизация — всё это высшие интеллектуальные способности, что образуют такой прочный симбиоз с программированием на Java😜.

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

Предыдущий: >>2728034 →
2 2730952
3 2730997
>>30933 (OP)
Годный перекат брат ежжи жи ес ☝️
4 2730998
>>30933 (OP)
Почему без тега?
5 2731086
>>30998
потому что хуесос делал, ща пересоздам
6 2731088
>>31086
Не надо пересоздавать, просто репортни модеру, чтобы добавил тег.
изображение.png226 Кб, 700x800
7 2731528
работяги, у меня тут встал вапрос, разве инъекция зависимостей в спринге не противоречит принципу ооп?

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

и еще, нахуя нужен слой сервис, дао обмазывает объекты логикой, контроллер обрабатывает запросы, а сервис тупа по середине? просто штобы вся хуйня не портила вид контроллера?
8 2731529
>>31528
Он начинает догадываться. Быстро снизьте ему зп, чтобы вместо ООП думал о говяжьях анусах.
9 2731533
>>31528

> работяги, у меня тут встал вапрос, разве инъекция зависимостей в спринге не противоречит принципу ооп?


В джаве на хую вертели ООП. Была бы поддержка процедур - классы никто бы не юзал.

> и еще, нахуя нужен слой сервис, дао обмазывает объекты логикой, контроллер обрабатывает запросы, а сервис тупа по середине? просто штобы вся хуйня не портила вид контроллера?


Поймёшь, когда увидишь сервисы в 50 раз объёмнее DAO.
sage 10 2731539
>>31528
слыш хуйло в другой тред
11 2731556
>>31533
Если спригодебилы не юзают это не значит что никто не юзает.
12 2731561
Bytecode Execution выполняется после инициализации нестатических полей, выполнение блока инициализации и конструктора или перед этим ?
13 2731563
>>31528
Посмотри содержимое классов jre, те кто писал классы не юзают ооп.
14 2731590
БАМП
15 2731624
Как вы собрались работать программистами, если даже тред нормально перекатить не можете?
16 2731645
>>31624
Главное, что я могу перекатить свой хуй в рот твоей мамани.
17 2731653
>>30998
Тег стоит
18 2731661
>>31528

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


добро пожаловать в последователи бугаенко. В идеале не должно быть геттеров и сеттеров, должна быть логика и вычисления прям внутри классов
19 2731690
мда оставили уебский тред с говном в шапке мда...
20 2731708
>>31645
Ничего ты не можешь, криворучка
21 2731713
>>31708
Давай анус подставляй. Проверим.
22 2731721
>>31713
Я не даю всяким неудачникам вроде тебя
23 2731821
>>31661
В одном классе все приложение.
24 2731906
>>31533

>В джаве на хую вертели ООП



Не так. Это не в джаве вертели на хую ООП, это джависты вертели на хую ООП. Джависты в прошлом - коболисты, дедам переход с процедур на ООП дался тяжело.
25 2731908
>>31528
Исторически в живых остался один принцип ООП - "когда нельзя но очень хочется, то можно".
26 2731917
Помню, тут кто-то говорил, что гит можно изучить за вечер под пивко. Дак вот, я уже неделю изучаю гит и до сих пор половины не понимаю.
27 2731919
>>31561
И статические инициализаторы, и нестатические инициализаторы, и инициализация полей - все это само по себе такой же байткод, какой и весь остальной код. Твой вопрос не имеет смысла, переформулируй.
28 2731922
Парни, а где джава сейчас вообще используется в коммерческой разработке?
Сбер? Там переходы на ГО. Джава это легасиговно.
Тинькофф? Там даже на си решетку переходят.
Яндекс? Ровно один проект, причем самый днищенский маркет.
ВК? Пара проектов
И так можно до бесконечности...
29 2731927
>>31922

>Тинькофф? Там даже на си решетку переходят.


Ой пиздабоооол
30 2731930
>>31922

> Сбер? Там переходы на ГО. Джава это легасиговно.


Ты про какой Сбер? В моём Сбере дохуя новых проектов пишут на 11/17 жабе, а Go только у пары хипстеров с геймификацией, хайпом HR и другими нахлебниками, не относящимися к основному профилю организации.
31 2731939
>>31922
Андроид ебать
32 2731950
>>31917
У тебя толерантность к алкоголю высокая значит. Попробуй под водяру
33 2731979
>>31917
Кто бы что ни говорил, но "Git за вечер" можно выучить, только поебавшись перед этим несколько месяцев с SVN, Mercurial, CVS, Perforce и другим подобным говном. Множество способов сделать одно и то же, дохуя нюансов, дохуя новых концепций, которые без реального опыта сложно понять.
34 2731981
>>31979

>с SVN, Mercurial, CVS, Perforce



с ClearCase...
16706211520170.jpg167 Кб, 1080x946
35 2732158
>>30933 (OP)
Привет. Что скажешь про разработку М1 air макбуке?
36 2732160
>>32158

> на M1 air

.png172 Кб, 487x469
37 2732163
>>32158
Если ты ищешь себе самый дешёвый макбук тупо ради бренда, лучше сразу откажись от этой идеи. Нормально кодить ты на нём не сможешь.
38 2732166
>>32163
Почему на смогу?
39 2732172
>>32166
Жабу сложно прокормить. Жаба голодная, жаба много кушать хочет.
40 2732173
>>32172
На каком сам разрабатываешь?
41 2732177
>>32173
Венда, i7, 32 ОЗУ, SSD. Идея часто подтормаживает.
42 2732193
>>32177
Понятно. Мне бы хотелось прочитать мнение именно пользователя макбука, т.к. у пользователей виндовых ноутбуков в превалирующем большинстве случаев мнение ангажированно и необъективно. Запускал идею, докер, постгрес сервер на прошке 2013 года, и всё работает более-менее сносно, при тех параметрах что у него есть. Боюсь представить, что там будет на современном железе.
43 2732196
>>32177

> Идея часто подтормаживает.


Как интересно. У меня i5 10-го поколения, и ничего не подтормаживает, хотя могу запускать по 3 штуки одновременно (бэкенд, фронтэнд и crm).
44 2732238
>>32193
У меня 8гб, если запускать идею, и особенно андроид эмулятор, то из свопа вылезать не будешь. На 16гб должно быть полегче
45 2732252
>>32158
Мы с тобой на ты не переходили, чмо
46 2732253
>>32252
Ты пидор.
47 2732256
48 2732465
>>32238
Да, эмулятор очень много требует ресурсов. Но я обычный бэкендер, поэтому мне должно быть достаточно 8 гб.
49 2732694
>>32465
Эти 8 гигов у тебя хром выжрет в одно ебало, а тебе еще идею кормить. А это - еще минимум комфорта. По максимуму прикольно еще докер с СУБДшками держать под рукой.

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

Я в свое время на 16гиговом маке сидел, мне не хватало, 8 это вообще забей.
50 2732709
>>32694

И это еще при условии что ты свалил. Если ты до сих пор в РФ, с маком ты - анальный заложник пидарасов, которые тебе в любой момент поддержку выключат в рамках очередного витка санкций, и будешь как дурак, отвалимши кучу баксов пидарасам за брэнд, через 30 слоев выпиена доказывать всем что ты не верблюд.
51 2732717
>>30933 (OP)
Программирование 👩💻 — это не столько про анальное крудошлёпство 🍩👋, сколько про стиль мышления🤔.
Высокоуровневая абстракция 🙏🛐, поиск сходных черт 🦧🔎🐷🔰👶, оптимизация 🐒📉💥 — всё это высшие интеллектуальные способности 🧠, что образуют такой прочный симбиоз 👉👌 с программированием на Java ☕😜.
52 2732724
>>31917
я вчера из за этого гита удалил проект который ебашил несколько месяцев, хорошо что в идее есть история
53 2732759
>>32177
Идея подтормаживает потому что за подтормаживания отвалили кучу бабок жидам, а не потому, что ресурсов пк не хватает.
54 2732764
>>31917
А что там учить? git commit -a -m "5922.1.1" и git pull origin master.
55 2732786
>>30933 (OP)
У вас есть стек любимых технологий, которые вы опробовали на многих проектах и он каждый раз давал вам качественный результат? Какой он?
56 2732787
>>32786
ASP.NET
57 2732802
>>32256
Сосёшь хуи.
58 2732880
>>32786
jdbc template + postgres
59 2732921
>>32787
Эта хуйня походу подыхает после начала сво. В ковидные денежные годы у нас жадный кабаныч выделил бабок дотнетчикам и увеличил им команду, но после всех событий тот проект закрыли и челов переучили на спринг
60 2732957
>>32786
OSGi, ебана-нах.
61 2732958
>>32764
Я слышал, что надо ещё ветки какие-то делать
62 2733109
>>32958
git create branch foo
или
git branch foo
или
git branch create foo
или
git checkout foo
так падажжи ебана
63 2733113
>>32786
Spring Boot + Apache Commons
64 2733115
>>31919

>переформулируй


Bytecode Interpreter начинает свою работу после выполнения конструктора ?
65 2733124
>>32724
У меня так же было недавно.
66 2733129
67 2733131
>>33109
Ещё там мержить и ребейзить надо уметь и понимать плюсы и минусы обоих подходов. Я вот мерж более менее понял, а от ребейза у меня голова разболелась.
68 2733134
>>33109

> create branch


Специально для джавистов надо сделать систему контроля версий, которой будет нереально пользоваться без автодополнения. Типа gitVersionControlSystemCreateBranchIfNotExistsGayLongCocksSuckRequiredTransactional.
69 2733142
>>32196
У него core i7 - 920.
70 2733147
>>33134
а ты типа не джавист? хуле делаешь в треде? пошел нахуй смеяться он еще над нами будет
71 2733159
>>33142
В чём проблема создать легковесную ИДЕ? Почему нужен топовый комп, чтобы писать обычные текстовые файлики?
72 2733167
>>33159
открой блокнот да пиши еблан
ток потом не жалуйся что тяжело AbstractHuiPizdaZalupaBeanFactoryPostProcessorInitializerBean писать
73 2733173
>>33167
Ага, написали сначала абстрактные хуйзалупы и теперь пишут иде для героического превозмогания.
74 2733175
>>33167
Я не могу писать в блокноте, потому что сейчас требование везде - это идея. Современный джавист - это идея-разработчик. Все гайды по джаве - это как найти нужную кнопочку в идее.
Вот буквально сегодня искал инфу по JUnit и 90% гайдов - это про идею как там вызвать нужное меню и прожать нужные галочки, чтобы сформировались заготовки тестов.
75 2733183
>>33175
иди нахуй шарпоблядь
76 2733187
>>33175
Нужна проприетарная серверная версия идеи, как рантайм для выполнения IdeaLang. Будут ставить серверную идею вместо серверов приложений, и на ней хостить приложуху.
77 2733250
>>33115

Не, чел, ты не шаришь о чем спрашиваешь.

Зырь.

Пикрил 1 - это класс.

Если ты этот класс скомпилируешь, ты получишь файл Zalupa.class, в котором будет байткод класса Zalupa.

И если ты потом сделаешь javap -c -p -s -l Zalupa.class, ты увидишь содержимое байткода класса, как на пикрил 2. Если присмотришься, то на пикриле 2 увидишь байткод всех 4х языковых конструкций (правда компилятор сделал еще свои преобразования, из-за чего статическая переменная инициализируется в блоке static, а блок инициализации приклеился в начало конструктора, но не суть).

Все это - байткод. Включая конструктор. О каком bytecode execution'е ты спрашиваешь, который идет раньше или позже чего то, если ВСЕ из тобою вышеперечисленного - байткод? Твой вопрос тупо - оксюморон и не имеет смысла. Опиши чего добиться пытаешься, какую задачу решаешь.
78 2733404
>>33134
Принципиально не пользуешься автодополнением, чтобы показать, кто здесь тру петушарпер?
79 2733409
Кстати, мавена это тоже касается. А то сделали, понимаешь, удобную тулзу для запуска из командной строки, слишком просто.
orgApacheMavenBuildPomXmlProjectHugeNiggaPenisInsideYourButtWithCleaningTargetDirectoriesAndInstallationToLocalRepository
80 2733412
Впрочем, набирать неймспейсы в помнике по памяти и так больно.
81 2733429
Че там на счет зп студенту/еще пока шкиле? Разраебка плагинов для майнкрафта?(срубакит, бумага, форже, фабрика)?
82 2733438
>>33429

> Че там на счет зп студенту


40к до вычета налогов.

> шкиле


Бесплатная рабочая сила.

> Разраебка плагинов для майнкрафта


Платить будешь ты, ещё и должен останешься.
83 2733497
Какая сейчас средняя зепка у миддла с 3х летним опытом? Где-то блять 200-250 указывают, где-то 120-130, какие-то поехавшие вообще 100-120 рисуют. Кабаны-суки в вакансиях ничего не указывают, только обещания "платить в среднем по рынку", а какая блять эта средняя цена
84 2733512
>>33497
Явно меньше чем на великом дотнете (на котором пишут весь импортозамещающий софт топ конторы), потому что на вакансию джава миддла приходит по 500 челов в неделю
85 2733548
>>33512
Схуяли испортозамещение пишут на дотнете?
86 2733549
>>33512

>дотнет


>импортозамещение


/0
87 2733829
>>33497
>>33512

>на вакансию джава миддла приходит по 500 челов в неделю


Интересно, кого больше, джунов или мидлов ?
88 2733886
Хрюши это HR, а кабанчики - ?
89 2733897
90 2733898
>>33159
Есть Eclipse и NetBeans.
А ещё можно скачать intellij idea очень старую версию года 2016-го например.
91 2733899
>>33897
ра ?
92 2733947
>>33159
Встречный вопрос. В чем проблема не быть нытиком ебаным, и смотреть на вещи обьективно? Идея тяжелая по двум причинам:
1. Плагины
2. Анализаторы

И то и другое отключается, после чего идея жрет не больше браузера. Если для тебя и этого мало, ной дальше - "в чем проблема сделать легковесный браузер в 2023м году", блять.
93 2733949
>>33947
>>33159

Сука, в чем проблема комп себе нормальный купить, затупки блять? Оператива уже с десяток лет стоит как семечки в ларьке.
94 2733953
>>32177
Майнеров нахватал чай. Линух ставь.
95 2734071
>>33886
Охуели.
96 2734075
>>33949
Молодец, умник. Одна видеокарта 200 тысяч стоит.
97 2734173
>>33947
Каких их отключить?
98 2734175
>>34173
Переписыванием с джавы на нормальный язык.
99 2734182
100 2734233
>>34182
Нет.
101 2734236
>>34233
Ахуел? К слову, что лучше в плане оптимизации clr от божественного Microsoft или древний HotSpot?
102 2734352
>>30933 (OP)
Как в принципе глубоко понимать фреймворки по типу спринга? Если нужно что-то сделать, что выходит за границы гайдов и их кривой документации, которая не покрывает и сотой части того, что происходит в реальном проекте, то тут же начинаешь закапываться в интернете и перелистывать сайт за сайтом, в попытках накопать информацию. При этом с годами лучше не становится и спринг давит своей монструозностью и нелепостью. Какие-то совсем простые вещи делаются на автомате. Начинаешь копать глубже и вот уже дока этого не покрывает, лезешь на гитхаб ишьюс, стековерфлоу и прочие сайты, где люди постят воркэраунды, багрепорты и прочее
103 2734353
>>34352
Бля, а как в него вообще вкатиться? Вот думаю в июле найти работу, а спринг нихуя не знаю.
104 2734365
>>34352
Это нормально.
105 2734388
>>31528
Противоречит. Поэтому ООП идет нахуй.
106 2734396
>>31906

>>Джависты в прошлом - коболисты


Те кто еще живой переходили на жабу/шарп с плюсов, иногда с паскаля. Кобол на западе был, в РФ его никто и не видел даже.

>>переход с процедур на ООП


ОПП остался где то в жабе 7
107 2734400
>>33109
git checkout -b foo
но это не точно, я в идее кнопочку New Branch тыкаю

>>33131
раз в полгода надо что то черипикнуть или заребейзить - погуглить проще чем запоминать эту ебень

>>33134

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


так в идее все есть - кнопку нажал и все работает. не надо с консольками пердолиться. и автодополнение в комментах есть.
108 2734407
>>33497
В начале года мидл был 160к, щас не смотрел - глянь по хабру там с весны мало что изменилось.

>>миддла с 3х летним опытом


я бы 200+ запрашивал, но сам я мидл с годом опыта и даже на 160 не вышел.
109 2734409
>>33947

>>не быть нытиком ебаным


>>смотреть на вещи обьективно


>>2ch.hk


/0
110 2734410
>>34075
Ты идею запускать собрался или битки майнить параллельно с играми в 4к? Нахуя тебе видюха дороже 20к?
111 2734415
>>34352
Ну посидел денег в инете - нашел ответ. Че сложного то? Ясен хуй в доке тебе не напишут что мы тут проебались и в версии 2.28 был баг, но в 14.88 его починили. А если что - вот костыль.
112 2734464
>>34075
Ты дебил?

>>34410
Бля, на 20к еще угаматься можно во что-то не особо тяжелое. А для девелопмента в идее встройки или затычки за косарь хватит за глаза.
113 2734470
>>34173
Если ты ебаную менюшку сам не найдешь и в гугле забанен, нахуя ты вообще кодер и дышишь?
114 2734474
>>34396

>Те кто еще живой переходили на жабу/шарп с плюсов, иногда с паскаля. Кобол на западе был, в РФ его никто и не видел даже.



Справедливо, но сути не меняет. Как кодили процедурно, так и кодят процедурно.

>ООП остался где то в жабе 7



И куда оно по твоему делось?
115 2734488
>>34352

>Если нужно что-то сделать, что выходит за границы гайдов и их кривой документации



...то ты закрываешь пасть и делаешь как в рекомендуют в гайдах (ничего личного). Иначе ты начинаешь входить в конфликт со спринговой магией и спринг превращается из няшки в твой персональный анальный кошмар.

Усвой темы типа бинпостпроцессоров и написания своих стартеров. Смотри видосы евангелистов типа Борисова про кишки спринга.

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



Открой для себя стековерфлоу (не как источник для гугления, а именно как площадку, куда ты можешь свой вопрос задать). Без шуток. Спрингодевелоперы там часто отвечают, если вопрос задаешь грамотно.

Еще, учись дебажить. Развивай общую эрудицию касательно того, как работает джава и ее отдельные фичи, тогда механизмы спринга будут понятны прям из кода и гайдов. Ну и возьми за привычку спрашивать конкретику, а не абстрактную хуету, иначе с 75% вероятностью будешь послан нахуй как троль-шарпист.
116 2734492
>>34415
Что курьезно: в доке не напишут, но в changelog'ах - вполне. Не говоря уже о том, что багтрекер открыт и доступен всем.
117 2734564
Шалом, анон. РУками написал скуль и надо подружить это с энтитями
Как сказать энтити через какую промежуточную таблицу делается many-to-many, если я не хочу делать для этой таблицы отдельную энтити? Ее вообще не должно быть видно.
типа такого
@ManyToMany(mappedBy = "roles", table="r_user_role")
private Set<User> users;
118 2734587
ну че пидарасы хуевы
119 2734594
120 2734598
>>34564
JoinTable же. Что-та я затупил
121 2734623
>>31528
Принципы ООП в целом абстрактная хуйня для академиков. Им следует только всякая студентота и зелёные.
Если понаблюдаешь за своими дедами, поймёшь, что в реальной разработке всякие принципы и паттерны практически никак не используются.
Опытные прогают по ТЗ, без переусложнения на ровном месте. Архитектура кода также на 80% складывается из ТЗ и текущей архитектуры. Никаких значительных изменений там нет и быть не должно, если ТЗ конечно пишут не полные наркоманы, что в бизнесе исключено: это слишком дорого.
В принципы и паттерны код никто, ну кроме студентоты, специально не укладывает. В реальной разработке никаких принципов в принципе нет: как удобно, так логику и разбивают.
Просто так получается, что большинство таких решения так или иначе можно описать этими принципами и паттернами, поэтому они и существуют. Но в реальной разработке их используют не для проектирования, и именно для описания, для объяснения.
Т.е. ситуация диаметрально противоположная ожиданиям студентоты: они думают что принципы первичны, что естественно, ведь их с них и начинали учить, чтобы объяснять теорию опираясь на некий общепринятый словарь, но на самом деле принципы вторичны, их используют только для объяснения устройства и работы кода, как раз как общепринятый словарь, чтобы все понимали о чем речь.
А все потому, что разработка по своей сути процесс нестандартный, творческий. Весь код принципами описать невозможно, только какие-то отдельные высокоуровневые составные части. На низком уровне слишком много скрытых нюансов.
Поэтому у студентоты постоянно горит от реального кода: все не так, как учили, везде не по канону, везде нарушают.
До них начинает доходить, только когда они увидят, что этот код написан не зеленым рукожопом, а опытным дедом, который тебя за пояс заткнет в любой задаче.
Опять же причина воспламенений в том, что студентота зелёная: она ещё не видит всей картины в целом, и мыслит только базовыми теоретическими примитивами, воспринимает все слишком близко и буквально.
Тот же DI например с точки зрения принципов лютый треш: код, который занимается тем, что с помощью грязных хаков залазит внутрь объектов и меняет их состояние произвольным образом, игнорируя области видимости и любые правила приличия. И формально это так и есть. Но существует он и используется не в рамках ООП принципов, а в перпендикулярной им плоскости: это архитектурный компонент, его задача сформировать архитектуру приложения, а не следовать ООП принципам. Его никто не наследует, и вызывают только один раз за все приложение: в ООП он вообще никак не используется. Зато он обеспечивает возможность существования ООП в приложении, пусть и путем некой магии, для непосвящённых.
И в целом такие решения вполне оправданы. Конечно в реальности они встречаются редко, но только из-за того, что решают нерешаемые легальными способами задачи, поэтому знать их нужно: это такой же инструмент, как и остальные. В 99 задачах он не пригодится, но зато в одной выстрелит, сэкономит много сил и времени, позволит оставить архитектуру более чистой и простой, и тем самым многократно окупит затраты на свое изучение.
121 2734623
>>31528
Принципы ООП в целом абстрактная хуйня для академиков. Им следует только всякая студентота и зелёные.
Если понаблюдаешь за своими дедами, поймёшь, что в реальной разработке всякие принципы и паттерны практически никак не используются.
Опытные прогают по ТЗ, без переусложнения на ровном месте. Архитектура кода также на 80% складывается из ТЗ и текущей архитектуры. Никаких значительных изменений там нет и быть не должно, если ТЗ конечно пишут не полные наркоманы, что в бизнесе исключено: это слишком дорого.
В принципы и паттерны код никто, ну кроме студентоты, специально не укладывает. В реальной разработке никаких принципов в принципе нет: как удобно, так логику и разбивают.
Просто так получается, что большинство таких решения так или иначе можно описать этими принципами и паттернами, поэтому они и существуют. Но в реальной разработке их используют не для проектирования, и именно для описания, для объяснения.
Т.е. ситуация диаметрально противоположная ожиданиям студентоты: они думают что принципы первичны, что естественно, ведь их с них и начинали учить, чтобы объяснять теорию опираясь на некий общепринятый словарь, но на самом деле принципы вторичны, их используют только для объяснения устройства и работы кода, как раз как общепринятый словарь, чтобы все понимали о чем речь.
А все потому, что разработка по своей сути процесс нестандартный, творческий. Весь код принципами описать невозможно, только какие-то отдельные высокоуровневые составные части. На низком уровне слишком много скрытых нюансов.
Поэтому у студентоты постоянно горит от реального кода: все не так, как учили, везде не по канону, везде нарушают.
До них начинает доходить, только когда они увидят, что этот код написан не зеленым рукожопом, а опытным дедом, который тебя за пояс заткнет в любой задаче.
Опять же причина воспламенений в том, что студентота зелёная: она ещё не видит всей картины в целом, и мыслит только базовыми теоретическими примитивами, воспринимает все слишком близко и буквально.
Тот же DI например с точки зрения принципов лютый треш: код, который занимается тем, что с помощью грязных хаков залазит внутрь объектов и меняет их состояние произвольным образом, игнорируя области видимости и любые правила приличия. И формально это так и есть. Но существует он и используется не в рамках ООП принципов, а в перпендикулярной им плоскости: это архитектурный компонент, его задача сформировать архитектуру приложения, а не следовать ООП принципам. Его никто не наследует, и вызывают только один раз за все приложение: в ООП он вообще никак не используется. Зато он обеспечивает возможность существования ООП в приложении, пусть и путем некой магии, для непосвящённых.
И в целом такие решения вполне оправданы. Конечно в реальности они встречаются редко, но только из-за того, что решают нерешаемые легальными способами задачи, поэтому знать их нужно: это такой же инструмент, как и остальные. В 99 задачах он не пригодится, но зато в одной выстрелит, сэкономит много сил и времени, позволит оставить архитектуру более чистой и простой, и тем самым многократно окупит затраты на свое изучение.
c#.jpg85 Кб, 1280x720
122 2734662
Это правда что C# .net программистам платят больше?
И то что вероятность получить работу выше?

Вроде же наоборот - Java Spring топовый фреймворк, стандарт для банковских приложений.
Кто врет?
123 2734665
>>34662
Платят столько же, вероятность получить работу ниже.
124 2734670
>>34662
Джависты не срут в шарпотреде,а шарпомухи срут в джаватреде. Выводы очевидны
125 2734671
>>34670
Шарп популярнее?
126 2734677
>>34671
Мне загуглить за тебя количество вакансий?
127 2734681
>>34623
От тебя говном воняет, чел...
128 2734706
Для андройд-разработки Джава или Kotlin? Или Жаба > Kotlin? Или чисто Kotlin? Мнение?
129 2734747
>>34677
Да.
130 2734755
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>%АНОНЧЕ%</groupId>
<artifactId>spring_course1</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>spring_course1 Maven Webapp</name>
<url>http://maven.apache.org</url>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.0.9</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>6.0.9</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>6.0.9</version>
</dependency>

<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
<!-- Thanks for using https://jar-download.com -->

<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.19</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-core -->
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>6.2.5.Final</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.hibernate.common/hibernate-commons-annotations -->
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>6.0.6.Final</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>

</dependencies>
<build>
<finalName>spring_course1</finalName>
</build>
</project>

ChatGPT пишет что у меня не совместимые версии Spring и Hibernate, а также Hibernate Commons.
Это так?
130 2734755
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>%АНОНЧЕ%</groupId>
<artifactId>spring_course1</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>spring_course1 Maven Webapp</name>
<url>http://maven.apache.org</url>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.0.9</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>6.0.9</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>6.0.9</version>
</dependency>

<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
<!-- Thanks for using https://jar-download.com -->

<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.19</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-core -->
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>6.2.5.Final</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.hibernate.common/hibernate-commons-annotations -->
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>6.0.6.Final</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>

</dependencies>
<build>
<finalName>spring_course1</finalName>
</build>
</project>

ChatGPT пишет что у меня не совместимые версии Spring и Hibernate, а также Hibernate Commons.
Это так?
131 2734770
>>34755
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:mysql://localhost:3306/my_db?useSSL=false&amp;serverTimezone=UTC</property>
<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="connection.username">bestuser</property>
<property name="connection.password">bestuser</property>

<property name="current_session_context_class">thread</property>
<property name="dialect">org.hibernate.dialect.MySQL57Dialect</property>
<property name="show_sql">true</property>

</session-factory>
</hibernate-configuration>

org.hibernate.dialect.MySQL57Dialect - ChatGPT сказал что именно такая версия мне подходит, хотя в уроке Заура Трегулова указано следующее:
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> - когда в файле hibernate.cfg.xml указываю эту строчку, Интележи Айдия подчеркивает красным и пишет:
Invalid Hibernate XML Configuration
132 2734776
>>34770

>Интележи Айдия подчеркивает красным


Попробуй в Эклипсе
133 2734795
>>31979
Выучить - тупо звучит. Это не то что нужно учить или зубрить. Это просто прикладной инструмент - его надо осваивать, а не учить. А то некоторые его по 2-3 года "учат", и все без толку. Хотя осваивать его реально часа 4.
Смотри сам: чтобы понять что такое git, нужно понять что такое коммит, как коммиты между собой связаны, как и где они хранятся, понять концепцию меток: хеши, ветки, теги. Понять концепцию репозиториев.
И понять как с этим можно работать: как создать коммит, как его удалить, как создать и удалить ветку, как переключаться между ветками и коммитами, как подтягивать историю из внешней репы и выгружать туда свою.
Это реально маленький объем информации. И для старта вообще достаточно понять как добавлять ветки и коммиты и отправлять их а origin
Даже если брать консольку - это всего несколько команд: add, checkout, pull, push
Все, этого с головой хватит для обычной работы
По мере роста потребностей можно постепенно осваивать дополнительные команды: log, branch, init, merge, rebase, cherry-pick, revert, reflog. Но это уже специфика: некоторые о reflog через 2-3 года попыток "выучить" git узнают - так медленно у людей растут потребности. То есть до этого они с такими ситуациями, где нужен reflog, просто не встречались.
К тому же большинство разработчиков в git ходят через IDE/GUI, то есть с консолькой практически не контактируют - им даже команды осваивать потребности нет, достаточно заиметь понятие о самих концепциях git: что есть коммит, что есть ветка, что есть репа.

Так что да, освоить git за вечер вполне реально, если не ебланить и не отвлекаться на всякие соцсети/ютубики/мессенджеры, которые сожрут 80% времени, внимания и мотивации что-то делать.
Я не верю что кто-то не может понять что есть коммит, это же простейшая концепция.
134 2734863
>>34755

>ChatGPT пишет что у меня не совместимые версии Spring и Hibernate, а также Hibernate Commons.


>Это так?



пиздит ИМХО.

Другой вопрос - почему у тебя JUnit настолько древний: аж третий, когда давным давно есть пятый.
135 2734875
>>34770
>>34770

>org.hibernate.dialect.MySQL57Dialect - ChatGPT сказал что именно такая версия мне подходит,



https://docs.jboss.org/hibernate/orm/6.0/javadocs/org/hibernate/dialect/MySQL57Dialect.html

Пиздит. MySQL57Dialect депрекейтнут в пользу MySQLDialect.

Хватит хуйней страдать - чатгпт то чатгпт се... Хотя бы перепроверяй за ней, а то че ты как лох.
136 2735091
Нужно обработать ответ от сервиса, который возвращает 200 при ошибке, как это сделать? Для вызова рест эндпоинтов использую фигн клиент
137 2735098
>>35091
Смотреть тело ответа.
138 2735107
>>35091
Вызови через курл. Воткни дебаг в контроллер и проследи по шагам как реквест выполняется.
139 2735109
>>35091
if response == 200:
raise Exception
140 2735114
>>35098
Да понятно, бля пиздец, что за кретин придумал так делать?
141 2735118
>>35114
Нормальный разраб, который использует транспортный протокол HTTP по назначению.
142 2735136
>>35118
HTTP 200 OK
{"error": "yes", "errorMsg": "balans ne sviden!"}
143 2735180
>>35091
if (response.body.code != "ok") then
144 2735183
>>35114
а как ты различишь реальную ошибку и бизнес-ошибку, которая не ошибка?
145 2735218
>>35183
Статус кодов дохуя, найдется, что вернуть в случае ошибки, обрабатывать без кодов, это пиздец хуйня тупая
146 2735242
>>35218
вставляешь такой код 400 при бизнес-ошибке
@
фронт парсит ответ при 400
@
приходит реальная 400 с хтмл
@
фронт, жидко пукнув, умирает
147 2735249
>>35242
Не ставь код 400 при бизнес ошибке, в чем проблема?
148 2735256
>>35242

>приходит реальная 400 с хтмл



Нехуй дефолтные хендлы оставлять, это во первых.

Во вторых, нехуй без хэдера Accept запросы слать с клиента.
149 2735265
>>35256
>>35249
поэтому я шлю 200, и в ответе статус успеха.
И клиент знает что парсить ответ можно только при 200
150 2735281
>>35256

> Во вторых, нехуй без хэдера Accept запросы слать с клиента


Раскрой мысль
151 2735290
>>35265
Не "поэтому", а потому что тебе влом как следует изучить HTTP и как настраивать свой фреймворк.

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

>>35281

Куда уж дальше раскрывать.

https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/Accept

Хедер есть такой в HTTP. Accept называется. Если ты реквест пошлешь с "Accept: application/json", сервер не пришлет тебе никакого HTML. Или JSON пришлет, или 415-й статус код, если MIME на сервере не поддердживается.
152 2735316
>>35290

>Не "поэтому", а потому что тебе влом как следует изучить HTTP


какой http код отвечает за "отчёт не сведён"?
153 2735319
>>35290
ну пришлет тебе json с кастомным форматом, фронт на нём тоже сломается
154 2735360
>>35316
Я те вроде уже все сказал - делай что хочешь. Не нравится следовать RESTful - городи поверх HTTP свои правила, только не удивляйся что твое API ненавидят и нахуй шлют с такими инициативами. От меня тебе че еще надо? Те сказали что двухсотка на ошибки - не RESTful и не канон: что ты в ответ доказать то пытаешься? Что ты - хуи не сосал? Что RESTful нинужон? Что 200 - это ок но не всегда? Что?

>"отчёт не сведён"



Если запрос на сведение отчета был валиден и легитимен, но на сервере что-то не сошлось во время выполнения сведения, то 500. Если проблема была с запросом, то один из 4 кодов, в зависимости от того, что с запросом было не так.

https://restfulapi.net/http-status-codes/

>>35319

А ты не оставляй дефолтный формат. Делай свой раз дефолтный не подошел.
155 2735362
>>35360

>один из 4 кодов


один из 4xx кодов
156 2735370
>>35319

Более того, если ты все делаешь правильно, клиенту зачастую и не будет нужды лезть в боди. Если статус - 404, один хуй ясно что запрашиваемая клиентом сущность не найдена - зачем в боди то лезть? Или, если статус - 403, один хуй ясно что надо юзера редиректить на логин, или говорить что у него нет привилегий. Многое браузер за тебя сам сделает, например перепошлет запрос на новый location, если получит 302.

В этом и цимес стандартов - на HTTP много че подвязано и в браузерах, и в серверах, и в прочих узлах типа прокси или CDN. А вы берете и просто такие - "а, ебал я стандарты", и в итоге все заново переизобретаете. Или лабаете куцую хуйню которую потом другие люди заебутся интегрировать.
157 2735399
>>35360
фронту надо сообщить что данная операция неуспешна по причине "бюджет не сведён". Какой http код отвечает за несведённый бюджет?

>Делай свой раз дефолтный не подошел.


так не я отвечаю. Между мной и клиентом 100500 посредников, и каждый может выдать хтмл/json заглушку. Ты почему-то ориентируешься только на успешный сценарий, когда всё везде работает

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


PUT /order/adress
404
оно относится к order, к adress, к неправильному урл или отсутствию приложухи на сервере?
158 2735406
Дежурно напоминаю, что HTTP предназначен для передачи гипертекста и коды состояния HTTP должен отдавать веб-сервер, а не приложение, которое вы накостыливаете поверх HTTP.
200.png126 Кб, 900x675
159 2735408
>>35406
аминь
160 2735411
>>35399

>фронту надо сообщить что данная операция неуспешна по причине "бюджет не сведён". Какой http код отвечает за несведённый бюджет?



Ты тупишь чтоли, или я с нейронкой ебаной общаюсь щас? У тебя боди есть - вот там и сообщай что хотел клиенту. Только не со статусом 200, а со статусом 500.

>и каждый может выдать хтмл/json заглушку



Если ты шлешь Accept в реквесте, то они не имеют право слать тебе в ответ что-то другое. А если по факту шлют, значит - не правы, и должны быть пофикшены.

>PUT /order/adress - 404



Это троллинг тупостью чтоли? Ты PUTом ресурс запрашиваешь чтоли, чтобы оно тебе отвечало "The server can not find the requested resource", или что?
161 2735430
>>35411

> У тебя боди есть - вот там и сообщай что хотел клиенту. Только не со статусом 200, а со статусом 500.


клиент читает боди при 500
@
приходит реальная 500 с заглушкой
@
фронт, жидко пёрнув, умирает

Дальше, проблема с мониторингом. Это не 500, это стандартная ситуация, не нужно никому сигнализировать и рисовать красные экраны. Как отличить штатное сообщение валидации и реальное падение?

>А если по факту шлют, значит - не правы, и должны быть пофикшены.


шлёт шлюз провайдера клиента
@
эй, сраный билайн, фикси свои сервера

>Это троллинг тупостью чтоли?


шлёшь
PUT /order/10/adress/20
body {newValue}
404 относится к ордеру, к адресу, к приложухе, или что ты урл неправильно сформировал?
162 2735452
>>35430

>приходит реальная 500 с заглушкой



Третий раз тебе повторять одно и то же я не буду

>шлёт шлюз провайдера клиента



Либо ты кидаешь сейчас пруфы этого прецедента, либо ты пиздишь

>Выдумал априори бредовый не имеющий смысла ответ на абстрактный PUT в вакууме и спрашивает его семантику



Ты не шаришь, иди штудируй стандарты. Или не штудируй, мне похуй.
163 2735489
>>35411

>Это троллинг тупостью чтоли?


ДА
нахуй ты ему отвечаешь ебланище
164 2735496
>>35489
Хочу и отвечаю, собака сутулая
165 2735508
>>35496
Может и хуй мне пососешь?
.jpg44 Кб, 603x604
166 2735538
>>35508
А ты няшный?
167 2735543
>>35538
Ну ты и гей.... Да, но я пошутил.
168 2735721
>>35290
Я тупанул чутка,Accept Header это же MIME type он же Content Type?
169 2735724
>>35543
Пидорас,иди в шарпотред
170 2735728
>>35724
Но я жавакор хорошо знаю... Вот бы кто мне помог со спрингом..
171 2735730
>>35721
не. Content Type это сервер отсылает, обозначая тип данных. А Accept Header это клиент, типа я могу обрабатывать только такой формат. Но это совет, мало кто эти хедеры читает
172 2735731
>>35728
Че за спринг
173 2735732
>>35730
И когда accept и content type не совпадают случается пиздец?
174 2735733
>>35730
Content-Type может быть еще и в реквесте, если этим реквестом ты через POST или PUT передаешь контент на сервер. По этому хедеру сервер будет судить - что ты ему передал.
175 2735734
>>35728
Чем тебе помочь? Добить чтоб не мучался?
176 2735736
>>35732
если ты заведуешь ручкой - то ты эти хедеры и должен обрабатывать. Но проблема что если на сервере или на гейтвеях проблемы, то до ручки запрос не доходит, и там уж как реализованы все эти нгинксы и томкаты, хз читают ли они эти хедеры и умеют ли они отдавать заглушки в жсоне. Я вот сомневаюсь.
image.png13 Кб, 215x206
177 2735738
>>35731
Ета параша.
>>35734
Нинаю, морально поддержать(?) Поотвечать на тупые вопросы.
178 2735741
>>35736
Ну вот присылает мне клиет с access'ом xml а мой эндпоинт отдает Json. В консоли я увижу что-то типо: Resolved: [Incorrect type],а клиент что увидит?
179 2735742
>>35738
Я тебя убью
180 2735743
>>35738
Чтобы отвечать на тупые вопросы, надо задать тупые вопросы. А выше по треду был только спор по рестфул душный какой то. Где твой тупой вопрос?
image.png47 Кб, 1104x515
181 2735753
>>35742
Та за шо.
>>35743
Он в процессе формирования. Просто по своему опыту помню, что я вот про эту простейшую семантику даже не знал, но тем не менее что-то писал многопоточное. Ахуенные рассуждения у меня, конечно, выходили.
Чувствую, что со спрингом будет x2.
182 2735754
>>35741

>мой эндпоинт отдает Json



Твой эндпойнт не просто отдаст джсон, он отдаст его с хедером Content-Type: application/json. По которому потребитель уже имеет шанс понять что пошло чето не так. Помимо этого есть хедер Server, и ты еще своих хедеров набашлять можешь для разных нужд.
BvADn5n0ar.png56 Кб, 1172x898
183 2735755
>>35736
двач например игнорирует этот акцепт
184 2735758
>>35741
Accept это только совет, ты можешь его игнорировать и вернуть в ответ хтмл. Полиция хедеров к тебе не приедет
185 2735760
>>35755
Ну а спринг - не игнорирует.

Есть положняк под названием HTTP Content Negotiation, эти хедеры все - оттуда.
pNyRO7tH3w.png51 Кб, 1173x905
186 2735784
>>35760
спринг это ты. Томкат тоже игнорирует. По поводу того что где-то там что-то написано - на заборе тоже много что написано
187 2735791
>>34755
>>34795
Я устал.
Одного понять не могу - как вы можете днями напролет заниматься этим?
Буквально на начальном этапе создания базы данных и связывания ее с IDE запутался, ничего не робит, и гугл не помогает решить вопрос.
Вам нравится такими вещами заниматься?
188 2735792
>>35755
ну так двач буквально накодила обезьяна
189 2735851
>>35753
Что на скрине?
190 2735863
>>35758
Как в пизду совет,это же буквально метаинформация о запросе
191 2735879
>>35851
В каком плане? Определение из java concurrency in practic. Если инструментально подходить, то база знаний, которую я сделоль, пока читал её.
192 2736027
>>35879
Заткнись
193 2736029
>>36027
Ты со спрингом-то поможешь? А то убью, заткнись.... Прогресс!
194 2736054
ПОЧЕМУ У МЕНЯ ГРАДЛ ХЕЛЛОВОРЛД СОБИРАЕТ ЗА ПОЛТОРЫ МИНУТЫ?
195 2736055
>>36054
Торопишься куда-то?
image.png276 Кб, 1122x1122
196 2736057
>>36055
С каждой такой программой мы всё дальше отдаляемся от бога.
197 2736068
>>36029
Нет
198 2736081
>>35791

>>на начальном этапе создания базы данных и


одна команда в консольке - docker run всякие параметры postgres

>>связывания ее с IDE запутался


На это секунд 15 трачу. Надо ж просто 4 строчки заполнить адрес/порт/логин/пароль. И test connection можно прожать.

>>Вам нравится такими вещами заниматься?


Код писать нравится. Это как медитация. Отдыхаешь от всякой дневной хуиты пока пишешь код.
199 2736087
>>35452
Вот тебе пруфы
https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:register
Сбер шлет при ошибках 200, код ошибки в теле json ответа
Ну не может же сбер, айти компания номер один, ошибаться, верно?
Тупо конечно, но это стандартная практика в мире CMS-интеграторов, которые клепают 80% всех сайтиков, и нифига толком не могут в программирование, на них и ориентируется весь бизнес
200 2736090
>>35370
А если это сайтик или приложуха, и им не интересно перебирать десяток кодов?
У них всего два варианта ответа: "ой, что-то пошло не так, попробуйте ещё раз" и "форма отправлена успешно".
Так что любой ответ они парсят и проверяют всего двумя условиями: если json не пустой и содержит флаг ошибки - выводим ошибку, иначе выводим успех
201 2736093
>>35791
Писать код - это как слушать музыку, как полет, как серфинг или спуск на лыжах, захватывающе, восторг на грани со страхом.
Надоесть может, через много лет, но пока ты плывешь по волнам, в потоке, это охуенно. Иногда сложно, иногда легко, иногда с горочки со свистом, иногда филигранно обходишь сложное препятствие. Мозг все время работает, анализирует, выдает решения - ты чувствуешь как жизнь бьёт ключом. Эндорфины прут, тебе хорошо, ты все можешь. Ты летишь в неизвестность, в темноту, и не знаешь что оттуда на тебя вылетит, справишься ли ты. Но успех от решённых задач подбадривает и говорит о том что справишься - справился же с сотнями сложных проблем ранее, значит все говорит в пользу того что и новые тебе покорятся. Бесконечный подъем наверх, с каждым разом покоряет все более сложные высоты.
Пока ты активен и здоров, пока ты имеешь силы и возможности - разве может это надоесть?
Программирование становится не интересно только в болезни - тогда тебе плохо, у тебя нет ресурса думать, просто лежишь и слюни пускает, тебе уже не до программирования.
202 2736226
>>36054
Градл хуядл.
203 2736289
>>36057
Бога нет. Был был бог - джава не была бы таким говном.
204 2736294
>>34075
Зачем видеокарта ? Процессора со встроенным видеоядром достаточно. Например ryzen 5 5500U.
E3979F5D-E917-43DF-836F-10000C07271C.jpeg189 Кб, 1227x947
205 2736329
>>36289

>>Бога нет.


А ДНК само образовалось? А программка на материнке тоже может сама написаться от короткого замыкания?

>>Был был бог - джава не была бы таким говном.


Бог использует кватернарный код, а не бинарный как люди.
206 2736371
Бугурт пориджа ньюфага.

Как же всрато выглядит JPA Criteria Query после хибернейтовских запросов, это просто пиздец. Аж писать ничего не хочется, когда вспоминаешь, что придётся изучать эту нелепую махину с кучей оверхеда и какого-то одному JPA нужного кода, который мне половину метода засрёт и усложнит его чтение.

А ведь мог просто брать и писать запросы на хибернейтовских критериях. С ветерком и на чиле. И потом сидеть и спокойно читать эту лаконичную красоту. На кой хуй их задепрекейтили бляяяяять
207 2736392
>>36371
Да, хибернейт выглядит очень всрато после няшного SQL.
208 2736402
>>36371
чел это обе легаси залупы
209 2736453
Я неудачный вкатун в жабу. Год учился, нихуя там и не смог даже на собес попасть, хотя откликов сделал навалом. Сейчас мне нужно на вордпрессе одну хуйню сделать, полез вспоминать php. Бля, какое же дно. Как же там не хватает всей этой привичной строгой типизации, обязательного ООП... Все же Джава пиздатый язык.

Вотс. Просто зашел сказать.
210 2736461
>>36453
Не переживай, я такая же...
211 2736614
>>36453
Я тоже решил учить РНР, потому что на джаве фиг вкатишься
212 2736628
>>36614
Ключевое слово "тоже"
213 2736645
>>36453
>>36461
>>36614
А вас предупреждали, что нужно учить сишарп
214 2736646
>>36453
Когда-то учил PHP, но надолго меня не хватило, блевал каждый раз от одного вида. Вкатился в итоге в жабу ебаную.
215 2736666
>>36645
Из-за таких как ты и не стали учить. Никакой синтаксический сахар и перспективы вката не окупят убитую психику от работы в команде с шарпистами ебаными.
216 2736668
>>36666
Стоит и о другом задуматься. Нахуя шарпоблядям выращивать себе конкурентов? Что-то здесь явно не так.
217 2736684
>>36614
А в чем проблемы? Мб передумать ещё
218 2736687
>>36684
Если хочешь на джаву, то надо врать в резюме и рисовать опыт
219 2736704
>>36687
Опыт работы в it компании? Даже врать не надо. Это все проблемы? По моему это всю it распространено.
220 2736706
>>36704
В РНР не надо. Альберт говорит, что после 2 его курса можно уже устроится.
221 2736707
>>36706
Я не знаю кто такой альберт, да и знать не хочу.
222 2736709
>>36707
Альберт Степанцев - автор курсов по РНР. Если бы такие классные курсы были по джаве, то может быть и на джаву ещё попытался. Но тут и курсов крутых нет и шансы вката минимальные.
223 2736713
>>36709
По джаве есть крутой буткемп от влада мишустина бро
224 2736715
>>36709
>>36713
Вы че ебанутые, какие нахуй курсы? Нафига они нужны?
225 2736717
>>36715
Ну а что ты предлагаешь? Как учить программирование?
image.png17 Кб, 896x218
226 2736719
>>36717
Не знаю, я по кишочкам/докам/спекам лазаю. Вон, смотри в иммутабельной строке есть мутабельные поля.
227 2736722
шалом
как сделать так, чтобы при сохранении через jparepository, когда срабатывает save, ДО него вызвался мой код и изменил кое-что в сохраняемой сущности
я хочу сделать generalEntity с датой создания и модификации, от него все унаследовать и перехватывать сохранение. Есть способы лучше так сделать?
228 2736723
>>36719
Когда надоест заниматься ерундой, то скачай курс Альберта и увидишь как он учит программированию. Я за пару недель так прокачался, как не смог за 4 года в универе.
229 2736726
>>36723

>Когда надоест заниматься ерундой


Ерунда не ерунда, но ты подумай, почему в иммутабельном объекте, который дает ряд гарантий в многопотоке, есть мутабельные поля, которые перезаписываются.
230 2736745
>>36646
А как же С++ или Phyton ммм ?!
231 2736762
>>36722
в хибернейте есть хуки. PrePersist, PreCommit и так далее. Не помню как называются. И наследование - плохо
232 2736799
>>36762

>наследование - плохо


Нет.
233 2736882
>>36722
гугли @CreationTimestamp и @UpdateTimestamp
Bildschirmfoto vom 2023-06-17 22-05-42.png14 Кб, 315x290
234 2736906
володенька, массивы в жабе действительно такие хуёвые, что нельзя инициализировать массив объектов через фабрику, которая выплёвывает один объект? только через конструктор или пердолить как все через ArrayList? чисто академический интерес.

вот пример на яблоках:

class Polka{
Apple[][];

Polka(int cols, int rows){
this.Polka = new Apple[rows][cols];
// хуёво, так как Apple не может в правильный конструктор
// нужный Apple можно получить только от getApple()
}
}

}
235 2736915
>>36906
делай как тебе нравится, в чем проблема?
236 2736929
>>36906
Просто смирись с мыслью, что для в любых подобных задачах надо писать 100500 строк бойлерплейта. Здесь нет изящных и удобных решений в одну строку.
237 2736938
>>36906
Могу ошибаться, но
Фабрика: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Array.html#newInstance-java.lang.Class-int-
Получение: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Array.html#get-java.lang.Object-int-
Можно легко переписать на подобное:
public static Object get(Object array, int... index) {
if (!array.getClass().isArray()) throw new IllegalArgumentException();
Object r = array;
for (int j : index) r = Array.get(array, j);
return r;
}

Единственное, здесь нет type-safe.
238 2736941
>>36906

>// хуёво, так как Apple не может в правильный конструктор



О чем ты?

Делая new Apple[rows][cols], ты просто получаешь матрицу rows*cols с nullями. О каком конструкторе речь?
239 2736942
>>36929
Смирись лучше ты с мыслью, что ты - бессмысленная затычка в жопе, у которой по существу идей нет, а спиздануть чето надо.
240 2736944
>>36938
Хотя проще так как-то сделать:
public static <T> T get(T[] arr, int i) {
return arr;
}

public static <T> T get(T[][] arr, int i, int j) {
return arr[j];
}
Сомневаюсь, что где-то нужны большие массивы, хотя интересно можно ли как-то с помощью дженериков скалякать геттер произвольной dimensions. Впрочем не совсем понятно нафига это может понадобится.
241 2736949
>>36944
Массивы в реальной жизни никто не использует уже давно. Collections.
242 2736951
>>36949
Ну главная проблема коллекций, что project valhalla все еще где-то там, далеко. Так что примитивы пока что только в них храним. Или похуй уже?
243 2736955
>>36951
Ваще не понял об чем ты? Какая главная проблема коллекций?
Если нужно пихнуть примитивы есть Autoboxing/Unboxing.
244 2736957
>>36955
Ну это сколько места занимать будет? ~16 байт + примитив.
Так ещё на каждое изменение, инкремент скажем, надо анбоксинг-действие-боксинг.
245 2736980
>>36957
Ты на крестах что ли пишешь, чтобы байты считать? Или всё-таки на жабе?
246 2736982
>>36980
Тут и перфоманс в том числе. Ряд оптимизаций жвм просто невозможен. Да и аллокации время занимают. Ну и а байты считать смешно, конечно. Из-за таких как ты жаба и считается монстром, что жрёт дохуя оперативы.
Типа, а хули нам используем LinkedList<Boolean>, норм тема.
247 2736986
>>36982

>Из-за таких как ты жаба и считается монстром, что жрёт дохуя оперативы.



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

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

>>36941
248 2736988
>>36986

>Ты обьясни - че конкретно за прикол ты с этими ебаными яблоками то пытаешься сделать?


По ветке можно было понять, что это не мой пост. Я просто решение через рефлексию предложил. Ну и еще интересно стало, можно ли как-то type-safe сделать через женерики для произвольной размерности массива.

>Эти удавятся за лишний байт в оперативе


Ну я просто не считаю делать анбоксинг и боксинг, если этого можно избежать.
249 2736991
>>36988

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



Не, это понятно, просто я не понял откуда вообще взялся разговор о боксинге, когда в оригинальном вопросе вместо примитивов яблоки какие то блять.
250 2736992
>>36991
Я скозал, что это главная проблема коллекций - невозможность нормально хранить примитивы. Жду проекта вальхала, когда там его допилят.
251 2736993
>>36992

>Жду проекта вальхала, когда там его допилят.


Окей, подождем.

Так а яблоки че? Я чекнул твой солюшен с рефлексией, и все равно не врубаюсь ни в постановку проблемы, ни в смысл решения. Чел вроде бы создает массив, а ты наоборот getаешь. Как ты интерпретировал его шизофазию?
252 2736994
>>36993
Ну как я понял, ему нужно массив любых размерностей через метод создавать. Т.е. не только длина может изменятся, но и размерность. Вот только хуй знает где это может понадобится.
Гет тут нужен, чтобы с таким объектом работать.
253 2736995
>>36994
Я хз где ты это там увидел, конечно. Или ты - лютый психиатр, или кто то из нас поехавший.

Вообще, он там чето об инициализации массива бугуртил, что типа через фабрику нельзя (схуяли?). Конструктор у яблока вишь ли у него неправильный. Короче я ебал, не моего ума видимо загадка.
254 2736997
Жаба - монстр, который жрёт дохуя оперативы. Она не считается такой, она такой является.
255 2737008
>>36997
мемори из чип
*Uncle Bob"
256 2737013
>>36994
не, мне нужен двухмерный массив объектов, объекты нельзя создать конструктором (ихоняя api говорит, что от этого жопа треснет), а только через сторонний метод. так что Apples[][] apples = new Apples[rows][cols]() не прокатит. массив фиксированн по размеру и меняться никогда не будет, коллекция не нужна, от apples.get(row).get(col) вместо apples[row][col] у меня дёргается глаз.
image.png40 Кб, 569x393
257 2737014
>>37013

>объекты нельзя создать конструктором


Яблочки низя создать без конструктора? Технически, и wrapped классы нельзя по ним, точнее не желательно. Не понимаю в чем проблема.
258 2737016
>>37014
нельзя создать новое яблоко, можно только получить в подарок.
image.png40 Кб, 712x569
259 2737018
>>37016
Что я делаю не так?
ы.jpg5 Кб, 300x168
260 2737019
>>37014
кстати, зачем ты двенадцать раз подряд заполняешь массив единицей?
image.png54 Кб, 654x629
261 2737020
>>37016
Ну или так. Правда это криво как-то.
>>37019
Могу 42 заполнить, разница?
262 2737023
>>37020

> apples = new Apple[rows][cols];


итить, а так можно было? блять, пойду по дереву вырезать. спасибо.
263 2737024
>>37023
Ну как бы да. Массив - это отдельный объект, опосредованно связанный с классом, который он определяет. Я тебе еще по интегеру это же сказал. Удачи там.
264 2737184
Как вы думаете стоит проработать спринг нейтив с грааль вм? Петик может написать. Пока увидел, что не работает мокито.
265 2737207
>>37008
640 килобайт хватит всем
266 2737213
>>37013

>Apples[][] apples = new Apples[rows][cols]()



Чел, нет такой конструкции как Apples[][] apples = new Apples[rows][cols](), откуда ты это взял вообще?

Массив создается или так: тип[] a = new тип[размер] и ты получаешь массив дефолтных значений типа (для референсных типов это всегда null)

или так: тип[] a = new тип[] { значение, значение2, значение3 }, и ты получаешь массив из трех значения типа тип.

Создавай массив первым способом, проходись по нему циклом и инициализируй чем хочешь.
image.png49 Кб, 2154x400
267 2737234
>>37184
лол
268 2737328
>>37234
И?

А на чем еще ты собрался экзешники для майкоси собирать?
269 2737335
>>37184
Попробуй.

Когда я имел секс с нативной грааль сборкой, сначала была ебля с конфигами reflection metadata. Потом - похожая ебля с Unsafe. Лично я сдался, когда мне попалась зависимость с JNI вставками. В твоем случае спринг может быть сделал многие вещи за тебя из коробки. А может и не сделал, лол.
270 2737702
>>37328
MinGW
271 2737709
>>36453
Все так, бро
Сам на php много лет зарабатывал, теперь перекатываюсь в java
В разработке php частенько не хватало строгости java
Со временем сложилось понимание, что на php ничего нормального в принципе не построить
Язык поощряет срезать углы и говнокодить, что и обрекает любой сложный проект на смерть
В одно лицо крупные проекты не пилятся, а нормальную команду на php собрать вообще нереально: с одной стороны язык поощряет говнокод, шанс найти нормального программера на php мал, с другой стороны php выбирают чтобы максимально сэкономить на разработке, так что бюджеты на команды маленькие, что тоже не способствует найму профи
Типичная php-команда: недосенька, который все тащит, несколько типа "мидлов", и пучок "крепких джунов", которые не знают даже базы и по всем стандартам могут тянуть только на стажеров. Из всех них программером можно обозвать сеньку, и то с натяжкой - зачастую и у него с базой непорядок
Также php серьезно губят cms: 80% вакансий под программером понимают некого студента, который будет натягивать шаблоны на cms, и не более. Самим же программерам с cms связываться никакого резона: опыт подобной копрофилии им вообще нигде не пригодится
Вот и получается что на php работы много, но по большей части она низкооплачиваемая и низкоквалифицированная

На java пока напрягает только разговоры о том, что нет фриланса и удаленки - это было бы печально, от удаленки и той свободы что она дает отказываться не хотелось бы
272 2737790
>>37709

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


У меня так же выглядит команда на 10 жавистов в небольшой галере.

>На java пока напрягает только разговоры о том, что нет фриланса и удаленки


фриланса считай нет, удаленка есть, хотя наверно поменьше чем на пыхе. И ее срезают всякие параноики из крупняка. Или режут вообще или переводят на гибрид. Или не разрешают удаленку из других стран или из других городов.
16868357479540.png177 Кб, 427x427
273 2737842
>>30933 (OP)
Ну как, вкатились?
274 2737843
>>37842
Стораюсь...
275 2737844
>>37842
Конечно, вкатился до пандемии. Получаю 250к, программирую на XML.
276 2737896
>>37844

>программирую на XML


Вот от этого у меня больше всего горит. Егора на них нет!
277 2737946
>>37842
Многие бывшие однокурсники сидят на жабе спокойно и в хуй не дуют на 200к зп. Хуй знает, наверно тоже надо было в жабу идти, жаль 2 года на другой стек проебал.
278 2737950
>>37946
Что за стек?
279 2737957
>>37950
Бч.
280 2738208
>>37896
Егорыч любил XML тащемто.
281 2738445
А про какие вы хмл говорите? Типа у вас старые версии фреймворков 15-летей давности, где конфиги на змл?
282 2738496
Блять заебался с этими сетями, дайте совета чё ответить по существу девопсу, а то срёмся уже и даже тимлида подключили.
Есть проблема - Connection timeout.
Когда происходит общение наших сервисов в кластере то у них стоит дефолтный таймаут в 1 минуту, после чего он падает с 504. Я использую HTTPInterfaces в спринге и потому в конфиг добавил:
HttpServiceProxyFactory httpServiceProxyFactory =
HttpServiceProxyFactory.builder(WebClientAdapter.forClient(searchASTWebClient))
.blockTimeout(Duration.ofMinutes(2))
.build();
Что в принципе везде советуют и при локальном тестировании всё нормально, соединение живёт 2 минуты вместо дефолтной 1 и потом падает. Однако на деве, на кластере, оно всё равно живёт 1 минуту. Мне девопс указывает что ошибка на моей стороне, потому что в логах выдаёт:
org.springframework.web.reactive.function.client.WebClientResponseException$GatewayTimeout: 504 Gateway Timeout from POST http://(тут линк на апи в кластере). Однако, я подозреваю, что проблема в кластере, он сам рубит соединение и потому вебклаент так же падает. Опять же, проблему локально я не могу повторить, потому что её просто нет.
Вопрос, как мне разобраться в чем проблема? Действительно ли это на k8 кластере у спринга отваливается конфиг прокси?
283 2738570
>>38496

>Я использую HTTPInterfaces в спринге


вот ты сучара
284 2738584
>>38570
А чё такое? Завидно? Капчуешь с 1 бута?
285 2738603
>>38496
Ты чекни с девопсом - может между клиентом и сервером на проде есть прокся какая то ебаная, которая рвет коннекшен через минуту вопреки всему по своей инициативе. Например, чекни что в хедере Server у респонза с 504 приходит.

У меня такая же петрушка помню была, из-за чего весь отдел с ума сошел. Кастомерская бага была на то, что "севис отвечает чет медленно, тормозит", а на самом деле бэк сервиса лег под нагрузкой нахуй, а прокся между сервисом и клиентом обрывала коннекшен по таймауту с 504м статусом, который фронтенд тупо саппресил, создавая иллюзию что "все ок". Прикинь мое ебало в тот момент, когда я это нашел?
286 2738614
>>38603
Тонны нефти, пиздос заебался уже какой день искать в чем проблема. Server действительно прилетает awselb/2.0, сейчас пойду указывать на это.

>Прикинь мое ебало в тот момент


Да у меня такое же будет, если не разберусь и придётся помидоров из других отделов звать, а проёб моим будет
287 2738620
>>38614
Не торопись, проведи пару тестов. Например, чекни какой респонз вернется если сервер по своей инициативе в таймаут свалится. Выстави ему 30 сек и так же чекни хедер. А то те не поверят и нахуй пошлют.

Мне мои тоже не сразу поверили.
288 2738659
>>38620
Понял, принял, сам до этого чет не додумал. Чая, нефти и девственниц.
289 2738683
>>38620
А, вот еще че вспомнил.

>>38614
Если у тебя действительно этот кейс, и если у тебя - томкат под спрингом, то в логах будут ошибки вида: "APR error: -32". Тоже симптом.
290 2738770
>>38445
В смысле? В java-разработке просто тонны xml. Это и конфиги, и выгрузки, и даже, блджад, апишки xml-шные.
Ты этот xml в страшных снах будешь видеть
291 2738798
>>37842
Нету вакансий блинский
292 2738809
>>38770
Meh. Ты преувеличиваешь. Где раньше был XML, давно уже завезли альтернативы. Ну вот назови хоть один XMLник помимо помника мавеновского, с которым ты имел дело последние пару лет?
293 2738822
Подскажите пожалуйста, в книге Эффективная java описывается "шаблон строитель", когда его нужно применять ?

P.S. - шаблон строитель это класс с приватным конструктором и статическим вложенным классом с названием Builder и он содержит статический метод build.
294 2738851
>>38822
Типа factory-метод как в Pattern?
295 2738852
>>38851
java.util.regex.Pattern типа. Но я не шарю, я даже не вкатун пока что, может там и другая хуйня.
296 2738880
>>38822

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

Просто знай что есть вот такой вот паттерн и его можно применять для сборки сложного обьекта.
297 2738896
>>38880
Спасибо.
298 2738911
>>38445
1. Конфиги на XML, да. Сервер приложений другое не умеет.
2. Пом.хмл, немного анта.
3. Клиент на Delphi работает через SOAP
4. В интеграциях тот же SOAP и кастомные ХМЛ-сообщения, хотя там частично перелезли на кафку с жсоном. Но есть и кафка с ХМЛ, прости господи.
299 2738930
>>37842
А ты ?
300 2738979
>>38809
Ну я вроде не работаю на серверах приложений, стек более-менее свежий.
Ликвибейс, жук-кодген, логеры всякие. Интеграции на хмлях с кучей древних внутренних и менее древних внешних сервисах. На соапе, ресте, реббите.
В спринге хмл видел 2 года назад на проекте, который тогда выл 10-летним легаси. На хибере не видел никогда.
В среднем с yml и json я работаю даже чаще чем с xml.
301 2738982
>>38979

>Ликвибейс


Поддерживает миграции ямлем и джсоном

>жук-кодген, логеры всякие


Ну допустим

>На соапе


Ок

>ресте


А здесь че? Опенапи генераторы спокойно поддерживают и джсон и ямль спеки

>реббите


Реббитовский конфиг с эксченджами? Джсон. Или про какой хмл ты тут?

>В среднем с yml и json я работаю даже чаще чем с xml.


Ну видишь? А говорил "тонны хмл в джава-разработке".
image.png12 Кб, 477x122
302 2738983
image.png86 Кб, 836x488
303 2738993
>>38983
И в чем преимущество перед конструктором? Типо не надо делать 100500 методов для каждой вариации? Хотя по итогу все равно все к нему сводится... Нахуя это надо?
304 2738995
>>38982

>Опенапи генераторы


Это нерабочее говно, которым никто толком не пользуется. Проще руками написать клиент и контроллеры на сервере, чем месяцами дрочиться с генератором, который раз за разом высирает говно. А контракт можно зафиксировать несколькими сообщениями в чате. Все!
305 2738997
>>38995
Неистово плюсую, еще это говно ломается с обновлениями спринга например
306 2739010
>>38770
чем он вам не нравится? Простейший читаемый логичный формат. Уж явно лучше ямла
307 2739013
>>38993
когда не хочешь делать конструктор на 100500 полей, при этом часть полей может быть необязательными. Тогда применяешь билдер
308 2739080
>>38995

>Проще руками написать клиент и контроллеры на сервере, чем месяцами дрочиться с генератором



Да ради бога. Только вот один хер ресты ты будешь руками писать скорее всего аннотациями. О каких XMLках идет речь рыше - вопрос по прежнему открытый.
309 2739145
>>38911

>немного анта


мнение динозавров с ебаным легаси не интересует
310 2739159
>>39145
Пиздуй в шарп тред, хипстер
311 2739185
Это тред тупых вопросов?

Предположим у меня есть программа, которая считывает из памяти другой программы данные. Как мне передать их в жава приложение так, чтоб не писать на диск, а сразу, из памяти в память?
312 2739202
>>39185
Сокеты.
313 2739227
>>39185

>из памяти в память


у меня встал
314 2739241
>>39185
Вроде помимо сокетов, в POSIX есть способы общения процессов...
315 2739276
>>39241
COM ACTIVEX OLE
316 2739299
>>39241

>способы общения процессов



Это все называется и гуглится по термину - Inter-Process Communication (или IPC)

>Как мне передать их в жава приложение так, чтоб не писать на диск, а сразу, из памяти в память?



Сокеты, пайпы. В теории максимальбно близкий по твоему описанию IPC - это shared memory, но в джаве оно не поддерживается (и это - к лучшему, на самом деле). Также, не спеши по критерию "Чтоб не писать на диск" отсеивать файлы как таковые - в юниксах многие вещи в виде файлов существуют, например, именованные каналы.
317 2739300
318 2739302
>>39299
Блять, эта ебаная двачевая манера...

Короче >>39185

-> >>39299
319 2739335
Короче похуй, будем делать JNI бибилиотеки и использовать их.
320 2739390
>>39335
Плохой выбор, пожалеешь потом об этом.
321 2739391
Будем делать .NET библиотеки и использовать их.
322 2739408
>>39390
Ну раз ты сказал что пожалею, значит правда. Теперь я точно предумал.
323 2739417
>>39391
В дотнете не делают библиотеки, там хрючат что майки дадут или ждут сдк под шарп от джавовых либ и тулзов
324 2739426
>>39408
Какой же ты рациональный и рассудительный человек.
325 2739436
>>39013
Кому как нравится.
326 2739442
>>39185
Можно ещё сделать веб-приложение на spring и отсылать туда данные с памяти с get/post запросом. Spring будет с помощью модели отдавать эти данные на веб-страницу, а затем другое приложение будет читать их оттуда из url.
327 2739452
Как узнать какая зависимость в pom-файле к какой зависимости подходит?
Есть сайт какой-нибудь, чтобы там написано было?

Вот сейчас добавил в проект Hibernate-core зависимость версии 6.2.5 Final (то есть последнюю) - и в web.xml файле в строках
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
dialect.MySQLDialect красным горит, не находит зависимость.

В pom файле поменял зависимость на 5.4.22.Final (как в уроке) - все заработало, хотя другие зависимости самые последние.
Как это работает и от чего зависит?
328 2739454
>>39442
Я бы хотел как можно меньше посредников. Вообще жава оказывается умеет по средствам винды инжектить длл в процессы, создается поток и туда длл пихается. Я тут подумал, а нельзя ли как нибудь не хранить на диске длл для инжекта? Ну типа мы уже можем создавать пустой поток в процессе, а как нам залить сразу в это адресное пространство байтики, которые мы заранее храним в памяти нашей программы?
329 2739477
>>39452

>Как узнать какая зависимость в pom-файле к какой зависимости подходит?


>Есть сайт какой-нибудь, чтобы там написано было?



Этого нет ни в джаве, ни где либо еще. Реальная совместимость версий зависит тупо от дисциплины людей, разрабатывающих компоненты.

Есть semver. Есть релиз-родмап тех же спринга и хибернейта, где декларируется кто с кем совместим в теории. А дальше все зависит от того, кто где обьебался.

>dialect.MySQLDialect красным горит, не находит зависимость.



Мало ли из-за чего идея красным горит... Может это баг в идее. Может идея индексы не обновила? Не думал об этом?
330 2739652
один интерфейс и одна релизация - это вышло из моды или всё ещё в силе? Щас спросили на собесе, говорю что вышло из моды. Но раньше применялось для создания проксей, моков и тестирования
331 2739668
>>39652
Никогда это из моды не выйдет.
332 2739672
>>39668
чому?
333 2739715
>>39672
В c так было, в c++ продолжили, таки зачем что-то менять?
334 2739722
Интерфейс - хедер, автовайр - инклуд, pojo - структура, компонент - объектный файл.
335 2739725
>>39715
какие ещё интерфейсы и реализации в си?
336 2739729
>>39722
Кубер - сервер приложений.
337 2739759
>>39159
лан лан шучу я сам ант таски писал под кастомную сборку
даже оно лучше ебаного градла
338 2739819
>>39454
Ну смотри как это делается в железе:
выделяется общий буфер, выделяется счётчик, и выделяется прерывание.
Железка снаружи пишет данные в буфер, пишет длину данных в счётчик, и дёргает за прерывание.
По прерыванию просыпается друга железка или драйвер, смотрят на счётчик, забирают данные из буфера, засыпают.

В твоём случае общий буфер - это обычный файл, например в /tmp, проще некуда, и не на диске
Счётчик - заголовок файла заранее известной длины
Прерывание - сигнал, который посылаешь процессу
И вот уже простейший конвеер готов

Если нужно не просто передавать, а двигать окно - тут уже потребуется двусторонняя связь и драйвер.
На низкоуровневой стороне пишешь логику драйвера: он должен принимать смещение, размер окна, ссылку на буфер, и отдавать позицию окна, размер доступной области памяти и размер считанных в буфер данных.
На высокоуровневой пишешь ответную часть драйвера: выделение буфера, считывание размера блока памяти и позиции окна в ней, управление смещением и размером окна, вычитывание буфера.
Через этот драйвер получаешь почти прозрачный маппинг внешней памяти внутри java, и обрабатываешь в java как угодно
Если очень хочется, можно даже буфер записи организовать, чтобы не только читать, но и писать
339 2739821
PostgreSQLContainer из testcontainers пересоздает базу на каждом новом классе теста. В спрингбуте. Кто-нибудь помнит как убрать?
340 2739825
>>39725
Для меня это хедеры.
342 2739866
>>39853
ок, примерно так и сделал
343 2740036
>>39866
https://github.com/cray33

Сиди и не отсвечивай. Тебе не место в айти!
344 2740074
Мне надо в не спринговом приложении написать логику броска кубика с 6 гранями.
Лепить класс со статик методом и потом вызывать его через int value = DiceUtil.roll(6) не хочется, потому что егорка сказал, что статик методы это плохо.
Насколько лучше сделать так: int value = new Dice(6).roll() и повторять этот код во всех местах где нужен бросок? Без инъекции кубиков через конструктор/сеттер, потому что мне не нужно тестировать взаимодействие вызывающего кода с кубиком. Пока.
Выглядит однохуйственно, честно говоря.
345 2740078
>>40074
А этот твой егорка не сказал, что new это гораздо хуже, и чем чаще вызывается, тем больше?
346 2740083
>>40078
Окей, ты предлагаешь сделать очередной спринговый залупа сервис, кидающий дайсы. Но у меня пет для души, без спринга, без энтерпрайз кала...
347 2740086
>>40083
Ну так и сделай diceutil и не еби мозги
348 2740089
>>40074

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


А как бы поменялась логика, если б ты спринг юзал?

Вроде все генераторы рандома делаются статическими или получаются через статический метод по типу ThreadLocalRandom#current(). Поэтому почему бы не сделать фабрику? Притом new будет очень плохо, тк создание условного SecureRandom долго...
349 2740102
>>40089

>А как бы поменялась логика, если б ты спринг юзал


Сделал бы залупа сервис синглтон, как обычно
Благодаря спрингу мне не надо руками прокидывать дайс во все коллабораторы в мире и я получаю удобную возможность тестировать, что 1) подкидывание кубика реально работает 2) код, который работает с кубиком, кидает его с нужным числом граней. Объект остается объектом, а не утил методом

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



На самом деле помимо этого специфического примера постоянно возникает необходимость писать микрологику, которую некуда приткнуть, кроме как в утил классы.
image.png9 Кб, 517x103
350 2740106
>>40102

>1) подкидывание кубика реально работает 2) код, который работает с кубиком, кидает его с нужным числом граней.


Ты рофлишь? Вот этот вот код тестировать? Ебать тебе заняться нечем. Ну к слову, я б хотел увидеть, как ты рандом-то тестируешь.

>На самом деле


На самом деле я б на логику посмотрел. И вообще через инъекцию бы сделал. По моему она лучше всех выглядит... Впрочем кто я, а кто ты.
351 2740124
>>40074
new RolledDice(new Dice())
352 2740125
>>40106

>Ты рофлишь? Вот этот вот код тестировать? Ебать тебе заняться нечем.



Сам рандом не стал бы, но коллаборатора потестил бы. Когда он начнет выбирать количество граней динамически.
353 2740126
>>40125

>коллаборатора


А хде про такой шаблончик почетать можно?
354 2740130
>>40126
Нигде, это я так называю класс, который взаимодействует с тестируемым кодом. Что, раскусил меня по сленгу? Да, я вкатун.
image.png70 Кб, 869x751
355 2740137
>>40130

>коллаборатора потестил бы


>класс, взаимодействует с тестируемым кодом


Какое-то масло масляное получается.

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

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

>Да, я вкатун.


Ты-то судя по всему хотя б вкатился.
356 2740150
>>40036
может поревьювишь?
357 2740399
>>40150
А ты заплатишь?
358 2740424
>>40399
Сколько за ревью одного тестового?
359 2740625
>>40074

>Насколько лучше сделать так: int value = new Dice(6).roll() и повторять этот код во всех местах где нужен бросок?



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

>Без инъекции кубиков через конструктор/сеттер, потому что мне не нужно тестировать взаимодействие вызывающего кода с кубиком. Пока.



Никаких "пока", и прочих виляний жоп.

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

Если тебе с этим ок - дерзай.
360 2740722
>>40424
программисты берут за час работы
361 2740733
>>40722
Куда?
362 2740745
>>40722
А сколько ты будешь ревьюить тестовое? Как будешь ревьюить?
363 2740921
>>38584
отсоси мы теперь тоже на 3 буте
364 2740936
У меня вообще бута нет. Но мне как-то похуй, готов хоть на коболе писать.
365 2740952
>>40745
Чел ты уже ему должен за то, что он тебе уделил время в ответах.
366 2741009
Есть ли в ютубе магистерские лекции по java на русском ?
Дайте ссылку пожалуйста.
367 2741014
>>41009
Бляяя опять ты
368 2741015
>>41009

>магистерские лекции по java на русском


Эт как? И чем лучше те, кто просидел кучу времени в проституте, от практиков?
369 2741016
>>41009
Так джава это второй курс бакалавриата. Причем тут магистерские?
370 2741032
ПОЧЕМУ В JAVA НЕТ ВОТ ТАКОЙ КОНСТРУКЦИИ???????

int parsed = try Integer.parseInt(colorString, 16)
___________or 0;
371 2741035
>>41032
Что она должна делать?
372 2741038
>>41035
В случае неудачи возвращать 0, а не взрывать программу.
373 2741039
>>41032
Есть, гофер ебаный.
int parsed;
try {
parsed = Integer.parseInt(colorString, 16);
} catch (Exception e) {
parsed = 0;
}
374 2741043
>>41038
Типа этого? >>41039
Так писать - плохая практика. Конечно часть исключений жвм сворчивает, но я хз входит ли NFE в их перечень.
375 2741045
>>41039
Тут 6 строк.
376 2741048
>>41045
Одна же:
int parsed; try {parsed = Integer.parseInt(colorString, 16);} catch (Exception e) {parsed = 0;}
377 2741049
>>41045
Ладно, будет тебе одна строка.
int parsed=0;try{parsed=Integer.parseInt(colorString,16);}catch(Exception e){}
>>41043
Хорошая практика - сначала проверить формат отдельным вызовом, а не тупо глотать ошибку и подставлять дефолтное значение, как в пыхоплеяде.
image.png12 Кб, 567x73
378 2741051
>>41049

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


По моему его нет в Integer. Ну т.е. вот она, проверка. Самому писать, ну ты че, скока это ж строк-то!
379 2741052
>>41032
NumberUtils.toInt()
Апачи наше всё.
image.png15 Кб, 604x224
380 2741053
>>41052
Так это ж говно.
381 2741054
>>41053
Зато самому писать не надо аж 6 строк.
382 2741057
>>41032
Все есть.

> Try.of(() -> Integer.parseInt(colorString, 16)).getOrElse(0);

383 2741060
>>41057
Это чудо хоть оптимизировано? Или все также генерирует стектрейс?
384 2741135
>>41060
Разберись сам
385 2741299
Уважаемые джаваташеры, вопрос от мелкой пиявки:
Что думаете насчёт курсов яндекса и проч. Альтернативы изучения прогерства?
Чел писал в мануале на этой борде, что курсы хуита и лучше делать "както" самому, что вы думаете по этому поводу?
Если курсы хуита, то какая адекватная альтернатива?(дайте плиз инфу), либо...., пойду дальше изучать эти курсы совместно с изучением книжек(половина содержания которых абстрактны, наверное, так и должно быть)
Сори за кашу
386 2741300
>>41299
курсы не хуита, но лучше о них не говорить
387 2741313
>>41299
Курсы хуйта
Реальная альтернатива - реально учить программирование, а не заниматься всем, кроме самого программирования
Просто блять садишься и пишешь ебучие калькуляторы и прочую хуйню, ВСЕ
388 2741329
>>41049

>>будет тебе одна строка.


Автоформатер сделает 6 строк

>>Хорошая практика - сначала проверить


Эта практика из 15-х. Щас в джаве такую хуйню лучше не писать.
389 2741331
>>41313
По отзывам коллег скажу - что курсы не совсем хуита. Если от программизма не фанатеешь и не шибко умен - то курсы норм. Подучат на джуна, можно даже мидлом стать и получать свою сотьгу.
390 2741332
>>41299
Как правило курсы для вкатунов - низкого качества. Я вообще не уверен что физически возможно создать хороший курс для современных вкатунов, честно говоря.

Неплохие курсы есть для миддлов-синьоров по какой нибудь низкоуровневой специфике или архитектуре, но это - лотерея.
391 2741337
>>41332
Вообще, хороший курс - курс с обратной связью, когда тебе литералли доступен канал связи, куда ты можешь задавать любые свои вопросы людям и получать на них ответы. Если уж связываться с курсами, то только с теми, где она есть. Иногда обратную связь продают как опцию, и вот без обратной связи даже хороший курс становится пустой тратой времени.
392 2741339
>>41032
В самой джаве нет, но в либах есть, например Try в vavr'е.
393 2741352
>>41329
А какую лучше писать?
394 2741354
>>41135
Та блин, думаешь я стал бы задавать вопрос, если б мне было не лень...?
395 2741366
>>40074
Хули просто не сделать класс Dice и в нем сделать метод кручения
396 2741369
>>41366
Ебать ты умный. Сколько зп?
397 2741382
Неххуя не понимаю в DDD... какие нахуй агрегаты... что делать вэлью обжектами а что нет... у меня всё энтити...
398 2741386
>>41382
Забей, в жабе не применяют DDD.
399 2741397
>>41299
Ну смотри сам
Сам я вкатился после двух месяцев самообразования и успешного тестового и интервью
Потом проходил курсы
Один проходил три года, так и не прошел, забросил
Второй проходил полгода, забросил
Третий прохожу два года, из них год хуи пинаю
Если бы я перед поиском работы проходил бы курсы - был бы до сих пор без работы
То что на этих курсах преподают, на работе освоил за полгода-год самостоятельно
400 2741401
>>41397
А че в тестовом было и какие темы штудировал?
401 2741411
>>41369
Я сам доплачиваю
402 2741451
меня короч назначили как default reviewer на один из проектов пул-реквесты проверять у джуниоров.
У нас их 5. Двое из них меня активно уберают как reviewerа. Как это блять понемать? Мне их начинать чмэрить потехоньку?
403 2741474
>>41451
Не, ну тут уже не чмырить. Тут тока пиздить.
404 2741482
>>41401
Его по знакомству взяли.
405 2741553
>>41401
Да, фигня всякая
Написать сервис для бронирования билетов в кинотеатр кажется
Бек, фронт, апи, миграции
Простенькая админка, каталог доступных позиций, личный кабинет, список заказов
Уровень исполнения любой, никаких требований, хоть из говна и палок
Важно показать, что в принципе способен решить задачу
В любом случае на месте дообучают до требуемого уровня
Ну а если можешь чего - по коду будет понятно: какие технологии использовал, насколько легко задача далась, что вообще умеешь
Тутошние мидлы такое за 4 часа накидают. У меня ушла неделя.
За код стыдно конечно, сейчас понимаю что там трешак был. Но и пофиг - все равно взяли.
406 2741567
>>41313

> Курсы хуйта


> Просто блять садишься и пишешь ебучие калькуляторы и прочую хуйню, ВСЕ


Вот это самый толковый совет
Но это больно: проблемы на всех этапах.
Сложно выбрать что конкретно хочешь написать. Но сейчас есть всякие рулетки тем, и прикладные проблемы никуда не делись, которые можно решить прям сейчас с помощью простенького кода.
Сложно решать возникающие проблемы: как конкретно решать задачу, что использовать, как разбить? Но сейчас есть чатики - всегда можно спросить совета.
По первости сложно гуглить: непонятно как вопрос сформулировать, что вообще искать. Но с опытом это быстро проходит.
В общем вариант через боль, но очень быстро прогрессируешь, потому что прямо на практике сталкиваешься с проблемами и сам их решаешь - такой опыт потом фиг забудешь.
407 2741687
на собесе сказал "техлиду" что не люблю хибернейт, его проблемы. Что его нельзя "настроить", что там постоянно надо бороться с какими-то проблемами. Похоже ему не понравилось. Говорю не так как на хабре и в книжках, значит явно мошенник, умные дяди не зря всё это придумывали и форсили. Тяжко
408 2741694
>>41451
А в чем проблема? Наоборот хорошо, на два потока говнокода меньше.
Ты же не мерджишь этот код.
409 2741701
>>41299
Ищи курсы с менторингом как у Сергея Немчинского
410 2741702
>>41687
На Хабре и много где тоже очень многие не любят хибернейт.
Просто вместо обсирания хибера мог бы сказать что любишь и чем оно лучше хибера. Но хибер это дефолт. На 90% вакух на спринг крудах есть хибер и ради тебя его никто не уберет. Поэтому его нужно знать.
411 2741706
>>41687
А мне сам техлид на собесе говорил, что ненавидит хибернейт.
412 2741738
>>41706
Техлиды уже настолько преисполнились, что наверняка ненавидят и саму java
413 2741894
>>41567
Не совсем понятно откуда черпать теорию и в каком порядке её проходить? Я читаю док спринга но это залупа, порой несвязная и непонятно что описывается.

Хотелось бы воспользоваться вниманием и спросить чем лучше связать бэкенд с фронтом для такой практики?
414 2741913
>>41894
Начни с http - там все есть для связывания бека с фронтом

Если ты можешь связать бек с фронтом без фреймворка, то ты понимаешь как это работает и всегда докопаешься до истины в случае проблем
Если же ты научишься работать только через фреймворк, то любой шаг в сторону - и у тебя большие проблемы
415 2741919
>>41913
http это же сахарок. Тогда пусть на сокетах
416 2741929
>>41049

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


Я бы срал достью, но у меня есть древняя база данных, в которой появляется вот такое говно периодически.
417 2741936
>>41929
С такими данными в любом случае придётся Сра дать и писать костыли, какой бы в языке ни был синтаксический сахар.
418 2741955
>>41894

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


Алишев на ютубе
spring otus на nnmclub.to
Для начала за глаза. Остальное, по мере надобности более узкоспециализированное - просто на стековерфлоу, по баелдунгу, отдельным статьям на медиуме, в доке и в сорцах фреймворков.
419 2741961
>>41913
А что значит с http в жабе?
С голых сервлетов на томкате?
С HttpsServer?
420 2741973
на собесе сказал "техлиду" что не люблю ООП, его проблемы. Что его нельзя "настроить", что там постоянно надо бороться с какими-то проблемами. Похоже ему не понравилось. Говорю не так как на хабре и в книжках, значит явно мошенник, умные дяди не зря всё это придумывали и форсили. Тяжко
421 2741975
>>41973

>что там постоянно надо бороться с какими-то проблемами.


Например?
422 2741980
>>41975
Например развивается шиза и ты хочешь переписать индустриальные стандарты на велосипед из матрешек конструторов.
423 2741981
>>40921
эээ бля где Oauth2RestTemplate? где LazyTraceThreadPoolTaskExecutor?
424 2742107
>>30933 (OP)
Как вы могли просрать такое кошерное руководство, как это:
https://eightm.github.io/JavaBackendStartGuide/
Ммм?
425 2742127
>>42107
Просто мы можем думать своими мозгами вместо чтения ноунейм гайдов.
image.png24 Кб, 708x122
426 2742147
>>42107
Да вы заебали. Вам минусуют зп что ли за эти ебучие строчки?
processing.png13 Кб, 300x300
427 2742199
Жорик, я питоняша, но сейчас решил возвратиться к истокам и поиграться с processing, там кружочки и квадратики порисовать, всё такое. Последний раз жабу использовал 1.5 версии, тогда дженерики завезли, с процессингом идёт уже 17. Так вот, мало чего уже помню, помоги, такой расклад:

В процессинге есть класс PShape, через конструктор рабочий экземпляр не создать (наверно можно, но будет бессмысленная хрень). Объекты PShape можно получать от фабрики createShape(). Она как надо настроит и всё что нужно соберёт и подтянет. Проблема в том, что вся оболочка processing настроена так, что многое не явно. Вот допустим самих этих фабрик createShape() в сорцах процессинга хуева туча и я не знаю, которую дёргает IDE.

Мне же нужен мой собственный и любимый PShape с маленькими дополнительными фишками (пара дополнительных полей и методов). Наследование не вариант. Я думаю, что возможно есть два выхода из ситуации:

1) кастовать готовый PShape на myPShape, но я без понятия, возможно ли такое вообще. Наверно нет, полей, которых в PShape не было, это же не добавит.

2) инжектить поля и методы в экземпляр. Это мне кажется возможным.

Так вот, как в жабе в экземпляр класса инжектить произвольное поле или метод в рантайме?
428 2742201
>>42199
Съебал нахуй.
429 2742203
>>42199
Декоратор примени.
430 2742204
>>42203
для декоратора нужно писать километр макака-обвязки.
431 2742240
>>42204
Тогда засунь декорируемый объект в груви класс и поставь над ним @Delegate. Дальше пиши свои методы.
432 2742245
>>42204
Просто подключи ломбок
433 2742357
>>41975
например стандартное деление на слои и статик методы не соответствуют ооп
434 2742479
Как же меня задолбала эта тупая идея! То дрочит с каждым файлом: добавлять ли его в гит. Когда сказал - да, добавляй всё. Это говно теперь какие-то добавляет, а какие-то нет. Говнина тупая! Кто это говно вообще писал!?
435 2742481
>>42479
Просто выключи гит плагин, он говно
436 2742484
>>41973
Хуево обосновал значит. Ну вот че это за хуйня?

>Что его нельзя "настроить"


>Что там постоянно надо бороться с какими-то проблемами



Это эмоции, а не аргументация. Я б тя тоже послал после такого, при этом я - функциональщик.

Запомните, дети - избегайте на собесе тем-вкусовщин. А если вам такая тема все же перепала, вступайте в полемику только тогда, когда вы - маэстро обьективного ризонинга со стажем 10+, съевший пуд соли на сабже, которому наступили на больную мозоль. В противном случае, будьте как тот попугай из анекдота и говорите "зависит от контекста". Иначе оно вас сожрет нахуй. Интервьюер всегда в более выигрышной позиции в таких темах.
437 2742552
>>42199

>и я не знаю, которую дёргает IDE.



У тебя IDE чтоли процессинг дергает? Или ты - чатгпт не вывозящий тьюринг тест?

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

Короче ты не вывезешь эту задачу, тебе явно не хватает экспертизы даже тупо чтобы вести с тредом внятный диалог.
438 2742561
>>42479
ТУПОВАТЫЙ ДЖАВИСТ
ПОЧИТАВ ИНТЕРНЕТ
ПOДРOЧИЛ СВОЙ ОТРОСТОК
И СКАЗАЛ ИДЕЕ НЕТ

ТЫ ТУПАЯ СКОТИНА!!
ТЫ ПОДОНОК ТУПОЙ!!
О РАЗРАБАХ, БЛЯДИHA
ПОДНЯЛ ГРОМКИЙ ВОЙ!!

ТИПА РУССКИЕ КОДЕРЫ
УБИВАЮТ АЙТИ!
СОВЕРШЕННО СПОКОЙНО
КРОШАТ ПРОД И ГИТХАБ!

МАЛОЛЕТНИЙ ПОДОНОК!!!!!!
ЗА БАЗАР ОТВЕЧАЙ!!!!!!
ГРЯЗНЫЙ ГЛУПЫЙ УEБOK!!!!!!
ПИЗДЮЛEЙ ПОЛУЧАЙ!!!

Я EБAЛ ТЕБЯ В ЖOПУ!!!!!!
Я СОВАЛ ТЕБЕ В РОТ!!!!
ЧТОБЫ ТЫ НЕДОНОСОК!!!!!!
НЕ ПОЗОРИЛ НАРОД!!!!!

ТЫ НА СИШАРПЫ УЕДЕШЬ!
МАЛОЛЕТНИЙ УРОД!
ПО ЭТАПУ ПОЕДЕШЬ
ЗА ВРАНЬЕ ПРО НАРОД!!!!
438 2742561
>>42479
ТУПОВАТЫЙ ДЖАВИСТ
ПОЧИТАВ ИНТЕРНЕТ
ПOДРOЧИЛ СВОЙ ОТРОСТОК
И СКАЗАЛ ИДЕЕ НЕТ

ТЫ ТУПАЯ СКОТИНА!!
ТЫ ПОДОНОК ТУПОЙ!!
О РАЗРАБАХ, БЛЯДИHA
ПОДНЯЛ ГРОМКИЙ ВОЙ!!

ТИПА РУССКИЕ КОДЕРЫ
УБИВАЮТ АЙТИ!
СОВЕРШЕННО СПОКОЙНО
КРОШАТ ПРОД И ГИТХАБ!

МАЛОЛЕТНИЙ ПОДОНОК!!!!!!
ЗА БАЗАР ОТВЕЧАЙ!!!!!!
ГРЯЗНЫЙ ГЛУПЫЙ УEБOK!!!!!!
ПИЗДЮЛEЙ ПОЛУЧАЙ!!!

Я EБAЛ ТЕБЯ В ЖOПУ!!!!!!
Я СОВАЛ ТЕБЕ В РОТ!!!!
ЧТОБЫ ТЫ НЕДОНОСОК!!!!!!
НЕ ПОЗОРИЛ НАРОД!!!!!

ТЫ НА СИШАРПЫ УЕДЕШЬ!
МАЛОЛЕТНИЙ УРОД!
ПО ЭТАПУ ПОЕДЕШЬ
ЗА ВРАНЬЕ ПРО НАРОД!!!!
439 2742698
>>41738
Да и жизнь свою тоже
440 2742699
>>42357
Таблетки
441 2742706
>>42561
Только не на сишарп!
442 2742713
Обычно умные дядьки советуют делать так, чтобы одни методы возвращали void и производили сайд эффекты, а другие возвращали значение, но без сайд эффектов.

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

List<DomainEvent> events = domainService.doStuff(...)
...
(разослать эвенты подписчикам)

Подсмотрел такое решение в книге Microservices Patterns with examples on Java.
И это прям супер удобно пока, какие могут быть подводные камни?
443 2742851
>>30933 (OP)
Нужна ли матеша для бэкенда?
444 2742854
>>42851
Да.
445 2742857
>>42854
Конкретную математику читал? Ну или хотя бы исхуйство пограмирования?
446 2742864
>>42854
Че да лол
447 2742892
>>42851
Почти везде достаточно школьной программы: арифметика
Матан нужен там, где есть исследования, да и там зачастую этот матан курят всякие аналитики бигдаты
От программиста не требуется что-то там исследовать, выводить закономерности и прочее, это задача профильных матанщиков
448 2742923
>>42713
А смысл те колупаться с возвращаемым листом, вместо того, чтобы разослать сообщения прям в void-методе и не открывать коллерам лишних деталей о его имплементации? Что тебе дает этот List<DomainEvent>?
449 2742957
>>42851
Ты в нюфаге уже спрашивал. Думаешь тебе здесь иначе ответят? Пытаешься в торг?
450 2742960
>>41981
бамп
451 2742965
>>42713

>какие могут быть подводные камни?



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

В твоем же случае ты вернул список эвентов коллеру, а коллер возьмет и хуй забьет, и никуда их не отправит. Будешь потом искать по всей системе, где забыл сообщения разослать.
452 2742970
>>42957
Пытается в троллинг тупостью.
453 2742995
>>42965
Если я правильно понял, то у него аналог https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html .
Ты описываешь ситуацию, мол подписался на событие, а тебя проигнорили? Хотя в случае EDT однопоток и любое долговычислимое событие просто все застопорит. И еще нельзя делать сайд эффекты вне этого треда... Но то гуем объясняется, мб тут иначе.
Есть какая-то конкретная реализация того, что он описал? Почитать бы...
454 2742999
>>42995
Какие еще EDT? Он говорит что спиздил решение из книги о микрсервисах, а микросервисы - уже априори не однопоток.

Да и даже если б был EDT - то с хуяли однопоток? Мы не в джаваскрипте. Кто тебе мешает насоздавать тредов для обработки эвентов в них?
455 2743001
>>42999

>а микросервисы - уже априори не однопоток.


Т.е. там ThreadPool<Event>? Интересно, а конкретную реализацию можно?

>Да и даже если б был EDT - то с хуяли однопоток?


All other Swing component methods must be invoked from the event dispatch thread. Programs that ignore this rule may function correctly most of the time, but are subject to unpredictable errors that are difficult to reproduce.
Если паралелилить надо просовывать сайды в EDT, SwingUtils.invoke типо того. А внутри EDT только один тред, который последовательно вызывает event, поэтому он однопоток.
456 2743007
>>43001

>там ThreadPool<Event>?



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

>Интересно, а конкретную реализацию можно?



Нет

>All other Swing component methods must be invoked from the event dispatch thread



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

Ты всегда можешь тяжелую часть обработчика вынести в пул, и по окончанию обработки кидать обратно в диспатчер тред новы эвент, чтобы по нему уже обновлять UI. Типичный callback-подход к асинхронщине.
457 2743008
>>43007

>происходит в тред пулах.


Т.е. весь фреймворк тредобезопасен? Заебно, наверное.
Мне только непонятна разница между EDT и его обработкой эвентов. Вроде тоже самое, правда он зачем-то возвращает лист, нахуя...

>Нет


Жадина.
458 2743011
НУЖНА ПОМОЩЬ

Сап, крч, ищу себе новую работу, бэкграунд 3.5 года Full-Stack Developer (.NET+JS) и щас почти 2 года Unity Developer, щитай middle+, но пытаюсь прорваться в senior.

Тяжело по вакансиям здесь, но вот одна подцепилась, дали тестовое, вроде норм, но тут одна херня выскочила, они хотят, чтобы у тебя было 3+ лет опыта в качестве мобильного разраба (Android/iOS), резюме посмотрели, сказали что типа вы нас заинтересовали, но прикол в том, что таску какую они дали, там Clean Architecture, я не знал что это такое, сказал что знаю, ибо думал стандартная хуйня в виде стандартных практик, которые знаю и имею опыт. А ОКАЗЫВАЕТСЯ, ЭТО АНДРОИДОВСКАЯ ДЖАВИСТКАЯ ХУИТА, в .NET такой хуйни нет, особенно в юнити ни разу блять не видел. Посмотрел примеры реализации этой хуйни в .NET, а там блять нахуй src/, сук, это из ебаной джавы блять, какого хуя блять в Unity, в C#, потерялась джава, ебать.

Джависты, ебать помогите пидоры че делать? Слать сразу нахуй вакансию? Сделать стандартным способом? Или пытаться пилить вашу Clean Architecture из говна и палок?
459 2743015
>>43008

>Т.е. весь фреймворк тредобезопасен? Заебно, наверное.



Да не.

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

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



Не знаю как тебе, а мне вот например непонятно, с чего ты вообще заговорил про EDT в контексте того разговора? EDT ничего никуда никакой лист не возвращает. EDT в свинге это просто тред, который в бесконечном цикле читает и обрабатывает сообщения из некоей очереди сообщений, вот и все.
460 2743019
>>43015

>с чего ты вообще заговорил


Хочу понять разницу. Нахуя вовзращать лист? Типо без него, это банальный Executor.
461 2743021
>>43011
Ебать ты всех джавистов затролил дядь-бобой, мое почтение. Какой ты остроумный, я ебал.
462 2743022
>>43011
Съебал нахуй.
463 2743024
>>43011
Спрашивай в треде про Андроид >>2678699 (OP)
Здесь одни Spring-программисты сидят и ни про какую КлинАрхитектуру не слышали.
Хуле тебе в дотнете не сидится, а?
464 2743025
>>43019

>Нахуя вовзращать лист?



Дык нинахуя. Я с самого начала так и ответил. Плюсов не прослеживается.
465 2743027
>>43024
Спасибо ♥
466 2743102
>>42552
processing это такой язык. по сути это жаба и пара библиотек для рисования квадратиков. у процессинга свой IDE, который под капотом прозрачно оборачивает всё что ты написал в класс PApplet и запускает его. Плюс в том, что можно быстро делать прототипы или алгоритмически рисовать. фабрики createShape() там вызываются без какой-то явной привязки к коду, в зависимости от бекенда p2d, javafx, swing, awt оно там где-то скрытно делает свою магию. что тебе непонятно?

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

>что тебе непонятно?



С этого и надо было начинать. Теперь понятно.

>жаба на такое способна вообще через рефлекшены



Ну можешь java.lang.reflect.Proxy попробовать.
468 2743441
>>41981
помогите пидоры
469 2743447
>>43441
Спроси на стековерфлоу.
470 2743454
>>43447
Там забастовка же.
471 2743695
>>43454
Прикольно. Тогда у ии спроси.
472 2743730
>>43695
Ии не знает ничего после 2021.
473 2743732
>>43730
Bing кое как да знает.
474 2743733
>>43732
Там не у всех доступ же есть.
475 2743735
>>43733
Всм? Впн врубил и халявно в эдже. Другое дело, что куцый порой, надо вопросы задавать не через жопу.
476 2743748
>>31922

>Яндекс? Ровно один проект, причем самый днищенский маркет.


бэк музыки и кинопоиска на джаве
477 2743770
А аспекты в спринге вообще часто используют? Просто смотрю, это ж пиздец какой-то - легальный рефлекшн, про который объекты не знают. Ещё по перфомансу эти все прокси обжекты бьют.
478 2743773
>>43770
Бизнес-логику на аспектах не пишут никогда.
Всякие перехваты ошибок, логи, кеши, проверку доступа иногда могут писать.
479 2743774
>>43773
А есть примеры какие-то? Про ошибки и кэши интереснее всего.
480 2743978
>>43774
@Cacheable
@ExceptionHandler
481 2744067
почему логгеры делаются статическими? Почему не какой-нибудь синглтон?
482 2744110
>>44067
А почему синглтон? Чё б не делать их статическими?
483 2744138
>>44067
Статические привязаны к классу, а синглтон к приложению.
484 2744181
>>44067
Можешь и не статический делать в бине, всем похуй.
485 2744308
>>44138
Так скоуп и лайфсайкл классов сам по себе в 99% случаев привязаны к приложению. Оставшийся 1% - это какая нибудь класслодерная магия типа OSGi.

>>44067
Потому что нестатические синглтоны не дают никаких бенефитов, а проблем несут дохуя. Правильный ленивоинициализированный синглтон написать в SE, который бы учитывал многопоточку - задача не такая тривиальная как кажется. А требовать тащить DI контейнер ради логгера-синглтона = пройти нахуй, ибо оверкилл и ненужон.
486 2744344
>>44308
Я не только про время жизни, а и про количество экземпляров логгера. Он спать будет от имени класса.

К слову, а нахуя делать ленивые синглтоны? Они очень редко дают профиты.
487 2744370
>>44344

>Он спать будет от имени класса



Кто спать будет?

>про количество экземпляров логгера.



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

>К слову, а нахуя делать ленивые синглтоны? Они очень редко дают профиты.



Нинахуя. Если ты не на собесе, самому вообще никогда не надо делать синглтоны. Либо пусть спринг делает, либо выносись в статику и енамы.
image.png11 Кб, 1034x169
488 2744371
>>44370

>Будет один на класс.


Ну вот. В случае статики один на класс, в случае синглтона одно на приложение.

>Кто спать будет?


Срать. Пик.
489 2744372
>>44371
Так один логгер на приложение с потребительской точки зрения - это хуйня постная. Эдак и логгинга не надо - пиши все в System.out.println, будет он для тебя выступать как один логгер на приложение.
490 2744376
>>44372
Ну я имею ввиду, что синглтон не будет множить экземпляры. Следовательно индивидуальные для класса настройки не сделать. Правда есть ли они, но вроде вот по getLogger - есть.
Да и sout в любом случае хуита, ибо ее можно легко закрыть и никогда больше не открыть.
491 2744378
>>44376
Ну чел, ну хули ты душишь - "экземпляры множить"... У тебя один экземпляр на класс в худшем случае - все, прям экземпляров наплодил, пиздец пацаны, футпринт в хламину ебана...

Это во первых

Во вторых - есть логгер, и есть LoggerFactory (в slf4j). Имплементации оного стараются кэшировать логгеры для одинаковых вызовов getLogger, что какбэ тоже не способствует существованию избыточного количества логгеров.
492 2744427
>>30933 (OP)
Аноны, поясните кто нибудь за работу.
Есть ли она на жаве в рф?
Что обычно пишут? Веб приложухи? Какой то софт?
Какие зп? Реально ли в 2к23 вкатиться?
493 2744428
>>44427
Нихуя нет. Вкатится анриал. Иди в шарпы.
494 2744432
>>44427

> Есть ли она на жаве в рф?


Есть, я же работаю.

> Что обычно пишут? Веб приложухи? Какой то софт?


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

> Какие зп?


100 для джунов, 150+ для миддлов, 300+ для сеньоров.

> Реально ли в 2к23 вкатиться?


Реально.
495 2744626
>>44432

>300+ для сеньоров


Сеньоры нынче до 300к. И 300к - это действительно сеньор, а не перекладывание жысонов в крудах на спринге. Т.е. это проекты и задачи уровня компаний МЯСКОТ.
496 2745160
>>44626
Чуваку на Хабре вон 400к предлагали. Он взял и в три конторы параллельно подал, а потом каждой из контор сказал что другая предлагает больше. В итоге получил предложение на 700к.
Какие нафиг 300, если за 200 пыхапэ-макаки формошлепствуют?
Это java - тут же немножко мозга приложить нужно, это должно стоить больше.
sp.JPG17 Кб, 526x197
497 2745172
>>45160

>>тут же немножко мозга приложить нужно


Можно и не прикладывать.
498 2745602
Бля, есть где-нибудь диаграмма взаимоотношений micrometer metrics, observation, tracing и context-propagation? Никак не умещу все в голове.
499 2745657
>>45160
Он сам готовился или через курсы?
500 2745659
>>45657
Курсы, учится самому кринж.
501 2745701
Из серии глупых вопросов.
Как конкретно создаются @Bean в конфиге? Еще непонятен момент, как именно подменяются вызовы внутри этих бинов на другие бины. Правильно я понимаю, что это можно представить как прокся factory-bean из xml контекста? Типа создаются прокси фабрики и навешивается scope на их фабричный метод, а также все вызовы старого метода подменяются вызовом прокся-метода.
Еще непонятно чем конкретно отличаются Service и Component, вообще не понимаю, когда мне одно вешать, когда другое.
502 2745921
>>45701

>Из серии глупых вопросов.



Наверни в ютубе Борисова "спринг-потрошитель". Он эти вопросы раскрывает.

>Еще непонятно чем конкретно отличаются Service и Component, вообще не понимаю, когда мне одно вешать, когда другое.



По сути, для спринга разницы литералли никакой. Service - просто метка для кодера что вот тут вот лежит бизнес логика. Да - звучит бредово, но это так.
image.png39 Кб, 727x356
503 2745944
>>45921

>Наверни в ютубе Борисова "спринг-потрошитель".


Я смотрель, там не было момента про конкретно это. Скажи насколько я прав в своих рассуждениях...

>По сути, для спринга разницы литералли никакой.


Я по етому и спрашиваю. Если так рассуждать, то в сервисах декларация того, что должно делать приложения, в компонентах, то как оно это делает. Хотя контроллеры - это компоненты, сложно как-то.
504 2745967
>>45944
Ну как это - "не было". Если я правильно помню, все было. Спринг сканирует аннотации в конфиге, из которых выводит биндефинишены, в которых вся инфа о бинах, его зависимостях, их типе, параметрах и.т.д. На основе биндефинишенов создаются бины, далее либо бины инжектятся друг в друга, либо вместо бина инжектится прокся, которая развязывает скоупы.

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



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

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



Не, так рассуждать не получится. Это интерфейсы и их импелементации соответственно, это не про бины.

Просто забей. Пусть тебе ревьюеры на кодревью скажут, что они хотят над бинами видеть.
image.png24 Кб, 472x308
505 2745988
>>45967

>С чего бы спрингу подменять вызовы бинов?


Пик. Это wiring, вроде тоже. Из-за этого s2 = true.

>На основе биндефинишенов создаются бины


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

>Просто забей. Пусть тебе ревьюеры на кодревью скажут, что они хотят над бинами видеть.


Понял...
image.png59 Кб, 557x685
506 2745995
>>45988
Хм, судя по всему, создается прокся объект конфига, который все вызовы this подменяет.
507 2746150
>>30933 (OP)
Так а Шилдта на англе читать?
508 2746154
>>46150
Шилдта не читать.
509 2746164
>>46154
А почему?
510 2746182
>>46164
Тамушта кнута надо.
511 2746313
Ебать как же я люблю Spock....
512 2746322
>>46313
В чем киллерфича?
513 2746428
Может кто-то знает какую-то ебейшую тему для IntellIJ? Стандартная заебала.
514 2746435
>>46428
Держи, не обляпайся https://github.com/ololx/dark-purple
515 2746441
>>45921

>Борисова "спринг-потрошитель"


Смотрел два раза. До и после изучения Спринга. Первый раз вообще ничего не понял. Второй раз понял только то, что и так знал. У него просто талант рассказывать максимально непонятно. Ещё и манера подачи мне не нравится, куда-то вечно торопится, как-будто его одни гении смотрят и способны за секунды разбирать то, что он показывает. Сам-то он наверняка эти моменты часами обдумывал. Ещё негативный момент, что он Спринг-евангелист и из-за таких как он нет выбора фреймворков для джавы.
516 2746449
>>46441
я вообще не понял смысла всего этого. Городить кучу кода с учетом знаний кишочка спринга чтобы сделать магию на аннотации.
Но магия это ведь плохо. Магия это неожиданное поведение, конфликты, необходимость знать про эту магию и учитывать её. Сломается эта магия или где-то на стыке двух магий и пиздец
517 2746473
>>46449
Я тоже. Есть ООП, которое позволяет всё тоже самое писать, и проверки будут на стадии компиляции. Но нет, навернём миллион бесполезных конструкций, чтобы нагружало систему в рантайме.
518 2746476
>>46435
Ты пользуешься ею? Слишком контрастная по-моему.
519 2746483
>>46441
>>46449
>>46473

Мне похуй, я и сам не люблю спрингокульт. Но при всей нелюбви все таки отдаю должное - доклад "спринг-потрошитель" тему спрингомагии раскрывает очень неплохо. Если он не понятен, я хз че еще советовать...
image.png190 Кб, 987x709
520 2746488
Смотрю тут куча адептов спринга, у меня еще один глупый вопрос. Я правильно понимаю, что автор наебывает? Вот он говорит, мол усе безопасно, все транзакции отменяются и вообще заебись вышло.
https://github.com/gracyaneoliveira/spring-start-here-book/tree/main/sq-ch13-ex1/src/main/java/com/example
Но если AccountRepository#changeAmount не будет CAS, то при конкурентом доступе, все пойдет пиздой, я прав?
И как именно транзакции отменяют все действия? Там в бд создается снимок что ли?
521 2746496
>>46488
Читай про ACID и про уровни изоляции транзакций.
В БД создаётся снимок или журнал действий в зависимости от реализации СУБД.
522 2746498
>>46488

>Но если AccountRepository#changeAmount не будет CAS, то при конкурентом доступе, все пойдет пиздой, я прав?



Не пойдет. У тебя весь стейт, к которому конкуррентный доступ, в базе. База его изменение и синхронизует.

>И как именно транзакции отменяют все действия? Там в бд создается снимок что ли?



Литералли все СУБД сегодня поддерживают транзакции. Как конкретно каждая из СУБД это делает - вопрос к конкретной СУБД.
523 2746516
>>46498

>конкретной СУБД.


MySQL пусть будет.

>е пойдет. У тебя весь стейт, к которому конкуррентный доступ, в базе.


Имею ввиду взять значение до завершение транзакции и на его основе что-то сделать. Ну или записать значение в одной транзакции, а другая откатит.
Получается бд всех участников guarded by a lock и спринг этих участников ей посылает? Или она вообще всю табличку ебает на локу?
>>46496
Можешь статейку скниуть...?
524 2746526
>>46516
транзакциями занимается база. В коде ты можешь только слать команды начала, коммита или отката транзакции
525 2746530
>>46526

>команды начала, коммита или отката транзакции


Пакажи их спецификацию, пожалуйста.
526 2746535
>>46530
https://dev.mysql.com/doc/refman/8.0/en/commit.html
эти команды шлёт jdbc, спринг просто управляет отправкой этих команд где-то внутри кишочков
527 2746545
>>46516
Это уже вопросы изоляции транзакций
Тут БД можно настроить по-разному
При одних настройках транзакции не изолированные, при других изолированные
Вообще эта тема к программированию не относится - это именно работа СУБД. Тут очень много тонкостей и особенностей.
Все они +/- следуют некому общему стандарту, но в деталях пиздец как отличаются, и без учета особенностей конкретной СУБД можно быстро сесть в лужу
rR317FvSky.png67 Кб, 826x660
528 2746553
>>46535
кстати нашел какие-то кишочки
529 2746559
>>46516

>Получается бд всех участников guarded by a lock и спринг этих участников ей посылает? Или она вообще всю табличку ебает на локу?



Да не, ему обычно нужды нет. И кстати я выше приврал малясь про базу, потому что помимо базы обычно есть еще персистенс контекст от ORM. Там - свои локи и своя кухня. И вообще я щас спеку JPA чекнул, и вспомнил что EntityManager вообще то не тредобезопасный, и конкуррентный доступ к нему вообще запрещен...

Короче нюансов там - я ебал, не зря спринг это магия. Слава богу что я давно уже не юзаю ORMы.

Честно говоря, я вот щас даже сам с наскоку не вспомню всех нюансов.
530 2746560
>>46545
ну я примерно освоил эти изоляции.
в постгре изоляция по дефолту read commited, видны только закоммиченные данные. Не защищает от потери данных в случае параллельного коммита.

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

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

Если у нас чтение и запись в разных транзакциях - обязательно делать оптимистическую блокировку. Проверять что данные между чтением и записью не изменились
531 2746585
>>46545
>>46559
Пасиба. А то я думал, что эти транзакции на уровне жавы только, а они оказывается бдшкой обеспечиваются.
>>46535
Надо будет разобраться хотя бы для пары бд более менее нормально.
>>46553
Это откуда?
532 2746592
>>46585
DataSourceTransactionManager
aHsEElpH8F.png795 Кб, 1223x691
533 2746598
пиздец какой-то. Страшный костыль с рефлексией чтобы обойти костыльное поведение спринга.
Прям здесь бы и писал свою бизнес-логику
534 2746610
>>46598
Спойлер, через пару лет он доложил, что этот способ наебнул ему проект.
535 2746637
>>46598
Нехуй всяких говнокодеров смотреть.
536 2746683
>>46610

>этот способ наебнул ему проект


Подробнее где можно узнать? Какие выводы он сделал?
537 2746747
>>46683
https://youtu.be/nGfeSo52_8A
Никакие. Просто переписал.
538 2747101
>>46449
Это магия только для тебя тк ты вкатыш. Для человека который знает как работает спринг все предельно понятно и предсказуемо
539 2747111
>>47101
Именно поэтому его метод нерабочий по итогу оказался? Так все панятно и предсказуемо?
540 2747113
>>46598
Что такое рефлексия?
542 2747117
>>47113
Посмотрел пример на вики.
Type type = System.Type.GetType("Foo");
var foo = Activator.CreateInstance(type);
foo.GetType().GetMethod("Hello").Invoke(foo, null);
И зачем это надо? какое практическое применение? выглядит стремно
543 2747118
>>47117
Ты долбоеб? У тебя пример в пике на то, что ты отвечал.
544 2747122
>>47118
Там ничего не понятно. Сам долбаёб, я тебя не оскорблял
545 2747123
>>47122
Я вопрос задал, обиженка.

>Там ничего не понятно


Твои проблемы.
546 2747126
>>47123
все ооп-анальники такие злые? и я на тебя не обижался, ещё мне на какую-то скриптомакаку обиды держать, хах
image.png16 Кб, 1217x171
547 2747127
>>47126

>все ооп-анальники такие злые?


Да. Я тебе ссылку дал, там написано прямо, нахуя это нужно. Также в википедии наверняка пишут.

>хах


Верю.
548 2747129
>>47117
создание магии и всякие манипуляции, которые невозможны обычным синтаксисом.
Например копирование объекта, филды которого скрыты и защищены
549 2747131
>>47101
настолько предельно понятно, что эту сраную лекцию возносят как грааль. Т.е. никто до этого не знал, и в мануалах это не описывается настолько подробно
550 2747132
>>47129

>Например копирование объекта, филды которого скрыты и защищены


Это ж clone паттерн. Зачем здеся рефлексия?
551 2747134
>>47131
Такие как ты вкатыши и возносят. Остальным все понятно.
552 2747155
>>47132
а если объект не реализовал своё клонирование и ты не можешь его править?
553 2747163
>>47155
Ну значит не нужно его править. Тут как с intterput у потоков, ты проста берешь и надеешься, что поток реализовал у себя адекватное прерывание. А stop не применяешь примерно никогда. Если тебе надо клонировать защищенные, с точки зрения апи объекты, то ты точно что-то делаешь не так. Тем более, что рефлексия бьет по перфомансу.
554 2747165
>>47163
ну вот чувак реализует поведение через рефлексию, оперируя кишочками спринга. Это нормально?
555 2747168
>>47165
Ну он не взаимодействует с объектами вообще. И это происходит во время запуска бута, а значит +-похуй на перфоманс. Так что да, че нет-то?
556 2747173
>>47129
Нихуя. Это следствие, а не цель.

>>47113
Рефлексия - это просто API, который позволяет программе в рантайме получать (и иногда даже модифицировать) инфу о своем внутреннем устройстве - в частности, о классах и их содержимом. Ни больше ни меньше.

По дефолту, если ты не занимаешься метапрограммированием и не лабаешь какой нибудь системный тул для анализа и инструментирования кода, рефлексия считается запрещенной техникой.
image.png62 Кб, 797x149
557 2747397
Дичь какая-то. В какой момент неявность стала преимуществом?
Вон же, говорят, что там усе понятно и ясно >>47101
558 2747432
>>47397
Здесь речь не о неявности, а о универсальности.

Правда, это ещё и пиздёж.
559 2747437
>>47432
Не-не. Именно о неявности, Мол спринг ахуенный инвазивный и в отличии от других Фреймворков не вставляет кучу своего апи. По мне - это неявность. Ну и да, мол вообще потом этот код можно вне спринга использовать(Ахуенные истории)
560 2747441
>>47437

>инвазивный


Не инвазивный*
561 2747673
>>47437
Это просто маркетинг. Анальникам очень хорошо продаются истории про минимум кода, неявность и неинвазивность.
image.png38 Кб, 551x533
562 2747680
>>47673

>неявность


Доколе это терпеть...
563 2747704
https://habr.com/ru/articles/419679/
Будет полезно новичкам.
564 2747719
>>47704
Хуйню какую-то несет не к месту. Зачем это все?
565 2747725
>>47719
Ты еблан?
image.png57 Кб, 724x315
566 2747731
>>47725
Мне по каждому пункту пояснять?
Расширения файлов определяет ос, жава тут ничего сделать не сможет. Вот какое расширение у *.tar.gz? А у sh скрипта без точки вообще?

Эти восклицания, кринж. Сам создал проблему, сам героически ее решил. К чему эти клоунские ужимки?

К чему здесь телега про названия?
567 2747732
>>47680
Да-да, (д)жаба лучше гадюки, классика
568 2747744
>>47731

>Расширения файлов определяет ос, жава тут ничего сделать не сможет


А Питон может.
https://docs.python.org/3/library/pathlib.html#pathlib.PurePath.suffixes
569 2747759
>>47744
Ну это хуйня такая же, что и в хабре написано. Вам серьезно нужны функции над функцией? Сплит по точке, latindex и firstindex. Я хуею, а апач индусы качают что ли, которые is_odd написать не могут?
570 2747769
Ебала жаба гадюку.
571 2747776
>>47769
Родился Kotlin.
572 2747802
>>47776
В чем вообще смысл этого язычка? мало того что синтаксис непонятный, так ещё и надстройка над жабой
573 2747830
>>47802

>так ещё и надстройка над жабой


Не совсем надстройка, да и минусы будут?
574 2747835
>>47802
Заебал синтаксис кобола, хочется тоже почувствовать себя хипстерами. Конечно синтаксис непонятный, разве он бывает хоть в одном языке понятным без изучения? Я когда учил жабу после сишки, тоже не понимал нихуя.
575 2747839
>>47835
Жава вечна! https://youtu.be/Ibjm2KHfymo
Вот уже лет через 15 сможем писать как и все...
576 2747844
>>47830
Ну, да, больше над самой этой экосистемой. Я кстати так понимаю у них и выбора другого не было, ведь в андроид в VM выполняется, своё они вряд ли могли привнести
577 2747846
>>47844
Какого выбора, ты про что? Они просто фанаты жабы и все. У них иде для нее и на ней написана. И они всрали просто дохуя бабла в этот яп, который чудо что взлетел, а ведь мог и не взлететь.
578 2747850
>>47846
Хотя, смотрю эклипс тоже на жабе написан. А вот vscode не на шарпе. Делаем выводы.
579 2747857
>>47850
Увы, все IDE для жабы написаны на прожорливой неповоротливой жабе.
VSCode не на шарпе, да. Мелкие неклепали дохуя шарповых говнолиб для гуя и сами же боятся их использовать, да и поддерживать линукс не хотят, ибо не профитно.
580 2747858
>>47857

>написаны на прожорливой неповоротливой жабе.


Не гони на наш хлеб. HotSpot ахуенен, просто у кого-то руки кривые.
581 2747877
2023-06-27T12:00:00+03

как такой формат принимать в теле в виде инстанта с помощью джексона?

@JsonFormat(pattern = "YYYY-MM-DDThh:mm:ss.X")

должна же быть такая хуйня, но не работает
582 2747880
>>47877
Скорее всего тебе надо подключить и настроить этот модуль.

https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310

https://www.baeldung.com/jackson-serialize-dates (секция 9)
583 2747892
>>47877
бля хуй знает братан
584 2747947
Написал 1000 юнит тестов за месяц. Благодаря ним нашел целых 2 бага. Вопрос. Нахуя нужны тесты.
585 2747952
>>47947
Па фану. Серьёзные люди доказывают работу алгоритма, а не тестируют.
image.png112 Кб, 1027x284
586 2748009
А хде можно почитать про различия контрактов?
587 2748024
>>47947
Вообще нахуй не нужны. Только когда у тебя жизненно важная функция и тебе нужна абсолютная гарантия детерминизма
588 2748031
>>48009
Contract-first - когда сначала пишешь XSD, а под сгенерированные по ней типы пишешь уже логику на жабе. Предполагается, что эту XSD ты потом передашь потребителю сервиса, чтобы он на своей стороне генерировал по ней типы.
А с Contract-last всё пишешь на жабе.
589 2748043
>>47952

>доказывают работу алгоритма


Это невозможно.
590 2748069
>>48043
Невозможно в общем случае. В частных случаях доказать можно.
591 2748104
>>48043
Можно, можно. Есть даже инструменты для этого https://github.com/coq/coq
Вроде с его помощью или другим доказывали сортировки.
592 2748120
>>48031
Чет по описанию, хуета какая-то. Нахера мне генерить классы?
Еще автор говорит, что last уступает first. Мб я тупой...
593 2748187
>>48120

>Нахера мне генерить классы?



Контракт, это такая хуйня, которой в одиночку обычно не пользуются: всегда есть как минимум один провайдер и один клиент. И вот есть у тебя допустим спринговый вер-сервис как провайдер контракта, и джавовая программа, как потребитель. При contract-last, в веб-сервисе ты сначала руками лабаешь MVC-рестовые контроллеры, потом так же руками лабаешь вызовы на ресте в клиенте. Рестов много, ошибиться просто. Контракт может меняться, вменсте с контрактом нужно апдейтить обе стороны. Ситуация еще на практике обычно усложняется тем, что обе стороны мейнтейнят обычно разные команды. Все это просто минное поле ошибок.

Есть альтернатива. При контракт-first, ты описываешь контракт нейтральным конфиг файлом один раз в одном месте. Например OpenApi спекой. А потом берешь генераторы сорцов клиента и сервера на джаву, и скармливаешь им эту спеку. Код пишет машина, вместо человека. Человеческих косяков она при этом не делает. Если контракт меняется, меняется лишь спека. После апдейта спеки остается лишь перегенерить сорцы и проверить что ничего не сьехало в самом софте по типам. Координировать работу команд в такой парадигме в разы проще. Менять контракт - в разы проще. Не случайно щас многие заказчики требуют вместе с RESTами сваггер - им по таким рестам интегриться тупо проще.

Единственный душный момент - ты становишься привязан к тому, как тебе по спеке генераторы код пишут. Генераторы очень рознятся по качеству, и могут не поддерживать (или поддерживать не так как ты ожидаешь) отдельные фичи, вроде аплоуда файла.
594 2748273
>>48187
Хмм, пасиба огромное, что пояснил. Теперь гораздо понятнее
image.png228 Кб, 699x761
595 2748787
Я правильно понял, что прокси мод создает лист из реальных объектов с большей видимостью? И любое обращение будет проходится по этому массиву. Даже не так, получается все вызовы размножатся таким образом, что вместо один к многим получится один к одному. Типа если сервис сначала получает данные от сессии, не знаю, список товаров, и посчитает общую сумму, то для каждой сессии будет своя сумма? Хотя это бред какой-то, зачем все сессии обрабатывать-то сразу.
596 2748797
>>48787
что за книжка?
image.png3 Кб, 268x43
597 2748803
>>48797
Spring in Action, 4th Edition
3.4.1 Working with request and session scope
598 2748822
>>48803
Ебать старьё.
image.png466 Кб, 707x753
599 2748826
>>48822
В новейшей редакции это вырезали. Вопрос остается, как эта хуйня вообще работает.
600 2748854
>>48787
Решил потыкать, вроде как кандидат выбирается исходя из того, кто вызвал.
Надо понимать, расчет идет на то, что все вызовы будут идти таким образом, что Scope будет идти от многих к одному. Интересно, возможна ли иная ситуация...
601 2748857
>>48854
Конкретизируя - это ThreadLocal, где Thread заменены на Request/Session.
602 2748917
>>48787

>Я правильно понял, что прокси мод создает лист из реальных объектов с большей видимостью?



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

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



Так да. Сам подумай - вот есть у тебя рест. В ресте выполняется запрос. Он определяет реквест-скоуп - для каждого реквеста будет свой реквест-скоуп бин. Далее - реквесты у тебя обычно выполняются в контексте серверной сессии. Сессия определяет session scope. И так далее. А теперь сам ответь на свой вопрос - зачем все сессии обрабатывать сразу, если у тебя выполняется конкретный запрос с конкретной сессией?
603 2748931
>>48917

>А теперь сам ответь на свой вопрос - зачем все сессии обрабатывать сразу, если у тебя выполняется конкретный запрос с конкретной сессией?


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

>пошел бы смотреть имплементацию.


Я не настолько хорошо разбираюсь в кишках спринга, чтобы найти на каком этапе начинается реализация scope.
604 2748940
Учился в IDEA, но ученическую лицензию получить не смог - потому встал выбор между Eclipse и NetBeans.
Какую IDE выбрать?
Какая лучше, удобнее?
605 2748941
>>48931
Я там пошаманил и заставил вызывать не из реквеста:
Exception in thread "Thread-1" org.springframework.beans.factory.support.ScopeNotActiveException: Error creating bean with name 'scopedTarget.purchaseController': Scope 'request' is not active for the current thread; consider defining a scoped proxy for this bean if you intend to refer to it from a singleton; nested exception is java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.

Короче, вроде так оно и работает.
606 2748943
>>48940
VSCode
607 2748944
>>48943
vim тогда уж.
608 2748946
>>48940
Я на нетбинсе долгое время работал. В свое время была пушка, но щас чет уже глючит.

А чем тебея Idea community не подходит?
609 2748947
>>48943
Для Java Spring подойдет VSCode?
610 2748948
>>48946
Java Spring приложение делать учусь
611 2748950
>>48947
Да, там даже расширение бесплатное есть. А на идею спринг только платно идет.
612 2748951
>>48948
И че? По твоему в коммьюнити на спринге чтоли нельзя кодить?
613 2748956
>>48951
Я не знаю. Можно?
614 2748957
>>48956
Разумеется можно
615 2748959
>>48956
бины зелёненьким не будет подсвечивать и всё
616 2748960
>>48940
Берешь и просто каждый месяц бесплатную идею получаешь.
617 2748961
>>48957
>>48959
Ладно, спасибо, буду иметь ввиду.
618 2748966
>>48960
Не работает - пробовал через vpn и другие браузеры регать аккаунты на новые почты.
Пишет "На этом компьютере триал уже был активирован".
image.png73 Кб, 812x873
619 2748971
>>48966
Ну хуй знает. Я вот CLion брал на месяц - шел третий по счету, но никто блочить не собирается. Винду переустанови, не знаю.
620 2748978
>>48971
Там вроде бы цимес в том, что если ты его прям покупал, у тебя эта лицензия стала бессрочной, но на конкретную версию, без апгрейдов. С бесплатными так не прокатит.
621 2748981
>>48978
Я ни копейки жидбрейнсам не занес. Да и они уже не возьмут. По моему произошла чудовищная ошибка, а я и не против.
image.png102 Кб, 754x632
622 2749089
>>48826
Вообще полистал эту редакцию, там даже вот этого нет.
Странно, зачем столько вырезать.
623 2749092
>>49089
че за мусор
624 2749096
>>49092
Более развернутая форма этой лекции https://youtu.be/BmBr5diz8WA
625 2749099
>>49096
всм че за мусор книга в которой даже лайфсайкла бина нет
даже в материале для новичков >>47704 это есть
626 2749108
>>49089
В новой редакции посчитали, что вкатунам это знать не нужно.

Это общая проблема: прикинь вот ты как автор книги описал этот лайфсайкл, а авторы фреймворка взяли, и чето в нем поменяли. И все. Читатель-вкатун начинает плеваться - "книга устарела, вводит людей в заблуждение, фу читать книги".

Ну вот чтоб устаревала пореже, приходится абстрагироваться.
627 2749112
>>49099
Я хз, новая редакция.
Да и на статье хабра не так структурировано, да и черт знает для новичков ли. Вот какой-нибудь Spring Start Here эт да. Прям для дебилов разжевано. И тоже нет вот такой схемы.
>>49108
Да похуй, всегда можно почитать ченджлог. Она в общем-то актуальна для 4 спринга.
628 2749283
Интересно, у джавы есть свой тред. Что же вы тогда серите в овсех остальных тредах?
629 2749310
>>49283
Кто где серит? Пакажи.
630 2749315
>>49310
Открываешь любой тред, возможно кроме плюсов и лиспа (джависты умнее всех, поэтому серят в тредах питонистов\пубистов\пхпистов\жсистов, но вот в тредах языков, где не наворовать смехуечек с баша их почему то нет), читаешь последние 10 постов, в каждом будет залетный элитист "ваш язык хуйня, работы нет, учите джаву"
631 2749321
>>49315
Это обиженная шарпоблядь дискредитирует
632 2749323
>>49315
Пруфы кидай, ссылками. Пока что серишь здесь только ты под себя.
633 2749334
>>49315

>учите джаву


Жависты хитрые и обычно призывают учить шарп, котлин в крайнем случае. Мол жава старая, многословная, медленная и прожорливая - зачем она вам.
634 2749337
>>49334
Кек, то есть все залетные шарпеи в джава-треде - на самом деле латентные джависты? Это многое обьясняет.
2023-06-3019-41-48.png11 Кб, 563x220
635 2749366
Ух, как же хорошо с фумигатором! Раньше мухи кусали, а теперь только видишь их валяющиеся на полу трупы.
636 2749374
Ебали мухи шарпея
637 2749390
Женечка, расскажи за уникальные имена пакетов. я правильно понимаю, что на них всем похуй, если они уникальные, то есть не будут пересекаться (с любыми другими сторонними пакетами)? так что я могу выбрать your.ripped.ass и будет норм.
638 2749409
>>49390
выбирай домен своей компании

ru.pupkin.project_name
639 2749411
>>49409
яж мамкин погромист, стаж полчаса, живу у мамы в домене
640 2749414
>>49411
Тогда com.example.
Или регистрируй домен на гитхабе: io.github.smalldick
641 2749415
>>49390

>Женечка


Хто это?
642 2749417
>>49337
Именно так. Зачем растить конкурентов, если можно заманить их в шарп. Раньше с питоном так делали, пока там рынок не заполнился под завязку.
643 2749430
>>49411
my.vasya_pupkin.project_name
644 2749439
>>49430

>vasya_pupkin


>project_name


Предпочитаю делить на два разных пакета.
645 2749458
>>49439
m.y.v.a.s.y.a.p.u.p.k.i.n.p.r.o.j.e.c.t.n.a.m.e
646 2749459
>>49458
Смысл твоего высера?
647 2749460
>>49458
А какой уровень вложенности максимален у фс? 256? Или 64536?
648 2749465
>>49460
127. Уровня влажности нет, есть только ограничение длины пути, половину которого съедают слеши папок.
649 2749471
>>49465
Тогда и имя тома + "://" еще сжирать должны. Если мы про абсолютный.
Мне вот интересно, а как компании обходят эти ограничения? Модифицируют ntfs или ставят другие фски? Или вообще похую и раз максимум 256, то пусть будет 256
650 2749477
>>49471
Имя тома нет смысла хранить, оно всегда одинаковое, просто таблиц несколько.
Компании просто запускают всё на специальной виртуальной ФС, где длина пути может быть хоть 10 терабайт.
651 2749539
Насколько сложно устроиться жабисту на удалёнку в другую страну?
652 2749562
>>49539
Анриал вообще. Да и в других странах шарп. Я думаю ты не тот язык выбрал.
# OP 653 2749602
Используйте регулярку (шарп|шорп|джэ|жэв|жээ|С#|C#).
654 2749608
>>49602
Зачем? Ты тег жавы проебал из-за регулярки?
655 2749613
>>49608
Это фумигатор.
656 2749620
>>30933 (OP)
Аноны, хочу за лето вкатиться в жаву
Я заводчанин, образование социолог Думаете получится?
Пока зарегистрировался на гикбренсе и даваруш и скачал Алгоритмы на Java.
Ваши советы как не проебать время, выучить как можно больше за лето и к осени найти работу разрабом хотя бы за 50к.
657 2749624
>>49620
Смотри, качаешь себе томики Кнута и кайфуешь. Думаю за лето сможешь освоить. А там уже и в гугл можно.
658 2749625
ШAPП
659 2749626
>>49620
пашол нахуй
660 2749628
>>49625
ШAРП
661 2749632
>>49628
ШАPП
662 2749644
>>49626
Почему ты такой злой, няш?
663 2749646
>>49644
Я тя вздрючу
664 2749647
>>49644
Не обращай внимания на этого бяку, давай поняшимся лучше :3
665 2749649
>>49647
Ето можно. А ты в спринге разбираешься?
DK4Y0C0rW3.png65 Кб, 1614x912
666 2749652
>>49620
я с 10 летним стажем жабамакаки имею сложности с трудоустройством. На джуна - там 10 вакансий на всю россиюшку по 2к откликов.
Чел, щас ситуация как с юристами и экономистами, оно уже случилось
667 2749659
>>49652
А может просто ты хуевый работничек и не отвечаешь требованиям?
668 2749663
>>49659
как-то же до этого работал, проходил испытательные сроки, завершал проекты. И есть некая хуйня с образованием филолога, которая хочет вкатиться. С чего он будет лучше меня?
669 2749667
>>49663

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


Не показатель компетенции. Ты мог быть и балластом.

>С чего он будет лучше меня?


Ну конкретно он, вряд ли лучше будет. А у тебя профильное образование?
670 2749670
>>49667
нет, у меня пту
671 2749671
>>49670
Пту тоже профильным бывает, да и там более узкоспециализировано.
672 2749686
>>49671
радиотехническое. В местном вузе жабу не преподавали, только делфи и может плюсы
673 2749699
>>49686
Про жабу разве вообще в каких-то вузах рассказывают?
674 2749714
>>49699
У меня на втором курсе, правда я ни одно занятие не посетил.
675 2749737
Памагити томкат поднять. Точнее впендюрить в него вот этот класс.
Можно гайд какой-то? А то везде бут ебаный
676 2749743
>>49737
ничосе. А так можно?
Качаешь томкат, запускаешь. Собираешь .war своей приложухи, деплоишь в запущенный томкат, он его подхватывает и развертывает сам
677 2749749
>>49743
Ммм, чет про это ни слова. А бут такой же хуйней мается?
678 2749772
>>49749
в бут встроен минитомкат. Он занимает весь порт одной приложухой. В оригинальном томкате ты на одном порту можешь хостить хоть десяток приложух, различаться будут урл
image.png51 Кб, 807x291
679 2749780
>>49772
Окей, понял. Гайд по запуску оригинального томката можно? И деплой туда spring-mvc без бута.

Плюс я тут логи смотрю, он просто не видит мой класс. Как блять ему указать
680 2749787
>>49624
>>49626
В гугл обязательно хотя бы чтобы поджечь пердаки юзеров этого форума)
>>49652
Т.е ты боишься что я заберу твоё место? Если да, то я его точно заберу))
681 2749795
>>49780

>Гайд по запуску оригинального томката можно?


когда скачаешь - там в ридми вроде есть. И на сайте. Вкратце запустить run.bat из /bin папки

>И деплой туда spring-mvc без бута.


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

Просто копируешь в паку /webapp томката и оно развертывается
682 2749831
>>49390
Вот этот >>49409 прав. Иногда это бывает важно. Например если ты релизишься в централ: забить за собой в централе ты можешь только группу, одноименную со своим доменом (ну и для гитхабных всегда еще есть опция com.github.username)
683 2749846
>>49415
Это быдлан решил так поднять своё чсв и унизить того, кто ему будет отвечать. А хомячьё из этого треда повелось.
684 2749849
>>49831
io.github или org.github
com для коммерческих проектов
685 2749852
>>49849
Да, скорее всего ты прав.
image.png90 Кб, 813x807
686 2749864
>>49795
Ну крч, пиздец изменения. Я ебал.
687 2749866
>>49649
Пидорас,я тебя угандошу охуеешь
688 2749869
>>49866
Приезжай, няш. Только вон томкат мне почини перед этим...
image.png59 Кб, 1273x502
689 2749915
>>49864
В общем-то, там зависимостей не хватало и еще я собирал криво.
Вродь робит теперь. Правда почему нельзя было как в буте сделать...
690 2750062
Нормально откликаться на миддл вакансии, если опыта коммерческой разработки нет (пил приложение для гос органа за спасибо)?
691 2750065
>>50062
Пилил, быстрофикс. Да и вообще многое забылось, т.к. только с армии вернулся.
image.png38 Кб, 472x387
692 2750068
>>50065
А какие у тебя знания есть вообще? Типа можешь сказать, что это за помощь гц?
693 2750069
>>50068
Ну типа чтобы ссылка не хранилась..
694 2750070
>>50069
Это метод из LinkedList и в 181 строчке нода, в который эти ссылки находятся, также перестает хранится.
695 2750513
>>50062
Если ты миддл - ты решаешь все поступающие тебе задачи автономно. Можешь так? Если да - то нормально.
696 2750516
>>50062
Да, попробуй сбербанк или его дочек. Там адские дебилы сидят поголовно.

Ума не наберешься, но опыт будет.
петух с головой.mp43,3 Мб, mp4,
608x1080, 0:18
697 2750518
>>49652
У мине 20 лет опыт-лар. Работал на самом острие всегда: самый опасный проекты, самый проблемный баги. Год за два ежжи.

1000+ проведенный собеседование, 100+ пройденный. Запрлата 500к+

Менял место работа много раз. Например, в IBM работал.

Готов пояснить за что-нибудь, если долго вчитываться не надо.
698 2750541
>>50518
вопрос: что вам нравилось в прошлой работе?
Мой ответ: отлаженные процессы, не нужно самому общаться с заказчиками и менеджерами, есть отдельный аналитик, выстроенные процессы.
Кроме того нравилось расположение компании в центре, почти свой кабинет, рядом фитнес с бассейном и парковка.
Но ассайнился я на удаленную работу. Сказал что есть опыт удаленки в ковидлу

вопрос: что вам писали в замечания на код-ревью
мой ответ: в основном это было связано с моей невнимательностью и замыливанием взгляда

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

реджектнули на финальном собесе после этих ответов. Что не так?
699 2750558
>>50541
Если книг читать не будешь - скоро грамоту забудешь!
700 2750565
>>50541
Я не умею читать мысли.

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

Почему отказ - может быть разные ситуации.

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

может быть, у них оказался под рукой более подходящий кандидат.

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

В общем, тут одни догадки. Твои ответы вполне приемлимы. Хотя мне они не нравятся. Я сам уже давно никакой книги не читал, но слышал о них.
701 2750567
>>50541
ещё одно забыл.

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

У техдиректорки ебало скривилось
702 2750579
>>50567
я выше описал видение ситуации. Ничего странного в Ваших ответах не вижу.

Ну не понравился и не понравился. Ничего страшного: это не последняя вакансия на рынке.
703 2750780
>>50541
>>50565
История одна охуительней другой, блять.

Где тут джава? Где ебанутые литкод-стайл задачки, где сгоревшие от вопросов по кишкам пердаки? Че это за постная сопливая хуйня? У вас хрюшетред на такие случаи есть.
704 2750823
>>50780

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



А тут где джава?
705 2750973
Прошел курс по Spring, хочу закрепил знания проектом.
Посоветуйте какой-нибудь курс / серию уроков по созданию приложения (для опыта надо увидеть, как делают веб-приложения опытные программисты).
706 2750980
>>50973
сделай борду на жабе
707 2750982
>>50980
Да я бы сделал - только мне нужен пример как правильно сделать такое приложение.
708 2750992
>>50973
google://spring sample projects
709 2751000
>>50992
Нашел сайт со Spring Boot, это может сказаться на получении будущей работы - или надо самому создавать зависимости в проекте?
Планирую пушить проекты на Гитхаб, и потом показывать работодателю.
710 2751006
>>50982

>да я бы сделал но мне надо чтобы за меня сделали


нихуя ты не закрепил
711 2751010
>>51000

> или надо самому создавать зависимости в проекте?


Для добавления зависимостей в помник ничего уметь не нужно. Чуть сложнее с конфигурацией, но она тоже легко гуглится. И проект у работодателя уже будет готовый, остаётся только новые сервисы с логикой писать.

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


Их почти никто не смотрит, все учебные проекты однотипны, да и часто их копируют друг у друга. Будут просто задавать вопросы.
712 2751011
>>50973

>Прошел курс по Spring


Шо за курс? Лайфсайкл бинов хоть показали?
.png66 Кб, 1194x466
713 2751016
>>49737
Пикрил. Не надо никаких ServletInitializer-ов и устаревших легаси WAR-ников. Тупо пишешь это и можешь клепать сервисы и контроллеры.
image.png73 Кб, 600x752
714 2751017
>>51010

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


Всм не надо? А как же зависимости править, вон на пике например, кто от кого зависит кто кому подгаживает, пара пакетов может иметь другие имена и тд и тп. Такая ебля, если честно. А еще билд настроить.
715 2751024
>>51006
Я ничего и не закреплял.
Мне нужен цикл уроков, в которых автор делает какое-нибудь приложение - желательно максимально используя Spring.
Чтобы, повторяя за автором, я научился проектированию приложений на спринге. Например, уроки по созданию какой-нибудь соцсети или онлайн-магазина.
Только чтобы курс актуальный был.
>>51011
Курс Заура Трегулова
https://www.udemy.com/course/spring-framework/

Также сейчас смотрю Наиля Алишева.
716 2751025
>>51024

>Я ничего и не закреплял.


>Прошел курс по Spring, хочу закрепил знания проектом.

717 2751026
>>51024

>Курс Заура Трегулова


>https://www.udemy.com/course/spring-framework/


>


>Также сейчас смотрю Наиля Алишева.


Это опять шарпоблядь жирнит, не отвечайте ему.
718 2751029
>>51017
Подключаешь пару основных зависимостей, остальное подтягивается автоматически как транзитивные зависимости. Что-то не работает => лезешь в гугл => добавляешь. Гуглом пользуются все, никто эту ебанину в голове не держит, да и настроить надо только один раз.
Настройка билда сводится к сборке fat jar через конфигурацию maven-assembly-plugin на 15 строчек, которая легко ищется на stack overflow. Всё.
image.png50 Кб, 755x320
719 2751031
>>51016
Это вообще по другому работает. Я тут ручками диспатч серверлет создаю и контекст тоже. Тогда как эта хрень делегирует этот процесс.
И чому твое чудо новое и не устаревшее, если это возвращение к ручному управлению?
720 2751033
>>51029
если в 4 мавене не автоматизируют эту эболу то я перехожу на грейдль
721 2751034
>>51026

> Это опять шарпоблядь жирнит, не отвечайте ему.


А что, такой классный язык? Может, зря мы тут с жабой возимся?
722 2751035
>>51034
Да, зря, вкатунам по ебалу на.
723 2751036
>>51029
У меня для теста вот нужны пакеты с пика 1, а для деплоя пик 2.
В одном есть serverlet 3, а другом еще 2.4 и 2.5. Поэтому для тестов надо чета отключать, а для деплоя включать. Циклическая зависимость какая-то. И че-т мне кажется, самый простой способ решить эту хуйню - загрузить бут.
724 2751038
>>51033
В градле не могут автоматизировать неломание обратной совместимости каждые полгода. А суть не изменилась, всё та же ебля с зависимостями и билдом, просто строчек надо меньше писать за счёт выпиливания громоздкого XML.
725 2751040
>>51038
Нет, не та же. Ебли гораздо больше, настолько, что если сравнивать её количество с мавеном, то градл эту еблю и придумал.
726 2751042
>>51040
Не хватает готовых плагинов, предлагают их писать с нуля. В мавене эти плагины тоже не сразу появились. Вот лет через 10 заживём!
727 2751043
>>51042
Тогда и виртуальные потоки будут... Эххх
728 2751045
>>51042
Ебля идёт как раз из полуработающих самописных плагинов, ломающихся от окружения и отсутствия ритуала перед сборкой.
729 2751050
>>51043
Да, и вкатуны так и дальше будут здесь спрашивать про сервлеты, сборку WAR-ников и деплой на сервера приложений (кроме Kubernetes).
730 2751053
>>51050

>сервера приложений (кроме Kubernetes).


че за мем
731 2751059
>>51050

>здесь спрашивать про сервлеты


Как раз хочу спросить. А в spring-mvc сколько конкретно сервлетов работает? Правильно я понимаю, что там один dispatchServerlet, который запросы отфутболивает в контроллеры с RequestMapping?
Если да, то как там многопоточность реализована...
732 2751060
>>51053
Ты не знал? Kubernetes - это сервер приложений. Появился из-за того, что в других языках не успели изобрести аналоги Websphere, Wildfly и Glassfish. Теперь для чего-то тащат кубер в жабу, хотя и так всё нужное есть.
733 2751061
Дайте свой темплейт для резюме и сопроводительного письма.
734 2751063
>>51060
ну так и есть в принципе да
735 2751068
>>51026
Чем плохи эти курсы?
image.png38 Кб, 894x431
736 2751071
>>51068
Так отличные курсы. Всего один отрицательный отзыв.
737 2751077
>>51059
Да.
Многопоточность делается на уровне контейнера сервлетов, там грубо говоря несколько воркеров берут данные запроса, упаковывают их в HttpServletRequest и передают их методам одного и того же экземпляра DispatcherServlet.
738 2751078
>>51059

>Правильно я понимаю, что там один dispatchServerlet



Да

>Если да, то как там многопоточность реализована



Как и везде. Все запросы выполняются в выделенном для этой цели тред пуле.
image.png108 Кб, 971x842
739 2751104
>>51077
>>51078
Судя по всему многопоточность полностью ложится на контейнер. Тут чисто реквесты хандлеру потом котроллеру и modelAndView.
В общем пасиба, я обязательно вкачусь... Вот-вот...
image.png1 Кб, 110x27
740 2751128
>>51104
вся суть
image.png167 Кб, 766x703
741 2751131
>>51128
Ацтань. Тут чу-чуть осталось до секурити. Можно регистрацию наконец-то не косячную запилить будет. Жалко некого лично заебывать... Приходится в тредике спрашивать.
742 2751138
>>51131

>Жалко некого лично заебывать... Приходится в тредике спрашивать.


Ничего страшного, здесь все тебя ненавидят.
743 2751140
>>51138
Это хорошо. В крайнем случае еще есть форум, группы в тгшке, дискордике. Заебать-то я найду кого.
744 2751155
>>51131
А я при вкате даже в тредике спрашивать стеснялся. Всё гуглил и читал доку по нескольку дней.
745 2751181
>>51155
Та я тоже гуглю, просто хочу иногда убедится, что правильно понял.
Правда доки спринга мне не особо нравятся, как и туториалы по типу baeldung.
746 2751282
нах нужен spring cloud kubernetes?
image.png37 Кб, 845x258
747 2751308
>>51282
В общем, еле еле шарп догоняют. Там-то хоть отбавляй либ для работы с кубером.
748 2751341
>>51308
Вот и уёбывай в свой шарп.
749 2751351
>>51308
я нихуя не понял ряльно
у меня и так все работает с бутом и кубером, нах мне эта либа?
750 2751425
>>51341
Не злись, няш. Могу обнять, если вот прям вообще плохо.
>>51351
Значит плохо работает, ну или она как-то сама подтянулась.
751 2751447
>>50973
Я делал веб-приложение "Каравашки", но тут в треде меня засмеяли
752 2751450
>>51447
Опять выходишь на связь?
753 2751555
>>51447
пидорашки?

Вали в свою Европу, латентный
754 2751593
>>51450
Опять вылезаешь из своего мусорного мешка с опарышами?
755 2751764
>>51447
Над яндекс едой же не смеялись
756 2751784
>>51071
как петушок запел
757 2751796
>>51784
Кто петушок?
758 2751806
>>51796
Все курсодебилы.
759 2751811
>>51806
А как надо вкатываться тогда?
760 2751816
>>51811
Читать книги по шарпу.
761 2751821
>>51816
База
762 2751845
>>51816
По шарпу нет хороших книг. Все шарписты читают книги по джаве.
763 2751847
>>51845
Это какие например? Да и схуяли нет-то?
764 2751919
>>51847
Я когда изучал шарп, то не мог найти книг по ООП. Решил почитать Брюса Эккеля и в итоге ушёл на джаву.
765 2751921
>>51919
Нахуя тебе читать про ООП изучая язык? Ты ебанутый?
766 2751942
>>51919

>Решил почитать Брюса Эккеля


Что именно?
767 2751944
>>51921
А как я узнаю про ООП?

>>51942
Философия Java
768 2751945
>>51944
Читая про ооп без привязки к языку.
769 2752034
>>50068

>GC


garbage collector

>unlinkFirst


м.б. delink?
/Мимо другой
770 2752039
>>52034

>м.б. delink?


Мысль раскрой. Я ж ниже в ветке отвечал, что у ноды, в которой эти ссылки находятся, также убираются ссылки. 180 и 185 строки.
771 2752041
1687446283164153.jpg280 Кб, 1040x1280
772 2752280
Нахуя в Spring microservices in action размазывают security по всем сервисам? Ещё и keycloak используется, нахуя мне это блять в книге по спрингу?
773 2752306
>>52280

>Spring microservices in action


Норм книжка вообще? Или она для девопсов?
2023-07-0317-29-14.png215 Кб, 966x822
774 2752325
>>52306
Норм вроде, но других по спринг клауд особо и нет
Cloud Native Java ещё есть, но вообще 17 года
775 2752338
>>52325
Бля, оформление как в спринг ин актион. Сука, чому один паттерн названия и офрмления? Есть какой-то фремворк для книг?
У меня вопрос-то, надо ли это вкатуну? Или похуй?
776 2752521
>>52338
Так тот же издатель
777 2752583
>>52338

>надо ли это вкатуну



Торг как третья фаза принятия.

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

Что касается клауда - распространен он реже, чем сам спринг, поэтому и приоритет к его изучению - ниже. Да и крайне маловероятно, что за него спрашивают на джава-собесах.
778 2752593
>>52583

>Забудьте вы уже такое слово как "вкатун".


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

>то касается клауда - распространен он реже, чем сам спринг


Понел. Пасиба
779 2752642
Вкатуны никогда не исчезнут, как и их шансы вкатиться не уменьшатся.
780 2752645
>>52642

>как и их шансы вкатиться не уменьшатся


Это типа намек на то, что ниже уже некуда?
781 2752659
>>52645
Нет, это намёк на Д е Ф и Ц и Т кадров в ойти.
782 2752664
>>52659
Ааа, я прост глянул в своем городе на хх вакансии. 6. Из них подходит одна. Пиздец голод, я ебал. Мб что-то не так делаю.
783 2752674
>>52664
Хуй знает, в моём городе там 2500 вакансий.
784 2752689
>>52674
Ну дсы, наверное.
785 2752691
>>52689
Да, ДС-3.
786 2752703
>>52691
Ммм, интересно, а возможно на удаленку устроится...
image.png8 Кб, 730x244
787 2752718
>>52691
Хотя, всего 6к вакансий. У тебя гришь 2 с полтосом. Что я делаю не так?
788 2752725
>>52718
Спринг добавь.
image.png9 Кб, 781x235
789 2752735
>>52725
Ну да, теперь вообще 2к. Так это по всей россии. Типа как в одном городе миллионнике может быть 2.5к, когда по всей стране столько не наберется?
790 2752982
Кто-нибудь пробовал вручную деплоить war-ники в tomcat? Делаю вроде всё по гайду, но получаю 404. В самом war-нике лежит файл index.html, но томкат его не хочет показывать.
791 2752990
>>52982

> деплоить war-ники в tomcat


Я в 2008 попал?
image.png17 Кб, 1270x279
792 2753009
>>52982
Хз, мне кто-то тут посоветовал так делать, вродь все работает искаропки. Только чтоб показать тебе надо конечно же настроечки для серверлета сделать. А то че тебе томкатик-то запустит?
>>52990
А как сейчас все это происходит
793 2753010
>>52990
Разобрался. Как всегда тупая идея в штаны насрала со своими офигетельными советами и подсказками. В общем, после создания фасета нельзя соглашаться на автоматическое создание артефакта, а надо самому ручками его создать, потому что идея генерирует невразумительное говно. И ещё они хотят за своё поделие денег немалых!
794 2753011
>>53010
А ты че не через мавен/градл билдишь?
795 2753014
>>53011
У меня гайд только на идею. Через мавен и градл нету гайда.
796 2753015
>>53014
А чем там сложного-то? Вот это добавил в билд и проект. Делаешь конфигурацию clean, compile, package. Усе. У меня автор вообще даже не упоминал об этом...
797 2753016
>>53015
Будь моя воля, я бы тоже через мавен собирал в каком-нибудь вс коде, а не в этой лагающей тупой идее. Но приходится мучаться и сидеть в бесячей идее. Современный джавист - это идея-разработчик.
000.jpg111 Кб, 1105x699
798 2753132
>>53016
Чел.. в Идее есть плагин для maven
799 2753139
>>53132
Эта хуйня и без плагина работает. Я ж скрин из идеи делал. Я хз про что он вообще.
800 2753562
Возможно ли из кода получить спринговый бин?
У меня нет ничего, только конструктор и вызываемый метод. Возможно ли тут достать из воздуха спринговую фабрику бинов и достать бин?
801 2753631
>>53562
Реализовать ApplicationContextAware с сеттером в статическое поле.
802 2753642
>>53562
Инжектишь контекст в публичное статик поле при запуске приложения.
803 2753646
>>53132
Я знаю, что там миллион плагинов и всё тормозит из-за этого.

>>53139
Я про тормоза и платность идее
804 2753671
>>53631
пердолики из яндекса сделали некие клауд функции, я пытаюсь подружить это со спрингом. Непонятно что яндекс делает с этими инит классами - заменяет на свои, или прокси, или что. Если делать Autowired - при запуске локально инжектится, при загрузке туда - null, видимо яндекс подменяет этот класс своим
805 2753699
>>53642
>>53631
А так точно можно? Потом никто не придет по шапке стучать за такую поебень?
806 2753703
>>53699
Будут, но фактически будут только потому, что агрессивные анальники, и им лишь бы постучать кому-то. Фактически никакой пользы в пробрасывании контекста всюду нет, один хуй спринг это тормозящий кобол.
807 2753732
>>53671
Бля, а ты можешь нормально пояснить? У тебя просто сначала клауд функции, потом инит классы, кстати, что это? А в конце вообще класс один.

Я правильно понял, что тебе надо написать хандлер, который из контекста в сервере получит некий бин?

>null, видимо яндекс подменяет этот класс своим


Возможно конфигурация не видит хандлер?
808 2753942
>>53132
>>53139
Заебали уже отвечать этому дауну.
809 2753953
>>53942
Какому именно? Ты их как-то идентифицируешь?
810 2753957
>>53562

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



Возможно. Через ApplicationContext::getBean.

>У меня нет ничего, только конструктор и вызываемый метод.



Всмысле - ничего. Спринг то сам есть? Или только анноташки от него?

>>53671

>Если делать Autowired - при запуске локально инжектится, при загрузке туда - null, видимо яндекс подменяет этот класс своим



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

Не измудряйся. Вон янтекс тоже грит: просто ебошь обычное спринг-бутово. https://cloud.yandex.com/en/docs/functions/lang/java/model/spring-boot.
811 2754123
Как по каноничному RESTful стилю сделать так, чтобы POST запрос не приводил к изменению данных на сервере, если содержимое тела не отличается от текущих данных сущности в базе? Есть заголовки If-Match и If-Modified-Since, но они для другого. Ту надо сверять именно данные, которые пришли в теле.
812 2754126
>>54123
А нахуя? В чем профит? Ты шо так сверяешь данные, шо сяк. Не проще оставить эту задачу бд?
813 2754127
>>54126
Внешний клиент может отправить запрос на модификацию, но не хочет, чтобы дата последнего изменения обновлялась, если изменений по факту не было.
814 2754130
>>54127
Не особо это логично, имхо. Но вроде оно https://stackoverflow.com/questions/1506950/atomic-compare-and-swap-in-a-database
815 2754134
>>54130
Я спрашиваю про REST, ты отвечаешь по БД. А я-то еще думал что в джава треде умные люди сидят.
816 2754145
>>54134
Блять, а че тебе ответить? Тебе присылают запрос с обновлением данных, ты его игнорируешь по каким-то личным причинам. Это норма типа? Мб именно дату хотят обновить.
817 2754165
>>54127
А в чем проблема достать данные из бд и сравнить их?
818 2754179
Опять у меня спиздили идею, о которой я нигде не писал...
819 2754181
>>54179
И какую же, няшк?
820 2754182
>>54181
А нах говорить-то теперь...
821 2754185
>>54182
Мне интересно. Идея без реализации ничего не стоит.
823 2754189
>>54186
Посмотрел аналоги, да вроде старая идея. Или ты анончик еще и di первым придумал?
824 2754191
>>54179
Идей как грязи, они ничего не стоят, валяются на каждом шагу. Нормальных реализаций нет нихуя.
825 2754192
>>54189
Вменяемых compile-time DI фреймворков не было. Они все спиздиоли у меня из головы: генерацию сурс кода, аннотейшн процессор, даже аннотации, которые я хотел перенести из спринга. Хттп клиент почти один в один как по моей задумке, только нет поддержки абстрактных классов и декораторов.
826 2754193
>>54191
Ты спиздил мою идею об идеях! (((
827 2754195
>>54192
Как, кстати, скоупы там решаются? Ну и методы destroy?
828 2754196
>>54195
Зайди да почитай. Документация у них годная.
829 2754204
>>54196
Это то, что ты скинул? Там буквально ни слова про реализацию. Да и откуда она в доках возьмется-то... Это копаться надо, а мне лень. Поэтому и спрашиваю. Вкратце хоть обрисуй. Они фабрики заместо new подставляют?
Вообще говоря, странная мысль, в яп главная фича которого - jit мы делаем что-то в aot.
830 2754219
>>54192

>compile-time DI фреймворков не было


Так их дохуя же - dagger, в микронафте компайл тайм di.
831 2754406
Нужно ли сейчас знать JSP/JSTL?
832 2754435
>>54406
Нет.
image.png273 Кб, 2782x526
833 2754790
Жаба делает сосатб понемножечку
834 2754810
>>54790
Если это манямирковый TIOBE, в котором бейсик на 6 месте, можешь сразу нахуй пойти.
835 2754816
>>54810
Именно. Первое место питон, второе жс, третье шарп. Остальное даже упоминать не стоит, ибо меньше 10% в сумме. Напридумывали хуйни.
836 2754823
>>54810
А где реальная стата по-твоему?
837 2754832
>>54790
Так это ж замечательно, не? Меньше популярность, меньше конкуренция. Количество кода-то никуда не уменьшится.
838 2754835
>>54823
На хедхантере.
839 2754903
>>32465
не, не хватит. бля бэка надо минимум 16gb или будут лаги. Если хочешь ещё и докер запускать, то надо 24гб - но тут уже и ценник. Без докера 16ги должно хватать.
840 2754907
>>54903
Что ж за систему собираешься запускать-то? Почему она так дохуя жрет
841 2754969
>>54907
Андроид же.
842 2754990
>>54969
Окей, а докер нахуя тогда? Ты типа android x86 в нем хуйнешь?
843 2755088
пришел в офис. Показали кубикл. Никто не зовёт пить кофе или идти в столовку, иду один. Так и должно быть? Самому напрашиваться? Судя по разговорам - тупые зумеры с какой-то ерундой
844 2755145
>>54990
А в докере запущен бэк.
845 2755178
>>55088

>Никто не зовёт пить кофе или идти в столовку, иду один.


ЖИЗА БЛЯ Я ТАК 4 ГОДА РАБОТАЮ И КАЖЕТСЯ СХОЖУ С УМА
846 2755248
А насколько вообще требуются умения работы с докером? Я просто с lxd работал, но чет ограниченный докер вообще не трогал. Насколько ебать будут за это?
847 2755251
>>55248
Не требуются. Ты разраб, а не девопс.
848 2755259
>>55248
Мне тимлид 1 раз настроил сборку докер образа в идее. Нажимаешь кнопку и образ летит в какой-то порнхаб
image.png60 Кб, 836x495
849 2755278
>>55259

>настроил сборку докер образа


Странно, что тогда прям в build мавена это не добавили.
Хотя смотрю туда базу данных пихают. Типа через jndi сейчас больше не получают инфу о бд? Или это в буте где-то спрятано...
>>55251
В вакухе писале про докер. Еще в соседнем треде говорили, мол пиздос обязательно.
850 2755320
>>54907
Ну вот у меня 3 проекта - 1 в разработке, 2 на поддержке.
1. Мне нужен докер локально: 3-5 контейнеров одновременно для каждого проекта.
2. Тестконтейнеры, до 3 контейнеров в тестах гоняются.
В докере могут быть - минио, кейклок, постгрес, монга, редис, кафка, реббит.
3. Идея с кучей открытых плагинов в несколько окон. С терминальчиками, клиентами для хттп, докеров, баз
4. Локально поднято 1-3 сервиса.
5. Хром с видосами, докой, дев-окружением, таск-трекером, логами.
6. Корпоративный мессенджер с видеосвязью.
7. Куча всякого не сильно нагружающего - почтовый клиент, корпоративный впн, иногда нужно открыть вордовый/экселевсий файл.
На все это разом 16 гигов оперативки не хватит не на одной ос. 8 не хватит и для самой обязательной части.
851 2755337
>>55320
А по ssh откуда-то низя эти контейнеры запускать? Не знаю, мб любимая работа выделит тачку...?
Отсается только идешечка и хром.

>В докере могут быть - минио, кейклок, постгрес, монга, редис, кафка, реббит.


Мда, сколько ж всего в них пихают...
852 2755357
>>55337
А зачем мне их откуда то запускать? Это же медленнее и неудобнее, чем каждому со своей машины запускать контейнеры с обвязкой. Намного проще иметь комп с 32 гигами оперативы.
Ну работа выдает ноут с 16 гигами оперативы, можно до 32 расширить.
Операционка на выбор бубунта или винда с всл.
Мак у нас только у тимлида, который код пишет самую малость и ему полная обвязка не нужна. Сколько там оперативы - я хз.
853 2755373
>>55357

>бубунта


Какое же издевательство... Но хоть ноут халявный.
854 2755818
А что, у вас не перекатывают?

Я тут узнал, что в версии 21 супер апгрейд языка. Теперь для хелло-ворлд не нужно делать обвязку из класса, статического метода и т.п., достаточно просто
void main() {
System.out.println("hello");
}
говорят революционное изменение. Теперь все ломанутся вкатываться в джаву, потому что стало почти так же просто, как в питон, будет наплыв вкатышей, через три года толбы мидлов-серьёров, зарплаты скорректируются. Кабанчики в восторге.

Что вы думаете об этом?
855 2755824
>>55818
Это ж только превью фича, не?
856 2755839
>>55818
В сишарпе давно такое есть. Даже метод main объявлять не надо, а сразу пишешь вывод в консоль.
857 2755847
>>55839
База. Именно поэтому он ебет.
А ещё linq, async, generic, value type. И куча куча сахара. Зачем нужна жава, непонятно
858 2755862
>>55088
Год сижу в офисе, со всеми здороваюсь когда прихожу, с кем то даже смол толкать пытаюсь. Все еще никто не зовет - ходят своими компаниями, в столовке делают вид что мы не знакомы.
859 2755871
>>55248
Будет плюсом (можно всякую хуйню по деплою скинуть), но не обязательно. У меня в команде техлид в этом шарит и на пару в девопсом решают все вопросы. Моего понимания хватает только чтоб запустить локально всякие базы, кафку, редис и прочую такую поебень.

>>55278

>>В вакухе писале про докер.


Мне в вакухе и про хибер писали - я его ни разу не видел, жуком пользуюсь.
860 2755875
>>55847

>>Зачем нужна жава


Для энтерпрайза. Микрософт обосралась сломав обратную совместимость несколько раз, обрекая ранее написанные проекты быть вечным легасным говном. А сейчас нет смысла менять жаву обычную на жаву микрософт - уж лучше го какой нибудь взять.
861 2755890
>>55875
С восьмой жабы тоже хуево мигрировали. В чем разница?
862 2755970
>>55871
На хх очень мало вакух с жуком.
Я уже больше года на жуке пишу и если менять работу - просто пиздец как неохота опять задрачивать хибер для собесов.
Помню, как меня два года назад попустили на жизненном цикле энтити и отличия методов энтити менеджера.
863 2755975
>>55890
Мы норм мигрировали. А с 11 на 17 вообще легко.
Проблема не в самой жаве, а в библиотеках, которые завязаны на версиях жавы.
Или вот например на 17 жаву перекатились бесшовно на нескольких сервисах на 10-40к строк. А вот на третий спрингбут хуй там, куча всего отваливается. А времени разбираться как мигрировать нету.
864 2756040
>>55847

>async


Убогая хуйня. Я понимаю петухлинщики выёбываются своими тормозными корутинами, но эти ёбаные асинки из петушарпа — лучше уж классические ReadWriteLock и CallableFuture.
865 2756100
>>56040
Bruh. Ладно шарпеи - у этих с рождения самоуважения нет, но ты то куда лезешь? Явно ж не шаришь о чем говоришь. Не позорься.

Мимо
866 2756246
>>56100

>мимо


У петушарперов не только самоуважения нет, но и совести, пиздабол мамкин.
867 2756250
>>56246
Ебать ты порватка. Везде шарпеи мерещатся?
868 2756252
>>56250
По делу есть что сказать?
869 2756255
>>56252
По делу я тебе уже все сказал.
870 2756258
>>56255
Ясно, свободен.
871 2756276
Где почитать про happens-before гарантии вот этого чуда метода? https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/LockSupport.html#park--
Как я вижу из реализации FIFOMutex она их таки дает.
872 2756290
>>56276
Если в джавадоке на этот счет ничего не сказано, значит нету.
873 2756295
>>56290
Каво? По твоему у ReentrantLock, которые за счет AQS сделаны, а те в свою очередь за счет парки не имеют гарантии happens-before?
874 2756317
>>56276
Ну и кстати вот уже по этому куску доки можно предположить, что нет там никакой happens-before

These methods are designed to be used as tools for creating higher-level synchronization utilities, and are not in themselves useful for most concurrency control applications. The park method is designed for use only in constructions of the form:

while (!canProceed()) { // ensure request to unpark is visible to other threads ...
LockSupport.park(this);
}

>>56295

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

>которые за счет AQS сделаны, а те в свою очередь за счет парки



А ты не обратил внимание на то, что парки там в циклах? Вопросов не вызывает?
875 2756332
>>56317

>можно предположить


Их главная проблема, что они низкоуровневые слишком, и вот этот canProceed() должен быть lock-free

>а то пока допрешь че за AQS ты имел ввиду...


https://github.com/openjdk-mirror/jdk7u-jdk/blob/master/src/share/classes/java/util/concurrent/locks/ReentrantLock.java#L119

>Вопросов не вызывает?


Ты впервые узнал про spurious wakeups?
876 2756340
>>56332
Чел, ну че ты душишь то? Спуриос вэйкапы, спуриос шмейкапы... Те прямым тесктом в джавадоке говорят что реквест на анпарк не сразу виден - о каком вообще тогда happens-before для park можно говорить?
877 2756348
>>56340

>реквест на анпарк не сразу виден


Мне кажется мы разную доку читали. Там реквест на анпарк вообще липкий

>A call to unpark makes the permit available, if it was not already available. (Unlike with Semaphores though, permits do not accumulate. There is at most one.)


Такое ни notify, ни signal не дают.
Тащемта важность этого метода подтверждает еще то, что его отредачат для виртуальных потоков.
878 2756366
>>56348
Ну вот еще признак того, что сам по себе park никакого happens before не дают:

Reliable usage requires the use of volatile (or atomic) variables
to control when to park or unpark. Orderings of calls to these
methods are maintained with respect to volatile variable accesses,
but not necessarily non-volatile variable accesses.

То есть - "ок, ордеринг мы вам гарантируем, но визибилити - сорямба, юзайте волатильные переменные".
879 2756373
>>56366
Не-не. Это для контроля. Ну т.е. из-за того, что любая лока может проглотить реквест с анпарка требуются изъебства в виде атомиков и волатильных переменных.

>to control when to park or unpark


Но даже эталонная реализация, данная в доке, подразумевает локу. Которая должна гарантировать видимость. Потестить бы это на каких-то arm, где модель памяти мягче, чем в x86.
Да и happens-before - это как раз ordering.
880 2756390
>>56373

>Да и happens-before - это как раз ordering.


Это не только ордеринг но и визибилити. А тут ордеринг есть, а визибилити - сорямба, не завезли.

>Two actions can be ordered by a happens-before relationship. If one action happens-before another, then the first is visible to and ordered before the second.



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

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



Ты про FIFOMutex? Так правильно - там оптимистичная блокировка на атомик булене в цикле - она и обеспечит тебе видимость.
881 2756392
>>56390
Ладно, кажись я допер, чтение волатильной переменной дает видимость для всего, что было между другим таким чтением.
https://stackoverflow.com/questions/2475067/java-locksupport-memory-consistency

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


В совокупности с гарантией mutual exclusion, наверное можно ей назвать, не?
882 2756395
Жависты такие жависты, неделю могут сидеть и не перекатывать... Хуже индусов

>>2756391 (OP)
>>2756391 (OP)
>>2756391 (OP)
>>2756391 (OP)
883 2756396
>>56395
После 1000 же. Там вон 249 до сих пор живет.
884 2756398
>>56396
Так ведь смысл в том, что после 500 тред не апается и тонет
885 2756399
>>56398
И? Тут все свои
886 2756444
>>32193
Пользовался огрызком про 2017, это отвратительно, ноутбук греется и шумит от любой средней нагрузки, но это все не главное. У меня была версия на 8гб ОЗУ, этого не хватает ни на что. ПОВТОРЯЮСЬ НИ НА ЧТО. У тебя только докер с айдией будут кушать под 10, а я еще про СУБД молчу. А тебе еще нужно параллельно держать браузер и т. д.

Щас у меня средненький vivobook (14”, r7 5700u, 16ram). Хватает, но ОЗУ порой мало, благо в пк 32гб.
sage 887 2756533
>>56398
Так в этом и прикол.
888 2756573
>>55818
это хуже чем сейчас. Жаба славилось своей простотой и логичностью. Щас делают второй шарп/вторые плюсы
889 2756578
>>56573
А что здесь не простого и не логичного?
890 2756595
>>56578
отказываемся от принципа "всё есть класс"? Где эта штука должна запускаться? Кто её должен запускать? Как он должен обратиться?
891 2756598
>>56595
Ну тут как с анонимными классами. Мб и лямбду убрать?
Просто по имени пакета сделаем анонимную реализацию. Усе.
sage 892 2756613
>>56595

> отказываемся от принципа "всё есть класс"?


Наконец-то!
893 2756615
>>56613
и получаем кастрированный питон
sage 894 2756617
>>56615
Не получаем.
895 2756618
>>56613
Хуй саси. Скорее солнце перестанет светить, чем жаба свои принципы основные уберёт. Наоборот вон примитивы к объектам хочут привести.
896 2756622
>>56618
Да даже если и уберёт, этого никто не заметит, т.к. ещё 50 лет будем сидеть на 8 жабе.
897 2756623
Так а как вы предлагаете избавиться от классов в угоду голой функции main? Там же файлы в .class "компилируются", где уже и описан main метод, а тут придется в какой-то анонимный класс оборачивать каждую такую беспризорную "функцию"
sage 898 2756628
>>56623
Хочу, чтобы не через классы, а прям на фундаментальном уровне была поддержка функций, файлы .function, functionpath вместо classpath, переменные типа "ссылка на функцию", functionloader-ы и т.д.
899 2756629
>>56623
каталог-кун докладывает: сотни быдла бьется головой о стену, не видя двери. Для быдла выпиливают люк
900 2756632
>>56623
В JEPе описано ж:

https://openjdk.org/jeps/445

>Second, we introduce unnamed classes to make the class declaration implicit.



>Henceforth, when the Java compiler encounters a source file with a method that is not enclosed in a class declaration it will implicitly consider such methods, as well as any unenclosed fields and any classes declared in the file, to be members of an unnamed top-level class.



Мало чтоли в джаве приколов с анонимными/VM-анонимными классами?
sage 901 2756633
Ещё Main-Function в манифесте кста.
902 2756635
>>56623
А тебе-то че? Этим будет заниматься javac.
903 2756639
>>56628
А че нет какого-то жава бэйсед яп с такой херней? Или там упираются уже в jvm?
sage 904 2756641
>>56639
Да, JVM на фундаментальном уровне работает с классами и ничем другим.
905 2756646
>>56641
Ну как, примитивы отдельная сущность. Я правда не знаю, в стейке ли они живут или нет.
906 2756653
>>56639
всякие груви и скалы. Не получилось перевести всех на хаскель - попробовали сделать скалу. Не получилось перевести на скалу - из жабы делают хаскель/скалу
907 2756656
>>56653
Никому не нужен ваш чмаскелль, хватит фантазировать
908 2756659
>>56628

>прям на фундаментальном уровне была поддержка функций, файлы .function, functionpath вместо classpath, переменные типа "ссылка на функцию", functionloader-ы и т.д.



И что тебе это бы дало?

Подумай вот о чем - на уровне железа один хуй у тебя будет императивный CPU, работающий со стейтфул-RAM. Чистенькими остаться не получится, рано или поздно придется делать грязные делишки, так чем JVM не кандидат?
909 2756663
>>56659
Ну вот в шарпе же смогли в делегаты
sage 910 2756667
>>56659
И? В чём проблема?
Ты на функциональные языки программирования намекаешь или на что? Функции как в хаскелле мне нахуй не нужны, мне надо как в плюсах.
911 2756672
>>56667
А че тогда с перегрузки операторов не начал? Это так вообще идеологически добавлять не хотят.
912 2756677
>>56672
такими темпами скоро будет. Там в жабе руководство поменяли или что? Откуда появилась такая тяга к сахарку?
913 2756679
>>56667

>Ты на функциональные языки программирования намекаешь



Да.

>Функции как в хаскелле мне нахуй не нужны, мне надо как в плюсах.



Какие нахер функции в плюсах, чел? Классы, да процедуры.
sage 914 2756680
>>56672
Мне она не особо нужна. Сложно придумать задачу, где с перегрузкой операций становится значительно удобнее писать код. В вузовских лабах на сложение матриц это выглядело прикольно, но в повседневной бизнес-логике это ну никак не применить, здесь и обычное умножение юзается нечасто.
915 2756684
>>56677
Да вроде на большинстве пакетов имя гетца красуется. Так шо сомневаюсь.
Да и пока нормальный сахар.
916 2758489
На неделе первый собес. Дайте все советы которые бы пригодились вам на вашем первом собеседовании
917 2759317
>>58489
Разработать ротик
918 2759649
>>58489
Разработать попку.
919 2759677
>>59317
>>59649
Шарписта издалека видно
image.png18 Кб, 483x146
920 2759716
Хочу сделать подобное, для петпроектика в гите, шоб вкатиться:
Есть некий сервис, с возможностью регистрации. Данные пользователя соответственно: логпасс, инвайт, счет фантиков. Также этот сервис позволяет делать эмиссию и ремиссию денег посредством лотереи. Таким образом, общая масса фантиков будет зависеть исключительно от удачи. Также есть возможность дебета и кредита между юзерами.
Идея в том, что лотерея сама по себе будет производится посредством ГИСЧ, таким образом надо как-то делать так, чтобы этот процесс не жрал все ресурсы.
Каждый пользователь с его счетом будет в реляционной бд постгресс. Также каждый процесс разыгрывания лотереи - twist, будет записываться в nosql бд - mongo. Каждый пользователь связан с другим, посредством инвайтов и это будет отражено в neo4j. Возможно, можно как-то внедрить и редис для кэша и кафку для регулирования того, что ГИСЧ очень медленный. Все вышеописанное - рест сервис. Еще будет mvc на jsp для отрисовки.

Где я проебался, что лучше изменить на этом этапе...?
921 2759754
>>59716

>>mvc на jsp для отрисовки.


хотя бы таймлитф возьми, а лучше ебани реакт/вью

>>Где я проебался


у тебя цель какая? побольше разных технологий засунуть в проект?
922 2759758
>>59754

>хотя бы таймлитф возьми


Ну на единственной вакухе тока jsp. Такшо надо хотя бы посмотреть, что за жсп.

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


Угу, джуновский же проект. Не знаю тока, как будет взаимодействовать спринг секурити реста с сервером отрисовки.
923 2759900
>>59716
ПИЗДЕЦ! ТРИ ебанных базы данных! ТРИ, КАРЛ!!! Эт чё типа микросервисы шоль? Тогда какого хуя одна БД ссылается на другую базу данных. Они вообще не должны знать о существовании друг друга. Да и вообще, что в проекте такого, что не может решить одна постгря или одна монго или один neo4j? Если у тебя с самого начала проект тормозит, значит архитектура построена через жопу и её нужно переделывать, а не ставить костыли в виде кеша или кафки. Микросервисы вообще другую проблему решают. Они решают проблему менеджмента, шоп дать каждой команде по сервису и они съебали разрабатывать независимо друг от друга. Кодеру одиночке никаких особых профитов они не дадут. Если только бОльший контроль над масштабированием и чуть бОльшая гибкость деплоя. Но по факту, то что ты нарисовал это тот же распределенный монолит. От того что ты ебать сделал 3 сервиса, он от этого монолитом быть не перестал. Потому что на фронтэнде откроется страничка, и ему придётся делать 2 запроса - один в users, другой в twistes, потом эти данные компоновать и выводить на фронте. Ты только добавил переусложнений на ровном месте.
924 2759949
>>59900

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


Ебать открытие. Я просто хочу научится работать с бд. Все.

>Тогда какого хуя одна БД ссылается на другую базу данных.


Не понел, где?
В бд users будет тобличка типа
create table users (
id identity primary key,
login varchar(25) not null,
password varchar(25) not null,
amount bigint not null
);
В invites twistes будет поле user, которое relationship на id из users. Впр можно и логин туда хуйнуть, оба поля уникальны.

>ему придётся делать 2 запроса - один в users, другой в twistes, потом эти данные компоновать и выводить на фронте.


По идее, он просто делает запрос на условно 10 верхних документов на полю user и все. Айдишник известен на стороне сервера из сессии, а фронт просто пихнет код авторизации.
925 2759968
>>59949

>код авторизации.


Ну точнее JSESSIONID. Вродь должно работать.
926 2760018
>>59949

>Я просто хочу научится работать с бд


Ты учишься делать ХУЁВУЮ архитектуру, потому что в реальном мире ни у кого нет столько денег, чтобы содержать зоопарк из баз данных. Серверные ресурсы не бесконечные. При том что на каждый запрос будет JOIN который скомпонует данные из нескольких источников. Это расточительно как в плане запросов, так и в плане будущей поддержки. Это по сути, программирование ради самого программирования.

>Не понел, где?


>В invites twistes будет поле user, которое relationship на id из users


Ёпта, ну элементарно обнови ID у пользователя в постгре и у тебя всё посыпиться. Нельзя удалить пользователя, чтобы при этом не остались "мёртвые" ссылки в других базах. И что что они уникальны? Если я удаляю пользователя, мне нужно будет пройти по всем базам и удалить всё что ссылалось на него.

Какбе ебать у тебя базы независимы, для галочки. А по факту очень зависимы.
927 2760042
>>60018

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


Можешь раскрыть мысль?

>Ёпта, ну элементарно обнови ID у пользователя в постгре и у тебя всё посыпиться.


Primary key меняют? Реально?

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


Ну если б я их сделал в виде таблиц, было б ровно тоже самое. И насколько я знаю, реально никто не удаляет, просто флажок делают, мол удалено.

>Какбе ебать у тебя базы независимы, для галочки. А по факту очень зависимы.


Окей, тогда в twistes можно хранить метаданные по конкретной лотерее. А все связи сделать в другой табличке, где будет связь id users один ко многим user, и document один к одному id из бд twistes
create table twistes (
id identity primary key,
user int not null,
document varchar(25) not null
);
А invites хз, мб проще просто перенести все в табличку отдельную, но отслеживать дерево связей, возможно, будет запарнее. Надо подумать. По крайней мере с twistes уже лучше?
928 2760154
>>60018
Надо понимать ты не ответишь? Ну хотя бы пасиба за это.
Приколы-для-даунов-разное-со-знанием-айти-швайнокарась-6158814.jpeg121 Кб, 811x663
929 2760158
>>60042
Ой не неси пургу, твоё решение говно. Заставить бы тебя поддерживать этот проект хотя бы год. Естественно тебе похуй, ты поднял свой петпроект и снёс через день. Главный фейл в том, что ты мешаешь кислое с пресным. Реляционные и nosql базы в одном проекте это как быть поклонником минимал техно и Верки Сердючки одновременно. У реляционок жёсткая структура данных, ты не можешь добавить юзеру новые поля пока не сделаешь `alter table`. Соответственно, тебе придётся ебаться с миграциями. Но зато, ты получишь бОльшую гибкость запросов. Непонятно, зачем здесь нужна большая гибкость? У тебя максимум будет 4 операции - create user, get user, update user, delete user, ВСЁ! Монга здесь прекрасно бы справилась. Непонятно какую глубокомысленную идею ты преследуешь добавляя постгрю? Она будет работать тупо на CRUD. Ок, даже сортировать по таймстампу! Тоже самое с neo4j. Здесь нет никаких ни many-to-many отношений, чтобы нужны были графы. Ты придумал лишнюю ебатню, чтобы при каждом чихе нужно было ходить в другие ДБ и обновлять данные. Это будет добавлять лишнее latency и нужно будет это гасить кешированием.

Короче, из всех баз данных можно было оставить одну монгу. Сделать single collection design https://www.mongodb.com/developer/products/mongodb/mongodb-schema-design-best-practices/ и не разносить данные на пол-галактики.
930 2760186
>>60158

>У тебя максимум будет 4 операции - create user, get user, update user, delete user, ВСЁ!


>Также есть возможность дебета и кредита между юзерами.


Точно ли многодокументные транзакции норма?

>Здесь нет никаких ни many-to-many отношений, чтобы нужны были графы.


Ну как, есть же инвайты. Соответственно будет дерево из юзеров.
Условно A пригласил B, C, D, а D в своюю очередь пригласил еще R, T. Пик крч. Если добавить обратные связи, скажем проценты, то получится пик 2. Не то, чтобы это нельзя было сделать через постргресс, мне просто хотелось попробовать neo4j....

>Короче, из всех баз данных можно было оставить одну монгу.


Мне вообще не нравятся nosql бд, я лучше оставлю реляционную.
931 2760337
>>60158

> Ой не неси пургу, твоё решение говно.


В общем, поясните мне, пожалуйста, почему нельзя мешать nosql бд и релиционные.
По идее редис же есть, для кэширования данных ну или кафка, для консумеров и продусеров. Или это совершенно другое?
В общем-то с той связью, что у меня, будет абсолютно наплевать удаляется метаданные или же нет. Можно будет выводить типа, срок хранения истёк ну или что-то подобное. Ещё можно повесить срок жизни на метаданные, так если и удаляется данные, они в любом случае умрут, вне зависимости от того, что там в реляционной. Единственная проблема будет, если кто-то изменит id в документах и возникнет неконсистентность данных. Я хз, возможно ли такое...

>Заставить бы тебя поддерживать этот проект хотя бы год.


Да похуй, ты главное деньги плати, я-т любое говно поддерживать готов.
sage 932 2760357
Пиздец. Два шизика, которые нихуя не смыслят ни в архитектуре, ни в микросервисах, строчат простыни друг другу.
933 2760364
>>60357
Окей, я и не претендовал на знания, тк ни разу не видел ни одной архитектуры. Так или иначе, обязательно надо выебнуться, что ты не такой и вообще выше всего этого?
934 2760530
Правда ли, что сейчас нельзя писать циклы и надо всё сводить к стрим апи?
Вот, к примеру, типичная задача, где надо что-то посчитать и положить результаты во вспомогательную мапу, а потом по этим данным как-то отфильтровать входящие данные.
Циклами такие задачки решаются элементарно. А вот через стрим апи голову сломать можно. Надо как-то вывернуться, насрать в поток какого-то маловразумительно говна, потом написать действие, которое это говно соберёт и склеит с нужными данными.
Зачем так нужно извращаться?
935 2760532
>>60530
Да, у нас даже линтер настроили так, чтобы циклы не пропускать.
936 2760868
>>60532
Лол, хуя шиза. Земля пухом твоему тимлиду.
937 2760879
>>60530

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



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

На самом деле стрим апи и циклы работают по разному и имеют разный сет достоинств-недостатков. Стримы можно параллелить, циклы - нет (чх, фанатики параллелят их редко). Стримы предоставляют понятный читабельный паттерн мап-редьюс, циклы - нет. В то же время итерации циклов, в отличие от лямбд стримов, можно замыкать на мутабельную переменную, что бывает удобно. Более того - циклы просты и предсказуемы как палка, в то время как по стримам у Тагира Валеева есть два доклада с их "причудами" и один опенсорцный либ StreamEx, дополняющий и исправляющий недостатки оригинальных стримов.
938 2760884
>>60868
Да я напиздел.
939 2761684
Дайте годную мурзилку по устройствам коллекций. Особенно с устройством хешмап.
940 2761708
>>61684
Открываешь сурсы и смотришь. Лучшая мурзилка.
941 2761878
>>61708
Реализацию jvm по двоичному коду постигал?
942 2761992
>>61878
Jvm невозможно постичь не обратившись в рясу схимника
944 2763089
>>61878
Че ебало скривил? Первоисточник всегда лучше всего остального. Делов то - открыть идею и посмотреть небольшой пучок сорцов.
945 2763458
В Intellij IDEA добавили бесплатную чат гопоту (3, не 3,5). Мнение?
946 2763569
>>63458
Похуй.
947 2763640
>>63458
Пруф.
948 2764230
>>63458
Там есть бесплатный плагин на 3.5
image.png232 Кб, 1143x566
949 2765144
Какие-то ахуительные истории пошли. Ну и книга...
950 2765483
>>65144
Хахаха, что за книга?
951 2766790
Делать отдельный конструктор чисто для тестов норм или нет?
952 2766819
>>66790
Только если в тестовом пакедже заэкстендиться со своим конструктором.
953 2767566
>>66790
А что значит - "только для тестов", философски говоря? Тесты - просто частный случай переиспользования сущности под тестом, ни больше ни меньше. Да и что есть тест, если не формализация какого то кейса, который может случиться с тестируемой сущностью в проде? Учитывая вышеозвученные риторические вопросы, ответь - почему дополнительный конструктор, объявленный для сущности, должен и может быть только конструктором для тестов?

По совести, должно быть однохуйственно что это за конструктор. Если по какой то причине это у тебя не так, значит получилась хуйня скорее всего. Давай больше деталей.
954 2768152
>>67566
ChatGPT, спок.
955 2768190
>>68152
Бесполезный мясной мешок обосрался на тесте Тьюринга
Тред утонул или удален.
Это копия, сохраненная 28 июля 2023 года.

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

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