Двач.hk не отвечает.
Вы видите копию треда, сохраненную 10 ноября 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
JAVA THREAD #117 [LTS] /java/ 2458869 В конец треда | Веб
JAVA THREAD #117 [LTS]

Что такое Java?
Java - язык программирования с классами (aka объектно ориентированный), где нужно явно указывать тип объявляемых переменных (aka со строгой типизацией).
Заебись. А что ещё делает Java лучшим языком программирования?
- На Java написано столько всего, что любая твоя невообразимая идея уже существует в виде библиотеки, которую можно скочать и юзать
- Java - мультипарадигменный язык, тут можно писать в любом стиле, который тебе вздумается, даже к памяти можно получить доступ через Unsafe, но, при этом спроектирован язык для того, чтобы на нём писали в ОО-стиле.
- От прошлого пункта плавно перешли к отличной проработке языка - язык с самого начала задумывался как язык для ООП и многопоточности, благодаря чему писать чистокод на Java легче лёгкого!
- Java - относительно молодой язык, который до сих пор активно развивается жидами из Oracle, при этом почти неполживо опенсорсно.
- Java следует принципу write once во всём. Java никогда не ломает обратную совместимость - твой код, написанный на Java 1.2 будет работать на Java 18 - и не зависит от платформы, являя из себя единственный полностью кроссплатформенный язык с кроссплатформенной экосистемой (если не считать языков-паразитов на JVM).

Тред по жабе на гитхабе: https://github.com/java2ch/java-thread
Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki

Предыдущий: >>2443253 (OP)
2 2458879
Шарпы > жаба.
Жабофилы, перекрывайте.
3 2458889
>>458879
Ну нравится тебе сосать хуй майкрософтов, ну почему нельзя тихо сосать? Нам, адекватным господам до этого дела нет
4 2458890
>>458889
Почти квадрипл был блен
sage 5 2458892
Жаба гораздо хуже, чем шарп.
А уж опхуй, перекатывающий до 1000, вообще за гранью доьра и зла.
6 2458893
>>458892
Просят же джентльмены, сосите в уголке и не чавкайте
sage 7 2458895
>>458893
Кто просит? Ты самолично принял это решение.
8 2458897
>>458895
Просят петушарперов не срать в жаба тредах, а не перекатывать, разумеется.
sage 9 2458905
>>458897
В итоге тред висит на первой странице, залётные петушарперы его видят и срут до самого бамплимита.
10 2458911
>>458869 (OP)

>где нужно явно указывать тип объявляемых переменных (aka со строгой типизацией)


В петухоне строгая типизация, шах и мат
11 2458912
>>458911
Чё? Там же можно писать говно типа

variable = new Double();
variable = "50";
variable2 = 10+variable;
12 2458914
>>458912
В джаве тоже можно.
Сложи инт с лонгом.
13 2458956
>>458914
Это называется автокастинг
sage 14 2458966
>>458911
Как всегда путают строгую и статическую типизацию
sage 15 2458989
В /pr есть мочух? Пусть забанит этого перекатчика сраного
16 2458991
Оп, ты читал книгу с первого пика? Как тебе? Я просто The Definitive Guide v2 пока даже не дочитал(7 глав прочел). Хотел сперва их обе прочитать, но тасок с кафкой еще месяца два не будет, начал другие штуки читать.
Вот думаю, когда вернусь к кафке какую дочитать?
Видел в интернете сравнение, что эффективная лучше первого издания гайда. Но второе издание на год свежее.
17 2459006
Ява ыыы))) а тыыы пишеш нааа явеееее???? Яввааа ЯВААА
sage 18 2459014
>>458989
Бесполезно, правила-то формально он не нарушает.
sage 19 2459036
Положняк треда:
ОП - петух
Кубернетес - сервер приложений
Джава - не нужна
Сишарп - топ
20 2459037
>>458879
>>458892
>>458989
>>459006
>>459036
Репорт петушарподегенератам.
21 2459046
>>458956
Это синоним понятия "слабая типизация".
Я вообще о чём: сильная-слабая это условные понятия. Так-то даже в го (петухоланге?) есть неявные касты, но он щитается сильно типизированным, как и питухон (и жаба).
А статическая-динамическая не мешает языку быть строго-нестрого типизированным, можно строго типизированный питухон иметь, а можно нестрого типизированную сишку.
22 2459047
>>459036
Петушарперу - не сидится в своём треде, ведь петушарп не нужный язык.
23 2459099
>>458869 (OP)

> 3


Даже в питухоновском джанге менее магическим код кажется
24 2459105
>>459099
Не кажется.
25 2459138
>>458869 (OP)

>2


Это вы так спизженным linq хвастаетесь или че?
26 2459149
>>459138
Неужели у тебя говностримы ассоциируются с божественным LINQ?
27 2459249
>>458869 (OP)

> JAVA THREAD #117


нахуя
28 2459301
>>459138
Это кек из прошлого треда, когда местные ментальные диды охуели от существования ленивых вычислений и свалили это на оптимизации жвм.
29 2459307
пока шарпист получает 300к/нс, любители мототехники получают пиздов от Кабан Кабаныча
30 2459326
>>459138
>>459149
На самом деле стримы были спизжены по большей части из скалы, нежели из шарпа.
31 2459331
>>459046

>как и питухон


В каком месте питухон у тебя сильно типизированный?
Ты его с перлом не попутал, случайно, лол?
32 2459333
>>459331

>Ты его с перлом не попутал, случайно, лол?


В перле как раз полно неявных кастов, в отличие от
zhatnik118251112orig.png169 Кб, 421x468
33 2459334
>>459249
Да пусть перекатываю, тебе жалко?
34 2459336
ЯВА ЯВА НЕ ДРОЖИ КАБАНЫЧ
35 2459339
>>459331
Нет, питухон как раз таки с сильной динамической типизацией.
А вот чистая сишка - со слабой статической.
36 2459343
Java против C# в 2022г

https://www.cisin.com/coffee-break/technology/c-vs-java-which-is-better-for-building-your-product-2022.html

если коротко, C# выигрывает в скорости сгенерированного кода, а Java в безопасности.
37 2459345
ЯВУ ЯВУ ПАМЯТЬ НАХАЛЯВУ
38 2459349
>>459339
А почему у жабки и петухона сильная, а у сишки слабая? Какие там есть неявные кастинги, из-которых она слабая?
39 2459352
>>459349

>Какие там есть неявные кастинги, из-которых она слабая?



if (1337) { fuck_you(); }
40 2459357
>>459352
А где тут кустинг? В стандартной библиотеке си 89 просто нет булевых типов.
41 2459360
>>459357

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


Можно подумать в той версии стандарта, где есть булевы типы так сделать не получится и компилятор выругается если в условие положить что угодно кроме булева.
А ещё всё есть воид поинтер и наоборот.
42 2459361
>>459360
Более поздние стандарты - это обратная совместимость.
А разве кустинг к войд поинтер не должен быть явным?
43 2459364
>>459361

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


Тут я немного про другое хотел сказать: в сишке помимо прочего и типизация ещё и не совсем статическая, ибо через войд поинтеры можно "терять" типы и кастовать всё во всё.
44 2459488
>>459343

> By Prachi D


Копирайтерский высер от индуса
45 2459496
arrayList=()
arrayList+=("мам я долбаеб")
46 2459498
>>459496
Блять ты будешь еще год тот пост вспоминать?
47 2459507
>>459496
Не хватает такого сахарочка. Джава программы выглядели бы лучше тогда.
48 2459524
>>459498
Смешно же.
49 2459540
>>459507
Да нет уж, нахуй такое не нужно.

Вот тот сахар, который есть в Groovy - это то, что надо.
И то даже, местами, лишнее.

Масса туповатых анальников не понимает простой вещи - джава - это простой язык. С простым синтаксисом. Это позволяет человеку читать его на уровне бессознательного. И это позволяет делать очень хорошие IDE, анализаторы и т.п. - инструментальная поддержка у джавы - на порядок лучше, чем у любого другого языка.
50 2459580
>>459540
Что может идея делать с джавой, из того что не умеет студия делать с шарпом?
51 2459582
>>459507
Это не сахарочек, это Bash
52 2459628
>>459582
Говняш.
= () можно читать как литерал пустого списка
+= () соответственно addAll
53 2459742
>>459496
мутабельные листы не нужны
54 2459746
>>459524
Ты целый гор не переставая смеёшься с одной и той же шутки? Обратись к психиатру, серьёзно.
55 2459748
>>459746
Он постит это раз в пару тредов, поржал и забыл на следующий месяц.
56 2459752
>>459748
Постит раз в пару тредов, а ржёт постоянно.
57 2459755
>>459746

> к психиатру


Пускай лучше на работу наконец устроится.
58 2459757
Идея написана на джаве, а студия на чём? Есть над чем задуматься..
59 2459764
>>459757
Главное, о чём стоит задуматься - это тот факт, что компилятор жабы написан не на жабе.
60 2459794
>>459764
Хочешь сказать что это невозможно или что?
61 2459806
>>459764
А на чем была написана прошивка кофеварки того, кто писал компилятор С? Синк эбаут зис мэн
62 2459808
На джава пишется бизнес логика.
63 2459812
>>459808
Кэп
64 2459825
>>459752
Ну потому что смешно же.
65 2459827
Подскажите бесплатный сервер, где я смогу хранить файлы .minecraft.
То есть, что бы их можно было скачать с сервера на пк через класс URL. Раньше помогал бесплатный Ucoz, но недавно оттуда стало невозможно выкачивать файлы и я хз почему :с Может хостинг кто знает бесплатный для этого ?
66 2459830
>>459827
localhost
67 2459845
>>458869 (OP)
Аноны, босс дал задание парсить профили на фейсбуке, я хз с чего начать. Java подойдет для этой цели?
68 2459856
>>459845
Нет, бери питон.
69 2459875
>>459856
По существу вопросов не имею, петухон это как раз язык для гнилых задач и копроработы - спам и прочие помехи людям. Только вот называть петухон надо правильно. Петухон - петухон. Питон - животное.
70 2459896
>>459827
github.com
71 2459897
>>459845
Подойдет что угодно в чем ты разбираешься.
72 2459910
>>459845

>парсить профили на фейсбуке


Python однозначно. Зачем что-либо еще, когда для парсинга питон является де факто стандартом?
На жабе конечно есть jsoup, но нахуя целую жабу для такого тащить?
73 2459912
>>459764

>компилятор жабы написан не на жабе


Ебан? Компилятор как раз таки на жабе написан. А вот сама JVM уже на С++.

https://github.com/openjdk/jdk/tree/master/src/jdk.compiler/share/classes/com/sun/tools/javac
74 2459915
>>459757

>студия на чём


Сишарп + легаси параша на С++, которую они 20 лет портировали на х64.
75 2459919
>>459910
Я другой анон, но мне тоже хочется написать парсилки для личных нужд. Пока забивал на это дело.
Ну jsoup я немного ковырял. На жабе уже год работаю. А питон я в глаза видел раз 5, почти не знаю его синтаксис.
Мне все равно брать питон?
76 2459924
>>459919
Ну для личных нужд можешь на чем угодно писать, jsoup вполне позволяет это делать на жабе, никто не запрещает. Просто если делать кому-то парсер под заказ, то лучше на питухоне, просто потому что так принято.
77 2459938
>>459924
Ну а по функционалу у питонячих либ есть преимущества? Или все преимущество, что jvm не надо тащить?
78 2459945
>>459938
jsoup жабы и beautifulsoup у питона по сути одно и то же с одинаковым функционалом, jsoup - это порт bs с питона на жабу. А кроме этого я ничего не использовал, увы
79 2459953
>>459875
Лол
80 2459956
Накидайте пожалуйста интересных библиотек (spring и hibernate не интересные).
1536270154358.png5 Кб, 375x121
81 2459963
>>459912
лол
82 2459965
>>459956
Двачую.
84 2459972
>>459956
Для каких задач?
85 2460096
>>459910

>де факто стандартом


Стандартом для парсинга является Perl.

Питон - хуита для детей.
Собственно, с этим и связана его популярность в последние годы - на нём пишут не- или недо- программисты.
86 2460097
>>460096
Питон - новый перл.
87 2460102
>>460096
Можно говорить что угодно, но перл умер, и ничего с этим не сделать. Для говноскриптов на 50 строчек для парсинга, переименовывания файлов и других подобных говнозадач надо юзать петухон или жопаскрипт, и все прекрасно обходятся без $_ =~ y/a-z/A-Z/ unless $_ m/q/;
88 2460130
>>458869 (OP)
Есть ли жизнь вне спринга в бэкенде?

человеческие фреймворки вобще есть?
89 2460132
>>460130
Каковы критерии человеческого фреймворка? Чем спринг не устраивает?
90 2460140
>>459912
А чем компилируется компилятор джавы?
91 2460167
>>460140
Компилятором джавы.
92 2460170
>>460130
Кваркус, микронавт, vert.x (или netty, если нужен лоулевел), javalin. Много всякого есть.
93 2460193
Вкатуну обязательно знать grpc/кафку?
image.png34 Кб, 830x187
94 2460309
Привет, может кто объяснить нюфагу, можно ли в запросе типо того, что на пике как-то получить ip-клиент или инфу о времени и дате запроса?
Заранее спасибо.
95 2460313
>>460309
ip клиента*
96 2460373
>>460309
Если это SpringMVC - добавь в параметры метода HttpServletRequest, тебе спринг туда подсунет сервлет реквест, а потом в методе из него достань все что тебе нужно - ип, дату/время запроса, урл, хедеры - не помню точно что в нем есть, но если там чего то нет - значит этого нет нигде.

В webflux вместо HttpServletRequest - ServerWebExchange.

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


А еще ты можешь просто записать время вызова метода через LocalDAteTime.now() и не мучать сервлеты.
97 2460383
>>460130

OSGi + Karaf

;-)
98 2460469
>>460193
Ты так говоришь "знать", будто от тебя требуют учить два новых языка программирования и фреймворки к ним, хотя это всего лишь кафка и грпц.
Они, конечно не везде используются, в нашем легаси вместо кафки IBM MQ, а вместо grpc - SOAP.
99 2460503
>>460373
Спасибо, анончик!
100 2460557
Мужчины, как сделать так, чтобы оно при вводе нуля не ВЫВОДИЛО ноль? Я 10 часов сегодня учу Джаву, я устал, но пообщел себе, что пока не доделаю эту задачку - отдыхать не пойду.
class Main {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
String str = "qwerty";
int num = 0;
while (!str.equals("0")) {
str = console.nextLine();

try {
num = Integer.parseInt(str);}
catch (Exception e) {
System.out.println("Invalid user input: " + str);
}
System.out.println(num*10);
}
}
}
101 2460566
>>460557
сам допер, я гений Java
import java.util.Scanner;

class Main {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
String str = "qwerty";
int num = 0;
while (!str.equals("0")) {
str = console.nextLine();

try {
num = Integer.parseInt(str);
}
catch (Exception e) {
System.out.println("Invalid user input: " + str);
continue;
}
if (num != 0) {
System.out.println(num * 10);
}
}
}
}
102 2460568
>>460557
Не поняла, у тебя же условие цикла проверяется уже после вывода, очевидно же, что 0 выведется. Можешь переписать цикл так:
while (!str.equals("0")) {
try {
final String str = console.nextLine();
final int num = Integer.parseInt(str);
if (str.equals("0")) {
break;
}
System.out.println(num*10);
} catch (Exception e) {
System.out.println("Invalid user input: " + str);
}
}
103 2460572
>>460557

>пока не доделаю эту задачку - отдыхать не пойду


В этом и проблема. Если переспать, то задача решится за 5 минут.
104 2460587
>>460572
Всем известно что решения приходят в ванной комнате, в туалетной комнате или в спальной комнате.
105 2460607
>>460587
Или если ты не мам я долбаеб - то где угодно.
106 2460642
>>460566

>>}


>>}


>>}


>>}


ты бы уж лучше скрины кидал, а не эту нечитаемую хуйню.
107 2460656
>>460572

>Если переспать, то задача решится за 5 минут.


Ну, это смотря с кем переспать.
108 2460657
>>460572
Да, что-то такое, примерно.
Под это дело даже есть теоретическая база - "hammock driven development":
https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/HammockDrivenDev.md
https://learning-notes.mistermicheels.com/mindset/hammock-driven-development/#stop-consciously-thinking-about-the-problem
109 2460695
>>460568
Вот это дело.
И еще условие цикла заменить на while(true) а то фиг ли оно два раза проверяется
110 2460706
>>460695
Точно, не то скопировалось.
И if (str.equals("0")) заменить на if (num == 0), чуть быстрее будет работать.
111 2460927
В каких случаях использовать логирование ?
В catch его пихать ?
112 2460932
>>460927
Во всех, где может что-то сломаться на проде, и продебажить нельзя, но можно у саппорта запросить логи. Обычно да, catch.
113 2460953
>>460927
Логирование используют только пидоры, оно портит красоту кода.
114 2460958
>>460953
Какая нахуй красота кода в жабе?
115 2460967
>>460932
А в методах когда что то происходит нужно писать info ? Например метод закачивает файлы, то я это логирую через info ?

>>460953
Я пишу пет для гитхаба.
116 2460975
>>460967

>Я пишу пет для гитхаба.


Тем более.
117 2460985
>>460967

> А в методах когда что то происходит нужно писать info ? Например метод закачивает файлы, то я это логирую через info ?


Нужно знать меру. В этом случае имеет смысл, например, если сервер может быть недоступен, и чтобы явно сохранить, что удалось загрузить, а что не удалось.
118 2460991
После изучения алгоритмов и структур данных у меня сильно расширилось понимание java, но свои алгоритмы я писать не могу (или решать чужие) :с Это нормально ?
119 2461016
>>460568

>поняла,


ПОШЛО НАХУЙ ТУХЛОДЫРАЯ МРАЗЬ БЛЯДЬ!
120 2461040
pvms
ENTER
sout
ENTER
"BAZA"
121 2461052
>>461016
А если она из фг ?
122 2461214
>>458869 (OP)

> не ломает обратную совместимость


А нахуя тогда кабанчики на жабе восьмой сидят до сих пор? Просто бы обновились, лол
123 2461224
>>460953

> портит красоту кода


catch туда же. Нужно использовать только throws.
124 2461238
>>461224
А если я метод переопределяю и вылазит исключение ?
125 2461242
>>461214
Ломает обратную совместимость, но не так сильно, как некоторые языки. Если в PHP при обновлении вообще всё сломается назуй, то в жабе можно потратить немного времени на переход с минимальными правками в коде.
126 2461249
>>461224
catch нужен для борьбы с проверяемыми исключениями, чтобы оьорачивать в непроверяемые.
127 2461280
>>461238
Как вылазит?
128 2461301
>>460927

Во всех. Логируй все и везде. В продовом рантайме внятные логи --- одна из немногих опций понять, что за хуйня произошла.

Но чтобы не просадить перформанс, логируй под разными логгинг-уровнями, держа включенным по умолчанию только info. Оборачивай низкоуровневые логи (debug, trace) в проверки isDebug/TraceEnabled, чтобы не собирать лишних данных в рантайне когда debug/trace отключен.
129 2461316
>>461249

>>catch нужен


не нужен

>>для борьбы с проверяемыми исключениями


@SneakyThrows
130 2461319
>>461301
ПИШЕШЬ ЛОГИ НА КАЖДЫЙ ПУК
@
ПРОД УПАЛ И НЕ ПОДНИМАЕТСЯ
@
ЛЕЗЕШЬ В ЛОГИ
@
ОШИБОК НЕТ
@
3 ДНЯ ПЕРЕБИРАЕШЬ КАЖДУЮ СТРОЧКУ
@
УЖЕ ДУМАЕШЬ КАК НОВУЮ РАБОТУ ИСКАТЬ
@
СЛУЧАЙНО ЗАМЕЧАЕШЬ ОТСУТСВИЕ СВОБОДНОГО МЕСТА НА ДИСКЕ
@
БАЗА С ЛОГАМИ ПЕРЕПОЛНИЛАСЬ И УРОНИЛА ПРОД
131 2461320
>>461316
Лобок блять.
132 2461322
>>461319

Rolling policy? Не, не слыхали, ага.
133 2461337
>>461319
че все от тебя одного зависело?
134 2461390
>>461320
Лол
135 2461519
>>461301
Это же пиздец сколько данных. У меня вот где-то 300к юзеров и это пиздец, дебаг логи можно включать только на короткое время, а если в нормально режиме писать мало, то логи становятся бессмысленными. Соответственно, держу включенным только info с короткими сообщениями и traceid.
А всё, что можно, сохраняю в базу, соответственно, по базе можно понять, какая сущность с какой связана и когда была обновлена, дальше уже обычно можно по коду догадаться, что пошло не так.
мимокрокодил
136 2461528
>>461519
Собственно, для себя сделал такой вывод, что подробные дебаг-логи хороши только для тестов, а в бою они всё равно никогда не будут подробными, ты замаешься столько писать и, главное, хранить.
Поэтому внятная бд, которая сама своей структурой отвечает не только "что", но и "как" это чуть ли не единственное решение.

Как максимально тупой пример, если у тебя один юзер может позвать другого, то есть у тебя есть сущности юзер и реферальная ссылка, то у тебя не просто должен быть fk со ссылки на владельца, но также и у приглашённого должен быть fk на ссылку, по которой он зарегистрировался. А может даже в отдельной таблице отдельно набор ссылок, по которым он пытался зарегистрироваться, с primary key по email.
Тогда ты всегда сможешь глядя на таблицу понять, почему один Петя стал другом Васи, а не Сережи, по какой ссылке и когда это произошло. И всё это без логов.

Хотя может я и неправ, хз
137 2461535
>>460927
У нас в рабочем проекте есть логи, но на них не так сильно полагаются, т.к. есть такая хуйня, как аудит операций - отдельная гигантская таблица, куда пишутся все действия пользователей, типа "Зашёл в систему и получил такую-то сессию", "Запустил отчёт", "Удалил запись", "Откатил статус". Аудит запилен в первую очередь для безопасников, хотя неплохо помогает и для исследования непонятных багов с прода, но он занимает пиздец дохуя места, около четверти всей БД. Местами ради аудита приходится класть на производительность, например, даже если работаешь только с ID, для журналирования надо вытащить по ID доп. инфу из базы лишним запросом, вроде наименования клиента.
138 2461639
Что такое камунда? Зачем нужна? И как ей пользоваться?
139 2461655
А сейчас можно купить intellij idea в россии? Или как её сейчас накатывают на эвм?
140 2461657
>>461655
купить нельзя, только бесплатно

через степик, перерегистрацию триала, ЕАР
на ютюбе гайдов полно
141 2461658
>>461535
Who watch the watchers
142 2461683
>>458869 (OP)

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


Аналог itertools из питона есть?
143 2461684
>>461683
apache commons collections
144 2461698
>>461683
Стандартная stream api
145 2461714
>>461214
Кабаноиды, сэр. Кабан не понимает "кодить сложно на старом говне, общие траты в перспективе увеличиваются", кабан понимает только "РАБОТАЕТ? НАХУЙ ЧЁ ТО ТРОГАТЬ И ОБНОВЛЯТЬ??? У НАС КРИЗИС БЛЯДЬ!!!!!!!!!"
146 2461796
2298 год. Вы лежите при смерти. К вам приходит Дьявол и предлагает сделку. Вместо смерти вы отправляетесь в элитную область ада специально для программистов. Вы будете там писать код вечно. Карьерный рост имеется, но новые должности появляются пропорционально вашему поднятию по ним. Согласны? В случае отказа ваше сознание умрёт.
147 2461834
>>461796

>новые должности появляются пропорционально вашему поднятию по ним


??
148 2461836
>>461834
Ну вот стал ты лидом, а AdINC придумали должность директора, и так далее до бесконечности.
149 2461854
>>461796
А я как раз нашёл последнюю ошибку в своём языке программирования.

>Сотона


Какая встреча, гражданин начальник!
2022-09-1315-27-36.png21 Кб, 492x515
150 2461869
Друзья, поясните, пожалуйста, почему инициализация массива с помощью фор(закоменченный код) не заменяет тупую инициализацию ручками?
151 2461876
>>461869
Лишние операции будут выполнены. Первый код быстрее.
152 2461879
Есть ли в JDK баги, которые стали стандартом?
153 2461883
>>461876
тут вопрос скорее про другое: если я меняю код с верхнего на нижний - он не компилируется
154 2461884
>>461883
точнее не не компилируется, не инициализируется. Массив как будто одномерный остается
155 2461885
>>461879
Проверяемые исключения
Стирание типов в дженериках
156 2461890
>>461796

> ваше сознание умрёт

2022-09-1316-07-15.png28 Кб, 529x382
157 2461891
Еще вопрос: Задача требует от меня чтобы я создал двумерный массив с n строк и m столбцов, при этом чтобы количество столбцов для каждой строки различалось и вводилось с клавиатуры. Вроде задача простая, но код почему-то не принимает.
158 2461892
>>461869
Как объявлен result покажи.
159 2461895
>>461796
Не плохо, а чё.
160 2461897
>>461892
Это ебучий задачник джава раш(да-да, я знаю, что он дно, я учусь не по нему, просто задачки решил порешать), тут result не надо объявлять.
Вы мне скажите - если я все норм сделал, то я погляжу правильный ответ, иногда эта херня безбожно тупит и требует КАКОГО-ТО ОПРЕДЕЛЕННОГО решения.
161 2461900
>>461897

> Вы мне скажите


У тебя каждую итерацию создастся j создается заново в 29 строке, поэтому все j у тебя буду 1.

>>461891
Тут тебе даже идея подсвечивает, что ты юзаешь не тот multiArray который тебе дали, а свой.
162 2461904
>>461900
первое утверждение к другому скрину - понял, принял, спасибо!

По второму утверждению: а почему? Поле же паблик, то есть оно должно быть видно во всем классе
163 2461905
>>461900
>>461904
Все, спасибо!!! Разобрался!!!
164 2461906
>>461904

> а почему?


Область видимости гугли. Локальные переменные замещают переменные класса.
2022-09-1316-33-39.png29 Кб, 665x283
165 2461909
Подглядел "правильное решение", зачем они используют метод parseInt? У нас же тут кругом целочисленные значения: массивы int, числа читаются int, зачем такие заморочки?
166 2461933
>>461909
Затем, что nextInt не учитывает перевод строки, у них на скрине числа будут читаться только после того, как юзер нажмет Enter
167 2461950
>>461891
>>461909
За последние 2 года я массив использовал ... не могу вспомнить даже когда.
Есть же ArrayList, есть же StreamApi, нахуя ты это говно мамонта юзаешь?
И даже не foreeachloop или как там, i++, блядь, ну такого легаси уже нет нигде, даже 8 это уже легаси, на всех вакансиях минимум 11.
Эти знания тебе не пригодятся нигде, иди лучше про мейби, мапредус, флатмап почитай.
168 2461954
Привет всем. На степике есть курс нтерактивной дрочки sql. Вопрос, есть что-то подобное по Stream API?
169 2461960
>>461954
таски решай долбаеб
170 2462071
>>461954
Пиздуй читать книги, сука.
171 2462073
Ребята вот этот курс будет полезен для меня ?
https://youtube.com/playlist?list=PLtPJ9lKvJ4oiNMvYbOzCmWy6cRzYAh9B1
И ещё вопрос, я буду понимать как всё работает в интернете ?
172 2462074
Ребята вот этот курс будет полезен для меня ?
https://youtube.com/playlist?list=PLtPJ9lKvJ4oiNMvYbOzCmWy6cRzYAh9B1
И ещё вопрос, я буду понимать как всё работает в интернете ?
173 2462077
174 2462125
>>462074
Конечно же будет полезен. Смотри все курсы от начала до конца на 0.25 скорости!
175 2462173
кто-нить оплачивал hyperskill после ухода жетбрейнс из рф? как это сделать можно?
176 2462188
Как лучше организовать валидацию со сложной логикой? Например, моя дто, которая летит с фронта, содержит список элементов на добавление, причем id у них уже заранее проставлены. Требуется проверить, что элементов с такими id еще нет в бд, и что двух одинаковых айдишников нет в дто.
Просто ебануть сервис валидации, где я буду это все ручками проверять, и этот сервис вызывать в контроллере сразу после того как дто получена (или же лучше вызывать этот сервис валидации в других сервисах?)
В общем хуй знает как лучше
177 2462200
>>462188
Любая нетривиальная логика чуть сложнее конвертеров должна быть в сервисах. В контроллере вызываешь конвертер во внутренний объект, его передаёшь в сервис и там уже проводишь валидацию.
178 2462220
>>462200
То есть конвертацию DTO -> Entity нужно прямо в контроллере делать? У меня логика очень простая (делаю тестовое), дто можно напрямую в ентити сконвертить, но только если само дто корректное.
179 2462227
>>462220

> дто можно напрямую в ентити сконвертить, но только если само дто корректное.


Странная задача. Контроллеры должны быть тупыми и ничего не знать о правильности ввода, кроме совсем прямых случаев, к которым уж точно не относится проверка id на наличие в базе. Сервис наоборот должен быть умным, но ничего не знать о внешнем мире, в частности, не знать о существовании DTO, т.к. они могут приходить из разных видов источников, и обычно на каждый такой источник по своему набору DTO. Но если в тестовом так требуется, прилётся забить и делать как скажут.
180 2462231
>>462227
В моем понимании сервис обычно принимает на вход дто. Типо если мы условно хотим PersonDTO полученную в контроллере положить в таблицу БД tb_person, то мы должны эту dto отправить в сервис, в сервисе вызовется маппер/другой сервис, откуда к нам уже придет ентити и эту энтити мы кладем в БД.

То есть цепочка PersonDTO->PersonEntity->db
Какие объекты должны принимать сервисы, раз они не должны знать о существовании дто? Дополнительный слой между дто и энтити?
181 2462240
>>462188
Уникальность в базе - это не валидация. Делаешь или предварительно запрос к репошке в сервисе или в базе делаешь ограничение уникальности. Потом бросаешь исключение/оборачиваешь исключение драйвера базы и в адвайсе отдаешь, как 422. Я так делаю, предпочитаю через констрейнты.
А проверка уникальности внутри одной дто делается кастомным бин валидатором для дтошки. Там уже возвращаешь 400.
182 2462242
>>462188

>>Требуется проверить, что элементов с такими id еще нет в бд,


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

>>двух одинаковых айдишников нет в дто.


ну самое банальное list.size() == Set.copyOf(list).size().
Если они там раскиданы по разным полям - ну соберешь через стримы в один, потом проверишь точно также

>>ебануть сервис валидации


там проверка в 2 строчки же - запрос в бд с ответом тру/фолс и проверка дублей.
Сервис имеет смысл пилить если там действительно какая то йоба с кучей запросов в бд и другие сервисы, свичкейсы и ифелсы. Да и то возможно методом в этом же классе обойтись можно.

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

>>То есть конвертацию DTO -> Entity нужно прямо в контроллере делать?


Лучше в отдельном мапере, который вызывается на уровне сервисов.
Открой для себя MapStruct, с ним все просто.
183 2462244
>>462231

> В моем понимании сервис обычно принимает на вход дто. Типо если мы условно хотим PersonDTO полученную в контроллере положить в таблицу БД tb_person, то мы должны эту dto отправить в сервис, в сервисе вызовется маппер/другой сервис, откуда к нам уже придет ентити и эту энтити мы кладем в БД.


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

> Какие объекты должны принимать сервисы, раз они не должны знать о существовании дто? Дополнительный слой между дто и энтити?


Объекты никакие сервисы не принимают, есть только конвертеры, которые преобразуют DTO во внутренние объекты и наоборот.
184 2462248
>>462242

>MapStruct, с ним все просто


чем от моделмаппера отличается?
185 2462254
>>462244

>Объекты никакие сервисы не принимают


Я про то, что методы сервиса могут ДТО принимать. Разве нет? В сервисе PersonService есть метод savePerson(PersonDto personDto), который уже внутри себя вызывает маппер и сохраняет полученное ентити.
186 2462255
>>462248
быстрый, никакой магии кроме мб самой кодогенерации, почти всегда идут парой мавен плагины ломбок и мапструкт, легко мапить как простые так и сложные поля, в проде почти всегда он

моделмапер сам использовал когда вкатывался и петы писал, с тех пор о нем и не слышал.
187 2462258
>>462255
Я посмотрел и модел маппер реально магический и тормозной. Но он у меня на проекте. Правда там до прода еще хз сколько. Это плохо?
188 2462265
>>462258
Если сложного мапинга нет, то наверное пойдет. А когда там из дто надо достать список объектов, достать из каждого какое то поле и соединить все это в одну строку - мэпстракт куда проще будет. В нем в принципе можно что угодно в поле смапить через отдельный метод.
189 2462288
Сел сегодня порешать немного литкод и какой же это пиздец, эти пидоры че охуели все платным делать?Ебучий автокомомплит теперь за бабки, неуебищный дизайн видимо тоже. Задачки еще по большей части какие-то конченные, самая легкая по итогу за сегодня была хардовая, а на некоторых мидловых сидел по три часа. Кто придумал эту поеботу давать решать на собесах? Как мне это задрочить, чтобы потом на собесе не обосраться? Или единственный вариант проебать еще две недели за самым унылым и бесполезным занятием в моей жизни?
190 2462303
>>462288
Не решай. В рф 5 компаний, которые спрашивают литкод.
А за пределы рф ты вряд ли теперь устроишься.
191 2462321
>>461714

>Java 8


>кодить сложно на старом говне


Ты наркоман штоле сука?
192 2462322
>>461884
Размерность массива должна быть константой, клоун.
Тебе IDE об этом не написала?

Хочешь подобной хуиты - делай на списках.
Или одинаковую размерность у вложенных массивов.
193 2462327
>>462321
В довесок в восьмой жабе всегда идёт четвёртый спринг и сервер приложений Java EE 6.
194 2462332
>>461950
Массив - это говно мамонта?
И код циклов надо переписывать с появлением каждого нового сахара в "новых" никому не нужных версиях?
Да ты, чувствуется, настоящий синьор.
195 2462355
>>462332

>>с появлением каждого нового сахара в "новых" никому не нужных версиях?


стримы вышли в 8 версии, уже 10 раз можно было все старое говно переписать.
196 2462366
>>462355
Чувак, стримы сами по себе ничего не улучшают.
Если у тебя в старом коде есть цикл for, то переписывать его на стрим не просто бесполезно, а даже вредно - for эффективнее.

Стримы - они не для этого.
Вся кодовая база должна быть value oriented (fp-like, если угодно), тогда в этом есть смысл.

И я имел в виду бесполезный сахар в версиях после 8.
image.png16 Кб, 711x380
197 2462402
Ахуеть, жабе до такого еще лет 20 эволюционировать.
198 2462408
>>462402
В джексоне делается 1 аннотацией. Серанул с питоноребенка
199 2462409
>>462408
Ты хоть понял, что этот код делает?
200 2462423
>>462402
В скале есть похожий матчинг case classов, а вообще НИНУЖНО. Синтаксис должен оставаться простым и явным, каким его создали в НАУЧНЫХ лабораториях УЧОНЫЕ. А вот эта вот вся залупень тупо от скучающих первокуров не видавших больших ЗАЛУП. Безумцы открывают ящик пандоры.
201 2462426
>>462423
хаскель и лиспы вроде тоже учоные создали
202 2462446
>>462426
в говне печоные
image.png418 Кб, 1200x584
203 2462465
>>462426
джей и апл кстати тоже
204 2462482
Товарищи программисты, изучаю это вашу джаву(сам, читаю книжки, смотрю курсы и решаю задачки), и начинаю уже тихонько изучать перспективы трудоустройства, и насколько понимаю для джунов сейчас полнейшая и тотальнейшая жопа.

Я понял, что выходить на рынок вакансий надо будет с парой готовых проектов. У меня уже есть идеи, так как окунувшись в ИТ я понял какие задачи мои(занимаюсь предпринимательством в данный момент) оно может решать.
Идеи такие: интернет магаз с небольшой номенклатурой(буквально 15-20 позиций), с оплатой на сайте, с доставкой всякими сдэками, с админкой, чтобы можно было легко вносить изменения в позиции(цены, фотки, описание).
Вторая идея: приложение(или просто сайт) с предзаказом в фастфудной. Типа тоже регаешься, выбираешь позиции, указываешь время и т.д.
Вопрос: насколько широко я раскрыл ебало? не треснет? в одного можно такие проекты потянуть в какие-то адекватные сроки? Ясен пень что визуал будет максимально шаблонный и простой, фронт я не изучаю, особо и не планирую.
205 2462484
>>462482

>окунувшись в ИТ я понял какие задачи мои(занимаюсь >предпринимательством в данный момент) оно может решать.


хуево выразился, я и так знал, какие задачи оно может решать, правильнее будет выразиться так - я задумался, а смогу ли я сам решить свои текущие задачи? И опять же я понимаю - что эти задачи должны решать спецы за деньги, так вот я сам хочу стать таким спецом и решать чужие подобные задачи за деньги.
206 2462485
>>462482

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


Нет.
207 2462490
>>462485
пидора ответ
извини, пожалуйста, не удержался
208 2462491
>>462490
- Алло, это число pi?
- Да
- Рас
😂😂😂🔥
1422429568-0b45af4b4dfc6bb60fd0978f78dee196.jpg253 Кб, 1329x972
209 2462493
210 2462524
>>458869 (OP)
Тупые вопросы от вкатуна по спрингу:

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

- Как написать хэндл который бы имел доступ и к реквесту и респонсу? Хочу написать что то вроде такого: func handle(request) -> responce
211 2462527
>>462524
Потыкай сервлеты, тебе понравится.
212 2462573
>>462321
Реально же сложно. Половины удобных функций нет в 8 жабе.
213 2462588
>>462524
Functional bean registration
214 2462596
Чому в отусе так ахуенно объясняют? Смотрю тот знаменитый слитый курс от отуса по спрингу - бля так подробно нигде нет - ни в книгах, ни в других курсах, разве что в доке подробнее но рот ее я ебал читать. Бля отус ахуенен кто еще смотрел тот курс - хуяните свои отзывы, интересно послушать, потому что я пока что еще первую часть заканчиваю
215 2462619
Приветствую, аноны. Появилось несколько вопросов, мб кто на опыте здесь сможет пояснить малышу за жизнь.
1) Может кто-нибудь пояснить за spring cloud? Зачем он нужен, если есть kafka - для общения между микросервисами? Единственное, что заценил - это OpenFeign в вопросе реализации клиентов для стороннего api вместо использования RestTemplate - ов и прочего говнища. Как часто используется на практике?
2) Кто-нибудь может пояснить за необходимость знать Spring Integration и Spring Batch? Spring Integration, насколько я понял, связан с реализацией каких - то EIP паттернов разработки, которые какой-то шиз в своей книжке в 2003 году описал. Насколько важно это всё знать, какова вероятность применения на практике?
3) Какой должен быть уровень знания брокеров сообщений? Допустим, я умею поднять zookeeper и kafka с дефолтными настройками, и через них с дефолтными конфигами пересылать сообщения из одного микросервиса в другой, используя KafkaTemplate на Producer - е и KafkaListener на Consumer-е, думаю, что этих знаний очень мало. Насколько важно знать тонкости настройки Kafka и прочих брокеров?
4) Spring Security - знаю базу. Нужно ли Oauth2 учить?
5) Spring WebFlux, RSocket и тд - надо?
6) Docker. Умею писать ручками Dockerfile для приложения, свзязать его с какой-нибудь бд - шкой с помощью Dockercompose и поднять локально в контейнерах. Что еще нужно?
7) Kubernetes - выглядит как лютый ад, почему то при первом же знакомстве с первого взляда появилась неприязнь. Стоит ли изучать, или понадеяться, что придет девопсер и мне ни разу не придется прикасаться к подобным делам?
8) Jenkins - дело девопса?
216 2462620
>>462619

> 1) Может кто-нибудь пояснить за spring cloud? Зачем он нужен, если есть kafka - для общения между микросервисами? Единственное, что заценил - это OpenFeign в вопросе реализации клиентов для стороннего api вместо использования RestTemplate - ов и прочего говнища. Как часто используется на практике?


Не используется.

> 2) Кто-нибудь может пояснить за необходимость знать Spring Integration и Spring Batch? Spring Integration, насколько я понял, связан с реализацией каких - то EIP паттернов разработки, которые какой-то шиз в своей книжке в 2003 году описал. Насколько важно это всё знать, какова вероятность применения на практике?


Не нужно.

> 3) Какой должен быть уровень знания брокеров сообщений? Допустим, я умею поднять zookeeper и kafka с дефолтными настройками, и через них с дефолтными конфигами пересылать сообщения из одного микросервиса в другой, используя KafkaTemplate на Producer - е и KafkaListener на Consumer-е, думаю, что этих знаний очень мало. Насколько важно знать тонкости настройки Kafka и прочих брокеров?


В принципе, хватит.

> 4) Spring Security - знаю базу. Нужно ли Oauth2 учить?


Полезно будет. Но учить не надо - в пете юзай.

> 5) Spring WebFlux, RSocket и тд - надо?


Вебфлюкс интересно, рсокет в пизду.

> 6) Docker. Умею писать ручками Dockerfile для приложения, свзязать его с какой-нибудь бд - шкой с помощью Dockercompose и поднять локально в контейнерах. Что еще нужно?


Пет-проект какой нибудь, крутящийся в докере.

> 7) Kubernetes - выглядит как лютый ад, почему то при первом же знакомстве с первого взляда появилась неприязнь. Стоит ли изучать, или понадеяться, что придет девопсер и мне ни разу не придется прикасаться к подобным делам?


Правильно. Нахуй его.
8) Jenkins - дело девопса?
Не, это прикольная штука. И не особо гемор.
217 2462621
>>462596
Ни разу не слушал курсы и, если честно, и даже немного их презираю, тк учился всему сам лет 10 назад, когда никаких курсов не было.
Конкретно с отусом сталкивался только на хабре и там из всех корпоративных блогов у них самый уёбищный, они переводят и выкладывают кучу "статей", которые и helloworld'ами-то назвать стыдно. У меня в дипломе воды было меньше, чем у них. Позорище.

К слову, недавно попросили посоветовать какой-нибудь курс одному чуваку, который хотел вкатиться, и я посмотрел/посравнивал все эти яндекс практикумы, скиллбоксы, скиллфекторе, хекслеты и иже с ним. Ты не поверишь, какая там херь, научиться программировать по таким курсам невозможно.
218 2462624
Поясните за многопоточность/асинк в джаве. Как я понял, джава обрабатывает каждый запрос в отдельном треде и никакого эвент лупа внутри тредов нет. Получается, что если я пришлю тяжелых запросов по числу тредов/воркеров, то ваш сервер тупо встанет? Если так, то ваша джава от пыхи отличается только тем, что в пыха выделяет на каждый запрос не процессы, а треды. А концептуально, шо то лочится на io, шо это. Ну и в джаве память шарится, гц много разных, джит лучше, но это детали уже.
Выходит, что нода или го сильно современнее под капотом.
219 2462625
>>462620
А какой тогда вообще стек маст хэв сегодняшнего бэкенд разраба на жабе?
220 2462629
>>462624
Какие ещё запросы?
221 2462630
>>462625
Читай шапку, блядь!
222 2462632
>>462619

> 7) Kubernetes - выглядит как лютый ад, почему то при первом же знакомстве с первого взляда появилась неприязнь. Стоит ли изучать, или понадеяться, что придет девопсер и мне ни разу не придется прикасаться к подобным делам?


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

Да и в целом оно довольно удобно, когда научишься. Описываешь в ямлике какой-нибудь деплоймент: возьми такой-то контейнер, выдай ему столько-то памяти, смапь ему вот такой вот конфиг и запусти на таком-то порту и просто скармливаешь этот ямлик кубам и там всё само происходит. С точки зрения клиента от docker compose оно отличается большим количеством свистелок и инструментов. да собственно docker compose легким движением руки подхватывается docker swarm, становясь вполне себе альтернативой кубернетесу. если сворм жив ещё, конечно
223 2462635
>>462629
Блять, http-запросы, рпс, сигналы, джобы или сообщения из очереди, не важно. Можем назвать это "вызовами", если тебе так легче.
image.png5 Кб, 379x47
224 2462636
>>462620

>spring cloud


>Не используется


Ебало представили?
225 2462637
>>462636
Так эти вакансии ебанутые бабки составляют. Гуглят "java" и все слова, что на английском в выдаче будут добавляют в список требований.
226 2462639
>>462635
Этого всего нет в стандартной библиотеке, долбоёб. И зависти реализация только от реализации сторонней библиотеки.
227 2462647
>>462639
Ты дурачок что ли, я спрашиваю про сам джавовый рантайм. Так как до релиза loom он вообще не умеет в виртуальные треды, это не может не накладывать соответствующие ограничения. Я верю, что могут существовать фрейморки, с самописным event loop и промисами, но поскольку всего этого в стдлиб нет, то в итоге использовав такую хуйню ты не сможешь использовать большую часть экосистемы.

А теперь сравни это с го, где всё это есть просто в ядре языка и вообще весь существующий код на го написан с поддержкой асинхронности. Да что там, сам гошный рантайм умеет насильно, в режиме вытесняющей многозадачности, менять контекст исполнения, чтобы одна горутина не могла надолго залочить испольнение остальных.
228 2462654
>>462647

> то в итоге использовав такую хуйню ты не сможешь использовать большую часть экосистемы.


Че ты несёшь вообще?
229 2462656
>>462654
Всё понятно, этот даун закончился. Можно мне другого собеседника?
230 2462686
Пока вы свою жабу дрочите, красноглазики омежки, успешные пацаны баб трахают и бизнес мутят. Ебальники свои представили, чмошки?
231 2462709
>>462332
А где в моём посте что-то про "переписывать"?)
Новый то код уж можно писать с сахарком.
232 2462719
>>462656
Я тоже не понял, что ты имеешь в виду

мимо
233 2462726
>>462624

>Как я понял, джава обрабатывает каждый запрос


Да, язык обрабатывает запросы. И вот эти люди сравнивают что-то там "под капотом". Представьте лицо этого субъекта, когда он обнаружит существование таких невероятных технологий, как неблокирующие контроллеры.
234 2462736
>>462647
Так как вся реактивщина написана на отдельных от стандартной либы библиотеках - весь реактивный стек это отдельная экосистема - и хттп и драйвера к базам и ормы и клиенты очередей сообщений и куча другого обвеса.
А в ноде и гошке асинхронное апи не отделено от синхронного? Если оно и там отделено, то какая разница в стандартной библиотеке реализованы эвент залупы или в отдельных библиотеках?
235 2462754
>>462736
Как ты не поймешь, ну вот важно человеку не методы на промисах вызывать, а await писать перед ними. У него от этого, может, ощущение причастности к самым модным веяниям возникает.
236 2462808
Добрый день, Сычёв. Мы зададим несколько вопросов, чтобы проверить ваш уровень компетенции. Вы не можете пользоваться гуглом или проверять в IDE.

int number = 5 + 5 * 5;

Чему будет равно значение number?
237 2462809
>>462808
Какие иксы к зепке я могу получить за правильный ответ?
238 2462833
>>462808
Лучше спросить вот это:
int number = 5; i = ++i + ++i;
239 2462840
241 2462864
>>462833

>>int number = 5; i = ++i + ++i;


>>Чему будет равно значение number?


5
242 2462866
>>462864
Так, этот проходит на следующий этап собеседования
243 2462869
>>462866
Нет, не проходит, потому что я анальник с комплексом неполноценности, он охуел что ли решать не так, как я сказал? Выёбистый дохуя чтобы проходить дальше
244 2462875
В реальном продакшене обязательно чтобы доступ к полям объекта извне был через геттеры и сеттеры? Если напрямую напишешь object.field, это же косяк?
245 2462876
246 2462879
>>462647
Разговор двух первокуров.
247 2462880
>>462875
Лобок для кого придумали? И сеттеры антипаттерн, за него в хороших компаниях пиздят не менее, чем за публик поля.
248 2462900
>>462880

> сеттеры антипаттерн


Ахуел, тварь? Кинул тебе репорт ПИДАРАС СУКА МРАЗЬ БЛЯДЬ
249 2462910
>>462880

>Лобок для кого


Че это такое?
250 2462913
>>462910
https://projectlombok.org/. А вообще, шапку читай, блядь, сука!
251 2462921
Как удалить картинку из фрейма ?
252 2462922
>>462921
Спроси в JS-треде.
253 2462941
>>462125
Правда ?
254 2462952
>>462875

Единственное преимущество геттеров-сеттеров над прямым доступом к полям --- то, что оные являются частю JavaBean конвеншена, на котором построена вся экосистема джавы. В остальном это ебанистика. Но ебанистика намертво устоявшаяся, к сожалению.
255 2462969
>>462624

>Выходит, что нода или го сильно современнее под капотом.



Это --- ложная дихотомия. Позиксные треды и зеленые потоки --- разные штуки для разных задач, одно другое не взаимозаменяет, а взаимодополняет.

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

Тем временем сервисы становились все более высоконагруженны, так как количество сычей в интернетах росло, и внезапно выяснилось, что скейлиться потоками --- довольно затратно. С каждым новым потоком растет потребление процессорного времени на их скедулинг. Асинхронность была выходом из этой ситуации, но до изобретения всяких языковых штук типа async/await и корутин кодить асинхронно было лютым геморроем в плане кодинга и дебага. Поэтому когда такие языковые фишки появились --- они выстрелили.

На данный момент джава отстает по языковым средствам. Project loom в будущем призван закрыть эту проблему. Но это не значит что сейчас асинхронности в джаве нет ни в каком виде, и проблема переполнения тредпула запросов в ней неизбежна.
256 2462977
>>462880

> И сеттеры антипаттерн


Поясни. Разве в Джаве есть фокус на иммьютабл объектах?
257 2462984
Как сделать цветное логирование slf4j-log4j2 ? Что бы буквы и цифры были цветными в консолэ.
258 2462988
>>462984
Гугли jansi
259 2462995
>>462984
А нахуя тебе это?
260 2462997
>>462952
дВачУю=))) брАтуха ООП для терпил ссаных я на С тут написал 200к строчек кода у меня все работает епты бля!
261 2463004
>>462997

Так чел, без сарказма --- дтоха с геттерами и сеттерами это и есть полотно говнокода, по сравнению с простой компактной структурой. Ладно хоть ломбок с рекордами изобрели.
262 2463014
>>462995
Что бы ошибки в консоле красным были помечены
263 2463015
>>463014
Ты с нуля что-то пишешь что ли?
264 2463025
>>462977
Ну во первых да, а во вторых сеттеры сами по себе ублюдское днище ебаное. Если делаешь модельки, то всегда лучше поставить визеры вместо сеттеров через @With, а если пишешь что-то в настоящем ОО-стиле, то там в принципе и впихнуть сеттеры будет некуда, они будут бесполезными.
265 2463029
>>463004

> Ладно хоть ломбок с рекордами изобрели.


Всё так, но котлин.
266 2463033
>>463014
Логи читают через ELK, то что в консоль выводится это баловство.
267 2463034
>>462952

> к сожалению


Читай про генерацию и назначение прокси классов, а потом свою хуйню еще раз прочти.
268 2463038
>>462736
Да отделено, конечно.

> Так как вся реактивщина написана на отдельных от стандартной либы библиотеках - весь реактивный стек это отдельная экосистема


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

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

>>462719
Надеюсь теперь понял.
269 2463039
>>462969
Грамотный ответ, спасибо. Если бы ты ещё раскрыл

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


цены бы ему не было
270 2463041
>>463034

Аргумент с проксей работает лишь в защиту сложившейся экосистемы, где всякие ОРМы подвязываются на ентити чтобы обслуживать коллекции-связи и прочие lazy-поля. Что я и признал выше --- сложившийся статус кво это единственное что оправдывает геттеры-сеттеры. Но так уж вышло что на ОРМы мне давно похуй, а сам в клиентском коде я проксированием дтох никогда заниматься не стану --- навешивание аспектов на геттеры-сеттеры ИМХО полная залупа.

Так что не убедил.
271 2463043
>>463015
Ага.
272 2463045
>>463039

>Если бы ты ещё раскрыл



Ну, есть projectreactor, есть webflux. Есть nio, есть r2dbc, из того что навскидку вспомнил. Чай никто ж тебя не заставляет в 2022м блокироваться на вводе-выводе и засирать тредпул. Не так круто конечно как корутины в котлине, но лучше чем вообще ничего.
273 2463047
>>463041

> на ОРМы мне давно похуй


Ну так бы сразу и сказал что тебе не нужно.
274 2463050
Нужно ли знать, как создается обоссанный бин? И нахуй это знать, если я никогда в жизни не буду использовать на проде постбинхуинхуицессоры авэйр хуэйр интерфейсы и прочий выдроченный кал?
275 2463052
>>463050
Будешь. Как и несколько контекстов.
276 2463053
Spring тяжел для понимания и изучения?
277 2463055
>>463052
Ты ебанулся? Я уверен, в 100 процентах ентерпрайза будет круд хуерга с вкраплениями какой - то бизнес логики. Все постбин процессоры - это извращения и если челикс не может написать без них - он конченный уебан. Фэктс
278 2463059
>>463055
Ты ещё не видел энтерпрайз.
279 2463061
>>463059
А ты, тролляка, видел? Два контекста блять ахаххахах
280 2463071
>>463061
Можешь ещё над несколькими датасорсами поржать.
281 2463072
>>463038

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


Так а пример можно, какой тип библиотек тебе может быть недоступен?
Да и в языках, где синхронное и асинхронное апи есть в стандартной либе тебе никто не гарантирует, что все сторонние либы будут использовать оба подхода. Это в любом случае двойная работа.
282 2463075
>>463039

>Если бы ты ещё раскрыл


netty начал разрабатываться в 2004 - еще до появления ноды и го. А в 2011 уже был вполне продакшн-реади.
283 2463076
так это,вебсокеты есть?
284 2463077
285 2463078
>>463077
хорошо переваривает множество юзеров?
286 2463111
ОП пишет:
Java никогда не ломает обратную совместимость - твой код, написанный на Java 1.2 будет работать на Java 18 - и не зависит от платформы, являя из себя единственный полностью кроссплатформенный язык с кроссплатформенной экосистемой (если не считать языков-паразитов на JVM).

А почему-то блядский Дженкинс хочет Джаву 1.8.
У автотестеров Джава 11 в Селениумах - потолок.
И только у разрабов Спринг позволяет использовать Джаву 18.

Второе:
Заебало, что мавен не может нормально в жирные jar-ники. Делает всегда кусками и без манифеста.

Хоть Градл умеет сразу.

А в Андроид студии пошли ещё дальше - там сразу и манифест есть и Градл настроен.

Так что насчёт совместимости, сомневаюсь. Пусть автор сам радуется, что игрушка для кнопочных телефонов на java 1.2 ME откроется в IDE и ещё можно запустить. Но толку?
287 2463116
>>463072

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


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

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


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

> ОП пишет


ОП пиздит. Он вообще редкостный долбоёб, высрал говношапку вместо нормальной и перекатывает после 500.
Джава даже теоретически не сохраняет обратную совместимость. Например, в 8 жабе можно создать класс с названием var (похуй, что нейминг не соответствует соглашению), а в 11 уже нельзя. Но это не так важно, куда важнее то, что создатели стороннего софта часто лезут в недокументированные кишки жабы через рефлексию, а потом, когда детали реализации ломаются, все жидко обсираются.

> блядский Дженкинс хочет Джаву 1.8


У нас недавно его перевели на 11, видимо, он может с ней работать, но переход не бесшовный.

> мавен


Говно, но стандарт индустрии.
289 2463139
>>463111

>>Java никогда не ломает обратную совместимость


Не то чтобы совсем не ломает, но с вероятностью 90% все запустится сразу или после мелких правок.

>>Дженкинс


>>Спринг


Это уже на усмотрение создателей либы, фреймворка. Они могут требовать жаву 8u341 и слать нахуй все остальные версии.
А делают ограничение для 8/11 из за использования новых фич джавы - стримов, комплитабл фучер и тп. Делать несколько реализаций (и главное тестировать их) накладно поэтому проще сразу сказать что те 10% что сидят на старой джаве не могут тянуть новые либы (а им похуй - у них и старые либы отлично работают)

>>А в Андроид


Там у них своя атмосфера. И свой тред.
290 2463144
>>463124

>>создатели стороннего софта часто лезут в недокументированные кишки жабы через рефлексию


Что то такое проворачивает вроде только ломбок с его @SneakyThrows, все остальные популярные либы такими хаками после 9 версии уже не пользуются.
291 2463148
>>463111

>игрушка для кнопочных телефонов на java 1.2 ME откроется в IDE и ещё можно запустить


Как раз таки java me и всякие java card, java embedded давным давно вымерли, и ты их уже не запустишь.

>>463111

>А почему-то блядский Дженкинс хочет Джаву 1.8.


>У автотестеров Джава 11 в Селениумах - потолок.


>И только у разрабов Спринг позволяет использовать Джаву 18.



Это проблема разработчиков библиотек, а не самой джавы. Код, написанный и скомпилированный для Java SE в 2002 году запустится и в 2022, но только если ты не будешь лезть через рефлексию во всякие ансейфы, кишки jdk итд. Возможно будут большие проблемы со свингом, например часть функционала просто не поддерживается в wayland, вроде того же java.awt.Robot с его фишками вроде снятия скриншота и перемещения курсора мыши, и в данный момент разработчики жабы пилят какие-то костыли. Ну и по мелочи - в том же гноме трея как раньше уже нет без дополнительного предолинга, поэтому свинг жидко обсирается при попытке свернуть в трей.

>>463111

>мавен


Мавен старая хуйня на самом деле. Он в 2004 году появился, так что ты от него много хочешь. Но вообще плагины решают проблему fat jar так-то. Да, нагромождение xml, но это собрать все в один джарник любой вкатун сможет по гайдам из мурзилок.
292 2463152
>>463144
Лобок работает при компиляции, ему и не нужно никуда лезть, рантайм ведь ничего про проверяемые эксепшены не знает, это тупо проверка в самом компиляторе жабы.
А вот блядские сервера приложений, которые запускаются на 8 и падают с NPE на 11, эти хаки очень даже практикуют.
293 2463153
>>463144

Весь лобок --- один сплошной хак. Он юзает annotation processor api (который обычно используется для кодогенерации на основе аннотаций). Но прикол в том, что этот api оригинально не дает возможность менять сорцы, AST-дерево, доступное через него, неизменяемо. Лобок же ректально получает доступ к мутабельной версии AST, и ее уже меняет. Верх инженерной мысли, вобщем.
294 2463156
>>463152

>блядские сервера приложений


А нахуй они нужны в 2022 году? Они умерли вместе с Java EE. Вся эта срань в виде глассфиша, вебсферы, jboss, итд это натурально середина нулевых годов.
Сейчас все упаковывается в джарник и закидывается в докер контейнер.
295 2463173
>>463156
Мы вот с вебсферы и четвёртого спринга слезть не можем до сих пор, и это у нас ещё не самое старьё, до сих пор используются и дорабатываются смежные системы, написанные на хранимых процедурах. Слезли бы давно, сверху давят и ставят сроки по отказу от старья, но даже обновление софта на следующую минорную версию всегда что-то ломает.
А вообще, кубернетес - это зумерский сервер приложений.
296 2463187
>>459036
Давай начнем с того, что ты написал на своём До-диезе.
297 2463266
>>458869 (OP)

> где нужно явно указывать тип объявляемых переменных


Нинужна есть var, ясно тред нубасов, это собственно из пика с кококонтроллером понятно
298 2463283
>>463156

> Они умерли вместе с Java EE


https://blog.payara.fish/whats-new-in-jakarta-ee-10
299 2463305
>>463153
Вывод: разработчикам javac надо просто дать доступ к ast для плагинов, как этол сделано в груви, и поменьше выебываться.
300 2463307
>>463283
Что не так? JavaEE умер, да здравствует JakartaEE.
301 2463309
WEB.XML
@
EJB-JAR.XML
@
SERVER-CONFIG.WSDD
@
BINDINGS.XML
@
PERSISTENCE.XML
302 2463378
>>463307
Loom ждет та же судьба.
303 2463380
>>463378
Лум умереть не может, это часть java se.
304 2463449
когда там уже лум? надоело ждать...
305 2463464
>>463449
Лумбок.
306 2463467
Мужики. Тут хуйня вопрос.

Надо через регулярные выражения посчитать кол-во скобок ( и ) и потом сравнить их.

Остальную хуйню я сделал а вот с этим проблема.
307 2463470
>>463047

Но даже если б было нужно: как бы щас проксе есть альтернатива в виде вархендлов, можно в теории было бы подцепиться через них напрямую к публичным пропертям, без геттеров-сеттеров.
308 2463477
>>463467
Обязательно прям регулярками? Это как забивать гвозди микроскопом.
Ты можешь тупо пройтись по строке и сравнивать каждый символ с символом олной из скобок, если совпадают, увеличивать счётчик.
Корректность расстановки скобок регулярками ты не проверишь никак, принципиально, доказано.
309 2463481
>>463467

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


Не надо.
310 2463489
>>463467

Так а че там считать то? Сначала паттерн-матчишь по ([\(]), потом паттерн матчишь по ([\)]), считаешь количество найденных групп и сравниваешь.
311 2463541
>>463449
Через 5 лет будет перенос
312 2463612
Сап аноны, разбираюсь сейчас в спринг секурити. И у меня чет немного плывет мозг. Такой вопрос, нужен ли мне oauth, если я НЕ хочу делать авторизацию через сторонние ресурсы типо гугла?
313 2463616
>>462686
я 10 лет мучу бизнес и баб трахаю. До того домутился и дотрахался, что вот сижу учу джаву любую свободную минуту.
314 2463628
>>463612
Зачем сторонний? Можно поднять свой oauth-сервер.
315 2463636
>>463616В

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

Непонятно только почему он выбрал айти --- ведь тут то же самое пьянство, только платят меньше.
316 2463640
>>463612

Нужен. OAuth часто используют в микросервисной архитектуре.
317 2463646
>>463305

Хороший вывод. Я б его озвучил еще разрабам kotlinc, у которых plugin api доступен только из форка kotlinc репозитория.
318 2463652
>>463646
Разве? Я вроде видел, что у них как раз плагины для компилятора как раз доступны.
319 2463656
>>463652

Сами плагины --- да. А вот если ты свой написать хочешь, то придется склонировать реп компилятора и контрибьютить плагин в него. API как подключаемая джарка не распростряняется.
320 2463676
Немчинский сказал что если я не знаю английского - то я не программист :с Это правда ?
321 2463681
>>463676
Не правда. Становись тимлидом и пусть шныри вкатуны переводят документацию. А ты только обкашливай вопросики
322 2463700
>>463676
К сожалению --- да.
323 2463702
Как же хочется лум...
324 2463703
go loom
325 2463705
>>463676
Как ты без английского читаешь документацию, стаковерфлов и туториалы?
326 2463707
Щас бы лум...
327 2463709
>>463705
Переводчиков не существует типа?
328 2463714
>>463709
Вот ты и решил свою проблему, английский можешь не учить.
329 2463716
>>463714
Вообще я просто мимо проходил
330 2463727
>>463716
Значит, предложил решение.
331 2463753
>>463449

>когда там уже лум


Через 5 дней в JDK19.
332 2463760
>>463705
С помощью переводчика читаю документацию и стэковерфлов с туториалами на изи. По началу было сложно воспринимать чушь которая выходила с переводчика т.к. перевод далеко не идеальный... А потом как то всё само заходить начало :/
333 2463767
>>463676
Как ты без английского будешь работать в помойной галере с индусами?
334 2463770
Чем чисто теоретически можно заменить дженерики, если их самих трогать нельзя? Кастовать тоже нельзя
335 2463771
>>463770
Интерфейсами и паттернами. Ну или копипастой и кодогенерацией.
336 2463779
>>463767
Я че то не видел в России индусов.
337 2463785
>>463770

> их самих трогать нельзя? Кастовать тоже нельзя


Копипастой.
Вместо add(T)
Будет add(Int) add(String) add(Hui) add(Govno)
Структуру, куда будет добавляться каждый тип тоже копипастить
int[] String[] Hui[] Govno[]
338 2463793
>>463124

>Например, в 8 жабе можно создать класс с названием var (похуй, что нейминг не соответствует соглашению), а в 11 уже нельзя.


Нихуя себе поломка обратной совместимости. Так можно любой багфикс считать поломкой обратной совместимости, если строить логику, основанную на багах. Поломка обратной совместимости - это когда ты написал хороший, чистый код, а он потом взял и не запустился после обновы жабы. Такого в джаве нет, если чё то и ломается, то ломается из-за привязки к кишкам.
339 2463795
>>463793
На 100% сохранить полную обратную совместимость можно только перестав вообще вносить правки в жабу. Законсервировать как кобол на текущей стадии развития и потом искать пути для обхода текущих багов жабы.

> Такого в джаве нет, если чё то и ломается, то ломается из-за привязки к кишкам.


В восьмой жабе я мог спокойно пользоваться JAXB, а теперь надо тащить левые жарники с рантаймами всяких говноглассфишей. И так с кучей других API.
340 2463820
>>463793

>>Такого в джаве нет


У меня например жук написанный на 11 в некоторых местах не компилируется в 17 из за добавления java.lang.Record.
Или название класса Record это тоже использование кишок?
341 2463823
>>463820
Че ты блядь несешь
Как у тебя в 11 жаве мог быть класс java.lang.Record?
342 2463827
>>463823
Нет у него java.lang.Record, есть org.jooq.Record, который, очевидно, был импортирован, а не писался везде полным именем класса с пакетом. И теперь импортировать нельзя.
343 2463861
>>463827
И что? Охуеть проблема полное имя класса написать или вынести в отдельный класс.
2022-09-1616-14-14.png19 Кб, 578x442
344 2464230
>>463820
Немного не понял, в чём проблема. Прямо сейчас затестил - у меня всё работает.
345 2464450
>>464230
Не вижу у тебя ни жуковский рекорд, ни джавовский. Ты вообще понял про что речь?
346 2464670
>>458869 (OP)
На каком гуй-тулките в жабе нынче модно писать оконные приложения?
347 2464681
>>464670

> гуй-тулките


> модно


Выбери одно.
348 2464691
>>464670
на жаба скрипт
349 2465032
>>464670
swing
другого не завезли
ну может compose multiplatform в далеком будущем
350 2465130
>>465032
Спс, пойду потыкаю.
351 2465184
Лум....
352 2465213
Господи, когда же лум........
353 2465224
>>465032
А почему не JavaFX ?
1663418011623.png41 Кб, 786x707
354 2465275
>>465032
Так, формочку сделоль. А как там разметку создавать? Какие-то аналоги xaml есть?
355 2465290
>>465275

> А как там разметку создавать?


Вся разметка пишется на жабе. Дизайнеры форм в IDE также генерируют код на жабе.

> Какие-то аналоги xaml есть?


Зачем нужны аналоги XAML, если XAML уже существует? Достаточно не лезть в жабу и выбрать подходящий язык для "оконных приложений".
356 2465299
>>465275
ПОЧЕМУ У ТЕБЯ НАЗВАНИЕ КЛАССА С МАЛЕНЬКОЙ БУКВЫ СУКА???????????????????????????????????????????????????????!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
357 2465361
>>465299
Потому что я так хочу. И что ты мне сделаешь?
>>465290
Как сделать нормальный обработчик события? На ютубе инфоцыгане предлагают класс писать. Чтоблять? Писать класс ради клика кнопкой?
358 2465367
>>465224
Синдром утенка.
359 2465368
>>465361
Да, писать класс ради одного клика. Не то что в шарпе. Понял, как всё плохо с гуем в жабе?
1663422430397.png22 Кб, 1156x128
360 2465370
>>465368

> Понял, как всё плохо с гуем в жабе?


Вполне:
361 2465387
>>463767
Тоже думаю об этом...
362 2465390
>>465361

>И что ты мне сделаешь?


Не буду тебе помогать, лол.
1663423331435.png19 Кб, 646x133
363 2465393
>>465368

> Не то что в шарпе.


Да не трясись ты так. Я немного погуглил и нашёл лямбды и всё заработало.

Сразу блять шарперов ищут под кроватью. Я изучаю все языки подряд и кайфую.
364 2465397
>>465367
О.
Тогда пойду сразу на JavaFX взгляну. А то что-то свинг как-то сразу вызывает кучу вопросов, на которые ответ один.
1663423514223.png20 Кб, 484x194
365 2465401
>>465390
Всё-всё. Исправился.
366 2465408
>>465368
Петушарпер не знает про то, что код можно несколько раз использовать.
367 2465410
>>465224
Жаба фуфыкс устаревшее говно, про которое надо забыть как про страшный сон.
368 2465413
>>465408
Я не петушарпер, просто хочу, чтобы никто никогда не писал гуй на жабе. Идею, например, надо срочно переписать на C++.
369 2465419
>>465413
Ты серьёзно? Чтобы багов стало ещё в 10 раз больше?
370 2465421
>>465410
Толсто.
>>465397

> пойду сразу на JavaFX взгляну


После первого взгляда сразу обнарухился и файл разметки fxml и нормальные (адекватные) методы инициализации приложения. Изучаю...
371 2465426
>>465419
В божественной вижуалстудии нет, не vscode ведь как-то справились.
Снимок экрана 2022-09-17 162123.png31 Кб, 903x244
372 2465432
Как указать путь в конфигах slf4j-log4j к папке %appdata% ?
373 2465435
>>465426

> я не петушарпер


Урокъ 5. Пятая теорема Петухана.
Аксиома: Не существует петушарпера, который смог бы скрыть от мира свой диагноз или сексуальную ориентацию. При критическом уровне ЗРАДЫ свиной визг настолько силён, что пробивает все системы защиты и маскировки петушарперов на планете
374 2465436
>>463481

Согласен. Не надо. Это извращение.

>>463477

>Это как забивать гвозди микроскопом.


Вот тоже самое чувствовал, когда писал это ебланство.
Лаба про регулярки - всё делаются через них. Блять.

>>463489

Пассибо. Немного дописал до ([\\(]) и заработало.
375 2465567
>>465435
Докажи, что я петушарпер.
376 2465576
>>465435
>>465567
>>465413
>>465408
Ребята идите в свой петон тред, не мешайте людям общатся...
377 2465580
>>465576

> не мешайте людям общатся


О какой-то хуите общаемся, логгеры, опхуй, гуи, лум, лабы, шарпобляди. Даже ООП-срач и Егорка были интереснее.
378 2465591
>>465580
Добавлю тебе интересную тему для обсуждения. Как всё-таки ВКАТИТЬСЯ сейчас в жабу? Что нужно знать вкатуну????
379 2465592
Подскажите пожалуйста, в сетевой модели OSI/ISO сколько уровней, 4 или 7 ?!
380 2465595
>>465591
Что нужно знать, то пишут в вакансиях. Кор, алгоритмы/структуры данных, спринг, REST, базы, хибернейт, очевидные Git и мавен, опционально докер.
381 2465596
>>465592
Сложно википедию открыть? 7 уровней.
382 2465611
>>465592
Сетевой модели OSI/ISO не существует.
383 2465637
>>465592
В модели SOSI следующие уровни
1. Неглубокий
2. Глубокий
3. Горловой
384 2465662
>>465361

>Как сделать нормальный обработчик события


Лямбдой.

>>465275

>Какие-то аналоги xaml есть?


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

>>465413
Идею никто никогда не перепишет на С++....
385 2465663
>>465662

> Идею никто никогда не перепишет на С++....


Почему?
386 2465664
>>465224

>JavaFX


Оно вроде погибло несколько лет назад, хотя вроде как какой-то опенсорс продолжали тянуть в полуработающем виде. Не помню уже. Но вообще возьми Qt/electron и не мучай жопу.
387 2465665
>>465662
А надо.
388 2465667
>>465664

> вроде

389 2465668
>>465663
1. Сейчас кризис и никто в проекты подобного рода вкладываться не будет
2. Это займет охулиард времени, учитывая какое помойное легаси представляет из себя идея.
3. Нет столько желающих людей портировать awt/swing приложение (со всеми дополнительными костылями от jb) на какой-нибудь Qt, который через N-ое количество лет тоже может умереть.
390 2465670
>>464670
Еще возможно SWT живой
https://www.eclipse.org/swt/

А вообще гуи на жабе в здравом уме начинать никто не будет.
1663441426272.png67 Кб, 684x564
391 2465709
>>465664

> Оно вроде погибло несколько лет назад


Я скочал на пощупать 19 версию, выпущенную в сентябре этого же года. Крайний LTS это 17 версия, выпущеная год назад и на поддержке до 26 года. Ну я хуй знает, как такое можно считать погибшим.

>>465670

> А вообще гуи на жабе в здравом уме начинать никто не будет.


Ну, судя по сайту с которого я кочал (Глюон) - этот тулкит кому-то всё таки нужен. Ну ладно, раз нет, пойду другие варики искать.

Всем пока. Можете не отвечать. От треда отписался. Вот вам напоследок, что я за вечер наваял неспешно тыкая по кнопкам.
392 2465718
>>465709
Хуйню какую-то сделал
393 2465740
>>465709

>Ну я хуй знает, как такое можно считать погибшим


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

>>465709

>кому-то всё таки нужен


Да, но это буквально единицы от и без того очень узкого рынка десктопов.
394 2465748
>>465637
хахахха
395 2465853
@SneakyThrows не преобразует эксепшен в рантайм экспешнен, получается, если корневая программа, вызывающая third-party аддоны вот таким образом:

try {
....addon.run();
} catch (RuntimeException exception) {
....addon.disable();
}

может завалиться от @SneakyThrows?
396 2465857
>>465853
Подобные программы часто ловят не то что RuntimeException, они ловят и Throwable, чтобы уж точно не свалиться. Например, так делают в серверах приложений, чтобы не свалилось всё из-за говна в одном war-нике.
397 2465866
Подскажите пожалуйста, как получить путь к ресурсам в файле.jar ?
Конкретно мне нужен доступ к аудиофайлу с расширением wav.
Есть конечно вариант вынести его в отдельную папку, но хотелось бы что бы мелодия запускалась вместе с приложением, а не после того как будет установлена рабочая директория.
398 2465867
>>465853

>} catch (RuntimeException exception) {


Так никто не пишет.
399 2465868
>>465867
>>465857
А если разрабы корня хотели, чтобы Error валило программу, а RuntimeException нет? По стандарту Exception сам по себе прилететь не может, поэтому такой код выглядит вполне резонным. А тут лобок какой то даун изобрёл, который ломает байткод и ведёт себя почти что как вирус.
400 2465876
>>465868
Ничего не запрещает ловить Exception. Если тебе нужна надёжность, то будешь писать код более надёжным, чем предположения стандарта, чтобы защититься от других даунов, которые кидают Error или наследуются от Throwable. Проблемы можно создать и без лобка.
401 2465880
>>465866
Через getResourceAsStream(). Если жарник не загружен, загружаешь его через класслоадер. Если путь не известен, обходишь жарник через JarFile.
402 2465897
Какие дауны пишут блокирующий код? Нахуя?
403 2465901
>>465897
Если в пуле достаточно тредов, это не вызывает проблем.
404 2465925
>>465897
У асинхронного кода, если нет больших нагрузок есть оверхед по времени исполнения по сравнению с синхронным.
К тому же под капотом асинхронный код с неблокирующим вводом-выводом сложнее и его в разы сложнее отлаживать и тестировать.
На невысоко нагруженных системах использовать асинхронное io - глупо.
405 2466032
По работе ведётся разработке на спринге, начал забывать тонкости жабы кор. Есть сейм, как фиксить?
406 2466037
>>466032
Есть, забыл sql. Похуй.
407 2466168
>>466032
А на спринге ты не жабе пишешь, что ли? Какие тонкости ты смог забыть?
408 2466175
Пиздос.
После 3х книг по жабе (Шилдт,Майкрофт,Гетц) понял, что слишком дохуя чего не знаю. Как фиксить?
409 2466206
>>466168
Ну, допустим, я точно не помню, метод clone находится в Object или в Cloneable, потому что этим никогда не пользуюсь. Забыл коллекции, потому что они нахуй никогда не нужны, кроме arraylist, hashmap и hashset. Забыл многопоточку, потому что в чистом виде она нахуй никогда не нужна
410 2466275
>>466175
Перестать читать книги
411 2466333
>>466275
Откуда черпать информацию?
412 2466338
>>466333
Треды на дваче, конечно
413 2466342
>>466338
Тут даже инфу по Спрингу держат в тайне
414 2466390
>>466275
Так с практикой же читаю книги. Увидел какую-то новую йобу, покрутил её, закинул разные данные. И когда я понял, каким именно образом это работает, то продолжаю дальше.
415 2466417
Начиная от какой цифры iq можно вообще рассматривать то, чтобы стать программистом?
416 2466418
>>466206
Крудошлёпище...
417 2466419
>>466417
80 iq чтоб крудошлёпить, 140 iq для настоящего программирования. Правда айтишка сейчас прогнила, гораздо более важен тембр твоего голоса и размер челюсти, чем реальные навыки.
418 2466431
>>466417
Как повезёт. Рынок всё равно схлопнулся два месяца назад.
419 2466437
>>466419
Вот я тесты сколько ни сдавал, у меня результаты в промежутке 115-125. Сколько уже учусь, для себя заметил, что "крудошлепскую хуйню" я делаю на изиче, не напрягаясь. Но когда нужно применить какой-нибудь алгоритм, например что-нибудь связанное с графами и работой с ними и прочее подобное, я зачастую ощущаю себя бабуином и демотивируюсь. Поэтому, пожалуй, с тобой соглашусь. Крудошлепствовать любой средний Васян сможет. Про 80 ты загнул, но с среднехуй с соткой справится. А вот быть тру-программистом, по праву носящему это звание, способно лишь пара процентов от популяции.
>>466431
А что два месяца назад произошло?
420 2466442
>>466419

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


Распиши, пожалуйста, что это значит.
421 2466443

> настоящее программирование


У вас тут локальный мем такой?
ищи реально никакой как все сидит?
1629566504966.png36 Кб, 1027x903
422 2466446
>>466437

> А что два месяца назад произошло?


Набралась статистика
423 2466458
>>466442

>Распиши, пожалуйста, что это значит.


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

>>466443
>>466446
Господа ципсошники и петушарперы, идите нахуй с треда.
424 2466459
>>466446
Это по жабе или в целом? Если второе, то делать выводы по этой статистике относительно положения дел на рынке тырпрайз жабы неправильно
425 2466460
>>466417
80 хватит точно при должной усидчивости, даже если это ссанная веб-студия с вёрсткой, битриксом и 1С.
Я никаких тестов всерьёз не проходил (только поржать, типа "выберите 15 цветов и узнайте свой IQ", но вряд ли у меня больше 100. Сам считаю себя тупым, но усидчивый что пиздец, таски закрываю в срок, ЗП растёт.
426 2466462
>>466459
В целом, конечно. И теперь двощеры делают выводы, типа раз аутсорс съебался, то айти всё. Будто внутренних продуктов у нас нет.
427 2466472
>>466459
По жабе в прошлом или в позапрошлом треде были скрины
428 2466516
>>466431

>схлопнулся два месяца назад


Раньше, сейчас-то все уже стабильно хуево. В марте-апреле регулярно скидывал количество джава вакансий в мвп тред. Сначала было 5000, потом 4500, потом 4000, потом меньше 4к, потом небольшой отскок до 4, и падение до трех тысяч. Сейчас стабильно 2850-3000 держится. Но видимо еще сдуется медленно до двух тыщ за несколько месяцев. Потребности в джава разрабах сейчас нет.
image.png72 Кб, 1252x485
429 2466549
Аж вскрыться захотелось.
430 2466552
>>466549
От 15000 до 300000 российских рублей, что не так?
431 2466555
>>466552
Вакансий нихуя толком.
С кайфом бы постажировался за 15к рублей.
432 2466557
>>466516
Дело даже не в оставшемся количестве. Там половина объявлений тупо фиктивные, по ним никогда не ответят, потому что они не ищут разрабов. Не знаю зачем их открывают и переоткрывают несколько раз в неделю, статы мб набивают какие то.
433 2466559
>>465880
Возвращает null. Очень плохо...
434 2466560
>>466555
Они хотя бы есть. Мне вот пришлось уехать из родного мухосранска в Д
Москву, но в Рашке с этим проще.
435 2466562
>>466559
Небось что-то с путями.
436 2466565
>>466418
Ты тоже забудешь. Вот закончишь изучать кор, приступишь к спрингу и забудешь
437 2466572
>>466560
Что такое Рашка, тварь?
438 2466580
>>466572
Идинах.
439 2466610
Щас бы лум...
440 2466614
>>466610
Да ты заебал!
441 2466616
>>466516
У джавы дела еще более-менее в отличие от петушарперов, у которых и до 2022 рынок был мертвейший, и лоу айсикью петухонщиков, работу которых может выполнять любая продавщица пятерочки
442 2466617
>>466614
И ничего я не заебал. А вот разрабы джавы заебали тянуть с релизом лума!
443 2466619
Уже готовы перекатывать весь свой проект на 5 миллионов строк кода на джаву 19, потому что какой-то долбоеб захотел лум потрогать?
444 2466631
>>466619

>Уже готовы перекатывать


Да, всего 60 постов осталось.
445 2466633
>>466619
Че вообще нужно прописывать в проекте чтобы 5 000 000 строк получилось?
446 2466636
@Data или record?
447 2466638
>>466633
If else if else…
Switch case case case…
448 2466639
>>466636
Рекорд конечно правильнее будет, но мне привычнее @Data.
449 2466640
Анончики, пропала кнопка "открыть папку в идее" из контекстного меню проводника, как вернуть?
450 2466641
>>466639
А кстати, в 19 жабу завезут эксклюзивные фичи для рекордов, поэтому @Data сразу в топку.
451 2466643
Что должен знать и уметь жаба джун в целом?
452 2466644
>>466643
Нетворкать и пиздеть ни о чём.
453 2466647
>>466641
В рекордах не унаследуешь от другого класса, в отличие от data
454 2466649
>>466647
Наследование - антипаттерн.
455 2466650
>>466644
А иметь задроченный кор, Java 8, concurrency, Spring наверняка же надо, верно?
456 2466651
>>466650
Ну это тоже, но это не основное. Все что ты перечислил надрачивается за неделю.
457 2466652
>>466651

>Spring за неделю


Лол.
458 2466655
>>466651
За два часа. Вообще бэкендером становятся за неделю, до сеньора недели полторы. Вот пиздоболом-максималистом на дваче дольше придётся становиться, это путь длиною в жизнь.
459 2466656
>>466652
Спринг за неделю это лол, а кор и многопоточка нет?
460 2466658
>>466644
А если ты замкнутый в себе, пугливый ассоциальный хиккан, то что, не возьмут в жава разработчики?
461 2466659
>>466651
Неделю это если ты бывший петухонщик или закончил пту со справкой. В ином случае - тут день-два максимум и то, если весь спринг целиком осваивать
462 2466661
>>466656
Конкаренси только на РАБотке осваивается, разве нет?
463 2466664
>>466619
Не, ждём, когда в WebSphere добавят поддержку лума.
>>466633
Просто надо впилить дохуя функционала в один проект, чтобы в одной системе могли работать десятки тысяч пользователей с разными ролями. У нас всего лишь 500 000, ибо проект более специализированный, хотя нет и половины того, что в планах у кабанов.
464 2466716
>>466661
Ты с конкаренси на работе никогда и не встретишься)))
465 2466725
>>466716
Не надо меня буллить, пжлст.
legacy-shit.PNG77 Кб, 1206x467
466 2466730
>>466633
Посмотрел вот исходники одного легаси-копролита(java-8, spring 4 без бута, все деплоилось на 7ой томкат? часть конфигов в хмл, часть кодом, без тестов, фронт на велосипеде поверх древнего реакта), с которого я убежал в страхе год назад. И там всего 318к строчек джава кода, хотя всего строчек 1.6кк. Убежал очень быстро, успел пощупать ну 5% кодовой базы где-то. Причем там даже по рассказам старожил как минимум четверть кода была просто дохлой.
Сейчас пишу в 2 микросервиса(джава-17, спринг-бут последний) по 8к и 10к строчек джава-кода, где половина тесты. Без тестов микросервис ну 4-5к строк. А вместе со всей мишурой - под 40к. Но там до прода еще далеко и тогда объем кода еще раза в два увеличится, ну будет 10к рабочего кода.
У меня каждая неделя это где-то +1500-300 строчек(ну это всего вместе с тестовыми json-ками, наверно нового нетестового джава кода строчек по 200 в неделю).
В декабре собираюсь микросервисы сразу переводить на спринг 6.
Java21-LTS выходит 2023-09-19, так что может и ее успею на этом проекте впихнуть.
467 2466738
>>466649
Я другой анон, но рекорды мне в большинстве случаев не подходят.
У меня здоровенные динамические входные дтошки с 4мя кейсами-наследниками. Поэтому куча аннотаций валидаций и аннотаций джексона лежат в интерфейсе.
468 2466825
>>466652
>>466655
>>466659
Ну я серьёзно, мужики. Именно задрочить так, чтобы пройти собес и попасть на работку, а не начать писать хоть какой-то вменяемый код. Для написания вменяемого кода нужен минимум год, и то, если у тебя, как у меня 180 iq.
469 2466826
>>466658
К сожалению, тебе будет очень сложно.
470 2466827
>>466738
Если бы ты писал чистый объектно ориентированный код у тебя такой хуйни бы не было.
471 2466834
>>466827
Ну вот кейс конкретный. У меня есть сущность организация. Организаций - 4 типа. Там 20 полей общих и по 5-10 у каждой свои. Эндпоинт для сохранения один.
Как мне их правильно сохранять по маня-ооп?
472 2466841
>>466834
Дегенеративное хуйло с клиповым мышлением не может посмотреть на проблему с другой стороны, спешите видеть. ООП - это не про структуры данных, ООП - это про живые объекты, которые чё-то делают, не открывая, что находится в них. В ООП создающиеся классы сразу после создания прячутся под интерфейс. А теперь расскажи, зачем тебе эти организации нужны и я бесплатно, по своей доброй воле натолкну тебя на ООП решение.
473 2466846
Ура, Егорка вернулся!
474 2466856
>>466841
Это информационная система для отображения контрагентов нашей организации. Типов контрагентов сейчас 4, потом будет больше. Ну и есть обязательные и опциональные поля, как для всех, так и для отдельных типов организации. Для банков одни, для служб доставки другие, для арендаторов третьи, для поставщиков четвертые. Но все должны быть в одной сущности для сводных отчетов.
475 2466864
>>466856
Интерфейс Сounterparty с обязательными методами для всех контрагентов, далее классы Deliverer, Tenant, Bank, Provider и тд. У каждого своя логика и свои конструкторы, но все реализуют один интерфейс.
476 2466867
>>466864
Чего только люди не придумают лишь бы не учить типовую конфигурацию 1С.
477 2466869
>>466867
Прикол ООП в том, что вышеупомянутое говно

> Deliverer, Tenant, Bank, Provider


можно типизировать и создавать одним методом, а твой топорный 1С как был топорной оболочкой к БД, так и останется, без какой-то крутой логики.
478 2466873
Нашёл либу 14 летней давности. Как думаете, заведётся на 19 жабе?
479 2466891
>>466873
Ты оппост что-ли не читал?

> Java никогда не ломает обратную совместимость - твой код, написанный на Java 1.2 будет работать на Java 18 - и не зависит от платформы, являя из себя единственный полностью кроссплатформенный язык с кроссплатформенной экосистемой (если не считать языков-паразитов на JVM).



Конечно заведется
480 2466895
>>466458

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


Вот. Тред даже был в прошлом году, что селёдки-эйчарки отбирают соискателей по фоткам в резюме. Чем красивее, тем выше шансов, и это даже при более плохих профессиональных показателях.
И вообще, да, айти сейчас действительно сорт шоу-биза, где нужно быть стильно-модно-молодёжным смузихлёбом, а не инженером.
481 2466896
>>466895
>>466458
С пробуждением, так во все сферах бтв
Даже статистика была что более карстовые и высокие люди больше зарабатывают

ну и софт скилы неожиданно очень важны
482 2466897
>>466649

>Наследование - антипаттерн.


Именно.

>>466841

>ООП - это не про структуры данных, ООП - это про живые объекты, которые чё-то делают, не открывая, что находится в них.


ООП - это абсурд по определению, потому что идея наследования противоречит идеи инкапсуляции.
483 2466904
>>466897
Не противоречит.
484 2466909
>>466897
Если в вашем коде есть инкапсуляция, значит это признак плохой архитектуры приложения.
485 2466910
>>466896

>С пробуждением, так во все сферах бтв


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

>Даже статистика была что более карстовые и высокие люди больше зарабатывают


И в Европе даже хотели ввести налог на красоту, да.

>


>ну и софт скилы неожиданно очень важны


Логично, что нужно уметь общаться с людьми, чтобы работать в команде. Но в айти опять же этому уже слишком много внимания уделяется, имхо.
486 2466923
>>466910

> слишком смузихлёбно и слишком ванильно.


А эти смузихлебы сейчас тут, в этой комнате?
487 2466928
488 2466929
489 2466953
Поясните дебичу за сеттеры и геттеры, плз.
Сеттер создает копию поля и устанавливает ему переданное значение или меняет ИЗНАЧАЛЬНОЕ поле класса?
490 2466955
>>466953
Изначальное.
491 2466956
>>466825
Сейчас на РАБотку берут только сеньеров, просто некоторым платят как мидлам или джунам.
492 2466958
>>466955
а в чем профит?
С одной стороны я понимаю - типа перестраховка на случай когда у нас очень много переменных, но ведь в этом случае можно и сеттеры перепутать, разве нет?
493 2466962
>>466958
Шта?
494 2466964
>>466962
Шта Шта?
зачем нужны сеттеры и геттеры? нахуй нужна приватность, если есть обход этой приватности?
Я не утверждаю, что не нужна, я лишь даю понять что я не понимаю, поясните простым языком, пожалста.
495 2466973
>>466964
Про геттеры сеттеры писал какой-то анон выше, вкратце: геттеры нужны для того, чтобы вернуть копию филда в имьютбл обьекте, а сеттеры нахуй не нужны, но все их пишут. Ну еще в геттерах/сеттерах можно какую-то логику написать, но это вроде АНТИПАТТЕРН
496 2466974
>>466964
По факту это и есть обход приватности.
А пишут так потому что так принято.
497 2466980
>>466973
Бывают еще дебилы которые считают что любой метод который вообще хоть что-то возвращает обязательно должен начинаться с ГЕТ.
Причем даже когда пишут на питоне или плюсах.
498 2466983
>>466973
Схуяли валидация в сеттере это антипаттерн?
499 2466984
>>466964

>зачем нужны сеттеры и геттеры?


Концептуально с т.з ООП - это публичный интерфейс класса по данным на котором строится ОРХИТЕКТУРА. Это контракт который ты выставляешь наружу и мамой клянешься, что он не поменяется и значит на него можно расчитывать когда ты проектируешь охуительные взаимодествия между объектами. Приватное состояние которое возвращают/меняют гет/сет это твое грязное белиьшко реализации - оно полностью в твоей власти и можно делать с ним что угодно при условии, что ты не нарушаешь контракт.

С практической точки зрения - чуть проще менять класс внутри, на этом все.
500 2466985
>>466958
Профит в том, что ты пишешь менее связанный код.
501 2466986
>>466973

>геттеры нужны для того, чтобы вернуть копию филда в имьютбл обьекте


в чем проблема филд сразу паблик объявить
502 2466987
>>466983
Валидация - антипаттерн
503 2466993
>>466987
А выброс исключения в конструкторе?
504 2466999
>>466973

>сеттеры нахуй не нужны, но все их пишут


Это если у тебя простой DTO без логики. А так сеттер проверяет значение и может делать дополнительные действия. Например есть у тебя объект квадрат, сет сайз будет ещё и перерисовать его.
505 2467003
>>466999
пиздец
506 2467011
>>466999
Если он себя уже перерисовывает, может он и в базу сходит себя запишет?
507 2467018
>>466993
Конструкторы это антипаттерн.
508 2467020
>>467011
Ты только что active record...
509 2467057
>>467020
Active record - антипаттерн.
510 2467060
Эххх щас бы вернуться в 2002 и вызывать код типа
zalupa.huy.pizda.lalka = 5
повсеместно в коде.
Это же так охуенно потом рефакторить, отлаживать или изменять, мммм, просто 10 из 10
Ещё и глобальных переменных пиздануть на весь скоуп, охх щас кончу
511 2467065
>>467057
Хочешь сказать в 17 джаву добавили антипаттерны?
512 2467105
>>467065
Не добавляли того, что ты написал.
513 2467204
>>466825

>180iq


Сколько платил за тест?
514 2467211
>>467204
Отправил СМС с кодом "ЯНЕЛОХ" на короткий номер.
515 2467218
Нахуя в бинах скоупы помимо дефолтного синглтона? Лично я никогда не юзал даже прототайп, не говоря уже о других, названия которых я на данный момент смутно помню. Приведите реальный пример, когда нужно поменять скоуп на какой-то другой
516 2467222
>>467218
Создатели спринга не настаивали на использовании конкретной подхода к организации архитектуры проекта, так что оставили все скоупы. Это на практике сложилось делить всё на умные сервисы без данных и тупые дата-классы без логики (anemic model), но кто-то захочет реализовать active record и с prototype напишет что-то подобное:
huiBean.setId(0);
huiBean.setSize(4, 3);
huiBean.save();
И т.д. Например, в session можно хранить корзину, а в request - свалку параметров запроса.
517 2467227
Применение паттернов в разработке - антипаттерн?
518 2467247
>>467227
Всё верно.
519 2467249
>>467211
Которое стоило 17500 рублей, да?
520 2467304
Какие на ваш взгляд критерии крепкого java-мидла? 2.5 года в джаве, перекатился с другого стека, не ооп, пилю в энтерпрайзе простые микросервисы на спрингбуте в кубере, без гугла не могу в многопоточку и кафку, т.к. задач не было таких. Могу в БД, рест, прорешиваю литкод В петухи запишете или в стремящиеся?
521 2467311
Какие на ваш взгляд критерии крепкого java-мидла? 2.5 года в джаве, перекатился с другого стека, не ооп, пилю в энтерпрайзе простые микросервисы на спрингбуте в кубере, без гугла не могу в многопоточку и кафку, т.к. задач не было таких. Могу в БД, рест, прорешиваю литкод В петухи запишете или в стремящиеся?
522 2467318
Какие на ваш взгляд критерии крепкого java-мидла? 2.5 года в джаве, перекатился с другого стека, не ооп, пилю в энтерпрайзе простые микросервисы на спрингбуте в кубере, без гугла не могу в многопоточку и кафку, т.к. задач не было таких. Могу в БД, рест, прорешиваю литкод В петухи запишете или в стремящиеся?
523 2467325
>>467318
Архитектуру и паттерны подтяни, а то ты про DRY явно не слышал.
524 2467326
>>467318
Иди нахуй.
525 2467343
>>467227
Дроч на паттерны --- антипаттерн. А так --- ну паттерны и паттерны. Умные инженеры нашли в своих проектах повторяющиеся по структуре кода, обозвали их паттернами, написали книгу и продали многомиллионным тиражом. А анальники сделали из этого каргокульт и ищут в нем ответ на то, почему у них код --- говно. Как всегда.
526 2467364
>>467304
>>467311
>>467318

>не могу в кафку


Оно и видно, ебанат. Хоть бы идемпотенси врубил
527 2467370
>>467364
СОДОМИТИЩЕ
528 2467381
>>467325
Лол, проебался с капчей
хорошо circuit-breaker сработал
529 2467388
>>467381
40 минут проёбывался?
530 2467398
>>467018
Чего бля? Конструкторы это место, которые отвечает за 70% логики в ООП.
531 2467400
>>467388
Ну не все же рабочее время на кабанчика въебывать
532 2467401
>>467060

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


Spring.
533 2467402
>>466964
Ни то, ни другое не нужно в настоящем ООП. Сеттеры вдвойне кринж.
534 2467441
>>467402
А как ты собираешься менять состояние объекта?
535 2467448
>>467441
Все объекты должны быть стейтлэсс
536 2467450
>>467448
Имхо, подмена понятий stateless и неизменяемость.
Как-ты реализуешь, например, stateless connection pool?
537 2467522
>>467441
Объекты, если и должны меняться (хотя в большинстве случаев объекты лучше сделать неизменяемыми), то только сами.
538 2467527
>>467522
Что значит сами?
539 2467530
>>467527
Ну то есть объекты меняют напрямую только свои поля.
540 2467535
>>467530
Как они понимают, что надо поменять поля?
541 2467550
Как сейчас с трудоустройством в жабе? Как лучше сейчас искать первую работку? Сколько времени примерно уйдет с момента выката резюме и рассылки первых откликов до первого оффера, учитывая, что знаешь базу спринги, докеры, кафки
Действительно ли нужно, как говорит немчинский, откликаться не только на джунов, но и на мидлов?
542 2467561
>>467535
Сами решают в процессе выполнения указаний других объектов, которые напрямую не говорят менять, а лишь говорят, что им нужно. Объекты сами решают, что менять, а что не менять.
543 2467570
>>467561
Я все жду, когда ты напишешь про сообщения от объекта к объекту.

>которые напрямую не говорят менять, а лишь говорят, что им нужно.


Есть объект счет и объект клиент. Клиент ложит деньги на счет. Что клиенту "нужно"?
544 2467573
>>467550
Ну даже в такой примитивной ситуации вместо get/set нужно сделать add/remove.
545 2467577
>>467573
Блеать, ты как мой тимлид, доебываешься до лица.
546 2467578
>>467577
Это не доёбка, это прямое улучшение кода. Вместо того, чтобы всегда вызывать account.set(account.get()-sum), ты вызываешь account.remove(sum). Это принцип DRY.
547 2467582
>>467578
В конкретном случае соглашусь, когда метод выполняет больше одной операции. Но не понимаю, чем плохи геттеры/сеттеры в тех же дто. Иногда удобно создать дтоху с через конструктор с аргументами, а затем поменять пару полей.
548 2467586
Я правильно понял, что вместо MessageService.send(Message m, Destination d) надо делать Message.send(Destination d)?
549 2467589
>>467582
ДТО - антипаттерн.
550 2467590
>>467586
Неправильно. Улучшение конечно есть, но всё равно говно. Message и Destination неразлучны с контекстом и сами по себе не должны существовать. Если ты например обрабатываешь пользовательскую команду, то код должен выглядеть так:

public void on(CommandDispatch dispatch) {
----dispatch.author().sendMessage("Петух сказал: "+write.dispatched().asString());
}

А если шлёшь email на новый год всем своим клиентам, то

myCompany.getClients().stream()
----.filter(client -> client.getLatestVisit().happenedInPast(1, TimeUnit.MONTH))
----.forEach(client -> client.email(new Email("С новым годом!")));
551 2467591
>>467590
Вместо new Email лучше сделать new SimpleEmail("С новым годом!")

быстрофикс
552 2467592
>>467590

>write.dispatched().asString()


А откуда берется write? текст сообщения в CommandDispatch должен быть, не?
553 2467594
>>467592
dispatch*

ошибся
554 2467600
>>467590
Ну ты и навыдумывал хуйни. У меня был вопрос простой: что должно быть вместо сервисов.
555 2467601
>>467600
Это ты нихуя не понял. Я тебе ответил, что нельзя сервис просто взять и заменить. А вообще, в общем случае user.message(Message message).
556 2467602
>>467601

>Это ты нихуя не понял


Так значит ты хуево объяснил.

>user.message(Message message)


Откуда взялась сущность юзера? Если появятся новые способы нотифицирования, надо будет изменять класс юзера, чтобы их туда добавить? Что если перед отправкой сообщения необходимо выполнить какие-то произвольные действия, например провалидировать или поменять какое-то поле, причем список правил лежит где-то снаружи?
557 2467605
>>467602

>Если появятся новые способы нотифицирования,


В общем случае - да. А как иначе то, лол? Но опять же, если бы ты читал моё сообщение не жопой, ты бы увидел мой посыл о том, что отправлять сообщения лучше из контекста. Не из контекста, а из непосредственно юзера отправлять только то, что с этим юзером непосредственно связано. Например, емайл. Если не хочешь целого юзера менять - добавь к нему метод getEmailBox(), который вернёт спрятанный под интерфейсом EmailBox способ работы с сервисом емейлов (не поле emailBox, его не должно быть!).

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


Например?
558 2467607
>>467605
Ну то есть в моем примере это будет Destination.message(Message m). Почему не Message.send(Destination d)?

>Например?


Да банально список правил лежит в спринг проперти, которые подгружаются через спринг клауд конфиг и могут обновляться в рантайме.
559 2467609
>>467607

> Почему не Message.send(Destination d)?


Потому что сообщение не должно уметь отправлять само себя. Это контринтуитивно и в конечном итоге всё равно приведёт после цепочки методов к тому же Destination.message(Message message), если конечно у тебя есть хоть какая-то инкапсуляция и сообщения не могут сами добавлять себя в ящики сообщений.
560 2467630
Как называется метод из библиотеки dropbox sdk java, который возвращает длину скачиваемого файла ?
P.S. - не хочется по библиотеке лазить... ._.
562 2467641
>>465662

> Идею никто никогда не перепишет на С++....



Так то Jetbrains Fleet уже в превью. Он в текущем состоянии конешно даже близко не идея, но все же инициатива есть.
563 2467645
>>465413

> Идею, например, надо срочно переписать на C++.



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

> хочу, чтобы никто никогда не писал гуй на жабе



Ох уж эти смешные затейники со своими хотелками) Навыдумывают себе фетишей, а потом страдают от нереализованных фантазий)
564 2467668
>>467645

>)


Потерялся нахуй.
565 2467675
>>467398
Конструкторы нарушают полиморфизм.
566 2467678
>>467675
Каким образом?
567 2467700
Как вообще изучать юнит-тестирование? Видел, что там какой-то mock используется, но что он делает - не понятно.
568 2467703
>>467700
Юнит-тестированием пускай занимаются юнит-тестировщики.
569 2467719
Внутренние классы это норм или анти-паттерн?
570 2467731
>>467703
А если меня не возьмут джава-погроммистом, а только юнит-тестировщиком?
571 2467755
Вы готовы, дети?
572 2467758

>ряяя готовьтесь самообразовываться эвридей


А в других сферах будто бы тебе не надо развиваться. Пиздец инфатилы.
https://habr.com/ru/post/687820/
573 2467759
>>467719
Антипаттерн, но не классический. Лучше не писать их.
574 2467790
>>467758
Я тоже начинал с Бейсика на Спектруме, но кому сейчас нужны такие программисты?
575 2467796
>>467758
Пошёл нахуй, хабрашиз.
576 2467821
>>467678
Это не виртуальные методы. Логика написанная в конструкторе непереопределима, поэтому классы с конструкторами не полиморфичны и должны отсутствовать в ООП языках.
577 2467849
Приветствую, подскажите пожалуйста сколько в ДС получают джуны. Планирую проходить собеседования на удаленку и стало интересно как реально обстоят дела с уровнем зп. Планирую просить 50к после вычета налогов
578 2467868
>>467849
Это твой материал для стендапа? Очень смешной юмор абсурда
579 2467879
>>467868
Почему?
580 2467894
>>467821
Так им и не надо. Ты как вообще себе видишь их переопределение, если они не наследуются?
581 2467934
Сап, аноны, подскажите плиз, кто шарит. Я чет до сих пор не могу разобраться с секурити. Как должна выглядеть аунтификация с oauth? Вот я раньше выдавал свой jwt, в потом в фильтре его валидировал, а сейчас как? Делать свой авторизейшн сервер? Фильтр уже есть спринговом проекте oauth? Просто внятных гайдов вообще нет, только какая-то лажа с авторйзом через всякие гуглы/гитхабы
582 2467960
>>467849
Сотка потолок, дс2
583 2467989
>>467849
Надо просить всегда больше и ещё если занижаешь планку, то это сразу говорит о том, что не уверен в себе и значит ничего не знаешь.
584 2468131
>>467989
Так-то я субъективно нормально знаю,плюс петы есть. Дело в том,что я сам с Воронежа и мне 50к хватит на скромную жизнь. Также видя 300+ откликов на вакансию я предполагаю что есть мизерный шанс пройти чисто за счет жадности работодателя
585 2468135
>>468131
Плюс ещё мне до сих пор слабо верится что джуны в принципе могут получать 70к+ тупо за знание жизненного цикла бина, транзакций и прочих дефолтных штук
586 2468150
>>467607
Как сформулирована задача? Нотификация клиента по различным каналам? Как вариант в User хранить перечень каналов для нотификация конкретного пользователя, отдельно сделать сервис Notifier, который по идентификатору пользователя получает реквизиты (можно и в User это хранить) для отправки сообщения и формирует Message в соотв. со спецификой каналаи класс Sender, который отвечает за интеграционную логику.
587 2468157
>>468135
Не знаю жизненного цикла бина, т.к. все бины синглтоны, а значит бессмертные пока контекст поднят. Работаю мидлом.
588 2468404
>>468157
А если прототайп бин?
589 2468407
>>468157
А если session бин?
590 2468409
>>468157
А если request бин?
591 2468430
С НОВЫМ 19 ЖАБОМ!
ПЕРЕКАТ >>2468422 (OP)
592 2468468
>>468404
>>468407
>>468409
Не нужны. А если где и встречу, то у баелдунга разжевано для тупых, за 20 минут разберусь, что с этим мракобесием делать.
593 2468469
>>467821
Наличие невиртуальных мнтодов не нарушает полиморфизм

вобще словосочетание нарушает полиморфизм звучит странно, полиморфизм это не какое то правило или метод, чтобы его нарушать можно было
594 2468497
>>468430
ты че ебанутый? нахуй ты ранний перекат делаешь в лтс треде?
595 2468562
>>468497
Ну так это не обычный перекат, а перекат на новую 19 жабу.
596 2468607
>>468562
Текущая - 17, новая - 23 и она еще не вышла. Все что не лтс не достойно внимания.
597 2468666
В чем разница между Spring Cloud API Gateway и Spring Cloud Service Discovery?
Оба перенаправляют запросы. Пока все что я понял это то что API Gateway это прокси,к которому обращается клиент,а он уже дальше сам решает в какой сервис отправить запрос. А Service Discovery знает где физически находится сервис и можно делать запросы не зная айпи адреса. Получается он тоже распределяет запросы. Поясните плиз
598 2468706
>>468666
Пиши в новый тред.
599 2468713
>>468706
Пошёл нахуй со своим новым тредом.
600 2468717
>>468713
Как будто это мой тред. Я хотел тебе помочь, чтобы тебе ответили быстрее, а ты меня послал. Не стыдно?
601 2468722
>>468717
Помогай в новом треде
602 2468724
>>468706
там первые 500 постов будет шарпосрач и его вопрос потонет в этом потоке говна
603 2468735
>>468157
А если minecraft bin ?
604 2468885
>>468666
Все, что делает дискавери - дает настоящий адрес по виртуальному. И потом на этот настоящий адрес ты шлёшь запрос.
Гейтвей же перенаправляет запросы на нужные сервисы. Например, если урл /users/, то в сервис юзеров, если /vehicles/, то в сервис машинок и тд. Кстати, для нахождения настоящих адресов этих сервисов гейтвей пользуется дискавери
605 2468983
Надеюсь всех джавистов мобилизуют и отправят на Бомбасс.

Чтобы мне было проще после них трудоустроиться ^^
606 2468987
>>468983
Джависты в большинстве своём - многодетные скуфы 30-40 лет, так что шансы сам оценивай.
607 2468991
>>468983
This >>468987
Зато на голанге и ноде места освободятся после зумеров, можно хайповую строчку в резюме перед перекатом к западным баринам
608 2469882
>>468987
>>468991
Так скуфы в первую очередь и пойдут
609 2470259
А логирование на самом деле очень полезно :/ Первый раз пишу проект с slf4j-log4j.
610 2470330
>>470259
А я так и не осилил, хотя вкатился давно.
611 2470459
Заметил, что многие используют макпуки для программирования. А есть какие-нибудь линупс-аналоги, чтобы также комфортно программировать?
612 2470467
>>470459
Назови конкретные причины, почему тебе не подходит винда. И не надо про баги и дыры.
613 2470476
>>470467
Винда платная. Тяжёловесная. Скучные обои.
Хотелось просто иметь виртуалку для программирования, чтобы быстро запускалась и там можно было бы делать всё, не боясь сломать систему.
614 2470477
Если приходится себя заставлять программировать, то стоит ли вообще идти в эту профессию? Второй год изучаю джаву на тырпрайз-разработчика, но интереса крудошлепить нет. Насильно заставляю себя с утра учить эту муть и хотя бы по 2 часика что-нибудь кодить. Вроде всё получается, даже понимание есть, но интереса просто ноль. Воспринимаю обучение как каторгу.
615 2471135
>>470477
Раз за два года до сих пор не бросил, значит, хоть чуть-чуть тебе это интересно. Вдруг для тебя каторга - не занятие программированием, а сам процесс обучения. В реальном проекте может быть ещё интереснее, там будут настоящие задачи, а не однотипные учебные круды.
616 2471265
>>471135

>там будут настоящие однотипные круды, а не интересные учебные задачи

617 2471266
>>471265
Каждому своё.
618 2471316
Что такое круды ?
619 2471317
>>471316
Набор операций CRUD: Create, Read, Update, Delete
Крудами в переносном смысле называют такие приложения, где нет сложной логики, и всё сводится к созданию режимов, где есть тупо создание записей, просмотр, редактирование и удаление. Это обычно первое, чему учится вкатун в спринг.
620 2471425
>>471317
Вау, очень интересно...
621 2471433
>>471425
Нет, очень скучно.
622 2471569
>>471317
Скорее всего и последнее. Иначе чему еще учиться в жабе? Как связать несколько крудов между собой?
623 2471580
>>471569
Как только ты написал хоть один if, круд закончился.
624 2471655
>>458912
Нет, в пайтон так нельзя. Первые две строчки - это шэдоуинг, ну или просто замена адреса в ссылке. Такой кульбит возможен как раз из-за динамической типизации. Сами значения по адресам в памяти никак не меняются, не кастятся (оставшиеся без ссылок данные потом сборщик скушает). А вот вторая и последняя строчки вызовут ошибку, т.к. типизация строгая, складывать строку с числами нельзя.
625 2471667
>>459827
meganz, transfer.sh
626 2471995
Пишу небольшой проект в портфолио, тк все говорят, что без них никто на тебя даже не посмотрит. За пару дней набросал бэк, но вот с фронтом проблемы. Фронт идет очень туго из-за того, что я с ним до этого дел не имел, еще и получается в основном какой-то кал, который показывать левым людям стыдно. Подскажите плиз на чем легче всего сейчас будет написать простенький сайт, чтобы выглядел более-менее. Во фронте чет вообще не хочу разбираться, это супер уныло и нахуй не нужно для меня.
Или может в пизду вообще этот фронт? Хватит чисто реста какого-нибудь для проекта в резюме?
log.png71 Кб, 1873x315
627 2472153
Возможно тупой вопрос. Как в IntelliJ Idea настроить нормально читабельные логи при использовании LogstashEncoder?
628 2472393
Вот есть:
ExecutorService executor = Executors.newFixedThreadPool(5);
Ему дается пачка Callable. Какой метод вызвать чтобы он вернул то, что выполнится быстрее всего? invokeAny() подойдет?
629 2472601
>>471667
Я уже пользуюсь dropbox, там есть функции для разработчиков.
630 2472612
Я изменяю цвет JProgressBar как показано на скриншоте. Но после того как полоса загрузки доходит к концу, цвет опять становится дефолтным оранжевым. Как это исправить ? Я хочу что бы цвет оставался таким же зеленым.
631 2472632
>>472612
Здесь одни спрингомакаки, никто не ебётся с AWT/Swing каждый день и ответить тебе вряд ли смогут. Так что гугли, ты быстрее решить проблему копанием в документации и на стаковерфлове, чем дождёшься здесь ответа.
633 2472701
Как воспроизвести аудиофайл с помощью библиотеки javazoom ?
634 2472739
>>471135
Мне бы хотелось создавать графические программы на джаве типа офисных программ каких-нибудь. А бэкенд скучный. Хотел писать свой пет-проект, но креативных идей нет, а без этого нет интереса программировать.
635 2472742
>>472739

> Мне бы хотелось создавать графические программы


Ты выбрал не тот язык, десктопом занимаются в плюсах и шарпе. Достаточно унылое занятие, на самом деле.
636 2472778
>>471995
Фронт на сваггере.
637 2472782
>>472612
ахаха чиво блядь
638 2472819
>>472782
Первая макака показалась....
639 2472834
>>472819
Да в смысле первая? Ну ок, я >>472632 тогда буду нулевой макакой.
640 2472836
>>472819
у у а а
641 2472840
арарарарара
642 2472933
>>472742
На шарпе нельзя писать под линукс, винда онли.
643 2472974
>>472933
Так пиши на плюсах.
В шарпе с недавних пор можно писать и под линукс, есть несколько кроссплатформенных библиотек для гуя. Хотя не юзал, наверняка там сырое говнище. И никаких винформ и WPF, они да, винда онли.
644 2473051
В треде /t/ никто не отвечает, он умер кажется...
Ну так вот, есть у меня ноутбук pixus rise grey на celerone 3350 (1.1GH), 4 озу и 64 гб NVME. Присмотрелся мне вот такой ноутбук интересный, с огромной скидкой 15350 - ASUS VivoBook X415EA-EK1336WS 14" 7505 4GB RAM 128GB SSD Windows 11 Home S. Как думаете стоит его покупать ? Будет ли он намного производительней моего нынешнего ноута ?
P.S.- оперативную память и ссд можно добавить...
645 2473052
>>473051
А жаба тут при чём бля? В /hw/ спрашивай, если там не отвечают, то в /b/. Если ищешь ноут для программирования на жабе, то определённо не стоит, на таком железе даже винда едва ли будет работать.
646 2473061
>>472153
Bump. Please help.
647 2473143
>>473051
Можно поставить AstraLinux он базе дебиана и жрёт меньше 512Мбайт. Там есть OpenJDK 8 и Liberica 8. Из редакторов можно использовать VS Code, который гораздо менее прожорлив по памяти, чем та же идея или эклипс.
astra-java.jpg397 Кб, 1275x961
648 2473264
>>473143
Если кто не верил, вот скрин, что всё работает на конфигурации 2 ядра - 2 гига.
649 2473341
>>473143
Между прочим отличный совет для тех, кто планирует остаться в этой стране.
650 2473890
>>458869 (OP)
Всем доброго времени суток!

28 лвл, раньше работал с SAPом. Пытаюсь вкатиться в Java, изучаю пока что Core по различным книжкам. Идет туговато, соответственно код ужасный, но иногда работает.

У меня такие вопросы:

1. Хватит ли 3 лет, чтобы вкатиться в Java на уровне хотя бы слабенького Джуна?
2. Как можно найти ментора, вернее даже не ментора, а того, у кого будет раз в неделю несколько минут посмотреть мой код и сказать, насколько все плохо или хорошо. Ну и спрашивать у него всякие глупые вопросы типа, "почему список лучше массива", что лучше использовать - дерево или таблицу и т.д.
3. По очередности изучения. Очень многое написано по стек технологий, но я мало, где нашел саму очередность изучения, что изучать: Core, потом Collections, а потом по очереди что к примеру. Тут я откровенно плаваю, если честно, особенно с БД, Spring и т.д., когда надо, когда не надо и т.д.
651 2473943
>>473890

>1. Хватит ли 3 лет, чтобы вкатиться в Java на уровне хотя бы слабенького Джуна?


Раньше работал с SAPом - как пользователь или как разработчик? Если как разработчик, вкатишься намного быстрее, чем за три года. Хотя многие и без опыта программирования вкатываются быстро.

> 2. Как можно найти ментора


Да тупо здесь спрашивай.

> 3. По очередности изучения.


Сначала да, Core/Collections и всё, что пишут в книгах по основам жабы. Дальше БД хотя бы в виде консольки Postgresql и подключения к БД через JDBC. Потом разберись с Maven и Git и можешь приступать к спрингу, легче всего начать с Spring Boot, но не фект, что на работе будет именно бут, а не просто спринг с XML-конфигами и деплоем на сервер приложений. В любом случае, нужны основы спринга, работа с базой из спринга через JdbcTemplate и Hibernate/Spring Data, MVC/REST, тесты.
652 2473973
>>473890

>Хватит ли 3 лет


Ты ебанутый? Вкатуси с полного нуля вкатываются за год и даже меньше. Собственно, грубо говоря, навернули кор + спринг, высрали круд и пошли на самую ссанную вакансию.
653 2474005
>>473973
Ну за год наверное уникумы вкатываются и без знания базы, алгоритмов и т.д.
654 2474006
>>473943
SAP как консультант, код видел, но это КОБОЛьная дичь.
Просто могут возникать глупые вопросы, поэтому и спросил про ментора.

Насчет технологий - спасибо, буду изучать!
655 2474149
>>474006

>>Просто могут возникать глупые вопросы, поэтому и спросил про ментора.


Ментор тебе не нужен - учить правильно формулировать вопрос и гугл все расскажет. Все ворпосы обсосаны по 100 раз. Если не гуглится - значит хуйню спрашиваешь (спроси тут - расскажут почему).
656 2474176
>>473973
Я уже 2 года учусь и не вкатился.
657 2474217
Пиздец и какого хуя ссанный JPQL не поддерживает JPA-шные CascadeType - ы? 9 ебанных часов я сидел над OneToMany и не мог понять, какого хуя при попытке удалить родительскую сущность жаба прокидывает экспешн о том, шо бд не может удалить, потому что есть дочерние сущности, которые ссылаются. И ЭТО ВСЁ НЕСМОТРЯ на ссанный CascadeType.REMOVE! Ебался, ебался, случайно наткнулся на комментарий какого то индуса, который спизданул мол JPQL не считывает аннотации CascadeType. Попробовал через метод remove у EntityManager-а - всё удалилось - и дочерние, и родительская сущности. А для того, чтобы JPQL удалил всё и родительскую, и дочернюю сущности, надо оказывается на уровне базы прописывать ON DELETE CASCADE.
ПИЗДЕЦ ССАННЫЙ JPQL, скажите, что его не используют нигде, нахуй его ваще знать?
658 2474220
>>474217
JDBCTEMPLATE
659 2474223
>>474220
Ну этот кал, я уверен, вообще никто не использует. Кому нахуй в голову взбредёт писать тонны бойлерплейт кода ResultSetExtractor-ов и RowMapper-ов?
660 2474227
>>474223
Конечно, вместо этого пишут тонны бойлерплейт кода, чтобы решать описанные тобой проблемы.
Используют, ещё как.
661 2474297
>>474220
А нахуй это говно нужно, если есть спринг дата?
662 2475306
Дак что изучать: JDBC, JPA, Hibernate или Spring Data?
663 2475341
>>475306
Изучать придётся всё и сразу. А ты думал, в сказку попал?
664 2475366
Что делать после изучения Java Core? Как учить Spring? Все книги описывают какие-то бины, но не объясняют как писать реальные приложения.
Если взять какой-нибудь РНР, то почти все книги объясняют как написать простой веб-приложения и дальше уже сам наращиваешь знания, потому что база у тебя есть. В спринге же ни какой базы нет, ты как в болоте, где каждый неосторожный шаг приводит к катастрофе. Без внешних источников информации невозможно ничего написать. Буквально каждый шаг надо изучать.
Вроде написал простое веб-приложение, которое отдаёт страничку, но работа с базой данных - тут отдельный мир со своими фреймворками. Хочешь добавить авторизацию? Погружайся с головой в Spring Security. Тестирование? Логирование? Брокеры сообщений? По каждой теме ещё надо учится годы. А в итоге ни какого приложения у тебя нет, потому что под тонной теории, нет понимания как это всё соединить вместе.
665 2475730
Maven где-то на своих серверах секретно хранит джавадоки ко всем артефактам в его репозитории. Они оттуда автоматически подгружаются в IDE, поэтому видно описания методов и прочее.
Где они хранятся, по какой ссылке, как их открыть в браузере? Я помню, что к ним есть доступ через веб, но потерял ссылку и не могу найти.
666 2475735
>>475730
javadoc.io
667 2475815
>>475730
У мавена нет серверов...
668 2475833
>>475815
Как же хочется Maven Application Server
669 2475842
>>475815
А у градла есть?
670 2475852
671 2475959
>>473052
Ошибаешься, у меня сейчас celerone 3350N на 2 ядра 2 потока, 4 гб оперативы -> 2 открытых проекта в intellij idea, 25 вкладок в опере, 4 видео открытых в ютубе, что - то скачивается, открытый фотошоп и всё летает на изи. На пентиуме будет ещё лучше...
672 2476089
>>475959
Каким таким образом тебе такое удается? У меня 8гб, при открытой IntelliJ Idea (2-3 проекта) и 4-5 более менее активных вкладок в фф и врубается своп и все буквально умирает. Плюс фф, телега и, особенно, Idea нехило текут. 2-3 раза в день делаю ребут. Особенно перед или после запуска куче всяких тулз типа pgAdmin, dbeaver или какого нибудь постмана, или всего сразу, память забивает полностью. ЧЯДНТ?

_,met$$$$$gg. root@pav
,g$$$$$$$$$$$$$$$P. --------
,g$$P" """Y$$.". OS: Debian GNU/Linux 11 (bullseye) x86_64
,$$P' `$$$. Host: HP Pavilion Power Laptop 15-cb0xx
',$$P ,ggs. `$$b: Kernel: 5.10.0-18-amd64
`d$$' ,$P"' . $$$ Uptime: 1 hour, 45 mins
$$P d$' , $$P Packages: 3306 (dpkg)
$$: $$. - ,d$$' Shell: bash 5.1.4
$$; Y$b._ _,d$P' Resolution: 1920x1080
Y$$. `.`"Y$$$$P"' DE: Cinnamon 4.8.6
`$$b "-.__ WM: Mutter (Muffin)
`Y$$ WM Theme: (Default)
`Y$$. Theme: Adwaita [GTK2/3]
`$$b. Icons: gnome [GTK2/3]
`Y$$b. Terminal: ranger
`"Y$b._ CPU: Intel i5-7300HQ (4) @ 3.500GHz
`""" GPU: Intel HD Graphics 630
GPU: NVIDIA GeForce GTX 1050 Mobile
Memory: 5412MiB / 7842MiB


[▇▇....................................] 388.5 MiB cinnamon [2163]
[▇▇▇▇..................................] 763.7 MiB Telegram [2193]
[▇▇▇▇▇.................................] 907.7 MiB firefox-esr [2717]
[▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇..............] 5.0 GiB java [2437]
[▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋..........] total: 5.8 GiB / 8.0 GiB
672 2476089
>>475959
Каким таким образом тебе такое удается? У меня 8гб, при открытой IntelliJ Idea (2-3 проекта) и 4-5 более менее активных вкладок в фф и врубается своп и все буквально умирает. Плюс фф, телега и, особенно, Idea нехило текут. 2-3 раза в день делаю ребут. Особенно перед или после запуска куче всяких тулз типа pgAdmin, dbeaver или какого нибудь постмана, или всего сразу, память забивает полностью. ЧЯДНТ?

_,met$$$$$gg. root@pav
,g$$$$$$$$$$$$$$$P. --------
,g$$P" """Y$$.". OS: Debian GNU/Linux 11 (bullseye) x86_64
,$$P' `$$$. Host: HP Pavilion Power Laptop 15-cb0xx
',$$P ,ggs. `$$b: Kernel: 5.10.0-18-amd64
`d$$' ,$P"' . $$$ Uptime: 1 hour, 45 mins
$$P d$' , $$P Packages: 3306 (dpkg)
$$: $$. - ,d$$' Shell: bash 5.1.4
$$; Y$b._ _,d$P' Resolution: 1920x1080
Y$$. `.`"Y$$$$P"' DE: Cinnamon 4.8.6
`$$b "-.__ WM: Mutter (Muffin)
`Y$$ WM Theme: (Default)
`Y$$. Theme: Adwaita [GTK2/3]
`$$b. Icons: gnome [GTK2/3]
`Y$$b. Terminal: ranger
`"Y$b._ CPU: Intel i5-7300HQ (4) @ 3.500GHz
`""" GPU: Intel HD Graphics 630
GPU: NVIDIA GeForce GTX 1050 Mobile
Memory: 5412MiB / 7842MiB


[▇▇....................................] 388.5 MiB cinnamon [2163]
[▇▇▇▇..................................] 763.7 MiB Telegram [2193]
[▇▇▇▇▇.................................] 907.7 MiB firefox-esr [2717]
[▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇..............] 5.0 GiB java [2437]
[▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋▋..........] total: 5.8 GiB / 8.0 GiB
673 2476090
>>476089
Упс. Сорри за ,g$$$$$$$$$$$$$$$P.
674 2476157
Как вы изучали Спринг?
675 2476405
>>476157
Никак, когда 40 летние деды из треда вкатывались, от них требовалось знать только иерархию исключений и чем отличается эррейлист от линкедлиста.
676 2477393
Это правда, что большинство Java разработчиков в своей работе не сталкиваются с многопоточностью вообще никак?

Получается ее можно не задрачивать?
677 2477505
>>477393

>>не сталкиваются с многопоточностью


спринг сам все делает
678 2478069
>>458869 (OP)
Джава-джедаи, подскажите лучшую первую книгу по жабе для вкатуна с практически нулевым опытом программирования.
16497674452203.jpg146 Кб, 819x1024
679 2478080
>>478069
бамп вопросу
16462511915321.jpg105 Кб, 960x1280
680 2478082
>>478069
бамп вопросу
1661779281277637.jpg108 Кб, 1080x1920
681 2478083
>>478069
бамп вопросу
16466467922153.jpg70 Кб, 600x898
682 2478085
>>478069
последний бамп вопросу
683 2478265
>>478069
Head first, там совсем для дебилов, которые только картинки воспринимают во всяком случае, она мне такой запомнилась
Но вообще идеальным вариантом будет начинать с видиков на ютубе, это гораздо интереснее и легче поначалу, имхо
684 2478351
>>478069
Шилдт.
685 2479175
Сап, если профит обновлять идею? какие-то крутые фичи добавляются?
У меня просто есть крякнутая 2020~
А под 2022 не уверен (да и не хочется искать)
686 2479244
>>479175
Зачем тебе кряк, активируешь триал и обновляешь каждый месяц
687 2479252
Сап двач. Кто что может посоветовать из курсов для вкатывания в Джаву? Интересно, что самое годное из Яндекс Практикумов/Хекслетов/Kata Academy и прочего.

С языком немного знаком: и несколько лет назад ходил в Айти школу Самсунга, будучи школьником, и Java Core на HyperSkill'e на четверть прошел пару месяцев назад, параллельно почитывая Шилдта, но потом подзабил в силу некоторых причин.

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

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

В деньгах в принципе не особо ограничен (т.е. 140к за 10 месяцев Практикума готов отдать, если он того стоит), в свободном времени тоже, поэтому к нагрузке готов.

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

Пока что склоняюсь к Яндекс.Практикуму, т.к. он, кажется, +- подходит под описанные выше критерии и довольно много о нем слушал, плюс в теории могу купить его за 70к вместо 140к, т.к. являюсь студентом (точно пока что хз, т.к. в академе сижу, и мб из-за этого не одобрят). Но вроде и job4j хвалят, хотя чисто по первому впечатлению сайт и инфа на нем их мне не особо вкатили хд. И все еще есть какая-нибудь Kata Academy, но стоящая почти в 2, а то и в 3, если таки дадут скидку Яндекс.Практикум, раза дороже, и кажется, что такой переплаты оно не стоит (обучение с постоплатой в виде процента с ЗП не рассматриваю). Да и еще куча курсов есть.

В общем, вариков не мало, и сложно их адекватно сравнить и выбрать лучший по соотношению цена/качество.
687 2479252
Сап двач. Кто что может посоветовать из курсов для вкатывания в Джаву? Интересно, что самое годное из Яндекс Практикумов/Хекслетов/Kata Academy и прочего.

С языком немного знаком: и несколько лет назад ходил в Айти школу Самсунга, будучи школьником, и Java Core на HyperSkill'e на четверть прошел пару месяцев назад, параллельно почитывая Шилдта, но потом подзабил в силу некоторых причин.

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

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

В деньгах в принципе не особо ограничен (т.е. 140к за 10 месяцев Практикума готов отдать, если он того стоит), в свободном времени тоже, поэтому к нагрузке готов.

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

Пока что склоняюсь к Яндекс.Практикуму, т.к. он, кажется, +- подходит под описанные выше критерии и довольно много о нем слушал, плюс в теории могу купить его за 70к вместо 140к, т.к. являюсь студентом (точно пока что хз, т.к. в академе сижу, и мб из-за этого не одобрят). Но вроде и job4j хвалят, хотя чисто по первому впечатлению сайт и инфа на нем их мне не особо вкатили хд. И все еще есть какая-нибудь Kata Academy, но стоящая почти в 2, а то и в 3, если таки дадут скидку Яндекс.Практикум, раза дороже, и кажется, что такой переплаты оно не стоит (обучение с постоплатой в виде процента с ЗП не рассматриваю). Да и еще куча курсов есть.

В общем, вариков не мало, и сложно их адекватно сравнить и выбрать лучший по соотношению цена/качество.
688 2479320
Ебало имэджин чела, который 10.2022 собирается вкатываться в жабу?
689 2479324
>>479252
Биский, ты? Я узнал тебя по твоим шизоидным высерам
690 2479364
Нахуя вам 2 треда?
691 2479378
>>479364
Нам нахуй не всралось.
Спасибо долбоёбу-ОПу который перекатывает до 1000.
692 2479404
>>479244
Ты про перерегивание аккаунта/почты?
693 2479587
Подскажите, как попросить IntelliJ Idea кушать меньше памяти? Готов заплатить производительностью.
694 2479593
>>479587
Через флаги JVM указать лимит потребления памяти.
https://www.jetbrains.com/help/idea/tuning-the-ide.html

> Готов заплатить производительностью.


Это сейчас ты так говоришь, не пробовав запустить какую-нибудь Android Studio на 4 гигах, i3 и без SSD. Мало того, что запускается она 10 минут, так ещё и приходится закрывать браузер и другие программы, жрущие память, а для запуска эмулятора Android надо закрывать саму андроид студию и ждать ещё 15 минут.
695 2479606
>>479593

> Через флаги JVM указать лимит потребления памяти.


> https://www.jetbrains.com/help/idea/tuning-the-ide.html


Спасибо.

> 10 минут


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

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


Мне вот как раз и нужно чтобы можно было другие программы использовать одновременно с Idea не поглядывая в ужасе и молитвах на индикатор памяти в системе.
696 2479653
>>479587
Если совсем критично, можно юзать vscode с плагинами, я его даже на планшете 10 летней давности запускал.
697 2479723
>>479606
8 гигов? В 2022? Ты даун?
698 2480126
>>479593
Лол, начинал вкат в жабу с андройда, думал 10 минутные загрузки студии и лагучий эмулятор из-за моего не слишком современного ноута, а вон оно че оказывается
699 2480174
>>480126
Да так и есть, любые тормоза решаются апгрейдом железа. С каждой версией всё это жрёт больше и больше ресурсов, когда-то и на слабом ноуте всё нормально работало. Bloatware оно и есть bloatware.
700 2480234
Какие части Java Core наиболее важны в реальной практике?

- Работа с регулярными выражениями
- Фреймворк коллекций
- Steam API
- Работа с Input Out Streams
- Объекты даты и времени

Еще какие-нибудь другие моменты... Напишите, что реально больше всего нужно знать и уметь именно из Core.
701 2480278
>>480234
Да все, что ты описал, может регулярки только краем глаза или вообще пока опустить. У меня игогда складывается впечатление, что в стандартной жабе кроме коллекций и инструментов для работы с ними больше ничего нахуй почти не используется
702 2480363
>>480234
Для чего тебе подобные списки, какой-то чеклист составляешь? Прочитай ЛЮБУЮ книгу по кору и будешь знать всё, что нужно. Главы про Swing и апплеты можно скипнуть.
703 2480371
>>480363
Опять ты со своими талмудами, ты в курсе вообще, что существуют другие источники информации?
704 2480377
>>480371
Пошёл нахуй, чё тебя так триггерят эти талмуды? Книги, курсы, ютуб, мурзилки, суть не меняется. Я же не говорю, что надо именно читать книги.
705 2480414
>>480278
Сложные задачи с регулярками в реальной практике редко встречаются?
>>480363
Пытаюсь понять что нужно приоритетно задрочить настолько, чтобы в 3 ночи разбудили, а та все помнишь.
706 2480415
>>480414

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


Да, очень редко.

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


Ничего.
707 2480500
>>480234

>>что реально больше всего нужно знать и уметь именно из Core.


зачем выбирать? знай все кроме свинга
708 2480502
>>480414

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


Встречаются, но ты один хуй в гугел полезешь чтоб вспомнить какой символ что значит.
709 2482451
>>480234

>Фреймворк коллекций


>Steam API


>Объекты даты и времени



Вот это нужно чуть ли не ежедневно, регулярки и файловый IO уже реже. Но все это знать нужно.
710 2482453
Писать на Java - антипаттерн.
Screenshot1.png60 Кб, 681x350
711 2482739
>>458869 (OP)
Есть одна программа, которая не хочет запускаться. Ошибка на пикриле, у меня стоит Java 8 и Java SE 13. Что я должен сделать, что бы программа заработала?
712 2482742
>>482739
Тебе ж написали что ты сколмпилировал 13, а запустить пытаешься в 8. Запускай в 13 или перекомпилируй в 8.
713 2482745
>>482742
Это не моё приложение, к сожалению в кодинге ноль, мне надо просто что бы она работала

>Запускай в 13


Можно примерный гайд?
714 2482748
>>482745
Гугли как установить жабу. У тебя наверное в path прописана 8 - и она используется по умолчанию для запуска приложения.
715 2482753
>>482748
У него же майнкрафт перестанет работать, если убрать 8 из путей.
pak-pizdaksticker02.png81 Кб, 157x209
716 2482760
>>482748

>У тебя наверное в path прописана 8


Ясно, спасибо.
>>482753
Лол.
717 2483160
>>482739
Поставить Liberica Java 19
718 2485833
Аноны, а можно как-то через cli при запуске spring boot-приложения указать какая именно реализация сервиса будет инжектиться по-умолчанию?
Есть интерфейс сервиса FooService и две реализации FooServiceImpl и FooServiceStub.
FooServiceImpl будет инжектиться по умолчанию в продакшне, потому что он проаннотирован как @Primary. Но в тестовой среде я хочу использовать FooServiceStub, указывая в командной строке в тестовой среде именно его, не меняя код.

Что-то типа такого:
java -jar application.jar --????=fooServiceStub

В интернете простого решения не нашел.
719 2485851
>>485833
Решил спомощью @Profile.
720 2485935
Сап, псы. А есть тут те, кто вкатился после 30ти? Поделитесь опытом. С подробностями, плиз:
- какой лвл был когда вкат начали
- сколько на вкат времени ушло
- сколько зп была в начале/сколько сейчас
- за какое время выросли из джуна в мидла и выше мб?
- с какими проблемами сталкивались (хоть парочку)
- еще какой-нибудь совет 30+ вкатуну
16417173774900.webm259 Кб, webm,
640x360, 0:04
721 2485972
>>485935
После 30 сейчас только на фронт.
722 2486327
>>485935
бамп
723 2486570
>>486327
>>485935
Иди в следующий тред, тут никто уже не сидит.
724 2486574
>>486327

>>722


>>бамп


А ты не очень умный, да?

Ладно вот тебе мой опыт.

Вкатился в 32 без вышки. За полтора года гэпа учил джаву и писал петы. Дописал себе 4 месяца опыта в ООО Вектор и прошел 2 собеса из 4 (откликался неделю на все подряд, перезванивали далеко не все). Это было в 2020. Дали 50к, через 3 месяца подняли до 70к, еще через неделю выгнали на мороз. Через месяц сычевания дописал еще полгода опыта, прошел 2 из 2 собесов и вкатился на 100к. Это как раз перед войной было.

Щас надо было бы просить прибавку до 150-180к или перекатываться, но пыневизация порушила все планы и тружусь все также за сотыгу. Но хоть условия комфортные.

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

>>с какими проблемами сталкивались (хоть парочку)


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

>>еще какой-нибудь совет 30+ вкатуну


ХЗ че тебе советовать. Айти в упадке - сиди дрочи спринг и надейся, что отскочит обратно и тебя самого к тому времени не утилизируют. Если ты уже за бугром - то шансов чуть выше.
В любом случае пока не будешь уверенно круды писать лучше не суйся, чтоб не дизморалиться за зря. Но и слишком долго не тяни - я до сих пор кафку не знаю и похуй. Ее нет на проекте.
На возраст в джаве не особо смотрят, с этим сильно не парься.
725 2487427
Какую тему для диплома выбрать? Мне одинаково безразличны все,до которых я смог додуматься. Подкиньте идей по братски
726 2488421
>>486574
Расскажи, пожалуйста, что на собесах спрашивали?
(мимодругойанон)
727 2489077
>>488421
Да все вопросы примерно одинаковы. Кор джава, экуалс/хэшкод, коллекции, эскюэл, немного по спрингу, рест, иногда паттерны. Могут подушить волатайлами с синхроонайзами или хибернейтом.

Посмотри выборочно этого челика - примерно это и спрашивают на джуна
https://www.youtube.com/watch?v=XZIwI_bdNKU&list=PLlsMRoVt5sTMMCwd_gLaaZMkQhzVh9hLA

Не обязательно прям все ответить правильно, мне часто прилетали офферы и после не самых удачных с моей точки зрения собесов.
728 2490023
>>489077
Спасибо! <3
729 2490288
Самый важный вопрос по джаве: темная тема в IDE или светлая? с аргументами, плез
730 2491333
Начинаю мелкими шагами изучать джаву.
Нужно ли параллельно учить UNIX? или лучше позже?
731 2491400
Тред сдох?
Где перекаты? не Вижу перекатов
732 2491422
>>486570
Где блять следующий?
733 2492313
>>491333
UNIX не имеет прямого отношения к джаве и каких то базовых знаний тебе хватит. Пишу щас на винде, до этого была КДЕНеон - разницы особой нет. Другое дело конечно если девопсов не будет и тебе с деплоем ебаться придется - но это не то о чем должен думать ждун.
734 2493109
Ананасы, вот такой код на ревью сегодня дали на собеседовании. Что тут не так и что нужно изменить?

public class UserStats {
private Map<String, AtomicLong> hitsPerUser;

public void onUserCall(String userId) {
if (hitsPerUser == null) {
hitsPerUser = new ConcurrentHashMap<>();
}
if (!hitsPerUser.containsKey(userId)) {
hitsPerUser.put(userId, new AtomicLong());
}
hitsPerUser.get(userId).addAndGet(1L);
}
}
735 2494737
>>493109
public void onUserCall(String userId) {
if (hitsPerUser == null) {
hitsPerUser = new ConcurrentHashMap<>();
}
if (!hitsPerUser.containsKey(userId)) {
hitsPerUser.put(userId, new AtomicLong(1L));//новый юзер первый рез хитнул
}
hitsPerUser.get(userId).incrementAndGet();//если это счетчик, то и юзать его нужно как счетчик
}
}
736 2494746
>>494737
или даже так
class UserStats {
private Map<String, AtomicLong> hitsPerUser;

public void onUserCall(String userId) {
if (hitsPerUser == null) {
hitsPerUser = new ConcurrentHashMap<>();
}
var hitCounter = hitsPerUser.computeIfAbsent(userId, k -> new AtomicLong());
hitCounter.incrementAndGet();
}
}
737 2494747
>>494737
хуя я обосрался)) мне теперь точно не перезвонят
738 2494811
>>493109

>>Что тут не так


1. Уебанское форматирование. просто слелай скрин и запости, ты все таки на картинкодоске. Я б тебе просто номера строк указывал.
2. if (hitsPerUser == null)
Тут синхронайз блок какой нибудь нужен с дабл чеком. Или как там нынче в синглтонах нынче ебуться с этим.
Но я бы ее сразу инициализировал, а не в методе. Такая ленивая инициализая больше гемора создаст за сэкономленные пару байтов.
739 2495818
>>494811
Этот вкатунец прав. Создание мапы и новой записи должно быть под локом. Синхронайзд - это плохо для виртуальных тредов.
740 2496121
Решил повторить жабу поле двух лет перекладывания жсонов и запускания сиквела на сноуфлейке с использованием питонопараши и чет прям как домой вернулся... Какая же жаба охуеннай господи...
741 2496931
Вопрос про жаба код, но из android studio, так что хз в каком треде лучше спросить.
Суть в том, что у TextView не выводит данные из переменных edit. Впрочем как и напрямую из ячеек массива. Как такое реализовать?

Вот код, если надо:

package com.example.rabotay;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import java.lang.reflect.Array;
import java.util.Arrays;

public class MainActivity extends AppCompatActivity {

EditText et1, et2, et3;
TextView tv1, tv2, tv3;
String edit1, edit2, edit3;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

et1 = findViewById(R.id.et1);
et2 = findViewById(R.id.et2);
et3 = findViewById(R.id.et3);
tv1 = findViewById(R.id.tv1);
tv2 = findViewById(R.id.tv2);
tv3 = findViewById(R.id.tv3);
}

public void main(String[] args) {

int[] arr = new int[2];
arr[0] = Integer.parseInt(et1.getText().toString());
arr[1] = Integer.parseInt(et1.getText().toString());
arr[2] = Integer.parseInt(et1.getText().toString());

Arrays.sort(arr);

edit1 = String.valueOf(arr[0]);
edit2 = String.valueOf(arr[1]);
edit3 = String.valueOf(arr[2]);
}

public void onButtClick(View view) {
tv1.setText(edit1);
tv2.setText(edit2);
tv3.setText(edit3);
}
}
741 2496931
Вопрос про жаба код, но из android studio, так что хз в каком треде лучше спросить.
Суть в том, что у TextView не выводит данные из переменных edit. Впрочем как и напрямую из ячеек массива. Как такое реализовать?

Вот код, если надо:

package com.example.rabotay;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import java.lang.reflect.Array;
import java.util.Arrays;

public class MainActivity extends AppCompatActivity {

EditText et1, et2, et3;
TextView tv1, tv2, tv3;
String edit1, edit2, edit3;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

et1 = findViewById(R.id.et1);
et2 = findViewById(R.id.et2);
et3 = findViewById(R.id.et3);
tv1 = findViewById(R.id.tv1);
tv2 = findViewById(R.id.tv2);
tv3 = findViewById(R.id.tv3);
}

public void main(String[] args) {

int[] arr = new int[2];
arr[0] = Integer.parseInt(et1.getText().toString());
arr[1] = Integer.parseInt(et1.getText().toString());
arr[2] = Integer.parseInt(et1.getText().toString());

Arrays.sort(arr);

edit1 = String.valueOf(arr[0]);
edit2 = String.valueOf(arr[1]);
edit3 = String.valueOf(arr[2]);
}

public void onButtClick(View view) {
tv1.setText(edit1);
tv2.setText(edit2);
tv3.setText(edit3);
}
}
742 2497286
>>496931
В андроид приложениях ты не пишешь точку входа main (а если бы писал, то она была бы static).
Перенеси код из main в onCreate, например.
743 2497698
Привет, как найти физически базу, которую ведет Хибернет? Из адресов в ямл файле вижу только что-то вроде вот такого:
jdbc-url: jdbc:oracle:thin:@eb-dev-db.ter-it.local:1521/DEV
solr:
url: http://solr.eb-dev-k4s-cloud.ter-it.local/solr/
744 2497964
Всем привет, а все лекции Тагира Валеева по java где-нибудь можно спирать?
На ютьюбе 15 лекций, весьма крутых.
image.png98 Кб, 756x823
745 2498310
Получается, с появлением виртуальных тредов в жабе, все эти заморочки с кококомплитабл фьючами и потенциальный async/await сахарок больше не нужны, и мы скоро можем хуярить блокирующий код в виртуальном треде и всё будет охеренно?
https://medium.com/helidon/helidon-n%C3%ADma-helidon-on-virtual-threads-130bb2ea2088
746 2498317
>>498310
шишка встала
747 2499469
Ку
Необходимо разработать возможность расширения функциональности приложения с помощью плагинов (закинул в папку "plugins" джарник и тем самым расширил функционал)
Но вот только пока не разобрался с какой стороны подойти, подскажет кто подходящую литературу? (Если можно будет использовать или интегрировать Spring то было бо прям хорошо)
P.S начал смотреть теорию связанную с Class Loaders и OSGI
748 2500137
В вакухах часто пишут сейчас требование к корочкам.
Тут кто-нибудь с нуля без образования вкатывался в джаву? Насколько это сложно?
749 2500325
>>478351
Ебанулся?
750 2500408
>>500137
c 5 семестрами местной техвышки вкатывался 2 года назад через тренинг от галеры на e. Насколько сложно - хз. Если ты задрот, то не сложно.
751 2500411
>>500137
Ищи там где не пишут.
752 2501205
Парни вы какую реализацию сборщика мусора уважаете?
753 2501272
>>501205
ZGC ofc
754 2501388
>>501205
Таджик Вахром
755 2501494
Ты какую реализацию сборщика мусора в джаве ты уважаешь? Нука быстро! Ты какую реализацию сборщика мусора в джаве уважаешь а? Я тебя спрашиваю! Мне G1 нравится. УАААААААААААААААА че ахуел что ли я ненавижу Parallel и G1 АААААААААААААААА. я уважаю ShenandoahGC
756 2501497
Ты какую реализацию сборщика мусора в джаве ты уважаешь? Нука быстро! Ты какую реализацию сборщика мусора в джаве уважаешь а? Я тебя спрашиваю! Мне G1 нравится. УАААААААААААААААА че ахуел что ли я ненавижу Parallel и G1 АААААААААААААААА. я уважаю ShenandoahGC
757 2505232
>>491400
Поищи по тегам, перекат был и очень давно, просто тут насрали и перекат утонул.
758 2505845
Анон подскажи плез , где хранится кэш когда прописывается аннотация @Cachable ? В оперативке или в L0-4 кэше ?
759 2505896
>>505845
Обчно кэш с аннотацией @Cachable храниться прямо в R10 регистре процессора, доступ будет очень быстрый!
d459b2012ee55380c2c7ce103cb387cad71d37e11ea8d022e6f6b9cd193ef4ff.jpeg79 Кб, 1000x750
760 2506801
Ребзи, завтра заканчивается любезно продленный, в связи с мировыми событиями, джетбрейнсом триальчик на Идею.
Как дальше быть? Можно как-то из РБ подписку оплатить? Чет не оч охота эклипсу дрочить честно говоря...
761 2508368
>>458869 (OP)
Сап, джаваны. Хочу немножко сменить область и после семи лет крестов с соответствующими задачами (в основном многопоточность и сеть) свитчнуться в жабу. Вопрос: какие у вас примерно задачи на работе? В моем представлении типичная задача жабиста выглядит так:
- пойти в СУБД через ОРМ
- вытащить N строчек
- сериализовать их в джейсон и отдать по HTTP
- goto 10
Возможно, я ошибаюсь. Но не хотелось бы променять накопившийся за семь лет благодаря крестам пласт знаний (от чисто теоретических - как на прыщах под x86 устроена виртуальная память и взаимодействия атомарных операций с кэшами до вполне практических вроде устройства динамических прыщебиблиотек) на перекладывание джейсонов между микросервисами.
762 2508671
>>506801
Пиратить тока. Или с vpn юзать. Я как студент юзаю их подписку , но code with me у меня не работает , пишет недоступно в вашем регионе.
763 2509097
В ФАКе написано читать 4 версию Spring in Action. Я начал, но чёт как будто воды дохуя. И оказалось, что 6-я версия тем временем на русском появилась. Так вот, стоит ли дальше 4-ю читать? Или забить, и начать 6-ю, тем более, что на русском всё равно попроще читается, т.к. родной язык.
764 2509383
Поясните по поводу Мavёна.

Если у меня спринговый проект с зависимостями. Пока я не поставлю на Шинду сам mvn (не пропишу переменные среды), то проект в идейке не будет билдиться?

И еще. Где-то находил что нужно прописывать MAVEN_HOME, а в других M2_HOME.
Что из этого верное? Вроде и так, и тар работает.. не понимать
01d40f4b6956d31d18412ae5ccc03a6a.jpg19 Кб, 320x320
765 2510420
Сап, подскажите книгу по Spring Boot в 2к22. Какую-нибудь современную и актуальную.
Или курс. А лучше - и то, и другое
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 10 ноября 2022 года.

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

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