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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 955 94 199
Java Thread #250👳 /java/ Аноним 13/06/23 Втр 05:59:12 2730933 1
TOP-17-kursov-p[...].jpg 290Кб, 1280x853
1280x853
Программирование 😎 — это не столько про анальное крудошлёпство😏, сколько про стиль мышления🤔. Высокоуровневая☝ абстракция, поиск сходных черт, оптимизация — всё это высшие интеллектуальные способности, что образуют такой прочный симбиоз с программированием на Java😜.

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

Предыдущий: >>2728034 →
Аноним 13/06/23 Втр 06:35:08 2730952 2
Аноним 13/06/23 Втр 08:04:02 2730997 3
>>2730933 (OP)
Годный перекат брат ежжи жи ес ☝️
Аноним 13/06/23 Втр 08:10:16 2730998 4
Аноним 13/06/23 Втр 10:32:28 2731086 5
>>2730998
потому что хуесос делал, ща пересоздам
Аноним 13/06/23 Втр 10:34:23 2731088 6
>>2731086
Не надо пересоздавать, просто репортни модеру, чтобы добавил тег.
Аноним 13/06/23 Втр 15:51:52 2731528 7
изображение.png 226Кб, 700x800
700x800
работяги, у меня тут встал вапрос, разве инъекция зависимостей в спринге не противоречит принципу ооп?

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

и еще, нахуя нужен слой сервис, дао обмазывает объекты логикой, контроллер обрабатывает запросы, а сервис тупа по середине? просто штобы вся хуйня не портила вид контроллера?
Аноним 13/06/23 Втр 15:54:13 2731529 8
>>2731528
Он начинает догадываться. Быстро снизьте ему зп, чтобы вместо ООП думал о говяжьях анусах.
Аноним 13/06/23 Втр 15:58:08 2731533 9
>>2731528
> работяги, у меня тут встал вапрос, разве инъекция зависимостей в спринге не противоречит принципу ооп?
В джаве на хую вертели ООП. Была бы поддержка процедур - классы никто бы не юзал.
> и еще, нахуя нужен слой сервис, дао обмазывает объекты логикой, контроллер обрабатывает запросы, а сервис тупа по середине? просто штобы вся хуйня не портила вид контроллера?
Поймёшь, когда увидишь сервисы в 50 раз объёмнее DAO.
13/06/23 Втр 16:07:07 2731539 10
>>2731528
слыш хуйло в другой тред
Аноним 13/06/23 Втр 16:30:28 2731556 11
>>2731533
Если спригодебилы не юзают это не значит что никто не юзает.
Аноним 13/06/23 Втр 16:36:22 2731561 12
Bytecode Execution выполняется после инициализации нестатических полей, выполнение блока инициализации и конструктора или перед этим ?
Аноним 13/06/23 Втр 16:38:35 2731563 13
>>2731528
Посмотри содержимое классов jre, те кто писал классы не юзают ооп.
Аноним 13/06/23 Втр 17:02:05 2731590 14
БАМП
Аноним 13/06/23 Втр 17:21:20 2731624 15
Как вы собрались работать программистами, если даже тред нормально перекатить не можете?
Аноним 13/06/23 Втр 17:29:20 2731645 16
>>2731624
Главное, что я могу перекатить свой хуй в рот твоей мамани.
Аноним 13/06/23 Втр 17:31:50 2731653 17
Аноним 13/06/23 Втр 17:38:28 2731661 18
>>2731528
> что данные объекта должны обрабатываться методами этого самого объекта
добро пожаловать в последователи бугаенко. В идеале не должно быть геттеров и сеттеров, должна быть логика и вычисления прям внутри классов
Аноним 13/06/23 Втр 18:01:11 2731690 19
мда оставили уебский тред с говном в шапке мда...
Аноним 13/06/23 Втр 18:15:37 2731708 20
>>2731645
Ничего ты не можешь, криворучка
Аноним 13/06/23 Втр 18:17:19 2731713 21
>>2731708
Давай анус подставляй. Проверим.
Аноним 13/06/23 Втр 18:22:57 2731721 22
>>2731713
Я не даю всяким неудачникам вроде тебя
Аноним 13/06/23 Втр 19:25:44 2731821 23
>>2731661
В одном классе все приложение.
Аноним 13/06/23 Втр 20:05:32 2731906 24
>>2731533
>В джаве на хую вертели ООП

Не так. Это не в джаве вертели на хую ООП, это джависты вертели на хую ООП. Джависты в прошлом - коболисты, дедам переход с процедур на ООП дался тяжело.
Аноним 13/06/23 Втр 20:07:38 2731908 25
>>2731528
Исторически в живых остался один принцип ООП - "когда нельзя но очень хочется, то можно".
Аноним 13/06/23 Втр 20:13:08 2731917 26
Помню, тут кто-то говорил, что гит можно изучить за вечер под пивко. Дак вот, я уже неделю изучаю гит и до сих пор половины не понимаю.
Аноним 13/06/23 Втр 20:14:19 2731919 27
>>2731561
И статические инициализаторы, и нестатические инициализаторы, и инициализация полей - все это само по себе такой же байткод, какой и весь остальной код. Твой вопрос не имеет смысла, переформулируй.
Аноним 13/06/23 Втр 20:15:31 2731922 28
Парни, а где джава сейчас вообще используется в коммерческой разработке?
Сбер? Там переходы на ГО. Джава это легасиговно.
Тинькофф? Там даже на си решетку переходят.
Яндекс? Ровно один проект, причем самый днищенский маркет.
ВК? Пара проектов
И так можно до бесконечности...
Аноним 13/06/23 Втр 20:19:44 2731927 29
>>2731922
>Тинькофф? Там даже на си решетку переходят.
Ой пиздабоооол
Аноним 13/06/23 Втр 20:21:55 2731930 30
>>2731922
> Сбер? Там переходы на ГО. Джава это легасиговно.
Ты про какой Сбер? В моём Сбере дохуя новых проектов пишут на 11/17 жабе, а Go только у пары хипстеров с геймификацией, хайпом HR и другими нахлебниками, не относящимися к основному профилю организации.
Аноним 13/06/23 Втр 20:29:56 2731939 31
Аноним 13/06/23 Втр 20:45:10 2731950 32
>>2731917
У тебя толерантность к алкоголю высокая значит. Попробуй под водяру
Аноним 13/06/23 Втр 21:07:53 2731979 33
>>2731917
Кто бы что ни говорил, но "Git за вечер" можно выучить, только поебавшись перед этим несколько месяцев с SVN, Mercurial, CVS, Perforce и другим подобным говном. Множество способов сделать одно и то же, дохуя нюансов, дохуя новых концепций, которые без реального опыта сложно понять.
Аноним 13/06/23 Втр 21:10:13 2731981 34
>>2731979
>с SVN, Mercurial, CVS, Perforce

с ClearCase...
Аноним 13/06/23 Втр 23:22:44 2732158 35
16706211520170.jpg 167Кб, 1080x946
1080x946
>>2730933 (OP)
Привет. Что скажешь про разработку М1 air макбуке?
Аноним 13/06/23 Втр 23:23:06 2732160 36
Аноним 13/06/23 Втр 23:32:06 2732163 37
.png 172Кб, 487x469
487x469
>>2732158
Если ты ищешь себе самый дешёвый макбук тупо ради бренда, лучше сразу откажись от этой идеи. Нормально кодить ты на нём не сможешь.
Аноним 13/06/23 Втр 23:39:15 2732166 38
Аноним 13/06/23 Втр 23:45:39 2732172 39
>>2732166
Жабу сложно прокормить. Жаба голодная, жаба много кушать хочет.
Аноним 13/06/23 Втр 23:46:35 2732173 40
>>2732172
На каком сам разрабатываешь?
Аноним 13/06/23 Втр 23:51:55 2732177 41
>>2732173
Венда, i7, 32 ОЗУ, SSD. Идея часто подтормаживает.
Аноним 14/06/23 Срд 00:02:22 2732193 42
>>2732177
Понятно. Мне бы хотелось прочитать мнение именно пользователя макбука, т.к. у пользователей виндовых ноутбуков в превалирующем большинстве случаев мнение ангажированно и необъективно. Запускал идею, докер, постгрес сервер на прошке 2013 года, и всё работает более-менее сносно, при тех параметрах что у него есть. Боюсь представить, что там будет на современном железе.
Аноним 14/06/23 Срд 00:03:46 2732196 43
>>2732177
> Идея часто подтормаживает.
Как интересно. У меня i5 10-го поколения, и ничего не подтормаживает, хотя могу запускать по 3 штуки одновременно (бэкенд, фронтэнд и crm).
Аноним 14/06/23 Срд 00:31:24 2732238 44
>>2732193
У меня 8гб, если запускать идею, и особенно андроид эмулятор, то из свопа вылезать не будешь. На 16гб должно быть полегче
Аноним 14/06/23 Срд 01:01:40 2732252 45
>>2732158
Мы с тобой на ты не переходили, чмо
Аноним 14/06/23 Срд 01:02:54 2732253 46
Аноним 14/06/23 Срд 01:06:21 2732256 47
Аноним 14/06/23 Срд 11:20:48 2732465 48
>>2732238
Да, эмулятор очень много требует ресурсов. Но я обычный бэкендер, поэтому мне должно быть достаточно 8 гб.
Аноним 14/06/23 Срд 14:32:35 2732694 49
>>2732465
Эти 8 гигов у тебя хром выжрет в одно ебало, а тебе еще идею кормить. А это - еще минимум комфорта. По максимуму прикольно еще докер с СУБДшками держать под рукой.

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

Я в свое время на 16гиговом маке сидел, мне не хватало, 8 это вообще забей.
Аноним 14/06/23 Срд 14:43:40 2732709 50
>>2732694

И это еще при условии что ты свалил. Если ты до сих пор в РФ, с маком ты - анальный заложник пидарасов, которые тебе в любой момент поддержку выключат в рамках очередного витка санкций, и будешь как дурак, отвалимши кучу баксов пидарасам за брэнд, через 30 слоев выпиена доказывать всем что ты не верблюд.
Аноним 14/06/23 Срд 14:50:04 2732717 51
>>2730933 (OP)
Программирование 👩💻 — это не столько про анальное крудошлёпство 🍩👋, сколько про стиль мышления🤔.
Высокоуровневая абстракция 🙏🛐, поиск сходных черт 🦧🔎🐷🔰👶, оптимизация 🐒📉💥 — всё это высшие интеллектуальные способности 🧠, что образуют такой прочный симбиоз 👉👌 с программированием на Java ☕😜.
Аноним 14/06/23 Срд 14:57:16 2732724 52
>>2731917
я вчера из за этого гита удалил проект который ебашил несколько месяцев, хорошо что в идее есть история
Аноним 14/06/23 Срд 15:31:32 2732759 53
>>2732177
Идея подтормаживает потому что за подтормаживания отвалили кучу бабок жидам, а не потому, что ресурсов пк не хватает.
Аноним 14/06/23 Срд 15:33:20 2732764 54
>>2731917
А что там учить? git commit -a -m "5922.1.1" и git pull origin master.
Аноним 14/06/23 Срд 15:59:45 2732786 55
>>2730933 (OP)
У вас есть стек любимых технологий, которые вы опробовали на многих проектах и он каждый раз давал вам качественный результат? Какой он?
Аноним 14/06/23 Срд 16:01:47 2732787 56
Аноним 14/06/23 Срд 16:21:26 2732802 57
Аноним 14/06/23 Срд 17:47:18 2732880 58
Аноним 14/06/23 Срд 18:10:21 2732921 59
>>2732787
Эта хуйня походу подыхает после начала сво. В ковидные денежные годы у нас жадный кабаныч выделил бабок дотнетчикам и увеличил им команду, но после всех событий тот проект закрыли и челов переучили на спринг
Аноним 14/06/23 Срд 18:41:26 2732957 60
Аноним 14/06/23 Срд 18:45:08 2732958 61
>>2732764
Я слышал, что надо ещё ветки какие-то делать
Аноним 14/06/23 Срд 20:27:23 2733109 62
>>2732958
git create branch foo
или
git branch foo
или
git branch create foo
или
git checkout foo
так падажжи ебана
Аноним 14/06/23 Срд 20:28:22 2733113 63
Аноним 14/06/23 Срд 20:29:19 2733115 64
>>2731919
>переформулируй
Bytecode Interpreter начинает свою работу после выполнения конструктора ?
Аноним 14/06/23 Срд 20:32:43 2733124 65
>>2732724
У меня так же было недавно.
Аноним 14/06/23 Срд 20:34:41 2733129 66
Аноним 14/06/23 Срд 20:34:46 2733131 67
>>2733109
Ещё там мержить и ребейзить надо уметь и понимать плюсы и минусы обоих подходов. Я вот мерж более менее понял, а от ребейза у меня голова разболелась.
Аноним 14/06/23 Срд 20:34:53 2733134 68
>>2733109
> create branch
Специально для джавистов надо сделать систему контроля версий, которой будет нереально пользоваться без автодополнения. Типа gitVersionControlSystemCreateBranchIfNotExistsGayLongCocksSuckRequiredTransactional.
Аноним 14/06/23 Срд 20:36:54 2733142 69
Аноним 14/06/23 Срд 20:38:18 2733147 70
>>2733134
а ты типа не джавист? хуле делаешь в треде? пошел нахуй смеяться он еще над нами будет
Аноним 14/06/23 Срд 20:42:20 2733159 71
>>2733142
В чём проблема создать легковесную ИДЕ? Почему нужен топовый комп, чтобы писать обычные текстовые файлики?
Аноним 14/06/23 Срд 20:43:45 2733167 72
>>2733159
открой блокнот да пиши еблан
ток потом не жалуйся что тяжело AbstractHuiPizdaZalupaBeanFactoryPostProcessorInitializerBean писать
Аноним 14/06/23 Срд 20:46:13 2733173 73
>>2733167
Ага, написали сначала абстрактные хуйзалупы и теперь пишут иде для героического превозмогания.
Аноним 14/06/23 Срд 20:46:27 2733175 74
>>2733167
Я не могу писать в блокноте, потому что сейчас требование везде - это идея. Современный джавист - это идея-разработчик. Все гайды по джаве - это как найти нужную кнопочку в идее.
Вот буквально сегодня искал инфу по JUnit и 90% гайдов - это про идею как там вызвать нужное меню и прожать нужные галочки, чтобы сформировались заготовки тестов.
Аноним 14/06/23 Срд 20:48:41 2733183 75
>>2733175
иди нахуй шарпоблядь
Аноним 14/06/23 Срд 20:50:37 2733187 76
>>2733175
Нужна проприетарная серверная версия идеи, как рантайм для выполнения IdeaLang. Будут ставить серверную идею вместо серверов приложений, и на ней хостить приложуху.
Аноним 14/06/23 Срд 21:25:00 2733250 77
Screenshot from[...].png 33Кб, 477x402
477x402
Screenshot from[...].png 93Кб, 1007x827
1007x827
>>2733115

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

Зырь.

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

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

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

Все это - байткод. Включая конструктор. О каком bytecode execution'е ты спрашиваешь, который идет раньше или позже чего то, если ВСЕ из тобою вышеперечисленного - байткод? Твой вопрос тупо - оксюморон и не имеет смысла. Опиши чего добиться пытаешься, какую задачу решаешь.
Аноним 15/06/23 Чтв 01:01:15 2733404 78
>>2733134
Принципиально не пользуешься автодополнением, чтобы показать, кто здесь тру петушарпер?
Аноним 15/06/23 Чтв 01:10:45 2733409 79
Кстати, мавена это тоже касается. А то сделали, понимаешь, удобную тулзу для запуска из командной строки, слишком просто.
orgApacheMavenBuildPomXmlProjectHugeNiggaPenisInsideYourButtWithCleaningTargetDirectoriesAndInstallationToLocalRepository
Аноним 15/06/23 Чтв 01:16:41 2733412 80
Впрочем, набирать неймспейсы в помнике по памяти и так больно.
Аноним 15/06/23 Чтв 02:10:39 2733429 81
Че там на счет зп студенту/еще пока шкиле? Разраебка плагинов для майнкрафта?(срубакит, бумага, форже, фабрика)?
Аноним 15/06/23 Чтв 02:25:00 2733438 82
>>2733429
> Че там на счет зп студенту
40к до вычета налогов.
> шкиле
Бесплатная рабочая сила.
> Разраебка плагинов для майнкрафта
Платить будешь ты, ещё и должен останешься.
Аноним 15/06/23 Чтв 06:46:46 2733497 83
Какая сейчас средняя зепка у миддла с 3х летним опытом? Где-то блять 200-250 указывают, где-то 120-130, какие-то поехавшие вообще 100-120 рисуют. Кабаны-суки в вакансиях ничего не указывают, только обещания "платить в среднем по рынку", а какая блять эта средняя цена
Аноним 15/06/23 Чтв 07:45:05 2733512 84
>>2733497
Явно меньше чем на великом дотнете (на котором пишут весь импортозамещающий софт топ конторы), потому что на вакансию джава миддла приходит по 500 челов в неделю
Аноним 15/06/23 Чтв 08:47:07 2733548 85
>>2733512
Схуяли испортозамещение пишут на дотнете?
Аноним 15/06/23 Чтв 08:50:47 2733549 86
>>2733512
>дотнет
>импортозамещение
/0
Аноним 15/06/23 Чтв 13:38:34 2733829 87
>>2733497
>>2733512
>на вакансию джава миддла приходит по 500 челов в неделю
Интересно, кого больше, джунов или мидлов ?
Аноним 15/06/23 Чтв 14:17:48 2733886 88
Хрюши это HR, а кабанчики - ?
Аноним 15/06/23 Чтв 14:23:55 2733897 89
Аноним 15/06/23 Чтв 14:24:21 2733898 90
>>2733159
Есть Eclipse и NetBeans.
А ещё можно скачать intellij idea очень старую версию года 2016-го например.
Аноним 15/06/23 Чтв 14:24:44 2733899 91
Аноним 15/06/23 Чтв 15:25:30 2733947 92
>>2733159
Встречный вопрос. В чем проблема не быть нытиком ебаным, и смотреть на вещи обьективно? Идея тяжелая по двум причинам:
1. Плагины
2. Анализаторы

И то и другое отключается, после чего идея жрет не больше браузера. Если для тебя и этого мало, ной дальше - "в чем проблема сделать легковесный браузер в 2023м году", блять.
Аноним 15/06/23 Чтв 15:27:37 2733949 93
>>2733947
>>2733159

Сука, в чем проблема комп себе нормальный купить, затупки блять? Оператива уже с десяток лет стоит как семечки в ларьке.
Аноним 15/06/23 Чтв 15:29:30 2733953 94
>>2732177
Майнеров нахватал чай. Линух ставь.
Аноним 15/06/23 Чтв 16:44:49 2734071 95
Аноним 15/06/23 Чтв 16:45:58 2734075 96
>>2733949
Молодец, умник. Одна видеокарта 200 тысяч стоит.
Аноним 15/06/23 Чтв 17:41:19 2734173 97
>>2733947
Каких их отключить?
Аноним 15/06/23 Чтв 17:43:43 2734175 98
>>2734173
Переписыванием с джавы на нормальный язык.
Аноним 15/06/23 Чтв 17:53:03 2734182 99
Аноним 15/06/23 Чтв 18:33:43 2734233 100
Аноним 15/06/23 Чтв 18:35:26 2734236 101
>>2734233
Ахуел? К слову, что лучше в плане оптимизации clr от божественного Microsoft или древний HotSpot?
Аноним 15/06/23 Чтв 20:25:02 2734352 102
>>2730933 (OP)
Как в принципе глубоко понимать фреймворки по типу спринга? Если нужно что-то сделать, что выходит за границы гайдов и их кривой документации, которая не покрывает и сотой части того, что происходит в реальном проекте, то тут же начинаешь закапываться в интернете и перелистывать сайт за сайтом, в попытках накопать информацию. При этом с годами лучше не становится и спринг давит своей монструозностью и нелепостью. Какие-то совсем простые вещи делаются на автомате. Начинаешь копать глубже и вот уже дока этого не покрывает, лезешь на гитхаб ишьюс, стековерфлоу и прочие сайты, где люди постят воркэраунды, багрепорты и прочее
Аноним 15/06/23 Чтв 20:26:27 2734353 103
>>2734352
Бля, а как в него вообще вкатиться? Вот думаю в июле найти работу, а спринг нихуя не знаю.
Аноним 15/06/23 Чтв 20:40:00 2734365 104
Аноним 15/06/23 Чтв 20:57:31 2734388 105
>>2731528
Противоречит. Поэтому ООП идет нахуй.
Аноним 15/06/23 Чтв 21:01:15 2734396 106
>>2731906
>>Джависты в прошлом - коболисты
Те кто еще живой переходили на жабу/шарп с плюсов, иногда с паскаля. Кобол на западе был, в РФ его никто и не видел даже.

>>переход с процедур на ООП
ОПП остался где то в жабе 7
Аноним 15/06/23 Чтв 21:07:20 2734400 107
>>2733109
git checkout -b foo
но это не точно, я в идее кнопочку New Branch тыкаю

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

>>2733134
>>Специально для джавистов надо сделать систему контроля версий
так в идее все есть - кнопку нажал и все работает. не надо с консольками пердолиться. и автодополнение в комментах есть.
Аноним 15/06/23 Чтв 21:14:40 2734407 108
>>2733497
В начале года мидл был 160к, щас не смотрел - глянь по хабру там с весны мало что изменилось.

>>миддла с 3х летним опытом
я бы 200+ запрашивал, но сам я мидл с годом опыта и даже на 160 не вышел.
Аноним 15/06/23 Чтв 21:16:35 2734409 109
>>2733947
>>не быть нытиком ебаным
>>смотреть на вещи обьективно
>>2ch.hk
/0
Аноним 15/06/23 Чтв 21:18:55 2734410 110
>>2734075
Ты идею запускать собрался или битки майнить параллельно с играми в 4к? Нахуя тебе видюха дороже 20к?
Аноним 15/06/23 Чтв 21:23:06 2734415 111
>>2734352
Ну посидел денег в инете - нашел ответ. Че сложного то? Ясен хуй в доке тебе не напишут что мы тут проебались и в версии 2.28 был баг, но в 14.88 его починили. А если что - вот костыль.
Аноним 15/06/23 Чтв 22:01:37 2734464 112
>>2734075
Ты дебил?

>>2734410
Бля, на 20к еще угаматься можно во что-то не особо тяжелое. А для девелопмента в идее встройки или затычки за косарь хватит за глаза.
Аноним 15/06/23 Чтв 22:07:20 2734470 113
>>2734173
Если ты ебаную менюшку сам не найдешь и в гугле забанен, нахуя ты вообще кодер и дышишь?
Аноним 15/06/23 Чтв 22:11:28 2734474 114
>>2734396
>Те кто еще живой переходили на жабу/шарп с плюсов, иногда с паскаля. Кобол на западе был, в РФ его никто и не видел даже.

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

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

И куда оно по твоему делось?
Аноним 15/06/23 Чтв 22:25:34 2734488 115
>>2734352
>Если нужно что-то сделать, что выходит за границы гайдов и их кривой документации

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

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

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

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

Еще, учись дебажить. Развивай общую эрудицию касательно того, как работает джава и ее отдельные фичи, тогда механизмы спринга будут понятны прям из кода и гайдов. Ну и возьми за привычку спрашивать конкретику, а не абстрактную хуету, иначе с 75% вероятностью будешь послан нахуй как троль-шарпист.
Аноним 15/06/23 Чтв 22:30:40 2734492 116
>>2734415
Что курьезно: в доке не напишут, но в changelog'ах - вполне. Не говоря уже о том, что багтрекер открыт и доступен всем.
Аноним 15/06/23 Чтв 23:42:01 2734564 117
Шалом, анон. РУками написал скуль и надо подружить это с энтитями
Как сказать энтити через какую промежуточную таблицу делается many-to-many, если я не хочу делать для этой таблицы отдельную энтити? Ее вообще не должно быть видно.
типа такого
@ManyToMany(mappedBy = "roles", table="r_user_role")
private Set<User> users;
Аноним 15/06/23 Чтв 23:54:06 2734587 118
ну че пидарасы хуевы
Аноним 15/06/23 Чтв 23:57:28 2734594 119
Аноним 16/06/23 Птн 00:00:29 2734598 120
>>2734564
JoinTable же. Что-та я затупил
Аноним 16/06/23 Птн 00:53:42 2734623 121
>>2731528
Принципы ООП в целом абстрактная хуйня для академиков. Им следует только всякая студентота и зелёные.
Если понаблюдаешь за своими дедами, поймёшь, что в реальной разработке всякие принципы и паттерны практически никак не используются.
Опытные прогают по ТЗ, без переусложнения на ровном месте. Архитектура кода также на 80% складывается из ТЗ и текущей архитектуры. Никаких значительных изменений там нет и быть не должно, если ТЗ конечно пишут не полные наркоманы, что в бизнесе исключено: это слишком дорого.
В принципы и паттерны код никто, ну кроме студентоты, специально не укладывает. В реальной разработке никаких принципов в принципе нет: как удобно, так логику и разбивают.
Просто так получается, что большинство таких решения так или иначе можно описать этими принципами и паттернами, поэтому они и существуют. Но в реальной разработке их используют не для проектирования, и именно для описания, для объяснения.
Т.е. ситуация диаметрально противоположная ожиданиям студентоты: они думают что принципы первичны, что естественно, ведь их с них и начинали учить, чтобы объяснять теорию опираясь на некий общепринятый словарь, но на самом деле принципы вторичны, их используют только для объяснения устройства и работы кода, как раз как общепринятый словарь, чтобы все понимали о чем речь.
А все потому, что разработка по своей сути процесс нестандартный, творческий. Весь код принципами описать невозможно, только какие-то отдельные высокоуровневые составные части. На низком уровне слишком много скрытых нюансов.
Поэтому у студентоты постоянно горит от реального кода: все не так, как учили, везде не по канону, везде нарушают.
До них начинает доходить, только когда они увидят, что этот код написан не зеленым рукожопом, а опытным дедом, который тебя за пояс заткнет в любой задаче.
Опять же причина воспламенений в том, что студентота зелёная: она ещё не видит всей картины в целом, и мыслит только базовыми теоретическими примитивами, воспринимает все слишком близко и буквально.
Тот же DI например с точки зрения принципов лютый треш: код, который занимается тем, что с помощью грязных хаков залазит внутрь объектов и меняет их состояние произвольным образом, игнорируя области видимости и любые правила приличия. И формально это так и есть. Но существует он и используется не в рамках ООП принципов, а в перпендикулярной им плоскости: это архитектурный компонент, его задача сформировать архитектуру приложения, а не следовать ООП принципам. Его никто не наследует, и вызывают только один раз за все приложение: в ООП он вообще никак не используется. Зато он обеспечивает возможность существования ООП в приложении, пусть и путем некой магии, для непосвящённых.
И в целом такие решения вполне оправданы. Конечно в реальности они встречаются редко, но только из-за того, что решают нерешаемые легальными способами задачи, поэтому знать их нужно: это такой же инструмент, как и остальные. В 99 задачах он не пригодится, но зато в одной выстрелит, сэкономит много сил и времени, позволит оставить архитектуру более чистой и простой, и тем самым многократно окупит затраты на свое изучение.
Аноним 16/06/23 Птн 02:44:36 2734662 122
c#.jpg 85Кб, 1280x720
1280x720
Это правда что C# .net программистам платят больше?
И то что вероятность получить работу выше?

Вроде же наоборот - Java Spring топовый фреймворк, стандарт для банковских приложений.
Кто врет?
Аноним 16/06/23 Птн 03:15:25 2734665 123
>>2734662
Платят столько же, вероятность получить работу ниже.
Аноним 16/06/23 Птн 03:39:15 2734670 124
>>2734662
Джависты не срут в шарпотреде,а шарпомухи срут в джаватреде. Выводы очевидны
Аноним 16/06/23 Птн 03:49:06 2734671 125
Аноним 16/06/23 Птн 06:03:24 2734677 126
>>2734671
Мне загуглить за тебя количество вакансий?
Аноним 16/06/23 Птн 06:47:20 2734681 127
>>2734623
От тебя говном воняет, чел...
Аноним 16/06/23 Птн 08:33:02 2734706 128
Для андройд-разработки Джава или Kotlin? Или Жаба > Kotlin? Или чисто Kotlin? Мнение?
Аноним 16/06/23 Птн 09:44:09 2734747 129
Аноним 16/06/23 Птн 09:48:44 2734755 130
<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.
Это так?
Аноним 16/06/23 Птн 10:08:44 2734770 131
>>2734755
<?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
Аноним 16/06/23 Птн 10:16:35 2734776 132
>>2734770
>Интележи Айдия подчеркивает красным
Попробуй в Эклипсе
Аноним 16/06/23 Птн 10:45:46 2734795 133
>>2731979
Выучить - тупо звучит. Это не то что нужно учить или зубрить. Это просто прикладной инструмент - его надо осваивать, а не учить. А то некоторые его по 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% времени, внимания и мотивации что-то делать.
Я не верю что кто-то не может понять что есть коммит, это же простейшая концепция.
Аноним 16/06/23 Птн 11:28:37 2734863 134
>>2734755

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

пиздит ИМХО.

Другой вопрос - почему у тебя JUnit настолько древний: аж третий, когда давным давно есть пятый.
Аноним 16/06/23 Птн 11:40:04 2734875 135
Аноним 16/06/23 Птн 14:16:58 2735091 136
Нужно обработать ответ от сервиса, который возвращает 200 при ошибке, как это сделать? Для вызова рест эндпоинтов использую фигн клиент
Аноним 16/06/23 Птн 14:26:07 2735098 137
>>2735091
Смотреть тело ответа.
Аноним 16/06/23 Птн 14:33:37 2735107 138
>>2735091
Вызови через курл. Воткни дебаг в контроллер и проследи по шагам как реквест выполняется.
Аноним 16/06/23 Птн 14:34:30 2735109 139
>>2735091
if response == 200:
raise Exception
Аноним 16/06/23 Птн 14:43:08 2735114 140
>>2735098
Да понятно, бля пиздец, что за кретин придумал так делать?
Аноним 16/06/23 Птн 14:45:57 2735118 141
>>2735114
Нормальный разраб, который использует транспортный протокол HTTP по назначению.
Аноним 16/06/23 Птн 15:01:07 2735136 142
>>2735118
HTTP 200 OK
{"error": "yes", "errorMsg": "balans ne sviden!"}
Аноним 16/06/23 Птн 15:29:23 2735180 143
>>2735091
if (response.body.code != "ok") then
Аноним 16/06/23 Птн 15:30:01 2735183 144
>>2735114
а как ты различишь реальную ошибку и бизнес-ошибку, которая не ошибка?
Аноним 16/06/23 Птн 15:45:17 2735218 145
>>2735183
Статус кодов дохуя, найдется, что вернуть в случае ошибки, обрабатывать без кодов, это пиздец хуйня тупая
Аноним 16/06/23 Птн 15:58:58 2735242 146
>>2735218
вставляешь такой код 400 при бизнес-ошибке
@
фронт парсит ответ при 400
@
приходит реальная 400 с хтмл
@
фронт, жидко пукнув, умирает
Аноним 16/06/23 Птн 16:04:02 2735249 147
>>2735242
Не ставь код 400 при бизнес ошибке, в чем проблема?
Аноним 16/06/23 Птн 16:06:19 2735256 148
>>2735242
>приходит реальная 400 с хтмл

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

Во вторых, нехуй без хэдера Accept запросы слать с клиента.
Аноним 16/06/23 Птн 16:12:28 2735265 149
>>2735256
>>2735249
поэтому я шлю 200, и в ответе статус успеха.
И клиент знает что парсить ответ можно только при 200
Аноним 16/06/23 Птн 16:27:29 2735281 150
>>2735256
> Во вторых, нехуй без хэдера Accept запросы слать с клиента
Раскрой мысль
Аноним 16/06/23 Птн 16:37:18 2735290 151
>>2735265
Не "поэтому", а потому что тебе влом как следует изучить HTTP и как настраивать свой фреймворк.

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

>>2735281

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

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

Хедер есть такой в HTTP. Accept называется. Если ты реквест пошлешь с "Accept: application/json", сервер не пришлет тебе никакого HTML. Или JSON пришлет, или 415-й статус код, если MIME на сервере не поддердживается.
Аноним 16/06/23 Птн 16:51:20 2735316 152
>>2735290
>Не "поэтому", а потому что тебе влом как следует изучить HTTP
какой http код отвечает за "отчёт не сведён"?
Аноним 16/06/23 Птн 16:52:39 2735319 153
>>2735290
ну пришлет тебе json с кастомным форматом, фронт на нём тоже сломается
Аноним 16/06/23 Птн 17:08:50 2735360 154
>>2735316
Я те вроде уже все сказал - делай что хочешь. Не нравится следовать RESTful - городи поверх HTTP свои правила, только не удивляйся что твое API ненавидят и нахуй шлют с такими инициативами. От меня тебе че еще надо? Те сказали что двухсотка на ошибки - не RESTful и не канон: что ты в ответ доказать то пытаешься? Что ты - хуи не сосал? Что RESTful нинужон? Что 200 - это ок но не всегда? Что?

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

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

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

>>2735319

А ты не оставляй дефолтный формат. Делай свой раз дефолтный не подошел.
Аноним 16/06/23 Птн 17:09:52 2735362 155
>>2735360
>один из 4 кодов
один из 4xx кодов
Аноним 16/06/23 Птн 17:18:21 2735370 156
>>2735319

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

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

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

> Если статус - 404, один хуй ясно что запрашиваемая клиентом сущность не найдена - зачем в боди то лезть?
PUT /order/adress
404
оно относится к order, к adress, к неправильному урл или отсутствию приложухи на сервере?
Аноним 16/06/23 Птн 17:36:55 2735406 158
Дежурно напоминаю, что HTTP предназначен для передачи гипертекста и коды состояния HTTP должен отдавать веб-сервер, а не приложение, которое вы накостыливаете поверх HTTP.
Аноним 16/06/23 Птн 17:39:42 2735408 159
200.png 126Кб, 900x675
900x675
Аноним 16/06/23 Птн 17:41:59 2735411 160
>>2735399
>фронту надо сообщить что данная операция неуспешна по причине "бюджет не сведён". Какой http код отвечает за несведённый бюджет?

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

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

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

>PUT /order/adress - 404

Это троллинг тупостью чтоли? Ты PUTом ресурс запрашиваешь чтоли, чтобы оно тебе отвечало "The server can not find the requested resource", или что?
Аноним 16/06/23 Птн 17:55:21 2735430 161
>>2735411
> У тебя боди есть - вот там и сообщай что хотел клиенту. Только не со статусом 200, а со статусом 500.
клиент читает боди при 500
@
приходит реальная 500 с заглушкой
@
фронт, жидко пёрнув, умирает

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

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

>Это троллинг тупостью чтоли?
шлёшь
PUT /order/10/adress/20
body {newValue}
404 относится к ордеру, к адресу, к приложухе, или что ты урл неправильно сформировал?
Аноним 16/06/23 Птн 18:12:12 2735452 162
>>2735430

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

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

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

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

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

Ты не шаришь, иди штудируй стандарты. Или не штудируй, мне похуй.
Аноним 16/06/23 Птн 18:48:49 2735489 163
>>2735411
>Это троллинг тупостью чтоли?
ДА
нахуй ты ему отвечаешь ебланище
Аноним 16/06/23 Птн 18:54:47 2735496 164
>>2735489
Хочу и отвечаю, собака сутулая
Аноним 16/06/23 Птн 19:03:06 2735508 165
>>2735496
Может и хуй мне пососешь?
Аноним 16/06/23 Птн 19:23:01 2735538 166
.jpg 44Кб, 603x604
603x604
Аноним 16/06/23 Птн 19:24:11 2735543 167
>>2735538
Ну ты и гей.... Да, но я пошутил.
Аноним 16/06/23 Птн 21:17:34 2735721 168
>>2735290
Я тупанул чутка,Accept Header это же MIME type он же Content Type?
Аноним 16/06/23 Птн 21:20:07 2735724 169
>>2735543
Пидорас,иди в шарпотред
Аноним 16/06/23 Птн 21:23:27 2735728 170
>>2735724
Но я жавакор хорошо знаю... Вот бы кто мне помог со спрингом..
Аноним 16/06/23 Птн 21:27:32 2735730 171
>>2735721
не. Content Type это сервер отсылает, обозначая тип данных. А Accept Header это клиент, типа я могу обрабатывать только такой формат. Но это совет, мало кто эти хедеры читает
Аноним 16/06/23 Птн 21:27:37 2735731 172
Аноним 16/06/23 Птн 21:28:22 2735732 173
>>2735730
И когда accept и content type не совпадают случается пиздец?
Аноним 16/06/23 Птн 21:29:04 2735733 174
>>2735730
Content-Type может быть еще и в реквесте, если этим реквестом ты через POST или PUT передаешь контент на сервер. По этому хедеру сервер будет судить - что ты ему передал.
Аноним 16/06/23 Птн 21:31:09 2735734 175
>>2735728
Чем тебе помочь? Добить чтоб не мучался?
Аноним 16/06/23 Птн 21:32:40 2735736 176
>>2735732
если ты заведуешь ручкой - то ты эти хедеры и должен обрабатывать. Но проблема что если на сервере или на гейтвеях проблемы, то до ручки запрос не доходит, и там уж как реализованы все эти нгинксы и томкаты, хз читают ли они эти хедеры и умеют ли они отдавать заглушки в жсоне. Я вот сомневаюсь.
Аноним 16/06/23 Птн 21:34:21 2735738 177
image.png 13Кб, 215x206
215x206
>>2735731
Ета параша.
>>2735734
Нинаю, морально поддержать(?) Поотвечать на тупые вопросы.
Аноним 16/06/23 Птн 21:35:09 2735741 178
>>2735736
Ну вот присылает мне клиет с access'ом xml а мой эндпоинт отдает Json. В консоли я увижу что-то типо: Resolved: [Incorrect type],а клиент что увидит?
Аноним 16/06/23 Птн 21:35:31 2735742 179
Аноним 16/06/23 Птн 21:36:06 2735743 180
>>2735738
Чтобы отвечать на тупые вопросы, надо задать тупые вопросы. А выше по треду был только спор по рестфул душный какой то. Где твой тупой вопрос?
Аноним 16/06/23 Птн 21:41:07 2735753 181
image.png 47Кб, 1104x515
1104x515
>>2735742
Та за шо.
>>2735743
Он в процессе формирования. Просто по своему опыту помню, что я вот про эту простейшую семантику даже не знал, но тем не менее что-то писал многопоточное. Ахуенные рассуждения у меня, конечно, выходили.
Чувствую, что со спрингом будет x2.
Аноним 16/06/23 Птн 21:41:29 2735754 182
>>2735741

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

Твой эндпойнт не просто отдаст джсон, он отдаст его с хедером Content-Type: application/json. По которому потребитель уже имеет шанс понять что пошло чето не так. Помимо этого есть хедер Server, и ты еще своих хедеров набашлять можешь для разных нужд.
Аноним 16/06/23 Птн 21:42:20 2735755 183
BvADn5n0ar.png 56Кб, 1172x898
1172x898
>>2735736
двач например игнорирует этот акцепт
Аноним 16/06/23 Птн 21:43:36 2735758 184
>>2735741
Accept это только совет, ты можешь его игнорировать и вернуть в ответ хтмл. Полиция хедеров к тебе не приедет
Аноним 16/06/23 Птн 21:46:36 2735760 185
>>2735755
Ну а спринг - не игнорирует.

Есть положняк под названием HTTP Content Negotiation, эти хедеры все - оттуда.
Аноним 16/06/23 Птн 22:06:18 2735784 186
pNyRO7tH3w.png 51Кб, 1173x905
1173x905
>>2735760
спринг это ты. Томкат тоже игнорирует. По поводу того что где-то там что-то написано - на заборе тоже много что написано
Аноним 16/06/23 Птн 22:09:30 2735791 187
>>2734755
>>2734795
Я устал.
Одного понять не могу - как вы можете днями напролет заниматься этим?
Буквально на начальном этапе создания базы данных и связывания ее с IDE запутался, ничего не робит, и гугл не помогает решить вопрос.
Вам нравится такими вещами заниматься?
Аноним 16/06/23 Птн 22:10:46 2735792 188
>>2735755
ну так двач буквально накодила обезьяна
Аноним 16/06/23 Птн 22:44:57 2735851 189
Аноним 16/06/23 Птн 22:49:11 2735863 190
>>2735758
Как в пизду совет,это же буквально метаинформация о запросе
Аноним 16/06/23 Птн 22:57:34 2735879 191
>>2735851
В каком плане? Определение из java concurrency in practic. Если инструментально подходить, то база знаний, которую я сделоль, пока читал её.
Аноним 17/06/23 Суб 01:07:19 2736027 192
Аноним 17/06/23 Суб 01:09:14 2736029 193
>>2736027
Ты со спрингом-то поможешь? А то убью, заткнись.... Прогресс!
Аноним 17/06/23 Суб 04:42:17 2736054 194
ПОЧЕМУ У МЕНЯ ГРАДЛ ХЕЛЛОВОРЛД СОБИРАЕТ ЗА ПОЛТОРЫ МИНУТЫ?
Аноним 17/06/23 Суб 04:44:13 2736055 195
>>2736054
Торопишься куда-то?
Аноним 17/06/23 Суб 05:01:37 2736057 196
image.png 276Кб, 1122x1122
1122x1122
>>2736055
С каждой такой программой мы всё дальше отдаляемся от бога.
Аноним 17/06/23 Суб 06:49:55 2736068 197
Аноним 17/06/23 Суб 08:46:13 2736081 198
>>2735791
>>на начальном этапе создания базы данных и
одна команда в консольке - docker run всякие параметры postgres
>>связывания ее с IDE запутался
На это секунд 15 трачу. Надо ж просто 4 строчки заполнить адрес/порт/логин/пароль. И test connection можно прожать.

>>Вам нравится такими вещами заниматься?
Код писать нравится. Это как медитация. Отдыхаешь от всякой дневной хуиты пока пишешь код.
Аноним 17/06/23 Суб 09:27:44 2736087 199
>>2735452
Вот тебе пруфы
https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:register
Сбер шлет при ошибках 200, код ошибки в теле json ответа
Ну не может же сбер, айти компания номер один, ошибаться, верно?
Тупо конечно, но это стандартная практика в мире CMS-интеграторов, которые клепают 80% всех сайтиков, и нифига толком не могут в программирование, на них и ориентируется весь бизнес
Аноним 17/06/23 Суб 09:32:37 2736090 200
>>2735370
А если это сайтик или приложуха, и им не интересно перебирать десяток кодов?
У них всего два варианта ответа: "ой, что-то пошло не так, попробуйте ещё раз" и "форма отправлена успешно".
Так что любой ответ они парсят и проверяют всего двумя условиями: если json не пустой и содержит флаг ошибки - выводим ошибку, иначе выводим успех
Аноним 17/06/23 Суб 09:47:56 2736093 201
>>2735791
Писать код - это как слушать музыку, как полет, как серфинг или спуск на лыжах, захватывающе, восторг на грани со страхом.
Надоесть может, через много лет, но пока ты плывешь по волнам, в потоке, это охуенно. Иногда сложно, иногда легко, иногда с горочки со свистом, иногда филигранно обходишь сложное препятствие. Мозг все время работает, анализирует, выдает решения - ты чувствуешь как жизнь бьёт ключом. Эндорфины прут, тебе хорошо, ты все можешь. Ты летишь в неизвестность, в темноту, и не знаешь что оттуда на тебя вылетит, справишься ли ты. Но успех от решённых задач подбадривает и говорит о том что справишься - справился же с сотнями сложных проблем ранее, значит все говорит в пользу того что и новые тебе покорятся. Бесконечный подъем наверх, с каждым разом покоряет все более сложные высоты.
Пока ты активен и здоров, пока ты имеешь силы и возможности - разве может это надоесть?
Программирование становится не интересно только в болезни - тогда тебе плохо, у тебя нет ресурса думать, просто лежишь и слюни пускает, тебе уже не до программирования.
Аноним 17/06/23 Суб 13:53:30 2736226 202
Аноним 17/06/23 Суб 14:41:21 2736289 203
>>2736057
Бога нет. Был был бог - джава не была бы таким говном.
Аноним 17/06/23 Суб 14:42:58 2736294 204
>>2734075
Зачем видеокарта ? Процессора со встроенным видеоядром достаточно. Например ryzen 5 5500U.
Аноним 17/06/23 Суб 15:19:11 2736329 205
E3979F5D-E917-4[...].jpeg 189Кб, 1227x947
1227x947
>>2736289
>>Бога нет.
А ДНК само образовалось? А программка на материнке тоже может сама написаться от короткого замыкания?

>>Был был бог - джава не была бы таким говном.
Бог использует кватернарный код, а не бинарный как люди.
Аноним 17/06/23 Суб 15:42:30 2736371 206
Бугурт пориджа ньюфага.

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

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

Вотс. Просто зашел сказать.
Аноним 17/06/23 Суб 16:58:09 2736461 210
>>2736453
Не переживай, я такая же...
Аноним 17/06/23 Суб 18:14:34 2736614 211
>>2736453
Я тоже решил учить РНР, потому что на джаве фиг вкатишься
Аноним 17/06/23 Суб 18:23:28 2736628 212
>>2736614
Ключевое слово "тоже"
Аноним 17/06/23 Суб 18:35:19 2736645 213
Аноним 17/06/23 Суб 18:35:33 2736646 214
>>2736453
Когда-то учил PHP, но надолго меня не хватило, блевал каждый раз от одного вида. Вкатился в итоге в жабу ебаную.
Аноним 17/06/23 Суб 18:46:38 2736666 215
>>2736645
Из-за таких как ты и не стали учить. Никакой синтаксический сахар и перспективы вката не окупят убитую психику от работы в команде с шарпистами ебаными.
Аноним 17/06/23 Суб 18:50:11 2736668 216
>>2736666
Стоит и о другом задуматься. Нахуя шарпоблядям выращивать себе конкурентов? Что-то здесь явно не так.
Аноним 17/06/23 Суб 19:08:07 2736684 217
>>2736614
А в чем проблемы? Мб передумать ещё
Аноним 17/06/23 Суб 19:11:19 2736687 218
>>2736684
Если хочешь на джаву, то надо врать в резюме и рисовать опыт
Аноним 17/06/23 Суб 19:28:55 2736704 219
>>2736687
Опыт работы в it компании? Даже врать не надо. Это все проблемы? По моему это всю it распространено.
Аноним 17/06/23 Суб 19:36:37 2736706 220
>>2736704
В РНР не надо. Альберт говорит, что после 2 его курса можно уже устроится.
Аноним 17/06/23 Суб 19:37:43 2736707 221
>>2736706
Я не знаю кто такой альберт, да и знать не хочу.
Аноним 17/06/23 Суб 19:40:20 2736709 222
>>2736707
Альберт Степанцев - автор курсов по РНР. Если бы такие классные курсы были по джаве, то может быть и на джаву ещё попытался. Но тут и курсов крутых нет и шансы вката минимальные.
Аноним 17/06/23 Суб 19:42:17 2736713 223
>>2736709
По джаве есть крутой буткемп от влада мишустина бро
Аноним 17/06/23 Суб 19:44:28 2736715 224
>>2736709
>>2736713
Вы че ебанутые, какие нахуй курсы? Нафига они нужны?
Аноним 17/06/23 Суб 19:45:37 2736717 225
>>2736715
Ну а что ты предлагаешь? Как учить программирование?
Аноним 17/06/23 Суб 19:47:32 2736719 226
image.png 17Кб, 896x218
896x218
>>2736717
Не знаю, я по кишочкам/докам/спекам лазаю. Вон, смотри в иммутабельной строке есть мутабельные поля.
Аноним 17/06/23 Суб 19:51:05 2736722 227
шалом
как сделать так, чтобы при сохранении через jparepository, когда срабатывает save, ДО него вызвался мой код и изменил кое-что в сохраняемой сущности
я хочу сделать generalEntity с датой создания и модификации, от него все унаследовать и перехватывать сохранение. Есть способы лучше так сделать?
Аноним 17/06/23 Суб 19:51:27 2736723 228
>>2736719
Когда надоест заниматься ерундой, то скачай курс Альберта и увидишь как он учит программированию. Я за пару недель так прокачался, как не смог за 4 года в универе.
Аноним 17/06/23 Суб 19:53:36 2736726 229
>>2736723
>Когда надоест заниматься ерундой
Ерунда не ерунда, но ты подумай, почему в иммутабельном объекте, который дает ряд гарантий в многопотоке, есть мутабельные поля, которые перезаписываются.
Аноним 17/06/23 Суб 20:09:41 2736745 230
>>2736646
А как же С++ или Phyton ммм ?!
Аноним 17/06/23 Суб 20:30:48 2736762 231
>>2736722
в хибернейте есть хуки. PrePersist, PreCommit и так далее. Не помню как называются. И наследование - плохо
Аноним 17/06/23 Суб 20:57:52 2736799 232
>>2736762
>наследование - плохо
Нет.
Аноним 17/06/23 Суб 22:37:54 2736882 233
>>2736722
гугли @CreationTimestamp и @UpdateTimestamp
Аноним 17/06/23 Суб 23:18:53 2736906 234
Bildschirmfoto [...].png 14Кб, 315x290
315x290
володенька, массивы в жабе действительно такие хуёвые, что нельзя инициализировать массив объектов через фабрику, которая выплёвывает один объект? только через конструктор или пердолить как все через ArrayList? чисто академический интерес.

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

class Polka{
Apple[][];

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

}
Аноним 17/06/23 Суб 23:37:15 2736915 235
>>2736906
делай как тебе нравится, в чем проблема?
Аноним 17/06/23 Суб 23:54:55 2736929 236
>>2736906
Просто смирись с мыслью, что для в любых подобных задачах надо писать 100500 строк бойлерплейта. Здесь нет изящных и удобных решений в одну строку.
Аноним 18/06/23 Вск 00:20:15 2736938 237
>>2736906
Могу ошибаться, но
Фабрика: 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.
Аноним 18/06/23 Вск 00:34:13 2736941 238
>>2736906
>// хуёво, так как Apple не может в правильный конструктор

О чем ты?

Делая new Apple[rows][cols], ты просто получаешь матрицу rows*cols с nullями. О каком конструкторе речь?
Аноним 18/06/23 Вск 00:38:32 2736942 239
>>2736929
Смирись лучше ты с мыслью, что ты - бессмысленная затычка в жопе, у которой по существу идей нет, а спиздануть чето надо.
Аноним 18/06/23 Вск 00:40:24 2736944 240
>>2736938
Хотя проще так как-то сделать:
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. Впрочем не совсем понятно нафига это может понадобится.
Аноним 18/06/23 Вск 00:52:53 2736949 241
>>2736944
Массивы в реальной жизни никто не использует уже давно. Collections.
Аноним 18/06/23 Вск 00:55:22 2736951 242
>>2736949
Ну главная проблема коллекций, что project valhalla все еще где-то там, далеко. Так что примитивы пока что только в них храним. Или похуй уже?
Аноним 18/06/23 Вск 01:04:41 2736955 243
>>2736951
Ваще не понял об чем ты? Какая главная проблема коллекций?
Если нужно пихнуть примитивы есть Autoboxing/Unboxing.
Аноним 18/06/23 Вск 01:12:00 2736957 244
>>2736955
Ну это сколько места занимать будет? ~16 байт + примитив.
Так ещё на каждое изменение, инкремент скажем, надо анбоксинг-действие-боксинг.
Аноним 18/06/23 Вск 02:48:43 2736980 245
>>2736957
Ты на крестах что ли пишешь, чтобы байты считать? Или всё-таки на жабе?
Аноним 18/06/23 Вск 02:53:31 2736982 246
>>2736980
Тут и перфоманс в том числе. Ряд оптимизаций жвм просто невозможен. Да и аллокации время занимают. Ну и а байты считать смешно, конечно. Из-за таких как ты жаба и считается монстром, что жрёт дохуя оперативы.
Типа, а хули нам используем LinkedList<Boolean>, норм тема.
Аноним 18/06/23 Вск 03:20:51 2736986 247
>>2736982
>Из-за таких как ты жаба и считается монстром, что жрёт дохуя оперативы.

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

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

>>2736941
Аноним 18/06/23 Вск 03:30:27 2736988 248
>>2736986
>Ты обьясни - че конкретно за прикол ты с этими ебаными яблоками то пытаешься сделать?
По ветке можно было понять, что это не мой пост. Я просто решение через рефлексию предложил. Ну и еще интересно стало, можно ли как-то type-safe сделать через женерики для произвольной размерности массива.
>Эти удавятся за лишний байт в оперативе
Ну я просто не считаю делать анбоксинг и боксинг, если этого можно избежать.
Аноним 18/06/23 Вск 03:33:39 2736991 249
>>2736988
>Ну я просто не считаю делать анбоксинг и боксинг, если этого можно избежать.

Не, это понятно, просто я не понял откуда вообще взялся разговор о боксинге, когда в оригинальном вопросе вместо примитивов яблоки какие то блять.
Аноним 18/06/23 Вск 03:34:44 2736992 250
>>2736991
Я скозал, что это главная проблема коллекций - невозможность нормально хранить примитивы. Жду проекта вальхала, когда там его допилят.
Аноним 18/06/23 Вск 03:42:44 2736993 251
>>2736992
>Жду проекта вальхала, когда там его допилят.
Окей, подождем.

Так а яблоки че? Я чекнул твой солюшен с рефлексией, и все равно не врубаюсь ни в постановку проблемы, ни в смысл решения. Чел вроде бы создает массив, а ты наоборот getаешь. Как ты интерпретировал его шизофазию?
Аноним 18/06/23 Вск 03:45:49 2736994 252
>>2736993
Ну как я понял, ему нужно массив любых размерностей через метод создавать. Т.е. не только длина может изменятся, но и размерность. Вот только хуй знает где это может понадобится.
Гет тут нужен, чтобы с таким объектом работать.
Аноним 18/06/23 Вск 04:01:19 2736995 253
>>2736994
Я хз где ты это там увидел, конечно. Или ты - лютый психиатр, или кто то из нас поехавший.

Вообще, он там чето об инициализации массива бугуртил, что типа через фабрику нельзя (схуяли?). Конструктор у яблока вишь ли у него неправильный. Короче я ебал, не моего ума видимо загадка.
Аноним 18/06/23 Вск 04:23:43 2736997 254
Жаба - монстр, который жрёт дохуя оперативы. Она не считается такой, она такой является.
Аноним 18/06/23 Вск 06:42:17 2737008 255
>>2736997
мемори из чип
*Uncle Bob"
Аноним 18/06/23 Вск 07:05:29 2737013 256
>>2736994
не, мне нужен двухмерный массив объектов, объекты нельзя создать конструктором (ихоняя api говорит, что от этого жопа треснет), а только через сторонний метод. так что Apples[][] apples = new Apples[rows][cols]() не прокатит. массив фиксированн по размеру и меняться никогда не будет, коллекция не нужна, от apples.get(row).get(col) вместо apples[row][col] у меня дёргается глаз.
Аноним 18/06/23 Вск 07:10:54 2737014 257
image.png 40Кб, 569x393
569x393
>>2737013
>объекты нельзя создать конструктором
Яблочки низя создать без конструктора? Технически, и wrapped классы нельзя по ним, точнее не желательно. Не понимаю в чем проблема.
Аноним 18/06/23 Вск 07:19:53 2737016 258
>>2737014
нельзя создать новое яблоко, можно только получить в подарок.
Аноним 18/06/23 Вск 07:23:29 2737018 259
image.png 40Кб, 712x569
712x569
Аноним 18/06/23 Вск 07:24:28 2737019 260
ы.jpg 5Кб, 300x168
300x168
>>2737014
кстати, зачем ты двенадцать раз подряд заполняешь массив единицей?
Аноним 18/06/23 Вск 07:27:45 2737020 261
image.png 54Кб, 654x629
654x629
>>2737016
Ну или так. Правда это криво как-то.
>>2737019
Могу 42 заполнить, разница?
Аноним 18/06/23 Вск 07:51:08 2737023 262
>>2737020
> apples = new Apple[rows][cols];
итить, а так можно было? блять, пойду по дереву вырезать. спасибо.
Аноним 18/06/23 Вск 07:54:24 2737024 263
>>2737023
Ну как бы да. Массив - это отдельный объект, опосредованно связанный с классом, который он определяет. Я тебе еще по интегеру это же сказал. Удачи там.
Аноним 18/06/23 Вск 12:57:19 2737184 264
Как вы думаете стоит проработать спринг нейтив с грааль вм? Петик может написать. Пока увидел, что не работает мокито.
Аноним 18/06/23 Вск 13:34:42 2737207 265
>>2737008
640 килобайт хватит всем
Аноним 18/06/23 Вск 13:40:24 2737213 266
>>2737013
>Apples[][] apples = new Apples[rows][cols]()

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

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

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

Создавай массив первым способом, проходись по нему циклом и инициализируй чем хочешь.
Аноним 18/06/23 Вск 14:02:40 2737234 267
image.png 49Кб, 2154x400
2154x400
Аноним 18/06/23 Вск 15:52:55 2737328 268
>>2737234
И?

А на чем еще ты собрался экзешники для майкоси собирать?
Аноним 18/06/23 Вск 15:58:33 2737335 269
>>2737184
Попробуй.

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

На java пока напрягает только разговоры о том, что нет фриланса и удаленки - это было бы печально, от удаленки и той свободы что она дает отказываться не хотелось бы
Аноним 19/06/23 Пнд 00:07:23 2737790 272
>>2737709
>Типичная php-команда: недосенька, который все тащит, несколько типа "мидлов", и пучок "крепких джунов", которые не знают даже базы и по всем стандартам могут тянуть только на стажеров. Из всех них программером можно обозвать сеньку, и то с натяжкой - зачастую и у него с базой непорядок
У меня так же выглядит команда на 10 жавистов в небольшой галере.
>На java пока напрягает только разговоры о том, что нет фриланса и удаленки
фриланса считай нет, удаленка есть, хотя наверно поменьше чем на пыхе. И ее срезают всякие параноики из крупняка. Или режут вообще или переводят на гибрид. Или не разрешают удаленку из других стран или из других городов.
Аноним 19/06/23 Пнд 01:56:27 2737842 273
16868357479540.png 177Кб, 427x427
427x427
Аноним 19/06/23 Пнд 02:00:54 2737843 274
Аноним 19/06/23 Пнд 02:14:10 2737844 275
>>2737842
Конечно, вкатился до пандемии. Получаю 250к, программирую на XML.
Аноним 19/06/23 Пнд 08:30:24 2737896 276
>>2737844
>программирую на XML
Вот от этого у меня больше всего горит. Егора на них нет!
Аноним 19/06/23 Пнд 10:54:40 2737946 277
>>2737842
Многие бывшие однокурсники сидят на жабе спокойно и в хуй не дуют на 200к зп. Хуй знает, наверно тоже надо было в жабу идти, жаль 2 года на другой стек проебал.
Аноним 19/06/23 Пнд 11:01:46 2737950 278
Аноним 19/06/23 Пнд 11:10:06 2737957 279
Аноним 19/06/23 Пнд 14:29:55 2738208 280
>>2737896
Егорыч любил XML тащемто.
Аноним 19/06/23 Пнд 17:23:04 2738445 281
А про какие вы хмл говорите? Типа у вас старые версии фреймворков 15-летей давности, где конфиги на змл?
Аноним 19/06/23 Пнд 17:58:03 2738496 282
Блять заебался с этими сетями, дайте совета чё ответить по существу девопсу, а то срёмся уже и даже тимлида подключили.
Есть проблема - 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 кластере у спринга отваливается конфиг прокси?
Аноним 19/06/23 Пнд 18:27:20 2738570 283
>>2738496
>Я использую HTTPInterfaces в спринге
вот ты сучара
Аноним 19/06/23 Пнд 18:36:37 2738584 284
>>2738570
А чё такое? Завидно? Капчуешь с 1 бута?
Аноним 19/06/23 Пнд 18:45:35 2738603 285
>>2738496
Ты чекни с девопсом - может между клиентом и сервером на проде есть прокся какая то ебаная, которая рвет коннекшен через минуту вопреки всему по своей инициативе. Например, чекни что в хедере Server у респонза с 504 приходит.

У меня такая же петрушка помню была, из-за чего весь отдел с ума сошел. Кастомерская бага была на то, что "севис отвечает чет медленно, тормозит", а на самом деле бэк сервиса лег под нагрузкой нахуй, а прокся между сервисом и клиентом обрывала коннекшен по таймауту с 504м статусом, который фронтенд тупо саппресил, создавая иллюзию что "все ок". Прикинь мое ебало в тот момент, когда я это нашел?
Аноним 19/06/23 Пнд 19:01:48 2738614 286
>>2738603
Тонны нефти, пиздос заебался уже какой день искать в чем проблема. Server действительно прилетает awselb/2.0, сейчас пойду указывать на это.
>Прикинь мое ебало в тот момент
Да у меня такое же будет, если не разберусь и придётся помидоров из других отделов звать, а проёб моим будет
Аноним 19/06/23 Пнд 19:05:17 2738620 287
>>2738614
Не торопись, проведи пару тестов. Например, чекни какой респонз вернется если сервер по своей инициативе в таймаут свалится. Выстави ему 30 сек и так же чекни хедер. А то те не поверят и нахуй пошлют.

Мне мои тоже не сразу поверили.
Аноним 19/06/23 Пнд 19:43:37 2738659 288
>>2738620
Понял, принял, сам до этого чет не додумал. Чая, нефти и девственниц.
Аноним 19/06/23 Пнд 20:18:33 2738683 289
>>2738620
А, вот еще че вспомнил.

>>2738614
Если у тебя действительно этот кейс, и если у тебя - томкат под спрингом, то в логах будут ошибки вида: "APR error: -32". Тоже симптом.
Аноним 19/06/23 Пнд 22:09:50 2738770 290
>>2738445
В смысле? В java-разработке просто тонны xml. Это и конфиги, и выгрузки, и даже, блджад, апишки xml-шные.
Ты этот xml в страшных снах будешь видеть
Аноним 19/06/23 Пнд 22:37:27 2738798 291
>>2737842
Нету вакансий блинский
Аноним 19/06/23 Пнд 22:46:55 2738809 292
>>2738770
Meh. Ты преувеличиваешь. Где раньше был XML, давно уже завезли альтернативы. Ну вот назови хоть один XMLник помимо помника мавеновского, с которым ты имел дело последние пару лет?
Аноним 19/06/23 Пнд 22:57:15 2738822 293
Подскажите пожалуйста, в книге Эффективная java описывается "шаблон строитель", когда его нужно применять ?

P.S. - шаблон строитель это класс с приватным конструктором и статическим вложенным классом с названием Builder и он содержит статический метод build.
Аноним 19/06/23 Пнд 23:24:03 2738851 294
>>2738822
Типа factory-метод как в Pattern?
Аноним 19/06/23 Пнд 23:25:27 2738852 295
>>2738851
java.util.regex.Pattern типа. Но я не шарю, я даже не вкатун пока что, может там и другая хуйня.
Аноним 19/06/23 Пнд 23:47:52 2738880 296
>>2738822

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

Просто знай что есть вот такой вот паттерн и его можно применять для сборки сложного обьекта.
Аноним 20/06/23 Втр 00:02:57 2738896 297
Аноним 20/06/23 Втр 00:13:50 2738911 298
>>2738445
1. Конфиги на XML, да. Сервер приложений другое не умеет.
2. Пом.хмл, немного анта.
3. Клиент на Delphi работает через SOAP
4. В интеграциях тот же SOAP и кастомные ХМЛ-сообщения, хотя там частично перелезли на кафку с жсоном. Но есть и кафка с ХМЛ, прости господи.
Аноним 20/06/23 Втр 00:27:47 2738930 299
Аноним 20/06/23 Втр 01:49:05 2738979 300
>>2738809
Ну я вроде не работаю на серверах приложений, стек более-менее свежий.
Ликвибейс, жук-кодген, логеры всякие. Интеграции на хмлях с кучей древних внутренних и менее древних внешних сервисах. На соапе, ресте, реббите.
В спринге хмл видел 2 года назад на проекте, который тогда выл 10-летним легаси. На хибере не видел никогда.
В среднем с yml и json я работаю даже чаще чем с xml.
Аноним 20/06/23 Втр 02:02:41 2738982 301
>>2738979
>Ликвибейс
Поддерживает миграции ямлем и джсоном

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

>На соапе
Ок

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

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

>В среднем с yml и json я работаю даже чаще чем с xml.
Ну видишь? А говорил "тонны хмл в джава-разработке".
Аноним 20/06/23 Втр 02:06:04 2738983 302
image.png 12Кб, 477x122
477x122
Аноним 20/06/23 Втр 02:50:09 2738993 303
image.png 86Кб, 836x488
836x488
>>2738983
И в чем преимущество перед конструктором? Типо не надо делать 100500 методов для каждой вариации? Хотя по итогу все равно все к нему сводится... Нахуя это надо?
Аноним 20/06/23 Втр 05:06:48 2738995 304
>>2738982
>Опенапи генераторы
Это нерабочее говно, которым никто толком не пользуется. Проще руками написать клиент и контроллеры на сервере, чем месяцами дрочиться с генератором, который раз за разом высирает говно. А контракт можно зафиксировать несколькими сообщениями в чате. Все!
Аноним 20/06/23 Втр 05:47:34 2738997 305
>>2738995
Неистово плюсую, еще это говно ломается с обновлениями спринга например
Аноним 20/06/23 Втр 07:41:40 2739010 306
>>2738770
чем он вам не нравится? Простейший читаемый логичный формат. Уж явно лучше ямла
Аноним 20/06/23 Втр 07:43:11 2739013 307
>>2738993
когда не хочешь делать конструктор на 100500 полей, при этом часть полей может быть необязательными. Тогда применяешь билдер
Аноним 20/06/23 Втр 10:10:14 2739080 308
>>2738995
>Проще руками написать клиент и контроллеры на сервере, чем месяцами дрочиться с генератором

Да ради бога. Только вот один хер ресты ты будешь руками писать скорее всего аннотациями. О каких XMLках идет речь рыше - вопрос по прежнему открытый.
Аноним 20/06/23 Втр 11:37:37 2739145 309
>>2738911
>немного анта
мнение динозавров с ебаным легаси не интересует
Аноним 20/06/23 Втр 11:51:45 2739159 310
>>2739145
Пиздуй в шарп тред, хипстер
Аноним 20/06/23 Втр 12:12:53 2739185 311
Это тред тупых вопросов?

Предположим у меня есть программа, которая считывает из памяти другой программы данные. Как мне передать их в жава приложение так, чтоб не писать на диск, а сразу, из памяти в память?
Аноним 20/06/23 Втр 12:22:54 2739202 312
Аноним 20/06/23 Втр 12:38:25 2739227 313
>>2739185
>из памяти в память
у меня встал
Аноним 20/06/23 Втр 12:45:52 2739241 314
>>2739185
Вроде помимо сокетов, в POSIX есть способы общения процессов...
Аноним 20/06/23 Втр 13:09:15 2739276 315
Аноним 20/06/23 Втр 13:31:43 2739299 316
>>2739241
>способы общения процессов

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

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

Сокеты, пайпы. В теории максимальбно близкий по твоему описанию IPC - это shared memory, но в джаве оно не поддерживается (и это - к лучшему, на самом деле). Также, не спеши по критерию "Чтоб не писать на диск" отсеивать файлы как таковые - в юниксах многие вещи в виде файлов существуют, например, именованные каналы.
Аноним 20/06/23 Втр 13:32:19 2739300 317
Аноним 20/06/23 Втр 13:33:43 2739302 318
Аноним 20/06/23 Втр 13:59:40 2739335 319
Короче похуй, будем делать JNI бибилиотеки и использовать их.
Аноним 20/06/23 Втр 14:50:28 2739390 320
>>2739335
Плохой выбор, пожалеешь потом об этом.
Аноним 20/06/23 Втр 14:50:35 2739391 321
Будем делать .NET библиотеки и использовать их.
Аноним 20/06/23 Втр 15:01:52 2739408 322
>>2739390
Ну раз ты сказал что пожалею, значит правда. Теперь я точно предумал.
Аноним 20/06/23 Втр 15:08:54 2739417 323
>>2739391
В дотнете не делают библиотеки, там хрючат что майки дадут или ждут сдк под шарп от джавовых либ и тулзов
Аноним 20/06/23 Втр 15:16:29 2739426 324
>>2739408
Какой же ты рациональный и рассудительный человек.
Аноним 20/06/23 Втр 15:30:11 2739436 325
Аноним 20/06/23 Втр 15:34:39 2739442 326
>>2739185
Можно ещё сделать веб-приложение на spring и отсылать туда данные с памяти с get/post запросом. Spring будет с помощью модели отдавать эти данные на веб-страницу, а затем другое приложение будет читать их оттуда из url.
Аноним 20/06/23 Втр 15:46:40 2739452 327
Как узнать какая зависимость в 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 (как в уроке) - все заработало, хотя другие зависимости самые последние.
Как это работает и от чего зависит?
Аноним 20/06/23 Втр 15:47:26 2739454 328
>>2739442
Я бы хотел как можно меньше посредников. Вообще жава оказывается умеет по средствам винды инжектить длл в процессы, создается поток и туда длл пихается. Я тут подумал, а нельзя ли как нибудь не хранить на диске длл для инжекта? Ну типа мы уже можем создавать пустой поток в процессе, а как нам залить сразу в это адресное пространство байтики, которые мы заранее храним в памяти нашей программы?
Аноним 20/06/23 Втр 16:13:31 2739477 329
>>2739452

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

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

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

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

Мало ли из-за чего идея красным горит... Может это баг в идее. Может идея индексы не обновила? Не думал об этом?
Аноним 20/06/23 Втр 18:47:35 2739652 330
один интерфейс и одна релизация - это вышло из моды или всё ещё в силе? Щас спросили на собесе, говорю что вышло из моды. Но раньше применялось для создания проксей, моков и тестирования
Аноним 20/06/23 Втр 18:59:00 2739668 331
>>2739652
Никогда это из моды не выйдет.
Аноним 20/06/23 Втр 19:00:50 2739672 332
Аноним 20/06/23 Втр 19:32:55 2739715 333
>>2739672
В c так было, в c++ продолжили, таки зачем что-то менять?
Аноним 20/06/23 Втр 19:37:28 2739722 334
Интерфейс - хедер, автовайр - инклуд, pojo - структура, компонент - объектный файл.
Аноним 20/06/23 Втр 19:38:51 2739725 335
>>2739715
какие ещё интерфейсы и реализации в си?
Аноним 20/06/23 Втр 19:41:53 2739729 336
>>2739722
Кубер - сервер приложений.
Аноним 20/06/23 Втр 20:09:44 2739759 337
>>2739159
лан лан шучу я сам ант таски писал под кастомную сборку
даже оно лучше ебаного градла
Аноним 20/06/23 Втр 20:49:43 2739819 338
>>2739454
Ну смотри как это делается в железе:
выделяется общий буфер, выделяется счётчик, и выделяется прерывание.
Железка снаружи пишет данные в буфер, пишет длину данных в счётчик, и дёргает за прерывание.
По прерыванию просыпается друга железка или драйвер, смотрят на счётчик, забирают данные из буфера, засыпают.

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

Если нужно не просто передавать, а двигать окно - тут уже потребуется двусторонняя связь и драйвер.
На низкоуровневой стороне пишешь логику драйвера: он должен принимать смещение, размер окна, ссылку на буфер, и отдавать позицию окна, размер доступной области памяти и размер считанных в буфер данных.
На высокоуровневой пишешь ответную часть драйвера: выделение буфера, считывание размера блока памяти и позиции окна в ней, управление смещением и размером окна, вычитывание буфера.
Через этот драйвер получаешь почти прозрачный маппинг внешней памяти внутри java, и обрабатываешь в java как угодно
Если очень хочется, можно даже буфер записи организовать, чтобы не только читать, но и писать
Аноним 20/06/23 Втр 20:52:01 2739821 339
PostgreSQLContainer из testcontainers пересоздает базу на каждом новом классе теста. В спрингбуте. Кто-нибудь помнит как убрать?
Аноним 20/06/23 Втр 20:59:14 2739825 340
>>2739725
Для меня это хедеры.
Аноним 20/06/23 Втр 21:14:47 2739853 341
Аноним 20/06/23 Втр 21:36:45 2739866 342
java.png 24Кб, 807x205
807x205
java2.png 17Кб, 602x208
602x208
>>2739853
ок, примерно так и сделал
Аноним 21/06/23 Срд 04:24:54 2740036 343
Аноним 21/06/23 Срд 07:26:53 2740074 344
Мне надо в не спринговом приложении написать логику броска кубика с 6 гранями.
Лепить класс со статик методом и потом вызывать его через int value = DiceUtil.roll(6) не хочется, потому что егорка сказал, что статик методы это плохо.
Насколько лучше сделать так: int value = new Dice(6).roll() и повторять этот код во всех местах где нужен бросок? Без инъекции кубиков через конструктор/сеттер, потому что мне не нужно тестировать взаимодействие вызывающего кода с кубиком. Пока.
Выглядит однохуйственно, честно говоря.
Аноним 21/06/23 Срд 07:29:25 2740078 345
>>2740074
А этот твой егорка не сказал, что new это гораздо хуже, и чем чаще вызывается, тем больше?
Аноним 21/06/23 Срд 07:35:17 2740083 346
>>2740078
Окей, ты предлагаешь сделать очередной спринговый залупа сервис, кидающий дайсы. Но у меня пет для души, без спринга, без энтерпрайз кала...
Аноним 21/06/23 Срд 07:37:22 2740086 347
>>2740083
Ну так и сделай diceutil и не еби мозги
Аноним 21/06/23 Срд 07:41:35 2740089 348
>>2740074
>в не спринговом приложении
А как бы поменялась логика, если б ты спринг юзал?

Вроде все генераторы рандома делаются статическими или получаются через статический метод по типу ThreadLocalRandom#current(). Поэтому почему бы не сделать фабрику? Притом new будет очень плохо, тк создание условного SecureRandom долго...
Аноним 21/06/23 Срд 08:04:38 2740102 349
>>2740089
>А как бы поменялась логика, если б ты спринг юзал
Сделал бы залупа сервис синглтон, как обычно
Благодаря спрингу мне не надо руками прокидывать дайс во все коллабораторы в мире и я получаю удобную возможность тестировать, что 1) подкидывание кубика реально работает 2) код, который работает с кубиком, кидает его с нужным числом граней. Объект остается объектом, а не утил методом

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

На самом деле помимо этого специфического примера постоянно возникает необходимость писать микрологику, которую некуда приткнуть, кроме как в утил классы.
Аноним 21/06/23 Срд 08:08:58 2740106 350
image.png 9Кб, 517x103
517x103
>>2740102
>1) подкидывание кубика реально работает 2) код, который работает с кубиком, кидает его с нужным числом граней.
Ты рофлишь? Вот этот вот код тестировать? Ебать тебе заняться нечем. Ну к слову, я б хотел увидеть, как ты рандом-то тестируешь.
>На самом деле
На самом деле я б на логику посмотрел. И вообще через инъекцию бы сделал. По моему она лучше всех выглядит... Впрочем кто я, а кто ты.
Аноним 21/06/23 Срд 08:32:59 2740124 351
Аноним 21/06/23 Срд 08:36:45 2740125 352
>>2740106
>Ты рофлишь? Вот этот вот код тестировать? Ебать тебе заняться нечем.

Сам рандом не стал бы, но коллаборатора потестил бы. Когда он начнет выбирать количество граней динамически.
Аноним 21/06/23 Срд 08:38:24 2740126 353
>>2740125
>коллаборатора
А хде про такой шаблончик почетать можно?
Аноним 21/06/23 Срд 08:45:28 2740130 354
>>2740126
Нигде, это я так называю класс, который взаимодействует с тестируемым кодом. Что, раскусил меня по сленгу? Да, я вкатун.
Аноним 21/06/23 Срд 08:59:32 2740137 355
image.png 70Кб, 869x751
869x751
>>2740130
>коллаборатора потестил бы
>класс, взаимодействует с тестируемым кодом
Какое-то масло масляное получается.

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

А сама инкапсулированная микрологика, вроде и не плохо. Вон помню наебался с свингом и масштабированием шрифтов. Насколько я сейчас понимаю, всем абсолютно срать на них и есть спец пункт в менюшке, где пользователь сам настраивает размер шрифта.
>Да, я вкатун.
Ты-то судя по всему хотя б вкатился.
Аноним 21/06/23 Срд 09:23:52 2740150 356
>>2740036
может поревьювишь?
Аноним 21/06/23 Срд 12:34:55 2740399 357
Аноним 21/06/23 Срд 12:57:42 2740424 358
>>2740399
Сколько за ревью одного тестового?
Аноним 21/06/23 Срд 15:55:11 2740625 359
>>2740074
>Насколько лучше сделать так: int value = new Dice(6).roll() и повторять этот код во всех местах где нужен бросок?

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

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

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

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

Если тебе с этим ок - дерзай.
Аноним 21/06/23 Срд 17:33:47 2740722 360
>>2740424
программисты берут за час работы
Аноним 21/06/23 Срд 17:44:46 2740733 361
Аноним 21/06/23 Срд 17:58:10 2740745 362
>>2740722
А сколько ты будешь ревьюить тестовое? Как будешь ревьюить?
Аноним 21/06/23 Срд 20:54:21 2740921 363
>>2738584
отсоси мы теперь тоже на 3 буте
Аноним 21/06/23 Срд 21:02:50 2740936 364
У меня вообще бута нет. Но мне как-то похуй, готов хоть на коболе писать.
Аноним 21/06/23 Срд 21:08:47 2740952 365
>>2740745
Чел ты уже ему должен за то, что он тебе уделил время в ответах.
Аноним 21/06/23 Срд 22:45:30 2741009 366
Есть ли в ютубе магистерские лекции по java на русском ?
Дайте ссылку пожалуйста.
Аноним 21/06/23 Срд 23:09:24 2741014 367
Аноним 21/06/23 Срд 23:12:53 2741015 368
>>2741009
>магистерские лекции по java на русском
Эт как? И чем лучше те, кто просидел кучу времени в проституте, от практиков?
Аноним 21/06/23 Срд 23:24:15 2741016 369
>>2741009
Так джава это второй курс бакалавриата. Причем тут магистерские?
Аноним 22/06/23 Чтв 00:16:29 2741032 370
ПОЧЕМУ В JAVA НЕТ ВОТ ТАКОЙ КОНСТРУКЦИИ???????

int parsed = try Integer.parseInt(colorString, 16)
___________or 0;
Аноним 22/06/23 Чтв 00:21:35 2741035 371
>>2741032
Что она должна делать?
Аноним 22/06/23 Чтв 00:24:12 2741038 372
>>2741035
В случае неудачи возвращать 0, а не взрывать программу.
Аноним 22/06/23 Чтв 00:25:21 2741039 373
>>2741032
Есть, гофер ебаный.
int parsed;
try {
parsed = Integer.parseInt(colorString, 16);
} catch (Exception e) {
parsed = 0;
}
Аноним 22/06/23 Чтв 00:26:47 2741043 374
>>2741038
Типа этого? >>2741039
Так писать - плохая практика. Конечно часть исключений жвм сворчивает, но я хз входит ли NFE в их перечень.
Аноним 22/06/23 Чтв 00:28:10 2741045 375
Аноним 22/06/23 Чтв 00:34:34 2741048 376
>>2741045
Одна же:
int parsed; try {parsed = Integer.parseInt(colorString, 16);} catch (Exception e) {parsed = 0;}
Аноним 22/06/23 Чтв 00:34:51 2741049 377
>>2741045
Ладно, будет тебе одна строка.
int parsed=0;try{parsed=Integer.parseInt(colorString,16);}catch(Exception e){}
>>2741043
Хорошая практика - сначала проверить формат отдельным вызовом, а не тупо глотать ошибку и подставлять дефолтное значение, как в пыхоплеяде.
Аноним 22/06/23 Чтв 00:38:18 2741051 378
image.png 12Кб, 567x73
567x73
>>2741049
>проверить формат отдельным вызовом
По моему его нет в Integer. Ну т.е. вот она, проверка. Самому писать, ну ты че, скока это ж строк-то!
Аноним 22/06/23 Чтв 00:41:10 2741052 379
>>2741032
NumberUtils.toInt()
Апачи наше всё.
Аноним 22/06/23 Чтв 00:42:28 2741053 380
image.png 15Кб, 604x224
604x224
Аноним 22/06/23 Чтв 00:44:17 2741054 381
>>2741053
Зато самому писать не надо аж 6 строк.
Аноним 22/06/23 Чтв 00:54:39 2741057 382
>>2741032
Все есть.
> Try.of(() -> Integer.parseInt(colorString, 16)).getOrElse(0);
Аноним 22/06/23 Чтв 01:00:20 2741060 383
>>2741057
Это чудо хоть оптимизировано? Или все также генерирует стектрейс?
Аноним 22/06/23 Чтв 08:42:15 2741135 384
Аноним 22/06/23 Чтв 11:54:24 2741299 385
Уважаемые джаваташеры, вопрос от мелкой пиявки:
Что думаете насчёт курсов яндекса и проч. Альтернативы изучения прогерства?
Чел писал в мануале на этой борде, что курсы хуита и лучше делать "както" самому, что вы думаете по этому поводу?
Если курсы хуита, то какая адекватная альтернатива?(дайте плиз инфу), либо...., пойду дальше изучать эти курсы совместно с изучением книжек(половина содержания которых абстрактны, наверное, так и должно быть)
Сори за кашу
Аноним 22/06/23 Чтв 11:59:31 2741300 386
>>2741299
курсы не хуита, но лучше о них не говорить
Аноним 22/06/23 Чтв 12:31:32 2741313 387
>>2741299
Курсы хуйта
Реальная альтернатива - реально учить программирование, а не заниматься всем, кроме самого программирования
Просто блять садишься и пишешь ебучие калькуляторы и прочую хуйню, ВСЕ
Аноним 22/06/23 Чтв 13:00:48 2741329 388
>>2741049
>>будет тебе одна строка.
Автоформатер сделает 6 строк

>>Хорошая практика - сначала проверить
Эта практика из 15-х. Щас в джаве такую хуйню лучше не писать.
Аноним 22/06/23 Чтв 13:02:41 2741331 389
>>2741313
По отзывам коллег скажу - что курсы не совсем хуита. Если от программизма не фанатеешь и не шибко умен - то курсы норм. Подучат на джуна, можно даже мидлом стать и получать свою сотьгу.
Аноним 22/06/23 Чтв 13:03:02 2741332 390
>>2741299
Как правило курсы для вкатунов - низкого качества. Я вообще не уверен что физически возможно создать хороший курс для современных вкатунов, честно говоря.

Неплохие курсы есть для миддлов-синьоров по какой нибудь низкоуровневой специфике или архитектуре, но это - лотерея.
Аноним 22/06/23 Чтв 13:08:27 2741337 391
>>2741332
Вообще, хороший курс - курс с обратной связью, когда тебе литералли доступен канал связи, куда ты можешь задавать любые свои вопросы людям и получать на них ответы. Если уж связываться с курсами, то только с теми, где она есть. Иногда обратную связь продают как опцию, и вот без обратной связи даже хороший курс становится пустой тратой времени.
Аноним 22/06/23 Чтв 13:11:56 2741339 392
>>2741032
В самой джаве нет, но в либах есть, например Try в vavr'е.
Аноним 22/06/23 Чтв 13:21:08 2741352 393
>>2741329
А какую лучше писать?
Аноним 22/06/23 Чтв 13:23:06 2741354 394
>>2741135
Та блин, думаешь я стал бы задавать вопрос, если б мне было не лень...?
Аноним 22/06/23 Чтв 13:42:16 2741366 395
>>2740074
Хули просто не сделать класс Dice и в нем сделать метод кручения
Аноним 22/06/23 Чтв 13:45:08 2741369 396
>>2741366
Ебать ты умный. Сколько зп?
Аноним 22/06/23 Чтв 13:55:08 2741382 397
Неххуя не понимаю в DDD... какие нахуй агрегаты... что делать вэлью обжектами а что нет... у меня всё энтити...
Аноним 22/06/23 Чтв 13:56:39 2741386 398
>>2741382
Забей, в жабе не применяют DDD.
Аноним 22/06/23 Чтв 14:01:26 2741397 399
>>2741299
Ну смотри сам
Сам я вкатился после двух месяцев самообразования и успешного тестового и интервью
Потом проходил курсы
Один проходил три года, так и не прошел, забросил
Второй проходил полгода, забросил
Третий прохожу два года, из них год хуи пинаю
Если бы я перед поиском работы проходил бы курсы - был бы до сих пор без работы
То что на этих курсах преподают, на работе освоил за полгода-год самостоятельно
Аноним 22/06/23 Чтв 14:02:57 2741401 400
>>2741397
А че в тестовом было и какие темы штудировал?
Аноним 22/06/23 Чтв 14:19:01 2741411 401
Аноним 22/06/23 Чтв 15:02:31 2741451 402
меня короч назначили как default reviewer на один из проектов пул-реквесты проверять у джуниоров.
У нас их 5. Двое из них меня активно уберают как reviewerа. Как это блять понемать? Мне их начинать чмэрить потехоньку?
Аноним 22/06/23 Чтв 15:27:14 2741474 403
>>2741451
Не, ну тут уже не чмырить. Тут тока пиздить.
Аноним 22/06/23 Чтв 15:34:37 2741482 404
>>2741401
Его по знакомству взяли.
Аноним 22/06/23 Чтв 16:46:55 2741553 405
>>2741401
Да, фигня всякая
Написать сервис для бронирования билетов в кинотеатр кажется
Бек, фронт, апи, миграции
Простенькая админка, каталог доступных позиций, личный кабинет, список заказов
Уровень исполнения любой, никаких требований, хоть из говна и палок
Важно показать, что в принципе способен решить задачу
В любом случае на месте дообучают до требуемого уровня
Ну а если можешь чего - по коду будет понятно: какие технологии использовал, насколько легко задача далась, что вообще умеешь
Тутошние мидлы такое за 4 часа накидают. У меня ушла неделя.
За код стыдно конечно, сейчас понимаю что там трешак был. Но и пофиг - все равно взяли.
Аноним 22/06/23 Чтв 16:54:11 2741567 406
>>2741313
> Курсы хуйта
> Просто блять садишься и пишешь ебучие калькуляторы и прочую хуйню, ВСЕ
Вот это самый толковый совет
Но это больно: проблемы на всех этапах.
Сложно выбрать что конкретно хочешь написать. Но сейчас есть всякие рулетки тем, и прикладные проблемы никуда не делись, которые можно решить прям сейчас с помощью простенького кода.
Сложно решать возникающие проблемы: как конкретно решать задачу, что использовать, как разбить? Но сейчас есть чатики - всегда можно спросить совета.
По первости сложно гуглить: непонятно как вопрос сформулировать, что вообще искать. Но с опытом это быстро проходит.
В общем вариант через боль, но очень быстро прогрессируешь, потому что прямо на практике сталкиваешься с проблемами и сам их решаешь - такой опыт потом фиг забудешь.
Аноним 22/06/23 Чтв 18:21:07 2741687 407
на собесе сказал "техлиду" что не люблю хибернейт, его проблемы. Что его нельзя "настроить", что там постоянно надо бороться с какими-то проблемами. Похоже ему не понравилось. Говорю не так как на хабре и в книжках, значит явно мошенник, умные дяди не зря всё это придумывали и форсили. Тяжко
Аноним 22/06/23 Чтв 18:25:09 2741694 408
>>2741451
А в чем проблема? Наоборот хорошо, на два потока говнокода меньше.
Ты же не мерджишь этот код.
Аноним 22/06/23 Чтв 18:29:34 2741701 409
>>2741299
Ищи курсы с менторингом как у Сергея Немчинского
Аноним 22/06/23 Чтв 18:30:00 2741702 410
>>2741687
На Хабре и много где тоже очень многие не любят хибернейт.
Просто вместо обсирания хибера мог бы сказать что любишь и чем оно лучше хибера. Но хибер это дефолт. На 90% вакух на спринг крудах есть хибер и ради тебя его никто не уберет. Поэтому его нужно знать.
Аноним 22/06/23 Чтв 18:34:44 2741706 411
>>2741687
А мне сам техлид на собесе говорил, что ненавидит хибернейт.
Аноним 22/06/23 Чтв 18:56:54 2741738 412
>>2741706
Техлиды уже настолько преисполнились, что наверняка ненавидят и саму java
Аноним 22/06/23 Чтв 20:34:39 2741894 413
>>2741567
Не совсем понятно откуда черпать теорию и в каком порядке её проходить? Я читаю док спринга но это залупа, порой несвязная и непонятно что описывается.

Хотелось бы воспользоваться вниманием и спросить чем лучше связать бэкенд с фронтом для такой практики?
Аноним 22/06/23 Чтв 20:46:59 2741913 414
>>2741894
Начни с http - там все есть для связывания бека с фронтом

Если ты можешь связать бек с фронтом без фреймворка, то ты понимаешь как это работает и всегда докопаешься до истины в случае проблем
Если же ты научишься работать только через фреймворк, то любой шаг в сторону - и у тебя большие проблемы
Аноним 22/06/23 Чтв 20:53:44 2741919 415
>>2741913
http это же сахарок. Тогда пусть на сокетах
Аноним 22/06/23 Чтв 21:04:13 2741929 416
>>2741049
>Хорошая практика - сначала проверить формат отдельным вызовом, а не тупо глотать ошибку и подставлять дефолтное значение, как в пыхоплеяде.
Я бы срал достью, но у меня есть древняя база данных, в которой появляется вот такое говно периодически.
Аноним 22/06/23 Чтв 21:13:41 2741936 417
>>2741929
С такими данными в любом случае придётся Сра дать и писать костыли, какой бы в языке ни был синтаксический сахар.
Аноним 22/06/23 Чтв 21:35:44 2741955 418
>>2741894
>откуда черпать теорию и в каком порядке её проходить? Я читаю док спринга но это залупа, порой несвязная и непонятно что описывается.
Алишев на ютубе
spring otus на nnmclub.to
Для начала за глаза. Остальное, по мере надобности более узкоспециализированное - просто на стековерфлоу, по баелдунгу, отдельным статьям на медиуме, в доке и в сорцах фреймворков.
Аноним 22/06/23 Чтв 21:41:30 2741961 419
>>2741913
А что значит с http в жабе?
С голых сервлетов на томкате?
С HttpsServer?
Аноним 22/06/23 Чтв 21:49:10 2741973 420
на собесе сказал "техлиду" что не люблю ООП, его проблемы. Что его нельзя "настроить", что там постоянно надо бороться с какими-то проблемами. Похоже ему не понравилось. Говорю не так как на хабре и в книжках, значит явно мошенник, умные дяди не зря всё это придумывали и форсили. Тяжко
Аноним 22/06/23 Чтв 21:51:00 2741975 421
>>2741973
>что там постоянно надо бороться с какими-то проблемами.
Например?
Аноним 22/06/23 Чтв 21:53:45 2741980 422
>>2741975
Например развивается шиза и ты хочешь переписать индустриальные стандарты на велосипед из матрешек конструторов.
Аноним 22/06/23 Чтв 21:54:05 2741981 423
>>2740921
эээ бля где Oauth2RestTemplate? где LazyTraceThreadPoolTaskExecutor?
Аноним 23/06/23 Птн 00:17:49 2742107 424
Аноним 23/06/23 Птн 00:37:06 2742127 425
>>2742107
Просто мы можем думать своими мозгами вместо чтения ноунейм гайдов.
Аноним 23/06/23 Птн 01:18:41 2742147 426
image.png 24Кб, 708x122
708x122
>>2742107
Да вы заебали. Вам минусуют зп что ли за эти ебучие строчки?
Аноним 23/06/23 Птн 05:13:51 2742199 427
processing.png 13Кб, 300x300
300x300
Жорик, я питоняша, но сейчас решил возвратиться к истокам и поиграться с processing, там кружочки и квадратики порисовать, всё такое. Последний раз жабу использовал 1.5 версии, тогда дженерики завезли, с процессингом идёт уже 17. Так вот, мало чего уже помню, помоги, такой расклад:

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

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

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

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

Так вот, как в жабе в экземпляр класса инжектить произвольное поле или метод в рантайме?
Аноним 23/06/23 Птн 05:26:55 2742201 428
Аноним 23/06/23 Птн 05:33:10 2742203 429
>>2742199
Декоратор примени.
Аноним 23/06/23 Птн 05:34:48 2742204 430
>>2742203
для декоратора нужно писать километр макака-обвязки.
Аноним 23/06/23 Птн 07:46:48 2742240 431
>>2742204
Тогда засунь декорируемый объект в груви класс и поставь над ним @Delegate. Дальше пиши свои методы.
Аноним 23/06/23 Птн 07:57:40 2742245 432
>>2742204
Просто подключи ломбок
Аноним 23/06/23 Птн 10:00:50 2742357 433
>>2741975
например стандартное деление на слои и статик методы не соответствуют ооп
Аноним 23/06/23 Птн 11:55:14 2742479 434
Как же меня задолбала эта тупая идея! То дрочит с каждым файлом: добавлять ли его в гит. Когда сказал - да, добавляй всё. Это говно теперь какие-то добавляет, а какие-то нет. Говнина тупая! Кто это говно вообще писал!?
Аноним 23/06/23 Птн 11:58:27 2742481 435
>>2742479
Просто выключи гит плагин, он говно
Аноним 23/06/23 Птн 12:04:19 2742484 436
>>2741973
Хуево обосновал значит. Ну вот че это за хуйня?

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

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

Запомните, дети - избегайте на собесе тем-вкусовщин. А если вам такая тема все же перепала, вступайте в полемику только тогда, когда вы - маэстро обьективного ризонинга со стажем 10+, съевший пуд соли на сабже, которому наступили на больную мозоль. В противном случае, будьте как тот попугай из анекдота и говорите "зависит от контекста". Иначе оно вас сожрет нахуй. Интервьюер всегда в более выигрышной позиции в таких темах.
Аноним 23/06/23 Птн 13:04:27 2742552 437
>>2742199
>и я не знаю, которую дёргает IDE.

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

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

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

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

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

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

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

ТЫ НА СИШАРПЫ УЕДЕШЬ!
МАЛОЛЕТНИЙ УРОД!
ПО ЭТАПУ ПОЕДЕШЬ
ЗА ВРАНЬЕ ПРО НАРОД!!!!
Аноним 23/06/23 Птн 15:03:33 2742698 439
>>2741738
Да и жизнь свою тоже
Аноним 23/06/23 Птн 15:04:18 2742699 440
Аноним 23/06/23 Птн 15:08:47 2742706 441
>>2742561
Только не на сишарп!
Аноним 23/06/23 Птн 15:12:45 2742713 442
Обычно умные дядьки советуют делать так, чтобы одни методы возвращали void и производили сайд эффекты, а другие возвращали значение, но без сайд эффектов.

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

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

Подсмотрел такое решение в книге Microservices Patterns with examples on Java.
И это прям супер удобно пока, какие могут быть подводные камни?
Аноним 23/06/23 Птн 17:34:54 2742851 443
Аноним 23/06/23 Птн 17:40:56 2742854 444
Аноним 23/06/23 Птн 17:44:04 2742857 445
>>2742854
Конкретную математику читал? Ну или хотя бы исхуйство пограмирования?
Аноним 23/06/23 Птн 17:48:59 2742864 446
Аноним 23/06/23 Птн 18:04:30 2742892 447
>>2742851
Почти везде достаточно школьной программы: арифметика
Матан нужен там, где есть исследования, да и там зачастую этот матан курят всякие аналитики бигдаты
От программиста не требуется что-то там исследовать, выводить закономерности и прочее, это задача профильных матанщиков
Аноним 23/06/23 Птн 18:29:22 2742923 448
>>2742713
А смысл те колупаться с возвращаемым листом, вместо того, чтобы разослать сообщения прям в void-методе и не открывать коллерам лишних деталей о его имплементации? Что тебе дает этот List<DomainEvent>?
Аноним 23/06/23 Птн 19:04:58 2742957 449
>>2742851
Ты в нюфаге уже спрашивал. Думаешь тебе здесь иначе ответят? Пытаешься в торг?
Аноним 23/06/23 Птн 19:06:55 2742960 450
Аноним 23/06/23 Птн 19:13:52 2742965 451
>>2742713
>какие могут быть подводные камни?

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

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

Да и даже если б был EDT - то с хуяли однопоток? Мы не в джаваскрипте. Кто тебе мешает насоздавать тредов для обработки эвентов в них?
Аноним 23/06/23 Птн 19:51:26 2743001 455
>>2742999
>а микросервисы - уже априори не однопоток.
Т.е. там 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, поэтому он однопоток.
Аноним 23/06/23 Птн 20:03:31 2743007 456
>>2743001
>там ThreadPool<Event>?

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

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

Нет

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

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

Ты всегда можешь тяжелую часть обработчика вынести в пул, и по окончанию обработки кидать обратно в диспатчер тред новы эвент, чтобы по нему уже обновлять UI. Типичный callback-подход к асинхронщине.
Аноним 23/06/23 Птн 20:08:18 2743008 457
>>2743007
>происходит в тред пулах.
Т.е. весь фреймворк тредобезопасен? Заебно, наверное.
Мне только непонятна разница между EDT и его обработкой эвентов. Вроде тоже самое, правда он зачем-то возвращает лист, нахуя...
>Нет
Жадина.
Аноним 23/06/23 Птн 20:11:48 2743011 458
НУЖНА ПОМОЩЬ

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

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

Джависты, ебать помогите пидоры че делать? Слать сразу нахуй вакансию? Сделать стандартным способом? Или пытаться пилить вашу Clean Architecture из говна и палок?
Аноним 23/06/23 Птн 20:15:04 2743015 459
>>2743008
>Т.е. весь фреймворк тредобезопасен? Заебно, наверное.

Да не.

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

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

Не знаю как тебе, а мне вот например непонятно, с чего ты вообще заговорил про EDT в контексте того разговора? EDT ничего никуда никакой лист не возвращает. EDT в свинге это просто тред, который в бесконечном цикле читает и обрабатывает сообщения из некоей очереди сообщений, вот и все.
Аноним 23/06/23 Птн 20:23:14 2743019 460
>>2743015
>с чего ты вообще заговорил
Хочу понять разницу. Нахуя вовзращать лист? Типо без него, это банальный Executor.
Аноним 23/06/23 Птн 20:23:22 2743021 461
>>2743011
Ебать ты всех джавистов затролил дядь-бобой, мое почтение. Какой ты остроумный, я ебал.
Аноним 23/06/23 Птн 20:23:25 2743022 462
Аноним 23/06/23 Птн 20:24:36 2743024 463
>>2743011
Спрашивай в треде про Андроид >>2678699 (OP)
Здесь одни Spring-программисты сидят и ни про какую КлинАрхитектуру не слышали.
Хуле тебе в дотнете не сидится, а?
Аноним 23/06/23 Птн 20:26:42 2743025 464
>>2743019
>Нахуя вовзращать лист?

Дык нинахуя. Я с самого начала так и ответил. Плюсов не прослеживается.
Аноним 23/06/23 Птн 20:29:27 2743027 465
Аноним 23/06/23 Птн 22:23:28 2743102 466
>>2742552
processing это такой язык. по сути это жаба и пара библиотек для рисования квадратиков. у процессинга свой IDE, который под капотом прозрачно оборачивает всё что ты написал в класс PApplet и запускает его. Плюс в том, что можно быстро делать прототипы или алгоритмически рисовать. фабрики createShape() там вызываются без какой-то явной привязки к коду, в зависимости от бекенда p2d, javafx, swing, awt оно там где-то скрытно делает свою магию. что тебе непонятно?

есть один экземпляр класса, как в рантайме добавить в сам экземпляр новый функционал? наследование и декомпозиция нахуй не нужны. жаба на такое способна вообще через рефлекшены или это только прерогатива змеиных людей?
Аноним 23/06/23 Птн 22:28:06 2743106 467
>>2743102
>что тебе непонятно?

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

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

Ну можешь java.lang.reflect.Proxy попробовать.
Аноним 24/06/23 Суб 15:05:25 2743441 468
Аноним 24/06/23 Суб 15:13:41 2743447 469
>>2743441
Спроси на стековерфлоу.
Аноним 24/06/23 Суб 15:25:21 2743454 470
Аноним 24/06/23 Суб 21:51:05 2743695 471
>>2743454
Прикольно. Тогда у ии спроси.
Аноним 24/06/23 Суб 22:46:13 2743730 472
>>2743695
Ии не знает ничего после 2021.
Аноним 24/06/23 Суб 22:47:28 2743732 473
>>2743730
Bing кое как да знает.
Аноним 24/06/23 Суб 22:50:04 2743733 474
>>2743732
Там не у всех доступ же есть.
Аноним 24/06/23 Суб 22:52:21 2743735 475
>>2743733
Всм? Впн врубил и халявно в эдже. Другое дело, что куцый порой, надо вопросы задавать не через жопу.
Аноним 24/06/23 Суб 23:32:51 2743748 476
>>2731922
>Яндекс? Ровно один проект, причем самый днищенский маркет.
бэк музыки и кинопоиска на джаве
Аноним 25/06/23 Вск 01:04:38 2743770 477
А аспекты в спринге вообще часто используют? Просто смотрю, это ж пиздец какой-то - легальный рефлекшн, про который объекты не знают. Ещё по перфомансу эти все прокси обжекты бьют.
Аноним 25/06/23 Вск 01:30:22 2743773 478
>>2743770
Бизнес-логику на аспектах не пишут никогда.
Всякие перехваты ошибок, логи, кеши, проверку доступа иногда могут писать.
Аноним 25/06/23 Вск 01:33:32 2743774 479
>>2743773
А есть примеры какие-то? Про ошибки и кэши интереснее всего.
Аноним 25/06/23 Вск 13:43:54 2743978 480
Аноним 25/06/23 Вск 14:45:23 2744067 481
почему логгеры делаются статическими? Почему не какой-нибудь синглтон?
Аноним 25/06/23 Вск 15:26:36 2744110 482
>>2744067
А почему синглтон? Чё б не делать их статическими?
Аноним 25/06/23 Вск 15:52:17 2744138 483
>>2744067
Статические привязаны к классу, а синглтон к приложению.
Аноним 25/06/23 Вск 16:48:28 2744181 484
>>2744067
Можешь и не статический делать в бине, всем похуй.
Аноним 25/06/23 Вск 20:07:18 2744308 485
>>2744138
Так скоуп и лайфсайкл классов сам по себе в 99% случаев привязаны к приложению. Оставшийся 1% - это какая нибудь класслодерная магия типа OSGi.

>>2744067
Потому что нестатические синглтоны не дают никаких бенефитов, а проблем несут дохуя. Правильный ленивоинициализированный синглтон написать в SE, который бы учитывал многопоточку - задача не такая тривиальная как кажется. А требовать тащить DI контейнер ради логгера-синглтона = пройти нахуй, ибо оверкилл и ненужон.
Аноним 25/06/23 Вск 21:23:59 2744344 486
>>2744308
Я не только про время жизни, а и про количество экземпляров логгера. Он спать будет от имени класса.

К слову, а нахуя делать ленивые синглтоны? Они очень редко дают профиты.
Аноним 25/06/23 Вск 22:20:04 2744370 487
>>2744344
>Он спать будет от имени класса

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

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

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

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

Нинахуя. Если ты не на собесе, самому вообще никогда не надо делать синглтоны. Либо пусть спринг делает, либо выносись в статику и енамы.
Аноним 25/06/23 Вск 22:23:35 2744371 488
image.png 11Кб, 1034x169
1034x169
>>2744370
>Будет один на класс.
Ну вот. В случае статики один на класс, в случае синглтона одно на приложение.
>Кто спать будет?
Срать. Пик.
Аноним 25/06/23 Вск 22:27:29 2744372 489
>>2744371
Так один логгер на приложение с потребительской точки зрения - это хуйня постная. Эдак и логгинга не надо - пиши все в System.out.println, будет он для тебя выступать как один логгер на приложение.
Аноним 25/06/23 Вск 22:29:17 2744376 490
>>2744372
Ну я имею ввиду, что синглтон не будет множить экземпляры. Следовательно индивидуальные для класса настройки не сделать. Правда есть ли они, но вроде вот по getLogger - есть.
Да и sout в любом случае хуита, ибо ее можно легко закрыть и никогда больше не открыть.
Аноним 25/06/23 Вск 22:39:37 2744378 491
>>2744376
Ну чел, ну хули ты душишь - "экземпляры множить"... У тебя один экземпляр на класс в худшем случае - все, прям экземпляров наплодил, пиздец пацаны, футпринт в хламину ебана...

Это во первых

Во вторых - есть логгер, и есть LoggerFactory (в slf4j). Имплементации оного стараются кэшировать логгеры для одинаковых вызовов getLogger, что какбэ тоже не способствует существованию избыточного количества логгеров.
Аноним 26/06/23 Пнд 01:53:11 2744427 492
>>2730933 (OP)
Аноны, поясните кто нибудь за работу.
Есть ли она на жаве в рф?
Что обычно пишут? Веб приложухи? Какой то софт?
Какие зп? Реально ли в 2к23 вкатиться?
Аноним 26/06/23 Пнд 01:53:45 2744428 493
>>2744427
Нихуя нет. Вкатится анриал. Иди в шарпы.
Аноним 26/06/23 Пнд 02:13:06 2744432 494
>>2744427
> Есть ли она на жаве в рф?
Есть, я же работаю.
> Что обычно пишут? Веб приложухи? Какой то софт?
Пишут энтерпрайз. Вебом это называют редко, потому что вся суть именно в бизнес-логике на сервере, а от веба там только фронтальная часть, которая может быть и десктопом, и мобилкой, и другим сервисом.
> Какие зп?
100 для джунов, 150+ для миддлов, 300+ для сеньоров.
> Реально ли в 2к23 вкатиться?
Реально.
Аноним 26/06/23 Пнд 11:29:37 2744626 495
>>2744432
>300+ для сеньоров
Сеньоры нынче до 300к. И 300к - это действительно сеньор, а не перекладывание жысонов в крудах на спринге. Т.е. это проекты и задачи уровня компаний МЯСКОТ.
Аноним 26/06/23 Пнд 18:27:32 2745160 496
>>2744626
Чуваку на Хабре вон 400к предлагали. Он взял и в три конторы параллельно подал, а потом каждой из контор сказал что другая предлагает больше. В итоге получил предложение на 700к.
Какие нафиг 300, если за 200 пыхапэ-макаки формошлепствуют?
Это java - тут же немножко мозга приложить нужно, это должно стоить больше.
Аноним 26/06/23 Пнд 18:44:14 2745172 497
sp.JPG 17Кб, 526x197
526x197
>>2745160
>>тут же немножко мозга приложить нужно
Можно и не прикладывать.
Аноним 27/06/23 Втр 01:28:14 2745602 498
Бля, есть где-нибудь диаграмма взаимоотношений micrometer metrics, observation, tracing и context-propagation? Никак не умещу все в голове.
Аноним 27/06/23 Втр 08:09:45 2745657 499
>>2745160
Он сам готовился или через курсы?
Аноним 27/06/23 Втр 08:18:50 2745659 500
>>2745657
Курсы, учится самому кринж.
Аноним 27/06/23 Втр 09:24:09 2745701 501
Из серии глупых вопросов.
Как конкретно создаются @Bean в конфиге? Еще непонятен момент, как именно подменяются вызовы внутри этих бинов на другие бины. Правильно я понимаю, что это можно представить как прокся factory-bean из xml контекста? Типа создаются прокси фабрики и навешивается scope на их фабричный метод, а также все вызовы старого метода подменяются вызовом прокся-метода.
Еще непонятно чем конкретно отличаются Service и Component, вообще не понимаю, когда мне одно вешать, когда другое.
Аноним 27/06/23 Втр 12:58:39 2745921 502
>>2745701
>Из серии глупых вопросов.

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

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

По сути, для спринга разницы литералли никакой. Service - просто метка для кодера что вот тут вот лежит бизнес логика. Да - звучит бредово, но это так.
Аноним 27/06/23 Втр 13:31:56 2745944 503
image.png 39Кб, 727x356
727x356
>>2745921
>Наверни в ютубе Борисова "спринг-потрошитель".
Я смотрель, там не было момента про конкретно это. Скажи насколько я прав в своих рассуждениях...
>По сути, для спринга разницы литералли никакой.
Я по етому и спрашиваю. Если так рассуждать, то в сервисах декларация того, что должно делать приложения, в компонентах, то как оно это делает. Хотя контроллеры - это компоненты, сложно как-то.
Аноним 27/06/23 Втр 13:50:29 2745967 504
>>2745944
Ну как это - "не было". Если я правильно помню, все было. Спринг сканирует аннотации в конфиге, из которых выводит биндефинишены, в которых вся инфа о бинах, его зависимостях, их типе, параметрах и.т.д. На основе биндефинишенов создаются бины, далее либо бины инжектятся друг в друга, либо вместо бина инжектится прокся, которая развязывает скоупы.

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

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


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

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

Просто забей. Пусть тебе ревьюеры на кодревью скажут, что они хотят над бинами видеть.
Аноним 27/06/23 Втр 14:12:29 2745988 505
image.png 24Кб, 472x308
472x308
>>2745967
>С чего бы спрингу подменять вызовы бинов?
Пик. Это wiring, вроде тоже. Из-за этого s2 = true.
>На основе биндефинишенов создаются бины
Ну т.е. из этого дефинишина спринг может как создать прокся класс, так и взять существующий?
>Просто забей. Пусть тебе ревьюеры на кодревью скажут, что они хотят над бинами видеть.
Понял...
Аноним 27/06/23 Втр 14:21:50 2745995 506
image.png 59Кб, 557x685
557x685
>>2745988
Хм, судя по всему, создается прокся объект конфига, который все вызовы this подменяет.
Аноним 27/06/23 Втр 16:31:16 2746150 507
Аноним 27/06/23 Втр 16:32:48 2746154 508
Аноним 27/06/23 Втр 16:35:58 2746164 509
Аноним 27/06/23 Втр 16:44:31 2746182 510
>>2746164
Тамушта кнута надо.
Аноним 27/06/23 Втр 18:20:06 2746313 511
Ебать как же я люблю Spock....
Аноним 27/06/23 Втр 18:27:14 2746322 512
Аноним 27/06/23 Втр 19:21:55 2746428 513
Может кто-то знает какую-то ебейшую тему для IntellIJ? Стандартная заебала.
Аноним 27/06/23 Втр 19:25:58 2746435 514
Аноним 27/06/23 Втр 19:29:32 2746441 515
>>2745921
>Борисова "спринг-потрошитель"
Смотрел два раза. До и после изучения Спринга. Первый раз вообще ничего не понял. Второй раз понял только то, что и так знал. У него просто талант рассказывать максимально непонятно. Ещё и манера подачи мне не нравится, куда-то вечно торопится, как-будто его одни гении смотрят и способны за секунды разбирать то, что он показывает. Сам-то он наверняка эти моменты часами обдумывал. Ещё негативный момент, что он Спринг-евангелист и из-за таких как он нет выбора фреймворков для джавы.
Аноним 27/06/23 Втр 19:33:49 2746449 516
>>2746441
я вообще не понял смысла всего этого. Городить кучу кода с учетом знаний кишочка спринга чтобы сделать магию на аннотации.
Но магия это ведь плохо. Магия это неожиданное поведение, конфликты, необходимость знать про эту магию и учитывать её. Сломается эта магия или где-то на стыке двух магий и пиздец
Аноним 27/06/23 Втр 19:46:49 2746473 517
>>2746449
Я тоже. Есть ООП, которое позволяет всё тоже самое писать, и проверки будут на стадии компиляции. Но нет, навернём миллион бесполезных конструкций, чтобы нагружало систему в рантайме.
Аноним 27/06/23 Втр 19:49:51 2746476 518
>>2746435
Ты пользуешься ею? Слишком контрастная по-моему.
Аноним 27/06/23 Втр 19:52:42 2746483 519
>>2746441
>>2746449
>>2746473

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

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

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

Литералли все СУБД сегодня поддерживают транзакции. Как конкретно каждая из СУБД это делает - вопрос к конкретной СУБД.
Аноним 27/06/23 Втр 20:20:18 2746516 523
>>2746498
>конкретной СУБД.
MySQL пусть будет.
>е пойдет. У тебя весь стейт, к которому конкуррентный доступ, в базе.
Имею ввиду взять значение до завершение транзакции и на его основе что-то сделать. Ну или записать значение в одной транзакции, а другая откатит.
Получается бд всех участников guarded by a lock и спринг этих участников ей посылает? Или она вообще всю табличку ебает на локу?
>>2746496
Можешь статейку скниуть...?
Аноним 27/06/23 Втр 20:27:57 2746526 524
>>2746516
транзакциями занимается база. В коде ты можешь только слать команды начала, коммита или отката транзакции
Аноним 27/06/23 Втр 20:29:41 2746530 525
>>2746526
>команды начала, коммита или отката транзакции
Пакажи их спецификацию, пожалуйста.
Аноним 27/06/23 Втр 20:36:08 2746535 526
Аноним 27/06/23 Втр 20:42:19 2746545 527
>>2746516
Это уже вопросы изоляции транзакций
Тут БД можно настроить по-разному
При одних настройках транзакции не изолированные, при других изолированные
Вообще эта тема к программированию не относится - это именно работа СУБД. Тут очень много тонкостей и особенностей.
Все они +/- следуют некому общему стандарту, но в деталях пиздец как отличаются, и без учета особенностей конкретной СУБД можно быстро сесть в лужу
Аноним 27/06/23 Втр 20:45:09 2746553 528
rR317FvSky.png 67Кб, 826x660
826x660
>>2746535
кстати нашел какие-то кишочки
Аноним 27/06/23 Втр 20:49:02 2746559 529
>>2746516
>Получается бд всех участников guarded by a lock и спринг этих участников ей посылает? Или она вообще всю табличку ебает на локу?

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

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







Честно говоря, я вот щас даже сам с наскоку не вспомню всех нюансов.
Аноним 27/06/23 Втр 20:50:34 2746560 530
>>2746545
ну я примерно освоил эти изоляции.
в постгре изоляция по дефолту read commited, видны только закоммиченные данные. Не защищает от потери данных в случае параллельного коммита.

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

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

Если у нас чтение и запись в разных транзакциях - обязательно делать оптимистическую блокировку. Проверять что данные между чтением и записью не изменились
Аноним 27/06/23 Втр 21:07:39 2746585 531
>>2746545
>>2746559
Пасиба. А то я думал, что эти транзакции на уровне жавы только, а они оказывается бдшкой обеспечиваются.
>>2746535
Надо будет разобраться хотя бы для пары бд более менее нормально.
>>2746553
Это откуда?
Аноним 27/06/23 Втр 21:15:35 2746592 532
Аноним 27/06/23 Втр 21:23:12 2746598 533
aHsEElpH8F.png 795Кб, 1223x691
1223x691
пиздец какой-то. Страшный костыль с рефлексией чтобы обойти костыльное поведение спринга.
Прям здесь бы и писал свою бизнес-логику
Аноним 27/06/23 Втр 21:49:50 2746610 534
>>2746598
Спойлер, через пару лет он доложил, что этот способ наебнул ему проект.
Аноним 27/06/23 Втр 22:33:50 2746637 535
>>2746598
Нехуй всяких говнокодеров смотреть.
Аноним 27/06/23 Втр 23:35:22 2746683 536
>>2746610
>этот способ наебнул ему проект
Подробнее где можно узнать? Какие выводы он сделал?
Аноним 28/06/23 Срд 05:53:52 2746747 537
Аноним 28/06/23 Срд 13:39:31 2747101 538
>>2746449
Это магия только для тебя тк ты вкатыш. Для человека который знает как работает спринг все предельно понятно и предсказуемо
Аноним 28/06/23 Срд 13:49:24 2747111 539
>>2747101
Именно поэтому его метод нерабочий по итогу оказался? Так все панятно и предсказуемо?
Аноним 28/06/23 Срд 13:50:28 2747113 540
>>2746598
Что такое рефлексия?
Аноним 28/06/23 Срд 13:52:14 2747116 541
Аноним 28/06/23 Срд 13:53:13 2747117 542
>>2747113
Посмотрел пример на вики.
Type type = System.Type.GetType("Foo");
var foo = Activator.CreateInstance(type);
foo.GetType().GetMethod("Hello").Invoke(foo, null);
И зачем это надо? какое практическое применение? выглядит стремно
Аноним 28/06/23 Срд 13:54:19 2747118 543
>>2747117
Ты долбоеб? У тебя пример в пике на то, что ты отвечал.
Аноним 28/06/23 Срд 13:56:28 2747122 544
>>2747118
Там ничего не понятно. Сам долбаёб, я тебя не оскорблял
Аноним 28/06/23 Срд 13:57:23 2747123 545
>>2747122
Я вопрос задал, обиженка.
>Там ничего не понятно
Твои проблемы.
Аноним 28/06/23 Срд 13:58:16 2747126 546
>>2747123
все ооп-анальники такие злые? и я на тебя не обижался, ещё мне на какую-то скриптомакаку обиды держать, хах
Аноним 28/06/23 Срд 14:00:41 2747127 547
image.png 16Кб, 1217x171
1217x171
>>2747126
>все ооп-анальники такие злые?
Да. Я тебе ссылку дал, там написано прямо, нахуя это нужно. Также в википедии наверняка пишут.
>хах
Верю.
Аноним 28/06/23 Срд 14:01:22 2747129 548
>>2747117
создание магии и всякие манипуляции, которые невозможны обычным синтаксисом.
Например копирование объекта, филды которого скрыты и защищены
Аноним 28/06/23 Срд 14:03:13 2747131 549
>>2747101
настолько предельно понятно, что эту сраную лекцию возносят как грааль. Т.е. никто до этого не знал, и в мануалах это не описывается настолько подробно
Аноним 28/06/23 Срд 14:03:26 2747132 550
>>2747129
>Например копирование объекта, филды которого скрыты и защищены
Это ж clone паттерн. Зачем здеся рефлексия?
Аноним 28/06/23 Срд 14:03:59 2747134 551
>>2747131
Такие как ты вкатыши и возносят. Остальным все понятно.
Аноним 28/06/23 Срд 14:16:27 2747155 552
>>2747132
а если объект не реализовал своё клонирование и ты не можешь его править?
Аноним 28/06/23 Срд 14:20:12 2747163 553
>>2747155
Ну значит не нужно его править. Тут как с intterput у потоков, ты проста берешь и надеешься, что поток реализовал у себя адекватное прерывание. А stop не применяешь примерно никогда. Если тебе надо клонировать защищенные, с точки зрения апи объекты, то ты точно что-то делаешь не так. Тем более, что рефлексия бьет по перфомансу.
Аноним 28/06/23 Срд 14:21:49 2747165 554
>>2747163
ну вот чувак реализует поведение через рефлексию, оперируя кишочками спринга. Это нормально?
Аноним 28/06/23 Срд 14:23:12 2747168 555
>>2747165
Ну он не взаимодействует с объектами вообще. И это происходит во время запуска бута, а значит +-похуй на перфоманс. Так что да, че нет-то?
Аноним 28/06/23 Срд 14:24:01 2747173 556
>>2747129
Нихуя. Это следствие, а не цель.

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

По дефолту, если ты не занимаешься метапрограммированием и не лабаешь какой нибудь системный тул для анализа и инструментирования кода, рефлексия считается запрещенной техникой.
Аноним 28/06/23 Срд 16:55:09 2747397 557
image.png 62Кб, 797x149
797x149
Дичь какая-то. В какой момент неявность стала преимуществом?
Вон же, говорят, что там усе понятно и ясно >>2747101
Аноним 28/06/23 Срд 17:17:48 2747432 558
>>2747397
Здесь речь не о неявности, а о универсальности.

Правда, это ещё и пиздёж.
Аноним 28/06/23 Срд 17:21:05 2747437 559
>>2747432
Не-не. Именно о неявности, Мол спринг ахуенный инвазивный и в отличии от других Фреймворков не вставляет кучу своего апи. По мне - это неявность. Ну и да, мол вообще потом этот код можно вне спринга использовать(Ахуенные истории)
Аноним 28/06/23 Срд 17:23:28 2747441 560
>>2747437
>инвазивный
Не инвазивный*
Аноним 28/06/23 Срд 20:47:58 2747673 561
>>2747437
Это просто маркетинг. Анальникам очень хорошо продаются истории про минимум кода, неявность и неинвазивность.
Аноним 28/06/23 Срд 21:07:08 2747680 562
image.png 38Кб, 551x533
551x533
>>2747673
>неявность
Доколе это терпеть...
Аноним 28/06/23 Срд 21:32:12 2747704 563
Аноним 28/06/23 Срд 21:44:14 2747719 564
image.png 24Кб, 757x266
757x266
image.png 32Кб, 781x244
781x244
image.png 23Кб, 787x217
787x217
>>2747704
Хуйню какую-то несет не к месту. Зачем это все?
Аноним 28/06/23 Срд 21:47:35 2747725 565
Аноним 28/06/23 Срд 21:52:58 2747731 566
image.png 57Кб, 724x315
724x315
>>2747725
Мне по каждому пункту пояснять?
Расширения файлов определяет ос, жава тут ничего сделать не сможет. Вот какое расширение у *.tar.gz? А у sh скрипта без точки вообще?

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

К чему здесь телега про названия?
Аноним 28/06/23 Срд 21:58:13 2747732 567
>>2747680
Да-да, (д)жаба лучше гадюки, классика
Аноним 28/06/23 Срд 22:05:15 2747744 568
Аноним 28/06/23 Срд 22:20:33 2747759 569
>>2747744
Ну это хуйня такая же, что и в хабре написано. Вам серьезно нужны функции над функцией? Сплит по точке, latindex и firstindex. Я хуею, а апач индусы качают что ли, которые is_odd написать не могут?
Аноним 28/06/23 Срд 22:45:05 2747769 570
Ебала жаба гадюку.
Аноним 28/06/23 Срд 22:59:00 2747776 571
Аноним 28/06/23 Срд 23:24:09 2747802 572
>>2747776
В чем вообще смысл этого язычка? мало того что синтаксис непонятный, так ещё и надстройка над жабой
Аноним 28/06/23 Срд 23:45:22 2747830 573
>>2747802
>так ещё и надстройка над жабой
Не совсем надстройка, да и минусы будут?
Аноним 28/06/23 Срд 23:48:53 2747835 574
>>2747802
Заебал синтаксис кобола, хочется тоже почувствовать себя хипстерами. Конечно синтаксис непонятный, разве он бывает хоть в одном языке понятным без изучения? Я когда учил жабу после сишки, тоже не понимал нихуя.
Аноним 28/06/23 Срд 23:52:32 2747839 575
Аноним 28/06/23 Срд 23:56:59 2747844 576
>>2747830
Ну, да, больше над самой этой экосистемой. Я кстати так понимаю у них и выбора другого не было, ведь в андроид в VM выполняется, своё они вряд ли могли привнести
Аноним 28/06/23 Срд 23:58:41 2747846 577
>>2747844
Какого выбора, ты про что? Они просто фанаты жабы и все. У них иде для нее и на ней написана. И они всрали просто дохуя бабла в этот яп, который чудо что взлетел, а ведь мог и не взлететь.
Аноним 29/06/23 Чтв 00:04:42 2747850 578
>>2747846
Хотя, смотрю эклипс тоже на жабе написан. А вот vscode не на шарпе. Делаем выводы.
Аноним 29/06/23 Чтв 00:20:44 2747857 579
>>2747850
Увы, все IDE для жабы написаны на прожорливой неповоротливой жабе.
VSCode не на шарпе, да. Мелкие неклепали дохуя шарповых говнолиб для гуя и сами же боятся их использовать, да и поддерживать линукс не хотят, ибо не профитно.
Аноним 29/06/23 Чтв 00:22:24 2747858 580
>>2747857
>написаны на прожорливой неповоротливой жабе.
Не гони на наш хлеб. HotSpot ахуенен, просто у кого-то руки кривые.
Аноним 29/06/23 Чтв 01:12:55 2747877 581
2023-06-27T12:00:00+03

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

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

должна же быть такая хуйня, но не работает
Аноним 29/06/23 Чтв 01:16:48 2747880 582
Аноним 29/06/23 Чтв 01:54:08 2747892 583
>>2747877
бля хуй знает братан
Аноним 29/06/23 Чтв 07:51:13 2747947 584
Написал 1000 юнит тестов за месяц. Благодаря ним нашел целых 2 бага. Вопрос. Нахуя нужны тесты.
Аноним 29/06/23 Чтв 07:55:27 2747952 585
>>2747947
Па фану. Серьёзные люди доказывают работу алгоритма, а не тестируют.
Аноним 29/06/23 Чтв 10:01:36 2748009 586
image.png 112Кб, 1027x284
1027x284
А хде можно почитать про различия контрактов?
Аноним 29/06/23 Чтв 10:26:41 2748024 587
>>2747947
Вообще нахуй не нужны. Только когда у тебя жизненно важная функция и тебе нужна абсолютная гарантия детерминизма
Аноним 29/06/23 Чтв 10:38:54 2748031 588
>>2748009
Contract-first - когда сначала пишешь XSD, а под сгенерированные по ней типы пишешь уже логику на жабе. Предполагается, что эту XSD ты потом передашь потребителю сервиса, чтобы он на своей стороне генерировал по ней типы.
А с Contract-last всё пишешь на жабе.
Аноним 29/06/23 Чтв 11:16:55 2748043 589
>>2747952
>доказывают работу алгоритма
Это невозможно.
Аноним 29/06/23 Чтв 11:45:30 2748069 590
>>2748043
Невозможно в общем случае. В частных случаях доказать можно.
Аноним 29/06/23 Чтв 12:15:32 2748104 591
>>2748043
Можно, можно. Есть даже инструменты для этого https://github.com/coq/coq
Вроде с его помощью или другим доказывали сортировки.
Аноним 29/06/23 Чтв 12:35:39 2748120 592
>>2748031
Чет по описанию, хуета какая-то. Нахера мне генерить классы?
Еще автор говорит, что last уступает first. Мб я тупой...
Аноним 29/06/23 Чтв 14:01:39 2748187 593
>>2748120
>Нахера мне генерить классы?

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

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

Единственный душный момент - ты становишься привязан к тому, как тебе по спеке генераторы код пишут. Генераторы очень рознятся по качеству, и могут не поддерживать (или поддерживать не так как ты ожидаешь) отдельные фичи, вроде аплоуда файла.
Аноним 29/06/23 Чтв 15:10:01 2748273 594
>>2748187
Хмм, пасиба огромное, что пояснил. Теперь гораздо понятнее
Аноним 30/06/23 Птн 10:34:04 2748787 595
image.png 228Кб, 699x761
699x761
Я правильно понял, что прокси мод создает лист из реальных объектов с большей видимостью? И любое обращение будет проходится по этому массиву. Даже не так, получается все вызовы размножатся таким образом, что вместо один к многим получится один к одному. Типа если сервис сначала получает данные от сессии, не знаю, список товаров, и посчитает общую сумму, то для каждой сессии будет своя сумма? Хотя это бред какой-то, зачем все сессии обрабатывать-то сразу.
Аноним 30/06/23 Птн 10:44:31 2748797 596
Аноним 30/06/23 Птн 10:47:59 2748803 597
image.png 3Кб, 268x43
268x43
>>2748797
Spring in Action, 4th Edition
3.4.1 Working with request and session scope
Аноним 30/06/23 Птн 11:02:40 2748822 598
Аноним 30/06/23 Птн 11:04:36 2748826 599
image.png 466Кб, 707x753
707x753
>>2748822
В новейшей редакции это вырезали. Вопрос остается, как эта хуйня вообще работает.
Аноним 30/06/23 Птн 11:29:07 2748854 600
image.png 6Кб, 89x275
89x275
image.png 8Кб, 224x73
224x73
image.png 36Кб, 726x353
726x353
>>2748787
Решил потыкать, вроде как кандидат выбирается исходя из того, кто вызвал.
Надо понимать, расчет идет на то, что все вызовы будут идти таким образом, что Scope будет идти от многих к одному. Интересно, возможна ли иная ситуация...
Аноним 30/06/23 Птн 11:32:31 2748857 601
>>2748854
Конкретизируя - это ThreadLocal, где Thread заменены на Request/Session.
Аноним 30/06/23 Птн 12:30:58 2748917 602
>>2748787
>Я правильно понял, что прокси мод создает лист из реальных объектов с большей видимостью?

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

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

Так да. Сам подумай - вот есть у тебя рест. В ресте выполняется запрос. Он определяет реквест-скоуп - для каждого реквеста будет свой реквест-скоуп бин. Далее - реквесты у тебя обычно выполняются в контексте серверной сессии. Сессия определяет session scope. И так далее. А теперь сам ответь на свой вопрос - зачем все сессии обрабатывать сразу, если у тебя выполняется конкретный запрос с конкретной сессией?
Аноним 30/06/23 Птн 12:42:24 2748931 603
>>2748917
>А теперь сам ответь на свой вопрос - зачем все сессии обрабатывать сразу, если у тебя выполняется конкретный запрос с конкретной сессией?
Ну я изначально и подумал, что это бред какой-то. Теперь думаю, что можно проанализировать стек вызовов и определить нужный в данный момент реквест и сессию. Возможно там как-то иначе реализовано, но в общем-то суть в том, что сервисные методы вызывает реквест или сессия. Потому все еще вомзожно определить, какой бин надо подставить. Плюс так проблем с многопоточностью не будет.
Тут я выше аналогию с ThreadLocal проводил, только вместо того, чтобы привязывать объект к конкретному треду, мы привязываем его к реквесту/сессии.
>пошел бы смотреть имплементацию.
Я не настолько хорошо разбираюсь в кишках спринга, чтобы найти на каком этапе начинается реализация scope.
Аноним 30/06/23 Птн 12:52:48 2748940 604
Учился в IDEA, но ученическую лицензию получить не смог - потому встал выбор между Eclipse и NetBeans.
Какую IDE выбрать?
Какая лучше, удобнее?
Аноним 30/06/23 Птн 12:54:12 2748941 605
>>2748931
Я там пошаманил и заставил вызывать не из реквеста:
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.

Короче, вроде так оно и работает.
Аноним 30/06/23 Птн 12:54:53 2748943 606
Аноним 30/06/23 Птн 12:55:25 2748944 607
Аноним 30/06/23 Птн 12:56:18 2748946 608
>>2748940
Я на нетбинсе долгое время работал. В свое время была пушка, но щас чет уже глючит.

А чем тебея Idea community не подходит?
Аноним 30/06/23 Птн 12:56:25 2748947 609
>>2748943
Для Java Spring подойдет VSCode?
Аноним 30/06/23 Птн 12:57:05 2748948 610
>>2748946
Java Spring приложение делать учусь
Аноним 30/06/23 Птн 12:57:49 2748950 611
>>2748947
Да, там даже расширение бесплатное есть. А на идею спринг только платно идет.
Аноним 30/06/23 Птн 12:57:50 2748951 612
>>2748948
И че? По твоему в коммьюнити на спринге чтоли нельзя кодить?
Аноним 30/06/23 Птн 12:59:16 2748956 613
Аноним 30/06/23 Птн 12:59:50 2748957 614
Аноним 30/06/23 Птн 13:00:11 2748959 615
>>2748956
бины зелёненьким не будет подсвечивать и всё
Аноним 30/06/23 Птн 13:00:19 2748960 616
>>2748940
Берешь и просто каждый месяц бесплатную идею получаешь.
Аноним 30/06/23 Птн 13:00:46 2748961 617
Аноним 30/06/23 Птн 13:01:41 2748966 618
>>2748960
Не работает - пробовал через vpn и другие браузеры регать аккаунты на новые почты.
Пишет "На этом компьютере триал уже был активирован".
Аноним 30/06/23 Птн 13:03:33 2748971 619
image.png 73Кб, 812x873
812x873
>>2748966
Ну хуй знает. Я вот CLion брал на месяц - шел третий по счету, но никто блочить не собирается. Винду переустанови, не знаю.
Аноним 30/06/23 Птн 13:06:50 2748978 620
>>2748971
Там вроде бы цимес в том, что если ты его прям покупал, у тебя эта лицензия стала бессрочной, но на конкретную версию, без апгрейдов. С бесплатными так не прокатит.
Аноним 30/06/23 Птн 13:07:44 2748981 621
>>2748978
Я ни копейки жидбрейнсам не занес. Да и они уже не возьмут. По моему произошла чудовищная ошибка, а я и не против.
Аноним 30/06/23 Птн 14:29:40 2749089 622
image.png 102Кб, 754x632
754x632
>>2748826
Вообще полистал эту редакцию, там даже вот этого нет.
Странно, зачем столько вырезать.
Аноним 30/06/23 Птн 14:32:46 2749092 623
Аноним 30/06/23 Птн 14:34:11 2749096 624
Аноним 30/06/23 Птн 14:36:04 2749099 625
>>2749096
всм че за мусор книга в которой даже лайфсайкла бина нет
даже в материале для новичков >>2747704 это есть
Аноним 30/06/23 Птн 14:38:45 2749108 626
>>2749089
В новой редакции посчитали, что вкатунам это знать не нужно.

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

Ну вот чтоб устаревала пореже, приходится абстрагироваться.
Аноним 30/06/23 Птн 14:40:09 2749112 627
>>2749099
Я хз, новая редакция.
Да и на статье хабра не так структурировано, да и черт знает для новичков ли. Вот какой-нибудь Spring Start Here эт да. Прям для дебилов разжевано. И тоже нет вот такой схемы.
>>2749108
Да похуй, всегда можно почитать ченджлог. Она в общем-то актуальна для 4 спринга.
Аноним 30/06/23 Птн 16:59:50 2749283 628
Интересно, у джавы есть свой тред. Что же вы тогда серите в овсех остальных тредах?
Аноним 30/06/23 Птн 17:08:19 2749310 629
>>2749283
Кто где серит? Пакажи.
Аноним 30/06/23 Птн 17:11:18 2749315 630
>>2749310
Открываешь любой тред, возможно кроме плюсов и лиспа (джависты умнее всех, поэтому серят в тредах питонистов\пубистов\пхпистов\жсистов, но вот в тредах языков, где не наворовать смехуечек с баша их почему то нет), читаешь последние 10 постов, в каждом будет залетный элитист "ваш язык хуйня, работы нет, учите джаву"
Аноним 30/06/23 Птн 17:14:16 2749321 631
>>2749315
Это обиженная шарпоблядь дискредитирует
Аноним 30/06/23 Птн 17:14:33 2749323 632
>>2749315
Пруфы кидай, ссылками. Пока что серишь здесь только ты под себя.
Аноним 30/06/23 Птн 17:21:01 2749334 633
>>2749315
>учите джаву
Жависты хитрые и обычно призывают учить шарп, котлин в крайнем случае. Мол жава старая, многословная, медленная и прожорливая - зачем она вам.
Аноним 30/06/23 Птн 17:23:10 2749337 634
>>2749334
Кек, то есть все залетные шарпеи в джава-треде - на самом деле латентные джависты? Это многое обьясняет.
Аноним 30/06/23 Птн 17:42:18 2749366 635
2023-06-3019-41[...].png 11Кб, 563x220
563x220
Ух, как же хорошо с фумигатором! Раньше мухи кусали, а теперь только видишь их валяющиеся на полу трупы.
Аноним 30/06/23 Птн 17:47:40 2749374 636
Ебали мухи шарпея
Аноним 30/06/23 Птн 18:08:48 2749390 637
Женечка, расскажи за уникальные имена пакетов. я правильно понимаю, что на них всем похуй, если они уникальные, то есть не будут пересекаться (с любыми другими сторонними пакетами)? так что я могу выбрать your.ripped.ass и будет норм.
Аноним 30/06/23 Птн 18:27:17 2749409 638
>>2749390
выбирай домен своей компании

ru.pupkin.project_name
Аноним 30/06/23 Птн 18:29:45 2749411 639
>>2749409
яж мамкин погромист, стаж полчаса, живу у мамы в домене
Аноним 30/06/23 Птн 18:31:29 2749414 640
>>2749411
Тогда com.example.
Или регистрируй домен на гитхабе: io.github.smalldick
Аноним 30/06/23 Птн 18:31:56 2749415 641
Аноним 30/06/23 Птн 18:34:17 2749417 642
>>2749337
Именно так. Зачем растить конкурентов, если можно заманить их в шарп. Раньше с питоном так делали, пока там рынок не заполнился под завязку.
Аноним 30/06/23 Птн 18:44:03 2749430 643
Аноним 30/06/23 Птн 18:53:13 2749439 644
>>2749430
>vasya_pupkin
>project_name
Предпочитаю делить на два разных пакета.
Аноним 30/06/23 Птн 19:00:42 2749458 645
>>2749439
m.y.v.a.s.y.a.p.u.p.k.i.n.p.r.o.j.e.c.t.n.a.m.e
Аноним 30/06/23 Птн 19:01:51 2749459 646
>>2749458
Смысл твоего высера?
Аноним 30/06/23 Птн 19:01:54 2749460 647
>>2749458
А какой уровень вложенности максимален у фс? 256? Или 64536?
Аноним 30/06/23 Птн 19:04:22 2749465 648
>>2749460
127. Уровня влажности нет, есть только ограничение длины пути, половину которого съедают слеши папок.
Аноним 30/06/23 Птн 19:07:14 2749471 649
>>2749465
Тогда и имя тома + "://" еще сжирать должны. Если мы про абсолютный.
Мне вот интересно, а как компании обходят эти ограничения? Модифицируют ntfs или ставят другие фски? Или вообще похую и раз максимум 256, то пусть будет 256
Аноним 30/06/23 Птн 19:12:22 2749477 650
>>2749471
Имя тома нет смысла хранить, оно всегда одинаковое, просто таблиц несколько.
Компании просто запускают всё на специальной виртуальной ФС, где длина пути может быть хоть 10 терабайт.
Аноним 30/06/23 Птн 19:53:35 2749539 651
Насколько сложно устроиться жабисту на удалёнку в другую страну?
Аноним 30/06/23 Птн 20:11:58 2749562 652
>>2749539
Анриал вообще. Да и в других странах шарп. Я думаю ты не тот язык выбрал.
Аноним # OP 30/06/23 Птн 20:31:12 2749602 653
Используйте регулярку (шарп|шорп|джэ|жэв|жээ|С#|C#).
Аноним 30/06/23 Птн 20:32:51 2749608 654
>>2749602
Зачем? Ты тег жавы проебал из-за регулярки?
Аноним 30/06/23 Птн 20:34:45 2749613 655
Аноним 30/06/23 Птн 20:36:50 2749620 656
>>2730933 (OP)
Аноны, хочу за лето вкатиться в жаву
Я заводчанин, образование социолог Думаете получится?
Пока зарегистрировался на гикбренсе и даваруш и скачал Алгоритмы на Java.
Ваши советы как не проебать время, выучить как можно больше за лето и к осени найти работу разрабом хотя бы за 50к.
Аноним 30/06/23 Птн 20:39:20 2749624 657
>>2749620
Смотри, качаешь себе томики Кнута и кайфуешь. Думаю за лето сможешь освоить. А там уже и в гугл можно.
Аноним 30/06/23 Птн 20:39:23 2749625 658
ШAPП
Аноним 30/06/23 Птн 20:39:31 2749626 659
Аноним 30/06/23 Птн 20:40:04 2749628 660
Аноним 30/06/23 Птн 20:40:36 2749632 661
Аноним 30/06/23 Птн 20:47:11 2749644 662
>>2749626
Почему ты такой злой, няш?
Аноним 30/06/23 Птн 20:47:51 2749646 663
Аноним 30/06/23 Птн 20:48:31 2749647 664
>>2749644
Не обращай внимания на этого бяку, давай поняшимся лучше :3
Аноним 30/06/23 Птн 20:49:52 2749649 665
>>2749647
Ето можно. А ты в спринге разбираешься?
Аноним 30/06/23 Птн 20:50:36 2749652 666
DK4Y0C0rW3.png 65Кб, 1614x912
1614x912
>>2749620
я с 10 летним стажем жабамакаки имею сложности с трудоустройством. На джуна - там 10 вакансий на всю россиюшку по 2к откликов.
Чел, щас ситуация как с юристами и экономистами, оно уже случилось
Аноним 30/06/23 Птн 20:54:00 2749659 667
>>2749652
А может просто ты хуевый работничек и не отвечаешь требованиям?
Аноним 30/06/23 Птн 20:56:35 2749663 668
>>2749659
как-то же до этого работал, проходил испытательные сроки, завершал проекты. И есть некая хуйня с образованием филолога, которая хочет вкатиться. С чего он будет лучше меня?
Аноним 30/06/23 Птн 20:58:14 2749667 669
>>2749663
>как-то же до этого работал, проходил испытательные сроки, завершал проекты.
Не показатель компетенции. Ты мог быть и балластом.
>С чего он будет лучше меня?
Ну конкретно он, вряд ли лучше будет. А у тебя профильное образование?
Аноним 30/06/23 Птн 21:01:46 2749670 670
Аноним 30/06/23 Птн 21:02:48 2749671 671
>>2749670
Пту тоже профильным бывает, да и там более узкоспециализировано.
Аноним 30/06/23 Птн 21:16:56 2749686 672
>>2749671
радиотехническое. В местном вузе жабу не преподавали, только делфи и может плюсы
Аноним 30/06/23 Птн 21:23:10 2749699 673
>>2749686
Про жабу разве вообще в каких-то вузах рассказывают?
Аноним 30/06/23 Птн 21:33:01 2749714 674
>>2749699
У меня на втором курсе, правда я ни одно занятие не посетил.
Аноним 30/06/23 Птн 21:43:52 2749737 675
image.png 43Кб, 687x363
687x363
image.png 51Кб, 832x423
832x423
Памагити томкат поднять. Точнее впендюрить в него вот этот класс.
Можно гайд какой-то? А то везде бут ебаный
Аноним 30/06/23 Птн 21:46:24 2749743 676
>>2749737
ничосе. А так можно?
Качаешь томкат, запускаешь. Собираешь .war своей приложухи, деплоишь в запущенный томкат, он его подхватывает и развертывает сам
Аноним 30/06/23 Птн 21:48:31 2749749 677
>>2749743
Ммм, чет про это ни слова. А бут такой же хуйней мается?
Аноним 30/06/23 Птн 22:02:11 2749772 678
>>2749749
в бут встроен минитомкат. Он занимает весь порт одной приложухой. В оригинальном томкате ты на одном порту можешь хостить хоть десяток приложух, различаться будут урл
Аноним 30/06/23 Птн 22:04:59 2749780 679
image.png 51Кб, 807x291
807x291
>>2749772
Окей, понял. Гайд по запуску оригинального томката можно? И деплой туда spring-mvc без бута.

Плюс я тут логи смотрю, он просто не видит мой класс. Как блять ему указать
Аноним 30/06/23 Птн 22:07:59 2749787 680
>>2749624
>>2749626
В гугл обязательно хотя бы чтобы поджечь пердаки юзеров этого форума)
>>2749652
Т.е ты боишься что я заберу твоё место? Если да, то я его точно заберу))
Аноним 30/06/23 Птн 22:12:56 2749795 681
>>2749780
>Гайд по запуску оригинального томката можно?
когда скачаешь - там в ридми вроде есть. И на сайте. Вкратце запустить run.bat из /bin папки

>И деплой туда spring-mvc без бута.
нужно собрать .war приложение. Нужен плагин для мавена для сборки варников. Подробности не помню, в мануалах

Просто копируешь в паку /webapp томката и оно развертывается
Аноним 30/06/23 Птн 22:46:35 2749831 682
>>2749390
Вот этот >>2749409 прав. Иногда это бывает важно. Например если ты релизишься в централ: забить за собой в централе ты можешь только группу, одноименную со своим доменом (ну и для гитхабных всегда еще есть опция com.github.username)
Аноним 30/06/23 Птн 23:00:49 2749846 683
>>2749415
Это быдлан решил так поднять своё чсв и унизить того, кто ему будет отвечать. А хомячьё из этого треда повелось.
Аноним 30/06/23 Птн 23:03:28 2749849 684
>>2749831
io.github или org.github
com для коммерческих проектов
Аноним 30/06/23 Птн 23:06:44 2749852 685
>>2749849
Да, скорее всего ты прав.
Аноним 30/06/23 Птн 23:20:25 2749864 686
image.png 90Кб, 813x807
813x807
>>2749795
Ну крч, пиздец изменения. Я ебал.
Аноним 30/06/23 Птн 23:21:02 2749866 687
>>2749649
Пидорас,я тебя угандошу охуеешь
Аноним 30/06/23 Птн 23:21:42 2749869 688
>>2749866
Приезжай, няш. Только вон томкат мне почини перед этим...
Аноним 01/07/23 Суб 00:07:50 2749915 689
image.png 59Кб, 1273x502
1273x502
>>2749864
В общем-то, там зависимостей не хватало и еще я собирал криво.
Вродь робит теперь. Правда почему нельзя было как в буте сделать...
Аноним 01/07/23 Суб 10:56:12 2750062 690
Нормально откликаться на миддл вакансии, если опыта коммерческой разработки нет (пил приложение для гос органа за спасибо)?
Аноним 01/07/23 Суб 10:57:07 2750065 691
>>2750062
Пилил, быстрофикс. Да и вообще многое забылось, т.к. только с армии вернулся.
Аноним 01/07/23 Суб 11:05:28 2750068 692
image.png 38Кб, 472x387
472x387
>>2750065
А какие у тебя знания есть вообще? Типа можешь сказать, что это за помощь гц?
Аноним 01/07/23 Суб 11:18:28 2750069 693
>>2750068
Ну типа чтобы ссылка не хранилась..
Аноним 01/07/23 Суб 11:25:05 2750070 694
>>2750069
Это метод из LinkedList и в 181 строчке нода, в который эти ссылки находятся, также перестает хранится.
Аноним 01/07/23 Суб 19:46:10 2750513 695
>>2750062
Если ты миддл - ты решаешь все поступающие тебе задачи автономно. Можешь так? Если да - то нормально.
Аноним 01/07/23 Суб 19:49:33 2750516 696
>>2750062
Да, попробуй сбербанк или его дочек. Там адские дебилы сидят поголовно.

Ума не наберешься, но опыт будет.
Аноним 01/07/23 Суб 19:53:46 2750518 697
петух с головой.mp4 3376Кб, 608x1080, 00:00:18
608x1080
>>2749652
У мине 20 лет опыт-лар. Работал на самом острие всегда: самый опасный проекты, самый проблемный баги. Год за два ежжи.

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

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

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

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

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

реджектнули на финальном собесе после этих ответов. Что не так?
Аноним 01/07/23 Суб 20:41:33 2750558 699
>>2750541
Если книг читать не будешь - скоро грамоту забудешь!
Аноним 01/07/23 Суб 20:46:00 2750565 700
>>2750541
Я не умею читать мысли.

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

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

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

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

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

В общем, тут одни догадки. Твои ответы вполне приемлимы. Хотя мне они не нравятся. Я сам уже давно никакой книги не читал, но слышал о них.
Аноним 01/07/23 Суб 20:48:01 2750567 701
>>2750541
ещё одно забыл.

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

У техдиректорки ебало скривилось
Аноним 01/07/23 Суб 20:58:36 2750579 702
>>2750567
я выше описал видение ситуации. Ничего странного в Ваших ответах не вижу.

Ну не понравился и не понравился. Ничего страшного: это не последняя вакансия на рынке.
Аноним 02/07/23 Вск 04:39:50 2750780 703
>>2750541
>>2750565
История одна охуительней другой, блять.

Где тут джава? Где ебанутые литкод-стайл задачки, где сгоревшие от вопросов по кишкам пердаки? Че это за постная сопливая хуйня? У вас хрюшетред на такие случаи есть.
Аноним 02/07/23 Вск 08:52:35 2750823 704
>>2750780
>ебанутые литкод-стайл задачки, где сгоревшие от вопросов по кишкам пердаки

А тут где джава?
Аноним 02/07/23 Вск 14:31:07 2750973 705
Прошел курс по Spring, хочу закрепил знания проектом.
Посоветуйте какой-нибудь курс / серию уроков по созданию приложения (для опыта надо увидеть, как делают веб-приложения опытные программисты).
Аноним 02/07/23 Вск 14:41:20 2750980 706
>>2750973
сделай борду на жабе
Аноним 02/07/23 Вск 14:44:08 2750982 707
>>2750980
Да я бы сделал - только мне нужен пример как правильно сделать такое приложение.
Аноним 02/07/23 Вск 14:55:15 2750992 708
Аноним 02/07/23 Вск 14:59:32 2751000 709
>>2750992
Нашел сайт со Spring Boot, это может сказаться на получении будущей работы - или надо самому создавать зависимости в проекте?
Планирую пушить проекты на Гитхаб, и потом показывать работодателю.
Аноним 02/07/23 Вск 15:04:43 2751006 710
>>2750982
>да я бы сделал но мне надо чтобы за меня сделали
нихуя ты не закрепил
Аноним 02/07/23 Вск 15:10:14 2751010 711
>>2751000
> или надо самому создавать зависимости в проекте?
Для добавления зависимостей в помник ничего уметь не нужно. Чуть сложнее с конфигурацией, но она тоже легко гуглится. И проект у работодателя уже будет готовый, остаётся только новые сервисы с логикой писать.
> Планирую пушить проекты на Гитхаб, и потом показывать работодателю.
Их почти никто не смотрит, все учебные проекты однотипны, да и часто их копируют друг у друга. Будут просто задавать вопросы.
Аноним 02/07/23 Вск 15:12:58 2751011 712
>>2750973
>Прошел курс по Spring
Шо за курс? Лайфсайкл бинов хоть показали?
Аноним 02/07/23 Вск 15:16:11 2751016 713
.png 66Кб, 1194x466
1194x466
>>2749737
Пикрил. Не надо никаких ServletInitializer-ов и устаревших легаси WAR-ников. Тупо пишешь это и можешь клепать сервисы и контроллеры.
Аноним 02/07/23 Вск 15:16:21 2751017 714
image.png 73Кб, 600x752
600x752
>>2751010
>Для добавления зависимостей в помник ничего уметь не нужно.
Всм не надо? А как же зависимости править, вон на пике например, кто от кого зависит кто кому подгаживает, пара пакетов может иметь другие имена и тд и тп. Такая ебля, если честно. А еще билд настроить.
Аноним 02/07/23 Вск 15:22:18 2751024 715
>>2751006
Я ничего и не закреплял.
Мне нужен цикл уроков, в которых автор делает какое-нибудь приложение - желательно максимально используя Spring.
Чтобы, повторяя за автором, я научился проектированию приложений на спринге. Например, уроки по созданию какой-нибудь соцсети или онлайн-магазина.
Только чтобы курс актуальный был.
>>2751011
Курс Заура Трегулова
https://www.udemy.com/course/spring-framework/

Также сейчас смотрю Наиля Алишева.
Аноним 02/07/23 Вск 15:24:41 2751025 716
>>2751024
>Я ничего и не закреплял.
>Прошел курс по Spring, хочу закрепил знания проектом.
Аноним 02/07/23 Вск 15:25:10 2751026 717
Аноним 02/07/23 Вск 15:26:50 2751029 718
>>2751017
Подключаешь пару основных зависимостей, остальное подтягивается автоматически как транзитивные зависимости. Что-то не работает => лезешь в гугл => добавляешь. Гуглом пользуются все, никто эту ебанину в голове не держит, да и настроить надо только один раз.
Настройка билда сводится к сборке fat jar через конфигурацию maven-assembly-plugin на 15 строчек, которая легко ищется на stack overflow. Всё.
Аноним 02/07/23 Вск 15:28:04 2751031 719
image.png 50Кб, 755x320
755x320
>>2751016
Это вообще по другому работает. Я тут ручками диспатч серверлет создаю и контекст тоже. Тогда как эта хрень делегирует этот процесс.
И чому твое чудо новое и не устаревшее, если это возвращение к ручному управлению?
Аноним 02/07/23 Вск 15:28:39 2751033 720
>>2751029
если в 4 мавене не автоматизируют эту эболу то я перехожу на грейдль
Аноним 02/07/23 Вск 15:29:15 2751034 721
>>2751026
> Это опять шарпоблядь жирнит, не отвечайте ему.
А что, такой классный язык? Может, зря мы тут с жабой возимся?
Аноним 02/07/23 Вск 15:30:13 2751035 722
>>2751034
Да, зря, вкатунам по ебалу на.
Аноним 02/07/23 Вск 15:30:59 2751036 723
image.png 36Кб, 633x271
633x271
image.png 31Кб, 515x283
515x283
>>2751029
У меня для теста вот нужны пакеты с пика 1, а для деплоя пик 2.
В одном есть serverlet 3, а другом еще 2.4 и 2.5. Поэтому для тестов надо чета отключать, а для деплоя включать. Циклическая зависимость какая-то. И че-т мне кажется, самый простой способ решить эту хуйню - загрузить бут.
Аноним 02/07/23 Вск 15:32:49 2751038 724
>>2751033
В градле не могут автоматизировать неломание обратной совместимости каждые полгода. А суть не изменилась, всё та же ебля с зависимостями и билдом, просто строчек надо меньше писать за счёт выпиливания громоздкого XML.
Аноним 02/07/23 Вск 15:37:00 2751040 725
>>2751038
Нет, не та же. Ебли гораздо больше, настолько, что если сравнивать её количество с мавеном, то градл эту еблю и придумал.
Аноним 02/07/23 Вск 15:41:42 2751042 726
>>2751040
Не хватает готовых плагинов, предлагают их писать с нуля. В мавене эти плагины тоже не сразу появились. Вот лет через 10 заживём!
Аноним 02/07/23 Вск 15:42:35 2751043 727
>>2751042
Тогда и виртуальные потоки будут... Эххх
Аноним 02/07/23 Вск 15:43:28 2751045 728
>>2751042
Ебля идёт как раз из полуработающих самописных плагинов, ломающихся от окружения и отсутствия ритуала перед сборкой.
Аноним 02/07/23 Вск 15:46:48 2751050 729
>>2751043
Да, и вкатуны так и дальше будут здесь спрашивать про сервлеты, сборку WAR-ников и деплой на сервера приложений (кроме Kubernetes).
Аноним 02/07/23 Вск 15:48:22 2751053 730
>>2751050
>сервера приложений (кроме Kubernetes).
че за мем
Аноним 02/07/23 Вск 15:51:13 2751059 731
>>2751050
>здесь спрашивать про сервлеты
Как раз хочу спросить. А в spring-mvc сколько конкретно сервлетов работает? Правильно я понимаю, что там один dispatchServerlet, который запросы отфутболивает в контроллеры с RequestMapping?
Если да, то как там многопоточность реализована...
Аноним 02/07/23 Вск 15:51:46 2751060 732
>>2751053
Ты не знал? Kubernetes - это сервер приложений. Появился из-за того, что в других языках не успели изобрести аналоги Websphere, Wildfly и Glassfish. Теперь для чего-то тащат кубер в жабу, хотя и так всё нужное есть.
Аноним 02/07/23 Вск 15:51:48 2751061 733
Дайте свой темплейт для резюме и сопроводительного письма.
Аноним 02/07/23 Вск 15:53:17 2751063 734
>>2751060
ну так и есть в принципе да
Аноним 02/07/23 Вск 15:57:35 2751068 735
>>2751026
Чем плохи эти курсы?
Аноним 02/07/23 Вск 15:58:44 2751071 736
image.png 38Кб, 894x431
894x431
>>2751068
Так отличные курсы. Всего один отрицательный отзыв.
Аноним 02/07/23 Вск 16:02:49 2751077 737
>>2751059
Да.
Многопоточность делается на уровне контейнера сервлетов, там грубо говоря несколько воркеров берут данные запроса, упаковывают их в HttpServletRequest и передают их методам одного и того же экземпляра DispatcherServlet.
Аноним 02/07/23 Вск 16:02:52 2751078 738
>>2751059
>Правильно я понимаю, что там один dispatchServerlet

Да

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

Как и везде. Все запросы выполняются в выделенном для этой цели тред пуле.
Аноним 02/07/23 Вск 16:26:10 2751104 739
image.png 108Кб, 971x842
971x842
>>2751077
>>2751078
Судя по всему многопоточность полностью ложится на контейнер. Тут чисто реквесты хандлеру потом котроллеру и modelAndView.
В общем пасиба, я обязательно вкачусь... Вот-вот...
Аноним 02/07/23 Вск 16:38:20 2751128 740
image.png 1Кб, 110x27
110x27
Аноним 02/07/23 Вск 16:41:22 2751131 741
image.png 167Кб, 766x703
766x703
>>2751128
Ацтань. Тут чу-чуть осталось до секурити. Можно регистрацию наконец-то не косячную запилить будет. Жалко некого лично заебывать... Приходится в тредике спрашивать.
Аноним 02/07/23 Вск 16:48:16 2751138 742
>>2751131
>Жалко некого лично заебывать... Приходится в тредике спрашивать.
Ничего страшного, здесь все тебя ненавидят.
Аноним 02/07/23 Вск 16:49:15 2751140 743
>>2751138
Это хорошо. В крайнем случае еще есть форум, группы в тгшке, дискордике. Заебать-то я найду кого.
Аноним 02/07/23 Вск 16:55:19 2751155 744
>>2751131
А я при вкате даже в тредике спрашивать стеснялся. Всё гуглил и читал доку по нескольку дней.
Аноним 02/07/23 Вск 17:09:20 2751181 745
>>2751155
Та я тоже гуглю, просто хочу иногда убедится, что правильно понял.
Правда доки спринга мне не особо нравятся, как и туториалы по типу baeldung.
Аноним 02/07/23 Вск 18:33:24 2751282 746
нах нужен spring cloud kubernetes?
Аноним 02/07/23 Вск 18:52:56 2751308 747
image.png 37Кб, 845x258
845x258
>>2751282
В общем, еле еле шарп догоняют. Там-то хоть отбавляй либ для работы с кубером.
Аноним 02/07/23 Вск 19:19:25 2751341 748
>>2751308
Вот и уёбывай в свой шарп.
Аноним 02/07/23 Вск 19:25:28 2751351 749
>>2751308
я нихуя не понял ряльно
у меня и так все работает с бутом и кубером, нах мне эта либа?
Аноним 02/07/23 Вск 19:59:21 2751425 750
>>2751341
Не злись, няш. Могу обнять, если вот прям вообще плохо.
>>2751351
Значит плохо работает, ну или она как-то сама подтянулась.
Аноним 02/07/23 Вск 20:11:34 2751447 751
>>2750973
Я делал веб-приложение "Каравашки", но тут в треде меня засмеяли
Аноним 02/07/23 Вск 20:13:05 2751450 752
>>2751447
Опять выходишь на связь?
Аноним 02/07/23 Вск 21:14:44 2751555 753
>>2751447
пидорашки?

Вали в свою Европу, латентный
Аноним 02/07/23 Вск 21:40:48 2751593 754
>>2751450
Опять вылезаешь из своего мусорного мешка с опарышами?
Аноним 03/07/23 Пнд 06:07:37 2751764 755
>>2751447
Над яндекс едой же не смеялись
Аноним 03/07/23 Пнд 07:59:52 2751784 756
Аноним 03/07/23 Пнд 08:48:51 2751796 757
Аноним 03/07/23 Пнд 09:04:16 2751806 758
Аноним 03/07/23 Пнд 09:25:59 2751811 759
>>2751806
А как надо вкатываться тогда?
Аноним 03/07/23 Пнд 09:37:10 2751816 760
>>2751811
Читать книги по шарпу.
Аноним 03/07/23 Пнд 09:41:34 2751821 761
Аноним 03/07/23 Пнд 10:22:10 2751845 762
>>2751816
По шарпу нет хороших книг. Все шарписты читают книги по джаве.
Аноним 03/07/23 Пнд 10:30:03 2751847 763
>>2751845
Это какие например? Да и схуяли нет-то?
Аноним 03/07/23 Пнд 11:43:17 2751919 764
>>2751847
Я когда изучал шарп, то не мог найти книг по ООП. Решил почитать Брюса Эккеля и в итоге ушёл на джаву.
Аноним 03/07/23 Пнд 11:45:32 2751921 765
>>2751919
Нахуя тебе читать про ООП изучая язык? Ты ебанутый?
Аноним 03/07/23 Пнд 12:15:43 2751942 766
>>2751919
>Решил почитать Брюса Эккеля
Что именно?
Аноним 03/07/23 Пнд 12:18:57 2751944 767
Аноним 03/07/23 Пнд 12:21:08 2751945 768
>>2751944
Читая про ооп без привязки к языку.
Аноним 03/07/23 Пнд 14:16:40 2752034 769
>>2750068
>GC
garbage collector
>unlinkFirst
м.б. delink?
/Мимо другой
Аноним 03/07/23 Пнд 14:24:33 2752039 770
>>2752034
>м.б. delink?
Мысль раскрой. Я ж ниже в ветке отвечал, что у ноды, в которой эти ссылки находятся, также убираются ссылки. 180 и 185 строки.
Аноним 03/07/23 Пнд 14:28:08 2752041 771
Аноним 03/07/23 Пнд 17:09:41 2752280 772
1687446283164153.jpg 280Кб, 1040x1280
1040x1280
Нахуя в Spring microservices in action размазывают security по всем сервисам? Ещё и keycloak используется, нахуя мне это блять в книге по спрингу?
Аноним 03/07/23 Пнд 17:22:23 2752306 773
>>2752280
>Spring microservices in action
Норм книжка вообще? Или она для девопсов?
Аноним 03/07/23 Пнд 17:30:20 2752325 774
2023-07-0317-29[...].png 215Кб, 966x822
966x822
>>2752306
Норм вроде, но других по спринг клауд особо и нет
Cloud Native Java ещё есть, но вообще 17 года
Аноним 03/07/23 Пнд 17:36:32 2752338 775
>>2752325
Бля, оформление как в спринг ин актион. Сука, чому один паттерн названия и офрмления? Есть какой-то фремворк для книг?
У меня вопрос-то, надо ли это вкатуну? Или похуй?
Аноним 03/07/23 Пнд 19:44:17 2752521 776
>>2752338
Так тот же издатель
Аноним 03/07/23 Пнд 21:22:24 2752583 777
>>2752338
>надо ли это вкатуну

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

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

Что касается клауда - распространен он реже, чем сам спринг, поэтому и приоритет к его изучению - ниже. Да и крайне маловероятно, что за него спрашивают на джава-собесах.
Аноним 03/07/23 Пнд 21:32:29 2752593 778
>>2752583
>Забудьте вы уже такое слово как "вкатун".
А я не знаю к какой категории себя отнести даже. В коре я пачти эксперт, как никак кучу лет уже в нем буквально копаюсь, а вот спринг и остальное так, считай около-новичок. Ну и на алгосы давным давно забил. Медиум и изи с литкода решу, но дальше не вижу смысла прорабатывать.
>то касается клауда - распространен он реже, чем сам спринг
Понел. Пасиба
Аноним 03/07/23 Пнд 22:26:22 2752642 779
Вкатуны никогда не исчезнут, как и их шансы вкатиться не уменьшатся.
Аноним 03/07/23 Пнд 22:28:56 2752645 780
>>2752642
>как и их шансы вкатиться не уменьшатся
Это типа намек на то, что ниже уже некуда?
Аноним 03/07/23 Пнд 22:36:14 2752659 781
>>2752645
Нет, это намёк на Д е Ф и Ц и Т кадров в ойти.
Аноним 03/07/23 Пнд 22:37:06 2752664 782
>>2752659
Ааа, я прост глянул в своем городе на хх вакансии. 6. Из них подходит одна. Пиздец голод, я ебал. Мб что-то не так делаю.
Аноним 03/07/23 Пнд 22:43:02 2752674 783
>>2752664
Хуй знает, в моём городе там 2500 вакансий.
Аноним 03/07/23 Пнд 22:52:48 2752689 784
Аноним 03/07/23 Пнд 22:53:28 2752691 785
Аноним 03/07/23 Пнд 23:00:15 2752703 786
>>2752691
Ммм, интересно, а возможно на удаленку устроится...
Аноним 03/07/23 Пнд 23:08:05 2752718 787
image.png 8Кб, 730x244
730x244
>>2752691
Хотя, всего 6к вакансий. У тебя гришь 2 с полтосом. Что я делаю не так?
Аноним 03/07/23 Пнд 23:15:55 2752725 788
Аноним 03/07/23 Пнд 23:19:24 2752735 789
image.png 9Кб, 781x235
781x235
>>2752725
Ну да, теперь вообще 2к. Так это по всей россии. Типа как в одном городе миллионнике может быть 2.5к, когда по всей стране столько не наберется?
Аноним 04/07/23 Втр 10:41:01 2752982 790
Кто-нибудь пробовал вручную деплоить war-ники в tomcat? Делаю вроде всё по гайду, но получаю 404. В самом war-нике лежит файл index.html, но томкат его не хочет показывать.
Аноним 04/07/23 Втр 10:54:00 2752990 791
>>2752982
> деплоить war-ники в tomcat
Я в 2008 попал?
Аноним 04/07/23 Втр 11:17:29 2753009 792
image.png 17Кб, 1270x279
1270x279
>>2752982
Хз, мне кто-то тут посоветовал так делать, вродь все работает искаропки. Только чтоб показать тебе надо конечно же настроечки для серверлета сделать. А то че тебе томкатик-то запустит?
>>2752990
А как сейчас все это происходит
Аноним 04/07/23 Втр 11:19:45 2753010 793
>>2752990
Разобрался. Как всегда тупая идея в штаны насрала со своими офигетельными советами и подсказками. В общем, после создания фасета нельзя соглашаться на автоматическое создание артефакта, а надо самому ручками его создать, потому что идея генерирует невразумительное говно. И ещё они хотят за своё поделие денег немалых!
Аноним 04/07/23 Втр 11:21:25 2753011 794
>>2753010
А ты че не через мавен/градл билдишь?
Аноним 04/07/23 Втр 11:25:49 2753014 795
>>2753011
У меня гайд только на идею. Через мавен и градл нету гайда.
Аноним 04/07/23 Втр 11:28:35 2753015 796
image.png 107Кб, 1001x821
1001x821
image.png 3Кб, 363x34
363x34
>>2753014
А чем там сложного-то? Вот это добавил в билд и проект. Делаешь конфигурацию clean, compile, package. Усе. У меня автор вообще даже не упоминал об этом...
Аноним 04/07/23 Втр 11:32:26 2753016 797
>>2753015
Будь моя воля, я бы тоже через мавен собирал в каком-нибудь вс коде, а не в этой лагающей тупой идее. Но приходится мучаться и сидеть в бесячей идее. Современный джавист - это идея-разработчик.
Аноним 04/07/23 Втр 13:29:51 2753132 798
000.jpg 111Кб, 1105x699
1105x699
>>2753016
Чел.. в Идее есть плагин для maven
Аноним 04/07/23 Втр 13:31:54 2753139 799
>>2753132
Эта хуйня и без плагина работает. Я ж скрин из идеи делал. Я хз про что он вообще.
Аноним 04/07/23 Втр 18:02:24 2753562 800
Возможно ли из кода получить спринговый бин?
У меня нет ничего, только конструктор и вызываемый метод. Возможно ли тут достать из воздуха спринговую фабрику бинов и достать бин?
Аноним 04/07/23 Втр 18:38:36 2753631 801
>>2753562
Реализовать ApplicationContextAware с сеттером в статическое поле.
Аноним 04/07/23 Втр 18:46:06 2753642 802
>>2753562
Инжектишь контекст в публичное статик поле при запуске приложения.
Аноним 04/07/23 Втр 18:48:25 2753646 803
>>2753132
Я знаю, что там миллион плагинов и всё тормозит из-за этого.

>>2753139
Я про тормоза и платность идее
Аноним 04/07/23 Втр 19:00:47 2753671 804
ya3.png 32Кб, 890x514
890x514
ya2.png 21Кб, 893x415
893x415
ya1.png 29Кб, 1142x258
1142x258
>>2753631
пердолики из яндекса сделали некие клауд функции, я пытаюсь подружить это со спрингом. Непонятно что яндекс делает с этими инит классами - заменяет на свои, или прокси, или что. Если делать Autowired - при запуске локально инжектится, при загрузке туда - null, видимо яндекс подменяет этот класс своим
Аноним 04/07/23 Втр 19:18:06 2753699 805
>>2753642
>>2753631
А так точно можно? Потом никто не придет по шапке стучать за такую поебень?
Аноним 04/07/23 Втр 19:20:44 2753703 806
>>2753699
Будут, но фактически будут только потому, что агрессивные анальники, и им лишь бы постучать кому-то. Фактически никакой пользы в пробрасывании контекста всюду нет, один хуй спринг это тормозящий кобол.
Аноним 04/07/23 Втр 19:31:04 2753732 807
>>2753671
Бля, а ты можешь нормально пояснить? У тебя просто сначала клауд функции, потом инит классы, кстати, что это? А в конце вообще класс один.

Я правильно понял, что тебе надо написать хандлер, который из контекста в сервере получит некий бин?
>null, видимо яндекс подменяет этот класс своим
Возможно конфигурация не видит хандлер?
Аноним 04/07/23 Втр 21:25:41 2753942 808
Аноним 04/07/23 Втр 21:35:09 2753953 809
>>2753942
Какому именно? Ты их как-то идентифицируешь?
Аноним 04/07/23 Втр 21:37:05 2753957 810
>>2753562

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

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

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

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

>>2753671

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

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

Не измудряйся. Вон янтекс тоже грит: просто ебошь обычное спринг-бутово. https://cloud.yandex.com/en/docs/functions/lang/java/model/spring-boot.
Аноним 04/07/23 Втр 23:02:16 2754123 811
Как по каноничному RESTful стилю сделать так, чтобы POST запрос не приводил к изменению данных на сервере, если содержимое тела не отличается от текущих данных сущности в базе? Есть заголовки If-Match и If-Modified-Since, но они для другого. Ту надо сверять именно данные, которые пришли в теле.
Аноним 04/07/23 Втр 23:08:52 2754126 812
>>2754123
А нахуя? В чем профит? Ты шо так сверяешь данные, шо сяк. Не проще оставить эту задачу бд?
Аноним 04/07/23 Втр 23:10:52 2754127 813
>>2754126
Внешний клиент может отправить запрос на модификацию, но не хочет, чтобы дата последнего изменения обновлялась, если изменений по факту не было.
Аноним 04/07/23 Втр 23:12:48 2754130 814
Аноним 04/07/23 Втр 23:16:22 2754134 815
>>2754130
Я спрашиваю про REST, ты отвечаешь по БД. А я-то еще думал что в джава треде умные люди сидят.
Аноним 04/07/23 Втр 23:23:00 2754145 816
>>2754134
Блять, а че тебе ответить? Тебе присылают запрос с обновлением данных, ты его игнорируешь по каким-то личным причинам. Это норма типа? Мб именно дату хотят обновить.
Аноним 04/07/23 Втр 23:50:46 2754165 817
>>2754127
А в чем проблема достать данные из бд и сравнить их?
Аноним 05/07/23 Срд 00:10:05 2754179 818
Опять у меня спиздили идею, о которой я нигде не писал...
Аноним 05/07/23 Срд 00:11:59 2754181 819
Аноним 05/07/23 Срд 00:14:20 2754182 820
>>2754181
А нах говорить-то теперь...
Аноним 05/07/23 Срд 00:21:40 2754185 821
>>2754182
Мне интересно. Идея без реализации ничего не стоит.
Аноним 05/07/23 Срд 00:28:23 2754186 822
Аноним 05/07/23 Срд 00:39:11 2754189 823
>>2754186
Посмотрел аналоги, да вроде старая идея. Или ты анончик еще и di первым придумал?
Аноним 05/07/23 Срд 00:41:32 2754191 824
>>2754179
Идей как грязи, они ничего не стоят, валяются на каждом шагу. Нормальных реализаций нет нихуя.
Аноним 05/07/23 Срд 00:42:36 2754192 825
>>2754189
Вменяемых compile-time DI фреймворков не было. Они все спиздиоли у меня из головы: генерацию сурс кода, аннотейшн процессор, даже аннотации, которые я хотел перенести из спринга. Хттп клиент почти один в один как по моей задумке, только нет поддержки абстрактных классов и декораторов.
Аноним 05/07/23 Срд 00:42:41 2754193 826
>>2754191
Ты спиздил мою идею об идеях! (((
Аноним 05/07/23 Срд 00:44:25 2754195 827
>>2754192
Как, кстати, скоупы там решаются? Ну и методы destroy?
Аноним 05/07/23 Срд 00:45:32 2754196 828
>>2754195
Зайди да почитай. Документация у них годная.
Аноним 05/07/23 Срд 00:59:16 2754204 829
>>2754196
Это то, что ты скинул? Там буквально ни слова про реализацию. Да и откуда она в доках возьмется-то... Это копаться надо, а мне лень. Поэтому и спрашиваю. Вкратце хоть обрисуй. Они фабрики заместо new подставляют?
Вообще говоря, странная мысль, в яп главная фича которого - jit мы делаем что-то в aot.
Аноним 05/07/23 Срд 01:23:08 2754219 830
>>2754192
>compile-time DI фреймворков не было
Так их дохуя же - dagger, в микронафте компайл тайм di.
Аноним 05/07/23 Срд 11:28:23 2754406 831
Нужно ли сейчас знать JSP/JSTL?
Аноним 05/07/23 Срд 11:44:22 2754435 832
Аноним 05/07/23 Срд 16:46:20 2754790 833
image.png 273Кб, 2782x526
2782x526
Жаба делает сосатб понемножечку
Аноним 05/07/23 Срд 16:54:39 2754810 834
>>2754790
Если это манямирковый TIOBE, в котором бейсик на 6 месте, можешь сразу нахуй пойти.
Аноним 05/07/23 Срд 16:57:04 2754816 835
>>2754810
Именно. Первое место питон, второе жс, третье шарп. Остальное даже упоминать не стоит, ибо меньше 10% в сумме. Напридумывали хуйни.
Аноним 05/07/23 Срд 17:01:16 2754823 836
>>2754810
А где реальная стата по-твоему?
Аноним 05/07/23 Срд 17:06:15 2754832 837
>>2754790
Так это ж замечательно, не? Меньше популярность, меньше конкуренция. Количество кода-то никуда не уменьшится.
Аноним 05/07/23 Срд 17:08:17 2754835 838
Аноним 05/07/23 Срд 17:43:39 2754903 839
>>2732465
не, не хватит. бля бэка надо минимум 16gb или будут лаги. Если хочешь ещё и докер запускать, то надо 24гб - но тут уже и ценник. Без докера 16ги должно хватать.
Аноним 05/07/23 Срд 17:45:30 2754907 840
>>2754903
Что ж за систему собираешься запускать-то? Почему она так дохуя жрет
Аноним 05/07/23 Срд 18:19:46 2754969 841
Аноним 05/07/23 Срд 18:26:58 2754990 842
>>2754969
Окей, а докер нахуя тогда? Ты типа android x86 в нем хуйнешь?
Аноним 05/07/23 Срд 19:20:22 2755088 843
пришел в офис. Показали кубикл. Никто не зовёт пить кофе или идти в столовку, иду один. Так и должно быть? Самому напрашиваться? Судя по разговорам - тупые зумеры с какой-то ерундой
Аноним 05/07/23 Срд 19:38:26 2755145 844
>>2754990
А в докере запущен бэк.
Аноним 05/07/23 Срд 19:55:33 2755178 845
>>2755088
>Никто не зовёт пить кофе или идти в столовку, иду один.
ЖИЗА БЛЯ Я ТАК 4 ГОДА РАБОТАЮ И КАЖЕТСЯ СХОЖУ С УМА
Аноним 05/07/23 Срд 20:34:18 2755248 846
А насколько вообще требуются умения работы с докером? Я просто с lxd работал, но чет ограниченный докер вообще не трогал. Насколько ебать будут за это?
Аноним 05/07/23 Срд 20:36:23 2755251 847
>>2755248
Не требуются. Ты разраб, а не девопс.
Аноним 05/07/23 Срд 20:43:08 2755259 848
>>2755248
Мне тимлид 1 раз настроил сборку докер образа в идее. Нажимаешь кнопку и образ летит в какой-то порнхаб
Аноним 05/07/23 Срд 20:55:59 2755278 849
image.png 60Кб, 836x495
836x495
>>2755259
>настроил сборку докер образа
Странно, что тогда прям в build мавена это не добавили.
Хотя смотрю туда базу данных пихают. Типа через jndi сейчас больше не получают инфу о бд? Или это в буте где-то спрятано...
>>2755251
В вакухе писале про докер. Еще в соседнем треде говорили, мол пиздос обязательно.
Аноним 05/07/23 Срд 21:13:54 2755320 850
>>2754907
Ну вот у меня 3 проекта - 1 в разработке, 2 на поддержке.
1. Мне нужен докер локально: 3-5 контейнеров одновременно для каждого проекта.
2. Тестконтейнеры, до 3 контейнеров в тестах гоняются.
В докере могут быть - минио, кейклок, постгрес, монга, редис, кафка, реббит.
3. Идея с кучей открытых плагинов в несколько окон. С терминальчиками, клиентами для хттп, докеров, баз
4. Локально поднято 1-3 сервиса.
5. Хром с видосами, докой, дев-окружением, таск-трекером, логами.
6. Корпоративный мессенджер с видеосвязью.
7. Куча всякого не сильно нагружающего - почтовый клиент, корпоративный впн, иногда нужно открыть вордовый/экселевсий файл.
На все это разом 16 гигов оперативки не хватит не на одной ос. 8 не хватит и для самой обязательной части.
Аноним 05/07/23 Срд 21:27:13 2755337 851
>>2755320
А по ssh откуда-то низя эти контейнеры запускать? Не знаю, мб любимая работа выделит тачку...?
Отсается только идешечка и хром.
>В докере могут быть - минио, кейклок, постгрес, монга, редис, кафка, реббит.
Мда, сколько ж всего в них пихают...
Аноним 05/07/23 Срд 21:40:22 2755357 852
>>2755337
А зачем мне их откуда то запускать? Это же медленнее и неудобнее, чем каждому со своей машины запускать контейнеры с обвязкой. Намного проще иметь комп с 32 гигами оперативы.
Ну работа выдает ноут с 16 гигами оперативы, можно до 32 расширить.
Операционка на выбор бубунта или винда с всл.
Мак у нас только у тимлида, который код пишет самую малость и ему полная обвязка не нужна. Сколько там оперативы - я хз.
Аноним 05/07/23 Срд 21:46:36 2755373 853
>>2755357
>бубунта
Какое же издевательство... Но хоть ноут халявный.
Аноним 06/07/23 Чтв 10:08:18 2755818 854
А что, у вас не перекатывают?

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

Что вы думаете об этом?
Аноним 06/07/23 Чтв 10:20:01 2755824 855
>>2755818
Это ж только превью фича, не?
Аноним 06/07/23 Чтв 10:36:43 2755839 856
>>2755818
В сишарпе давно такое есть. Даже метод main объявлять не надо, а сразу пишешь вывод в консоль.
Аноним 06/07/23 Чтв 10:43:28 2755847 857
>>2755839
База. Именно поэтому он ебет.
А ещё linq, async, generic, value type. И куча куча сахара. Зачем нужна жава, непонятно
Аноним 06/07/23 Чтв 10:57:35 2755862 858
>>2755088
Год сижу в офисе, со всеми здороваюсь когда прихожу, с кем то даже смол толкать пытаюсь. Все еще никто не зовет - ходят своими компаниями, в столовке делают вид что мы не знакомы.
Аноним 06/07/23 Чтв 11:04:34 2755871 859
>>2755248
Будет плюсом (можно всякую хуйню по деплою скинуть), но не обязательно. У меня в команде техлид в этом шарит и на пару в девопсом решают все вопросы. Моего понимания хватает только чтоб запустить локально всякие базы, кафку, редис и прочую такую поебень.

>>2755278
>>В вакухе писале про докер.
Мне в вакухе и про хибер писали - я его ни разу не видел, жуком пользуюсь.
Аноним 06/07/23 Чтв 11:10:18 2755875 860
>>2755847
>>Зачем нужна жава
Для энтерпрайза. Микрософт обосралась сломав обратную совместимость несколько раз, обрекая ранее написанные проекты быть вечным легасным говном. А сейчас нет смысла менять жаву обычную на жаву микрософт - уж лучше го какой нибудь взять.
Аноним 06/07/23 Чтв 11:34:56 2755890 861
>>2755875
С восьмой жабы тоже хуево мигрировали. В чем разница?
Аноним 06/07/23 Чтв 12:35:06 2755970 862
>>2755871
На хх очень мало вакух с жуком.
Я уже больше года на жуке пишу и если менять работу - просто пиздец как неохота опять задрачивать хибер для собесов.
Помню, как меня два года назад попустили на жизненном цикле энтити и отличия методов энтити менеджера.
Аноним 06/07/23 Чтв 12:39:34 2755975 863
>>2755890
Мы норм мигрировали. А с 11 на 17 вообще легко.
Проблема не в самой жаве, а в библиотеках, которые завязаны на версиях жавы.
Или вот например на 17 жаву перекатились бесшовно на нескольких сервисах на 10-40к строк. А вот на третий спрингбут хуй там, куча всего отваливается. А времени разбираться как мигрировать нету.
Аноним 06/07/23 Чтв 13:41:06 2756040 864
>>2755847
>async
Убогая хуйня. Я понимаю петухлинщики выёбываются своими тормозными корутинами, но эти ёбаные асинки из петушарпа — лучше уж классические ReadWriteLock и CallableFuture.
Аноним 06/07/23 Чтв 14:30:05 2756100 865
>>2756040
Bruh. Ладно шарпеи - у этих с рождения самоуважения нет, но ты то куда лезешь? Явно ж не шаришь о чем говоришь. Не позорься.

Мимо
Аноним 06/07/23 Чтв 16:03:18 2756246 866
>>2756100
>мимо
У петушарперов не только самоуважения нет, но и совести, пиздабол мамкин.
Аноним 06/07/23 Чтв 16:04:08 2756250 867
>>2756246
Ебать ты порватка. Везде шарпеи мерещатся?
Аноним 06/07/23 Чтв 16:04:31 2756252 868
>>2756250
По делу есть что сказать?
Аноним 06/07/23 Чтв 16:05:35 2756255 869
>>2756252
По делу я тебе уже все сказал.
Аноним 06/07/23 Чтв 16:05:53 2756258 870
Аноним 06/07/23 Чтв 16:12:47 2756276 871
Аноним 06/07/23 Чтв 16:23:35 2756290 872
>>2756276
Если в джавадоке на этот счет ничего не сказано, значит нету.
Аноним 06/07/23 Чтв 16:26:27 2756295 873
>>2756290
Каво? По твоему у ReentrantLock, которые за счет AQS сделаны, а те в свою очередь за счет парки не имеют гарантии happens-before?
Аноним 06/07/23 Чтв 16:41:51 2756317 874
>>2756276
Ну и кстати вот уже по этому куску доки можно предположить, что нет там никакой 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);
}

>>2756295

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

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

А ты не обратил внимание на то, что парки там в циклах? Вопросов не вызывает?
Аноним 06/07/23 Чтв 16:48:27 2756332 875
Аноним 06/07/23 Чтв 16:53:24 2756340 876
>>2756332
Чел, ну че ты душишь то? Спуриос вэйкапы, спуриос шмейкапы... Те прямым тесктом в джавадоке говорят что реквест на анпарк не сразу виден - о каком вообще тогда happens-before для park можно говорить?
Аноним 06/07/23 Чтв 16:56:39 2756348 877
>>2756340
>реквест на анпарк не сразу виден
Мне кажется мы разную доку читали. Там реквест на анпарк вообще липкий
>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 не дают.
Тащемта важность этого метода подтверждает еще то, что его отредачат для виртуальных потоков.
Аноним 06/07/23 Чтв 17:08:35 2756366 878
>>2756348
Ну вот еще признак того, что сам по себе 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.

То есть - "ок, ордеринг мы вам гарантируем, но визибилити - сорямба, юзайте волатильные переменные".
Аноним 06/07/23 Чтв 17:12:57 2756373 879
>>2756366
Не-не. Это для контроля. Ну т.е. из-за того, что любая лока может проглотить реквест с анпарка требуются изъебства в виде атомиков и волатильных переменных.
>to control when to park or unpark
Но даже эталонная реализация, данная в доке, подразумевает локу. Которая должна гарантировать видимость. Потестить бы это на каких-то arm, где модель памяти мягче, чем в x86.
Да и happens-before - это как раз ordering.
Аноним 06/07/23 Чтв 17:30:55 2756390 880
>>2756373
>Да и 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? Так правильно - там оптимистичная блокировка на атомик булене в цикле - она и обеспечит тебе видимость.
Аноним 06/07/23 Чтв 17:32:59 2756392 881
>>2756390
Ладно, кажись я допер, чтение волатильной переменной дает видимость для всего, что было между другим таким чтением.
https://stackoverflow.com/questions/2475067/java-locksupport-memory-consistency
>чтобы увидеть что ордеринг они гарантируют только относительно волатайлов.
В совокупности с гарантией mutual exclusion, наверное можно ей назвать, не?
Аноним 06/07/23 Чтв 17:34:11 2756395 882
Аноним 06/07/23 Чтв 17:35:00 2756396 883
>>2756395
После 1000 же. Там вон 249 до сих пор живет.
Аноним 06/07/23 Чтв 17:35:59 2756398 884
>>2756396
Так ведь смысл в том, что после 500 тред не апается и тонет
Аноним 06/07/23 Чтв 17:36:40 2756399 885
Аноним 06/07/23 Чтв 18:13:40 2756444 886
>>2732193
Пользовался огрызком про 2017, это отвратительно, ноутбук греется и шумит от любой средней нагрузки, но это все не главное. У меня была версия на 8гб ОЗУ, этого не хватает ни на что. ПОВТОРЯЮСЬ НИ НА ЧТО. У тебя только докер с айдией будут кушать под 10, а я еще про СУБД молчу. А тебе еще нужно параллельно держать браузер и т. д.

Щас у меня средненький vivobook (14”, r7 5700u, 16ram). Хватает, но ОЗУ порой мало, благо в пк 32гб.
06/07/23 Чтв 19:07:07 2756533 887
>>2756398
Так в этом и прикол.
Аноним 06/07/23 Чтв 19:39:13 2756573 888
>>2755818
это хуже чем сейчас. Жаба славилось своей простотой и логичностью. Щас делают второй шарп/вторые плюсы
Аноним 06/07/23 Чтв 19:41:12 2756578 889
>>2756573
А что здесь не простого и не логичного?
Аноним 06/07/23 Чтв 19:50:33 2756595 890
>>2756578
отказываемся от принципа "всё есть класс"? Где эта штука должна запускаться? Кто её должен запускать? Как он должен обратиться?
Аноним 06/07/23 Чтв 19:52:22 2756598 891
>>2756595
Ну тут как с анонимными классами. Мб и лямбду убрать?
Просто по имени пакета сделаем анонимную реализацию. Усе.
06/07/23 Чтв 20:07:59 2756613 892
>>2756595
> отказываемся от принципа "всё есть класс"?
Наконец-то!
Аноним 06/07/23 Чтв 20:09:41 2756615 893
>>2756613
и получаем кастрированный питон
06/07/23 Чтв 20:10:57 2756617 894
Аноним 06/07/23 Чтв 20:12:13 2756618 895
>>2756613
Хуй саси. Скорее солнце перестанет светить, чем жаба свои принципы основные уберёт. Наоборот вон примитивы к объектам хочут привести.
Аноним 06/07/23 Чтв 20:18:38 2756622 896
>>2756618
Да даже если и уберёт, этого никто не заметит, т.к. ещё 50 лет будем сидеть на 8 жабе.
Аноним 06/07/23 Чтв 20:19:31 2756623 897
Так а как вы предлагаете избавиться от классов в угоду голой функции main? Там же файлы в .class "компилируются", где уже и описан main метод, а тут придется в какой-то анонимный класс оборачивать каждую такую беспризорную "функцию"
06/07/23 Чтв 20:23:05 2756628 898
>>2756623
Хочу, чтобы не через классы, а прям на фундаментальном уровне была поддержка функций, файлы .function, functionpath вместо classpath, переменные типа "ссылка на функцию", functionloader-ы и т.д.
Аноним 06/07/23 Чтв 20:23:43 2756629 899
>>2756623
каталог-кун докладывает: сотни быдла бьется головой о стену, не видя двери. Для быдла выпиливают люк
Аноним 06/07/23 Чтв 20:24:28 2756632 900
>>2756623
В 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-анонимными классами?
06/07/23 Чтв 20:25:09 2756633 901
Ещё Main-Function в манифесте кста.
Аноним 06/07/23 Чтв 20:25:33 2756635 902
>>2756623
А тебе-то че? Этим будет заниматься javac.
Аноним 06/07/23 Чтв 20:27:00 2756639 903
>>2756628
А че нет какого-то жава бэйсед яп с такой херней? Или там упираются уже в jvm?
06/07/23 Чтв 20:28:01 2756641 904
>>2756639
Да, JVM на фундаментальном уровне работает с классами и ничем другим.
Аноним 06/07/23 Чтв 20:29:51 2756646 905
>>2756641
Ну как, примитивы отдельная сущность. Я правда не знаю, в стейке ли они живут или нет.
Аноним 06/07/23 Чтв 20:32:31 2756653 906
>>2756639
всякие груви и скалы. Не получилось перевести всех на хаскель - попробовали сделать скалу. Не получилось перевести на скалу - из жабы делают хаскель/скалу
Аноним 06/07/23 Чтв 20:34:00 2756656 907
>>2756653
Никому не нужен ваш чмаскелль, хватит фантазировать
Аноним 06/07/23 Чтв 20:36:34 2756659 908
>>2756628
>прям на фундаментальном уровне была поддержка функций, файлы .function, functionpath вместо classpath, переменные типа "ссылка на функцию", functionloader-ы и т.д.

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

Подумай вот о чем - на уровне железа один хуй у тебя будет императивный CPU, работающий со стейтфул-RAM. Чистенькими остаться не получится, рано или поздно придется делать грязные делишки, так чем JVM не кандидат?
Аноним 06/07/23 Чтв 20:38:36 2756663 909
>>2756659
Ну вот в шарпе же смогли в делегаты
06/07/23 Чтв 20:40:09 2756667 910
>>2756659
И? В чём проблема?
Ты на функциональные языки программирования намекаешь или на что? Функции как в хаскелле мне нахуй не нужны, мне надо как в плюсах.
Аноним 06/07/23 Чтв 20:42:06 2756672 911
>>2756667
А че тогда с перегрузки операторов не начал? Это так вообще идеологически добавлять не хотят.
Аноним 06/07/23 Чтв 20:46:16 2756677 912
>>2756672
такими темпами скоро будет. Там в жабе руководство поменяли или что? Откуда появилась такая тяга к сахарку?
Аноним 06/07/23 Чтв 20:46:35 2756679 913
>>2756667
>Ты на функциональные языки программирования намекаешь

Да.

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

Какие нахер функции в плюсах, чел? Классы, да процедуры.
06/07/23 Чтв 20:46:54 2756680 914
>>2756672
Мне она не особо нужна. Сложно придумать задачу, где с перегрузкой операций становится значительно удобнее писать код. В вузовских лабах на сложение матриц это выглядело прикольно, но в повседневной бизнес-логике это ну никак не применить, здесь и обычное умножение юзается нечасто.
Аноним 06/07/23 Чтв 20:49:59 2756684 915
>>2756677
Да вроде на большинстве пакетов имя гетца красуется. Так шо сомневаюсь.
Да и пока нормальный сахар.
Аноним 08/07/23 Суб 12:11:53 2758489 916
На неделе первый собес. Дайте все советы которые бы пригодились вам на вашем первом собеседовании
Аноним 09/07/23 Вск 01:03:55 2759317 917
Аноним 09/07/23 Вск 13:34:11 2759649 918
>>2758489
Разработать попку.
Аноним 09/07/23 Вск 14:07:17 2759677 919
Аноним 09/07/23 Вск 14:55:41 2759716 920
image.png 18Кб, 483x146
483x146
Хочу сделать подобное, для петпроектика в гите, шоб вкатиться:
Есть некий сервис, с возможностью регистрации. Данные пользователя соответственно: логпасс, инвайт, счет фантиков. Также этот сервис позволяет делать эмиссию и ремиссию денег посредством лотереи. Таким образом, общая масса фантиков будет зависеть исключительно от удачи. Также есть возможность дебета и кредита между юзерами.
Идея в том, что лотерея сама по себе будет производится посредством ГИСЧ, таким образом надо как-то делать так, чтобы этот процесс не жрал все ресурсы.
Каждый пользователь с его счетом будет в реляционной бд постгресс. Также каждый процесс разыгрывания лотереи - twist, будет записываться в nosql бд - mongo. Каждый пользователь связан с другим, посредством инвайтов и это будет отражено в neo4j. Возможно, можно как-то внедрить и редис для кэша и кафку для регулирования того, что ГИСЧ очень медленный. Все вышеописанное - рест сервис. Еще будет mvc на jsp для отрисовки.

Где я проебался, что лучше изменить на этом этапе...?
Аноним 09/07/23 Вск 15:43:14 2759754 921
>>2759716
>>mvc на jsp для отрисовки.
хотя бы таймлитф возьми, а лучше ебани реакт/вью

>>Где я проебался
у тебя цель какая? побольше разных технологий засунуть в проект?
Аноним 09/07/23 Вск 15:46:26 2759758 922
>>2759754
>хотя бы таймлитф возьми
Ну на единственной вакухе тока jsp. Такшо надо хотя бы посмотреть, что за жсп.
>побольше разных технологий засунуть в проект?
Угу, джуновский же проект. Не знаю тока, как будет взаимодействовать спринг секурити реста с сервером отрисовки.
Аноним 09/07/23 Вск 17:38:23 2759900 923
>>2759716
ПИЗДЕЦ! ТРИ ебанных базы данных! ТРИ, КАРЛ!!! Эт чё типа микросервисы шоль? Тогда какого хуя одна БД ссылается на другую базу данных. Они вообще не должны знать о существовании друг друга. Да и вообще, что в проекте такого, что не может решить одна постгря или одна монго или один neo4j? Если у тебя с самого начала проект тормозит, значит архитектура построена через жопу и её нужно переделывать, а не ставить костыли в виде кеша или кафки. Микросервисы вообще другую проблему решают. Они решают проблему менеджмента, шоп дать каждой команде по сервису и они съебали разрабатывать независимо друг от друга. Кодеру одиночке никаких особых профитов они не дадут. Если только бОльший контроль над масштабированием и чуть бОльшая гибкость деплоя. Но по факту, то что ты нарисовал это тот же распределенный монолит. От того что ты ебать сделал 3 сервиса, он от этого монолитом быть не перестал. Потому что на фронтэнде откроется страничка, и ему придётся делать 2 запроса - один в users, другой в twistes, потом эти данные компоновать и выводить на фронте. Ты только добавил переусложнений на ровном месте.
Аноним 09/07/23 Вск 18:07:36 2759949 924
>>2759900
>Ты только добавил переусложнений на ровном месте.
Ебать открытие. Я просто хочу научится работать с бд. Все.
>Тогда какого хуя одна БД ссылается на другую базу данных.
Не понел, где?
В бд 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 и все. Айдишник известен на стороне сервера из сессии, а фронт просто пихнет код авторизации.
Аноним 09/07/23 Вск 18:12:42 2759968 925
>>2759949
>код авторизации.
Ну точнее JSESSIONID. Вродь должно работать.
Аноним 09/07/23 Вск 18:39:43 2760018 926
>>2759949
>Я просто хочу научится работать с бд
Ты учишься делать ХУЁВУЮ архитектуру, потому что в реальном мире ни у кого нет столько денег, чтобы содержать зоопарк из баз данных. Серверные ресурсы не бесконечные. При том что на каждый запрос будет JOIN который скомпонует данные из нескольких источников. Это расточительно как в плане запросов, так и в плане будущей поддержки. Это по сути, программирование ради самого программирования.

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

Какбе ебать у тебя базы независимы, для галочки. А по факту очень зависимы.
Аноним 09/07/23 Вск 18:57:51 2760042 927
>>2760018
>При том что на каждый запрос будет 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 уже лучше?
Аноним 09/07/23 Вск 20:36:07 2760154 928
>>2760018
Надо понимать ты не ответишь? Ну хотя бы пасиба за это.
Аноним 09/07/23 Вск 20:39:54 2760158 929
Приколы-для-дау[...].jpeg 121Кб, 811x663
811x663
>>2760042
Ой не неси пургу, твоё решение говно. Заставить бы тебя поддерживать этот проект хотя бы год. Естественно тебе похуй, ты поднял свой петпроект и снёс через день. Главный фейл в том, что ты мешаешь кислое с пресным. Реляционные и 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/ и не разносить данные на пол-галактики.
Аноним 09/07/23 Вск 21:00:22 2760186 930
image.png 61Кб, 1205x778
1205x778
image.png 96Кб, 1204x697
1204x697
>>2760158
>У тебя максимум будет 4 операции - create user, get user, update user, delete user, ВСЁ!
>Также есть возможность дебета и кредита между юзерами.
Точно ли многодокументные транзакции норма?
>Здесь нет никаких ни many-to-many отношений, чтобы нужны были графы.
Ну как, есть же инвайты. Соответственно будет дерево из юзеров.
Условно A пригласил B, C, D, а D в своюю очередь пригласил еще R, T. Пик крч. Если добавить обратные связи, скажем проценты, то получится пик 2. Не то, чтобы это нельзя было сделать через постргресс, мне просто хотелось попробовать neo4j....
>Короче, из всех баз данных можно было оставить одну монгу.
Мне вообще не нравятся nosql бд, я лучше оставлю реляционную.
Аноним 09/07/23 Вск 23:50:21 2760337 931
>>2760158
> Ой не неси пургу, твоё решение говно.
В общем, поясните мне, пожалуйста, почему нельзя мешать nosql бд и релиционные.
По идее редис же есть, для кэширования данных ну или кафка, для консумеров и продусеров. Или это совершенно другое?
В общем-то с той связью, что у меня, будет абсолютно наплевать удаляется метаданные или же нет. Можно будет выводить типа, срок хранения истёк ну или что-то подобное. Ещё можно повесить срок жизни на метаданные, так если и удаляется данные, они в любом случае умрут, вне зависимости от того, что там в реляционной. Единственная проблема будет, если кто-то изменит id в документах и возникнет неконсистентность данных. Я хз, возможно ли такое...

>Заставить бы тебя поддерживать этот проект хотя бы год.
Да похуй, ты главное деньги плати, я-т любое говно поддерживать готов.
10/07/23 Пнд 00:55:08 2760357 932
Пиздец. Два шизика, которые нихуя не смыслят ни в архитектуре, ни в микросервисах, строчат простыни друг другу.
Аноним 10/07/23 Пнд 01:16:45 2760364 933
>>2760357
Окей, я и не претендовал на знания, тк ни разу не видел ни одной архитектуры. Так или иначе, обязательно надо выебнуться, что ты не такой и вообще выше всего этого?
Аноним 10/07/23 Пнд 10:18:29 2760530 934
Правда ли, что сейчас нельзя писать циклы и надо всё сводить к стрим апи?
Вот, к примеру, типичная задача, где надо что-то посчитать и положить результаты во вспомогательную мапу, а потом по этим данным как-то отфильтровать входящие данные.
Циклами такие задачки решаются элементарно. А вот через стрим апи голову сломать можно. Надо как-то вывернуться, насрать в поток какого-то маловразумительно говна, потом написать действие, которое это говно соберёт и склеит с нужными данными.
Зачем так нужно извращаться?
Аноним 10/07/23 Пнд 10:21:50 2760532 935
>>2760530
Да, у нас даже линтер настроили так, чтобы циклы не пропускать.
Аноним 10/07/23 Пнд 15:39:20 2760868 936
>>2760532
Лол, хуя шиза. Земля пухом твоему тимлиду.
Аноним 10/07/23 Пнд 15:51:19 2760879 937
>>2760530
>Правда ли, что сейчас нельзя писать циклы и надо всё сводить к стрим апи?

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

На самом деле стрим апи и циклы работают по разному и имеют разный сет достоинств-недостатков. Стримы можно параллелить, циклы - нет (чх, фанатики параллелят их редко). Стримы предоставляют понятный читабельный паттерн мап-редьюс, циклы - нет. В то же время итерации циклов, в отличие от лямбд стримов, можно замыкать на мутабельную переменную, что бывает удобно. Более того - циклы просты и предсказуемы как палка, в то время как по стримам у Тагира Валеева есть два доклада с их "причудами" и один опенсорцный либ StreamEx, дополняющий и исправляющий недостатки оригинальных стримов.
Аноним 10/07/23 Пнд 15:55:24 2760884 938
Аноним 11/07/23 Втр 05:55:22 2761684 939
Дайте годную мурзилку по устройствам коллекций. Особенно с устройством хешмап.
Аноним 11/07/23 Втр 07:25:05 2761708 940
>>2761684
Открываешь сурсы и смотришь. Лучшая мурзилка.
Аноним 11/07/23 Втр 12:40:08 2761878 941
>>2761708
Реализацию jvm по двоичному коду постигал?
Аноним 11/07/23 Втр 15:07:09 2761992 942
>>2761878
Jvm невозможно постичь не обратившись в рясу схимника
Аноним 12/07/23 Срд 01:16:00 2762583 943
Аноним 12/07/23 Срд 15:31:04 2763089 944
>>2761878
Че ебало скривил? Первоисточник всегда лучше всего остального. Делов то - открыть идею и посмотреть небольшой пучок сорцов.
Аноним 12/07/23 Срд 20:19:02 2763458 945
В Intellij IDEA добавили бесплатную чат гопоту (3, не 3,5). Мнение?
Аноним 12/07/23 Срд 21:16:44 2763569 946
Аноним 12/07/23 Срд 22:16:29 2763640 947
Аноним 13/07/23 Чтв 13:01:18 2764230 948
>>2763458
Там есть бесплатный плагин на 3.5
Аноним 13/07/23 Чтв 23:15:57 2765144 949
image.png 232Кб, 1143x566
1143x566
Какие-то ахуительные истории пошли. Ну и книга...
Аноним 14/07/23 Птн 12:20:30 2765483 950
>>2765144
Хахаха, что за книга?
Аноним 15/07/23 Суб 11:11:20 2766790 951
Делать отдельный конструктор чисто для тестов норм или нет?
Аноним 15/07/23 Суб 11:41:07 2766819 952
>>2766790
Только если в тестовом пакедже заэкстендиться со своим конструктором.
Аноним 15/07/23 Суб 19:20:08 2767566 953
>>2766790
А что значит - "только для тестов", философски говоря? Тесты - просто частный случай переиспользования сущности под тестом, ни больше ни меньше. Да и что есть тест, если не формализация какого то кейса, который может случиться с тестируемой сущностью в проде? Учитывая вышеозвученные риторические вопросы, ответь - почему дополнительный конструктор, объявленный для сущности, должен и может быть только конструктором для тестов?

По совести, должно быть однохуйственно что это за конструктор. Если по какой то причине это у тебя не так, значит получилась хуйня скорее всего. Давай больше деталей.
Аноним 16/07/23 Вск 01:42:25 2768152 954
Аноним 16/07/23 Вск 02:29:35 2768190 955
>>2768152
Бесполезный мясной мешок обосрался на тесте Тьюринга
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов