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

Ответить в тред Ответить в тред
Check this out!
Java #104 thread /java/ Аноним 03/08/21 Втр 22:56:48 21162441
image.png 61Кб, 1961x1071
1961x1071
image.png 129Кб, 430x330
430x330
image.png 53Кб, 750x375
750x375
image.png 82Кб, 310x390
310x390
Аноним 03/08/21 Втр 22:58:49 21162472
Аноним 03/08/21 Втр 22:59:18 21162483
Поясните ньюфагу чем так охуенны enum и зачем и когда их лучше использовать и почему
Аноним 03/08/21 Втр 22:59:55 21162514
>>2116248
Затем, потому. Свободен нахуй.
Аноним 03/08/21 Втр 23:00:17 21162525
>>2116244 (OP)
Легаси говна в треде нет, твердо и четко.
Аноним 03/08/21 Втр 23:03:17 21162616
Зачем использовать gradle?
Аноним 03/08/21 Втр 23:03:42 21162627
image.png 25Кб, 640x400
640x400
image.png 77Кб, 600x281
600x281
image.png 68Кб, 1200x519
1200x519
>>2116252
Пикрилы будут в следующей шапке.
Аноним 03/08/21 Втр 23:08:46 21162798
ШАПКА НЕ НУЖНА
Аноним 03/08/21 Втр 23:09:09 21162809
>>2116244 (OP)
Бля, вы заебали. Сколько можно проёбываться с тегом?ч
Аноним 03/08/21 Втр 23:11:03 211628510
>>2116251
Вижу ты тоже ньюфаг
Аноним 03/08/21 Втр 23:15:11 211629511
>>2116280
Да и хуй с ним. По старому треду можно всегда найти новый. А когда старый сдохнет и этот перекатим.
Аноним 03/08/21 Втр 23:25:09 211630912
>>2116248
Надежнее, чем стринги констант. К тому же енамка - класс и у нее могут быть свои методы
Аноним 03/08/21 Втр 23:26:54 211631313
>>2116295
Можно, но большинство ищет по тегу, и кто-нибудь из них может перекатить ещё раз, потому что последний пост не "ПЕРЕКАТ" из-за некропостеров, и будет два 104-х треда. Так недавно случилось с крестотредом.
Аноним 03/08/21 Втр 23:29:42 211631714
Попробовал следовать инструкциям из видео и смачно окунулся в УСТАРЕВАНИЕ ИНФОРМАЦИИ.
Это нормально вобще?
Ошибка на ошибке одну решаешь другая вылезает, веб приложение так и не видно в локалке что бы я ни делал из предложенных решений в комментах. Стековерфлоу тоже не помог.
Видимо нужно смотреть индусов 21го года выпуска.
https://youtu.be/FyZFK4LBjj0
Аноним 03/08/21 Втр 23:34:01 211632515
>>2116317
Так это же спринг, он сам по себе легаси говно 2002 которое по инерции используют или из-за умственной ограниченности
Аноним 03/08/21 Втр 23:36:55 211633116
Почему в тырпрайзе не используют MySql?
Аноним 03/08/21 Втр 23:37:51 211633317
>>2116317
Нормально, даже на инглише будешь постоянно на подобное натыкаться, ибо всем лень следить за актуальностью. Хочешь актуальное - смотри только официальные мануалы.
>>2116325
Иди нахуй.
Аноним 03/08/21 Втр 23:39:02 211633518
>>2116331
Потому что это говно ебаное

мимо на проекте мускул
Аноним 03/08/21 Втр 23:40:28 211633819
>>2116331
Очевидно, что он умеет меньше, чем постгрес или оракл. На хеллоуворлдах этого не понять, но в реальном большом проекте обязательно столкнёшься с тем, что нет какой-нибудь хитровыебаной фичи для мониторинга/репликации/OLAP.
Аноним 04/08/21 Срд 00:14:06 211635620
>>2116313
>>Так недавно случилось с крестотредом.
Так множественное наследования для крестов это же нормально.
Аноним 04/08/21 Срд 04:58:42 211642221
Мне понравилась шапка, спасибо анонам-составителям.
Аноним 04/08/21 Срд 07:58:24 211644522
5AD5D9E2-0128-4[...].MP4 6219Кб, 1280x720, 00:00:20
1280x720
Аноним 04/08/21 Срд 11:40:06 211668123
>>2116244 (OP)
Шапка неплоха, но ее явно писал человек, который в индустрии менее пяти лет
Аноним 04/08/21 Срд 12:35:03 211672824
>>2116681
Тут да, не хватает картинки 3 billion devices
Аноним 04/08/21 Срд 13:37:34 211678225
>>2116681
А что изменилось бы, если шапку писал легаси сеньор?
Аноним 04/08/21 Срд 18:27:20 211703826
тред умер нахуй
Аноним 04/08/21 Срд 18:55:06 211705427
В чем разница между Controller, Service, Component, Repository? Может в этом треде кто-то знает?
Аноним 04/08/21 Срд 19:01:11 211706228
>>2117038
0 причин писать на жабе в 2021
go/rust на бэке это стек современного энтерпрайза. Но русачки и паджеты могут продолжать тонуть в спринг болоте, пока их через годик-другой не заменят на одного самого задротистого помидора с copilot под рукой
Аноним 04/08/21 Срд 19:09:26 211707229
>>2117062
А голодранцев и растоманов не заменят?
Аноним 04/08/21 Срд 19:16:55 211708530
>>2117072
Нейросеть начнет писать на расте, осознает себя как трансгендерный интеллект и пойдет воевать с правачками в твиттер вместо кодинга
Аноним 04/08/21 Срд 19:18:50 211709131
>>2117054
В контроллер маппятся запросы. Репозиторий вроде как добавляет какую-то обработку для исключений не знаю точно. Между сервисом и компонентом до сих пор разницы нет
Аноним 04/08/21 Срд 19:40:59 211710232
Что делает DispatcherServlet вот у меня есть контроллер, с какой-то логикой. DispatcherServlet он абстрогирует меня от реквестов и респонзов, в чем его функция?
Аноним 04/08/21 Срд 19:50:29 211710333
>>2117102
Он диспетчеризует реквесты.
Аноним 04/08/21 Срд 19:52:45 211710434
>>2117103
А можно развёрнутее?
Аноним 04/08/21 Срд 19:53:11 211710535
Аноним 04/08/21 Срд 21:07:24 211715336
>>2117102
Если не шаришь в сервлетах, почитай про них сначала.
В старых приложениях на ЕЕ писали много сервлетов и указывали по роуту на каждый, а в спринге сделали один универсальный сервлет и обрабатывают все запросы через него, не полагаясь на маппинги в web.xml.
Аноним 04/08/21 Срд 21:11:31 211715637
Есть набор каких-то объектов, которые надо валидировать. Нормально ли будет, если валидатор просто будет дергать метод validate у каждого объекта, а вся логика по валидации будет внутри класса соответствующего объекта?
Аноним 04/08/21 Срд 21:28:08 211716638
Screenshot20210[...].jpg 238Кб, 1937x966
1937x966
Я не совсем понимаю, как здесь идёт сравнение?
Аноним 04/08/21 Срд 21:31:14 211717039
Аноним 04/08/21 Срд 21:32:56 211717640
>>2117166
В два шага
к = е.кеу
к == кеу
Алсо так делать не надо
Аноним 04/08/21 Срд 21:38:01 211718241
>>2117176
Про два шага я и так понял.

Мне интересно, откуда берутся 3 ключа вместо двух, и это типо сравнение бит, потом сравнение ссылок, или как.
Аноним 04/08/21 Срд 21:39:32 211718542
>>2117182
k = e.k
Или это тест на бесконечность или что вообще?

Вроде в c если число не равно само себе, это бесконечность.
Аноним 04/08/21 Срд 21:42:52 211718943
>>2117185
Хотя тут, наверное, не сравнение, а объединение.
Аноним 04/08/21 Срд 21:56:06 211719944
>>2117156
Вряд-ли. Дата объекты должны быть тупыми
Аноним 04/08/21 Срд 22:09:36 211722545
>>2117199
И как тогда? На каждый класс свою стратегию валидации? Я ебанусь.
Аноним 04/08/21 Срд 22:42:19 211725146
>>2117225
Так ты ведь тоже самое будешь делать, только в самих классах с данными, нет?
Аноним 04/08/21 Срд 22:48:40 211726047
>>2117225
че у тебя за ебанутая валидация, что тебе стандартного Bean Validation API не хватает?
Аноним 04/08/21 Срд 22:58:47 211727048
>>2117251
Да, и всего классов получится в два раза меньше.
Аноним 04/08/21 Срд 23:06:35 211727849
>>2117270
Делай как хочешь. Но если что, почитай про стратегию и будет совсем не больно
Аноним 05/08/21 Чтв 07:38:53 211747150
>>2117270
Пчел, ты... Валидацию надо делать через аннотации javax.valiation, никто уже давно не пишет императивные валидаторы, за исключением каких-то сложных случаев, например когда валидация одного поля зависит от значений других полей. И то, в этом случае можно кастомную аннотацию сделать.
Аноним 05/08/21 Чтв 07:42:32 211747351
>>2117471
>например когда валидация одного поля зависит от значений других полей
Ну нихуя себе, это именно то, что мне нужно.
Аноним 05/08/21 Чтв 07:48:33 211747552
>>2117473
Опиши кейс подробнее.
Аноним 05/08/21 Чтв 11:38:03 211760953
Screen Shot 202[...].png 321Кб, 1370x1870
1370x1870
>>2117185
>k = e.k
Это присвоение и колючи там объекты, так что == сравнивает ссылки.


Там надо смотреть полный код, там йоба оптимизации, чтобы лишний раз поле не читать. Эта ветка на случай, когда у нас в бакете уже что-то лежит. Конкретно этот код проверяет что у Node key совпадает с тем, что нам передали. И если совпадает то присваивает его e. А потом в e будут записывать значение или не будут если onlyIfAbsent - true.
Аноним 05/08/21 Чтв 12:52:46 211766054
Надо вкатываться быстрее, пока не вышел Loom. Иначе потом будут всех джунов и стажеров жоско попускать на теме асинхронности и многопоточки.
Аноним 05/08/21 Чтв 13:19:12 211768155
Аноним 05/08/21 Чтв 13:29:17 211769556
>>2117660
Джун должен быть попущен
Аноним 05/08/21 Чтв 13:33:59 211769957
>>2117660
А когда он на 100% выйдет?
Аноним 05/08/21 Чтв 13:42:54 211771258
>>2117660
до сих пор спрашивают что нового появилось в джаве 8, ничего не изменится
Аноним 05/08/21 Чтв 13:48:36 211771859
>>2117699
В следующей LTS, 23 или какая-там уже будет, думаю выйдет.

>>2117712
Так после 8 джавы почти ничего нового в языке не было. Ну кроме var, нового свитча и рекордов. Все остальное там совсем по мелочи было.
Аноним 05/08/21 Чтв 13:56:47 211773060
>>2117718
>ничего нового в языке не было
а Java 9 Reactive Streams?
>и рекордов
а че за рекорды?
Аноним 05/08/21 Чтв 13:58:32 211773461
>>2117681
Про возможности языка неправда, по крайней мере если писать на Котлине, то там можно и циклы, и if-ы, и вообще писать императивный код.

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

Про стектрейсы — полуправда, у Project Reactor есть дебаг-режим, в котором стектрейсы более понятные.
Аноним 05/08/21 Чтв 14:00:11 211773862
>>2117730
Это как структуры, только рекорды.
Дата-классы
Аноним 05/08/21 Чтв 14:02:27 211774363
>>2117681
Как по мне, главная проблема реактивного программирования на JVM — это отсутствие нормальной экосистемы. Spring Security работает через жопу, реактивных драйверов под реляционные БД нет, вообще реактивных клиентов к каким-либо популярным штукам почти нет, везде всё блочащее.
Аноним 05/08/21 Чтв 14:12:07 211775964
>>2117730
>Java 9 Reactive Streams
Они просто никому не нужны.
Вообще если так разобраться, то все эти стримы, вары, реактивные стримы, новомодные потоки, потуги в асинхронность, NIO - все это НИНУЖНО.
Джава была относительно неплохим законченным продуктом еще во времена Sun, как раз 5-6 версии уже были со всеми фишками, которых очень сильно не хватало. То, что пилит оракл, имеет очень малую ценность. Я считаю, что джаву нужно было оставить навсегда в состоянии 8 версии, а дальше развивать другие технологии с нуля.
Аноним 05/08/21 Чтв 14:18:31 211777065
>>2117260
>>2117471
>>2117156

Расскажите мне, как вы будете валидировать с помощью аннотаций или дата классов поля, которые нужно проверить с данными в базе?
Аноним 05/08/21 Чтв 14:21:36 211777666
Вообще дела у оракла в последнее время все хуже и хуже...
Думаю лет через 10 openjdk поддерживать уже никто не будет и весь джава-мир, включая котлин, скалу и груви, погрузится в вечное легаси.
Аноним 05/08/21 Чтв 14:25:29 211777967
>>2117776
>поддерживать уже никто не будет
Eclipse Foundation
Oracle зарабатывает за счет инфраструктурных услуг, джава их не волнует
Аноним 05/08/21 Чтв 14:30:38 211778568
>>2117776
Вот они хейтеры джавы, пишут простыни о том, что джава всё, а на поверку оказывается, что они понятия не имеют, о чём говорят.
Аноним 05/08/21 Чтв 14:31:18 211778669
>>2117779
>Eclipse Foundation
Они занимаются не openjdk, а поддержкой мертвой jakarta EE. Основной вклад в openjdk все еще делает оракл. А так как у оракла доходы падают уже который год, их БД повсеместно заменяются на postgres, то жить ему, как и джаве, осталось не долго.
Аноним 05/08/21 Чтв 14:32:52 211779070
Аноним 05/08/21 Чтв 14:38:07 211779971
image.png 92Кб, 741x436
741x436
>>2117790
Ну и? Вон 4 года назад чуть не обанкротился твой оракл.
Аноним 05/08/21 Чтв 14:45:20 211780572
>>2117770
Кастомная аннотация и кастомный валидатор, в который будет автовайриться репозиторий. Что сложного?
Аноним 05/08/21 Чтв 14:52:29 211781373
Валидация должна быть в сеттерах.
Аноним 05/08/21 Чтв 14:54:08 211781574
Валидация должна быть на уровне констрейнтов и триггеров в БД.
Аноним 05/08/21 Чтв 14:54:32 211781675
image.png 78Кб, 1491x664
1491x664
image.png 49Кб, 1510x635
1510x635
Из современных двигателей IT Oracle самая нищая контора. А если у конторы мало денег, то никакого быстрого развития технологий не будет. Джава и JVM используется исключительно по инерции. Но со временем технологии богатых компаний окончательно вытеснят джаву с рынка. А вот какой-нибудь Golang, который поддерживается гуглом, будет развиваться дальше, в то время как мир джавы, включая jvm, навсегда станет deprecated legacy.
Что самое интересное, во времена выхода 8 джавы, ситуация была несколько иная, и отставание оракла от основных гигантов было куда менее значительным.
Аноним 05/08/21 Чтв 14:58:05 211782376
>>2117815
Годно. Вообще, в жабе должен быть елинственный контроллер-фасад, который просто вызывает хранимые процедуры и передаёт в них всё, что получил.
Аноним 05/08/21 Чтв 14:59:17 211782677
>>2117816
Ты вообще видел Golang? Это же говно говна. Максимально кастрированный язык, там даже дженериков нет. Пока туда нормальных фич не навалят, им мало кто пользоваться будет в больших проектах.
Аноним 05/08/21 Чтв 15:00:16 211782978
>>2117816
Тогда почему в языке самой богатой компании мира многопоточность и треды появились спустя 7 лет после выпуска?
Алсо, погугли сколько проектов google похоронил и ответь, почему он не решится похоронить golang?
https://killedbygoogle.com/
Аноним 05/08/21 Чтв 15:04:40 211783379
>>2117816
Ну а путь питона/жс/пхп или си/плюсов тебе почему кажется нелогичным.
Тот же AT&T сейчас тень себя 50-летней давности. И ничего, си и плюсы используются, плюсы даже развиваются.
За спиной питона и жс изначально не было гигантов.
Аноним 05/08/21 Чтв 15:06:49 211783580
Вообще странно получается, 15 лет назад Джаву хуесосили за отсутстие дженериков, а сейчас создатели и пользователи Goвна говорят, что это нинужно и вообще это преимущество, ибо чем меньше у языка фич, чем проще его изучить.
Аноним 05/08/21 Чтв 15:10:25 211784281
>>2117835
Да будут в го дженерики
Аноним 05/08/21 Чтв 15:11:45 211784482
image.png 63Кб, 1517x686
1517x686
>>2117826
Максимально кастрированный язык, но почему-то озон и авито выбирают его, а не джаву.

>>2117829
Ну а в джаве дженерики появились спустя 9 лет после выпуска. И что с того? Факт в том, что некоторые технологии умирают, а некоторые наоборот развиваются. Так было с делфи и джавой в 2000, так и сейчас с джавой и Go/Rust в 2021. Ну а если даже голанг похоронят (в чем я все же сильно сомневаюсь), то есть node.js и Rust. Всех разом не похоронят, а вот джава через 10 лет будет при смерти. Даже если умрет мозилла, а вместе с ней и раст (что вряд ли, ведь ее спонсирует гугл), то джаваскрипт уж точно не сдохнет.

Кстати, один из наиболее крупных разработчиков решений для джава мира, IBM, готовится к уходу в мир иной.
Аноним 05/08/21 Чтв 15:13:08 211784683
>>2117835
Я, как нюфаг думал, что го - это для очень конкретных кейсов. Маленькие, но быстрые бекенды или быстрые микросервисы.
Что-то между чистым си и пхп.
Но тут говорят, что го захватит долю джавы. Странно.
Аноним 05/08/21 Чтв 15:15:48 211785284
>>2117846
Меньше слушай, что тут говорят, учись сам думать.
Аноним 05/08/21 Чтв 15:17:22 211785385
>>2117852
Думаю, что сейчас го не конкурент джаве.
Аноним 05/08/21 Чтв 15:17:44 211785486
>>2117833
В си и плюсах нет нихуя кроме стандарта, который пишут деды из комитета. И вообще, кроме стандартной либы там нет ничего. А вот вокруг джавы есть инфраструктура в виде Spring/JavaEE/Hibernate и еще некоторых технологий. Если сама джава помирает, то развития никакого не будет во всей инфраструктуре. EE уже несколько лет как мертв. Спринг и хибернейт - вопрос времени. Естественно через год ничего не умрет, и даже через 5 лет будут писать на спринге, а вот через 10 лет - уже вопрос. К тому же из SE лет через 5 наверняка выпилят все, что связано с ГУИ - awt и swing. А если посмотреть на далекое прошлое, то внезапно выяснится, что технологии вроде Java ME, Embedded, Java Card, EE - все мертво нахой.
Аноним 05/08/21 Чтв 15:20:51 211785587
>>2117844
Позицию твою я понял и отчасти поддерживаю - нет смысла привязываться к языку, он рано или поздно умрет. Однако, джава остается хорошим выбором для обучения ООП и подходов разработки, что может быть лучше?
Аноним 05/08/21 Чтв 16:26:40 211793088
>>2117854
А почему спринг умирает? Он же постоянно какие то фичи допиливает и интегоирует в себя все что можно?
Аноним 05/08/21 Чтв 16:49:25 211795089
>>2117734
>Про возможности языка неправда, по крайней мере если писать на Котлине, то там можно и циклы, и if-ы, и вообще писать императивный код.
Котлин все равно ограничен, если у тебя нет неблокируещего IO - например драйвер базы блокирующий, то тебе надо отдельный пул на работу с базой. А тут у тебя все библиотеки сразу заработают асинхронно.


>Про стектрейсы — полуправда, у Project Reactor есть дебаг-режим, в котором стектрейсы более понятные.
Ты же не будешь запускать прод в дебаг режиме. А разбираться со стектрейсом с прода - надо.


В целом его мысль была в том, что мы даем вам инструмент которые легко и просто решает задачу масштабируемости. И он проще и легче для использования чем реактивный подход или акторы. И он признает, что есть сценарии когда реактивный подход или акторы все равно будут нужны. Но даже они получат выигрыш от неблокируемого IO.
Аноним 05/08/21 Чтв 16:49:33 211795190
>>2117930
Ну вообще есть спринговые проекты, которые уже несколько лет как не обновлялись. Понятно, что стандартные IoC, Boot, Data, Security поддерживаются. Но вот от идеи использовать один мега-фреймворк для всего на свете постепенно стали отказываться в пользу разных инструментов, поддерживаемых разными разработчиками. Просто потому что в микросервисах огромные фреймворки не сильно полезны, а монолиты уже мало кто пишет. Да и к тому же, если по какой-то причине спринг перестанут разрабатывать, то это будет означать гарантированную смерть всей джава платформы на бекенде. А если у тебя несколько разных фреймворков и своих велосипедов, то даже если что-то перестанет обновляться и поддерживаться, ничего страшного не произойдет - в короткий срок можно будет найти замену или вовсе написать свой инструмент. В джаве ты такое просто не осилишь сделать за вменяемый промежуток времени.
Аноним 05/08/21 Чтв 16:53:27 211795491
Аноним 05/08/21 Чтв 17:02:15 211795992
>>2117816
Тебе не нужны миллиарды, чтобы развивать JVM. Команда JVM сотня-другая разрабов. Опять же благодаря открытости, много мелких вещей - типа багфиксинга делается строронними компаниями. Вон красная шапка целый новый GC законтрибутила. Основные усилия это стратегия развития платформы, но опять же тут консорциум компаний. Тот же Гугл и Амазон сами плотно сидят на Джаве и участвуют в развитии.
Аноним 05/08/21 Чтв 17:15:00 211796593
>>2117951
> в короткий срок ... вовсе написать свой инструмент

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

Даже просто перейти на другой фреймворк - это куча времени, если у тебя конечно не пет-проект в 10 классов

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

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

Просто спринг - это огромная экосистема, никто тебе не мешает найти замену для отдельных его частей, просто на то, чтобы связать их друг с другом может уйти больше времени, чем в спринге, но дерзай
Аноним 05/08/21 Чтв 17:26:14 211797694
16268588429572.jpg 32Кб, 430x310
430x310
А я вообще на Java не программировал. Мне просто интересно читать тут...
Аноним 05/08/21 Чтв 17:30:30 211798395
image.png 119Кб, 892x546
892x546
image.png 21Кб, 570x435
570x435
>В ближайшие два года количество java-вакансий только увеличиться

Большая часть java вакансий навсегда останется в эпохе java 8, которая вышла аж в марте 2014 года, как раз ровно в период славных побед России на геополитической арене.
Чтобы не быть голословным пидорасом, прикреплю пикрилы. Видишь, какие даты поддержки у 8, 11 и 17 джавы? У 8 версии аж до 2030 года, это дольше, чем у всех последующих версий жаб. К тому же, ни на 11 версию, ни на 17 бизнес особо перекатываться не планирует. С момента выхода 8 версии, когда выпустили stream api, никаких значимых апдейтов не было, ни в самом языке, ни в jvm.
Большие надежды были на project loom, который наконец принес бы асинхронность и легковесные потоки, но его обещают с 2018 года, и все никак. В 17 версии loom'а не будет, а так как это LTS релиз, то это очень плохо, даже ужасно. Придется ждать теперь как минимум до осени 2023 года появления легковесных потоков в LTS, и только начиная с того момента можно будет рассчитывать, что все эти новомодные штуки начнут использоваться в проде. Естественно не сразу, году к 2025-2026 примерно.

Я вот сейчас думаю, куда переходить из джавы, ибо застрять в спринге и хибернейте на долгие годы я не хочу, так как боюсь, что через 7 лет мои знания этих кобол-технологий станут мало кому нужны.
Аноним 05/08/21 Чтв 17:35:20 211798896
>>2117983
Ну а в дотнете конечно все не так! А больше аналогов джаве нет
хватит троллить тред
Аноним 05/08/21 Чтв 17:36:53 211799097
Похуй, на чём писать бизнес-логику. Хоть go, хоть кобол.
Аноним 05/08/21 Чтв 17:47:39 211800498
>>2117983
Насколько я знаю, Джава всегда была медленноразвивающимся языком, таковой она и осталась. После 8й Джавы каких-то значимых фич, кроме варов (которые многими всё равно осуждаются и неиспользуются) и рекордов (которые не нужны, потому что есть Ломбок) не завезли. Вот люди и сидят на 8й.
>Я вот сейчас думаю, куда переходить из джавы
Советую Node + Typescript + NestJS, мне очень зашло, хоть это пока и не очень популярно в СНГ.
>так как боюсь, что через 7 лет мои знания этих кобол-технологий станут мало кому нужны
Языки и фреймворки для энтерпрайз / веб-приложений похоже друг на друга, везде используются +- те же концепции. Так что даже если Джава вымрет и ты будешь вынужден сменить язык, твои знания и опыт всё ещё будут релевантными.
Аноним 05/08/21 Чтв 18:54:31 211809699
>>2118004
>>кроме варов (которые многими всё равно осуждаются и неиспользуются)
А чем плох var?
Аноним 05/08/21 Чтв 18:55:01 2118097100
>>2117776
Всё так, валить надо, да поскорее..
Аноним 05/08/21 Чтв 19:04:46 2118112101
>>2118096
Хз, многим просто не нравится, что ты не видишь явно, какой у тебя тип. Да и сейчас это не особо актуально, ибо IDEA показывает тип всё равно. Я сам var активно использую.
Аноним 05/08/21 Чтв 19:05:07 2118113102
Первокуры обсуждают будущее и настоящее платформы Жаба
Аноним 05/08/21 Чтв 19:06:59 2118116103
>>2118113
Бумеры уйдут на пенсию, первокуры вкатятся в go, и жаба станет всё.
Аноним 05/08/21 Чтв 19:09:14 2118123104
>>2118116
no young sir, long live java
please install spring
Аноним 05/08/21 Чтв 19:21:07 2118146105
>>2118123
Jackdaws love my big spring of quartz.
Аноним 05/08/21 Чтв 19:26:57 2118159106
>>2118116
Да и хер с ней с джавой, со знаниями сеньора джависта перейти на тот же го не такая уж и проблема. Потом завезут дженерики и фреймворк СпринГо и будут обсуждать, что голанг умирает.
Аноним 05/08/21 Чтв 20:16:48 2118242107
>>2117983
>через 7 лет мои знания этих кобол-технологий станут мало кому нужны.
Через 7 лет активной разработки тебе вообще похуй на каком языке писать. Ты в любой из существующих вкатишься за месяц, навыки писать код и тонны смежных знаний за эти года у тебя никуда не пропадут
Аноним 05/08/21 Чтв 20:19:07 2118246108
Прувет.

Вопрос такой: надо из джава кода запустить бин на линупсе
Нагуглил только Runtime.getruntime.exec("Здесь команда");
Есть ли еще какие то способы? Что то мне подсказывает, что это плохая идея
Аноним 05/08/21 Чтв 20:53:07 2118286109
Ребята,у меня каталоги по уебански показываются,не знаете как исправить?
Когда я делаю com.puk.srenk у меня показывается не три каталога,а один с названием com.puk.srenk,но при этом в файловом менеджере все создается нормально,каталог com,в нем каталог puk и в нем уже srenk
Аноним 05/08/21 Чтв 20:54:50 2118288110
Аноним 05/08/21 Чтв 20:55:25 2118291111
>>2118286
У idea ultimate 2020.1 если чо
Аноним 05/08/21 Чтв 20:56:00 2118293112
>>2118288
Дай бог тебе здоровья
Аноним 05/08/21 Чтв 21:27:03 2118331113
>>2118242
Угу, скажи это огромному числу миддлов и сеньоров на джаве, которые уже вообще не помнят ни джава кор, ни многопоточку, и максимум умеют программировать на спринге
Аноним 05/08/21 Чтв 21:28:52 2118334114
>>2118096
Тем что var без val/const.
Аноним 05/08/21 Чтв 21:43:38 2118353115
>>2118331
>которые уже вообще не помнят ни джава кор, ни многопоточку
Ну да, куда им до тебя джуна-вкатыша, лол
Аноним 05/08/21 Чтв 22:41:08 2118403116
>>2117759
Java не единственный jvm язык. Хуй с ним с языком, развиваться с такой же, скоростью как котлин, он всё равно не сможет из-за груза обратной совместимости, а вот возможности самой виртуальный машины должны развиваться.
Аноним 05/08/21 Чтв 22:48:10 2118405117
>>2118334
>>var без val/const.
что это значит? Какая то шутка про жаваскрипт?
Аноним 05/08/21 Чтв 22:56:37 2118410118
Аноним 06/08/21 Птн 00:39:13 2118466119
Зачем в параметры конструктора вместо,например, String string пишут,final String string. Нахуй тут этот файнал?
Аноним 06/08/21 Птн 00:41:14 2118467120
>>2118466
Чтобы случайно не изменить значение. Хя с файнолом пишу все переменные, даже небо, даже аллах файнал.
Аноним 06/08/21 Птн 00:45:03 2118468121
>>2118467
В смысле случайно не изменить? Как это возможно?
Аноним 06/08/21 Птн 00:46:00 2118469122
>>2118468
Опечатаешься и случайно.
Аноним 06/08/21 Птн 00:48:35 2118471123
Аноним 06/08/21 Птн 00:49:13 2118473124
Аноним 06/08/21 Птн 01:04:22 2118477125
>>2118096
>А чем плох var?
Тем что, без ухудшения читаемости, его можно использовать в очень ограниченном числе случаев. Там где тип ясен из инициализатора. Т.е. фактически это только конструктора или литерал. Вызов метода - уже оставляет неопределенность - что там вернется.
И получается, что в половине мест у тебя var, а в другой тип. Явно напрашивается решение использовать что-то одно.
Аноним 06/08/21 Птн 01:07:03 2118478126
>>2118246
ProcessBuilder более современная альтернатива, но в целом и Runtime.exec() норм.
Аноним 06/08/21 Птн 02:45:30 2118495127
>>2118477
>>без ухудшения читаемости, его можно использовать в очень ограниченном числе случаев
а если там
var user = UserAbstractBulderFactoryCreator.create(request.getUsername);
var dto = conversionService,convert(user, userDto.class);
return dto;
Не похуй ли что там за типы в этих варах? Так даже проще рефакторить. Да и IDE все равно показывает что там за тип.
Аноним 06/08/21 Птн 09:44:12 2118624128
Так значит... Есть конфа в тг вкатыльщиков и бывалых? Только не обоссыте меня. Я тупая, мне тяжело даётся изучение и у меня цель - деньги, а таких как я тут не любят. Ну таких, кто ради денег учит.
Аноним 06/08/21 Птн 11:07:18 2118754129
Аноним 06/08/21 Птн 12:04:12 2118823130
>>2118624
> Есть конфа в тг вкатыльщиков
Есть
> и бывалых?
Нет

Аноним 06/08/21 Птн 12:27:39 2118845131
>>2118754
Ебало имагине: целый день переписываться с дегенератами в слаке и отсвечивать в тимс, а после работки еще с вкатунами-голдигерами чатиться
Аноним 06/08/21 Птн 12:39:56 2118860132
>>2118403
Во-первых, как уже было упомянуто выше, Java ценна не самим языком как таковым, а колоссальной экосистемой вокруг него. Любой альтернативный язык обязан поддерживать её это на 100%, иначе крупный бизнес не будет создавать на нём ничего, кроме всякой экспериментальной хуеты. А на мамкиных энтузиастах котлин далеко не уедет.

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

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

Groovy умер, Clojure умер, Fantom и Ceylon вообще мертворождённые, Scala пока барахтается, но ей недолго осталось. У котлина есть шанс только на андроиде, на десктопе она сдохнет. Жаба их всех переживёт.
Аноним 06/08/21 Птн 12:46:10 2118873133
>>2118860
Ну так-то понятно, что нет никакого смысла использовать какой-то другой JVM язык на бекенде кроме жабы.
А если не JVM? Golang/Rust? Node.js? Там уже другие платформы со своими иструментами, которые в чем-то удобнее, легче и быстрее, как по производительности, так и по скорости разработки.
Аноним 06/08/21 Птн 13:00:59 2118896134
>>2117983
Сейчас в мире разработки кризис. С момента выхода джавы и шарпа не появилось ни одного вменяемого языка программирования, на котором можно было бы вести серьезный бизнес. А ведь джава все-таки старый язык, его эпоха постепенно проходит, несмотря на то, что годных новых инструментов нет, как бы это абсурдно не звучало. Какие-то потуги делает го, но бизнес на него переходит не очень охотно.
Вообще мне кажется, что программирование и все IT отрасль из "быстро развивающейся с постоянно появляющимися технологиями" постепенно перейдет в состояние глубоко легаси, которое будут поддерживать десятилетиями или даже столетиями. Никаких новшеств не будет, так как компьютерное железо достигло своего пика развития. Не будет масштабного появления смартфонов и приложений для них, как это было в конце нулевых, не будет такого развития веба, который произошел во многом из-за развития возможностей сетей. Мы все будем исправлять баги в древнейшем легаси коде. Просто потому что бизнес не сможет уйти с джавы на что-то новое. Физически не сможет.
Аноним 06/08/21 Птн 13:08:40 2118907135
java-tea.jpg 145Кб, 800x800
800x800
>>2117759
>Я считаю, что джаву нужно было оставить навсегда в состоянии 8 версии
2 пакетика чая этому анону.
Но маркетологам надо чем-то заниматься, вот и добавляют бесполезные свистелки и перделки.
И если в предыдущих версиях добавили нужные фичи, которые упрощали код (дженерики, стримы и анонимные функции), то после 9 версии пошел вообще какой-то кринж.
Жаба новых версий становится подозрительно похожей на фрактал плохого дизайна - PHP.
Аноним 06/08/21 Птн 13:17:33 2118924136
>>2118896
> С момента выхода джавы и шарпа не появилось ни одного вменяемого языка программирования, на котором можно было бы вести серьезный бизнес.
Scala активно используется, Hadoop, Spark, это все, куда уж серьезнее. Но язык еще сложноват для рядовых макак. Надо что-то попроще.

> Никаких новшеств не будет, так как компьютерное железо достигло своего пика развития.
Квантовые компьютеры же. Уже есть единичные действующие образцы.
Функциональное программирование пока не пошло в массы. Вот когда на смену экспериментальным языкам вроде Scala и Rust придет нечто более простое, уровня самой Java, тогда возможно все и устаканится, новых языков больше не будет.
Аноним 06/08/21 Птн 13:39:40 2118957137
>>2118924
>Квантовые компьютеры же
Их невозможно использовать в домашних условиях.

>Scala
Она умирает и рынок скалы сокращается последние годы. Функциональщина для энтепрайза подходит гораздо хуже, чем стандартное императивное программирование с ООП.

>придет нечто более простое
Ну вот Goвно есть. Проще раста. Но там нет полноценного ООП. Для кровавого энтерпрайза, где нужен высокий уровень абстракций не пойдет (учитывая что сами задачи в энтерпрайзе часто сводятся к автоматизации каких-то офисных работников, которые 40 лет назад заполняли кучу бумажных формочек, а теперь заполняют их в компьютере).
Аноним 06/08/21 Птн 13:44:20 2118966138
В треде шарполахта
Аноним 06/08/21 Птн 13:51:03 2118976139
>>2118966
Своей работы нет, остаётся только срать в других тредах.
Аноним 06/08/21 Птн 14:04:53 2118999140
>>2116244 (OP)
Шалом местным, вкатыш в треде. Учил я Джаву, дошёл до исключений по курсу Sololearn шлак, наверное, тот ещё, но похуй, всё равно потом книги дрочить и только сейчас задался вопросом: а в чём же, мать его, писать код? До этого обходился VSCode с плагинами и прочей малафьёй и JDK от Oracle. А теперь придавило перекатиться под IDE ведь там то точно тонна полезных фич а-ля умных исправлений и прочего. Смотрю на Eclipse, NetBeans и IntelliJ IDEA. Чтоо посоветуете, дорогие аноны?
Аноним 06/08/21 Птн 14:21:15 2119028141
>>2118999
IDEA в большинстве компаний, редко эклипс, netbeans это что-то очень дедовское
Аноним 06/08/21 Птн 14:36:08 2119045142
>>2118495
>Не похуй ли что там за типы в этих варах?
Если это write only код - то конечно похуй.
Но когда ты будешь читать код без IDE например в пул реквесте, то ты не сможешь сказать что там за тип. И надо или открывать IDE или догадываться что если передаем userDto.class, то наверное userDto и вернется.

Особое веселье происходит со стримами, где есть несколько map() методов.
Аноним 06/08/21 Птн 14:54:29 2119058143
>>2118999
Бери идею, потом переучиваться не придется на работе но ты все равно не вкатишься, просто докупишь лицуху и будешь писать код как все.
Аноним 06/08/21 Птн 14:55:20 2119060144
Как у компилятора изменить кодировку по-умолчанию? Чтобы не писать каждый раз -encoding utf8 как параметр к команде javac. Поставил переменную среды JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8, не помогло. Хочу выводить русские хуи в свинг без лишних телодвижений.
Аноним 06/08/21 Птн 14:58:02 2119061145
>>2119028
>>2119058
Спасибо, аноны, добра вам! Кстати, почему не вкачусь? Будто книги на инглише это что-то сложное.
Аноним 06/08/21 Птн 14:58:36 2119062146
>>2118873
>А если не JVM? Golang/Rust? Node.js? Там уже другие платформы со своими иструментами, которые в чем-то удобнее, легче и быстрее, как по производительности, так и по скорости разработки.

Node.js - просто костыль, чтобы жопаскрипт разрабы могли своими кривыми ручками и на беке пошариться ну и переиспользование кода, куда же без него. Но под JS много библиотек, правда у них уклон в UI, а не бек как на джаве.

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

Golang - ребята хотели сделать простой язык и получился какой-то недоделанный. Все эти if err != nil . Опять ООП кастрировали, а взамен ни мощной системы типов как функциональных языках, ничего не дали. По итогу получился эдакий Си с GC и без поинтерной арифметики.


На данный момент они не выглядят как языки способные заменить джаву в ее нише. Если Go добавить нормальное ООП, обработку ошибок.и Гугл вложится в развитие и портирование библиотек и фреймворков то возможно. C# как платформа уже мог бы заменить джаву, но опять же мало библиотек Майкам надо работать в этом направлении, но они не хотят.
Аноним 06/08/21 Птн 15:02:26 2119065147
Аноним 06/08/21 Птн 15:03:47 2119067148
>>2119045
>>будешь читать код без IDE например в пул реквесте
В том примере не нужно знать что там за тип. Сегодня это User, завтра Account. Из за вара даже перекомпилировать не придется. Что вернется из метода понятно по сигнатуре. Приходит в него тоже какой-нибудь request, который хуй знает что содержит. Ты либо идешь в ИДЕ и разбираешься как все работает досконально, либо не ебешь мозги и смотришь на уровне абстракций, а для этого типы тебе не нужны.
>>Особое веселье происходит со стримами, где есть несколько map() методов.
надо переменные нормально называть, чтоб понятно было о чем речь, тогда и типы не так важны
Аноним 06/08/21 Птн 15:08:24 2119072149
Хибернейт сохранит массив связанных сущностей(OneToMany) вместе с родительской сущностью, если не определены каскадные типы?
Аноним 06/08/21 Птн 15:14:34 2119076150
>>2119065
Счастья, здоровья, всех благ.
Аноним 06/08/21 Птн 15:21:56 2119081151
>>2118896
>Никаких новшеств не будет, так как компьютерное железо достигло своего пика развития.
Из нынешнего железа можно очень много выжать, если оптимизировать многие абстракции. Плюс в пару -тройку раз выч. мощность таки сможет еще увеличиться.
>Не будет масштабного появления смартфонов и приложений для них, как это было в конце нулевых, не будет такого развития веба, который произошел во многом из-за развития возможностей сетей.
iot рано или поздно взлетит. И к нему тоже нужно будет писать бекенд и связывать с вебом и мобилками.
Аноним 06/08/21 Птн 15:34:24 2119088152
>>2119081
>iot рано или поздно взлетит
Когда? Мне еще 6 лет назад на этой доске втирали чушь про iot. А по факту в РФ его как не было, так и нет, а зарплаты ембеддеров ниже чем у курьеров, которые даже русский иногда не знают
Аноним 06/08/21 Птн 15:46:26 2119104153
Аноним 06/08/21 Птн 16:20:53 2119144154
>>2119067
>надо переменные нормально называть, чтоб понятно было о чем речь, тогда и типы не так важны
Я работал в проекте где по кодстайлу использовать var было обязательно. И ребятам пришлось изобретать свою венгерскую нотацию мэйбиХуй, пиздаЛист, пупаЗалупаМэп. Охуенная идея!

>Из за вара даже перекомпилировать не придется.
Иди поспись! Перекомпилировать у него не придется.
Аноним 06/08/21 Птн 16:23:14 2119148155
>>2119104
Объясни по человечески, что ты имеешь в виду.
В базе все хранится в табличках, обычно в 2-х разных и потом джонится. В памяти просто объекты, как обычные джавовские. Только коллекции обычно ленивые
Аноним 06/08/21 Птн 16:34:23 2119161156
>>2119148
У нас есть агрессивная коллекция внутри сущности. Мы создаём эту сущность. Инициализируем коллекцию и добавляем туда другие сущности(которые тоже создаём). У нас не определены каскадные типы. При сохранении первой сущности сохранятся все сущности в коллекции?
Аноним 06/08/21 Птн 16:53:39 2119170157
>>2119144
В этом проекте код набирали в блокноте?
Аноним 06/08/21 Птн 17:43:25 2119203158
>>2119144
>>И ребятам пришлось изобретать свою венгерскую нотацию
Но зачем? Если тебе так интересно, открой код в ИДЕ.
Аноним 06/08/21 Птн 17:45:35 2119207159
>>2119161
>>агрессивная коллекция внутри сущности
нельзя держать агрессию в себе
Аноним 06/08/21 Птн 17:56:37 2119221160
>>2119161
Если у вас чистый хибер без спринга и вы его не тюнили, то у вас должен быть режим AUTO https://docs.jboss.org/hibernate/orm/5.5/userguide/html_single/Hibernate_User_Guide.html#flushing

По идее у вас должны зафлашиться все измененные энтити, но новые если вы их не регистровали в entityManager-е persist или merge не должны сохранится.

И коллекция не агрессивная, а жадная.
Аноним 06/08/21 Птн 18:06:17 2119236161
>>2119088
Ну а почему он не должен взлететь? Преимущества очевидны. Для внедрения нужны некоторые инновации. Но это не маняквантовые вычисления.
Ну а когда - я не вижу будущее. Может через 5, может через 10 лет. Как появятся массовые чипы, стандарты связи и самое главное - визионеры среди крупняка, чтобы продвигать.
Что до рф, то тут и с вебом/мобилками было так же. На первых волнах хайпа ничего не делали, а как технологии подешевели, то появились массовые продукты и рабочие места.
Аноним 06/08/21 Птн 18:36:35 2119276162
>>2119170
С var есть проблема - тип не всегда ясен из кода, и ты последовательно предлагаешь разные костыли
- догадываться из контекста передаем userDto.class, то наверное userDto и вернется
- называть переменные так, чтобы из названия был ясен тип при этом сам назвал переменную dto
- открыть код IDE, чтобы показала подсказку о типе

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


>>2119203
>Но зачем? Если тебе так интересно, открой код в ИДЕ.
Я не хочу ради пул реквеста на 3 срочки, делать чекаут бранча и ждать пока он заимпортится. Тем более, что у меня сейчас своя работа, открыты классы с которыми я работаю, что-то не закоммичено, дебаг в процессе.
Аноним 06/08/21 Птн 19:06:59 2119356163
162763285019678[...].jpg 92Кб, 2048x1365
2048x1365
>>2116244 (OP)
Посоветйте книгу-справочник по Жава, сам C++/C господин, но хочу ковырнуть Луцент и Солр/Еластикчерч. Писал пару раз простые плагины, ничего тяжелого, но хочется быстренько по верхам пробежать.
Аноним 06/08/21 Птн 19:20:09 2119384164
парни спасайте. собираю варку с помощью мавена, и у меня в проекте есть библиотеки локально, можно их как-то добавить в варку не делая депенденси из репозитория?
Аноним 06/08/21 Птн 19:21:55 2119389165
>>2119221
Спасибо, сеньер-помидор.
Аноним 06/08/21 Птн 19:22:34 2119392166
>>2119356
P.s.
Хочу эту прикупить
Герберт Шилдт: Java. Полное руководство
По плюсам Шилдт хорошо писал.
Аноним 06/08/21 Птн 19:24:56 2119396167
>>2119384
грубо говоря нужно чтобы он взял все джарки из папки которую я укажу, и сделал зависимости
Аноним 06/08/21 Птн 19:25:07 2119398168
>>2119392
>прикупить
Нахуя?

Покупай после вката, когда денег заимеешь, ти що
Аноним 06/08/21 Птн 19:28:21 2119406169
148068864512402[...].jpg 90Кб, 634x822
634x822
>>2119398
>Покупай после вката, когда денег заимеешь, ти що
Чел у меня на счету пару лямов, трачу на бухло и книги. Хочу на топшлюх тратить, но пока брезгую.
Аноним 06/08/21 Птн 19:28:59 2119408170
Аноним 06/08/21 Птн 20:03:41 2119480171
>>2119276
С вар у тебя есть проблемы, это да.
Аноним 07/08/21 Суб 01:03:32 2119726172
>>2119408
>Дай тыщу тогда
Тебе деньги не нужны
Аноним 07/08/21 Суб 01:07:11 2119727173
>>2119726
А тебе нужны? У него нет тысячи, а у тебя есть. Разве это справедливо?
Аноним 07/08/21 Суб 01:24:48 2119732174
>>2119727
>Разве это справедливо?
Справедливо, если бы он хотел, то работал бы жабапомидором в каком нибудь большом бизнесе и греб деньги лопатой, поебывая херочек и бухов на корпоративчиках.
Аноним 07/08/21 Суб 01:25:27 2119733175
Аноним 07/08/21 Суб 01:27:26 2119735176
Сап. Есть проблема - приходит реквест (моделька) с кучей булевых, каждая переменная из которых отвечает за определенный функционал. В данный момент реализация через хуеву тучу if проверок. Внимание вопрос - как из модельки выпилить все False переменные? Подходят любые варианты маппинга, только чтобы без простыни условных операторов и без рефлексии (это overhead и является слабосвязным, при расширении логики человек, который будет этим заниматься должен знать, что есть такой магический метод с рефлексией, иначе новое поле выпадет из логики). Спасибо
Аноним 07/08/21 Суб 01:54:24 2119743177
>>2119733
Денег ему дай, а зачем тебе деньги? Работать не хочешь, значит не нужны.
Аноним 07/08/21 Суб 10:21:49 2119817178
>>2119735
Что ты имеешь в виду под
> выпилить переменные
?
Аноним 07/08/21 Суб 11:10:09 2119834179
>>2119817
это означает перемапить в новую модель, где поля со значениями False будут отсеяны через паттерн/механизм
https://pastebin.com/eZcfW2b9
Аноним 07/08/21 Суб 11:29:11 2119850180
>>2119743
Ебать даун, ты привитый что ли? Деньги нужны, а РАБота не нужна.
Аноним 07/08/21 Суб 12:17:30 2119869181
>>2119732
Скинь мне 30к, чтобы я ментора нанял, чтобы стать жабапомидором. А то учу-учу всякое и конца и края не вижу.
Аноним 07/08/21 Суб 12:43:25 2119880182
Абстрактные классы хуйня без задач,зачем они нужны?
Аноним 07/08/21 Суб 12:45:26 2119883183
Аноним 07/08/21 Суб 12:56:45 2119894184
Аноним 07/08/21 Суб 13:01:06 2119898185
>>2119880
Мань, иди со своим агрегированием куда подальше. Я часто использую абстрактные классы, и это намного удобнее хипстерской хуйни, если правильно их поменять.
Аноним 07/08/21 Суб 13:32:37 2119926186
>>2119880
Все ООП хуйня без задач.
Аноним 07/08/21 Суб 13:34:26 2119928187
>>2119392
Там же только базовая жаба. Никаких Спрингов и Солров.
Аноним 07/08/21 Суб 13:37:45 2119929188
>>2119028
>netbeans это что-то очень дедовское
Годнота для начинающих, очень простая и удобная IDE.
Сеньоры и мидлы конечно поголовно сидят на IDEA.
Аноним 07/08/21 Суб 13:49:24 2119936189
Аноним 07/08/21 Суб 13:49:49 2119937190
Аноним 07/08/21 Суб 13:50:37 2119939191
>>2118957
>Ну вот Goвно есть. Проще раста. Но там нет полноценного ООП
Потому что Go - спизженный Оберон, а Вирт дженерики не осилил.
JVM у Жабы тоже был спизжен с рантайма у Оберона, поэтому и в ней нет полноценного ООП.
Вот C# написан полностью с нуля, там все в порядке, никаких type erasure.
Аноним 07/08/21 Суб 13:52:47 2119942192
Аноним 07/08/21 Суб 13:55:05 2119945193
>>2119936
Когда кот и пес это энималы
Аноним 07/08/21 Суб 13:55:56 2119947194
>>2119937
Найс подрыв макакича.
ООП, паттерны и аджайл придуманы с единственной целью: чтобы вместо высокооплачиваемых хакеров и математиков код писали дешевые тупые индусы.
Аноним 07/08/21 Суб 13:59:14 2119951195
>>2119947
Тут соглы. Буквально макакерам дали раскраску раскрашивать и они сразу возомнили себя программистами
Аноним 07/08/21 Суб 14:01:24 2119954196
>>2119945
Птица обладает способностью летать, а пингвины и страусы не летают.
У прямоугольника можно независимо задать ширину и высоту, а у квадрата нельзя.
ООП это дичь, непригодная для моделирования реального мира.
Аноним 07/08/21 Суб 14:03:04 2119957197
>>2119951
И жаба один из первых языков для этого (вместе с ее ровесником Delphi). Кресты мартыханам оказались слишком сложны.
Аноним 07/08/21 Суб 14:08:46 2119960198
И всё-таки квадраты надо наследовать от прямоугольников, а не наоборот.
Аноним 07/08/21 Суб 14:14:46 2119964199
>>2119954
> Птица обладает способностью летать, а пингвины и страусы не летают.
Полиморфизм
> У прямоугольника можно независимо задать ширину и высоту, а у квадрата нельзя.
Полиморфизм
Аноним 07/08/21 Суб 14:43:18 2119991200
>>2119869
>А то учу-учу всякое и конца и края не вижу.
Что там учить? Я после крестов пробежался по примерам и начал писать на Жабе, ньюансы конечно не знаю но 95% кода читаемо.
Аноним 07/08/21 Суб 14:45:45 2119993201
>>2119964
Какой полиморфизм, мань?
Квадрат есть частный случай прямоугольника, т.е. должен наследоваться от него.
И при этом нарушается принцип Барбары Лисков.
Вывод: ООП маньки обосрались.
Аноним 07/08/21 Суб 14:46:53 2119995202
>>2119991
Ну-ка замути что-нибудь на микросервисах с Кафкой.
Аноним 07/08/21 Суб 14:49:43 2119998203
Аноним 07/08/21 Суб 14:56:04 2120003204
>>2119991
Пока миллион версий подключения к базе через спринге с хибером и без(хз какие учить) и секьюрити больше всего напрягают.
А до микросервисов и брокеров сообщений, о которых говорит челик выше я вообще пока не дошел.
Ментор бы пригодился, чтобы подсказал за пару занятий, что точно нужно учить, помог выбрать проект-портфолио и кратко отревьювил пару раз его части .
Аноним 07/08/21 Суб 14:58:50 2120007205
>>2120003
А нах ты все это учишь? Кое-как выдрочил джавакор, почитал про то как работает JVM, GC, написал пару крудов на спринге, выучил sql на уровне джоинов, хранимок, транзакций и тригеров, и бегом устраиваться на галеру.
Аноним 07/08/21 Суб 15:07:55 2120014206
>>2120007
Ну я смотрел видосы, читал статьи, посты на харкаче. И резимируя вывод - нужно уже знать и хибер и спрингдату и спрингсекурити по верхам и написать проект(пусть его и не будут читать), чтобы в голове улеглось. Причем не круд на один вечер, а на 5-7 табличек и на десяток-два эндпоинтов, на ресте с фронтом и простенькой авторизацией. Что-то уровня того, что в спрингинэкшоне.
Аноним 07/08/21 Суб 15:11:45 2120019207
>>2120003
>портфолио
Я и так норм получаю, Жаба чисто для петпроектов.
Аноним 07/08/21 Суб 15:15:30 2120022208
>>2120014
Да твой круд все равно вряд ли кто-то станет смотреть. Для джуна как раз знание джавакора и всяких фундаментальных вещей важнее, как мне кажется.
Аноним 07/08/21 Суб 15:23:07 2120035209
>>2120022
я понимаю, что не будут. Но многие пишут, что проект нужен для усвоения. И по спрингу/хиберу тоже гоняют.
Аноним 07/08/21 Суб 15:30:25 2120048210
>>2120014
>знать и хибер и спрингдату и спрингсекурити по верхам и написать проект(пусть его и не будут читать), чтобы в голове улеглось

Это развлечение на месяц-полтора. Только вот с фронтом могут быть проблемы. Если нет опыта в html/css/js твой проект будет крайне всратым неюзабельным гавном на thymeleaf. Но тратить время на фронт смысла особо нет.
А вот всякие кишочки джавы, многопоточность, асинхронность, JMM, как работает GC, какие там есть эпохи куч, обычные и многопоточные коллекции, как они реализуются - все это должен очень хорошо знать, понимать и уметь рассказывать на собесе.

Плюс ко всему можно написать какой-нибудь проект на java SE. Я не говорю про какое-нибудь говно вроде телефонной книги, парсеров сайтов, чата - все это делают на курсах для вайтишников. А вот какой-нибудь мини-компилятор, виртуальная машина, интерпретатор небольшого языка программирования, может быть даже что-то с графикой - такие проекты уже показывают, что человек вероятно действительно учился сам и читал книжки, а не только втупую списывал то, что ему показывали на курсах для вкатунов/джавараше/у алишева/трегулова. Но опять же, это если есть много времени свободного.
Аноним 07/08/21 Суб 15:40:45 2120059211
>>2120048
ну я почти всегда обратные советы слышу. Типо советуют мидлы/синьеры. И говорят они или до сир пор не знают глубоко кишков или учили, но даже на собесах не понадобится.
>Это развлечение на месяц-полтора.
я уже на этой стадии полгода(два месяца на основы html/css/js убил). И хз че и как писать. Еще и жс-фрейворк придется подучить.

Аноним 07/08/21 Суб 15:53:38 2120075212
>>2119993
Я об этом и сказал
Вывод: ты обосрался
Аноним 07/08/21 Суб 16:19:34 2120113213
>>2120003
>А до микросервисов и брокеров сообщений, о которых говорит челик выше я вообще пока не дошел.
Ну вот и не выебывайся, макака. Нихуя ты Жабу не знаешь.
Дорастешь до сеньора, вот тогда и поговорим.
Аноним 07/08/21 Суб 16:21:59 2120119214
image.png 2127Кб, 1280x744
1280x744
java Разработчик, когда узнал, что фронт писать намного тяжелее чем бек.

"фронты, А вы хотя бы знаете что такое Concurrency? " бек из 2000.
Аноним 07/08/21 Суб 16:22:30 2120121215
image.png 1381Кб, 1159x1730
1159x1730
@
МЫ РАЗРАБАТЫВАЕМ СЕРЬЕЗНОЕ ПО ДЛЯ БАНКОМАТОВ И МИКРОВОЛНОВОК, КТО КРОМЕ НАС?
@
МЫ РАЗРАБАТЫВАЕМ ДЕСКТОПНЫЕ ПРИЛОЖЕНИЯ
@
МЫ РАЗРАБАТЫВАЕМ ВЕБ СЕРВИСЫ ДЛЯ ФРОНТЕНДЕРОВ
@
МЫ РАЗРАБАТЫВАЕМ САЙТЫ ВИЗИТКИ И МОЖЕМ ОБОЙТИСЬ БЕЗ ФРОНТОВ
Аноним 07/08/21 Суб 16:22:45 2120123216
Аноним 07/08/21 Суб 16:24:49 2120127217
>>2120007
>и бегом устраиваться на галеру
В 70% вакансий:
- уверенное знание Docker, Kubernates, OpenShift
- опыт работы с брокерами сообщений (Kafka, RabbitMQ, JMS)
- Solr, Lucene, Elastic Search
- Spring Cloud
- участие в проектах с высоконагруженной архитектурой
Во всех оставшихся:
- зарплата менее 100 тыс. р.
Аноним 07/08/21 Суб 16:25:14 2120128218
image.png 968Кб, 900x900
900x900
>>2120123
Ты же сам веб макака спринговая))
Аноним 07/08/21 Суб 16:26:33 2120132219
>>2120127
> уверенное знание

Все что ты перечислил - это работа девопса.
просто бекендеры терпилы и выполняют чужую работу.
Аноним 07/08/21 Суб 16:28:54 2120139220
Аноним 07/08/21 Суб 16:30:05 2120143221
image.png 60Кб, 1797x489
1797x489
>>2120127
если ты реально это все знаешь, то тебе проще искать работу девопсом за 400к +++
java разрабам щас хуем по губам водят, поняли что они пустышки и выжимают все соки.

Аноним 07/08/21 Суб 16:31:14 2120145222
>>2120132
Еще пару лет назад не требовали ни докеров, ни брокеров.
Но жабодебилы все просрали.
Еще через пару лет их и на реакте заставят адаптивно верстать, и мобильные приложения собирать.
Аноним 07/08/21 Суб 16:33:43 2120150223
>>2120145
Такая хуйня только в мире JAVA и других терпил.
посмотри GO/rust/ петухоний
у них нет такой хуйни, потому что они ценятся рынком и к ним относятся как в БЕКЕНДЕРАМИ и программистам

а к Java щас относятся как к петушкам опущенным.
вроде как еще на рынке, а вроде как уже выкинули на мороз

Аноним 07/08/21 Суб 16:34:38 2120151224
Ебать вебмакаке делать нехуй.
Аноним 07/08/21 Суб 16:35:56 2120153225
В треде орудует шарпо-/го-/расто-лахта, ведь у самих работы-то нет, лол. А еще мвп параша протекла.
Аноним 07/08/21 Суб 16:36:55 2120154226
>>2120153
>мвп параша протекла
Все абстракции текут.
Аноним 07/08/21 Суб 16:41:21 2120162227
>>2120143
Есть ли курсы для девопсов? Вроде они в основном выходят из сисадминов.
Аноним 07/08/21 Суб 16:42:28 2120164228
>>2120145
>Еще через пару лет их и на реакте заставят адаптивно верстать, и мобильн

Не потянут, я без троллинга, было такое, говорят что там все запутанно и сложно. Какаются под себя еще на стадии ивентлупа.
Аноним 07/08/21 Суб 16:44:36 2120165229
>>2120153
После 500 нормально станет.
Давайте все писать с сажей, чтобы тред не висел на первой странице, привлекая залётных долбоёбов.
Аноним 07/08/21 Суб 16:45:13 2120167230
Почему для бека "выучить докер" - это сложно и зумеры ахуели.
А фронты просто берут и учат за 1 неделю?


Аноним 07/08/21 Суб 16:48:15 2120172231
>>2120150
Да тот же C# (главный конкурент в энтерпрайзе) взять для сравнения, что должен знать типичный миддл?
- язык C# и базовые классы .NET Framework;
- ASP.NET MVC 5 (аналог Spring Boot + Spring MVC);
- .NET Core для кроссплатформенных проектов (по сути, тот же ASP.NET MVC);
- Entity Framework (простейший из ORM);
- Transact-SQL, язык для хранимых процедур MS SQL Server.
И все, этого достаточно, чтобы иметь зарплату не ниже, чем у жабокуколда.
Аноним 07/08/21 Суб 16:48:53 2120174232
>>2120164
Что сложного в лупе?
По сравнению с реализацией асинхронности в джаве, где нужно знать многопочку, а для многопоточности джава мемори модел эвентлупа с очередями микро и макрозадач это суперлегко.
Аноним 07/08/21 Суб 16:50:28 2120176233
>>2120172

Вы хоть XML Не используете там в 2021?
Аноним 07/08/21 Суб 16:51:54 2120178234
>>2120153
Выучил все из списка >>2120127 ?
Давай-ка, покажи свой проектик с Кафкой и микросервисами.
МЫ ПОДУМАЕМ над вашей кандидатурой.
Аноним 07/08/21 Суб 16:53:23 2120185235
>>2120176
XML можно использовать для конфига приложения. Но не нужно, все используют package.json.
Аноним 07/08/21 Суб 16:55:25 2120187236
>>2120176
>в 2021
Кстати, когда там в жабе появится async/await?
И когда pattern matching?
Аноним 07/08/21 Суб 17:23:06 2120237237
maxresdefault.jpg 22Кб, 1280x720
1280x720
Вечер в хату!!
В процессе изучения Java возник вопрос про upcasting.
На хуя оно надо?
В интрнетиках пишут что если, например, есть перегруженый метод, а мы хотим использовать его не перегруженную версию, то делаем апкаст к родителю и наслаждаемся методом.
И это все?
Аноним 07/08/21 Суб 18:10:32 2120269238
>>2120237
> И это все?
Да. Но типобезопасность идёт нахуй, поэтому лучше сводить такие ситуации к минимуму.
Аноним 07/08/21 Суб 18:21:48 2120277239
>>2120127
Джуну без опыта больше 100к платить никто не будет

>>2120174
>По сравнению с реализацией асинхронности в джаве, где нужно знать многопочку, а для многопоточности джава мемори модел эвентлупа с очередями микро и макрозадач это суперлегко.

По опыту очень малый процент джавистов знает многопоточку за пределами "умею запускать потоки, знаю про synchronized и Executorservice". Про JMM многие вообще не слышали, про то как реализуются атомики, CAS, lock cmpxchg тоже мало кто слышал. Про lock-free, wait-free я вообще не говорю. С nio такая же история, некоторые вообще не догадываются, что помимо новых классов работы с файлами, там есть еще селекторы и буферы.
Аноним 07/08/21 Суб 18:26:10 2120283240
Аноним 07/08/21 Суб 18:30:28 2120288241
>>2120283
Шиз, нахуя сам себе отвечаешь?
Аноним 07/08/21 Суб 18:30:41 2120289242
>>2120145
Уже лол. Просто в требованиях не пишут. Подразумевается что про это и так все знают, ведь со спрингом ты по сути идёшь на фулстек позицию, а там и фронт и бэк и Аллах.
Аноним 07/08/21 Суб 18:34:07 2120292243
>>2120237
Чего блядь?
Апкаст никак не влияет на методы, ибо вызывается метод объекта, который доступен по ссылке. Апкаст нужен для полиморфизма, и вообще, зачем явно апкастить?
Аноним 07/08/21 Суб 18:35:24 2120293244
Я так больше не могу
Аноним 07/08/21 Суб 18:37:25 2120295245
1628350645049.jpeg 140Кб, 350x507
350x507
>>2120289
> ведь со спрингом ты по сути идёшь на фулстек позицию
Аноним 07/08/21 Суб 18:38:55 2120297246
>>2120295
Стадия первая: Отрицание
Аноним 07/08/21 Суб 18:50:43 2120306247
>>2119957
Ты хули тогда не в крестотреде пишешь, маня
Аноним 07/08/21 Суб 19:10:39 2120330248
>>2120306
После переката куча зелёных навалилась
Аноним 07/08/21 Суб 19:30:52 2120342249
>>2120330
По моим ощущениям в период до 500 в тред приходит троллить вся доска.
Аноним 07/08/21 Суб 19:37:25 2120351250
1627954276889.jpg 85Кб, 800x534
800x534
>>2120342
Мартышки завидуют солидным джава господам
07/08/21 Суб 19:45:52 2120355251
>>2120342
Надо просто писать с сажей. Будет меньше зелени.
Аноним 07/08/21 Суб 20:08:23 2120384252
IMG202108072007[...].jpg 79Кб, 503x711
503x711
Я вам картинку смешную принес
мимо жаван
Аноним 07/08/21 Суб 21:15:15 2120440253
>>2120384
Странная критика. С одной стороны плохая статическая типизация. А с другой слишком много памяти жрет.
То есть критика и со стороны низкоуровневых байтоебов и со стороны скриптомакак.
Аноним 07/08/21 Суб 21:37:34 2120459254
>>2120440
Такая вот наша жава
Аноним 07/08/21 Суб 21:45:02 2120465255
Анон подай идею для тестового. С технологиями разобрался че и как, а вот творческая жилка подводит.

Задание:

1) Написать REST контроллер (JAX-RS)

- создать метод POST

- принимает DTO с произвольным набором полей (необходимо самостоятельно придумать поля)

- может ответить success или fail

- написать мапинг из DTO в объект для передачи в сервис

2) Написать сервис, который инжектится в REST сервис

- создать метод

- принимает объект

- отвечает success или fail в зависимости от данных

3) Написать IT тест для проверки позитивных и негативных сценариев

- тест должен тестировать сквозной сценарий (контроллер->сервис)

Какие бы данные передавать и че бы такого с ними потом делать интересного?
Аноним 07/08/21 Суб 21:45:49 2120466256
>>2120465
Принимай хуи в жопу и еби их пока не кончат.
Аноним 07/08/21 Суб 21:54:13 2120471257
>>2120465
Абсолютно любую.
Пусть будет магазин кошачьих консервов
Аноним 07/08/21 Суб 22:13:05 2120491258
>>2120465
По классике делают твитор
Аноним 07/08/21 Суб 22:16:23 2120495259
16273878946790.png 217Кб, 400x400
400x400
>>2120187
>Кстати, когда там в жабе появится async/await?
>И когда pattern matching?
Сисярп вкатыш в треде. Уже работу нашел или все хелоуворды пишешь?
Аноним 08/08/21 Вск 00:27:36 2120606260
1628371655708.png 265Кб, 512x512
512x512
Аноним 08/08/21 Вск 00:48:05 2120614261
>>2120127
>>В 70% вакансий:
>>Во всех оставшихся: - зарплата менее 100 тыс. р.
Тебе без опыта и со знанием всего этого 100к не дадут. Вернее тебя просто не позовут на собес на такую должность.
Аноним 08/08/21 Вск 00:53:44 2120619262
>>2120145
Им хотелось бы что разраб все знал, но если он сможет впихнуть свое говно в контейнер и даже подключить тестконтейнер - этого уже достаточно в 90% случаев. Но кубер это уже перебор.
Брокеры в жабе тоже не сложно - запихнул это в кафку, спиздил результат - и похуй че там за магия внутре.
>>Еще через пару лет их и на реакте заставят адаптивно верстать
на ангуляре вообще то
Аноним 08/08/21 Вск 01:01:11 2120627263
>>2120167
>>А фронты просто берут и учат за 1 неделю?
На джаве надо спринг разложить на слои, скомпилировать джарник образом-билдером, потом скопировать результат в другой образ. На фронте ты сразу собираешь. Хз че там учить неделю, докер без баз, миграций и прочего говна это 1 вечер.
Аноним 08/08/21 Вск 01:07:43 2120633264
>>2120384
эта картинка устарела, где то была похожая про спринг - про методы с длинными названиями и волшебные аннотации
Аноним 08/08/21 Вск 09:45:39 2120728265
>>2120627
на фронте такие же абстракции и столько же ебли по бойлерплету.

на фронте ты собираешь проект через тот же компилятор, из ts в js
зачем вам что-то собирать? просто в реалтайме работаешь, должен быть упрощенный билд, а а полноценный только перед продакшеном или у вас так нельзя в 2021?

>>2120627
докер учить на уровне: поднять 4 контейнера с БД, нодой, приложением, NGINX, сейчас практически каждый фронт в этом разбирается. ну если выше джуна конечно.
А беки пердели годами и не могли это выучить, до сих пор жалуются...



Фронты учат все сразу и быстро ,а беки пердят что это новое не нужное и только спустя 10 лет все же учат.

Аноним 08/08/21 Вск 09:54:44 2120730266
j2me.png 82Кб, 310x390
310x390
>>2116244 (OP)
Можно ли сабж установить на Raspberry Pi 3?
Аноним 08/08/21 Вск 09:58:40 2120732267
8ohffle7awy01.png 274Кб, 2518x1132
2518x1132
>>2120495
>Уже работу нашел
Эти проекции безработного жабокодера.
Ты давай учи брокеры сообщений, не отвлекайся.
МОЖЕТ БЫТЬ тогда и возьмут в Люксофт за еду.
А у меня скоро отпуск.
Аноним 08/08/21 Вск 10:51:47 2120754268
>>2120153
>шарпо-/го-/расто-лахта
Тяжело как жабоманькам, все-то их обоссывают.
Меня, руби-самурая, кстати, забыли перечислить.
Аноним 08/08/21 Вск 11:41:15 2120789269
>>2120754
рубиста_забыли_спросить.жпг
Аноним 08/08/21 Вск 11:43:41 2120791270
Аноним 08/08/21 Вск 12:06:46 2120822271
15849625600730.png 223Кб, 512x387
512x387
Чувствуете запах горящик жоп? Это нищуки всех тредов сбежались к Java-богам в попытках поднасрать успешным тырпрайз акулам.
Чуханы всех мастей, вы хоть работу нашли на своем убогом %LANGUAGE_NAME% без java?
08/08/21 Вск 12:11:37 2120831272
Аноним 08/08/21 Вск 12:14:04 2120836273
>>2120822
>тырпрайз
Лучше гей-шлюхой пойти, чем этим говном заниматься.
Аноним 08/08/21 Вск 13:12:32 2120897274
>>2120822
>Это нищуки
...провизжал безработный жабокодер, заглушая урчание в животе.
Уже выучил, как работают 3 уровня кэша в Hibernate?
Давай, давай, учи, может хоть в этот раз пройдешь собес!
Аноним 08/08/21 Вск 17:22:02 2121116275
20210808171906.jpg 1865Кб, 1818x2178
1818x2178
>>2116244 (OP)
Эй, жабоебы, смотрите какую я книжку купил. Готовте свои попки, буду вашим сеньором.
Аноним 08/08/21 Вск 18:19:58 2121162276
>>2120831
да поролфить с вскукареков со стороны параши вот таких, как >>2120836 и >>2120897
>>2121116
>>на рузском
>>Шилдт
Земля пухом
Аноним 08/08/21 Вск 18:33:32 2121175277
>>2121162
>Кодит на ждаве и что-то говорит про парашу.
Аноним 08/08/21 Вск 18:38:53 2121179278
>>2121116
Там доки ко всем версиям жавы что ли? Что там можно написать на столько листов.
Аноним 08/08/21 Вск 18:42:17 2121185279
«Работа с COBOL вредит мозгу; следовательно, его преподавание должно считаться уголовным преступлением», — так написал в 1975 году знаменитый компьютерный учёный Эдсгер Дейкстра. COBOL был скорее языком «рабочего класса», вторжением «синих воротничков» в святыню кодинга.
Аноним 08/08/21 Вск 18:45:51 2121189280
16200593939390.jpg 118Кб, 982x898
982x898
>>2121162
>>>на рузском
>>>Шилдт
>Земля пухом
Портдж, спок
Аноним 08/08/21 Вск 18:46:57 2121190281
>>2121179
>Что там можно написать на столько листов
Синтаксис, ООП, стандартные либы. Ну такое
Аноним 08/08/21 Вск 18:48:28 2121192282
>>2121185
Оооооо бумера порвало
Хорошо что он до жабы не дожил
Аноним 08/08/21 Вск 18:57:02 2121203283
>>2121116
>> буду сеньором
лет через 5 будешь

мимосеньор[/i]
Аноним 08/08/21 Вск 18:58:11 2121205284
>>2121192
Или ещё хуже, до спринга.
Аноним 08/08/21 Вск 19:01:57 2121212285
>>2121116
Один хуй, без баз данных, понимания протоколов, jpa, Java EE или энтерпрайз фреимворков не вкатишься.

Да и надо учиться на реальных проектах, за одно набьешь скилл и будет портфолио.

Еще вышку требуют, знание англюсика там.(но англюсик больше для тебя, вряд ли будут собеседовать на англ в русскую компанию)
Аноним 08/08/21 Вск 19:07:17 2121221286
>>2121190
На ютубе это уже разобрали все в игровой форме
Аноним 08/08/21 Вск 19:16:55 2121233287
Правда, что в большинстве ява контор смотрят анусотбирают телефоны при входе?
Аноним 08/08/21 Вск 19:26:48 2121241288
>>2117153
А что будет, если развернуть два спринговых приложения на AS и обоим прописать рутовый url?
Аноним 08/08/21 Вск 19:28:02 2121242289
>>2121241
Они будут пиздится до крови.
Аноним 08/08/21 Вск 19:34:34 2121250290
>>2121221
Я не воспринимаю видео/аудио информацию.
Аноним 08/08/21 Вск 19:38:32 2121255291
>>2121189
Шилдт мне не нравится, там куски кода без контекста в примерах. Хорстманн намного лучше.
Аноним 08/08/21 Вск 19:40:02 2121256292
162728449416042[...].jpg 122Кб, 720x900
720x900
>>2121212
>баз данных
Знаю SQL и навыки админки бд есть
>реальных проектах, за одно набьешь скилл и будет портфолио
Не нужно, я C/C++ господин
>знание англюсика
Учить это говно нет желания, техдокументацию читаю свободно

Жаба мне в принципе нужна для Люцен/Солр/Эластиксерча
08/08/21 Вск 20:31:47 2121293293
Аноним 08/08/21 Вск 21:05:36 2121317294
Почему в документации спринга нет стать по жизненному циклу бинов?
Аноним 08/08/21 Вск 21:08:32 2121320295
>>2121116
будешь королем чуханов джунов, пока не купишь поездатую книгу
Аноним 08/08/21 Вск 21:20:41 2121327296
Как в грейдле сделать одну крутую таску, которая качает архив, проверяет его хэш, распаковывает и затем заменяет некоторые файлы? Для первых двух заюзал плагин de.undercouch.download, для вторых двух подходит обычный Copy, как я понял. Как теперь это все объединить в одну таску, чтобы у нее корректно проверялся up-to-date статус?
08/08/21 Вск 22:00:05 2121357297
Аноним 08/08/21 Вск 22:18:43 2121367298
>>2121320
>пока не купишь поездатую книгу
Книги особо не нужны, есть доки. Надеюсь у жабоебов норм доки? А не как у крестопидарасов.
Аноним 08/08/21 Вск 22:23:10 2121369299
>>2121367
Доки норм но их так дохуя что проще почитать поездатую книгу ту же чтобы проходить собесы, а доки это для задроства и чсв
Аноним 08/08/21 Вск 22:27:14 2121371300
1628450834016.jpg 95Кб, 1280x720
1280x720
Аноним 08/08/21 Вск 22:40:17 2121384301
>>2121371
>Доки-доки?
Ну Оракеколовские, или как?
>проходить собесы
Нинужна.
Аноним 08/08/21 Вск 22:52:56 2121395302
>>2121293
Херовое решение это ад из коллбэков, чем изначально и была асинхронщина, о чем и говорится в статье. Но это тупо самое первое и очевидное решение. Потом организовали это в промисы, придумали акторы, потом в шарпе придумали асинки, потом в котлине избавились от говняка в шарповских асинках.
Котлиновские корутины например не ебут кучу кложурами (чем был недоволен автор статьи), потому что разворачиваются в простую стейт машину с одним интом и свичом прямо в месте прерывания, и правильно пробрасывют исключения, и отменяют весь контекст дочерних корутин, что от них и ожидается, и не прибиты гвоздями к реализации как у майкрософта, им можно и треды и контексты выбирать и свой диспатчер написать. Короче они идеальны.
А какие там костыли в проджект луме завезут я хз.
Алсо с итогом статьи не согласен. В го корутины крайне хуево выглядят синтаксически, потому что общение между ними предполагается только одним единственным способом - через каналы, которые через селектор отсылают к написанию кода стилем гоу ту куда то в 60е годы
Аноним 08/08/21 Вск 23:37:16 2121433303
Аноны, такой вопрос. Сделал проектик на Spring, разобрался с REST контролерами, мейлингом, вообще с устройством Спринга и хочу спросить: что интересного можно написать на Спринге, чтобы прощупать его?
Может, соцсеть/форум/своя имиджборда. Очень хотелось бы вместе с этим потрогать и применить любую СУБД.
Спасибо большое заранее за помощь
Аноним 08/08/21 Вск 23:41:55 2121441304
>>2121367
раз уж этот анон собирает книги для понта, пускай берет нормальные, а не учебник для вкатунов.
Аноним 08/08/21 Вск 23:50:09 2121449305
>>2121433
Я данбуру на ней писал, но так и не дописал. Просто бери любой сайт типа кинопоиска или еще какой хуйни с картинками, табличками, пользователями - и реализуй. Если умеешь во фронт - можешь и его прикрутить на каком-нибудь ангуляре/реакте/вуе.
Аноним 08/08/21 Вск 23:50:12 2121450306
>>2121441
>пускай берет нормальные
Назови нормальную?
Аноним 08/08/21 Вск 23:55:01 2121452307
>>2121449
Спасибо большое, анонче. Во фронт совсем не умею, в своем проекте написал веб-конфигуратор, и то чертыхался через раз, нет у меня чувства прекрасного)
Аноним 09/08/21 Пнд 00:21:06 2121484308
>>2121452
Просто покрой эндпоинты интеграционками, будет тебе вместо фронта
Аноним 09/08/21 Пнд 00:23:14 2121487309
sg3vxnccvibdxu6[...].jpeg 46Кб, 302x400
302x400
>>2121450
>>Назови нормальную?
я ж назвал
>>поездатую книгу
Аноним 09/08/21 Пнд 00:27:39 2121493310
>>2121487
Многопоточность? Нетъ, на ъуй
Аноним 09/08/21 Пнд 00:33:36 2121497311
>>2121493
А зря. Первые два раздела желательно каждому прочитать

мимо
09/08/21 Пнд 00:35:05 2121499312
Аноним 09/08/21 Пнд 00:37:58 2121501313
>>2121497
>А зря.
Чего это? Что за каргокульт? Ну потоки, потоки, ебитесь они конем, там больше гемора с синхронизацией чем пользы. Хотя может в Жаве необычные потоки?
Аноним 09/08/21 Пнд 06:25:42 2121578314
>>2121116
Там Spring описан полностью? Я бы тогда купил.
Аноним 09/08/21 Пнд 07:21:40 2121587315
многопоточность.png 19Кб, 450x420
450x420
Почему цикл while не останавливается?
Аноним 09/08/21 Пнд 07:43:33 2121592316
>>2121587
Чекай байткод, охуеешь. А после этого иди изучай жабовкую модель памяти и больше никогда так не делай.
Аноним 09/08/21 Пнд 08:42:08 2121622317
>>2121587
булин кешируется в жвм
в 12 строке добавь volatile - должно заработать
Аноним 09/08/21 Пнд 09:12:27 2121637318
>>2121501
Если ты хочешь что-то нормальное делать, то тебе нужно понимать, как это говно работает. Иначе придется формочки в таймлифе шлёпать и круды пилить
Аноним 09/08/21 Пнд 10:06:12 2121682319
Вот, полюбуйтесь, свежая вакансия. Жабокуколдов по-прежнему заставляют работать за себя и за девопса. Почтенные шарпобояре, растогоспода, голанго-доны и руби-самураи дружно угорают над этими клоунами, запасаются попкорном и требуют продолжения представления.

Мы ищем Java-разработчика в проект для разработки новой технологической платформы на базе облачных технологий.

Предстоит заниматься созданием удобного и простого в использовании сервиса для клиентов, банковской и бизнес сферы.Вам предстоит участвовать в разработке сервисов Журналирование, Мониторинг, Трассировка, Админ-консоль.

Требования к кандидату:
— опыт работы на Java от 2х лет
— уверенные знания Java 8+ (мы используем Java 11 для разработки наших сервисов), SpringBoot 2
— приветствуется опыт в Kotlin, Go или желание попробовать эти языки
— понимание принципов построения микросервисной архитектуры, разработки высоконагруженных, масштабируемых и отказоустойчивых приложений
— опыт работы с Docker, знакомство с k8s / OpenShift (категорически приветствуется опыт эксплуатации этих технологий в продакшене)
— умение работать с unix-системами, навыки DevOps (развёртывание и сопровождение приложений)
— знакомство с техстеком: ElasticSearch, Kafka, PostgreSQL, Prometheus, Thanos, Jaeger, Fluent bit / Fluentd (хотя бы с некоторыми технологиями)

⭐️Условия:
- удаленная работа
- Оформление по ТК (возможен договор с ИП или самозанятым)
- Заработная плата 150 000- 200 000 руб.
Аноним 09/08/21 Пнд 10:10:21 2121686320
Поясните простыми словами что такое RestTemplate и как он связан с реквестом и респонзом?
09/08/21 Пнд 10:54:42 2121718321
>>2121686
Это обёртка над хттп клиентом. Нужен чтобы отправлять запросики по другим урлам
Аноним 09/08/21 Пнд 11:04:01 2121730322
>>2121637
Да вакансий с многопоточкой хуй да нихуя. Что-то очень редкое, возможно без спринга, с Netty или NIO.
Обычный джавист потоки видел только когда вкатывается, в работе они не нужны от слова совсем tomcat сам создает треды для каждого запроса.
09/08/21 Пнд 11:46:47 2121773323
>>2121730
Ты же работаешь в многопоточной среде. Если работаешь с чем-то сложнее интернет магазина, скорее всего столкнешься с доступом у разделяемым ресурсам и синхронизацией нескольких инстансов
Аноним 09/08/21 Пнд 11:53:52 2121786324
>>2121587
Потому что ты изменил значение из другого потока, а синхронизацию кэшей потоков, без явного на это указания, жвм не гарантирует.
Юзай AtomicBool, а ещё лучше CountDownLatch, по крайней мере в этом случае
Аноним 09/08/21 Пнд 12:20:54 2121830325
>>2121587
В чём смысл массива единичной длина в данном случае? Почему не просто volatile boolean?
Аноним 09/08/21 Пнд 12:23:47 2121833326
>>2121830
Если не хочешь использовать поля, то тогда AtomicBoolean
09/08/21 Пнд 12:27:38 2121838327
>>2121830
Все объекты извне, которые используются в лямбде должны быть final либо effective final. Т.к. done в лямбде изменяется, то нужно его оборачивать в массив, либо AtomicBoolean
Аноним 09/08/21 Пнд 12:44:58 2121852328
09/08/21 Пнд 12:54:28 2121854329
Вот полюбуйтесь, идеальный пост, чтобы его зарепортить, но вы же куколды и этого не сделаете.
>>2121682
09/08/21 Пнд 12:58:49 2121862330
Сагаем тред до 500 постов?
09/08/21 Пнд 13:00:17 2121864331
>>2121862
Да. Залётных без сажи молча репортим.
Аноним 09/08/21 Пнд 13:30:23 2121904332
dcd4a2bb2671d0f[...].jpg 487Кб, 1600x1600
1600x1600
Аноним 09/08/21 Пнд 13:33:23 2121911333
>>2121854
Может просто не нужно кормить тролей, потому что от репортов они никуда не денутся
Аноним 09/08/21 Пнд 13:44:14 2121945334
162766242311879[...].jpg 66Кб, 640x640
640x640
>>2121682
А чего это в жабомирке так уныло? Я думал они не плохие деньги получают, ведь большой бизнес и все такое
Аноним 09/08/21 Пнд 15:59:51 2122188335
>>2121945
>>опыт работы на Java от 2х лет
это мидловая вакансия, поэтому мало
Аноним 09/08/21 Пнд 16:34:46 2122217336
>>2121945
Там от двух лет, видимо мидла ищут. 140-200 нормальная вилка так-то. А где больше платят?
Аноним 09/08/21 Пнд 17:19:25 2122276337
Стоит читать от корки до корки?
Хочется чего-то полноценного, но на первый взгляд очень много неактуальщины и немало редких технологий.
И по устареванию. Книга 2017 года. Тут спрингбут 2.0.0 и спринг 5.0.0. Сильно что-то поменялось с этих версий за 4 года?
Если нет, посоветуйте другой талмуд. Желательно с примерами кода. Дока core + boot + mvc + data + security будет раза в 3 больше и без готовых программ-примеров.
Аноним 09/08/21 Пнд 17:20:46 2122279338
1026889217[1].jpg 720Кб, 868x1200
868x1200
Аноним 09/08/21 Пнд 17:30:12 2122291339
09/08/21 Пнд 17:50:43 2122325340
>>2121395
>Котлиновские корутины например не ебут кучу кложурами (чем был недоволен автор статьи)
Автор статьи был недоволен тем, что ты из красного метода не можешь вызвать синий.

Из еще очевидных минусов: куча библиотек работает на основе тред локалов, начиная спринговыми транзакциями и заканчивая всякими метриками. Конечно, если бы корутины были встроены в джаву с версии 5, то конечно бы это было прекрасное решение, которое бы поддерживали все сторонние библиотеки и фреймворки, но увы.

Стектрейс корутины надо расшифровывать с помощью IDEA. Чтобы стектрейс C# async/await читаемый получить надо со спец ключами запускать явно не дешевое удовольствие.


>А какие там костыли в проджект луме завезут я хз.
Костылей там не будет, это же просто тред, только легковесный. В API у тебя все тоже самое что и раньше. Могут быть вопросы с перфомансом, но их можно решать не трогая API.
Аноним 09/08/21 Пнд 18:39:52 2122406341
>>2122325
Вообще по мне суть конструкции асинк/эвейт чисто синтаксический сахар. То есть писать асинхроншину типа фьючеров чтобы ее можно было легко читать.
А корутины го это про эффективную многоядерность и с читаемостью там пиздец.
То есть первый подход пытается улучшить синтаксис, второй масштабирование.
И не понятно зачем автор эти две штуки противопоставляет друг другу. Они не противоречивы, а наоборот должны дополнять друг друга
Аноним 09/08/21 Пнд 20:13:26 2122529342
>>2122217
>140-200 нормальная вилка так-то
Маловато
Аноним 09/08/21 Пнд 20:30:58 2122546343
Аноним 09/08/21 Пнд 20:33:50 2122550344
>>2122406
Корутины котлина, async/await, промисы и фьючи - вносят непредсказуемость в этот код. Корутины и async/await делают это достаточно прозрачно и с точки зрения написания кода там почти нет траблов, кроме взаимодействия с синхронным кодом. Но даже они убивают нормальный стектрейс, убивают тредлокалы, контекст вызова.

Я пока не вижу ни одного концептуального преимущества Корутин котлина или async/await перед легковесными тредами лума. Про перформанс можно будет поговорить когда выйдет стабильная версия лума. Более того у лума еще убер фича, что весь IO станет не блокируемым, даже не надо ждать пока драйвер БД перепишут. Последовательный код - самый простой для понимания, выполнили этот оператор, вызвали эту функцию - просто читать.
Аноним 09/08/21 Пнд 20:43:37 2122560345
Очень оригинальный вопрос от ньюфаггета(гуглить я, конечно же, не буду): есть ли смысл учить джаву, если есть котлин? Ведь, котлин, я так понимаю, двигает гугл. И таки продавит по итогу, не?
Аноним 09/08/21 Пнд 20:57:41 2122580346
>>2122560
Джава для энтерпрайза, котлин для андроида. Если ты хочешь в мобилки, то тебе в другой тред и там джава наверное и не нужна. В энтерпрайзе котлина как не было так и нет. И думаю что и не будет.
Аноним 09/08/21 Пнд 21:19:39 2122616347
>>2122580
А почему котел есть даже в доке спринга?
Аноним 09/08/21 Пнд 21:34:01 2122643348
>>2122616
На нём пишут бэкенд всякие хипстеры, чуть популярнее скалы будет.
Аноним 09/08/21 Пнд 21:41:41 2122664349
>>2122616
В спринге есть и котлин, и груви - там все стильно, модно, молодежно.
Но сам энтерпрайз часто написан на джаве 8 из за кучи всякого стороннего специфического говна, которое на 9+ не работает и приходится сидеть на 8 (и потихоньку отпиливать микросервисы). А если надо дописать пару фич - переписывать половину проекта на котлин тоже не имеет смысла. Для новых проектов Котлин очень ненадежен и лет через 10 переписывать все с легаси котлина на джаву может быть очень дорого.
09/08/21 Пнд 21:45:21 2122675350
>>2122550
Так разве лум это не попытки сделать что-то вроде корутин?
Аноним 09/08/21 Пнд 21:57:05 2122699351
Салам.

Подскажите, пожалуйста: необходимо из кода запустить сервис на линуксе (service name start).
Пока единственное что получилось - запустить командой
Runtime.getRuntime().exec("bin/bash -c /path/to/file")
Где на конце лежит баш скрипт с одной строчкой
service name start
Сам файлик прописал в sudoers, т.е. предоставляется доступ к юзеру для запуска файла.

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

Чем вообще лучше сервисы запускать?
Аноним 09/08/21 Пнд 21:58:40 2122702352
>>2122664
>переписывать все с легаси котлина на джаву
Так если котлин идет как надстройка над джавой, смысл то обратно переписывать? Наверное там можно как то использовать "нативные" методы самой джавы?
09/08/21 Пнд 22:05:24 2122708353
>>2122702
Котлин и джава вроде как обратно совместимы. Но пока нет доверия к котлу, особенно на тыртпрайзах. Пока что его максимум - небольшие микрухи
мимо
Аноним 09/08/21 Пнд 22:10:54 2122721354
>>2122708
Котлин совместим с джавой, но не джава с котлином.
мимо
Аноним 09/08/21 Пнд 22:13:01 2122727355
>>2122702
Щас в котлине есть какая то фича и по своему реализована, а потом внезапно она появляется в джаве, но с другой реализацией - и у нас уже получается расхождение. Котлин превратится из надстройки просто в другой язык.
Аноним 09/08/21 Пнд 22:15:00 2122731356
>>2122699
Хз, у меня тоже нихуя не получилось иначе сделать.
Аноним 09/08/21 Пнд 22:22:13 2122748357
Я люблю жареную картошку
Аноним 09/08/21 Пнд 22:22:39 2122749358
>>2122748
А я люблю мурзилки.
09/08/21 Пнд 22:24:17 2122754359
>>2122721
Мне чому-то казалось, что они упоролись в обратную совместимость
Аноним 09/08/21 Пнд 22:39:39 2122772360
>>2122727
Не понимаю зачем так делать.
Не зря же котлин так нахваливают.
Аноним 09/08/21 Пнд 22:43:06 2122778361
>>2122772
Он что то кроме сахара дает? Если нет, то лучше голанг с питоном доучить вместо котлина.
Аноним 09/08/21 Пнд 22:48:22 2122790362
>>2122550
> Я пока не вижу ни одного концептуального преимущества Корутин котлина или async/await перед легковесными тредами лума.
Может потому что они решают разные задачи?
Аноним 09/08/21 Пнд 22:51:48 2122794363
>>2122721
Всё совместимо в обе стороны, просто жава не может использовать то чего в ней нет, просто по другому некоторые вещи будут выглядеть
Аноним 09/08/21 Пнд 22:52:36 2122796364
>>2122778
>голанг
А нахуй он нужен? Ну я вот хоть и советовал его раньше всем, но пописал на нем недельку и понял, что это натуральный Си без ООП, только со строгой типизацией, горутинами и рантаймом с GC. То есть язык и не для байтоебства, и не для энтерпрайза полного абстракциями. Вообще его создавали как средство для сисадминов и девопсов, но по факту это допиленный Limbo из 1995 года, в который гугл захотел влошиться.
http://www.vitanuova.com/inferno/limbo.html
Аноним 09/08/21 Пнд 22:59:14 2122804365
Аноним 09/08/21 Пнд 23:00:07 2122806366
>>2122778
Ты пробовал го или питон подключить к проекту? Мне например в жаве BigDecimal больно арифметировать, потому что нет перегрузки операторов. А в сахаре есть. И он без ебли лежит с жавовским проектом
Аноним 09/08/21 Пнд 23:09:12 2122817367
>>2122749
весеннюю мурзилку, плиз.
Аноним 09/08/21 Пнд 23:11:03 2122821368
>>2122796
>я вот хоть и советовал его раньше всем
>пописал на нем недельку
Ору бля!!!
Аноним 09/08/21 Пнд 23:12:56 2122825369
>>2122821
Да, это не раст, который все обожают и советуют, но ни один человек на нем не пишет лол.
Аноним 10/08/21 Втр 10:08:30 2123103370
>>2122796
Чел, голанг убил жабу. Все новые проекты на голанге стартуют, а не на жабе, увы, она умерла.
Аноним 10/08/21 Втр 12:36:37 2123280371
>>2123103
Нажористый манямир однако
Аноним 10/08/21 Втр 12:39:48 2123285372
image.png 51Кб, 733x836
733x836
Какого это, осознавать, что даже на древнем КОБОЛЕ зп у разрабов выше, чем у джавистов?
Аноним 10/08/21 Втр 12:47:46 2123293373
>>2123280
Какой манямир? Все на ГО уходят прямо сейчас.
Ozon, Avito, Wildberries - все за последние 2 года отказались от жабы и перешли массово на ГО.
Аноним 10/08/21 Втр 13:10:01 2123318374
>>2123293
>Ozon, Avito, Wildberries
Это поэтому они стали так жутко работать? Го мертворожденный как и Раст.
Аноним 10/08/21 Втр 13:19:40 2123332375
image.png 23Кб, 733x516
733x516
>>2123318
>Го мертворожденный как и Раст
Чел, попустись, количество вакансий на го выросло в 10 раз за последние 2 года. А рынок жабы только сокращается.
Аноним 10/08/21 Втр 13:37:45 2123357376
Аноним 10/08/21 Втр 13:41:06 2123362377
>>2123332
>в 10 раз за последние 2 года
Было 163? Лол
Аноним 10/08/21 Втр 13:42:18 2123366378
Аноним 10/08/21 Втр 13:45:21 2123370379
Что такое микросервисная архитектура? Вот я написал РЕСТ-круд-сервис, и что дальше? Я RestTemplate-ом что то делаю с другим РЕСТ-КРУД-пет-сервисом?
Аноним 10/08/21 Втр 13:45:32 2123372380
>>2123366
Ну прогресс на лицо, срочно всю инфраструктуру на го переводим!
10/08/21 Втр 13:48:52 2123377381
>>2123370
Очень грубо говоря - да
Аноним 10/08/21 Втр 14:04:43 2123410382
Уважаемые, а какой тип данных использовать для алгебраических операций, например, с весом в кг? Сейчас на проекте используют float, но с ним, очевидно, траблы при сложениях вычитаниях
Аноним 10/08/21 Втр 14:08:19 2123415383
Аноним 10/08/21 Втр 15:05:53 2123480384
>>2123332
Решетка, ты следующая
Аноним 10/08/21 Втр 15:31:27 2123509385
>>2122675
>Так разве лум это не попытки сделать что-то вроде корутин?
Нет, лум это легковесные треды, которых можно создавать много и дешево.


>>2122790
>Может потому что они решают разные задачи?
Задача у них одна - повысить throughput на задачах где есть ожидание на IO и внешних сервисах.
Аноним 10/08/21 Втр 15:51:10 2123528386
>>2119993
> И при этом нарушается принцип Барбары Лисков.
И каким же образом он нарушается?
Аноним 10/08/21 Втр 16:01:40 2123533387
>>2123528
Если он мутабельный, то изменение размера квадрата, ведет себя иначе чем прямоугольника.
Аноним 10/08/21 Втр 16:17:25 2123555388
>>2123533
Возможность менять размер сторон, это не то, что определяет прямоугольник, тут идет подмена понятий.
Повышая планку, если к прямоугольнику добавить еще один угол, то он и прямоугольником перестанет быть.

В ООП так важно правильно выбирать абстракции в соответствии с задачей. Прямоугольник и квадрат из классической геометрии, совсем не то же самое, что фигуры в форме квадрата и прямоугольника которые могут динамически менять свои размеры.
Аноним 10/08/21 Втр 16:36:25 2123564389
>>2123415
А почему? Многие советуют юзать BigDecimal
Аноним 10/08/21 Втр 16:40:04 2123567390
>>2123410
>Уважаемые, а какой тип данных использовать для алгебраических операций, например, с весом в кг? Сейчас на проекте используют float, но с ним, очевидно, траблы при сложениях вычитаниях
А какие траблы то? Это же вес, не копейки. В конце при просто округлите результат. Или вам точности нехватает?
Аноним 10/08/21 Втр 16:45:32 2123574391
>>2123567
>А какие траблы то?
> Или вам точности нехватает?
this
10/08/21 Втр 16:49:18 2123577392
Аноним 10/08/21 Втр 18:55:59 2123699393
IMG202108101854[...].jpg 115Кб, 1080x480
1080x480
>>2123509
> Задача у них одна - повысить throughput на задачах где есть ожидание на IO и внешних сервисах.
В очередной раз забивая на читаемость кода. Синтаксически некоторые конструкции в луме не лучше сейчашних фьючеров выглядят.
А в каких местах он будет вызывается даже не узнать никак, потому что это никак не выделено. Это по твоему вносит предсказуемость?
Аноним 10/08/21 Втр 19:00:59 2123704394
>>2123699
> А в каких местах он будет вызывается даже не узнать никак, потому что это никак не выделено. Это по твоему вносит предсказуемость?
Когда в io будет срабатывать прерывание неявно
фикс
Аноним 10/08/21 Втр 19:01:20 2123705395
Какие минусы есть у Спринг Дата, по сравнению с эйчкуэль запросами обычными?
Аноним 10/08/21 Втр 19:17:09 2123716396
Что такое девопс?
Аноним 10/08/21 Втр 19:19:29 2123719397
>>2123716
Следующий уровень джава разработчика.
10/08/21 Втр 19:20:34 2123720398
>>2123719
Пошёл нахуй, зарепортил.
Аноним 10/08/21 Втр 19:25:45 2123729399
>>2123555
>В ООП так важно правильно выбирать абстракции в соответствии с задачей. Прямоугольник и квадрат из классической геометрии, совсем не то же самое, что фигуры в форме квадрата и прямоугольника которые могут динамически менять свои размеры.
А кто говорил про классическую геометрию? Классическая геометрия абстрактная штука и с реальностью не связанная, а мы тут моделируем реальный мир, где иногда фигуры меняют размер.
Да даже для иммутабельных объектов Rectangle.resizeTo(int, int) будет создавать проблему квадрату.
Аноним 10/08/21 Втр 19:32:17 2123734400
>>2123699
>В очередной раз забивая на читаемость кода. Синтаксически некоторые конструкции в луме не лучше сейчашних фьючеров выглядят.
Нахера ты принес файберы и что-то тут доказываешь про читабельность? Лум это тред, всё. Ты можешь как раньше открыть HTTP соединение с клиентом и обычным способом его обрабатывать. Только сервер будет тянуть не 100 одновременных коннектов, а тысячи, десятки тысяч.

>А в каких местах он будет вызывается даже не узнать никак, потому что это никак не выделено. Это по твоему вносит предсказуемость?
У тебя и сейчас нет никаких гарантий на предмет того, когда планировщик ОС остановит/запустит твой тред. И корутина тоже может быть остановлена в середине, потому что поток носитель был остановлен.
Аноним 10/08/21 Втр 19:34:48 2123738401
>>2123716
Точно никто не знает без шуток

У кого-то это сисадмины на стероидах - иногда еще что-то подкоживают и могут в код системы посмотреть.
У кого-то это такие разработчики, которые еще и оперейшенз занимаются.
Аноним 10/08/21 Втр 19:39:00 2123749402
Как работает Спринг Дата внутри? Там те же скуэль запросы? И какие у Spring Datа недостатки?
10/08/21 Втр 19:46:14 2123765403
>>2123749
Нет, это просто обёртка над ,хибернейтом и другими API, там же не только РСУБД поддерживаются. Сам спринг ничего не велосипедит, он юзает другие либы.
Аноним 10/08/21 Втр 20:01:55 2123800404
>>2123719
Бля чел, зачем ты врешь? Ведь я будучи уже жаба разработчиком, занимаюсь этим.

а если без рофлов мои знания в хелмах, докерах и кубернетусах почти не пригодилось, разве что докерфайл обновить плак плак
Аноним 10/08/21 Втр 20:04:15 2123802405
>>2123734
> Нахера ты принес файберы и что-то тут доказываешь про читабельность?
Так нихуя нет инфы нормальной про этот лум. Кроме той где на всю страницу написано что это манна небесная.
Ну по крайней мере в этом коде доказывает, что в очередной раз используются эти ужасные колбэки, от чего я надеялся будут отходить в пользу чего то вроде structured concurrency
> Лум это тред, всё.
Эм, вообще из того что я находил это больше похоже на некий "контекст с задачами", которые работают поверх пула реальных потоков. То есть как корутины в котлине и в го, только реализованы в жвм
> У тебя и сейчас нет никаких гарантий на предмет того, когда планировщик ОС остановит/запустит твой тред. И корутина тоже может быть остановлена в середине, потому что поток носитель был остановлен.
Я про другое, имею ввиду ни в синтаксисе ни в иде нигде не обозначено, что в конкретной строчке кода не стартанет поток.
То есть ты думаешь что работаешь с блокирующим синхронным кодом и передашь методу свое говно, который его должен изменить. А внутри метода блокирующий вызов по сети, и лум прозрачно создаёт для вызова асинк? А что эвейт вернётся в тот же самый тред я не нашел гарантий. И твой объект станет неконсистентным
Аноним 10/08/21 Втр 20:04:29 2123803406
>>2123729
1) Есть прямоугольник, и характерные для него атрибуты и методы, как, например: площадь, периметр, проверка на вхождение точки в область и прочие.

2) Нам нужна мутабельность в том или ином виде (Rectangle::resizeTo), мы расширяем базовый Rectangle до MutableRectangle, добавляя новые методы. Это принцип на букву О: открытость для расширения, закрытость для изменения

3) Нам нужен квадрат. Тут нам поможет принцип Лисков. Мы можем пользоваться квадратом как прямоугольником(площадь, периметр и пр.), значит можно наследоваться. Предположим нам нужен MutableSquare подойдет ли нам MutableRectangle как базовый класс? По принципу Лисков нет. Нужно отдельно реализовывать MutableSquare основываясь просто на Square

Получится такое дерево классов (Предполагаем что такая сложность оправдана сложностью бизнес логики проекта):
Rectangle <- MutableRectangle
Rectangle <- Square <- MutableSquare

И тут прекрасно уже работает полиморфизм: И с MutableRectangle и MutableSuare можно работать как с обычным прямоугольником, когда дело касается характерных для прямоугольника вещей. Если же необходимы расширенные действия, придется уже работать с расширенным Mutable интерфейсом
Аноним 10/08/21 Втр 21:09:13 2123865407
>>2123803
В итоге получилась огромная портянка кода с кучей бойлерплейта, с возможными багами в equals или hashcode, что лучше было бы просто создать 2 разных класса и не ебать себе мозги наследованием и полиморфизмом
Аноним 10/08/21 Втр 21:27:51 2123889408
>>2123865
Если задача просто создать два объекта и поменять им размеры, то, возможно, да, лучше.

Если задача чуть сложнее, то, наверняка, код утонет в дублировании и самоповторе, со временем превратится в кашу, добавлять и менять фичи станет все трудней, и, дай б-г, проект будет зарабатывать быстрее, чем будет расти затраты на его сопровождение.
Аноним 10/08/21 Втр 21:42:37 2123902409
>>2123749
Открой сорцы да посмотри.
Аноним 10/08/21 Втр 21:43:22 2123903410
>>2123765
Еще как велосипедит, по крайней мере в монгодб и эластике. Там слой маппинга кастомный.
Аноним 10/08/21 Втр 21:44:26 2123905411
>>2123802
>Так нихуя нет инфы нормальной про этот лум.
В последней версии жабы решили выкинуть всю хуйню с файберами и оставить апи тредов. Там будут какие-то микроизменения.
Аноним 10/08/21 Втр 21:49:41 2123912412
Чет почитал про кваркус и там магии вообще дохуя, даже main не нужно писать. Докерфайлы автоматические, компиляция в бинарник, dev ui. Единственный минус в требовании 11 джавы, я правильно понял?
Аноним 10/08/21 Втр 21:50:45 2123915413
>>2123905
Не выкинуть, а отдать братьям младшим пыхарям донашивать.
10/08/21 Втр 21:52:18 2123916414
>>2123912
> Единственный минус в требовании 11 джавы, я правильно понял?
Я считаю, что это плюс.
Аноним 10/08/21 Втр 22:04:20 2123925415
Screenshot20210[...].png 159Кб, 1440x3040
1440x3040
Аноны почему так работает? Я же создал экземпляр только класса Trueno. И как нужно запустить только один конструктор?
Аноним 10/08/21 Втр 22:06:37 2123926416
>>2123925
>Аноны почему так работает
Потому что у тебя у класса потомка есть конструктор без аргументов, в котором неявно вызывается конструктор без аргументов родительского класса.
10/08/21 Втр 22:13:10 2123932417
>>2123925
Так работает наследование в жабе. Либо ты сам вызываешь родительский конструктор, либо неявно вызовется конструктор без аргументов.
Аноним 10/08/21 Втр 22:33:16 2123941418
>>2123926
>>2123932
Благодарю за объяснение
То есть если конструктор наследника без аргументов, то вызовется конструктор родителя - Верно?
И как мне вызвать только конструктор наследника?
Аноним 10/08/21 Втр 22:40:08 2123948419
>>2123941
Прочитай про процесс инициализации и загрузки классов.
Аноним 10/08/21 Втр 22:45:39 2123954420
>>2123941
> То есть если конструктор наследника без аргументов, то вызовется конструктор родителя - Верно?
Нет, аргументы конструкторов наследника вообще никак не связаны с родителем. Сколько бы у тебя в нём аргументов ни было, если ты не вызовешь явно нужный конструктор базового класса, джава попытается вызвать конструктор без аргументов,
> И как мне вызвать только конструктор наследника?
Никак, это невозможно. Либо не наследуй, либо вынести из конструктора базового класса код, который не хочешь вызывать, в отдельный метод, и не вызывай его.

Лучше открой любую книгу по джаве, найди главу с названием типа "Наследование классов" и прочитай.
Аноним 11/08/21 Срд 00:05:34 2124029421
>>2123954
>Лучше открой любую книгу по джаве, найди главу с названием типа "Наследование классов" и прочитай.

Двачую, самое главное правило, который вкатыш должен запомнить. Скачать толмуд и при таком базовом обычном вопросе искать ответ там
Аноним 11/08/21 Срд 12:09:37 2124252422
>>2123802
>Так нихуя нет инфы нормальной про этот лум. Кроме той где на всю страницу написано что это манна небесная.
https://blogs.oracle.com/javamagazine/going-inside-javas-project-loom-and-virtual-threads

>Я про другое, имею ввиду ни в синтаксисе ни в иде нигде не обозначено, что в конкретной строчке кода не стартанет поток.
>То есть ты думаешь что работаешь с блокирующим синхронным кодом и передашь методу свое говно, который его должен изменить. А внутри метода блокирующий вызов по сети, и лум прозрачно создаёт для вызова асинк? >А что эвейт вернётся в тот же самый тред я не нашел гарантий. И твой объект станет неконсистентным
В лум тред стартует Thread.startVirtualThread() там вообще нет магии.

Лум это просто легковесные треды. Ты можешь взять старый добрый Томкат и синхронно ебашить запросы, только теперь Томкат тянет не 100 конектов, а 10к. Теперь ты можешь в синхронном коде обрабатывать лонг пол запросы.
Аноним 11/08/21 Срд 12:38:50 2124298423
Аноним 11/08/21 Срд 13:21:42 2124342424
>>2124252
Никаких волшебных легковесных потоков не существует, виртуальные потоки это те же корутины только стековые, поэтому не требуют контекста для запуска, магии никакой нет.
Аноним 11/08/21 Срд 15:11:11 2124468425
Что такое end-points spring boot?
11/08/21 Срд 15:20:43 2124473426
>>2124468
Хттп эндпоинты - ссылки, по которым можно обращаться. В спринге это методы контроллера с аннотацией @RequestMapping и производных от нее
Аноним 11/08/21 Срд 15:26:12 2124476427
>>2124473
Я читаю в статье жавараш. Преимущества СпрингБут http-end-points, позволяющие вводить внутренние функции приложения, такие как показатели, состояние здоровья и другие. Я не могу понять что значит эта фраза? Преимущество перед не-спринг-бут(spring mvc) приложением, имеется в виду, наверное.?
Аноним 11/08/21 Срд 15:29:26 2124483428
Аноны, щас на собесе спросили нахуя в Java нужны такие выебоны с памятью? То есть, нахуя нужны разделения кучи на Young Generation, Old Generation, Permanent Generation? Почему бы просто не оставить простой Heap и туда все кидать?

Подумал, что возможно, доступ к Young Generation происходит как-то быстрее, поскольку только что созданные объекты нам нужны чаще чем те, которые в Old лежат какое-то время, но понял, что проебался.
11/08/21 Срд 15:30:52 2124485429
>>2124476
Тут про актуатор написано
Аноним 11/08/21 Срд 15:32:18 2124487430
>>2124485
А что это такое?661537
11/08/21 Срд 15:35:50 2124490431
Аноним 11/08/21 Срд 15:54:03 2124516432
На какую з/п должен рассчитывать джунь в дс в финтех секторе?
Аноним 11/08/21 Срд 15:55:21 2124518433
>>2124516
70-100к
Это если именно джун на полной ставке. Стажер 30-40к за полную ставку.
Аноним 11/08/21 Срд 16:04:38 2124529434
>>2124518
Эй, а в вашем жабоболоте 400к можно получать работая не полный день?
Аноним 11/08/21 Срд 16:14:13 2124542435
>>2124483
>Permanent generation
Привет из прошлого
Сборка мусора в жаве базируется на том, что большинство объектов короткоживущие и перестают использоваться, едва успев создаться, если же объект пережил несколько сборок мусора, то вероятно он будет использоваться ещё очень долго и дрочить его лишний бессмысленно, например инстанс какой-нибудь фабрики.
А вообще всё несколько сложнее
https://habr.com/ru/post/269621/
https://habr.com/ru/post/269707/
Аноним 11/08/21 Срд 16:17:48 2124550436
>>2124529
400к - это уровень очень скиллового лида в финтехе, где зачастую нужно будет работать с древним легаси калом. 250к потолок для большинства джавистов.
Аноним 11/08/21 Срд 17:00:34 2124604437
>>2124550
>нужно будет работать
Неее, много работать я не хочу.
Аноним 11/08/21 Срд 17:57:17 2124702438
>>2124604
Ну тогда за 25к на заводике попердеть можно
Аноним 11/08/21 Срд 19:30:26 2124806439
>>2124483
>Аноны, щас на собесе спросили нахуя в Java нужны такие выебоны с памятью? То есть, нахуя нужны разделения кучи на Young Generation, Old Generation, Permanent Generation? Почему бы просто не оставить простой Heap и туда все кидать?
На такое надо отвечать, что вы используете Open J9 с OptThruput GC и такой херни у вас нет.
Аноним 11/08/21 Срд 19:35:15 2124813440
>>2124342
Корутины это и абстракция поверх рантайма. Да от тебя компилятор прячет все тонкости реализации и ты просто бери и используй. А Легковесные треды это и есть рантайм. Я уже раз пять талдычил про неблокирующий IO, про тред локал, про нормальный стектрейс, все то что нельзя сделать на базе корутин.


Ладно пора это заканчивать уже.
Аноним 11/08/21 Срд 20:49:51 2124884441
Аноним 11/08/21 Срд 22:13:45 2124984442
>>2124483
Зачем спрингошлепа об этом спрашивать.
Аноним 11/08/21 Срд 22:45:25 2125007443
>>2124984
Вообще спринг отходит уже в прошлое с появлением таких штук как кваркус или микроравт. Хотя в проде все ортодоксально юзают спринг, но будущее не за ним.
Сам изучаю сча кваркус и в восторге от его возможностей, рекомендую.
Кому интересно, на хабре есть статьи о нём, и есть ещё канал в телеге t.me/quarkusnews
Аноним 11/08/21 Срд 22:48:56 2125011444
Аноним 11/08/21 Срд 23:07:07 2125020445
>>2125007
Куда он тебе отходит нахуй. Я в ахуе просто с пориджей нахуй набьют щеки сортами говна и довольные сидят. В голанг пиздуй пока поезд не ушел. Возможности он изучает, рекомендует блять.
Аноним 12/08/21 Чтв 03:41:09 2125139446
Хочу прикрепить капчу к своему высеру на спринге, но рекапча не очень подходит. Какую норм опенсорс либу для капчи можно взять, или самому велосипедить придется?
Аноним 12/08/21 Чтв 14:26:02 2125553447
Как сделать чтоб при сборке мавена тесты сами врубались? А то я найти нигде не могу.
Аноним 12/08/21 Чтв 14:29:41 2125556448
>>2125553
Они же вроде сами врубаются. Ну если нет можно просто mvn clean test install или как там
Аноним 12/08/21 Чтв 14:34:19 2125559449
>>2125553
У тебя в имени тестового класса нет окончания Test?
Аноним 12/08/21 Чтв 14:43:12 2125571450
Аноним 12/08/21 Чтв 18:29:01 2125863451
>>2116244 (OP)
Жабаны, на хуй вам лямбды? Какой то сахар в поридже, нихуя не могу придумать где бы они были незаменимы.
12/08/21 Чтв 18:33:13 2125870452
12/08/21 Чтв 18:35:06 2125871453
>>2125863
> где бы они были незаменимы
Программируй в PowerPoint, он тоже тьюринг-полный. Незаменимых вещей нет, инструменты не важны, главное уметь писать алгоритмы, но нужна крепкая университетская база.
Аноним 12/08/21 Чтв 19:02:54 2125883454
30067889-1.jpg 170Кб, 900x1200
900x1200
>>2125871
>тьюринг-полный
Это когда в жопу ебут и называют Белоснежкой?
>>2125870
>>2125871
Всего этого лямбда говна ведь буквально 10 лет назад не было и ничего. Наверное Оракекелы посмотрели что в ЖС есть замыкание и решили тако же говно запилить. Вон крестрвики сами не знают, зачем им лямбду завезли.
Аноним 12/08/21 Чтв 19:17:07 2125897455
>>2125883
> Это когда в жопу ебут и называют Белоснежкой?
Да.
> Всего этого лямбда говна ведь буквально 10 лет назад не было и ничего
А в СССР газетами подтирались, и ничего.
> замыкания
Про анонимные классы ты, наверное, не слышал.
> Вон крестрвики сами не знают, зачем им лямбду завезли.
Сразу видно, что кресты ты последний раз видел на лабах на первом курсе.

Попробуй потоньше, скучновато.
Аноним 12/08/21 Чтв 19:34:49 2125907456
>>2125897
По существу сказать нечего? Тперь понятно, почему вы такие нищие.
Аноним 12/08/21 Чтв 19:58:46 2125913457
>>2125907
Слив засчитан, можешь идти нахуй.
Аноним 12/08/21 Чтв 20:05:01 2125919458
Почему для Iterable есть синтаксический сахар, а для Comparable нет? Пиздец бесит блядь.
Аноним 12/08/21 Чтв 20:26:48 2125943459
>>2125919
Какой именно сахар тебе нужен? Перегрузка операций что ли?
Аноним 12/08/21 Чтв 20:33:09 2125953460
>>2125943
Объекты реализующие Iterable можно использовать в for, объекты реализующие Comparable нельзя сравнивать через >.
Аноним 12/08/21 Чтв 21:07:49 2125982461
annotation.PNG 258Кб, 1550x938
1550x938
Чтобы пользоваться аннотациями без ioc нужно всегда вызывать обработчик аннотации в аннотируемом объекте(как на пике) или можно как то еще?
12/08/21 Чтв 22:48:40 2126057462
>>2125982
Нууу, тебе же их надо на какой-нибудь объекте обрабатывать. Так как у тебя нет регистра всех объектов, остаётся только так делать
12/08/21 Чтв 22:59:54 2126065463
13/08/21 Птн 13:14:15 2126563464
>>2125139
>Хочу прикрепить капчу к своему высеру на спринге, но рекапча не очень подходит.
Абу спроси, это дебил специалист по капчам.
Аноним 13/08/21 Птн 14:07:06 2126658465
В проекте используется Keycloak. Как передавать авторизационные данные (токен) при написании тестов? Есть вариант в лоб авторизировать тестового пользователя, затем парсить json ответа на авторизацию, вынимать оттуда токен и подставлять в запросы, но мне кажется, что можно сделать проще. Сталкивался кто-нибудь?
Аноним 13/08/21 Птн 15:11:19 2126765466
>>2126658
И тут обосрался. Как-то можно делать запрос через MockMvc на URI Keycloak?
Аноним 13/08/21 Птн 16:54:31 2126845467
>>2126765
В пизду, пока сюда пишешь - десять раз понимаешь, что обосрался при задумке. Как авторизироваться в тестах при кейклоке и потом дальше использовать аксес-токен?
Аноним 13/08/21 Птн 18:52:04 2126932468
Кто нибудь с java.util.logging.Logger работал? Есть сторонняя библиотека которая туда пишет, и проблема в том, что инфо сообщения в итоге логгируются с уровнем еррор. Что очень сильно засирает логи. Эсли что это все крутится в гугловом клауде.
Аноним 13/08/21 Птн 20:11:37 2127030469
2122276
2122279
бамп вопросу
Аноним 13/08/21 Птн 20:12:25 2127031470
Аноним 13/08/21 Птн 21:38:55 2127079471
Аноним 14/08/21 Суб 14:36:32 2127623472
Как добавить кастомную инфу(claim) в m2m токен, получаемый по client credentials схеме? На стороне клиента.
Аноним 14/08/21 Суб 15:00:12 2127646473
tiobe2021.png 25Кб, 950x530
950x530
ЕБАЛА ГАДЮКА ЖАБУ
14/08/21 Суб 15:27:13 2127682474
>>2127646
Tiobe - хуйня без задач. В 2022 кто-то всерьёз воспринимает рейтинги, где ебаный бейсик на 6 месте?
Аноним 14/08/21 Суб 15:38:42 2127697475
>>2127682
>где ебаный бейсик на 6 месте
Так и есть, в США и Европе на нем тонны legacy кода, который нужно поддерживать.
Иначе бы Microsoft не выпускала новые версии VB.NET, как, например, они давно похоронили Visual FoxPro.
Только в рашке вместо VB формошлепили на Delphi.
Аноним 14/08/21 Суб 15:41:56 2127701476
>>2127697
> Только в рашке вместо VB формошлепили на Delphi.
Ещё 1С.
Аноним 14/08/21 Суб 15:53:19 2127723477
>>2116244 (OP)
Кто протух и воняят Го или Жава?
Аноним 14/08/21 Суб 15:57:39 2127732478
CsPme8RXYAAtAPw.png 87Кб, 200x252
200x252
Ну как живете, грязные жабоиндусы, учите Kubernetes?
Пока почтенные шарпобояре отдыхают в баре от трудов тяжких.
14/08/21 Суб 15:58:17 2127737479
Аноним 14/08/21 Суб 15:59:42 2127740480
>>2127737
Еще один безработный индус порвался.
Аноним 14/08/21 Суб 16:00:46 2127741481
>>2127732
>шарпобояре
Если на шарпе больше ништяков, почему жабаны в него не вкатываются? Ведь синкасис очень похож.
Аноним 14/08/21 Суб 16:02:32 2127747482
Аноним 14/08/21 Суб 16:05:58 2127751483
Ёбаным жабоиндусам, напоминаю разницу. Зоопарк вопросов:
- где замыкания?
- где свойства?
- где шаблоны? Разработчики Sun вынуждены только облизываться. Даже генерики, введённые в 5-й версии Java — не более, чем syntactic sugar. Дотнетовские генерики это реально поддерживаемые платформой типы, которые расширяются на лету при загрузке, котрые оптимизируются JIT-компилятором. Для Java генерики существуют только в коде и ни JIT, ни загрузчик классов их никогда не видит. Поэтому проблемы боксинга, преобразования типов в runtime просто скрыты от программиста.
- где делегаты/евенты?
- где partial-классы?
- где детерминированное освобождение ресурсов (ключевое слово using + интерфейс IDisposable)?
- где оптимизация JVM для расширений процессоров?
- где аналог linq и в частности удобные мапперы?
- где расширения методов класса?
- где скрытая имплементация интерфейсов?
- где перегрузка параметров функций?
- где нормальное потребление памяти приложением?
- где быстрая работа приложения?
- где нормальные иде, с полноценными дизайнерами?
- где пользовательские value types?
- где методы у инстансов value types?
- где var и анонимные типы
- где перегрузка операторов?
- где оптимизиции хвостовых вызовов? (в свете фунционального хайпа это должно вызывать некоторый батхёрт)
- Где чёткое разделение домены и сборки? Это не учитывая, целый ворох технологий недоступный понимаю жабоиндусов, такие всякие сильверлайты/вин-веб/формочки, впф, XNA, список можно продолжать бесконечно, как впрочем и список ущербности жабы...
Всего, чего нет в жабе, автоматически объявляется хуитой, как только это появляется в жабе, это автоматически становится нехуитой. При этом, требуется сделать вид, что хуитой это называл кто-то другой.
Аноним 14/08/21 Суб 16:09:26 2127755484
К нам в айти отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные шарпобояре. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:

- Ебать, это же Абстрактная фабрика! На чём ты кодил до этого?

- На Джаве.

- Жабапидор! - в один голос заорали все 20 человек.

- Жабапидор! Жабапидор! Жабапидор!

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

- Жабапидор!

В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и жабопидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох жабопидор, даже дело заводить не стали.
14/08/21 Суб 16:09:26 2127756485
Аноним 14/08/21 Суб 16:12:18 2127759486
>>2127751
>var и анонимные типы
Не нужно
Аноним 14/08/21 Суб 16:17:18 2127762487
>>2127751
Покажи на шарпе аналоги
1. Spring
2. Hibernate
3. Zookeeper
4. Kafka
5. Hadoop
6. Elasticsearch
7. Cassandra
Аноним 14/08/21 Суб 16:19:37 2127765488
>>2127755
> в нужнике пятнадцать дырок
Типичный офис шарподебилов?
Аноним 14/08/21 Суб 16:24:56 2127768489
>>2127762
>Elasticsearch
Вот из за него вкатываюсь в жабу.
Аноним 14/08/21 Суб 16:27:59 2127771490
j0gld2s2skq31.jpg 177Кб, 700x1369
700x1369
>>2127751
Сколько бы ты не визжал, новые проекты все так же начинают на джаве
Аноним 14/08/21 Суб 16:30:34 2127774491
>>2127751
На самом деле чем меньше синтаксических возможностей в языке, тем лучше для энтерпрайза. Во всех новых фишках так или иначе есть подводные камни, которые могут выстрелить в любой момент при неграмотном использовании.
Аноним 14/08/21 Суб 16:36:18 2127779492
>>2127751
>Это не учитывая, целый ворох технологий недоступный понимаю жабоиндусов, такие всякие сильверлайты/вин-веб/формочки, впф, XNA

Хоть и толстота, но проиграл. Экосистема шарпа не идет ни в какое сравнение с жабьей. Она где-то в том состоянии, в котором был жаба-мир в 2008-2010 годах. Понятно, что в самом шарпике куча всякого синтаксического сахара, может даже чуть более быстрая CLR. Но в остальном - это кал говна. Платформа непригодна для нормального использования в энтерпрайзе. А на самой CLR кроме шарпа, мертвого f# и вижуал бейсика, ничего нет, лол.
14/08/21 Суб 16:56:19 2127792493
>>2127774
В плюсах так и было. Но я бы в жаве не отказался от интерполяции строк
inb4: юзай котлин
Аноним 14/08/21 Суб 17:09:10 2127801494
>>2127792
>В плюсах так и было
Было, но плюсы изначально получились монструозными с неочевидными решениями. Потом на это все начали натягивать 11, 14, 17, 20 и 23 стандарты, после чего разобраться во всем этом стало очень тяжело.
Аноним 14/08/21 Суб 17:15:44 2127808495
>>2127768
Нахуя? Он умер, обоссавшись и обосравшись.
Аноним 14/08/21 Суб 17:31:02 2127824496
>>2127808
Да, умер, вчера в 12:53 UTC.
14/08/21 Суб 17:34:50 2127826497
>>2127824
Зафиксировал. Надо будет на проекте об этом рассказать. Предложить на монгу перейти
Аноним 14/08/21 Суб 17:36:02 2127827498
Аноним 14/08/21 Суб 17:54:24 2127842499
>>2127826
>монгу
А она каким боком к полнотекстовому поиску? Есть только Солр и Эластик, оба на Луцене.
Аноним 14/08/21 Суб 18:12:45 2127853500
>>2127827
Да и хуй с ним. От этого эластик и его форки точно не умрут и его не перепишут на шарп/го/js.
Аноним 14/08/21 Суб 18:57:06 2127877501
>>2127747
Это недалеко от правды. Фичи из некст версии си хештэга тупо не осилят.
Аноним 14/08/21 Суб 19:29:04 2127895502
>>2127741
Потому что перекатываться только ради синтаксического сахара никому нахуй не вперлось, для таких уже есть котлин. Еще и фреймворки переписывать придется. Когда шарп будет гарантировать скорость сишечки, тогда и можно подумать.
Аноним 14/08/21 Суб 20:08:26 2127960503
Аноним 14/08/21 Суб 20:13:29 2127962504
>>2127960
В котлине помимо этого слишком много гавна.
Аноним 14/08/21 Суб 20:19:16 2127967505
>>2127741
Потому что для сахарных фич есть котлин, который можно легко вхуярить в проект без изменения версии самой жабы. Мантры шарпочмонь смешны, никто ничего переписывать не будет, микрософт давно проебал тырпрайз рынок и никакие потуги не помогут
Аноним 14/08/21 Суб 20:40:25 2128002506
image.png 82Кб, 680x383
680x383
Жаберы, какие у вас есть альтернативы сабжу?
Вы даже игрушку написать не можете.
Аноним 14/08/21 Суб 20:45:59 2128012507
>>2128002
Тормозящий кал, на котором принципиально невозможно писать без багов.
Аноним 14/08/21 Суб 20:46:13 2128014508
>>2128002
Тут дяди серьезным бизнесом занимаются, поридж.
Аноним 14/08/21 Суб 20:47:32 2128018509
>>2128002
Игроделам платят копейки + переработки не рекомендую
14/08/21 Суб 21:08:45 2128046510
Аноним 14/08/21 Суб 21:13:11 2128052511
>>2128046
Модератор, забань ебнутого шизика.
Аноним 14/08/21 Суб 21:39:02 2128070512
>>2128018
Будто в энтерпрайзе у крудошлепов не так.
А чтобы платили не копейки, нужно быть помидором и знать все из этого списка: >>2127762
Аноним 14/08/21 Суб 21:52:34 2128076513
>>2127771
Так что там с новыми проектами в сфере геймдева, ммм?
На чем жабич будет писать игрушку?
14/08/21 Суб 21:57:25 2128081514
>>2128076
Так что там с новыми проектами в сфере эмбеддед, ммм?
На чем жабич будет писать драйвера?
Аноним 14/08/21 Суб 22:01:08 2128082515
Аноним 14/08/21 Суб 22:34:17 2128118516
>>2128076
Серверную часть на джаве.
Аноним 14/08/21 Суб 22:47:59 2128123517
>>2128070
в энтепрайзе никто не будет подразумевать ЧТО ТЫ ЛЮБИШЬ ДО УСРАЧКИ СВОЮ РАБОТУ, и зп в гейдеве самая маленькая в ИТ хоть синьор хоть мидл, я думал это ни для кого не секрет
Аноним 14/08/21 Суб 23:15:08 2128138518
>>2128070
Знать полностью все не обязательно, но спринг, хибер, кафку и эластик + sql крайне желательно. Зоокипер встречается не часто, как и кассандра.

>>2128076
>>2128002
LWJGL или libgdx. Движков уровня юнити или ue очевидно нет, так как на жабе игры почти никогда и не писали, я вот только майнкрафт могу вспомнить.
15/08/21 Вск 00:35:19 2128174519
>>2128138
Зачем ты на жирноту отвечаешь?
Аноним 15/08/21 Вск 01:04:41 2128184520
>>2121116
>Шилдт
>10 издание при наличии 11
>говноперевод от говнодиалектики
Аноним 15/08/21 Вск 01:11:07 2128185521
>>2128002
>>Вы даже игрушку написать не можете.
На юнити дохуя игр - почти все одноразовое говно.
На джаве написана одна игра, которая потеснила некоторые АААтайтлы.
Радовался бы, что никому этот ваш обоссаный геймдев не нужен.
Аноним 15/08/21 Вск 01:14:24 2128187522
>>2121116
9 версия. Не поддерживается. Не LTS.
Аноним 15/08/21 Вск 01:43:27 2128191523
>>2128187
11 очень слабо от 9 отличается.
Аноним 15/08/21 Вск 03:33:06 2128213524
>>2128185
>На джаве написана одна игра, которая потеснила некоторые АААтайтлы.
Говно для тупой школоты с максимум уебищной графикой.
Так-то можно и рогалики на жабе писать, формально они тоже будут считаться играми.
В общем, в геймдеве жаба сосет, так и запишем.
Аноним 15/08/21 Вск 04:17:57 2128218525
>>2128213
Че ты записываешь то? В этом треде ничего кроме спринга не обсуждают. Вот и сравнивай шарповский стек со спринговым.
Если большой энтузиаст, можешь сравнить стек котлин/джавы на андроиде с майкрософтовским аналогом.
Аноним 15/08/21 Вск 09:13:25 2128257526
Аноним 15/08/21 Вск 13:05:26 2128482527
Аноним 15/08/21 Вск 14:53:30 2128548528
image.png 422Кб, 512x384
512x384
>>2127697
>Так и есть, в США и Европе на нем тонны legacy кода, который нужно поддерживать.
>Иначе бы Microsoft не выпускала новые версии VB.NET, как, например, они давно похоронили Visual FoxPro.
Причем легаси столько что бейсик популярней жопаскрипта. Ну и ассемблер на девятом месте, да еще и активно растет.
Аноним 15/08/21 Вск 16:23:20 2128637529
Аноним 15/08/21 Вск 16:24:42 2128638530
Аноним 15/08/21 Вск 17:37:48 2128691531
>Replacing an existing task with an incompatible type is not supported.
ДА ТЫ ОХУЕЛА ХУЙНЯ ЕБАНАЯ Я ЖЕ БЛЯДЬ ОТНАСОЕДОВАЛСЯ ИМЕННО ОТ ЭТОЙ ТАСКИ БЛЯДЬ
Аноним 15/08/21 Вск 17:44:39 2128694532
Аноним 15/08/21 Вск 18:00:51 2128706533
Стикер 191Кб, 377x361
377x361
Аноним 16/08/21 Пнд 11:39:50 2129426534
>>2127079
Да это работает.

Какое же Slf4j говно, если бы ребята не тянули с Log4j2 мы бы не жрали это говно.
Аноним 16/08/21 Пнд 11:59:41 2129448535
>>2129426
Ты ебнулся? Slf4j (и logback) - конфетка, это log4j говно, и java.util.logging говно, и новое апи из 9 что ли версии тоже говно.
Аноним 16/08/21 Пнд 12:56:11 2129508536
>>2129426
Чел говно это нерасширяемое говно из стандартной либы. Его вообще нужно вырезать, после апплетов, все равно этим ни один человек не пользуется. А логбэк это первая зависимость в проекте де-факто.
Аноним 16/08/21 Пнд 16:58:50 2129720537
Сап двач. Кто уже успешно сделал калькулятор для java mentor? Пожалуйста, помогите с ним, нихуя ниче не получается
Аноним 16/08/21 Пнд 17:06:55 2129725538
>>2129720
На завод пиздуй, не получается у него калькулятор
Аноним 16/08/21 Пнд 17:19:12 2129732539
>>2129725
а че бы не помочь
калькулятор сам вроде понятен а как сделать чтобы он работал с римскими цифрами хз
Аноним 16/08/21 Пнд 17:38:47 2129742540
>>2129720
Наконец-то итт забавный жир, а не тухлые набросы про go
Аноним 16/08/21 Пнд 17:46:12 2129752541
>>2129742
Осталось только джавараш обсудить.
Аноним 16/08/21 Пнд 17:52:53 2129762542
Привет мир.
По работе тупому эникею (мне) выдали документооборот. Чтобы им нормально владеть нужны sql и groovy. Каковы шансы тупого эникея в качестве первого языка освоить groovy? Что почитать? С чего начать?
Аноним 16/08/21 Пнд 18:06:53 2129781543
>>2129762
Груви вряд ли выучишь без базового знания жабы, а скорость изучения сильно зависит от тебя.
Основы sql учатся легче.
Аноним 16/08/21 Пнд 19:24:22 2129824544
>>2129762
Освоить изи, он как питон, только от жава мира. По груви полторы книги, выбирай ту где про экшен рассказывают.
Вообще норм язык как замена пистону для рантайм скритинга, жаль не взлетел. Потому что пиарить некому, никакая корпорация за ним не стоит, как за го, растом или котлином
Аноним 16/08/21 Пнд 19:38:34 2129841545
Нахуй учить груви не зная джавы? Нихуя не понятно будет.
Аноним 16/08/21 Пнд 19:44:40 2129850546
>>2129841
Скажи это шизикам, которые пытаются учить котлин первым языком.
Аноним 16/08/21 Пнд 20:58:44 2129905547
>>2129841
Требование бизнеса. Всем учить груви.
Аноним 16/08/21 Пнд 21:02:33 2129908548
>>2129905
Нахуй такой бизнес.
Аноним 16/08/21 Пнд 21:22:31 2129919549
>>2129908
Тогда всем учить спринг.
Аноним 16/08/21 Пнд 21:24:29 2129921550
>>2129919
Нахуй такой бизнес.
Аноним 16/08/21 Пнд 21:26:14 2129924551
Уважаемые, я не понимаю Hibernate концептуально.

Например, есть сущность User, и есть сущность Post.
Сохраняя или получая Post, я хочу иметь информацию об его авторе, т.е. User'е.

Hibernate предполагает, что в entity Post у меня должна быть @ManyToOne связь с постом. Но, блять, зачем?

Почему нельзя, как в каком-нибудь JOOQ, сделать это руками: в Post'е сохранять не private User user, а просто private Long uderId,
чтобы потом в репозитории руками написать query с left join и получить, что хочу, имея полный контроль и избежав еботни с fetchType.LAZY, EAGER и прочей хуйней?
16/08/21 Пнд 21:35:07 2129928552
>>2129924
Ставь везде по дефолту lazy, потом энтити графами дофетчивай нужное
Аноним 16/08/21 Пнд 21:35:42 2129929553
>>2129924
> private Long uderId
Можно, почему нет. Но сторонники говнохибернейта и прочих ORM говорят, что это недостаточно ООП-шно, дескать, так будет реляционная модель, а не объектная.
16/08/21 Пнд 21:36:53 2129930554
>>2129929
А в какой объект ты будешь юзера складывать?
Аноним 16/08/21 Пнд 21:37:46 2129931555
>>2129924
В жаба мире принято полагаться на скрежащие от старости фреимворки. Требование бизнеса.
Аноним 16/08/21 Пнд 21:43:42 2129934556
>>2129930
Ни в какой, везде буду хранить id юзера, а когда понадобятся данные о нём, юзану JdbcTemplate.
16/08/21 Пнд 21:45:45 2129937557
>>2129934
Несколько селектов? Ну не знаю
Аноним 16/08/21 Пнд 21:49:10 2129938558
>>2129937
Так с лэзи у тебя тоже несколько селектов. А игер ебет джоины когда они не нужны.
16/08/21 Пнд 21:51:22 2129941559
>>2129938
Так энтити графы же есть
Аноним 16/08/21 Пнд 21:53:09 2129943560
>>2129941
Так зачем, если есть более современные и легковесные технологии для мэпинга и sql генерации.
16/08/21 Пнд 21:54:22 2129945561
>>2129943
Но ведь речь была про айдишки в дата классах
Аноним 16/08/21 Пнд 21:54:34 2129947562
>>2129924
Ставишь везде lazy, дальше вот буквально как ты и хочешь пишешь, когда тебе оно нужно, руками query с left join fetch (ну или энтитиграф включаешь) и имеешь свой контроль
Аноним 16/08/21 Пнд 21:55:43 2129950563
>>2129945
Мне вообще похуй, я мимо проходил просто.
Аноним 17/08/21 Втр 03:28:58 2130114564
>>2129841
У тестировщиков Groovy популярен.
Аноним 17/08/21 Втр 12:35:03 2130376565
Подсоны, это ок, что в приложении слой один класс из слоя сервисов обращается в другой?
Или это архитектурно тупо?
17/08/21 Втр 12:40:00 2130385566
>>2130376
В этом нет ничего страшного. Только смотри, чтобы сервис более высокого уровня не обращался в сервис уровня ниже
Аноним 17/08/21 Втр 12:40:19 2130387567
Аноним 17/08/21 Втр 17:33:36 2130793568
>>2129448
>Ты ебнулся? Slf4j (и logback) - конфетка, это log4j говно
Slf4j блядь закукарекала! Достаточно посмотреть как забриджить JUL

у здорового человека
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager

у курильщика
SLF4JBridgeHandler.removeHandlersForRootLogger();
SLF4JBridgeHandler.install();
Аноним 17/08/21 Втр 19:49:20 2130980569
>>2130793
че несешь чуушка, ни разу в жизни такого не писал
Аноним 17/08/21 Втр 21:14:28 2131076570
>>2130793
Ты говно какое то намесил
Аноним 17/08/21 Втр 22:17:33 2131138571
>>2130980
>>2131076
>Ряяя, мне на надо, значит никому не надо
>Мам ну скажи ему!
Аноним 17/08/21 Втр 22:19:59 2131139572
>>2131138
Чел гайдлайны читай чтобы не быть батхёртом
Аноним 18/08/21 Срд 08:51:20 2131350573
Начинающая джава-обезьяна на связи.
Вот я сделал какую-то бизнес-логику, упакованную в класс, положим. У нее есть какие-то там поля, методы доступа к ним, сами методы БЛ. А теперь мне нужно напилить ко всему этому UI на каком-нибудь свинге.
Вопрос такой: Это вообще нормально, что я вынужден в класс основной формы (XXX extends JFrame) пихать класс(ы), реализующий бизнес-логику, в качестве члена? И дергать из обработчиков событий его методы? Выглядит это как-то дебильно. Как такие вещи делать правильно?
Аноним 18/08/21 Срд 11:22:24 2131452574
>>2131350
>Вопрос такой: Это вообще нормально, что я вынужден в класс основной формы (XXX extends JFrame) пихать класс(ы), реализующий бизнес-логику, в качестве члена?
Да нормально. Ты ведь не сам класс кладешь, а ссылку на него. Обычно один и тот же сервис передают во все классы, где он нужен. И обычно это делают через DI.


Аноним 18/08/21 Срд 12:28:20 2131543575
Подсоны, такой вопрос:
А нормально ли желание конфигурацию спрингового приложения разделить на два конфига - один в resources со всякими banner-mode=off и именами драйверов для БД, а второй в виде yaml, выставить уже за пределы jar, оставив в нем самое нужное, креденшелы, адреса апи и все такое?
Аноним 18/08/21 Срд 12:41:54 2131569576
Аноним 18/08/21 Срд 12:46:31 2131581577
Аноним 18/08/21 Срд 12:56:52 2131597578
>>2131543
А еще лучше в Spring Cloud Config вынести.
Аноним 18/08/21 Срд 14:44:30 2131761579
>>2131597
Это примерно та же история, что и ETCD?
Аноним 18/08/21 Срд 15:49:45 2131859580
Аноним 18/08/21 Срд 16:03:47 2131887581
>>2120459
>Такая вот наша жава
Write Once, Debug Everywhere !
Аноним 18/08/21 Срд 17:16:29 2131962582
>>2131452
Я другой анон с глупым вопросом.
Можно сказать, что в том случае что ты сказал di является аналогом redux/vuex на фронтенде?
Аноним 18/08/21 Срд 17:22:49 2131970583
Аноним 18/08/21 Срд 17:41:00 2131997584
>>2131970
Я имею ввиду по сфере применения, я понимаю, что это сильно разные технологии.
Аноним 18/08/21 Срд 18:02:57 2132024585
>>2131962
>>2131997
Не совсем, я не фронтендер, но насколько я понял что делает redux, это фреймворк для организации веб приложения. Он определяет структуру приложения, как оно обрабатывает запросы, передачу вызовов между ними и прочее.

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


Есть Спринг, он начинался как DI, но сейчас гораздо больше чем просто DI. Вот какой нибудь Spring MVC уже концептуально близок к redux.
Аноним 18/08/21 Срд 18:23:08 2132046586
>>2132024
А почему именно mvc? мне кажется с di+aop(spring core короче) уже можно сравнить менеджеры состояний.

Другой глупый вопрос.
Несинглтоновские скоупы нужны только для стейтфул приложух? Посмотрел пяток приложух из туториалов и нигде не видел бинов с явным скоупом не по умолчанию. Сейчас просто перечитываю теорию спринга и пишут, что как минимум прототайп используетя.
Аноним 18/08/21 Срд 18:37:21 2132063587
>>2132046
>А почему именно mvc?
Потому что MVC говорит тебе какие у тебя будут слои Model-View-Controller, как они между собой взаимодействуют. А DI+AOP ничего такого не говорит, херач как хочешь, мы например Спрингом поднимали Акка приложение, там вообще никаких контроллеров, сервисов и репозиториев не было.


>Несинглтоновские скоупы нужны только для стейтфул приложух?
Не приложений а бинов. У тебя приложение может быть стейтлес, но содержать стейтфул бины.


> Сейчас просто перечитываю теорию спринга и пишут, что как минимум прототайп используетя.
Как правило все упирается в потокобезопасность, но бывают и другие нюансы, например реквест скоуп - можно создавать бин для сбора метрик реквеста, а по завершению сбрасывать в лог/базу. Или кастомные скоупы Спринг Батч.
Аноним 18/08/21 Срд 18:42:16 2132066588
Аноним 18/08/21 Срд 19:45:41 2132117589
>>2131543
Зачем тебе что-то выносить в отдельный ямл, когда можно использовать переменные окружения или java-проперти?
Аноним 18/08/21 Срд 21:01:02 2132165590
>>2132117
Зачем использовать переменные окружения или java-проперти, когда можно вынести всё в отдельный ямл?
Аноним 18/08/21 Срд 21:09:00 2132175591
>>2132165
Хуй знает, делай как удобнее.
Аноним 18/08/21 Срд 21:35:30 2132207592
Почему в спринге до сих пор используют велосипед с spring.factories вместо православного ServiceLoader?
Аноним 18/08/21 Срд 22:02:12 2132233593
>>2132207
> ServiceLoader
Это который даже в синглтон не умеет?
Аноним 18/08/21 Срд 22:06:38 2132235594
>>2132233
Че несешь? Он грузит реализации интерфейса.
Аноним 19/08/21 Чтв 19:59:07 2133291595
Как учить спринг, где-то есть структурированный материал с нуля с +- чётким объяснением, где и когда %вещьнейм% нужна?
Аноним 19/08/21 Чтв 20:15:18 2133314596
изображение.png 19Кб, 615x477
615x477
изображение.png 19Кб, 669x477
669x477
АНоны, можете пояснить дурачку, почему пик 1 код работает, а пик 2 нет? Методом тыка допер, что stopword нужно объявлять до начала цикла, а почему нельзя в самом цикле?
Аноним 19/08/21 Чтв 20:24:01 2133331597
>>2133314
Если закончился блок (встретилась закрывающая фигурная скобка), то объявленные в блоке переменные нельзя использовать.
Аноним 19/08/21 Чтв 21:06:11 2133378598
>>2133291
да, полно таких курсов
19/08/21 Чтв 23:10:25 2133514599
>>2133314
> шарповая подсветка
> дувайл
А ты извращенец
Аноним 20/08/21 Птн 01:42:43 2133631600
Привет. Читаю "Джава. Эффективное программирование" Блоха (3 изд., 2019 г.).
Речь идет об обобщенных методах и приводится такой пример синтаксиса обобщенного метода:
public static <Е> Set<E> union(Set<E> s1, Set<E> s2) {
Set<E> result = new HashSet<>(s1);
result.addAll(s2);
return result;
}
Далее пишется, что тут все компилируется. Но у меня не компилируется уже в месте Set<E>: 'this' cannot be referenced from a static context. Это ошибка или я чего-то не понимаю?
20/08/21 Птн 10:35:22 2133774601
Аноним 20/08/21 Птн 12:05:09 2133840602
>>2133631
Ты скорее всего на уровне класса объявил женерик с таким же именем.
Аноним 20/08/21 Птн 12:30:33 2133869603
>>2116261
Gradle позволяет автоматически скачивать все зависимости и автоматически собирать проэкт.
Аноним 20/08/21 Птн 12:34:16 2133877604
>>2133869
Ант+ivy тоже. Зачем юзать градл, если есть ант с ivy?
Аноним 20/08/21 Птн 15:48:40 2134159605
>>2133877
Ты чо! Там же XML!
Тебе любой поридж скажет, что XML это отстой.
Аноним 20/08/21 Птн 15:57:24 2134166606
>>2134159
Не понимаю их. Хмл отстой, но из вебговна не спешат выпиливать теги с хмл-синтаксисом. Даже jsx высрали, чтобы юзать теги.
Аноним 20/08/21 Птн 16:17:43 2134183607
Друзья привет хай, подскажите какие шансы у пхпшника пойти на собеседование по джаве, сделать тестовое и выйти на работу хотя бы за 30к в провинции? Перед собесом конечно чисто синтаксис чекнуть. Очень хочется уйти из пыхи, но бросать работу, пока не узнаю что возьмут на новую не оч хочется.
Аноним 20/08/21 Птн 16:18:06 2134184608
Градлобляди в свое время решили запилить свой ANT - Gant https://github.com/Gant/Gant Но он протянул даже меньше оригинала.

А разгадка проста - разумные умолчания это хорошо.
Аноним 20/08/21 Птн 16:23:20 2134190609
>>2134183
Много где требуют айтишную вышку.
Синтаксиса одного не хватит, потыкай алгоритмы/структуры данных и спринг.
Аноним 20/08/21 Птн 16:32:53 2134197610
>>2134190
С айтишной вышкой проблема конечно я радиотехник, а что на счет тестирования? Тестировщики же на джаве в основе своей пишут селениум или что-то вроде этого ?

Алгоритмы/Структуры данных, и спринг mvc впринципе за неделю думаю расковыряю.
Аноним 20/08/21 Птн 16:46:27 2134206611
>>2134197
> я радиотехник
Тоже можно попробовать, в некоторые места с любой тех. вышкой берут. Хоть технарь, не экономист какой-нибудь.
>, а что на счет тестирования? Тестировщики же на джаве в основе своей пишут селениум или что-то вроде этого ?
Там требования пониже, да.
Аноним 20/08/21 Птн 16:50:53 2134210612
>>2134206
Спасибо за отзыв анон
Аноним 20/08/21 Птн 19:02:43 2134390613
>>2134184
Чел, gant - это то, с чего начинался грейдл. Учи историю чтобы не быть окатышем.
Аноним 20/08/21 Птн 19:09:30 2134404614
Хуядл.
Аноним 21/08/21 Суб 11:56:30 2134988615
Сап.
Если я, например, реализую листенер мыши (в AWT), обязательно ли реализовывать, хотя бы пустыми, абсолютно все события, если мне нужен только клик? Это конечно не то чтоб большая проблема, но все эти мусорные пустые методы бесят

@Override
public void mousePressed(MouseEvent e) {

}

@Override
public void mouseReleased(MouseEvent e) {

}

@Override
public void mouseEntered(MouseEvent e) {

}

@Override
public void mouseExited(MouseEvent e) {

}
Аноним 21/08/21 Суб 12:02:57 2134994616
>>2134988
Поэтому в нормальных фреймворках эти методы в интерфейсе заданы как default с пустой реализацией. В более старых фреймворках через абстрактный класс. А AWT это вообще пиздец говно мамонта.
Аноним 21/08/21 Суб 12:24:17 2135005617
>>2134988
Реализуй их пустыми в отдельном классе, а потом в листенере переопредели у него что нужно. Что ты как маленький то
Аноним 21/08/21 Суб 13:38:17 2135102618
>>2134994
>говно мамонта
Зато по дефолту есть и все +- просто, и ответ ищется за 3 минуты на любой самый дебильный вопрос.
Тратить время на серьезное освоение какого-то UI на жаве, какой бы свежести оно не было... че-то такое себе.
>>2135005
ну я имел ввиду может как-то принципиально это можно решить.
ну я и впрямь ультраньюфаг
Аноним 21/08/21 Суб 16:05:21 2135269619
почему не работает
replaceAll("\\\\", "\\"));?
Во втором аргументе экранирование как-то криво срабатывает, получается эксепшен java.lang.IllegalArgumentException: character to be escaped is missing
Аноним 21/08/21 Суб 16:09:16 2135276620
>>2134390
Прочитал ридми? Молодец, садись пять.
Аноним 21/08/21 Суб 16:11:13 2135279621
>>2135269
Регулярки требуют экранирования, жаба тоже его требует, итого 4 слеша для одного. Спасибо отсутствию сырых строк.
replaceAll("\\\\\\\\", "\\\\"));
Аноним 21/08/21 Суб 16:11:20 2135280622
>>2134988
Есть класс MouseAdapter в котором все методы определены пустышками, можно оверайдить только нужный.
Аноним 21/08/21 Суб 16:12:54 2135285623
>>2135279
>Спасибо отсутствию сырых строк.
А ты слезь с 8-ки и будут тебе raw strings
Аноним 21/08/21 Суб 16:15:41 2135288624
>>2135276
Ты видать тоже только что прочитал.
Аноним 21/08/21 Суб 16:18:04 2135293625
>>2135285
Это для бета-тестеров, которые не могут дождаться 17 lts.
Аноним 22/08/21 Вск 00:06:26 2135772626
Грейдл настолько охуенный, что простейшие операции там все равно приходится делать через ant, лол блядь.
https://stackoverflow.com/a/26654465
Аноним 22/08/21 Вск 00:21:29 2135787627
>>2135772
Градл - это ант и есть, только хмл заменён на (((груви))). Вместо однородного декларативного описания структуры проекта мешанина скриптов сборки, в которых поди ещё разберись.
Аноним 22/08/21 Вск 00:40:48 2135795628
>>2135787
Тогда почему такой передовой фреймворк как спринг перешел на груви? Шахмат.
Аноним 22/08/21 Вск 00:44:55 2135796629
>>2135772
Не нужен там Ант, там был дан ответ как это сделать на груви. Но в этом-то и есть проблема грейдла. Что ты можешь заебошить любую дичь на груви, прям по месту.


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


В этом плане Мавен лучше, тем что там просто нельзя захерачить file("ABC").renameTo(file("XYZ")) и все. Нужно что-то сделать - юзаешь/пишешь плагин и встраиваешь в стандартный билд лайфсайкл. Не встраивается? Модуляризируешь - тут у нас АПИ, тут у нас Коммон ебанина конечно, но без нее никак, тут клиент, тут сервер. Муторно, нудно, но полезно в перспективе.



>>2135795
Это надо быть в команде Спринга, чтобы знать реальную причину. И ты не Спринг мейнтейнер, ты не знаешь насколько сложно саппортить билд, сейчас и через 10 лет.
Аноним 22/08/21 Вск 07:42:08 2135871630
>>2135772
Искал жопой и наткнулся на ответ какого то дауна. Макакеры невер ченжес
>>2135795
Потому что меньше болерплейта для всех 100500 вариантов использования зависимостей по такому же количеству причин
>>2135796
>>2135787
Что ты в программировании делаешь, тебе на хмл верстать нужно сайтики
Аноним 22/08/21 Вск 12:31:30 2136147631
Привет, котаны. Какую операционную систему вы предпочитаете для разработки под Java?
Аноним 22/08/21 Вск 13:01:28 2136212632
>>2135871
>Что ты в программировании делаешь
Руковожу долбоебами типа тебя.
Аноним 22/08/21 Вск 13:07:20 2136230633
>>2135871
>Искал жопой и наткнулся на ответ какого то дауна. Макакеры невер ченжес
Ну так покажи правильный вариант.
Аноним 22/08/21 Вск 13:08:51 2136233634
Аноним 22/08/21 Вск 13:58:29 2136298635
>>2136212
Не сразу разглядел такого крупного эксель специалиста
>>2136230
Грэдл использует груви - полноценный язык со своей стандартной либой и интеропом с жабой. Можешь писать на что хватит фантазии юзая его библиотеки, не обязательно на 100% привязываться к грэдл апи. Это же не мавен говно где все заранее предефайнено и прибито гвоздями к плагинами
Аноним 22/08/21 Вск 14:13:57 2136325636
>>2136298
>Грэдл использует груви - полноценный язык со своей стандартной либой и интеропом с жабой. Можешь писать на что хватит фантазии юзая его библиотеки, не обязательно на 100% привязываться к грэдл апи. Это же не мавен говно где все заранее предефайнено и прибито гвоздями к плагинами
Ага, ну то есть только через ант можно такое сделать. Либо нахуячить императивный груви код прямо в декларативном грейдл скрипте.
Аноним 22/08/21 Вск 14:36:12 2136363637
>>2136325
Кури жизненный цикл задач
Аноним 22/08/21 Вск 14:57:41 2136408638
>>2136363
Я уже понял, что у тебя нет ответа и единственный способ сделать это в грейдле - использовать ант.
Аноним 22/08/21 Вск 15:32:16 2136456639
Как правильно написать клиент-серверное консольное приложение на жабе, чтобы оно не жрало секунды на инициализацию?
Аноним 22/08/21 Вск 15:47:04 2136482640
>>2136456
Можешь попробовать извратиться с graalvm.
Аноним 22/08/21 Вск 15:50:35 2136486641
>>2136482
Да вряд ли поможет. У меня приложение на котлине, которое по jdbc подключается к базе и что-то выбирает. Самое большое время как раз занимает инициализация jdbc драйвера.
Аноним 22/08/21 Вск 17:38:12 2136635642
Сап джавач, посоветуйте плиз годной инфы бесплатно или на торрентах сори я нищеброд по Spring JPA .
Аноним 22/08/21 Вск 17:41:31 2136639643
22/08/21 Вск 17:43:42 2136646644
Аноним 22/08/21 Вск 19:59:06 2136821645
>>2136408
Переместил директорию через груви/ гредл/котлин/жабу. Чяднт? Ты и вправду какой то макакер несмышленный
Аноним 22/08/21 Вск 19:59:58 2136824646
>>2136456
Выбросить спринг и хибернейт, для начала
Аноним 22/08/21 Вск 20:01:11 2136826647
Аноним 22/08/21 Вск 20:32:55 2136861648
>>2116244 (OP)
думаю, что это наиболее подходящий для моего вопроса тред:

root@Mark:/home/anon# java -Xmx1024M -Xms1024M -jar /root/mserver/server.jar nogui

Error: LinkageError occurred while loading main class net.minecraft.server.Main
java.lang.UnsupportedClassVersionError: net/minecraft/server/Main has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 55.0

Как мне нормально запустить сервер minecraft на linux?
Аноним 22/08/21 Вск 21:03:17 2136878649
>>2136824
А их там и нет, умник хуев.
Аноним 22/08/21 Вск 21:06:56 2136881650
>>2136861
У тебя 11 жаба, а сервер собран для 16.
Аноним 22/08/21 Вск 21:38:35 2136921651
>>2136878
Тогда можно держать твой jdbc коннект как отдельный микросервис который никогда не выключается
Аноним 22/08/21 Вск 21:41:33 2136926652
>>2136921
Чё насчёт транзакций?
Аноним 22/08/21 Вск 21:48:15 2136935653
>>2136926
Придется их выбросить тоже
Аноним 22/08/21 Вск 21:51:35 2136939654
>>2136921
А к нему как подключаться?
Аноним 22/08/21 Вск 22:05:39 2136951655
>>2136939
Мгновенно.
Вообще нихуя не понятно почему у тебя именно инициализация драйвера занимает самое долгое время. Может это все таки чтение килотон говна из базы? Что за бд то хоть? Оптимизируй индексы. Нормализация не всегда хорошо. Можно хранить кэш твоих данных на диске и читать его, вместо бд. Нихуя не известно о твоей проблеме короче
Аноним 22/08/21 Вск 22:12:34 2136960656
>>2136951
Ну я смотрю по логам. Строчка перед запросом, строчка после запроса - между ними разница три секунды. Между ними всякое говно от инициализации драйвера логируется. Там нетти и еще чето. В итоге простейший запрос выполняется 3 секунды с копейками. Через встроенный UI той базы - 300 мс. Хотелось бы поближе к этому результату подобраться.
Еще у меня кстати приложение на котлине. Может его в котлин нейтив попробовать загнать? Какие там ограничения?
Аноним 22/08/21 Вск 22:25:07 2136976657
>>2136960
Ну тут явно инициализация каких то фреимворков. Сам коннект от ждбц без всякого говняка получить меньше миллисекунды занимает. Может orm у тебя стоит, с автогенерацией, миграцией, хз короче
Аноним 22/08/21 Вск 22:28:01 2136981658
>>2136976
Нет, там ничего такого нет. Голый драйвер и Apache DBUtils. Все время занимает инициализация драйвера, который использует netty. Может как-то к готовой jvm можно подрубаться? И сервер и клиент запускаются на одной машине.
Аноним 22/08/21 Вск 22:45:12 2136989659
>>2136981
Можно уменьшить время на инициализацию всякой метаинфы у классов, погугли ClassDataSharing, может поможет
Аноним 23/08/21 Пнд 00:13:52 2137053660
>>2136989
Спасибо анон, не думал, что всего одной опцией получится что-то оптимизировать. Сразу -1 секунда. Но по сравнению с нативной консолью все равно много.
Аноним 23/08/21 Пнд 03:43:35 2137114661
Аноны, такая вот хуйня, при попытке удалить несколько файлов подряд в одной и той же директории при помощи метода Files.deleteifexists удаляется только первый файл, а затем выбрасывается DirectoryNotEmptyException. Где я могу проебываться?
Аноним 23/08/21 Пнд 05:57:00 2137139662
>>2133840
Да, у меня был другой дженерик-класс, у него был параметр типа с таким же именем, но имя класса другое. Почему так не работает?
Аноним 23/08/21 Пнд 08:18:18 2137161663
>>2137114
Ты пытаешься удалить не пустую директорию, ексепшн об этом говорит каста.
Аноним 23/08/21 Пнд 10:58:02 2137248664
>>2137161
Ну это понятно, дело в том, что в параметр path, передаваемый этому методу, я складываю только атрибуты файлов. Или я неверно понимаю, как работает этот метод, и кроме файла, он также удаляет и директорию, где файл находится?
Аноним 23/08/21 Пнд 11:00:25 2137252665
>>2137248
Ладно, уже неважно, я просто взял работающий код из примера с баелдунга и заменил свой неработающий.
Аноним 23/08/21 Пнд 11:26:30 2137278666
>>2136486
1. Попробуй граль. BellSoft дает готовый набор для сборки https://libericajdk.ru/pages/liberica-native-image-kit/
2. Добавь логгирование всех этапов и посмотри, что жрет время.
3. Если жрет коннект к базе, поставь перед базой REST сервак. Заодно и кешей можно добавить.
Аноним 23/08/21 Пнд 13:06:07 2137378667
kjdfbjs.jpg 20Кб, 415x161
415x161
Есть кто знает нормально Swing, как можно инициировать отрисовку вот этой рамки на ячейке, как на пикрил в центре? В таблице по-умолчанию она и так есть, но рисуется только по клику LMB. Я отлавливаю клик RMB, выделяю строку, но как еще и орендерить вот эту рамку на ячейке хз
Аноним 23/08/21 Пнд 15:35:37 2137590668
>>2137378
table.setRowSelectionInterval(index0, index1);
Аноним 23/08/21 Пнд 18:26:38 2137864669
>>2137278
>Попробуй граль.
У меня котлин. Проще будет переписать все на котлин нейтив или вообще на го (там тоже есть нужный jdbc драйвер)
>Добавь логгирование
Добавил, жрет старт жвм и инициализация нетти.
>Если жрет коннект к базе, поставь перед базой REST сервак.
Ну кстати, там на другой стороне тоже нетти. Можно по RPC подсосаться.
Аноним 23/08/21 Пнд 21:39:16 2138085670
>>2137864
>У меня котлин. Проще будет переписать все на котлин нейтив или вообще на го (там тоже есть нужный jdbc драйвер)
Да пофик, версия Стандарт поддерживает любые JVM языки.

>Добавил, жрет старт жвм и инициализация нетти.
>Ну кстати, там на другой стороне тоже нетти. Можно по RPC подсосаться.
Ты что-то недоговариваешь, то у тебя конект к базе тормозит, то у тебя оказывается цельный нетти сервер есть, да еще и на другой стороне тоже нетти. Ты или нормально распиши архитектуру, ну или сам давай.
Аноним 23/08/21 Пнд 23:05:03 2138184671
>>2138085
JDBC драйвер использует нетти.
Аноним 23/08/21 Пнд 23:24:48 2138199672
b4d92c7df3cd75e[...].mp4 1899Кб, 576x1024, 00:00:15
576x1024
Аноним 23/08/21 Пнд 23:49:38 2138210673
>>2138199
Владение джирой и конфлюенсом в совершенстве.
Аноним 24/08/21 Втр 00:21:39 2138219674
>>2138210
>>Владение джирой и конфлюенсом в совершенстве.
это если в иксолу устраиваешься
Аноним 24/08/21 Втр 00:22:32 2138220675
>>2138184
>JDBC драйвер использует нетти.
Это что за прогрессивная база, которая аж на нетти драйвера пишет?
Аноним 24/08/21 Втр 05:24:17 2138275676
>>2137590
Нет, это выделяет всю строку просто голубым цветом (если брать ситуацию на картинке). Рамка это какой-то отдельный элемент. Собственно, со вчера немного подразобрался - чтобы поместить фокус на ячейку (назову это фокусом, хз как это правильно зовется в модели свинга) нужно хуйнуть
table.changeSelection(row, column, false, false);
Это работает, за исключением одной мелочи - нужно чтобы фокус уже был хотя бы однажды назначен обычным LMB кликом на таблице. Если это первое взаимодействие с ней через changeSelection, то рамка так и не появится, сколько ты этот метод не дрочи. Собственно, теперь задача понять как ее изначально засетить, а не сменить.
Аноним 24/08/21 Втр 07:00:11 2138285677
>>2138220
Там скорее всего не JDBC, R2DBC для асихронщины, технология сырая и возможна любая жопа
Аноним 24/08/21 Втр 09:05:26 2138325678
Аноним 24/08/21 Втр 12:06:33 2138520679
>>2138275
Попробуй requestFocus() сделать на JTable
Аноним 24/08/21 Втр 12:35:32 2138550680
>>2138520
Это сработало. Ты гений. Я там наугад уже по-моему передергал все методы с вхождениями вроде focus, selection, cursor etc, у всех классов, но мимо этого как-то прошел.
Олсо, grabFocus дает тот же эффект
спасибо.
Аноним 24/08/21 Втр 14:54:00 2138738681
Аноним 24/08/21 Втр 14:57:16 2138740682
Используйте JavaFX малые. Прогрессивная технология так то. Перспективная.
Аноним 24/08/21 Втр 15:08:24 2138750683
>>2138740
Идите нахуй со своими гуями на жабе. На плюсах пишите, собаки сутулые. Чтобы такой поеботы как idea больше в индустрии никогда не было.
Аноним 24/08/21 Втр 15:37:25 2138777684
>>2138750
А чё на плюсах что-то пишут ещё? Я думал все на электрон давно переехали. Из двух зол лучше выбрать гуй на жабе
Аноним 24/08/21 Втр 18:06:43 2138914685
>>2138777
Из двух зол я предпочту не выбирать вовсе.

Так что электрон
Аноним 24/08/21 Втр 18:32:17 2138935686
>>2138914
А потом получаем лагающее говно на десктопе, которое не может даже график из 10к точек нарисовать.
Аноним 24/08/21 Втр 18:36:46 2138937687
>>2138935
Да хоть график на 50 точек. Пусть с этим ебутся клиентщики/фронтендеры, а не жабисты.
Аноним 24/08/21 Втр 18:38:45 2138938688
Ничо, скоро жидбрейнз выкатит новую ИДЕ, на нативном GUI API, вот тогда и посмотрим и вспомним добрым словом SWING
Аноним 24/08/21 Втр 21:59:55 2139169689
Идея вроде вообще на awt основана, иногда в интерфейсе попадаются слайдеры с их дефольными стилями тех времен. Но сейчас столько изменений поверх него сделали, что могли бы полноценной фреимворк для гуйни выпустить.
Аноним 24/08/21 Втр 22:08:28 2139174690
как учить спринг? документация ебанутая. Прыг-скоки с темы на тему. Ниче не понятно.
Аноним 24/08/21 Втр 22:16:35 2139180691
>>2139174
Там лучше начинать не с документации, она скорее для тех, кто уже хоть что-то понимает. Разберись с dependency injection/IoC (читай все туториалы подряд, пока не поймёшь), дальше тыкай MVC и Boot, и станет понятно.
Аноним 24/08/21 Втр 22:17:58 2139183692
>>2139180
>Разберись с dependency injection/IoC (читай все туториалы подряд, пока не поймёшь
это я уже пробовал, разобрался.
> дальше тыкай MVC и Boot, и станет понятно.
Тыкал, понятно стало.

Как вывести это все на уровень годности к собеседованию?
Аноним 24/08/21 Втр 22:20:51 2139186693
>>2139183
Написать пару петшопов и мувисёрчеров на этом. Всё.
Аноним 24/08/21 Втр 22:23:10 2139188694
>>2116244 (OP)
Как сильно с джуна спрашивают теорию про всякие функциональные интерфейсы и круды? Или можно пытаться с минимальными практическими навыками сборки простых приложений на спринге вкатываться? Или какие ресурсы/книги посоветуете для теоретической подготовки к собеседованиям?
Аноним 24/08/21 Втр 22:26:24 2139191695
>>2139186
>
А можно списочек внутриспринговых технологий для собеса??
Типа, вот к примеру, spring mock mcv надо упарывать?
Или к примеру, можно ли написать все на чистом коре (с настройкой сервлет инитиализера и сесурити инитиализера) или лучше делать это все на спринг буте?
Аноним 24/08/21 Втр 22:28:08 2139194696
>>2139188
> Или можно пытаться с минимальными практическими навыками сборки простых приложений на спринге вкатываться?
Да.
> Или какие ресурсы/книги посоветуете для теоретической подготовки к собеседованиям?
Гугли "java вопросы на собеседование", реально это и спрашивают. Учишь все методы класса Object, разницу между checked и unchecked exceptions, тонкости equals() и hashCode() и можешь смело собеситься.
Аноним 24/08/21 Втр 22:31:42 2139200697
>>2139191
Кишки спринга не спрашивают, максимум спросят про сервлеты и ApplicationContext. Остальное в рамках тестового, если его дадут, обычно достаточно бута.
Аноним 24/08/21 Втр 23:23:59 2139253698
>>2138938
>на нативном GUI API
Что это?
Аноним 24/08/21 Втр 23:29:19 2139255699
>>2139253
Я думаю, он говорил, что перепишут свои IDE с Java и её виртуальной машины на какой-нибудь C++ с вызовом функций ОС. Но я не думаю, что хуже существующего по производительности возможно. У меня иногда даже набор текста лагает, когда идея проверяет индексы.
Аноним 24/08/21 Втр 23:38:32 2139259700
>>2139255
На моей некропрошке ретина конца 13 года, идея работает лучше, чем нативный икскод. Я вообще был удивлен, когда узнал, что она на жаве написана. Это первое хорошее десктоп-приложение, которые я увидел в своей жизни.
Переписывать натив под, как минимум, 3 платформы они заебутся, я думаю.
Аноним 25/08/21 Срд 00:45:33 2139286701
>>2139253
Они пилят новый GUI фреймворк на базе Skia, что-то наподобие SWING. Посмотрим что получится, перестанет ли new IDEA() тормозить.
ib4: IDEA тормозит не из-за GUI, даже на P3 IDEA нормально рендерилась
Аноним 25/08/21 Срд 01:37:01 2139297702
>>2138938
У меня на новой идее тесты на некоторых сервисах падают с OutOfMemoty, хотя я везде увеличил память по советам из гугла.
Аноним 25/08/21 Срд 03:36:24 2139313703
>>2139286
А из-за чего?
Вот я ультимейт идею поставил в январе. Не понимал чего в треде воняют. Все норм было. На свежую Винду. Поставил с того времени два доп плагина, переустановил идею вручную, понасоздавал и понаклонировал с гита 50 градл и мавен проектов с хеловордами. И что-то заметил тормоза. Особенно задержки отклика от клавиатуры. Может она и до этого тормозила, но не так сильно. Начну с удаления плагинов неиспользуемых.
Аноним 25/08/21 Срд 03:58:45 2139319704
>>2139313
Если бы она лагала из-за гуя, она бы всегда лагала. Наверное. А лагает она, когда в статус баре запущены какие-то процессы.
Аноним 25/08/21 Срд 06:05:50 2139328705
>>2138750
что не так с идеей, пес?
Аноним 25/08/21 Срд 08:33:12 2139356706
>>2139286
Это который compose для котлина? Я его ставил в мае, там даже пример галереи из 4 картинок лагает. Да и этот материал дизинг для десктопа просто моветон в 2022 году.
Аноним 25/08/21 Срд 14:10:29 2139683707
>>2139313
>А из-за чего?
Они пилят новую клиент-серверную IDE, это был основной мотив для написание новой IDE. Ну и раз пилят с нуля, заодно решили отказаться от SWING.

>>2139356
Похоже что он.
Аноним 25/08/21 Срд 14:45:57 2139733708
406791901021599[...].jpg 79Кб, 604x604
604x604
>>2118907
пишу на Java и PHP
PHP Symfony ~= Java Spring

и на современном PHP внезапно можно писать высокопроизводительный код. если знать алгоритмы
Аноним 25/08/21 Срд 19:30:19 2140067709
>>2118976
>>2118966
шарп в среднем быстрее Java? тогда почему везде Java, а не он?
Аноним 25/08/21 Срд 19:37:26 2140081710
>>2120728
потому что бекендеры в это время работают
Аноним 25/08/21 Срд 20:07:03 2140132711
>>2140067
Так сложилось исторически.
25/08/21 Срд 20:13:17 2140141712
Аноним 25/08/21 Срд 20:31:20 2140150713
>>2140067
Потому что шарп стал неплохим языком только в последние годы, поэтому у джавы намного больше уже написанного кода.
А для новых проектов все равно выбирают голанг.
Аноним 25/08/21 Срд 21:26:18 2140185714
Аноним 25/08/21 Срд 21:40:59 2140199715
>>2140067
>шарп в среднем быстрее Java?
JIT у Java лучше, выбор GC под разные задачи тоже, в том числе и без STW пауз.

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


Если тупо писать код в одинаковом стиле - Java будет быстрее. Если заморочиться с оптимизациями то тут бы я на C# поставил.
Аноним 25/08/21 Срд 23:23:59 2140281716
>>2119954
>Птица обладает способностью летать, а пингвины и страусы не летают.
>У прямоугольника можно независимо задать ширину и высоту, а у квадрата нельзя.
Ты только что паттерн СТРАТЕГИЯ открыл.

>ООП это дичь, непригодная для моделирования реального мира.
Хорошо, хорошо, но свой не зачёт по ООП пересдавать всё равно прийдётся.
Аноним 25/08/21 Срд 23:59:38 2140308717
>>2140150
>>все равно выбирают голанг.
Голанг выбирают для микрофреймворков, где нужен только перформанс и которые, если что, потом просто выкинут и напишут заново. А если нужно писать что то поддерживаемое - берут джаву/шарп.
Аноним 26/08/21 Чтв 10:25:55 2140534718
>>2119954
Неспособен к этому лично ты, тупой выблядок. Язык здесь ни при чем.
Аноним 26/08/21 Чтв 19:17:02 2141076719
Использовать кафку в виде полу-консистентной распределенной очереди для внутренней работы микросервиса - норм?
26/08/21 Чтв 19:31:18 2141107720
>>2141076
Если тебе просто очередь нужна, то зачем тащить кафку? Возьми activeMq
Аноним 26/08/21 Чтв 19:48:43 2141129721
>>2141107
Затем что кафка уже есть, а про твою хуйню я впервые слышу.
26/08/21 Чтв 20:18:27 2141167722
Аноним 27/08/21 Птн 00:21:27 2141376723
Знание каких паттернов мастхэв для джуна?
27/08/21 Птн 00:28:07 2141380724
>>2141376
Прокси, декоратор, адаптер, может быть ещё стратегия + фабрика
Аноним 27/08/21 Птн 07:29:15 2141475725
Листаю вакансии по джаве. 200к, 250к, 300к и выше. Ниже 100к ещё надо постараться найти чё-то. Даже если выбирать именно джуновские, там все равно в районе тех же 100к вилка. Это пиздёж, чтобы набрать классы соискателей и уже на собесе выкатить им ставку в 17к?
Аноним 27/08/21 Птн 07:40:22 2141476726
Аноним 27/08/21 Птн 07:50:52 2141479727
>>2141380
а билдер и синлетон?
Аноним 27/08/21 Птн 08:55:25 2141494728
>>2141479
Синглтон - это антипаттерн, долбоёб. Иди на фортране синглтоны ебашь, потом охуеешь это говно разгребать. Пиздец, до чего страну скиллбрейнсы довели...
Аноним 27/08/21 Птн 09:01:27 2141495729
>>2141494
но ди фреймворки основаны на синглтонах.
Аноним 27/08/21 Птн 09:20:51 2141501730
>>2141376
ActiveRecord. Нехуй размазывать одну сущность по DAO, энтити и сервисам.
27/08/21 Птн 09:38:59 2141513731
>>2141479
В билдере учить нечего. А синглтон в чистом виде нахой не нужон
Аноним 27/08/21 Птн 09:45:18 2141518732
image.png 44Кб, 708x516
708x516
Аноним 27/08/21 Птн 12:22:17 2141593733
Аноним 27/08/21 Птн 15:52:00 2141765734
Двач сап. Это пиздец. Учу Java / Hibernate / Spring / паттерны
9 месяц, запилил уже около 10 крупных и не очень петпроджектов......... но есть судимость.
Очень боюсь, что проебал все время обучения врустую, так как выбрал enterprise стек и теперь при трудоустройстве рискую быть послан нахуй.
Есть ли у кого нибудь кулстори по устройству на этот стек технологий из личного опыта или из ближайшего окружения?
Аноним 27/08/21 Птн 16:22:39 2141790735
А как хранят данные во всяких соц. сетях, все эти комментарии и прочее? В реляционных базах? Или что-то другое?

В реляционных всегда такие примеры дают, что представляешь что это какой-то интернет магазин, где всякие персональные данные для логина, адрес доставки там и тп
Аноним 27/08/21 Птн 16:50:20 2141820736
>>2141790
В фейсбуках-твиттерах обычно несколько баз (реляционная, графовая, key-value и другие), чтобы хранить в наиболее оптимальном хранилище.
В не настолько масштабных проектах обычно хватает реляционных для всего.
Аноним 27/08/21 Птн 16:50:44 2141821737
>>2141765
Если не соваться в банки и крупные конторы, то пробивать тебя на судимость никто не будет. Иди в мелкие конторки где СБ нет вообще.
Фарту масти.
Аноним 27/08/21 Птн 16:55:53 2141828738
>>2141821
> мелкие конторки где СБ нет вообще.
И жабы
Аноним 27/08/21 Птн 16:57:24 2141829739
Аноним 27/08/21 Птн 17:00:37 2141835740
Может есть варик в конторы, где необходимо предоставить справку о несудимости, ибо если требуют справку - то сами не могут пробить, ибо если могут - нахуй справка?
цена вопроса - 10к руб
Аноним 27/08/21 Птн 17:37:33 2141865741
>>2141828
Всяких "Рога и Копыта" которые пишут сайтики что-то более сложное чем визитка на жабке хватает. Ну да тут надо быть фулстеком, а не чисто бекендером.
Аноним 27/08/21 Птн 17:52:11 2141882742
>>2141765
Всякий общественно опасный скам должен страдать
Аноним 27/08/21 Птн 17:58:10 2141887743
>>2141882
согласен, я уже заплатил штраф 8к рублей)
Аноним 27/08/21 Птн 17:58:49 2141889744
Аноним 27/08/21 Птн 18:01:32 2141891745
Худо бедно начал вкатываться в джаву лет 5 назад, дропал на месяцы, потом возрождал. Потом на работе стали появляться микрозадачи автоматизации (сраный инженегр просто), что позволило чаще ее использовать.
В итоге сейчас я вроде как знаю core (само собой синтаксис, включая всякие лямбды, интерфейсы, дженерики и вообще всю эту хуиту, стандартную библиотеку вроде коллекций, И/О, Stream API использовал частенько), немного Свинга/AWT (на уровне напилить оконное говно для тёти маши, чтоб она могла в нем расчитать какую-нибудь зарплату алкашу-петровичу, с менюшками, вкладками, сериализацией настроек и всей этой хуйней), связь с базами данных через JDBC там же (на уровне отправить запрос, получить рекордсет, пробежаться по нему, если надо какие-нибудь кодировки исправить).
Вопрос, собственно, такой, могу я съебать нахуй из заводорабов хотя бы на джуна?
27/08/21 Птн 18:09:38 2141902746
>>2141891
Учи спринг. Без него работы на жаве почти нет
Аноним 27/08/21 Птн 18:13:00 2141910747
>>2141902
Что, даже ждунов без спринга не берут? Сколько надо по ощущениям усилий чтоб вкотитьсяя в спринг, в процентах от самого core джавы (если считать его частью самые нужные части стандартной библиотеки)
Аноним 27/08/21 Птн 18:17:09 2141915748
27/08/21 Птн 18:22:25 2141925749
>>2141910
>>2141915
Да.
Тебе не нужно учить, как там вся магия работает. Просто понять, как этим пользоваться. В кишках уже потом покопаться успеешь
Аноним 27/08/21 Птн 18:49:01 2141960750
>>2141925
В принципе, я его немного трогал когда-то. Олсо, в одном из своих проектов рабочих делал некоторые самодельные похожие вещи, с помощью рефлекшен API, было интересно.
Окей, возьмусь. Просто до меня через руки гораздо лучше доходит, а никакого окружения в котором был бы спринг нет.
Аноним 27/08/21 Птн 21:00:33 2142088751
Путьгероя3.png 489Кб, 1957x1636
1957x1636
>>2141910
>>даже ждунов без спринга не берут?
И что ты будешь на проекте делать где все на спринге? Начинай сразу со спрингбута - быстро разберешься.
>>Сколько надо по ощущениям усилий чтоб вкотитьсяя в спринг
146%. хз как тебе ответить - там за месяц можно научиться круды писать запомнив десяток аннотаций, а можно годами кишочки изучать. Сможешь написать круд, прикрутить аутентификацию, базу данных, рест апи - считай знаешь достаточно для вката, что дальше изучить тебе уже на собесе пояснят. Правда если ты будешь такими темпами все учить - там от джуна уже начнут кубернетесы с редисом в совершенстве требовать и ты пойдешь на новый круг.
Аноним 27/08/21 Птн 22:12:53 2142186752
Эх, как же хорошо вернуться к Джаве. К нормальным топикам с бекенда. На лето уходил в запой в Андроид, но от бесконечной ебли ради отображения какого-то сраного списка начало пригорать, гугол такое там навертел, что не позавидуешь.


Чего собсна зашёл - хотел спросить по докеру, как вообще это накатить и как это работает.
Правильно ли я понимаю, что есть некая удалённая машина, на которую можно навернуть Ось, Jvm и всё дерьмо, которое потребуется для развертки серва?

И вопрос где задёшево арендовать такую машинку для практики.
На PaaS что-то деплоил, но все эти паас, саас - это всё не то. Мне хочется понять как на нулевую машину это поставить и запустить.
Если где-то проебался поправьте.
Аноним 27/08/21 Птн 22:15:31 2142189753
один вопрос и он будет сложный.

если я выучу вот это

https://www.amazon.com/Java-Complete-Reference-Herbert-Schildt/dp/0071808558

потом вот это

https://www.amazon.com/OCA-Java-Programmer-Certification-Guide/dp/1617293253

потом сдам вот эти два экзамена

https://education.oracle.com/oracle-certified-professional-java-se-8-programmer/trackp_357


у меня будет шанс устроится работать в сам ОРАКЛ В США?
Аноним 27/08/21 Птн 22:32:37 2142209754
>>2142186
Докер - это просто виртуалка (с некоторыми особенностями), как виртуалбокс, можешь запускать локально на винде, интернет для этого не нужен. На виртуалку ты специальными скриптами ставишь серверный софт, запускаешь и можешь уже подключаться и работать. Либо тащишь готовый образ с докер хаба. Нужно это всё, чтобы упростить развёртывание сервисов, раньше надо было на сервере ставить и настраивать СУБД, очереди, сервер приложений, деплоить туда сами приложения и запускать, а сейчас достаточно подготовить один раз докер-образы, на нулевой сервер установить только докер, подтянуть эти образы, и всё.
Аноним 27/08/21 Птн 22:40:33 2142218755
Аноним 28/08/21 Суб 00:44:59 2142343756
>>2142209
>это просто виртуалка
Какая ещё виртуалка? А разве это не обёртка над линкусовыми контейнерами?
Аноним 28/08/21 Суб 00:47:06 2142344757
Привет, аноны.
Наткнулся на такой вот кусок кода:

public static Connection connection() throws SQLException {
final Connection connection = DriverManager.getConnection("jdbc:h2:mem:test", "sa", "");
connection.setAutoCommit(true);
return connection;
}


Зачем connection внутри метода обозначен final? Что это даёт?
28/08/21 Суб 01:05:26 2142352758
>>2142344
Внутри этого метода нельзя поменять ссылку Connection на самом деле просто загрязняет код
Аноним 28/08/21 Суб 01:27:53 2142364759
>>2142344
Некоторыми считается, что вообще все переменные надо по дефолту делать final, типа будет меньше ошибок. И только если надо менять значения после присваивания, final удаляют.
Аноним 28/08/21 Суб 01:38:14 2142368760
>>2142352
>на самом деле просто загрязняет код
Я тоже так подумал, поэтому и спросил. Спасибо.

>>2142364
Понял, спасибо анон. Вроде бы разумный аргумент, но на практике пока только первый раз чужой код встретил, с файналом внутри методов.
Аноним 28/08/21 Суб 08:06:47 2142398761
>>2142352
То что жаба загрязняет код это все знают.
Аноним 28/08/21 Суб 08:24:01 2142404762
>>2142344
>И что ты будешь на проекте делать где все на спринге?
А что, программировать какую-то логику, рефакторить какой-то мусор, постепенно вкатившись в сам спринг - это вообще не надо уже?
Аноним 28/08/21 Суб 08:35:44 2142406763
>>2141835
скорее всего в сб сидит бывший мент и пробивает залетух через своих старых друзей из органов, но можешь и проскочить. Удачи, анончег
Аноним 28/08/21 Суб 09:58:09 2142432764
>>2142189
>устроится работать в сам ОРАКЛ В США
ОРАКЛ как контора говно, уже несколько лет как сдувается вместе с IBM. Хочешь в США, готовься в к фаангам или ищи релокейт (тот же епам перевозит сеньоров и тимлидов на зп 100к до налогов в калифорнию, лол).
Аноним 28/08/21 Суб 10:02:28 2142434765
>>2141821
В мелких конторах жабы нет и не было, да и новых проектов на жабе в крупных конторах тоже уже почти нет. С судимостью лучше в пыху или js вкатываться, где рынок большой и какому-нибудь кабану будет вообще похуй на прошлое сотрудника, лишь бы код писал. В энтерпрайзе сейчас даже проверки на полиграфе делают во всяких банках, думаю, с судимостью туда лучше не лезть.
Аноним 28/08/21 Суб 10:03:59 2142436766
>>2141475
Да, обычно реальная зп на 20-30% ниже чем указано в вакансии. А если в вакансии пишут потолок по зп, то готовься к тому, что из указанных 250к тебе предложат 120-150.
28/08/21 Суб 11:45:59 2142507767
16301382371331.png 422Кб, 566x800
566x800
А вот и пикча про спринг
Аноним 28/08/21 Суб 14:05:23 2142669768
>>2142434
>В мелких конторах жабы нет и не было, да и новых проектов на жабе в крупных конторах тоже уже почти нет.
Иди нахуй Говнопетух, твой тред в другом месте.
Аноним 28/08/21 Суб 15:03:01 2142742769
>>2142507
а есть про спринг-бут?
Аноним 28/08/21 Суб 21:54:34 2143157770
.png 560Кб, 566x800
566x800
28/08/21 Суб 22:43:46 2143210771
>>2143157
Одобряем всем тредом
Аноним 29/08/21 Вск 02:46:08 2143377772
>>2141475
>джуновские, там все равно в районе тех же 100к вилка
Это только в ДС в некоторых жирных конторах, типа крупных банков/телекома.
В миллиониках стандартная зп джуна 30-45. Почти всё - спринговый стек.
Аноним 29/08/21 Вск 16:34:50 2143875773
>>2116244 (OP)

Мне 34 стукнуло пара начинать учить программирование штобы работать. Братва это нормально если я выбрал джаву потому что название прикольное??
Аноним 29/08/21 Вск 16:38:12 2143877774
>>2143875
Имхо, самое прикольное название у лиспа.
Аноним 29/08/21 Вск 18:00:22 2143963775
Как изучать гит? Я должен освоить командную строку и все команды? Или можно пару вшитых в идею кнопок нажимать не задумываясь особо? Как правильно?
Аноним 29/08/21 Вск 18:01:18 2143964776
>>2143963
Может есть ссылка какая-нибудь понятная, куда-нибудь?
Аноним 29/08/21 Вск 18:11:22 2143971777
>>2143963
Все не надо, реально и половины юзать не будешь. Обычно да, хватает идеи, надо уметь делать мышкой фетч/пулл/пуш, коммитить, создавать ветки и перключаться между ними. Смысл всяких ребейзов всё равно не поймёшь, не поработав на проекте, где больше одного разраба.
Аноним 29/08/21 Вск 18:25:44 2143980778
>>2143963
Идея кстати реально самый удобный UI-клиент для гита. Особенно interactive rebase - мое почтение.
Аноним 29/08/21 Вск 18:35:54 2143997779
>>2143875
Нет, это долбоебизм. Из тебя уже потенциально хуёвый программист. Потому что программист - это по сути решатель проблем с использованием доступных средств. Если всей силы интернета тебе хватило только на то, чтоб выбрать язык по прикольности названия, и высраться на двач, то прогноз так себе.
Покормил?
Аноним 29/08/21 Вск 18:46:09 2144003780
.png 39Кб, 577x456
577x456
Ух, скоро сентябрь, а это значит что? Правильно, JAVA 17 LTS!
-☺️☹️❤️‍♂️‍♀️️☀️⭐☂️✨⚽️⚠️➡️⬇️✝️♀️♂️♾️❓❗⚕️✔️️‍::::✊
Аноним 29/08/21 Вск 18:49:36 2144006781
>>2144003
Ухх, щас как скакнем сразу с 8 на 17 и жопа отлетит.
Аноним 29/08/21 Вск 19:34:37 2144040782
Почему грейдл в идее помечает папки main и test как модули?
Аноним 29/08/21 Вск 20:01:23 2144072783
>>2144003
>JEP 403: Strongly Encapsulate JDK Internals
>It will no longer be possible to relax the strong encapsulation of internal elements via a single command-line option, as was possible in JDK 9 through JDK 16.
Ммм... cglib использует как раз такие операции. Как же все обосрутся с переходом на 17 в первую очередь Спринг. Тем более что cglib последний раз релизили в 2019 https://github.com/cglib/cglib/releases
Аноним 29/08/21 Вск 20:31:49 2144091784
>>2144040
Ты когда импортировал проект не снял галочку separate per module или какая то такая хуйня
29/08/21 Вск 21:13:29 2144114785
>>2144003
>>2144006
>>2144072
Все равно 17 можно будет начинать пользоваться только через полгода-год
Аноним 29/08/21 Вск 21:25:01 2144119786
>>2144003
Это просто позор а не обновление. Стыдно должно быть такое делать.
Аноним 29/08/21 Вск 22:03:14 2144136787
Так че там за целых 9 версий то изменилося?
Можно топ-5 нужных всем спрингошлепам фич?
Аноним 29/08/21 Вск 22:07:25 2144138788
>>2144136
List.of
Process.pid
Мультилайн строки
HTTP клиент
29/08/21 Вск 23:01:41 2144185789
>>2144136
Лист оф сет оф мап оф
Доп методы с опшоналами
Удобняшки для функциональных интерфейсов
Тестовые блоки
Рекорды
30/08/21 Пнд 00:53:59 2144265790
>>2143963
Первые три главы книги "Pro Git" прочитай. Работа в консоли сильно упрощает понимание того, что вообще гит делает. Это не так сложно, в книжечке все разжевано, будешь потом без труда пушить без гуя.
Аноним 30/08/21 Пнд 01:55:05 2144322791
короче идея сделать учебную приложу с 2 табличками, простыми крудами и 1 транзакцией.
И сделать ее в многих реализациях доступа к базе. Начиная от голого jdbc(написал), потом jdbcTemplate(пишу), а в конце data-jpa querydsl.
Думаю нужно больше реализаций в середине. Но какие точно нужно брать? Голый хибер? HQL? Что там еще есть? Пока понял, что Criteria API точно не нужна.
Аноним 30/08/21 Пнд 02:09:13 2144324792
Аноним 30/08/21 Пнд 02:14:07 2144326793
Аноним 30/08/21 Пнд 07:29:46 2144362794
zx.jpg 21Кб, 544x208
544x208
Как так может быть, что в Идее все запускается, а после сборки проекта jar не запускается (пикрил)?
Если из сборки выкинуть jdbc драйвер ms sql то все нормально (но само собой не работают функции mssql - ошибка no suitable driver)
Аноним 30/08/21 Пнд 07:57:17 2144365795
>>2144138
>>2144185
Так это все было до 17, хттп клиент вообще в 11. Лист оф даже хз сколько лет уже пользуюсь.
Аноним 30/08/21 Пнд 07:58:18 2144366796
>>2144365
> за 9 версий
Блять в глаза долбоюсь
Аноним 30/08/21 Пнд 10:47:52 2144451797
>>2144138
>Process.pid
Это да, прям мастхев.

>>2144362
У тебя проблема с загрузкой нейтив драйвера для SQL Server. Попробуй для начали положить в одну папку твой jar и sqljdbc_auth.dll
Аноним 30/08/21 Пнд 11:15:23 2144464798
>>2144451
>попробуй положить
это не помогло
Аноним 30/08/21 Пнд 11:56:59 2144487799
>>2144362
Ты с каким classpath/modulepath свой jar запускаешь?
Аноним 30/08/21 Пнд 12:04:08 2144493800
>>2144487
прошу прощения что я такой дебил, но где это посмотреть и настроить в идее?
Аноним 30/08/21 Пнд 12:19:17 2144506801
image.png 21Кб, 772x279
772x279
image.png 33Кб, 1412x141
1412x141
>>2144493
В последних версиях идеи эта хуйня реализована очень неочевидно. Примеры пикрелейтед.
Аноним 30/08/21 Пнд 12:27:25 2144515802
>>2144464
Тогда устанавливай его явно
java -Djava.library.path="." -jar

и запускай из консоли, чтобы видеть все сообщения
Аноним 30/08/21 Пнд 12:43:13 2144529803
>>2144506
Ну при запуске в идее classpath содержит в себе адреса всех библиотек подключенных, и запущенная через Run приложуха работает отлично. Но после сборки артифакта все равно ничего не работает, хотя собираю я "from modules with dependencies". Скорее всего я конечно что-то плохо понимаю.
Аноним 30/08/21 Пнд 12:48:08 2144532804
>>2144515
да где это настроить-то? Я тупой, всегда просто делал в project structure собарть Jar и указывал класс с main, и все работало
Аноним 30/08/21 Пнд 13:07:01 2144548805
>>2144532
Мы, походу, не очень понимаем, что ты делаешь. А ты не очень понимаешь, что мы от тебя хотим. Давай попробуем преодолеть это недопонимание.

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

Так вот, открой и проверь.
Аноним 30/08/21 Пнд 13:11:15 2144553806
>>2144548
Да, это я уже делал пару тысяч раз наверное. Все там лежит по местам, как задано в самой структуре библиотеки.
Еще я когда гуглил, нашел что-то вроде того, что возможны проблемы из-за того что там есть некоторые мавеновские вещи в META-INF, там оно действительно есть, но что с этим делать я не понимаю
Аноним 30/08/21 Пнд 13:15:31 2144560807
>>2144548
Еще есть такая особенность, что проект одновременно использует firebird и mssql, файрбердовская часть работала, пока я в попытках все исправить не снес джаву, и не переустановил. После этого джарники вообще перестали запускаться, пока я не переделал языковой уровень на джаву-8. Теперь снова все стало работать, но окно запускается каким-то уменьшенным, и не работает уже и коннект к файрберду (так же нет драйвера будто)
Аноним 30/08/21 Пнд 13:25:55 2144575808
Аноним 30/08/21 Пнд 13:30:35 2144578809
>>2144575
Да я спринг отродясь не трогал. Я как раз до него еще не дошел в своей деградации линии развития
Аноним 30/08/21 Пнд 14:50:32 2144680810
>>2144532
Я так понимаю "все работало" подразумевает что ты щелкал в проводнике на файл и он запускался, да?

Если так, то
1. Выполни на дефолтной JDK:
System.out.println("java.library.path: " + System.getProperty("java.library.path"));
2. Ты получишь список каталогов где JDK ищет dll, там наверняка будут системные виндоуз, вот и закинь в один их этих каталогов dll с драйвером.
Аноним 30/08/21 Пнд 17:01:18 2144825811
>>2144680
>>2144680
Было так (постараюсь покороче)
Проект подразумевал использование Firebird. Я скачал jaybird, подключил его, все работало, в том числе после сборки. Потом понадобилось подключить еще одну базу, которая на mssql. Все запрограммировал, в IDE все работало, но после сборки артефакта и его запуска, джава кидала исключение при попытке активировать функционал mssql "не найден подходящий драйвер".
После переустановки джавы вообще все отказалось запускаться в любом виде. Тогда я убрал некоторый синтаксис 14 версии, и опустил до 8-й. Но по прежнему джарник даже не запускался. Опытным путем выяснил, что если выбрасывать из файлов, которые идут в сборку, библиотеку mssql, то оно хотя бы запускается, но функционал firebird не работает с той же ошибкой, с которой раньше падал mssql. В итоге у меня сейчас только свинг-шкура, но ничего не работает.
Щас сделаю реквест
Аноним 30/08/21 Пнд 17:19:43 2144846812
>>2144680
Закинул. Ничего не изменилось.
Ладно, спасибо за помощь, анон. Буду ковыряться как-то понемногу
Аноним 30/08/21 Пнд 17:47:36 2144876813
Я что-то не понял, жаба уже не может запуститься на современных компьютерах?
Аноним 30/08/21 Пнд 17:56:37 2144891814
>>2144825
То что ты сейчас описал, не соответствует тому, что показано на скриншоте >>2144362
хотя оно сразу было так, я просто не обратил на это внимание

Фраза "no suitable driver" говорит о том, что в DriverManager не зарегистрирован драйвер подходящий для указанной базы. Варианта 2:
1. jar с драйвером отсутствует в classpath запуска.
2. jar с драйвером старый и в нем нет service дескриптора и надо руками его регистрировать.
В main() напиши
Class.forName("org.firebirdsql.jdbc.FBDriver"); - для Firebird
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); - для SQL Server
Если получишь ClassNotFoundException - значит jar с драйвером отсутствует в classpath. Если UnsatisfiedLinkError значит не найдена dll
30/08/21 Пнд 18:29:23 2144933815
>>2144876
Да. Все так. Надо ставить вин хп
Аноним 30/08/21 Пнд 18:30:28 2144937816
>>2144933
Не зря диск хранил все эти годы, лицензионный.
Аноним 30/08/21 Пнд 18:32:14 2144941817
>>2144933
Причём обязательно 32-битный, на 64 не запустится.
Аноним 30/08/21 Пнд 18:42:33 2144956818
>>2144891
Тут такая странная хрень:
В IDE (где и так все всегда нормально) этот кусок с регистрацией драйверов нормально работает. Но работает и без него, почему-то. Может потому что я уже их раньше регистрировал, я не понимаю
На собранном джарнике происходит такое:
1)Если регистрацию оставить, и собирать без mssql, то при запуске джарника ничего не происходит, на микросекунду курсор меняется на курсор-часы, и потом ничего
2) если закомментировать регистрацию и пересобрать, то все запустится, но будет no suitable driver.
В первом случае это, как я понимаю, не эксепшен, потому что на ловлю эксепшена там поставлен JOptionPane.showMessage, и он не вылазит. Если я в этот блок помещаю поиск реально выдуманного класса, то эксепшен срабатывает. файл FBDriver реально есть по имени со всеми пакетами, по которому я его пытаюсь извлечь.
Аноним 30/08/21 Пнд 18:44:45 2144962819
>>2144891
И да, то что на скриншоте получается, если в сборке остаются библиотеки mssql. С ними вообще не стартует, хотя я качал их несколько разных "поколений" с оф сайта (9.2, 7.0,.. etc)
Аноним 30/08/21 Пнд 19:02:49 2144977820
>>2144891
Я кретин. Если запускать из командной строки то эксепшен видно:
для jaybird все понятно:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/firebirdsql/jdbc/FBDriver has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

для mssql:
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at Test.main(Test.java:9)

Аноним 30/08/21 Пнд 19:10:06 2144986821
ну вы и чучи тут
Аноним 30/08/21 Пнд 19:14:38 2144992822
>>2144891
ну и наконец что происходит при попытке запуска состояния, которое приводило к скриншоту:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attribute
Аноним 30/08/21 Пнд 20:12:55 2145058823
>>2144986
Могли бы грэдл юзать, там все автоматически собирается уже 10 лет.
Аноним 30/08/21 Пнд 20:12:56 2145059824
Аноним 30/08/21 Пнд 20:29:37 2145076825
Почему с ебаным грейдлом я должен указать плагин application в buildSrc и затем еще и во всех модулях?
Аноним 30/08/21 Пнд 20:31:47 2145078826
БИЗНЕС-ЛОГИКА В СКРИПТАХ GRADLE
Аноним 30/08/21 Пнд 22:40:54 2145181827
>>2144986
>ну вы и чучи тут
Мы куча, которая heap.
Аноним 30/08/21 Пнд 22:58:14 2145188828
>>2145076
Указывай через plugins там где он нужен. В чем батхерт то?
Аноним 30/08/21 Пнд 23:03:10 2145196829
>>2145188
>ыыы указывай руками то что в мавене делается автоматом грейдл такой крутой
Аноним 31/08/21 Втр 06:24:43 2145420830
>>2145059
Не могу, на всех машинах пользователей джава уже развернута какая есть. Но я взял более низкую версию Jaybird, и хотя бы эту половину логики в джарнике, наконец-то, завел.
>У тебя не совместимые версии jar и dll. Скачай все пачкой отсюда
Все оттуда и скачивалось, и не раз. Погуглил на тему что какие-то там проблемы с манифестами, и типа можно что-то там поделать с maven-shade-plugin, но я вчера накатил мавен на проект, не умея им пользоваться, и чуть вообще все не сломал к хренам. Пока сижу дальше думаю.
Еще по какой-то причине перестал запускаться джарник из консоли, говорит "Could not find or load main class", хотя из проводника ОС отлично запускается.
Аноним 31/08/21 Втр 07:51:56 2145424831
Аноним 31/08/21 Втр 09:02:03 2145431832
>>2145424
>Another, discouraged, way to share build logic between subproject
Научился бы читать хуйню, которую кидаешь.
Аноним 31/08/21 Втр 11:24:08 2145538833
>>2145431
Сложно тебе придется в программировании
Аноним 31/08/21 Втр 13:09:23 2145617834
>>2145420
>Не могу, на всех машинах пользователей джава уже развернута какая есть.
Вообще-то сейчас, все приложения идут со своей JDK, чтобы не зависеть от системной.

>>2145420
>Погуглил на тему что какие-то там проблемы с манифестами
У меня не винда, не могу проверить. Но вроде эта херня нужна только для аутентефикации пользователя через системную учетку Windows.
Аноним 31/08/21 Втр 14:44:19 2145718835
>>2142209
Понятно.
А ещё вопрос по теме,
есть ли смысл учить докер или лучше сразу кубернетис?
Насколько я понял, он сложнее в освоении, но также есть тендеция к вытеснению докера.
Аноним 31/08/21 Втр 14:52:02 2145725836
>>2145718
Кубернетес работает поверх докера. Задачи у них разные, докер - про сами образы, а кубер - про разворачивание этих образов на сразу нескольких нодах.
А зачем тебе это? Это всё девопсная тема, в разработке всё равно будешь юзать только докер.
Аноним 31/08/21 Втр 16:25:27 2145796837
image.png 89Кб, 833x361
833x361
СУКА, почему java.awt и java.swing - это такой кал говна из жопы? Хотел написать простое приложение, которое бы работало в трее под линуксом (ubuntu 20.04 LTS Gnome X11), так соси хуй. И еще наткнулся на это.
Не проще ли выпилить всю графику нахуй? Она, очевидно, уже сильно устарела и не справляется с современным зоопарком интерфейсов. Зачем тянут из версии в версию GUI подсистему, которая еще в 90-х была спроектирована и для современного мира не годится?
Аноним 31/08/21 Втр 16:31:21 2145810838
>>2145796
Тут я наверное погорячился, ибо тот же электрон имеет схожие ограничения. И вообще, да, с таким зоопарком справляться очень тяжело и вообще GUI за пределами винды и макоси - это самый настоящий кошмар.
Тогда почему бы не обеспечить поддержку винды, макоси, и gnome + kde, а остальное послать нахуй? Все равно других графических оболочек почти и нет, а те что есть используются малым количеством людей. Тайловые пидорасы любители i3wm пусть сами долбятся с поддежкой для своих поделий.
Аноним 31/08/21 Втр 16:53:07 2145830839
>>2145796
> Не проще ли выпилить всю графику нахуй? Она, очевидно, уже сильно устарела и не справляется с современным зоопарком интерфейсов. Зачем тянут из версии в версию GUI подсистему, которая еще в 90-х была спроектирована и для современного мира не годится?
Так не используй. Её почти не дорабатывают. Выпиливать рано, ибо хватает софта, написанного на этом говне ещё тогда, когда из альтернатив был только борланд хотя выпиливанию jaxb это не помешало.
Аноним 31/08/21 Втр 17:04:56 2145847840
>>2145830
>ибо хватает софта, написанного на этом говне ещё тогда, когда из альтернатив был только борланд

Понятно, что хватает. Но, если в 18 версии выпилят весь GUI, то в чем проблема разрабам дальше пердеть 17 жабе пока их продукт окончательно не сдохнет или его не перепишут на что-то другое?qt/electron
Аноним 31/08/21 Втр 17:06:08 2145849841
Например, те же IDE от джетбрейнс. Всякий свинг гуи можно оставить и на 11 джаве. А вот штуки, которые занимаются синтаксическим анализом и прочими вещами, на ГУИ никак не завязаны, их можно перекатывать и дальше на новые жабы.
Аноним 31/08/21 Втр 19:03:24 2145934842
>>2145617

Вроде это джава сама проверяет какие-то там дайджесты внутренностей джарника, хз. Короче я "справился" с этим дерьмом, если так можно сказать, выбрав вариант сборки просто в директорию, а не в один джарник. Теперь все это говно лежит рядом с запускаемым джарником и вполне себе работает. Это не очень большая проблема. Там правда вылезло еще одно дерьмо в итоге - на серваке конторы TLS протокол устаревший, и все это дерьмо отказывается работать (джава работает с более новым), но там уже проблема админов базы, хрен с ним.
Правда, сама IDE умеет как-то согласовывать все это с сервером (пишет TLS 1.2 was negotiated), хз, можно ли это согласование как-то программно настроить.
Короче, спасибо тебе, анон, за помощь, в итоге все более-менее работает. Миллион чая.
Аноним 31/08/21 Втр 22:25:47 2146112843
Уважаемые жабогоспода, подскажите, пожалуйста, про закрытие ресурсов JBDC:
Если у меня есть открытый Сonnection, а затем я получаю из него Statement в try-catch with resources блоке, примерно так:
Connection connection = StaticDataHelper.getConnection();
try (PreparedStatement statement = connection.prepareStatement("insert into...")) { }
То закроет ли AutoCloseable мой connection, вместе со statement?
Или connection нужно будет всё-таки закрыть отдельно?
Аноним 31/08/21 Втр 22:37:12 2146118844
>>2146112
Не закроет, можешь вызвать connection.isClosed() внутри блока и после, чтобы убедиться.
Аноним 31/08/21 Втр 22:43:05 2146131845
>>2146118
Понял, благодарю, анон.

Вообще плохо понимаю дизайн автоклозейбла. Вроде бы он иногда закрывает не только свои ресурсы, например, вложенные стримы. Но чтобы конкретно понять, что он делает, нужно лезть в класс с реализацией и смотреть, что делает close(). Каких-то общих правил/гайдлайнов поведения от оркала, хотя бы для стандартных библиотек, я пока не находил.
Аноним 31/08/21 Втр 22:51:41 2146143846
>>2146131
Можно всё закрывать явно или через try-with-resources, не рассчитывая, что зависимые ресурсы закроются "родительскими". Обычно не страшно, если close() вызовется дважды, при этом ничего не произойдёт.
Аноним 31/08/21 Втр 22:54:22 2146148847
>>2146143
Спасибо за совет, сам сейчас примерно так и стараюсь делать, в большинстве случаев.
Аноним 31/08/21 Втр 23:03:25 2146168848
>>2145725
Ну раз не надо, тогда докером ограничусь.
Зачем мне вообще? Уже писал, хочу развернуть какой-нить сервис/арендовать удаленную машину где-нибудь...
Аноним 31/08/21 Втр 23:04:08 2146170849
>>2145796
Юзай JavaFx, она оч простая и дружелюбная.
Аноним 31/08/21 Втр 23:07:27 2146178850
>>2146168
Для пачки сервисов на единственной машине вполне хватит docker compose.
Аноним 31/08/21 Втр 23:25:58 2146210851
>>2146178
Прально ли понимаю, что кубер нужен для "высоких нагрузок", когда арендуется пачка серваков, и он всё это дело балансирует по нагрузке и тп?
Я нуб, если что.
Аноним 31/08/21 Втр 23:27:55 2146215852
Аноним 01/09/21 Срд 00:28:20 2146246853
Начал пилить плагин для поддержки одного языка в идее, а потом узнал, что для него уже есть реализация language server, и в идее есть плагин для этого. Что теперь делать, вешаться?
Аноним 01/09/21 Срд 00:48:35 2146256854
Делаю пет проджект, интернет магазин. Сущность product, очень сильно разрослась, что с ней делать по грамотному надо? Оставлять такой? И ещё я хочу, чтобы на мейн пейдже была фотка с товаром, и названием. Я должен сделать дто, которое, дергает пару полей из этой огромной сущности, например, дтоФорМэйнПейдж, потом если нажать на товар, то выдергивается, некое другое дто, и например в окне эдит ещё одно, третье дто? Я правильно понял концепцию дто? Оно для того чтобы не дергать всю сущность из бд?
Аноним 01/09/21 Срд 03:17:58 2146324855
Аноним 01/09/21 Срд 05:37:13 2146337856
>>2146256
3D-экшон суть такова
Аноним 01/09/21 Срд 05:47:29 2146341857
>>2146143
>>2146118
>>2146131
Если уж зашла такая тема, скажите, как .close поместить в finally? Ведь эксепшен бросается в конструкторе, и соответственно создать его вне блока try нельзя, иначе как инициировав как null. Но в таком случае, скоуп, где переменная существует, не охватывает finally, и там для него нельзя вызвать закрытие. А если вызвать его для нулл, то будет NPE. Я так понимаю, что это значит, что вообще нет надобности ставить .close в finally в этом случае, потому что если эксепшен произойдет в конструкторе, то коннекшен гарантировано не будет создан, и уж тем более помещен по адресу переменной? То есть в этом случае достаточно всегда вызывать .close в конце try?
Аноним 01/09/21 Срд 06:07:02 2146342858
Есть ли смысл оторваться от спринга и потыкать веточкой в целях обучения wildfly, написав небольшое веб-приложение, или java ee уже совсем все?
Аноним 01/09/21 Срд 07:36:28 2146370859
>>2146256
Как сущность делать правильно?
Аноним 01/09/21 Срд 07:49:25 2146382860
>>2146256
Неудобный вопрос для фулстэк-крудошлёпов (джава-мартых)...
Аноним 01/09/21 Срд 08:10:34 2146399861
>>2146341
Для autocloseable в try-with-resources ничего делать в finally не надо, а так что-то подобное:
MyType x = null;
try {
x = new MyType();
...
} finally {
if (x != null) {
x.close();
}
}
01/09/21 Срд 08:34:25 2146409862
>>2146246
> Что делать
Перед тем как писать свой велосипед смотреть, какие велосипеды уже есть
Аноним 01/09/21 Срд 10:34:54 2146570863
>>2146409
LSP в идее хуево поддерживается.
Аноним 01/09/21 Срд 11:34:24 2146633864
>>2146399
а если так:
MyType x = null;
try {
x = new MyType();
...
x.close();
}

будет хуже что ли?
Аноним 01/09/21 Срд 11:43:30 2146638865
>>2146633
Да, до close() может не дойти, эксепшен кинется раньше.
Аноним 01/09/21 Срд 12:49:15 2146699866
>>2146638
Эксепшен кинется в конструкторе, а значит до оператора присвоения в переменной все равно не дойдет. А если дошло, то эксепшена уже точно не случилось, если только у тебя нет где-то ниже еще методов кидающих эксепшен
Аноним 01/09/21 Срд 16:27:25 2146954867
>>2146699
В этом и суть try-with-resources, чтобы ресурс закрылся вообще в любом случае, в результате неважно чьего сбоя или нормального завершения.
Как запилить механизм сохранения со стороны Back end 01/09/21 Срд 17:32:34 2147044868
Ситуация следующая.
Java11,Spring,SQL + Front.
На Фронте есть табличка Users.
---------
Вася
Петя
Коля
---------
Порядок запроса сортировки алфавит.

Есть Drag & Drop на фронте.
Какой то Аноним мышкой на экране тащит Васю вниз.

И выходит
--------
Петя
Коля
Вася
------------
Такой порядок должен быть сохранён в SQL БД.

Вопрос как так на беке это сохранять.
Я подумал задать им порядковый номер.
1,2,3,4,5 и так до Луны.

Перетащил я Петю с №1 на место Васи на №3.
Тогда у всего списка меняются № порядковые.

И если Вася уйдет в середину. а не в конец.
Это получается всю таблицу трясти надо.

Шо делать ? Памагитя.
Аноним 01/09/21 Срд 17:42:01 2147049869
>>2147044
Как насчет связного списка? Храни имя, id и id следующего имени. Вставка в центре или замена вроде будет алгоритмически простой.
Аноним 01/09/21 Срд 18:10:05 2147079870
>>2147049
Нихуя ты умный, системный аархитектор наверное? А что в этом треде забыл?
Аноним 01/09/21 Срд 18:23:49 2147097871
>>2147079
Ты может пояснишь хуле в решении плохого? Почему в БД так хранить нельзя?
Точно знаю, что иерархические структуры так и хранят, через id и parent_id.
Аноним 01/09/21 Срд 18:26:04 2147101872
>>2147097
А с чего ты взял, что в нем есть что-то плохое?
Аноним 01/09/21 Срд 18:44:01 2147131873
>>2147079
Какой-то пассивно-агрессивный пост.
Аноним 01/09/21 Срд 19:18:40 2147163874
>>2146954
Но мы сравниваем не с трай-с-ресурсами, а олдовую манеру вызова, только с отличием где закрывать поток - в конце трая, или в финалли.
Можно подытожить так: если машина действует строго в соответствии со спецификацией, то разницы вообще никакой нет. Если же просто преследовать хороший стайл, то лучше все же закрыть в финалли, потому что в этом случае будут отработаны в том числе и те возможные исключения, которые брошены не в конструкторе. И даже если порядок работы конструктора и присвоения как-то хитро проебан, все равно произойдет попытка закрытия.
Аноним 01/09/21 Срд 19:24:53 2147177875
Если уж тут все такие гении касательно эксепшенов, если в try-with-resources используется несколько вызовов конструкторов объектов autoclosable, то закроются все из них в итоге, или только самые первые/последние/какие-то еще?
Например я сериализую какое-то говно вот так:
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("Config.ini"))){---code here---;}
какие потоки закрыты будут? все? тот на который есть явная переменная?
Аноним 01/09/21 Срд 19:35:33 2147196876
>>2147177
Тот, на который есть явная переменная, остальные зависят от реализации.
Аноним 01/09/21 Срд 19:37:52 2147197877
>>2147044
На первое сентября уже домашку задали?
Аноним 01/09/21 Срд 19:45:53 2147209878
>>2147196
Но я такое дерьмо встречал в руководствах в интернете, а выходит что объект аргумент, который никуда не присваивается, вообще невозможно закрыть?
Аноним 01/09/21 Срд 19:49:52 2147215879
>>2147177
Посмотри реализацию метода close у ObjectInputStream. У всех вложенных стримов будет вызван close по цепочке.
Аноним 01/09/21 Срд 20:08:22 2147228880
>>2147044
Как вариант можно ещё тупо хранить упорядоченный массив айдишников юзеров хоть в .тхт файле, хоть в отдельной таблице (тоже в массиве).
При изменении порядка тупо перезаписывать его полностью.
Аноним 01/09/21 Срд 20:28:58 2147260881
>>2147228
А вот ты явно не архитектор.
Аноним 01/09/21 Срд 20:44:10 2147288882
>>2147260
Ну зато это будет по перформансу лучше и быстрее и проще сделать не ломая базу.
Аноним 01/09/21 Срд 20:59:42 2147317883
>>2147288
>тупо перезаписывать базу каждый раз при перетаскивании юзером на UI
>по перформансу лучше
Аноним 01/09/21 Срд 21:01:40 2147322884
>>2147317
Вообще то там написано что перезаписывать нужно будет только одну строку, если это бд, и один файл, если это файл.
Аноним 01/09/21 Срд 21:06:01 2147327885
>>2147322
Хуйню несешь, ебанутый.
Аноним 01/09/21 Срд 21:06:59 2147329886
>>2147327
Быдлу неприятно думать лол.
Аноним 01/09/21 Срд 21:11:22 2147340887
>>2147329
Быдлу на курсах обещали много деняк сразу после вката, а не думать.
01/09/21 Срд 21:56:44 2147383888
>>2147322
Там не одна строка, а таблица
мимо так делал
Аноним 01/09/21 Срд 22:56:08 2147471889
>>2147177
>>2147196

Внимательно читаем спеку:
https://docs.oracle.com/javase/specs/jls/se11/html/jls-14.html#jls-14.20.3

Все ресурсы, объявленные в try-with-resources, будут закрыты. Все, блядь. Закрываются они в порядке, обратном их инициализации. При этом все ссылки, по каким-то причинам хранящие null, будут проигнорированы. Исключение при закрытии одного ресурса никак не влияет на другие, они всё равно будут закрыты. Если программист не объявляет явно переменную, ссыдающуюся на открытый ресурс, то компилятор создаёт её неявно и через неё потом закрывает.
Аноним 01/09/21 Срд 23:09:41 2147485890
.png 24Кб, 509x499
509x499
.png 2Кб, 197x119
197x119
>>2147471
Речь не об этом.
Чтобы не проебаться, надо писать
try (Foo foo = new Foo(); Bar bar = new Bar(foo))
Аноним 01/09/21 Срд 23:36:21 2147521891
image.png 3Кб, 411x103
411x103
image.png 4Кб, 416x116
416x116
>>2147485
Но в то же самое время...
Аноним 01/09/21 Срд 23:41:07 2147525892
>>2147521
Наверное, это для синтаксиса
Foo foo = new Foo();
try (foo) { ... }
Хз только, зачем. Это не спасёт от ошибки в конструкторе.
Аноним 02/09/21 Чтв 05:14:58 2147620893
>>2147322
Дебил ебаный, а файл разросся уже до 100000000 записей, охуеть заебись.
Аноним 02/09/21 Чтв 08:02:49 2147644894
>>2147620
У тебя в одном списке 100000000 юзеров? Это ты похоже дебил раз такое руками решил сортировать. Кончай уже нести хуету дурачек.
Аноним 02/09/21 Чтв 08:06:03 2147645895
Может кто знает, где IDEA хранит конфигурации всяких вариантов сборки артефактов? Например, версия джавы, котрая будет использована при компиляции, библиотеки, которые следует подключить, и все такое?
Например, я подключаю новую реализацию jdbc-драйвера, но в итоге после сборки приложения в манифест попадает старая, и после запуска приложение ее не находит. Или, например, я меняю имя, под которым хочу собрать джарник, а система мне говорит что "код не соответствует 5 версии джавы", хотя везде в настройках указана восьмая. Но когда-то действитьно под тем именем я собирал под 5 версию, и где-то эта настройка висит, видмо
Аноним 02/09/21 Чтв 13:40:50 2147927896
16295482944520.png 168Кб, 610x591
610x591
Пацаны, а какие есть толковые книжки/ресурсы/че угодно по жабе для НЕ джуна? Типа я сижу давно на своей aqa-параше и мне хватает, но охота уже до среднеджависта-погромиста скилл подтянуть, не читая при этом как писать цикл фор
Аноним 02/09/21 Чтв 14:30:49 2147951897
Есть какие-то грамотные гайды, желательно на отечественном языке, по работе дефолтного лэйаут менеджера идеи, и вообще по тому как и что там устроено, в свинге, в части размещения? Пиздец, хуета хует какая-то, жмешь наугад все эти галочки "can grow", "want grow", "can shrink", максимальные, минимальные, предпочитаемые размеры, все в итоге едет хуй пойми куда и где оказывается, еще и сами компоненты по какой-то ублюдочьей сетке располагаются в итоге. Работал на шарпе с их компоновщиком окон - все вроде просто и понятно, здесь же лютый пиздец.
Только не надо опять про потому что GUI на джава сосет и все такое, я это и без вас знаю
Аноним 02/09/21 Чтв 15:48:47 2148024898
>>2147927
А в чем проблема просто скипать все что уже и так знаешь, и читать только что-то новое или что надо освежить?
Олсо, судя по высерам местных гейткиперов (не знаю правда или нет, ибо и сам сижу в параше), джун от неджуна отличается не знанием языка джавы, а навыками во фреймворках, системах сборки и прочей такой поебени. А так ты можешь быть хоть каким-нибудь джедаем который юзает последний синтаксис, сжимающий 90% кода, и думающий прямо на Stream-API с километровыми цепочками вызовов - все равно тебе скажут что ты обоссанный джун... будешь, как только выучишь спринг.
В качестве базы всегда любил шилдта, хотя здесь в этом качестве котируют Хорстманна. Есть книги спецом для продвижения скиллов, типа thinkin in java и effective java Эккеля и Блоха, вроде как канон, но я не читал.
Аноним 02/09/21 Чтв 16:06:02 2148043899
>>2148024
Ок, думал может спецом что есть для уебков типа меня. Буду дрочить основы значт и прочую алгоритмику, а то заебался валиться на собесах нахуя мне как AQA деревья инвертить, они што ебанутые, ни разу эти сакральные знания не понадобились. Пасиб
Аноним 02/09/21 Чтв 20:36:10 2148245900
>>2147951
Вряд ли, по разработке кастомных плагинов документация залупная, скорее всего и по остальным аспектам тоже.
Аноним 03/09/21 Птн 00:29:52 2148507901
>>2147927
Читай главы которые не знаешь или знаешь плохо, но если хочешь в джависты, то этот анон прав >>2148024 Учить надо спринг и все что вокруг. А базы,sql,гит, докер ты и так наверняка уже знаешь. Алгосы не спрашивали ни разу. Я их даже и не пытался учить, начнут душить - пойду решать, а пока - похуй. Все равно забудешь если не используешь. А их не используешь практически.
Аноним 03/09/21 Птн 02:48:25 2148565902
00s.jpg 198Кб, 730x487
730x487
Привет, аноны. Прислали одно ТЗ на тестовое, там есть требование:
>Все параметры - город, адреса внешних сервисов и т.д., должны быть вынесены в настройки
"город" - это часть бизнес-логики, там задание с чем-то типа сервиса погоды, короче говоря.
Куда конкретно они хотят, чтобы я это вынес, подскажите, опытные жабагоспода? Какие "настройки" имеются в виду, как думаете? К сожалению, обратной связи по заданию у меня нет, уточнить сам не могу.
пикрандом
Проект на Spring Boot 2, собираю Gradle.
Аноним 03/09/21 Птн 03:58:07 2148581903
Еще такой вопрос, раньше только мавеном собирал:
Создал новый проект в идее, подключил сразу Gradle. Проект абсолютно пустой, идея автоматом добавила в билд-файл зависимость junit.jupiter.
Создал простой public static void main c одним принтом, при запуске через "play" в идее сыпет ошибку:
>Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
>You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

Я нихера не пойму, что там может быть Deprecated, если я создал абсолютно новый проект? gradlew версии 7.1
Запускал ./gradlew build --warning-mode all и ./gradlew buildDependents --warning-mode all
- никаких варнингов нет. Собираю проект в идее - тоже ничего нет мб там какая-то специфическая таска для идеи нужна, которой нет в списке tasks?
Куда копать?
03/09/21 Птн 08:44:27 2148640904
>>2148565
Они хотят, чтобы город и урлы сторонних сервисов ты вынес в application.yml .

Что-то вроде:
city: ${CITY:Minsk}
weather.forecast.url: ${WEATHER_FORECAST_URL:https://test.com}
Аноним 03/09/21 Птн 09:05:30 2148658905
Аноним 03/09/21 Птн 09:28:18 2148673906
Аноним 03/09/21 Птн 12:27:27 2148908907
Кто знает, как указать системе, что я хочу использовать другую JRE для запуска приложений "дефолтным" способом - дабл-кликом в проводнике виндовса?
Есть установленная джава (1.8), у нее есть конфигуратор, там можно находить и подключать JRE в любом каталоге. Но когда я нахожу и добавляют в список какую-то альтернативную джаву (опен-ждк 14, в частности), ничего не меняется, все равно стартует восьмая. И это происходит даже если сбросить чекбоксы "enabled" со всех остальных джав. ЧЯДНТ? Надо в реестре менять? В переменных среды? И там и там?
Аноним 03/09/21 Птн 12:49:16 2148916908
Аноним 03/09/21 Птн 12:54:07 2148918909
Аноним 03/09/21 Птн 13:48:45 2148946910
>>2148640
Спасибо за ответ!
Я так понимаю, лучше использовать именно .yml, вместо .properties?

>>2148658
Я бы рад, да как бы до этих варнингов не доебались, если собрать решат из сурсов. Я же со своим gradlew поставку делаю.

>>2148673
Я сам вчера сходу погорел с него.
Аноним 03/09/21 Птн 13:53:21 2148948911
>если собрать решат из сурсов
Точнее даже не собрать на сборке то варнингов и нет, а дебаг подключить из идеи, или ещё на какой-нибудь специфичной таске подорвётся. Я даже не знаю, какого поведения от грейдла ждать.
Аноним 03/09/21 Птн 14:35:38 2148973912
>>2148946
Варнинги из-за того, что кто-то из плагинов или ты дёргаешь гредл апи, который помечен как устаревший. Можешь откатываться на прошлые версии гредла пока варнинги не попадут, но тогда не факт что не насуют других хуёв.
Если всё работает просто забей хуй
Аноним 03/09/21 Птн 15:07:24 2148996913
Так хмл-конфиг это фу или не фу? Много от кого слышал, что фу, но некоторые разделы доки спринга актуальной версии написаны с хмл-конфигом.
Аноним 03/09/21 Птн 15:11:59 2149003914
>>2148996
Скорее фу.
Опечатки, нет типобезопасности, менее гибкий по сравнению с джава-конфигом.
Аноним 03/09/21 Птн 15:37:00 2149038915
>>2148973
Понял, спасибо. Я думаю, может быть, сама идея что-то дополнительно подключает или дергает, когда я запускаю мейн-функцию из IDE, и тут я вряд ли уже что-то сделаю потому что, как и писал, при билде встроенными тасками варнингов нет и увидеть я их не могу
Тогда оставлю пока так.
03/09/21 Птн 16:47:40 2149115916
>>2148946
> лучше использовать именно .yml, вместо .properties?
Без разницы. Имхо, ямл более читаемый
Аноним 03/09/21 Птн 17:09:06 2149128917
>>2149115
Окей, принял, благодарю
Аноним 03/09/21 Птн 19:40:43 2149306918
>>2148908
Как ты джаву ставил, хлебушек?
>>2149038
Лучше возьми мавен и не еби мозги. Грейдл хуйня без задач.
Аноним 03/09/21 Птн 19:44:43 2149310919
Я думаю, что хуядл и лобок продвигает один и тот же шизик.
Аноним 03/09/21 Птн 19:45:31 2149312920
>>2149310
Слыш, ты на ломбок-то не гони.
Аноним 03/09/21 Птн 19:58:54 2149323921
>>2149306
Скачал с оракла и поставил, хули там ставить то?
Аноним 03/09/21 Птн 20:03:38 2149326922
>>2149323
Ох уж эти пориджи с их ораклом, даже про JAVA_HOME не слышали.
Аноним 03/09/21 Птн 20:07:12 2149328923
Те, кто перешли на 11 джаву в тырпрайзе, вы запаривались с тем, чтобы правильно сгенерить список --add-opens --add-exports или ставили везде ALL-UNNAMED и не парились?
Аноним 03/09/21 Птн 20:15:11 2149333924
>>2149306
>Лучше возьми мавен и не еби мозги. Грейдл хуйня без задач.
Да я бы рад, но таковы условия ТЗ...
Мне сходу не понравился, как я только версии плагинов и зависимостей в пропертис захотел вынести
Аноним 03/09/21 Птн 20:16:18 2149334925
>>2148908
> дабл-кликом в проводнике виндовса
Лол
Аноним 03/09/21 Птн 20:17:28 2149335926
>>2149333
Скачай polyglot-maven и напиши pom.xml на груви, они даже не поймут что ты их наебал.
Аноним 03/09/21 Птн 20:17:53 2149336927
>>2149306
Чел в гредле два десятка задач из коробки, открой доки и посмотри
Аноним 03/09/21 Птн 20:21:35 2149339928
>>2149326
Джава_хоум указывает на 14ю, клоун. Не знаешь держал бы рот закрытым.
Аноним 03/09/21 Птн 20:22:43 2149342929
>>2149333
Зачем их выносить? Указываешь версии в руте и модулях используешь.
Аноним 03/09/21 Птн 20:22:55 2149343930
Аноним 03/09/21 Птн 20:23:06 2149345931
>>2149334
Может по существу чего скажешь? Я знаю как запускать все это дерьмо из консоли, но не хочу учить этому пользователей.
Аноним 03/09/21 Птн 20:23:45 2149346932
>>2149343
>пок-пок-кудах
ясно. гуляй.
Аноним 03/09/21 Птн 20:24:36 2149347933
Аноним 03/09/21 Птн 20:25:13 2149349934
>>2149342
>Указываешь версии в руте
И сосешь хуй потому что нет скоупа testImplementation, например.
Добавляешь плагин java, чтобы он появился и наслаждаешься наличием пустого root.jar в корневой папке build.
Или создаешь buildSrc и определяешь новый класс, в котором задаешь версии как строковые константы...
Аноним 03/09/21 Птн 20:26:18 2149350935
>>2149347
Батник я сделал, но это какое-то дрочево. Должен же быть нормальный способ сказать ОС какой именно машиной исполнять джарники.
Аноним 03/09/21 Птн 20:27:13 2149352936
Аноним 03/09/21 Птн 20:27:43 2149353937
>>2149349
Чё несёт просто лол
Аноним 03/09/21 Птн 20:35:27 2149357938
Спринг - позор индустрии.
Аноним 03/09/21 Птн 20:51:40 2149366939
>>2149353
>пок-пок-кудах
ясно. гуляй.
Аноним 03/09/21 Птн 20:57:48 2149374940
.jpg 113Кб, 742x481
742x481
Привет, джавач, пора запускать эксель, вот тебе статистика по постам в день за последние 5 тредов.
Аноним 03/09/21 Птн 21:01:04 2149384941
>>2149374
Джава господа отправились в школу
Аноним 03/09/21 Птн 22:54:23 2149503942
>>2149335
Было бы прикольно, конечно, но все-таки пока рисковать не буду.

>>2149342
Я не про синхронизацию версий в модулях тем более, что вроде как грейдл всё равно тянет то, что лежит по иерархии выше, а про вынос версий в отдельные пропертис, как это принято в мавене, например, чтобы оно всё было в одном месте, а не по билд.грейдл раскидано.
03/09/21 Птн 23:16:13 2149520943
>>2149503
Если я правильно понял, тебе нужен ext блок
Аноним 03/09/21 Птн 23:25:45 2149528944
>>2149520
Который не работает в IDE. Хватит нести хуйню, в грейдле НЕЛЬЗЯ нормально (как в мавене) управлять зависимостями.
03/09/21 Птн 23:29:18 2149532945
>>2149528
Ты ебанутый? Что там у тебя не работает?
Аноним 03/09/21 Птн 23:30:02 2149535946
>>2149532
Да нихуя не работает блядь.
Аноним 04/09/21 Суб 00:21:09 2149561947
>>2149520
У меня тоже >>2149528 нормально не заработало с ext блоком, но я нашел в документации к грейдлу 7.2 у меня 7.1 вот это решение docs.gradle.org/current/userguide/plugins.html#sec:plugin_version_management
На моей версии тоже заработало.
Хотя, опять же, в мавене это всё проще делалось.
Аноним 04/09/21 Суб 07:28:47 2149626948
Большая проблема гредла ебанутая графомания и отсутствие системности в манах. Нужно во первых изначально знать конкретную хуйню которую хочешь найти, потом прочесть два километра текста, без примеров, чтобы нихуя не найти и в итоге скопировать код с индусского тутора где вообще нихуя не объясняют эту магию.
Касательно выноса версий нашел это https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_version_management тут показано что пропертисы изи доступны из пропертис файла, но опять нихуя не написано когда и в каком контексте. И так вот всем. Сиди и проверяй что как работает.
Аноним 04/09/21 Суб 12:14:05 2149762949
>>2116244 (OP)
Гайд охуенный, большое спасибо тем, кто его писал! Вы лучшие!
Аноним 04/09/21 Суб 12:17:01 2149767950
Прошу прощения за тупой вопрос, но задам: подскажите, какой уровень знаний нужен для устройства джава джуном? Есть ли некий набор навыков, универсальных для всех возможных сфер, ну или почти для всех?

Спасибочки.
Аноним 04/09/21 Суб 12:44:27 2149803951
>>2149767
Джава кор (синтаксис и семантика + стандартная библиотека - инпут аутпут, коллекции, стрим апи), гит, мавен/градл, спринг-бут. Несколько проектов самодельных на всех этих технологиях.
Аноним 04/09/21 Суб 13:15:36 2149830952
>>2149803
А как же хибер, спринг дата жпа/ждбс, спринг секьюрити? Думал они тоже обязательные. Да и как ты проекты то без них напишешь.
Аноним 04/09/21 Суб 13:27:15 2149851953
>>2149830
> как ты проекты то без них напишешь
Без головной боли
Аноним 04/09/21 Суб 13:37:44 2149873954
>>2149851
Сикулю еще забыл написать в кейвордах. И спринг мвц.
А если серьезно, видел только мнение, что без сикурити можно подаваться на собесы. А вот сикуля/хибер/спрингдата нужны обязательно.
Тестовые на джуна, что гуглил это обычно 2-3 таблички на спрингдата жпа на грейдле и вывести это рест-эндпоинтами. Чаще без авторизации.
Аноним 04/09/21 Суб 14:00:03 2149895955
>>2149873
Что за сикуля?

мимо проходил
04/09/21 Суб 14:04:27 2149897956
Аноним 04/09/21 Суб 14:29:26 2149917957
Аноним 04/09/21 Суб 16:21:32 2150026958
1ag4el1.png 19Кб, 562x531
562x531
Сап. Есть один бекенд, и есть два клиентских приложения нативных под андроид и иос.

Как можно показывать статус пользователей в реальном времени, как у телеги например? Есть идеи?
Аноним 04/09/21 Суб 16:23:56 2150027959
>>2150026
Юзеры каждые н секунд отправляют на сервер свой статус, и ещё все юзеры каждые к секунд запрашивают статусы тех, кто у них в списке.
Аноним 04/09/21 Суб 16:25:19 2150029960
>>2150027
Спасибо за ответ, но это какая-то хуйня, да и к тому же получится ДДОС.
Аноним 04/09/21 Суб 16:25:57 2150031961
Нужно какое-то решение на вебсокетах, или что-то похожее. Чтобы были ивенты, и были слушатели.
Аноним 04/09/21 Суб 16:26:33 2150032962
Аноним 04/09/21 Суб 16:27:40 2150034963
>>2150032
В двух словах распишешь? Или подскажи как гуглить. А то двач - это последний рубеж.
Аноним 04/09/21 Суб 16:35:56 2150035964
>>2150034
Юзер открывает приложение, получает статусы всех френдов через рест, подключается по сокету к серверу, шлёшь свой статус, сервер шлет по всем сокетам евент когда кто-то вышел/вошел, сокет закрывается по пингу или нормально.
Сокет любой, хоть инпут стрим, хоть вебсокеты, но лучше поискать какую нибудь либу где на соединение не выделяется целый поток. В rsocket вроде такое есть, но честно не ебу, т.к велосипедю обычно сам, чем в чьем то говне разбираться
Аноним 04/09/21 Суб 17:51:35 2150090965
>>2150035
Вот этот прав, ивенты подходят тут. Можешь кафка стримы взять.
Аноним 04/09/21 Суб 19:47:37 2150195966
Я понял гредл.
Аноним 04/09/21 Суб 20:20:54 2150223967
Аноним 04/09/21 Суб 20:33:35 2150237968
>>2150223
Модули никто не использует
Аноним 04/09/21 Суб 20:53:34 2150256969
>>2149328
Что там запариваться. Компилишь, читаешь ошибку кому что отрыть, открываешь
Аноним 04/09/21 Суб 21:11:44 2150266970
>>2150027
Вот это мне больше нравится, чем
>>2150035


Начни именно с "клент посылает серверу", "клиент опрашивает сервер", сам серв никому ничего посылать не должен.

Паттерн Наблюватель так и напрашивается!

А на чём бекенд то? Наверняка это в Спринге можно быстро собрать
Аноним 04/09/21 Суб 21:12:53 2150268971
Аноним 04/09/21 Суб 21:24:09 2150275972
>>2150256
Большая часть ошибок в рантайме вылезает.
Аноним 04/09/21 Суб 21:24:59 2150276973
>>2150266
>Вот это мне больше нравится, чем
Поймал системного архитектора, который предлагал каждый раз при перетаскивании строчки на UI дропать таблицу.
Аноним 04/09/21 Суб 21:25:25 2150277974
Почему стандартный http клиент такое говно?
Аноним 04/09/21 Суб 21:27:05 2150279975
>>2150276
Тупица не позорься.
Аноним 04/09/21 Суб 21:27:54 2150280976
>>2150279
Больше того системного арзитектора опозорится невозможно.
Аноним 04/09/21 Суб 21:31:03 2150282977
>>2150268
Ну представь какова атомарная операция в данном случае, когда серву нужно обновлять список -> посылать апдейт пользователям?

Аноним 04/09/21 Суб 21:32:46 2150284978
>>2150280
Покажу на пальцах специально для отсталых вроде тебя.
Скажи, где в этой строчке таблица чтобы ее дропнуть list_id=[user3, user1, user2]
Ты знаешь что такое nosql хранилища, key-value там?
Аноним 04/09/21 Суб 21:34:54 2150286979
>>2150284
Тащи бенчмарки по производительности перезаписи массива из тысяч элементов по одному и тому же ключу в nosql или сосешь хуй.
Аноним 04/09/21 Суб 21:35:48 2150287980
>>2150282
Ну не всем же миллиардам твоих пользователей нужно это оповещение. Вбыдлянде в среднем 100 челов в друзьях, а в онлайне, кого нужно оповестить, ещё меньше
Аноним 04/09/21 Суб 21:38:40 2150293981
>>2150286
Ты сортируешь список из тысяч элементов руками?
Аноним 04/09/21 Суб 21:39:39 2150294982
>>2150293
Неси еще и бенчмарки по сортировке массивов из тысяч элементов.
Аноним 04/09/21 Суб 21:42:20 2150295983
Кэш
Аноним 04/09/21 Суб 21:43:12 2150296984
>>2150294
Идиотина, ты хотя бы вспомни задачу того анона прежде чем пукать выдуманными проблемами.
Аноним 04/09/21 Суб 21:47:31 2150298985
Аноним 04/09/21 Суб 21:49:05 2150299986
Аноним 04/09/21 Суб 21:51:58 2150300987
>>2150287
поэтому я и предалагл оформить это как request-response классический.

Аноним 04/09/21 Суб 22:58:24 2150330988
Как между собой обменивается данными фронт и бэк? Вот я написал контроллер хуё-моё, я должен бросить свои объекты json-ом на сторону фронта? А если это просто контроллер, не Рест? Фронтэндер же не будет шаблонизатором данные вытягивать, или будет?
Аноним 04/09/21 Суб 23:22:45 2150340989
>>2150330
С шаблонизаторами сервер на каждый запрос подставляет данные в хтмл, отправлет браузеру, а тот его рендерит, там может даже не быть ни строчки JS, всю работу делает сервер, больше никакого "обмена данными" нет. Иногда это смешивают с рестом, часть данных подставляется на сервере, а часть догружается потом на клиенте через рест, так, к примеру, работает двач.
Аноним 04/09/21 Суб 23:48:52 2150353990
>>2150340
Я уточню немного. Я бэкэндер, написал контроллер, написал model.addAtribute("user", user); не рест РеспонзБоди тоже нет. Как фронтовик будет делать страницу из этого? Он должен владеть таймлифом? И смотреть код сервера, чтобы знать какие поля дергать из объекта? Я просто представляю, что у него есть джейсон, он видит этот массив хуев, и из него что-то лепит, не? как на самом деле, именно в канве разработки совместной?
Аноним 05/09/21 Вск 00:06:58 2150361991
>>2150353
> не рест РеспонзБоди тоже нет
А надо, чтобы был рест. Вот тогда и есть смысл в отдельном фронтовике (в современном смысле слова), который будет лепить из джейсонов
05/09/21 Вск 00:22:40 2150365992
>>2150353
В твоём случае страницу делает сервер

> model.addAtribute("user", user);
Вот здесь ты и кладешь данные для страницы. Если на фронте что-то понадобится, он отправит запрос на сервак, чтобы получить обычный жсон.

Также можно сделать spa. Все, что ты делаешь - отдашь жсон. А хтмл уже на фронте лепится
Аноним 05/09/21 Вск 00:29:37 2150368993
>>2150353
> Как фронтовик будет делать страницу из этого?
Ты исходишь из предположения, что существуют проекты, где фронт целиком на шаблонизаторах, и при этом там отдельно бэкендеры и фронтендеры. В реальности таких проектов почти нет, а те страницы, что генерятся шаблонизаторами, целиком разрабатываются бэкендерами, которые в этом случае скорее фуллстеки. Отдельно фронтендеров и бэкендеров ты встретишь только там, где есть рест (ну либо клиент отдельным экзешником, там хоть SOAP, хоть сокеты).
Аноним 05/09/21 Вск 01:00:44 2150389994
>>2150365
>он отправит запрос на сервак, чтобы получить обычный жсон
$.get - такой запрос? и проблем не будет, не смотря на то, что я в джэйсон ничего не конвертировал, на сервере?
Аноним 05/09/21 Вск 03:42:21 2150434995
Spring реализует Dependency Injection через Reflection. Общепринято полагать, что Reflection API, по ряду причин, работает медленно и нужно минимизировать его использование в коде, когда это возможно.
1) Означает ли это то, что Spring вынужден терять часть производительности by design?
2) Почему использование Reflection нужно сводить к минимуму, тогда как спринг, построенный на Reflection, стал стандартом индустрии?
Объясните нубу.
Аноним 05/09/21 Вск 05:38:40 2150443996
>>2150434
1. В DI рефлексия работает при инициализации. И спринг запускается реально долго. Потом норм.
2. Рефлекслия ломает к чертям сокрытие данных. И для крудошлепа, пишущего логику на спринге сокрытие нужно, а фреймворкопицам - нет.
Аноним 05/09/21 Вск 07:55:11 2150454997
>>2150443
Сокрытие в виде гет/сет не нужно никому, кроме тех кто дрочет на некие принципы ооп, потому что так сказал дед 50 лет назад. У крудошлепа необходимость в этом как раз на 10 месте из 10.
Аноним 05/09/21 Вск 09:00:59 2150463998
Аноним 05/09/21 Вск 10:01:58 2150480999
Сап, накидайте адекватных идей для диплома на жабе и не кидайтесь ссаными тряпками за такую просьбу (у меня так-то есть 2 идеи, но они достаточно сомнительные чтобы за низ браться)
Аноним 05/09/21 Вск 10:23:12 21504871000
>>2150480
Анализ алгоритмов поиска на графе. Точность, скорость, расстояние, визуализация, применение.
Аноним 05/09/21 Вск 10:47:34 21505021001
>>2150487
Классная идея, спасибо, но встал вопрос насчёт применения, куда её всунуть?
05/09/21 Вск 10:59:34 21505071002
>>2150389
Нет. Рест запрос.
Например, ты заходишь на 2цх/б. Тебе отдается страничка с тредами.
Дальше я развернул тред. Фронт отправляет запрос на /апи/треды/1337 , чтобы получить весь тред. Как только ему вернётся ответ, он распарит жсон и запихнет его в страницу.
А вообще, как сказал анон выше, если у тебя есть шаблонизаторы, то скорее всего там не будет разделения на фронт/бек
Аноним 05/09/21 Вск 12:43:13 21505871003
>>2150480
Реши задачу раскроя, например, см в википедии статью
Аноним 05/09/21 Вск 12:57:42 21505991004
>>2150487
Не, это что-то слишком простое будет. Алгоритмы на графах это где-то 2 (иногда 3) курс.

>>2150480
Какую-нибудь информационную систему. Короче клон какого-нибудь авито/курсеры/etc на спринге и хибере, научник должен сам предложить идею.
Аноним 05/09/21 Вск 16:51:09 21507351005
Что такое сваггер?
Аноним 05/09/21 Вск 16:57:55 21507361006
>>2150735
Генератор документации для реста. Вешаешь над своими контроллерами аннотации сваггера, и тебе генерируется веб-страница с документацией (а-ля джавадоки), Ещё на этой странице для каждого эндпоинта встроен rest-клиент, чтобы ты мог заполнить простенькую сгенерированную форму, нажать на кнопку, и эндпоинт вызвался сам. Ну и ещё там формализованное json-описание апишки, его можно выгрузить и по нему специальными тулзами сгенерировать рест-клиент (как с WSDL в SOAP).
Аноним 05/09/21 Вск 18:16:13 21508161007
Аноним 05/09/21 Вск 18:22:02 21508211008
>>2150736
А им можно постман заменить?
Аноним 05/09/21 Вск 19:01:25 21508551009
Короче, я выучил всю джаву вдоль и поперек, как боженька, но я абсолютно мертв вот в этом:
1) гит
2) мавен/градл
3) спринг

В каком порядке начинать это задрачивать, с учетом сложности и времени на освоение? мавен или градл? спринг который более низовой, или сначала бут?
05/09/21 Вск 19:15:23 21508641010
>>2150855
В гите учит нечего. День-два посидеть и разобраться

Мавень/градл - вообще похер. Максимум, что от тебя требуется - знать, как притянуть какую-нибудь зависимость

Я бы начинал с бута. Сначала пользуешься магией, потом начинаешь лезть в кишечки и изучать, как эта магия работает
05/09/21 Вск 19:17:02 21508651011
>>2150855
>>2150864
Можешь слепить какой-нибудь пет проект. Там и опробуешь все
Аноним 05/09/21 Вск 19:17:35 21508661012
>>2150855
1-ое и 2-ое - один день примерно. третье дольше. по поводу низового, я хз, но мне кажется, что не на буте ничего не пишут сейчас
Аноним 05/09/21 Вск 19:32:40 21508791013
>>2150865
Проектов на голой джаве и со сборкой в идее у меня наверное уже десятки. Лучше с нуля еще что-то пильнуть, или накатывать на старый? Есть ощущение, что если прям вообще ничего не понимаешь с нуля сделать проще
>>2150866
Прогнозы времени обнадеживают. Спросил про порядок спринга, просто потому что обычно люблю что-то изучать снизу вверх (то есть с низкоуровневых вещей)
05/09/21 Вск 19:48:49 21508881014
>>2150879
Зависит от твоих проектов, но я бы что-нибудь новое делал
Аноним 05/09/21 Вск 21:06:49 21509871015
>>2150879
>порядок спринга,
Спринг кор -> спринг мвс -> спринг дата -> спринг бут. но тебя на этом пути ждет, просто ебля с конфигурированием
Аноним 05/09/21 Вск 21:09:23 21509941016
>>2150987
Ещё спринг секьюрити забыл
Аноним 06/09/21 Пнд 03:20:33 21511931017
Если сервис - микро, то и писать его нужно на j2me. Кто сейм?
Аноним 06/09/21 Пнд 06:49:47 21512181018
Аноны, как можно узнать входить ли координаты в зону доставки ? Желательно на джаве
Аноним 06/09/21 Пнд 12:22:42 21514191019
>>2151218
>Какой командой процессора колобок ест чёрта?
Классика.
Аноним 06/09/21 Пнд 13:28:12 21514941020
Аноним 06/09/21 Пнд 13:37:05 21514961021
>>2151218
@FunctionalInterface
public Interface ICoordinateChecker{
boolean isInDiliveryZone(double latitude, double longitude);
}

свободен нахуй
Аноним 06/09/21 Пнд 14:00:36 21515021022
>>2151496
че сложно то так можно же просто coordinate.isInDeliveryZone()
06/09/21 Пнд 14:29:42 21515181023
>>2151496
Сразу видно архитектора
но зачем называть интерфейсы с I ?
Аноним 06/09/21 Пнд 14:34:53 21515211024
>>2151518
Это латентная шарпоблядь.
Аноним 06/09/21 Пнд 15:08:03 21515571025
>>2151502
А контекст где блять? как ты можешь просто у координаты это вызвать? Тут уж либо у контекста запрашивать по координате, либо наоборот.
>>2151518
Хуй знает, там где я учился джаве изначально (на каком-то обоссанском ютуб-канале) говорили что это тру стайл
>>2151521
бля, как ты догадался? действительно иногда немного машу веслами на шарпе джава сосет кстати совсем сосет
Аноним 06/09/21 Пнд 15:11:29 21515611026
>>2151557
>действительно иногда немного машу веслами на шарпе
Да ты бы и соба на Дельфи веслал.

Аноним 06/09/21 Пнд 15:12:30 21515621027
>>2151502
У тебя что ли координата должна хранить зону доставки в качестве зависимости? Ты совсем поехал, братик?
Аноним 06/09/21 Пнд 15:40:41 21515931028
>>2151561
паскаль кстати охуенен кроме того свойства что нахуй никому не всрался
Аноним 06/09/21 Пнд 17:11:19 21516841029
>>2151562
Она и не хранит, это у него бизнес-логика в сущности.
Аноним 06/09/21 Пнд 17:17:14 21516951030
stomp-logo-clea[...].jpg 46Кб, 1503x508
1503x508
Суп. Хочу разобраться с вебсокетами. Дайте что ли советов мудрых, каких-то книг, или попытаться написать.
Аноним 06/09/21 Пнд 17:28:13 21517081031
>>2151684
Это хуёвая логика. Объект coordinate у тебя представляет, очевидно, координату, а координата - это класс "более общего назначения", можно сказать, нежели абстракция "зоны доставки" в виде еще какого-то класса. Мало того, что ты пихаешь в координату, которая может использоваться еще в сотне проектов, помимо этого доставочного говна, доставочно-специфичный метод "isInDeliveryZone()", так еще и то что он не принимает никакого объекта доставочной зоны (список аргументов пустой) показывает, что где-то внутри класса координаты хранится вся эта зона. Это полный пиздец, за такую архитектуру надо клавиатурой Митсуми на железной подложке по ебалу пиздить.
06/09/21 Пнд 17:37:27 21517211032
>>2151695
> или попытаться написать
Пытайся
Аноним 06/09/21 Пнд 17:45:35 21517301033
>>2151721
Я хочу, чтобы аноны поделились своим опытом в изучении вебсокетов.
06/09/21 Пнд 17:50:21 21517361034
>>2151730
Я делал чатик. Единственная общая конфа
Аноним 06/09/21 Пнд 17:51:25 21517391035
>>2151736
По туториалу какому-то делал?
06/09/21 Пнд 17:59:38 21517481036
Аноним 06/09/21 Пнд 18:04:17 21517531037
>>2151748
> тут ещё много всего другого + фронта до жопы
Благодарю. Ну без фронта тут не обойтись в любом случае.
Аноним 06/09/21 Пнд 20:51:27 21518671038
>>2151708
@Autowire решает все архитектурные проблемы.
Аноним 06/09/21 Пнд 21:05:05 21518701039
>>2151708
В котлине так принято экстеншены хуярить.
Аноним 06/09/21 Пнд 21:05:26 21518711040
Как зарегистрировать @RestController через джава конфиг?
Аноним 06/09/21 Пнд 21:12:30 21518731041
>>2151867
Пиздуй в свою галеру крудошлепить дальше, решатель архитектуры хуев. Понавыращивают спрингоблядей, а потом разгребай за ними тупое говно.
Аноним 06/09/21 Пнд 21:20:31 21518761042
>>2151871
Вспомнить, в каком году мы живём, и настроить component scan.
Аноним 06/09/21 Пнд 21:48:35 21518881043
>>2151876
А если зарегистрировать надо в либе?
Аноним 06/09/21 Пнд 21:50:43 21518901044
>>2151888
Либа называется Spring.
Аноним 06/09/21 Пнд 21:54:22 21518951045
Аноним 06/09/21 Пнд 21:54:41 21518961046
брюс эккель философия джава можно читать?
Аноним 06/09/21 Пнд 21:55:05 21518981047
Аноним 06/09/21 Пнд 23:16:04 21519471048
image.png 67Кб, 692x776
692x776
image.png 67Кб, 700x773
700x773
Можете подсказать, почему в первом случае код не компилируется, а во втором все ок?

Ошибка компилятора:
java: method compare in class org.sandbox.App cannot be applied to given types;
required: T,T
found: org.sandbox.Derived,org.sandbox.Derived
reason: inference variable T has incompatible bounds
equality constraints: org.sandbox.Super
lower bounds: java.lang.Comparable<T>


Очевидно, что желательно в обоих случаях указывать T extends Comparable <? super T>
вместо T extends Comparable <T>

Но почему второй код компилируется, а первый нет?
Аноним 06/09/21 Пнд 23:26:04 21519561049
То есть для кода с первого пикрила все ясно - T extends Comparable <T> требует, чтобы класс имплементил компарабл самого себя.
Вопрос в том, почему компилируется второй код? Ведь там Derived так же не имплементит Comparable<Derived>, а имплементит Comparable<Super>.
Аноним 06/09/21 Пнд 23:28:12 21519591050
>>2151956
Derived наследуется от Comparable<Super>, а не имплементит его. И в метод compare он передается как Super, можешь в иде посмотреть.
06/09/21 Пнд 23:32:06 21519611051
>>2151947
На втором пике компилятор за Т берет Super
<Super extends Comparable<Super>>
Аноним 06/09/21 Пнд 23:32:11 21519621052
>>2151959
>И в метод compare он передается как Super
Да, это так, я проверял.

>>2151959
>Derived наследуется от Comparable<Super>
А вот с этим можно подробнее. То есть если класс-родитель имплементит интерфейс, то все его потомки этот интерфейс наследуют? Довольно тонкая грань, как мне кажется, и местами не совсем очевидная. Я долго думал, что классы могут только наследоваться от классов, а интерфейсы они имплементят.
Аноним 06/09/21 Пнд 23:38:04 21519631053
>>2151961
А почему он берет Т за Super? Какая в этом логика компилятора?
Он берет Т за Super, потому что во втором случае судя по ответу >>2151959
Т наследуется от Comparable<Super>?

В чем разница между наследованием класса от класса и класса от интерфейса?
Наследование класса от интерфейса вообще возможно?
06/09/21 Пнд 23:43:35 21519661054
>>2151963
Честно - хз. Попробуй вместо Comparable сделать класс с женериком. Попробуй сделать больше классов в цепочке.

Мне кажется, что компилятор сначала берет Derived и смотрит: подходит ли он, если нет, идёт вверх и т.д.
Либо же он смотрит на интерфейсы Derived, видит, что там Comparable<Super>, а значит, надо брать Super.
Но это так, с аналитика с дивана
Аноним 07/09/21 Втр 06:37:28 21520121055
Hhh.JPG 146Кб, 1280x720
1280x720
Привет, аноны.
Скажите, пожалуйста, как в аннотациях использовать значения из application.properties? Нужно в RestController значение @GetMapping иметь возможность настроить из переменной в properties. Я уже всё перепробовал - ничего не работает.

@GetMapping(path = "${serviceResponseRoute}") - не работает.
Environment.getproperty - не рабоатет.
Вставить через @Value("${serviceResponseRoute}") в константу - тоже не работает.
Короче, ничего не работает.
Как вообще вставить что-то в аннотацию из application.properties??
Аноним 07/09/21 Втр 09:23:33 21520351056
>>2151962
>То есть если класс-родитель имплементит интерфейс, то все его потомки этот интерфейс наследуют?
Именно.
Аноним 07/09/21 Втр 09:24:05 21520361057
Аноним 07/09/21 Втр 10:27:50 21520651058
Насколько java сейчас вообще перспективна? Пишу на питоне, но хочу перекатиться во что-то более нагруженное, так как питон в крупных компаниях на больших проектах юзают, как язык для всякой автоматизации или прототипирования, а я бы хотел писать сложную бизнес логику и продуктовые фичи. Я так понял тут есть три стула, дотнет, джава и голанг. Собственно голанг как-то не особо радует примитивным синтаксисом отсутствием обобщённого программирования, а дотнет слишком майрософтовский и плюс из джавы есть воходы на скалу и котлин + всякая big data, что тоже интересно
Аноним 07/09/21 Втр 10:38:32 21520681059
>>2152065
У жабы нет перспектив, иди в го.
Аноним 07/09/21 Втр 11:25:49 21521001060
>>2152065
>>2152068
Двачую, жаба полностью мертва, нужно срочно в го вкатываться.
Аноним 07/09/21 Втр 11:26:38 21521021061
>>2152035
А где почитать про эту разницу между "класс имплементит интерфейс" и "класс наследует интерфейс". В JLS или туториалах оракла про это написано?
Аноним 07/09/21 Втр 11:27:20 21521031062
07/09/21 Втр 11:49:27 21521241063
>>2152065
Ты сам перечислил 3 стула. На го пока что ещё нет легаси.
Жава жить будет, шарпы тоже. В шарпах больше сахарочка. У жавы больше кодовая база
Аноним 07/09/21 Втр 13:19:34 21521981064
>>2152124
Я спрашивал скорее, стартуют ли новые проекты на джаве
Аноним 07/09/21 Втр 13:23:51 21522001065
Аноним 07/09/21 Втр 13:58:01 21522351066
>>2152102
>>2151962
Нигде нельзя это инсайдерская инфа оракла
Потому что это полная хуйня. Имплементирование и наследование это одно и то же, а ограничение на единственность наследования проистекает всего из одного - что в надклассах есть реализация, а в интерфейсах - нет, поэтому никакие конфликты реализаций невозможны. implements и extends даже рассматривали объединить в одно ключевое слово, потому что отличий семантики в них нет. Джава вообще любит для каждого ключевого слова иметь контекстно-зависимую семантику, за каким-то хуем. Поэтому многие от нее охуевают после своих шарпов и паскалей.
Аноним 07/09/21 Втр 16:18:00 21524031067
Когда в жабе будут нормальные дженерики как в шарпе?
Аноним 07/09/21 Втр 16:20:51 21524061068
Аноним 07/09/21 Втр 16:27:13 21524141069
>>2152406
Ну в 2004 году (или когда там вышла 5 джава) это было оправдано. Но почему за 16 лет так ситуацию и не исправили? Даже котлин, и тот вынужден делать type erasure из-за этого кривого механизма в JVM.
Аноним 07/09/21 Втр 16:39:02 21524271070
transfer.PNG 197Кб, 1280x983
1280x983
Короче захотел докеризировать свой хеловорд.
И никак не могу сделать инициализацию постгреса.
У меня все на голом jdbc и загружаю я скрипты из resources самописным классом InitDB. Выдает ошибку.
В туторе откуда смотрю, как докерезировать это делается через liquibase. Но там все через yaml, а не через sql скрипты. Я хотел бы через sql скрипты.
Можно ли эти скрипты загружать изнутри джавы?
Пробовал перенести скрипты в папку с докерфайлом для посгреса и загрузить через COPY schema.sql /docker-entrypoint-initdb.d/. Не получается.
Еще вроде можно flyway в отдельном контейнере поднять и там загружать скрипты.
Помогите пожалуйста, второй день сижу.
Аноним 07/09/21 Втр 16:55:05 21524421071
>>2152427
Откуда у тебя в скомпилированном проекте возьмется директория src/main/resources, дурочка?
Аноним 07/09/21 Втр 17:10:19 21524611072
>>2152442
Да, я это понимаю. Но не знаю, куда переместить?
Они лежат в джарнике в самом корне папки с моими классами. В transfer-jdbc-0.0.1-SNAPSHOT.jar\BOOT-INF\
Пойду удалю src/main/resources и перепакую.
Аноним 07/09/21 Втр 17:19:54 21524751073
>>2152461
как я и ожидал это тоже не работает. Я не знаю, как загружать файлы из собранного джарника.
07/09/21 Втр 17:21:25 21524771074
>>2152427
Почитай про ресурсы в спринге
Аноним 07/09/21 Втр 17:24:52 21524821075
>>2152427
У тебя не сконфигурирован ресурс, спринг не знает, чего грузить.
Аноним 07/09/21 Втр 17:26:22 21524851076
>>2152475
Ну вот ты и сформулировал свой вопрос. Осталось задать вопрос гуглу.
Аноним 07/09/21 Втр 17:40:47 21525011077
>>2152477
>>2152482
Почитаю сегодня. Там в доке страниц на 15, мне этого на целый день. Я смогу решить эту проблему, если прочитаю, как правильно конфигурировать ресурсы?

>>2152485
>Since the file is part of jar file (a zip archive in fact), there is no valid filesystem path that would point to it.The standard way is to use getClassLoader().getResourceAsStream("test.txt");. You'll either have to modify your application so that it can read from classpath resources or URLs, or use getResourceAsStream() to copy the resource to a temporary file on filesystem and then point to it.
Как-то много всего надо сделать. И что-то я не уверен что копирование во временный файл будет работать в контейнере. Будет?
Аноним 07/09/21 Втр 18:15:27 21525381078
>>2152414
Для чего для чего, для того же для чего изначально ввели именно каличным способом - для обратной совместимости легаси-говна.
Аноним 07/09/21 Втр 18:38:31 21525561079
>>2152501
Просто идешь на баелдунг и читаешь одну страничку про ресурсы. Там же и примеры.
Аноним 07/09/21 Втр 18:50:11 21525621080
Почему может вылетать 500 ошибка присохранении сущности в репозиторий? repo.save(entity); Сущность в деббагере перед сохранением создана, такая как должна быть, id=null. Айдишник в самой сущности делаю так
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
07/09/21 Втр 18:50:42 21525631081
Аноним 07/09/21 Втр 19:00:49 21525691082
Аноним 07/09/21 Втр 19:09:54 21525721083
>>2150195
Какие были трудности изначально?
Аноним 07/09/21 Втр 20:47:21 21526201084
>>2152572
Жидбрейнсы вставляли палки в груви-колеса. Как перешёл на котлин скрипт сразу появился автокомплит.
Аноним 07/09/21 Втр 21:31:02 21526441085
zscHNdJ.jpg 124Кб, 566x800
566x800
>>2152065
Короче после глубокого анализа рынка и собственных языков предпочтений я остановил свой выбор на джаве
Аноним 07/09/21 Втр 21:47:18 21526601086
>>2152644
Ебать ты аналитик
Удачи
Аноним 07/09/21 Втр 22:03:15 21526741087
>>2152660
А что тут думать. Я прочитал го тред и понял, что в фин техе он не нужен, а микросервисы в озоне и других подобных конторах я писать не хочу
Аноним 07/09/21 Втр 22:09:04 21526761088
>>2152538
многолетняя мантра сломалась на модулях жабы9, которые сломала совместимость и которые при этом никто не пользует.
Аноним 07/09/21 Втр 22:10:05 21526791089
>>2152676
Так их в 17 версии добили, почему никто не бугуртит?
Аноним 08/09/21 Срд 01:26:38 21527561090
>>2152679
на хабре в комментах к постам о семнашке бугуртят.
Аноним 08/09/21 Срд 06:33:28 21527821091
>>2151947
А что тебя удивляет?
В первом случае Derived implements Comparable<Super> (пиздец, ты сам додумался назвать класс зарезервированным словом??) не удовлетворяет паттерну T implements<Comparable<T>> (Super, который у тебя висит в классе как тип компэрабла, не может быть прикастован к Derived).
Во втором случае класс Super implements Comparable<Super> удовлетворяет дженерику, а значит в качестве типа параметра Т может быть передано что угодно, что является супером или его подклассом, коим деривед и является.
Реализуй независимо компарабл в Супере, и все взлетит в первом случае тоже. Или допусти в ограничении типа что компарабл может быть не только T, но и любого его суперкласса: ? super T
То что вы там наговорили про отличие implements и extends действительно полная хуйня, как сказано здесь >>2152235 - это одно и то же, что, кстати, видно по самому синтаксису дженериков - для ограниченных типов всегда используется вариант extends, даже если указывается интерфейс.
Аноним 08/09/21 Срд 15:54:17 21530851092
>>2152556
>>2152477
>>2152482
Спасибо анончики. Две статьи на баелдунге, 2 странички на стековерфлоу, 3 часа тупления, 3 переписанные строчки и один конфиг на 4 строчки и я научился загружать статику изнутри джарки.
Но вопрос открыт остается. Как загружать sql скрипты более правильно и высокоуровнево в докере? flyway внутри толстой джарки или отдельный контейнер?
08/09/21 Срд 16:52:57 21531531093
>>2153085
Всегда встречал миграции в ресурсах.
А что ты подразумеваешь под отдельным контейнером?
Аноним 08/09/21 Срд 20:10:39 21532831094
Что блядь не так с новой идеей? Жрет ресурсы как не в себя.
Аноним 08/09/21 Срд 20:18:36 21532871095
>>2153283
Будто старые не жрут как не в себя.
Аноним 08/09/21 Срд 20:20:40 21532881096
>>2153287
Там более терпимо было.
Аноним 08/09/21 Срд 20:26:33 21532911097
>>2153288
Не, не было.
Вот я и говорю, что надо переписать на C++
Аноним 08/09/21 Срд 22:59:03 21533631098
А можно в хибере сделать так, чтобы энтити с отрицательным id считалась за новую и генерировала новый id(и сохраняло новую сущность само собой)?
Аноним 08/09/21 Срд 22:59:48 21533651099
>>2153363
Не бросая детач энтити эксепшн.
Аноним 08/09/21 Срд 23:11:32 21533721100
>>2153363
void setId(long id) {
this.id = id < 0 ? 0 : id;
}
Аноним 08/09/21 Срд 23:14:39 21533771101
А в каких случаях нужно проверять ссылку на нулл? В некоторых гайдах видел, что мол вообще каждый объект перед каждым использованием проверить равен ли он нуллу. Это действительно так?
08/09/21 Срд 23:21:30 21533871102
>>2153363
@PreUpdate вроде бы, но выглядит больше как костыль
Аноним 08/09/21 Срд 23:25:04 21533891103
>>2153377
Если уже проверял выше, то не надо проверять.
Если логически нулл невозможен, не обязательно.
Если не обращаешься к его полям/методам, а только передаёшь в другой метод, тоже можешь не проверять, но это если в принимающем методе есть нужные проверки.
А так надо стараться юзать Optional.
Аноним 08/09/21 Срд 23:26:15 21533901104
>>2153377
Все верно, всегда надо. В джаве так и пишут:
EntityFactoryBean entityFactoryBean = EntityFactoryBeanManager.getEntityFactoryBeanInstance();
if (entityFactoryBean == null) {
  return Pair.of(null, new NullPointerException("entityFactoryBean"))
}
Аноним 09/09/21 Чтв 14:53:53 21537881105
>>2153283
Заметил что eclipse более щадящий к ресурсам, хотя он тоже на Java написан
Аноним 09/09/21 Чтв 14:56:47 21537901106
>>2153377
Лучше используй Optional. Проводи поиск объектов, а затем если результат пустой то создавай пустой Optional. И где будешь получать Optional, то там уже делаешь проверку в зависимости от содержания Optional. И проблема с null беспокоить не будет.
Аноним 09/09/21 Чтв 17:13:09 21538621107
>>2153377
В тех, когда возможно, что приедет нулл, и ты его используешь как-то так что будет NPE. Если совершенно очевидно что такое невозможно (например объект инициализирован еще при создании конструктором) то это нахуй не надо.
Аноним 09/09/21 Чтв 21:57:12 21541141108
>>2116244 (OP)
Кто нить делал рабочий интернет магазин на джваве?
Аноним 09/09/21 Чтв 22:00:16 21541161109
>>2154114
я делал рабочий интернет на джаве
Аноним 09/09/21 Чтв 22:03:53 21541181110
Аноним 09/09/21 Чтв 22:05:35 21541201111
>>2154114
Кста забыл дописать что за бесплатно себе/друзьям/родным
>>2154116
И как оно? Какой функционал, корзина, поиск, кэш, похожие товары и тд? Сколько времени убил? Какие проблемы были? Какой стек?
Аноним 09/09/21 Чтв 22:08:50 21541231112
Аноним 09/09/21 Чтв 22:16:54 21541321113
Аноним 09/09/21 Чтв 22:16:58 21541331114
>>2154123
Значит, встраиваемая Java Card.
Аноним 09/09/21 Чтв 22:17:59 21541341115
>>2154132
Какие шизы, какой тред? С магазинами иди к пхпшникам, на жабе такое не делают, разве что учебные пет-проекты.
Аноним 09/09/21 Чтв 22:45:21 21541531116
>>2154134
А что писать изучающему джаву на 5-7 табличек?
Аноним 09/09/21 Чтв 22:46:18 21541541117
Аноним 09/09/21 Чтв 23:04:58 21541591118
>>2154154
Я начинал один, переданный из свитера летскодовского на шаблонизаторе фримаркер. Но хотелось бы рест. И не хотелось тратить время на более глубокое понимание шаблонизатора. И я не знаю как в ресте насчёт загрузки выгрузки картинок.
Пока вот игрушечный банк пишу с кружками и одной транзакцией . Сейчас вообще две таблички. Аккаунты и переводы. С аккаунтов скоро юзеров выделю в третью. И к ней авторизацию прикручу. Нужно придумать ещё две сущности для приличия.
Аноним 09/09/21 Чтв 23:29:21 21541611119
>>2154159
> Но хотелось бы рест
Придётся тыкать JS или писать десктопный клиент на каком-нибудь свинге.
> банк
> Нужно придумать ещё две сущности для приличия.
Выбирай любую, хих.
План банковских счетов ЦБ РФ, таблицы со связками банковских операций и бухгалтерских проводок, внутрибанковские расчёты между балансами филиалов, счета в валюте, счета для драгметаллов, таблица с платёжными и кассовыми документами (ссылающаяся на "переводы"), таблица операционных дней, печать документов в соответствии с ОКУД, подписание документов ЭЦП, обязательные отчёты для ЦБ РФ, кредиты, депозиты, тарифы, инкассация.
Аноним 09/09/21 Чтв 23:39:32 21541631120
>>2154161
Я немного изучил голый жс. Смотрел до серединыплейлист летскода по вью. Сейчас оно на голом жс работает с фетчами там всякими. Может потом перепишу на вью/реакт, если станет на голом слишком неудобно.
Как раз думал про кредиты и депозиты с начислениями раз в 1 или 5 минут. Остальное что ты перечислил слишком сложное. Разве что счета в валюте присобачить и сделать автоперевод по курсу, забирая курс с какого-нибудь публичного апи.
Аноним 09/09/21 Чтв 23:49:43 21541671121
>>2154163
> Я немного изучил голый жс. Смотрел до серединыплейлист летскода по вью. Сейчас оно на голом жс работает с фетчами там всякими. Может потом перепишу на вью/реакт, если станет на голом слишком неудобно.
Норм. На голом жс можно хоть spa лепить, даже туториалы есть.
> Как раз думал про кредиты и депозиты с начислениями раз в 1 или 5 минут.
Там может и не быть начисления в реальном времени. Скорее процент рассчитается один раз на весь срок погашения, и, например, будет другой размер процента при досрочном погашении, но тоже фиксированный, рассчитываемый один раз. В общем, вариантов много.
Аноним 10/09/21 Птн 00:23:48 21541751122
Решил разобраться с I/O, написав простенькое десктопное приложение для распидорашивания картинок. Просто охуел от количества бойлерплейта, необходимого для создания блять одной сраной кнопки и прикручивания к ней возможности выбора файла. Просто пиздец бля.
Аноним 10/09/21 Птн 00:36:47 21541811123
>>2154175
Ясно. Че сказать-то хотел?
Аноним 10/09/21 Птн 00:56:17 21541881124
>>2154167
Это и есть спа, которое чистит всю страничку при нажимании на кнопки. Без роутинга естественно, он мне не нужен, хотя я читал, как сделать роутинг. Обиднее, что компонеты не уневерсальные совсем в отличии от фреймворков. Табличка аккаунтов и табличка переводов два разных компонета.
Про кредиты не очень понял.
Вообще у меня глупая идея написать 5 реализаций репозиториев, чтобы потрогать их снизу-вверх. С крудом 2 табличек и одной транзакцией. А потом уже расширять таблички. Пока написал только на голом jdbc, jdbcTemplate и дописываю spring-data-jdbc. Потом голый хибер и spring-data-jpa c которой и буду расширять таблички. Или на чем лучше делать?
Еще попробовал докеризировать(думал так фронт показывать знакомому фронту, я потратил 4 дня, а он меня закономерно кинул). С фронтом раздающимся с nginx. Но там надо проксирование джавовского порта настроить. На мануалах nginx я пока сломался. Пришлось включить игнор cors в спринге. И вообще с докером у меня сломались тесты к моим репозиториям и я даже пока не смотрел, как их чинить и снес временно. Стоит вообще под докером писать или забить на него? Там мне приходится каждое изменение делать по новой package толстого джарника и пересоздавать докер образ.
Аноним 10/09/21 Птн 01:09:57 21541911125
>>2154188
С БД достаточно потыкать jdbcTemplate и spring-data-jpa, в основном только их и юзают.
С докером сильно возиться не надо, разберись, как делать основные вещи, а всем остальным занимаются девопсы.
С тестами не очень понятно. Они не должны зависеть от окружения, там должно подниматься какая-нибудь hsqldb или h2 с эмуляцией синтаксиса настоящей БД.
Аноним 10/09/21 Птн 01:15:34 21541921126
>>2154191
а spring-data-jdbc не нужон? Туториалов на нем больше чем jdbcTemplate.
А как тесты с должны работать при деплое? Типа они прогоняются во время упаковки в джарник только? Или при каждом старте приложухи?
Аноним 10/09/21 Птн 05:53:51 21542151127
>>2154175
Ты просто долбоеб гречневый. Пиздуй в какой-нибудь RAD к дельфипидорам, у которых все готовенькое. Какие проблемы в редакторе форм кинуть кнопку, создать файл-чузер, поставить листенер и запихать одно в другое?
Аноним 10/09/21 Птн 06:52:14 21542221128
jawa-logo-640x3[...].jpg 70Кб, 640x333
640x333
>>2151896
так читать, или нет?
Аноним 10/09/21 Птн 10:39:50 21542981129
>>2154192
> а spring-data-jdbc не нужон?
Это какая-то странная полу-ORM, непонятно, зачем, если есть хибернейт, а если нужны нативные запросы, jdbcTemplate хватает практически для всего.
> А как тесты с должны работать при деплое? Типа они прогоняются во время упаковки в джарник только? Или при каждом старте приложухи?
Тесты запускаются только один раз при сборке жарника, их классы даже в жарник не попадают по дефолту. Их и нет смысла гонять каждый раз, они не зависят от окружения, и если не упали, то без изменения кода уже и не упадут.
Аноним 10/09/21 Птн 11:41:50 21543231130
image.png 15Кб, 638x112
638x112
default метод интерфейса не может оверрайдить стандартные методы Object...
но clone почему-то это не касается
Аноним 10/09/21 Птн 12:47:03 21543501131
Куда обычно хостят небольшие корпоративные приложения для небольшой компании и сколько это стоит в месяц?
Аноним 10/09/21 Птн 14:31:11 21544161132
>>2154222
нахуй путешествуй отсюда
10/09/21 Птн 15:39:59 21544531133
>>2154350
Локально. Если уже есть какие-нибудь нагрузки, то переезжают в облако. Про цену не скажу, по сути, только электричество
Аноним 10/09/21 Птн 15:58:22 21544671134
>>2154323
Держи в курсе
Если класс-предок реализует какой-то метод, то оверрайдить его в интерфейсе в состоянии "по-умолчанию" бессмысленно, потому что любой класс считается победителем в этой нестыковке. Помимо того, базовые методы вроде хэша и ту стринга завязаны на состоянии объекта, о котором интерфейс понятия не имеет, и значит он принципиально не способен реализовать вменяемую реализацию хэшсуммы или чего-то такого. Клон имеет протектед-досту в классе, то есть для использования он д б заоверрайжен энивей, но очевидно ты не смоожешь склонить стейт объекта из под интерфейса, так что то что ты написал просто хуйня без задач, разве что создать интерфейс Unclonable и кидать оттуда эксепшен "Fuck youself bitch hohoho"
Аноним 10/09/21 Птн 20:02:14 21546581135
Аноним 10/09/21 Птн 20:23:52 21546681136
>>2154658
>Можно посмотреть на то, как мы поступили с релизами Spring Framework 3.2.x и 4.3.x, чтобы понять, как это будет реализовано.
Так ниче не меняется. На 6ку перейдут не раньше чем через 2 года.
Аноним 10/09/21 Птн 20:56:25 21546881137
>>2154453
Ну мне надо в интернете захостить.
Аноним 10/09/21 Птн 22:19:46 21547581138
Привет, Анон.
Подскажите плиз такой момент. Вопрос наверное к фуллстекам.
Допустим я знаю Спринг + thymeleaf.

Достаточно ли этого для создания более-менее современного сайта, чтобы не выглядело совсем зашкварно, или же javascript так или иначе будет необходим? С жс просто совсем нет опыта...
Аноним 10/09/21 Птн 22:32:05 21547671139
>>2154416
на хуй твоя жопа хороша, дура
Аноним 11/09/21 Суб 00:02:28 21548011140
>>2154758
Можно сделать, но если сайт большой - верстка тебя заебет.
11/09/21 Суб 00:44:19 21548111141
>>2154688
Тогда авс на фри триалах
Аноним 11/09/21 Суб 03:17:32 21548431142
Почему спринг такой бесконечный?
Это вообще самый большой комбайн или есть что-то больше?
Аноним 11/09/21 Суб 09:20:08 21548661143
>>2116244 (OP)
Сап анон, нужна твоя помощь. Пытаюсь решить задачу для Яши. Так их шесть и я кое как решил одну почти, есть ошибка компиляции в блоке таймера и одна ошибка рантайма(скорее всего из за инпута данных но это не точно). Мне кажется это из за версии или какой-то такой ерунды. У них там компилятор Java 8 + network + json-simple.
В старом добром Нетбинс у меня все работает. Не знаю в чем причина. Возможно они там просрали все полимеры. Короче говоря помогите разобраться в чем ошибки.
https://pastebin.com/hBTxc4Hf
Аноним 11/09/21 Суб 09:24:41 21548671144
234432342.jpg 85Кб, 707x837
707x837
Аноним 11/09/21 Суб 09:28:14 21548691145
000000000.png 269Кб, 2518x1024
2518x1024
Аноним 11/09/21 Суб 10:10:04 21548841146
Аноним 11/09/21 Суб 13:57:50 21550211147
>>2154869
Обе ошибки компиляции за тебя решит идеха.
Уже это говорит, о том, что ты мудак и тебе не стоит отвечать по существу.
Аноним 11/09/21 Суб 14:16:55 21550301148
>>2155021
В смысле решит лол? На моей машине все компилириуется и даже в рантайме все ок. Пиздос что ты тут забыл мудила.
Аноним 11/09/21 Суб 19:03:38 21553091149
>>2154767
Зачем ты подслушивал что я говорю твоей мамке по вечерам, блядёныш?
Аноним 11/09/21 Суб 19:26:09 21553431150
Аноним 11/09/21 Суб 22:19:07 21554961151
Аноним 11/09/21 Суб 22:37:25 21555151152
Походу новых проектов на джаве в фаангах больше нет.
Скоро конец.
Аноним 11/09/21 Суб 22:40:12 21555161153
Аноним 12/09/21 Вск 01:56:23 21556011154
>>2155515
А есть какой то график кто там на чем пишет?
Аноним 13/09/21 Пнд 06:05:01 21562771155
А чего никто не перекатывает? Джава сдохла? Это конец?
13/09/21 Пнд 07:09:01 21562831156
>>2156277
Да, всё, сдохла, конец, наконец-то можно съебать в свой шарпотред и сюда не заходить.
Аноним 13/09/21 Пнд 07:47:51 21562931157
Есть функция Сollection<Integer> foo(Collection<Integer> c)
Есть ли способ вернуть наследника Сollection того же типа, что и аргумент?
13/09/21 Пнд 09:31:43 21563211158
>>2156293
<T extends Collection<Integer>> T foo(T c)
Аноним 13/09/21 Пнд 11:32:17 21564021159
>>2156277
прошлый тред даже не утонул, зачем перекатывать
Аноним 13/09/21 Пнд 18:02:08 21567191160
Почему у меня хибер сохраняет каскадно коллекцию Set, но вытянуть ее через fetch.Eager не может? Ничего не возвращает, хотя в бд данные сохраняются.
Там в сущности 3 коллекции вытягиваться должны таким образом, если это важно.
13/09/21 Пнд 18:15:51 21567271161
>>2156719
Смотри, какой запрос в базу уходит
13/09/21 Пнд 20:32:40 21568651162
fb98q0b80s151.png 6118Кб, 1802x2602
1802x2602
Ребят така вот штука хочу написать програму на Java (только учусь),для девушке . хочу написать программу в которой будет много различных мотивационных картинок (мемим) и ей нужно будет просто нажимать на кнопку (например "картинки"), а сама программа будет ей показывать рандомно картинки с различными котиками. Двач как это сделать можешь бросить видео урок?
Аноним 13/09/21 Пнд 20:43:38 21568771163
>>2156865
Какой ещё видеоурок? Это делается элементарно, читаешь в книжке главы про свинг и работу с файлами и пишешь, строк на 50 будет.
Аноним 13/09/21 Пнд 20:47:51 21568821164
Аноним 13/09/21 Пнд 20:48:48 21568841165
Аноним 13/09/21 Пнд 20:51:43 21568881166
Аноним 13/09/21 Пнд 20:53:42 21568911167
Аноним 13/09/21 Пнд 20:54:11 21568931168
>>2156888
там твсе про твою мать пишуть?
Аноним 13/09/21 Пнд 20:55:13 21568961169
Аноним 13/09/21 Пнд 23:31:40 21571121170
image.png 170Кб, 2126x1154
2126x1154
нихуясебе
13/09/21 Пнд 23:38:51 21571181171
>>2157112
Проценты каких попугаев?
Аноним 13/09/21 Пнд 23:40:09 21571211172
>>2157118
проценты от ста процентов гитхаба
13/09/21 Пнд 23:41:35 21571221173
>>2157121
Ну это точно объективная метрика, прям как TIOBE.
Аноним 14/09/21 Втр 10:35:05 21572801174
>>2157121
Грейдл это выбор для всех новых хеловордов и петшопов.
Аноним 14/09/21 Втр 11:46:21 21573121175
Аноним 14/09/21 Втр 12:22:14 21573401176
image.png 15Кб, 483x117
483x117
Project Loom походу откладывается на неопределенный срок...
Аноним 14/09/21 Втр 12:48:20 21573571177
>>2157340
Зачем нужен если есть голанг?
Аноним 14/09/21 Втр 12:53:18 21573601178
>>2157357
Потому что голанг с введением дженериков превратится в кал хуже java 1.5, но зато с горутинами.
Современной жабой вполне можно пользоваться, а вот если еще обратную совместимость с версиями <= 1.4 сломать и ввести reification, вместо нынешнего type erasure, то вообще заебись платформа будет, на которую можно будет и виртуальные треды запихивать и вообще кучу всего.
Но СУКА, почему бля в 2004 году гении из sun microsystems не смогли додуматься до того, что их дженерики будут полнейшей хуетой? Почему нельзя было просто взять и сломать обратную совместимость, учитывая, что ее и так потом частично ломали в дальшейших версиях жабы, и ломают сейчас, когда делают Strongly Encapsulate JDK Internals.
Аноним 14/09/21 Втр 13:30:41 21573841179
>>2157360
Потому что в джаве все делают на половину готовым. HttpClient без сжатия, модули без версионирования, паттерн матчинг без паттерн матчинга. Только мультилайн строки нормальные получились.
14/09/21 Втр 13:39:34 21573961180
Аноним 14/09/21 Втр 14:06:18 21574201181
Аноним 14/09/21 Втр 14:25:39 21574341182
Аноны, такое дело.

Есть один wsdl, и плагин cxf-codegen.
Превращать wsdl в конфиг (то есть, класть в ./config) не хотелось бы, но оставить его в Resources равносильно хардкоду урла эндпоинта сервера.
Есть ли возможность невозбранно пользоваться wsdl и xsd для генерации кода, но при этом урл эндпоинта выложить в yaml и где-то перезаписать в коде?

Аноним 14/09/21 Втр 14:36:45 21574391183
>>2157434
Ты все равно код генерируешь на этапе сборки, зачем тебе в рантайме менять wsdl? Даже если ты перекомпилишь код в рантайме, то твое приложение все равно не сможет использовать новые поля, а без старых просто упадет.

В общем клади в ресурсы и не парься.
Аноним 14/09/21 Втр 14:41:54 21574411184
>>2157439
Да все в сто раз тривиальнее, речи о подмене wsdl в рантайме, конечно, не идет.
Речь о том, что есть одинаковые wsdl для теста и прода, отличающиеся только урлом, soap address location.
И хочется, чтобы wsdl не был источником урла потребляемого сервиса.
Аноним 14/09/21 Втр 14:46:48 21574461185
>>2157360
>Почему нельзя было просто взять и сломать обратную совместимость
Тогда они еще дрочили на обратную совместимость. Плюс у тебя ломаются все коллекции, т.е. по факту перестанет работать все библиотеки, пока их не перекомпилят.

Вон майкам даже пришлось даже продублировать все коллекции System.Collections и System.Collections.Generic. Они решили, что они дохера умные и обойдутся compile time решением.
Аноним 14/09/21 Втр 14:48:23 21574481186
654c2f02c5ce642[...].png 39Кб, 1102x842
1102x842
Анон, помогай пожалуйста, всё уже перерывал, вообще нихуя не понятно почему так

Спасибо
14/09/21 Втр 14:56:51 21574531187
>>2157448
package com.example;
Первой строчкой добавь
Аноним 14/09/21 Втр 15:57:00 21575101188
>>2157446
Так вообще по-хорошему нужно выпилить все древние коллекции вроде Vector, Hashtable, Stack (что там еще есть deprecated?). Выпилить всю графику AWT/Swing в отдельный проект, как это было с JavaFX. Все равно свинг по факту мертв, и умеет работать нормально только виндой, да и там с багами. А под Wayland только в режиме совместимости с X11. И не факт, что бекенд свинга перепишут чтобы он на вяленом мог нативно работать.
Нужно наконец обновить дженерики, вместе с вальхалой сделать реификацию типов, чтобы наконец можно было вызвать T t = new T();
Наконец завезти Loom и Tsan.
Я считаю это план минимум на следующие лет 5-7 для жабы.
Аноним 14/09/21 Втр 16:22:12 21575281189
>>2157510
>JavaFX
Внезапно норм фреймворк для высирания проги на коленке, зря выкинули хотя десктоп сдох ака переехал на жабаскрипт
Аноним 14/09/21 Втр 16:38:09 21575371190
Аноним 14/09/21 Втр 16:49:50 21575461191
>>2157510
>Так вообще по-хорошему нужно выпилить все древние коллекции вроде Vector, Hashtable, Stack (что там еще есть deprecated?).
План огонь! Тогда весь энтрепрайз с 8-ки вообще не слезет.


>Выпилить всю графику AWT/Swing в отдельный проект
Есть сильное подозрение, что без интринзиков Swing будет слишком сильно тормозить. inb4: SWT не тормозит, потому что там основная логика по отрисовке в нативном коде


>чтобы наконец можно было вызвать T t = new T();
Охуеть! А кто будет гарантировать, что у T есть дефолтный конструктор?
Аноним 14/09/21 Втр 16:56:21 21575521192
d2b90e98e8bc056[...].jpeg 32Кб, 483x604
483x604
Анон, а расскажи какие бывают типы проектов по джаве в энтерпрайзе. Мб как-то класссифицировать можно

например:
- Консольный приложения
- REST-сервисы (монолиты, микросервисы)
.
.
.
- что -то еще

Я прост толком больше и не знаю.
А чтобы вкатываться куда-то, хорошо бы представлять и оценивать: интересно/не интересно это будет.. как сложно и все такое
Аноним 14/09/21 Втр 17:34:05 21575921193
image.png 106Кб, 875x701
875x701
>>2157546
>весь энтрепрайз с 8-ки вообще не слезет
Ну раз в энтерпрайзе до сих пор используются древние коллекции (которые депрекейтнули лет 20 назад?), то такому энтерпрайзу можно посочувствовать.
А вообще у меня есть подозрения, что те, кто до сих пор на восьмерке сидят (а их большинство), на ней и останутся в течение следующих 10 лет, так как что 11 версия, что 17 - нихуя нового не принесли, а Loom и вальхалла будут ближе к 29 версии, я думаю за это время значительная часть джава разрабов начнет уходить на пенсию, или вовсе на тот свет.

>>2157546
>без интринзиков Swing будет слишком сильно тормозить
А что мешает использовать интризинки после выпила свинга в отдельный пакет? К тому же поддержка свинга через 4 года уже заканчиается, я не уверен, что потом ее кто-то будет продлевать, ибо свинг сдох. Даже в jetbrains начали пилить новый движок для иде, где, вероятно, джава-гуи уже не будет от слова совсем.

>>2157546
>А кто будет гарантировать, что у T есть дефолтный конструктор?
Компилятор, как в C#/С++ например, а кто же еще?
Аноним 14/09/21 Втр 17:50:17 21576061194
Кстати забавно, что в оракле решили выпускать джаву каждые полгода, типа чтобы не было застоя, как раньше, но в итоге, начиная с 8 джавы 2014 года выпуска, за 7 лет никаких масштабных фич так и не добавили.
Аноним 14/09/21 Втр 17:54:37 21576111195
Хотя может все не так плохо. Следующий LTS релиз будет через 2 года. хотя все так на восьмерке и будут сидеть

>So, let’s ship an LTS release every two years.

https://mreinhold.org/blog/forward-even-faster
Аноним 14/09/21 Втр 18:04:47 21576191196
А если тут троли-шарписты, расскажите как он развивался последние лет 10 в сравнении с джавкой.
Аноним 14/09/21 Втр 18:11:20 21576281197
>>2157619
>расскажите как он развивался последние лет 10
Под громкие кукареки индусов был выпущен псевдо кросплатформенный net core, потом его дропнули в пользу .net5+ на пиар компанию которого влили кучу денег, но как видно шарп так и сдох на пути в светлое будущее, а у майкрософт новая игрушка в виде better javascript.
мимо был шарп в вузе
Аноним 14/09/21 Втр 18:12:42 21576291198
>>2157619
Ну я не шарпист, но по ощущениям там реально больше прогресса было. Тот же выкат в опенсорс, .net core -> .NET, ASP.NET MVC -> ASP.NET Core, Blazor (который уже полноценно в вебассембли крутится), AOT компиляция, memory native, новый UI фреймворк для десктопов + хуй пойми сколько синтаксического сахара, которого даже в котлине не найдешь.

В жабе с момента выхода 8 жабы только чутка сахарочка насыпали, а в самой 8 жабе из очень значительного только стримы и completableFuture.
Аноним 14/09/21 Втр 18:14:50 21576321199
>>2157628
>как видно шарп так и сдох на пути в светлое будущее
Чому сдох? В РФ может и не шибко популярен, но спустя какое-то время может вполне взлететь.

Плюс жабы в том, что у нее есть огромный спринг + всякие поделия для микросервисов и распределенных систем вроде зоокипера, хадупа, эластика, которые писались лет 10-15 назад, когда кроме жабы не было ничего адекватного.
Аноним 14/09/21 Втр 18:23:13 21576411200
>>2157552
> - Консольный приложения
> - REST-сервисы (монолиты, микросервисы)
Нет подобной классификации. Консольные утилиты могут юзаться разрабами или сопровождением, но у пользователей исключительно гуй, обычно веб или мобильное, иногда бывает и десктоп.
Само серверное приложение может использовать REST, SOAP, различные очереди сообщений, вебсокеты, причём всё одновременно.
Аноним 14/09/21 Втр 19:14:54 21577121201
>>2157592
>Ну раз в энтерпрайзе до сих пор используются древние коллекции (которые депрекейтнули лет 20 назад?), то такому энтерпрайзу можно посочувствовать.
Понятно, что сами коллекции напрямую не используются. Там могут быть всякие старые версии библиотек, через пять транзитивных зависимостей. Вот например cglib https://github.com/cglib/cglib/blob/975e481faf39c91b8ac5b9b3d62822b7c52c5f47/cglib/src/main/java/net/sf/cglib/transform/AbstractProcessTask.java
А она используется сплошь и рядом и давно не релизилась.


>А что мешает использовать интризинки после выпила свинга в отдельный пакет?
То что интринзик это часть JIT. Одно дело у тебя байткод и интринзик для него гарантировано одной версии, а другое когда у тебя сторонняя библиотека которая может быть любой версии.
Чисто теоретически после JEP 412 это уже не должно быть проблемой. Выйдет посмотрим что там с перфомансом JetBrains Composer, сможет он утереть нос Свингу или нет.


>Компилятор, как в C#/С++ например, а кто же еще?
Там такой уйобищный синтаксис для этого, что нахуй надо.
Аноним 14/09/21 Втр 19:57:17 21577571202
>>2157611
>>хотя все так на восьмерке и будут сидеть
Через полтора года же выходит спринг6/бут3 с минимальными требованиями - джава 17.
Хотя они и 5/2 будут поддерживать еще лет 10.
14/09/21 Втр 20:07:14 21577771203
>>2157757
Сейчас до сих пор есть проекты на спринг 3 / struts. И я подозреваю, что это еще не самое старое
Аноним 14/09/21 Втр 20:08:49 21577801204
>>2157777
Проекты без спринга.
14/09/21 Втр 20:10:17 21577841205
>>2157780
Ни разу в жизни голое ее не видел
надеюсь, что и не увижу
Аноним 14/09/21 Втр 20:13:08 21577871206
>>2157784
Есть кое-что поинтереснее. Проект на PL/SQL с простенькой обёрткой-фасадом на ЕЕ, чтобы через вебсервисы дёргались хранимки.
Аноним 14/09/21 Втр 20:54:11 21578521207
Как готовиться к самим собесам непосредственно?
Аноним 14/09/21 Втр 20:56:10 21578561208
>>2157852
google://топ 100 вопросов на собеседовании java
google://все методы класса Object
Аноним 14/09/21 Втр 21:04:20 21578671209
Аноним 14/09/21 Втр 21:58:41 21579051210
Анон, помоги/подскажи.
Устроился в компанию на стажу (аплодисментов не надо, я долбаеб, обосрусь от шума). Выдали тучу литературы, сказали "читай, вникай", пообещали тестирование в конце месяца по результатам которого я либо пойду нахуй, либо останусь дальше. Книжки типа Эккеля, Шилдта, Блоха. Кто-нибудь сталкивался с подобной хуйней? К чему готовиться/в какую сторону воевать? Помогите, не бросайте, я боюсь ебли
Аноним 14/09/21 Втр 22:03:05 21579131211
>>2157905
Хуйня какая-то, у нас стажёрам сразу дают реальные задачи, хоть и самые простые из имеющихся.
Аноним 14/09/21 Втр 22:22:57 21579331212
>>2157905
Тебе хоть платят-то?
Аноним 14/09/21 Втр 22:25:49 21579361213
Аноним 15/09/21 Срд 07:20:12 21580501214
>>2157905
Думаю через месяц тебе просто проведут стандартное собеседование на джуна, поспрашивают по коллекциям, зачем волатайл нужен, в каком порядке кетч-файнали работают, иерархию эксепшенов и тп. Если решат что ты необучаемый и ничего не знаешь - найдут более упругого.
Аноним 15/09/21 Срд 09:16:07 21580801215
>>2157641
Я спрашиваю с точки зрения разраба, черт с теми пользователями
Аноним 15/09/21 Срд 10:34:21 21581451216
Дайте план успешного джава-разработчика в энтерпрайзе, плез.
Какие шаги/этапы нужно пройти?
От джуна до синьора
Аноним 15/09/21 Срд 10:56:43 21581551217
>>2158145
Устраиваешься
Ебашишь, ебашишь, ебашишь
Аноним 15/09/21 Срд 10:56:46 21581561218
>>2158145
Джун > писоешь > какоешь > Синьор
Аноним 15/09/21 Срд 10:57:33 21581571219
>>2158145
Снимаешь трусики.
Смазываешь попочку.
Ныряешь в 20летнее легаси
Аноним 15/09/21 Срд 12:25:47 21582351220
Аноним 15/09/21 Срд 12:40:01 21582431221
>>2158235
Какой вопрос - такой и ответ.
Аноним 15/09/21 Срд 14:55:59 21583621222
Поясните пожалуйста. Как мапится сущность из фронта в бэке? Вот есть диалоговое окно, в котором я делаю сущность аналогичную той энтити, которая ява-энтити. Но из фронта идет джсон, а ява-сущность она не джсон, там разные поля, разные классы, разные связи между ними. Как мою фронт-сущность прокинуть в хибернетовскую?
Аноним 15/09/21 Срд 15:09:49 21583781223
>>2158362
Обычно делают 2 сущности, одна DTO для сериализации в API, другая Entity для сохранения в базу. DTO и Entity не должны быть один к одному, чаще всего часть данных из Entity не попадает в DTO.
15/09/21 Срд 15:18:25 21583911224
>>2158378
А можно ещё делать несколько видов дто. Для разных эндпоинтов
Аноним 15/09/21 Срд 15:38:48 21584081225
>>2158378
А где в этом случае создаются объекты, вот есть джсон из фронта, я должен сделать дто, и класс конвертр, и в этом классе-конверторе создать объекты?
15/09/21 Срд 15:48:05 21584171226
>>2158408
В спринге есть objectmapper, который перегоняет жсон в объект. Ну а так да - доставать тело из реквеста ручками и перегонять в объект
Аноним 15/09/21 Срд 16:33:52 21584451227
>>2158408
DTO создается автоматом из реквеста - просто десериализуется JSON, все современные REST движки умеют такое.
А дальше варианты: если сущность создается то создаешь Entity, заполняешь поля из DTO, дефолтные значение и т.п. и сохраняешь в базу. Если изменить - грузишь по ID из базы, меняешь те поля которые пришли в запросе, какие-то дефолты можно поменять например кто и когда обновлял и сохраняешь в базу.

Все это разумеется сопровождается проверками входных данных, разрешений и прочее.
Аноним 15/09/21 Срд 17:15:42 21584921228
Ебать вы тут тонете, еле трэд откопал.

Такой вопросик : в maven/junit5 есть способ вывести список всех тест-кейсов в сосноль?
Аноним 15/09/21 Срд 19:17:40 21585881229
>>2158492
То есть всех методов с аннотацией @Test? Вряд ли.
Аноним 15/09/21 Срд 21:42:26 21586601230
Че скажете про velocity темплейты?
Аноним 15/09/21 Срд 21:48:48 21586611231
>>2158660
В проде ты их вряд ли встретишь, как и другие шаблонизаторы.
Аноним 16/09/21 Чтв 00:14:36 21587351232
Аноним 16/09/21 Чтв 09:47:37 21588831233
>>2158735
Еще скажем, что иногда в проде встретить шаблонизаторы все же можно - там, где нужно генерировать email'ы или какие-то тексты уведомлений/рассылок.
Аноним 16/09/21 Чтв 10:19:43 21588981234
>In fact, two-thirds of the uses of the close method in the
Java libraries were wrong in 2007.

Почему освобождение ресурсов всегда сопровождается болью и невыносимыми мучениями? Все эти try-catch-finally, try-with-resources, так или иначе там куча подводных камней.
Аноним 16/09/21 Чтв 11:52:22 21589631235
>>2158243
Вопрос заебательский
Аноним 16/09/21 Чтв 11:53:13 21589641236
>>2158362
>ява-сущность
Дальше не читал
16/09/21 Чтв 11:58:11 21589661237
Аноним 16/09/21 Чтв 11:59:50 21589681238
Аноним 16/09/21 Чтв 12:23:58 21589881239
>>2158968
Забей, джава мертвый язык особенно для карьеры молодого разработчика
Аноним 16/09/21 Чтв 13:31:34 21590571240
>>2158988
Обоснуй мертвость.
Аноним 16/09/21 Чтв 13:47:30 21590721241
>>2158988
>>2159057
Шарпобляди смачно соснули с проглотом.
Аноним 16/09/21 Чтв 15:53:18 21591891242
Подскажите какими хардскилами должен джун обладать. Что нужно уметь крудошлепить чтоб гордо зваться джуном?
Аноним 16/09/21 Чтв 16:09:46 21592041243
>>2159189
java-core
Коллекции
Springboot,data,web
sql
git
знать немного о паттернах
иметь представление об алгоритмической сложности
юнит-тесты
docker
системы сборки
уметь бахнуть RESTful Api (CRUD)

ящитаю
Аноним 16/09/21 Чтв 17:25:44 21592891244
Пытаюсь сделать конвертр из/в ДТО мапстрактом. Все стандартно. Есть лист сущностей. Но все разваливается вот трейсстек
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Thu Sep 16 17:10:58 MSK 2021
There was an unexpected error (type=Internal Server Error, status=500).
Cannot invoke "com.amr.project.converter.UserMapper.toListDto(java.util.List)" because "this.userConverter" is null
java.lang.NullPointerException: Cannot invoke "com.amr.project.converter.UserMapper.toListDto(java.util.List)" because "this.userConverter" is null

Маппер весь стандартный, пробовал поля ему прписать вот так @Mapping(source = "id", target = "id"), может он не понимает, но они все совпадают.
Лист вот так прописан: public interface EmployeeMapper {
List<EmployeeDTO> map(List<Employee> employees);
}
Что еще надо?
16/09/21 Чтв 17:46:51 21593021245
>>2159289
@Mapper(componentModel = "spring")
И лучше инжектить блины через конструктор. Тогда бы у тебя все упало в момент запуска приложения
16/09/21 Чтв 17:50:15 21593081246
Аноним 16/09/21 Чтв 19:29:38 21593841247
>>2159308
Блины лучше инжектить через рот в желудок.
16/09/21 Чтв 19:35:50 21593881248
>>2159384
Рот - адаптер к желудку. Гексагональная архитектура вырисовывается
Аноним 16/09/21 Чтв 20:00:00 21594011249
>>2159302
А если у сущности и у ДТО есть Set<Role> как он будет мапиться по умолчанию? На фронте в инпут поле просто USER, например. Мне наверное этот мэпстракт ничем не поможет, надо руками писать конвертер и там создавать объект, и в ДТО все поля должны быть Стринг наверное, и тогда вот этот Стринг пихать в созданный Сет ролей. Я запутался чет совсем..
16/09/21 Чтв 20:01:35 21594031250
>>2159401
Ещё и меня запутал. Кидай 2 объекта, а ещё лучше - не используй мапстракт, и пиши мапперы ручками
Аноним 16/09/21 Чтв 20:05:58 21594111251
>>2159204
Понял, спасибо. А на самом спринге что нужно уметь делать? Можешь пример задач привести?
16/09/21 Чтв 20:12:29 21594161252
>>2159411
Код писать, разумеется. Анон выше писал про круд
мимо
Аноним 16/09/21 Чтв 20:24:34 21594251253
>>2159403
т.е. мапстракт не умеет ничего делать с полями класса которые сложнее примитивных типов?
16/09/21 Чтв 20:34:50 21594281254
>>2159425
Умеет. Но потом такая срань начинается. 1000 аннотаций в которых невозможно разобраться
Аноним 16/09/21 Чтв 21:49:58 21594671255
Что делать если я не могу пользоваться структурами сложнее листа, я интуитивно не могу юзать map, не могу нахуярить стрим какой-нибудь, это сложно для меня. Хотя я честно прочитал про штук 50 его методов, но не запомнил нихуя.
Аноним 16/09/21 Чтв 22:01:59 21594771256
>>2159467
Бросай программирование.
Аноним 16/09/21 Чтв 22:02:21 21594781257
Есть поток сообщений. У каждого сообщения есть id и список потомков. Как из этого потока построить иерархическую структуру, чтобы иерархия была правильной?
Аноним 16/09/21 Чтв 22:25:05 21594921258
>>2159477
Столько времени на это потратил
Аноним 16/09/21 Чтв 22:51:21 21595071259
>>2159467
ты так сразу и не сможешь это освоить, нужно время и практика применения, попробуй почитать для начала что-то нибудь про алгоритмы и структиры данных для новичков, посмотри на жабовские исходники и как в них это структуры реализованы. А потом попытайся накидать какой-то pet-project где это все применишь. Мозгу в любом случае нужно время что бы перестроиться под другой тип мышления (я так понял ты самоучка, так как подобные приколы в универах еще на 1 курсе проходят)
16/09/21 Чтв 23:42:10 21595261260
>>2159478
Map<Integer, Message> messageId2Parent

Когда приходит сообщение, проверяешь: есть ли в мапе ид. Если нет, то это рут. Потом идёшь по его потомкам. Если потомок уже есть, прикрепляешь его к вершине. Также все ид добавляешь в мапу
Аноним 16/09/21 Чтв 23:56:52 21595311261
>>2159526
Нихуя ты умный. Рут не один. У каждого сообщения независимо от уровня вложенности должна быть ссылка на рут своей иерархии.
17/09/21 Птн 00:06:18 21595371262
>>2159531
Ну так у тебя и будет несколько рутов. Точнее, их количество может быть больше одного
17/09/21 Птн 00:10:22 21595381263
>>2159531
> У каждого сообщения независимо от уровня вложенности должна быть ссылка на рут своей иерархии.
Тут скорее всего придется за глубину дерева рут узнавать, ибо рут может поменяться.

Если же у тебя рут 100% не меняется, либо если ты строишь деревья сверху вниз, то ты можешь у каждого сообщения хранить рут, и при добавлении потомка просто копировать ссылку на рут
Аноним 17/09/21 Птн 00:22:46 21595451264
>>2159538
>ибо рут может поменяться.
Ага, в этом и проблема. Поток сообщений типа непрерывный, в какой момент надо узнавать рут?
17/09/21 Птн 00:28:03 21595501265
>>2159545
Тогда делай динамически.
Типа сейчас рут - Х. После пришло сообщение Y, где Х - потомок, значит теперь рут Y.
Но у потомков X рутом все ещё считается X. При поиске настоящего рута мы берём рут мессаджа, потом рут рута и и т.д. Возможно, руты стоит пересчитывать иногда, чтобы не было длинных цепочек рутов
Аноним 17/09/21 Птн 00:29:50 21595551266
>>2159550
>Возможно, руты стоит пересчитывать иногда
В какой момент?
17/09/21 Птн 00:31:11 21595581267
>>2159555
Зависит от данных. Если у тебя деревья вытянутые, то довольно часто. Если широкие, то наоборот. Посчитай
Аноним 17/09/21 Птн 00:34:29 21595601268
>>2159558
Э, не, я не об этом. У меня поток сообщений, руты могут в любой момент поменяться. Если пересчитывать слишком редко, то временное хранилище, которое хранит список айдишников, для которых рут не пересчитывался, будет переполнятся и падать с ООМ. Если пересчитывать слишком часто, на ходу, то иерархии будут получаться неправильные, потому что к моменту подсчета рута пришли еще не все сообщения.
Аноним 17/09/21 Птн 00:37:10 21595621269
>>2159467
Задачки решаешь. Не можешь решить за 10 минут сам - ищешь ответ в комментах или в гугле.
https://stepik.org/course/2403/syllabus
https://stepik.org/lesson/12776/step/1?unit=3124
https://stepik.org/lesson/12781/step/1?unit=3128
И не надо просто читать книгу/доку. Читай код побольше. Во всех норм учебниках он есть. Открываешь в иде, запускаешь, читаешь код, запускаешь. Крутишь, меняешь, особенно там, где не совсем ясно, как работает, запускаешь.
И потом делаешь свои примеры. Например берешь последние 2 главы из книжки/тутора. Одну из последних задачек. Придумываешь им общий кейс, копипастишь из 3-5 прочитанных до этого мест код, собираешь их в одну программу и меняешь под требования кейса.
17/09/21 Птн 00:42:17 21595651270
>>2159560
Пересчитывание рута на память никак не влияет же. Только на скорость поиска. Нет?
Аноним 17/09/21 Птн 00:49:16 21595681271
>>2159565
Надо знать для каких сообщений необходим пересчёт рута. Если это делать периодически для всех сообщений в базе, то работать будет очень долго.
17/09/21 Птн 00:50:57 21595691272
>>2159568
Я спать пойду. Если будет интересно, завтра можем продолжить
телега @awelless
Аноним 17/09/21 Птн 01:14:56 21595751273
Перекат будет?
Аноним 17/09/21 Птн 02:13:50 21595901274
TP1viV7XEo.jpg 243Кб, 1388x1152
1388x1152
Аноны, а как в вашей конторе отреагировали, если бы кто-то поставил аниме на аватарку?
17/09/21 Птн 08:29:07 21596551275
Аноним 17/09/21 Птн 08:41:44 21596601276
>>2159590
На рабочем аккаунте? Будешь объяснительную писать в отделе кадров
Аноним 17/09/21 Птн 09:26:47 21596751277
>>2159411
Ну смотря куда ты устраиваешься, анон
>уметь бахнуть RESTful Api (CRUD)
В моем случае этого хватило

Джуну не обязательно прям ахуенно глубок все знать и уметь. Надо уметь в основы и знать дохуя технологий хотя бы поверхностно. Хотя бы чтоб слышал о них. Потому что на собесе могут спросить любую хуиту. Мне на одном интервью по простыне вопросов блиц устраивали.
Так что мой тебе совет: видишь какое-то новое для себя название технологии - пиздуй гуглить, чтобы хотя бы в двух словах мог об этом потом пиздануть.
Ну и оч важно для джуна (и не только) - писать кода больше, не зарываясь в теорию. Я сам от этого страдаю и лечусь
Аноним 17/09/21 Птн 09:27:36 21596761278
>>2159590
Добавили бы в рассылку baka_dev
Аноним 17/09/21 Птн 10:27:09 21597061279
Аноним 17/09/21 Птн 11:05:39 21597231280
Аноним 17/09/21 Птн 11:21:43 21597291281
>>2159676
Блин, я теперь ещё больше хочу попробовать, что если у нас такая есть.
Аноним 20/09/21 Пнд 21:10:53 21622781282
Аноним 28/09/21 Втр 22:06:33 21695251283
140899675515669[...].jpeg 94Кб, 503x711
503x711
8ohffle7awy01.png 274Кб, 2518x1132
2518x1132
af92554b44eec12[...].jpg 42Кб, 591x960
591x960
16277514484770.jpg 144Кб, 918x750
918x750
Запостите штоле какие-нибудь мемчики про жабу.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов