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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Java #116 thread /java/ # OP 2443253 В конец треда | Веб
ТРЕД ПО ЖАБЕ #116

Что такое 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

Предыдущий: >>2426003 (OP)
2 2443255
>>43253 (OP)

>2


Бля, а я ведь учился по курсам этого скуфа.

Мимо миддл, сейчас в Литве
3 2443268

>>2443267


Спасибо, Абу админ /pr/! Увы, политоту в наши дни приходится вилкой вычищать. Так на чем мы остановились?
sage 4 2443270
Жаба гораздо хуже, чем шарп.
16597496737460.png18 Кб, 889x1175
5 2443271
6 2443272
Где можно бесплатно разместить свою БД помимо localhost:8080?
7 2443273
>>43272
Чё, таки даже 50р на дешёвый впсник не найдёшь?
8 2443275
>>43272
localhost:1521
9 2443276
>>43273
Не кошерно раскошеливаться на пет-проекты.

Простой Беня Цукерман город Тель-Авив
10 2443277
Блять, ну когда уже 19 жаба? Как же я заебался ждать виртуальных тредов!
11 2443278
>>43277
Ты ещё представь, сколько будешь ждать, когда разрешат пересесть на неё с 8.
2022-08-2223-28-45.png5 Кб, 245x356
12 2443279
>>43276
Так это же копейки уж совсем. Если 50 рублей много, можно и за 12 рублей найти.
13 2443282
>>43278
Я лид, я сам пересяду.
14 2443284
Как понять вкатышу, что готов идти на собес?
15 2443287
>>43284
Шапку прочитай.
16 2443291
>>43287
Прочитал, там нихуя нет, а на гитхабе по этому вопросу нихуя не объяснено
17 2443295
>>43291
Есть.
18 2443296
>>43295
Пидора ответ.
19 2443298
>>43296
Шлюхи аргумент.
20 2443302
>>43298
Мамке твоей привет
21 2443303
>>43302
Твоей мамаше 200 лет.
22 2443310
>>43303
200 OK
23 2443366
>>43284
В шапке есть вопросы, нужно свободно отвечать минимум на ~85% из них, уметь в срок решать желто-красные задачи на литкоде и иметь пару проектов на разных технологиях.
24 2444081
>>43284
Пройди простой тест, прибавляй 1 балл за каждый ответ "да"

1) ты инвалид колясочник
2) у тебя из одежды только футболка Ария с пятном от фапчи
3) тебе отрезало ноги трамваем
4) при слове спринг у тебя только одна ассоциация: как прошлой весной тебя выебал бомж возле кфс
5) у тебя кринжовая тату на лице типа linkedList()="мам я долбаеб" или using System; namespace MyNamespace

Если набрал 1 балл и более, то ты не готов идти на собес
.png95 Кб, 920x805
25 2444085
>>44081

> инвалид колясочник


> идти

26 2444130
Раст лучше, чем Go.
C# гораздо хуже, чем Go.
C# лучше, чем JAVA.
27 2444139
>>44130
Java < C# < Go < Rust
28 2444144
>>44081

>ты инвалид колясочник


Если ему сказать катись нахуй это инклюзивность?

ЗЫ ваще тут постил один колясочник, кодил на коболе на американского барина за много тысяч баксов.
29 2444146
>>44139
С# << Go. Сишарп много хуже Гоулэнга.
30 2444148
>>44146
Java ≪ C# ≪ Go < Rust
31 2444151
>>44139

>Java < C# < Go < Rust < Python


Поправил
32 2444196
>>44139
Двачаю, перелез на раст теперь не представляю как на go можно писать, тут по сути тоже что и go, только компилятор бьёт по рукам когда ты криворукий долбоеб и более строгое отношение к лайфтаймам и владением, плюс иммутабельность по умолчанию и охуенные дженерики. Ну а если надо что-то быстро нагоанякать, то беру ноду, на js всё есть и давно его знаю. Короче инструменты по задачам
33 2444210
>>44196
Раст говняст
На расте кодят пидорасы
34 2444231
Чёт слишком много постов уже, пора перекатывать.
35 2444254
>>44231
Ничего, сборщик мусора почистит
36 2444260
>>43253 (OP)
Какой смысл дрочить жабу в Z0ZZ году? Поддерживать протухший легаси?

Алсо ясен хер, жаба никому не нужна ванильная, все перешли на скалу, котлин, кложу
37 2444268
>>44260
Уходи.
38 2444277
>>44260

>Поддерживать протухший легаси


Да. Сейчас с работой туго очень. Так что я решил идти в жабу, устроюсь куда-нибудь с трехсотой попытки в подрядчик банка, буду на 6-8 джаве писать и хмл конфиги править.
Один хуй работы нормальной почти что нет для вкатунов, а ту, что есть моментально разбирают челы из топовых вузов.
39 2444289
>>44260
Если у тебя двухзначный айкью, левел за 35 и нет интереса к программированию то джава лучший вариант (после фронтенда)
40 2444361
>>44260
Любой успешный продукт очень быстро становится легаси, на твоем говне просто ничего вменяемого в таком количестве еще не написали
41 2444369
>>44289

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


петухон - для тебя.
42 2444416
>>43253 (OP)
Нахуя перекатили? 8 тредов на доске висят. Еще и перекат уебищный, один микропост в прошлом треде с одной единственной ссылкой без болда на перекат, который хуй заметишь.
43 2444424
>>44416
Это один новошиз пришёл из петухона и решил стать опхуем, остальных не спрашивая.
44 2444489
Как в Спринг Дате можно native-запросом получить массив строк? Заведомо неизвестно, какие сущности там будут. Насколько я понял, getResultList возвращает список Object. По сути, задание в том, чтобы написать на Джаве что-то вроде SQL-клиента с использованием Спринга (но вообще я бы не парился и все бы на чистом JDBC захерачил, но там требуют, чтобы Спринг был).
45 2444494
>>44489

>получить массив строк


Пишешь native query, тебе прилетает ResultSet, маппишь его в массив строк.

>>44489

>написать на Джаве что-то вроде SQL-клиента с использованием Спринга (но вообще я бы не парился и все бы на чистом JDBC захерачил, но там требуют, чтобы Спринг был)



А как без JDBC? Через репозиторий ведь не получится просто взять и достать рандомные данные через скуль запрос. Да ты и репозиторий создать не сможешь, так как нет привязки к сущностям.
46 2444516
>>44268
Или что?
47 2444532
Сделал @ExceptionHandler чтобы ловить AccessDeniedException который выпадает когда неправильный токен заходит и хэндлер почему-то нихуя не ловит. Что за хня?
48 2444566
>>44516
Или оставайся.
49 2444572
>>44532
код хендлера, контроллера, адвайса в пастебин.
Стикер512x512
50 2444601
>>44289

>левел за 35


> нет интереса к программированию


>джава лучший вариант


Лол, так и есть
51 2444615
>>44260

>Поддерживать протухший легаси



Да.

> жаба никому не нужна ванильная, все перешли на скалу, котлин, кложу



Ванильная жаба как раз очень востребована для того, чтобы никогда не иметь дел с ЧСВшниками-недоФПвкатунами вроде скалистов.
52 2444682
Я ДЖАВЕР
53 2444693
>>44682
Присоединяйся к нам!
https://javers.org
54 2444717
>>44682
>>44693
https://jav.guru/
Я тоже в своем роде джавер
изображение.png29 Кб, 664x434
55 2444772
>>44494
Сам спросил, сам ответил. Просто сделал native query из EntityManager'а. В итоге он возвращает список с массивами объектов (List<Object[]>). Как-то это всрато, но таково задание.
56 2444774
Кто-нибудь нашел инфу по Спрингу? Какие есть бесплатные хостинги для Постгреса?
57 2444775
>>43279

>Платить за что-то

58 2444778
>>44774
localhost
59 2444811
Подскажите, как правильно обозвать методы в соответствии с RESTful? Есть база данных с городами, надо круды сделать. Вроде все понятно, но как с удалением быть?

POST /cities - создаем город
GET /cities - все города
GET /cities/{id} - город по айдишнику
POST /cities/{id} - изменить город

И вроде можно сделать специальный параметр в последнем методе, например boolean delete или даже Enum, но это как-то не комильфо, наверно? Или правильней будет сделать отдельный метод DELETE? Хотя мне учили только на GET и POST все писать.
60 2444812
>>44778
А можно на твоем localhost? Только ночью комп не выключай, днем я в пятерочке работаю, а ночью как раз пет-проект пилю.
61 2444820
>>44812
На моём не получится, у меня серый динамический IP за symmetric NAT.
62 2444824
>>44811
Используй put и patch вместо post для обновления, delete для удаления
63 2444827
>>44811
Смысл GET ты понял правильно
Для удаления DELETE /cities/{id}
Для частичного апдейта PATCH
Для создания или полной перезаписи сущности PUT
А POST обычно для выполнения действий, которые в идею реста и круда не вписываются, чтобы вызвать метод с логикой на сервере.
64 2444830
>>44811
createCity
getCities
getCity
updateCity
deleteCity
Ты тупой?
65 2444833
>>44830
Достаточно 85 IQ для понимания, что вопрос про методы HTTP.
мимо 85 IQ
66 2444850
>>44833
Ты тупой.
67 2444856
А как выполнять частичный апдейт полей сущности? Делать фаинд из базы и сетать все, что не нулл в дто?
68 2444858
>>44856
Не использовать хуйбирнат.
69 2444862
>>44858
А что тогда использовать?
70 2444867
>>44856
Для хибернейта есть @Entity(dynamicUpdate = true) и для спрингдаты @DynamicUpdate
А нормальные люди пишут билдер запроса, который генерирует список полей в UPDATE и скармливают их NamedParameterJdbcTemplate.
71 2444902
>>44862
Jooq или другой квери билдер.
72 2444905
>>44820
Ngrok
73 2444920
>>44615
неосилятор плиз
74 2444987
Сейчас вот смотрю разные слитые платные курсы и офигиваю за что люди платят деньги. Типичный пример, на занятии: смотрите, 1+1 = 2, а в качестве домашнего задания посчитайте тройной интеграл. Как это делать? Ни каких материалов не дали, ничего не объяснили. За что они вообще берут деньги!?
75 2445005
Может хватит бухтеть и дестабилизировать ситуацию в жава мире?

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

От нас требуется сидеть тихо. После того, как все сделают, все будет у нас хорошо. Всем устроят довольствие, как скалистам - каждый будет кататься в масле. Главное сейчас сидеть тихо и не суетиться. Никаких котлинов, никаких жетбрейнсов. Просто переждать и всё будет хорошо, там все схвачено.

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

Ребята, не кипишуйте! Сидите тихо, сейчас такой момент, нужно переждать!
Просто завяжите узелком свои хотелки, не время предъявлять претензии ораклу. Поверьте, там все знают лучше вас, там люди, управляющие жавой уже давно, а не вчерашние школьники. Они понимают, что делают. Стираются женерики - значит должны стираться, начали внезапно пилить вальгаллу - значит так нужно. Сейчас очень напряженный момент, некоторые много ходовые операции в критически важной стадии! Враги и конкуренты все это уже поняли, и сейчас может рвануть в любом месте, в любой момент.
Необходимо сплотиться и не реагировать на провокации! За вас все сделают те, кто сверху, не беспокойтесь! И вы не узнаете жаву, все зацветет!
Главное - потерпеть!
sage 76 2445017
>>45005
Репорт.
изображение.png35 Кб, 598x472
77 2445067
>>44856
Ну типа вот так.
image.png676 Кб, 585x604
78 2445077
Теперь это тред работы в сбере.
79 2445092
>>45067
Просто пиздец...
80 2445094
>>45092
Ну а как бы ты сделал?
81 2445095
>>45077
Заявку в ДРУГ сделал? Непосредственный руководитель согласовал?
82 2445100
>>45094
Логика должна быть в сервисе, а не контроллере
get() без проверки отсутствующего города
Невозможно убить всех жителей города
Когда у тебя появится больше полей в модели ты заебешься их обновлять по одному.
83 2445103
Нафига нужен Hibernate? Таблицы сам создавай, классы сам расписывай, связи тоже разжёвывай ему куда и что, причём не так как я бы хотел, а как вынужден по его дурацкому стандарту. Что он там делает под капотом - не понятно и скорей всего не так эффективно. Не проще писать все запросы на JDBC, если и так приходится разбираться в кишках и SQL?
84 2445114
>>45103
Вот я и говорю, что ORM не решают проблемы, для решения которых они создавались. Какая-то вещь в себе, ORM ради ORM.
85 2445119
>>45103
Для прототипирования крудов спринг дата с хибером - топово.
86 2445124
>>45103
Ну как минимум доставать сущности со ссылками на кучу других сущностей удобно, не нужно писать километровые джойны руками.
Да и вообще результаты запросов хибера сами маппятся в нужные сущности.
Если JDBC использовать, то придется самому писать мапперы ResultSet -> Entity.
87 2445126
>>45114
Если он не решает проблемы, почему он есть в каждой третьей вакансии на спринге?
88 2445127
>>45126
Да нормально хибер использовать если нет каких-то жестких требований к производительности и сам хибер не впадает в жесткий ступор.
Сейчас почему-то стало модно хейтить хибер, но в действительности на нем люди пишут и пока что лучших альтернатив не видно.
89 2445128
Ну или как альтернатива - квери билдеры использовать, но это не для всех случаев годится.
90 2445130
>>45103
Согласен. Но чистый JDBC - довольно древний и геморройный в использовании стандарт. Лучше юзать его в связке с JooQ, либо на крайняк через spring data JDBC.
91 2445165
Стоит начинать вкат с легаси или непопулярных технологий? Учил молодежные технологии вроде спринг бута с хибернейтом, писал свои круды. Сейчас зовут в одну контору, но там восьмая джава на голом jdbc со свингом.
92 2445169
>>45165

ИМХО стоит. Со стажем за плечами в будущем не будут смотреть как на говно без опыта. Кроме того, чекни --- может эти челы сами не шибко довольны сложившейся у них ситуацией, и планируют перекат на обновленный стек?
93 2445178
>>45165
Смотря что за контора. На таком говне могут кроме тебя сидеть 2 петровича, ни в жабе, ни в вообще современной индустрии не шарящих. Там может не быть процессов - нет тестов, системы управления тасками и даже гита.
У меня так было, когда позвали на спринг + жава 8, а там был просто зоопарк из жава-ее библиотек и спринг чисто для di.
Я бы на твоем месте сам пооценивал уже имеющихся прогреров на проекте. И если понимаешь, что сторожилы много в чем не шарят - не иди туда. Ты у них ничему не научишься.
94 2445269
>>45165

>восьмая джава


>легаси


пук
95 2445287
>>45269
Восьмая жаба - легаси. Проблемы?
96 2445316
>>45287
да, мы на пятой сидим и в велосити шаблоны страничек клепаем
проблемы?
97 2445335
>>45316
И пятая, и восьмая жабы - легаси, окда?
98 2445403
1. Заходишь в папку с файлом "file.tsv";
2. Запускаешь jshell
3. Вводишь /edit
4. Вставляешь:
Files.lines(Path.of("file.tsv"))
.map(s -> s.split("\t"))
.filter(arr->arr.length==3)
.sorted(Comparator.comparingInt(a->Integer.parseInt(a[2])).reversed())
.map(arr-> String.join("\t", arr))
.forEach(System.out::println);
5. Error: array required, but java.lang.Object found
6. Убираешь .reversed()
7. Всё работает.
Какого хуя?
99 2445415
>>45100

>Когда у тебя появится больше полей в модели ты заебешься их обновлять по одному.


Как обновить только те, которые есть во входящем JSON-е?
100 2445419
Ух бля, 100 постов, точно пора перекатывать.

ПЕРЕКАТ >>2428654 (OP)
ПЕРЕКАТ >>2428654 (OP)
ПЕРЕКАТ >>2428654 (OP)
изображение.png51 Кб, 604x568
101 2445420
>>45100

>Логика должна быть в сервисе, а не контроллере


Все остальные методы в одну строчку. Мне из-за этого сервис создавать? Это тупо тестовое задание, надо чтобы работало, ну и чтобы правила REST были соблюдены.
102 2445449
>>45419
Вот поэтому питонисты и долбоебы.

----

Посоны, а чё сейчас в жабе, 95% бекенда это всё ещё спринг? На котлине всё ещё только мобилки делают?
Я иногда лениво думаю перекатиться, но у меня аллергия на жирные фреймворки, поэтому что гибернейт, что спринг очень отталкивают.
те же c#вые аналоги очень изящнее выглядят и не создают ощущения бессмысленного нагромождения кода.
изображение.png54 Кб, 380x407
103 2445452
В задании мне надо еще реализовать сервис для native SQL-запросов. Куда лучше вынести запрос, в PathVariable или в RequestParam? Или вообще как тело посылать POST-запросом?
104 2445453
>>45449

>Посоны, а чё сейчас в жабе, 95% бекенда это всё ещё спринг?


Истинно так, и в 95% тестовых заданий нужно просто написать круды для REST-сервиса.
105 2445459
>>45453
Бля, тестовые - это что такое вообще? Я обычно наоборот прошу рекрутеров сделать мне какое-нибудь задание, иначе на собес к ним не приду.
106 2445461
>>45459
300 ккк/наносек с Кипра?
107 2445462
108 2445463
Посоветуйте плез российские хостинговые сервисы чтоб свою приложуху на буте разврнуть там.
109 2445467
Так правильнее будет, я понимаю? Кстати, тут как раз вся логика в сервисе.
110 2445468
>>45463
Тоже интересно. И еще где-то Постгрес чтоб развернуть.
111 2445469
>>45463
Нахуя именно российские?
112 2445470
>>45468
localhost
113 2445471
>>45469

Цена чтоб не в баксах была. Да и просто интеренсо какие есть хорошие отечественные пльтернативы.
На амазоне меня забанили за то что неоплатил вовремя.
114 2445472
>>45469
Без VPN не пускает на буржуйские. А он, как известно, ворует данные пользователя и вообще может канплукстерн взорвать.
115 2445479
>>45415
Хз чел, это очень необычная задача, наверное никто никогда раньше с ней не сталкивался.
>>45420

>Все остальные методы в одну строчку. Мне из-за этого сервис создавать?


Да. У нас как-то джун написал логику в контроллере, так мы его отпетушили.
116 2445482
>>45449

> аллергия на жирные фреймворки


Тогда жаба не для тебя, как и шарп, у них вместо спринга такой же жирный аспнет с килотоннами старья, причём их старьё работает только на винде, а жабовское легаси хотя бы кроссплатформенное.
А микрофреймворки есть везде, но они нахуй никому не всрались, т.к. для их задач хватит петухонов-жопаскриптов.
117 2445499
>>45482
Есть и вакансии без спринга. Всякие высоконагруженные сервисы на Reactor, vert.x и др. Но туда берут только сеньоров с 10-летним опытом работы.
118 2445501
>>45472
Можно, наверно, китайские поискать.
119 2445517
>>45499
А микронавт и кваркус?
120 2445527
>>45517
Да.
121 2445572
>>45452

>SQL


>PathVariable


>RequestParam


Делаешь пару джоинов и веб-сервер ехидно отдает 414. Алсо, задача выглядит как зделой нам свой пыхыпымуадмин, с блекджеком и уязвимостями.
122 2445611
>>45114
Орм вообще зло, толку от них только когда надо шлёпать примитивные круды, если чего-то сложнее, то все пиздец начинаешь под эти орм писать всякую хуйню вместо того чтобы заебенить запрос
123 2445617
>>45482

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


Как там, норм в 2012 живется?
124 2445621
>>45617
Прочитал одну фразу и сразу порвался? А теперь прочти весь пост.
В древнем проприетарном дотнет фреймворке, про который я и говорю, есть дохуя компонентов, отсутствующих в современном кроссплатформенном дотнете. Тот же WCF, к примеру. Майки выпилили старьё из платформы и тем самым усугубили ситуацию с легаси, переход теперь плавно не произвести, только с нуля переписывать, либо юзать сторонние реализации старья от васянов.
125 2445653
>>45621

>ты порвался!!1


>строчит бахнутую простыню


Охлол
126 2445659
>>45467
я бы еще через конструктор внедрение зависимостей сделал
127 2445679
>>45653

> пук среньк

128 2445686
>>45617
Этот еблан путает старый ASP.NET, который был такой же устаревший легаси монстр с практиками из нулевых, как спринг, с новым ASP.NET core
Почему я ненавижу большую часть коллег, потому что вот подобные дегенераты работают без кругозора в своей же сфере
129 2445694
Какие же шарпобляди дегенераты, пиздец просто.
130 2445704
>>45686

>старый ASP.NET, который был такой же устаревший легаси монстр с практиками из нулевых, как спринг, с новым ASP.NET core


А в чем принципиальная разница?
Спринг так-то тоже не стоит на месте, и 6 версия будет отличаться от третьей и перфомансом, и фичами, и удобством.
131 2445705
Как в хибернейте вытаскивать данные из нескольких таблиц? К примеру, классический случай: есть покупатели и товары, они связаны промежуточной таблицей покупок (ид покупателя, ид товара). И как мне выдернуть по покупателю все купленные им товары? Писать join как в обычном SQL? В чём тогда преимущество хибернейта?
132 2445706
>>45499

>Есть и вакансии без спринга


Есть, но там обычно поомйное легасное говно, где просто сервлеты + jdbc, и ничего более. В прицнипе код понятным и прозрачным получается, но увы далеко не уедешь на таком тулинге.
133 2445708
>>45449

>95% бекенда это всё ещё спринг


Да.

>>45449

>На котлине всё ещё только мобилки делают


Нет, часто вместо жабы используют котлин со спрингом, ну и еще ktor по мелочи бывает.
134 2445733
>>45704
Судя по описанию, 6 спринг и 3 бут нихуя не будут отличаться, лол.
135 2445734
>>45572
Значит, лучше в теле передавать SQL-запрос?
136 2445739
>>45734
лучше вала не ебать а заняться делом
137 2445747
>>45705
Может сначала ты хотя бы откроешь документацию? Маппинг разбирается в самом начале
138 2445783
Продолжаю насиловать Hibernate, такая беда: когда таблица создается им самим, то я не могу вставить сущность прямым запросом, Постргес ругается, что я явно не указал ID:

ERROR: ОШИБКА: нулевое значение в столбце "id" нарушает ограничение NOT NULL

Хотя если я предварительно создам таблицу запросом, все работает нормально, и через Hibernate, и через запросы. Как можно в явном виде указать, чтобы у поля ID был тип SERIAL?
139 2445822
>>45783
Никак, такое только в паре орм реализовали, и хибер не в их числе
140 2445824
>>45822
Сцуко. Они что, не предусмотрели, что кто-то через INSERT что-то захочет вставить?
2022-08-2611-52-28.png17 Кб, 550x562
141 2445825
Предлагаю всем джавачем присоединиться к следующему флешмобу
142 2445830
>>45824
Предусмотрели, но без интерсепторов с хинтами это сделать практически нереально
143 2445832
>>45825
Да вообще пиздец, до сих пор идею не переписали на C++.
144 2445834
>>45832
Вот кстати да, у них же была историческая возможность продемонстрировать, что джава не говно и нужна не только, чтобы индусы фабрики на спринге создавали.
И что в итоге? IDEA тормозит ну просто безбожно, хуже только eclipse вот ведь какая ирония
145 2445839
>>45830

>но без интерсепторов с хинтами


Это как?
146 2445840
У меня все данные хранятся в БД, но вот щас появилась задача молниеносно реагировать на события с использованием данных из БД (время пинга до БД в несколько тысяч раз медленнее необходимой реакции, даже с диска читать медленно, только из хешмапы мб норм будет). Мне что, правда нужно ручками создавать кэши? А микросервисы как?
147 2445841
>>45747
Я искал и ничего не нашёл. Там как со спрингом инфы ни где нет. Приходится методом тыка разбираться.
148 2445848
>>45841

>Там как со спрингом инфы ни где нет


По Спрингу-то инфу нашли уже, а вот что там с бесплатными хостингами баз данных?
149 2445852
>>45840
1) Ты уверен, что ты всё делаешь правильно? Такие задачи встречаются, но что у тебя "время пинга до БД в несколько тысяч раз медленнее необходимой реакции" это звучит ну очень сомнительно. За сколько тебе нужно ответить, за наносекунду? Что ты там пишешь, обработчик для ядерного реактора? mmorpg? Если это веб, то у тебя ~100 мс может просто запрос от клиента до тебя лететь, со всеми этими хендшейками, https и прочей фигнёй.
2) Кэш это более чем нормально на самом деле, правда обычно применяется в ситуациях, когда данные скажем нормализованы и тебе неохота постоянно их собирать и мб высчитывать что-то, когда у тебя оно уже посчитано. Главное имей ввиду, что с кешами тоже бывают головняки, они устаревают, разбухают и можно словить рассинхрон между кешами, если у тебя больше одной ноды в приложении.
3) Микросервисы это тупо способ представить одно приложение, как набор из нескольких десятков приложений поменьше. Сами они ничего не ускоряют и даже наоборот, замедляют работу системы, потому что раньше компоненты приложения общались друг с другом в рамках одного системного процесса, а с микросервисами им приходится это делать через сеть. И уж тем более они никак тебе не помогут в случае, если тебе нужно быстро что-то отдать. Максимум, конкретную ручку, к ооторой такие особые требования, можно в отдельный деплоймент вынести, чтобы удобнее было за потреблением ресурсов следить, но микросервисами оно от этого не станет.
150 2445856
>>45852

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


Вот в этом то и прикол. Раньше у меня была одна нода, и всё я держал в прокаченной хешмапе и постепенно сбрасывал на диск все изменения. Но потом нагрузка выросла, и мне потребовалось горизонтальное масштабирование, я решил добавить ещё пару нод, а связать их с помощью общей БД. Но реакция становится гораздо медленнее, а с кэшами рассинхрон или экспоненциальная сложность разработки чего-то из-за необходимости всё синхронизировать.
151 2445858
>>45856
редис с доступом со всех нод?
152 2445859
>>45856
А imdg по типу хазелкаста медленные для твоего случая?
Ибо пока что похоже на хеш мапу с шардированием
153 2445861
>>45841
Да это просто тупая жаба со своими фреймворками, которые даже сами создатели не до конца понимают, когда жаба уже умрет, а спринг выпустит свой собственный язык
154 2445866
>>45861
Написал запрос с джойнами через хибернейт и нифига не работает. Запустил SQL-клиент и попробовал тот же самый запрос и мне всё четко выдало. Так что этот хибернейт не только бесполезный, но ещё и вредный, так как даже простые запросы не может выполнить.
Вот многие пишут, что дескать в JDBC надо писать много стереотипного кода. А в хибере не надо что ли!? Его там на порядок больше. Ты просто все сущности должен обмазать аннотациями и по 100 раз прописать тупому хиберу что и с чем связано, а потом также как в JDBC делать запросы через тонны связок с сессиями, подключениями, транзакциями и прочей фигнёй.
155 2445870
>>45866
Полностью согласен с тобой, большинство нормальных людей ни хибер, ни спринг дату вообще не используют, в основном только ждбс и то сейчас пошла тенденция хранить все данные в статической хэшмапе отдельного класса, говорят за этим будущее
156 2445872
>>45856
Ну тут есть варианты. Первым на ум приходит редис, как правильно заметил >>45858. Хотя если у тебя такие ниибаццо строгие критерии, то пинг до редиса может тебе не подойти.
Рассинхрон кешей на самом деле вполне решается. Они у тебя ленивые или как? Если тебе их заранее не нужно прогревать, то можешь просто более или менее короткий экспирейшен кеша выставить и считать, что (иногда) рассинхоны это норма.
В противном случае можно попробовать как-то синхронизировать твои ноды. К примеру, все данные могут лежать в базе, а все ноды или раз в несколько секунд делают select * from caches where updated_at > {last_updated_at_from_service}. либо вообще listen/notify, если бд позволяет. Тогда как только кеш обновится в базе, остальные сервисы в течение короткого времени сами заметят изменения и подтянут его. Рассинхрон тут всё равно возможен, да, но что поделать. Просто по CAP теореме, у тебя будет или рассинхрон, или простои системы, потому что это же сеть, тут обрывы связи - это обычное дело.
Ну кстати или синхронизировать это говно какой-нибудь очередью, или кафкой/кроликом/тп, или просто wal читать от базы.
157 2445878
>>45659
В чем разница? Можно ведь просто @Autowired поставить.
158 2445880
>>45872
>>45859
>>45858
Спасибо, аноны, за помощь, придётся погружаться в хазелькастовую залупу, выглядит как решение для меня. Но я ещё подумаю, может быть, в моём кейсе можно справиться, не прикасаясь к кровавому энтерпрайзу с его терабайтными инструментами.
159 2445881
>>45880
Хуй тебе, не справишься.
160 2445897
Посоветуйте плиз хороший материал по секурити и кафке. С документации начинать чет вообще не хочется, там как обычно на первых парах хуй разберешь, что тебе нужно в данную секунду, а что нет
161 2445898
>>45880
Хз, хазелькаст выглядит оверкиллом а ещё они корпопидоры
И делают скорее всего примерно то же самое, что тебе описали выше, просто лаве берут за это
162 2445909
>>45898
Есть бесплатный хазель. Ну и если почему-то не подходит, то есть еще Infinispan, Ignite
163 2445917
>>45878
Ну вот кстати частый вопрос, который задают на собесах: основные способы реализации внедрения зависимостей и самый предпочтительный из них.
Best Practices - через конструкторы, тут конечно можно холивар развернуть (но это один из тех вопросов, на который все знают ответ, а почему забыли). Я за последние пару лет @Autowired встречал один раз всего, он нужен был для self-injection, что в свою очередь говорит, что где-то проеб с архитектурой.
164 2445918
>>45909
hazelcast не нужен. Все решается обычным редисом.
165 2445920
>>45878
Тестировать проще. Ты можешь запросто написать юнит-тест и передать все необходимые замоканные зависимости в виде аргументов конструктора.
166 2445923
>>45917

>@Autowired встречал один раз всего


А в тестах?
167 2445924
Эх, как же хочется 18 жабу, быструю, оптимизированную, с виртуальными тредами...
168 2445925
169 2445929
>>45924
Может тебе еще и спрнг-натив с граалем и быстрым стартом и реактивный вебшлюкс? Больше ничего не хочешь?
170 2445930
>>45924
Скачай и пользуйся дурак
171 2445932
>>45923
В тестах через mokito бины создаем.
172 2445934
>>45932
А незамоканные бины в твоих тестах никогда не нужны?
173 2445937
Ну подскажите, анчоусы, оч надо

>> Посоветуйте плиз хороший материал по секурити и кафке

174 2445939
>>45937
А зачем тебе секурити в кафке?
Интересно, работаю с кафкой некоторое время, но секурити пока не требовалось. Может тоже что-то почитал бы по этой теме.
175 2445953
>>45939
Я имел ввиду раздельно а не 2 в 1
176 2445956
>>45953
по кафке я читал первые 7 глав "kafka definitive guide 2nd edition", мне хватило для начала. По спринг-кафке только видосы от конфлюенса: https://developer.confluent.io/learn-kafka/spring/spring-boot-with-apache-kafka-hands-on/ , дока и статьи в блоге конфлюентса https://www.confluent.io/blog/tag/spring/
177 2445961
>>45956
Это очень мало. Т.е. это буквально "изучил API клиентской библиотеки и какие аннотации развешивать". На слабенького джуна пойдет.
178 2445971
В гите про книгу Спринг ин экшн написано:

Обрати внимание именно на 4-е издание. Да, мы в курсе, что есть шестое. Да, мы в курсе, что перевод на русский есть только на третье издание. Но в шестом издании нет подробного описания подкапотного устройства и выкинута настройка с помощью XML.

Что тут подразумевается под подробным описанием подкапотного устройства?
179 2445994
>>45971
Как спринг трогает кишки jvm и прочая непотребщина.
180 2445997
>>45971
Бин пост процессоры, ридеры, бин фактори, эвенты, наверное вот это все и так далее
181 2446000
>>45961
Так я и есть джун. А какие ты думаешь требования на мидла+ по знаниям кафки? Думаю прочесть вот эти книжки.
В самой доке кафки кстати очень мало инфы, надо кипы читать и комменты к ним.
182 2446004
>>45956
Спасибо анон, а на годные видосы на ютубе не натыкался?У меня легче идет, когда я миксую источники инфы, а не только книгу пялю весь день
183 2446036
>>46004
Смотрел штук 5 видосов на русском(английский на слух у меня плох, смог только видосы по спринг-кафке от гамова посмотреть) для нулей, не один не могу посоветовать. Если нужен хоть какой-то, то вот https://www.youtube.com/watch?v=ZfbQfUAPVWY&t
Вот примерно очерчены популярные подводные камни, которые в будущем встретятся. https://www.youtube.com/watch?v=A_yUaPARv8U https://www.youtube.com/watch?v=MG_a6MT1DQg После книжки заходит.
Вот неплохой ликбез по обработке ошибок, правда апиха спринг-кафки немного устарела. https://www.youtube.com/watch?v=OnZ7JArSoiU
184 2446039
>>46036
Благодарю.
185 2446058
Мимокрокодил с другого языка в треде.

>>46036

> правда апиха спринг-кафки немного устарела



Можешь пожалуйста пояснить, что такое вообще "спринг кафка" и причем вообще тут спринг?
Поясню свою мысль.
Кафка это же внешний сервис, со своим клиентом, который ты просто подключаешь в свой код каким угодно образом и используешь. При чём тут вообще фрейморк? Зачем вам какой-то особый мост между спрингом и кафкой?
Казалось бы, буквально в нужном сервисе в коде инжектишь kafkaClient или там interface publisherClient и просто начинаешь писать туда сообщения или читать их.
186 2446069
>>46058
Это более высокоуровневая апишка над кафка-клиентом. Например консюмер выглядит не просто как бесконечный цикл, а все обернуто в метод с аннотацией. Есть json-serializer/deserializer для сериализации pojo-dto. Посмотри первый видос.
Причем это не самая высокоуровневая апишка. Есть еще spring-integration-kafka поверх spring-kafka.
187 2446087
Ну и как сейчас обучаться Джаве, если ничего у буржуев оплатить не можешь? Hyperskill не берет деньги, Udemy не берет. У Васянов что-ли на ютубе?
189 2446099
>>46087
Пиздуй читать книги, сука.
190 2446100
>>46089
Зачем ты в джава треде предлагаешь учить сишарп?
191 2446102
>>46100
Такие как ты ему отвечают вместо игнора, вот он и не съёбывает.
192 2446109
>>46099
Хочу писать учебные проектики и чтобы проверочка была.
193 2446117
>>46109
Во многих книгах есть упражнения, а на гитхабе автора можешь глянуть правильные решения.
194 2446124
>>46109
Рефку поспрашивай на гиперскилл. 3 месяца + по месяцу за выполненный проект и пройденную ступень. Итого 5. Если не ебланить, нормально получится.
195 2446137
>>45939
Если у тебя хоть какая то нода не защищена, у тебя не защищено ничего. Секурити должен быть везде и тотальный.
196 2446150
Я перешел на 3й курс уника. На данный момент знаю весь кор джавы и спринга. Плюс по мелочи sql , Liquibase , паттерны основные. Есть много петов на этом стеке. Вопрос что мне учить дальше что бы по окончании учебы быть полезным?
197 2446152
Как использовать хотсвап?
198 2446160
>>46137

>Потому что потому


Ну мааам. Кафка же во внутреннем контуре, во внешний интернет не торчит. Это же не рест-апиха, которую мы отдаем на машины пользователей.
Я понимаю, что бывает, когда торчит публичный топик для внешних пользвателей, но это отдельный кейс.
image.png49 Кб, 476x243
199 2446172
Что выведется?
200 2446178
>>46172
Сначала 1 и 2 в любом порядке, потом 1 и 2 в любом порядке снова.
201 2446180
>>46172
Пиздец, у меня мозг сломался, когда я увидел в map действие какое-то. Нахуй так делать?
202 2446201
Смотрите я хочу сделать два микросервиса:
1) первый на noSql webflux
2) обычный синхронный CRUD на Sql, который стучится в первый сервис и берет из его джейсонины некоторые кей валью, но не все.
Это будет работать?
203 2446204
>>46124
Спасибо, не знал что там есть рефералки с таким щедрым подгоном. Жаль только придется прокликивать все пройденные темы если продолжать с новым аккаунтом.
204 2446218
>>46178
1122
Почему так?
205 2446237
>>46218
Мб отправка в консоль асинхронная? А вообще не представляю, как такое может быть.
206 2446248
>>46237
Думаю тут замешаны оптимизации компилятора.
207 2446328
В гуаве или апаче коммонс есть класс, похожий на Either или Result из котлина?
тэк.png12 Кб, 546x93
208 2446344
Почему я не могу так отсортировать примитивы? Я хочу перенести все нули вправо, сохранив порядок других элементов. И как это сделать? Закинуть туда Integer::compare(i, 0) нельзя чо началось то нормально же сортировали
209 2446415
Что посмотреть/почитать про докер?
210 2446420
>>46415
Для начала у letscode есть 2-3 неплохих видео по докеру. Дальше гуглишь пример spring boot + postgres в docker compose, разворачиваешь это дело, проверяешь что все работает как надо.
Ну и еще бы желательно про networking в докере почитать: bridge, host, вот это все. Тут лучше документацию читать.
211 2446421
>>46420
Спасибо
212 2446423
>>46344

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


Потому что Comparator.comparingInt принимает на вход ToIntFunction. У тебя же лямбда boolean возвращает.
213 2446428
>>46423
Но если бы это был стрим объектов .boxed, то все бы работало (только надо было бы Comparator.comparing()), а потом mapInt. А я не хочу заниматься автоупаковкой и автораспоковкой, какое решение?
214 2446440
>>46344
>>46428
sorted() у IntStream не принимает никаких аргументов. Так что да, нужно боксить.
215 2446464
>>46415
docker build
docker run
216 2446471
>>46440

>нужно боксить


Нинужна!11 Я тогда лучше классическим православным циклом for сделаю, чем буду пидорским стримом примитивы в обертки засовывать, а потом высовывать.
217 2446497
Какие вещи в кубере неплохо было бы знать будущему ждуну? Или мне хуй забить и даже не открывать это, пока работать не начну?
218 2446500
Имплементировать Either в свой шарповский код - хорошая идея чи нет?
Просто меня немного подзаебало, что вот есть контроллеры. Вот есть сервисы. Я хуйнул Either<TResult, TError>, переопределил приведение.
Сейчас контроллеры выглядят примерно так:

public IActionResult GetList() => _service.GetList();
В случае если все ок - вернется лист, если не ок - ошибка вида:
{
Error:Code,
Message: ErrorMessage
}

Но чет я думаю - и со стороны ж не очивидно. Типа да, коджа стало меньше, он чище. Но теперь кому-то еще - нужно лезть в реализацию сервиса, чтобы понять, чому ему возвращается что-то там. А потом - разбираться как оно работает.
Короче. У вас такое делают?
219 2446508
>>46500
Тред больных синдромом дауна немного ниже на доске.
220 2446510
>>46508
Та блядь.
Хули ссылка на новый тред - сюда ведет?
221 2446513
>>46328
Бамп
222 2446594
Бля чет зашел щас на hh поискать вакансии на ждунов в мск и мне выдало аж 15 штук, в половине которых набирают на самом деле не разрабов, а dba или q/a, а в другой просят какие-то ноунейм технологии, которые ради одной этой компании учить впадлу. Че за хуйня? Реально сейчас работу вообще найти? Я так-то скоро пиздовать искать хотел. Хелп
223 2446600
>>46594
Да нормально щас, надо только реальные навыки иметь
224 2446618
>>46600
Что ты имеешь ввиду под реальными навыками? Ну вот у меня будет реальный навык написания говнокруда за 10 минут на 5 эндпоинтов этого достаточно чи шо?
225 2446629
>>46218>>46237>>46248
Вы ебанутые? С первого дня создания стримов они были ленивыми, вот вам последствия. Вся цепочка стрима не вызывается, пока не будет вызвана какая-то терминирующая стрим операция.
Тфв когда жабу ругают за отсталость, но на деле фича типа генераторов есть испокон веков но разрабы заросли мхом
226 2446661
ResultSet set = statement.executeQuery();
set.getLong("property"); // и вот тут поток умирает нахуй (зависает), чому? У меня склайт.
227 2446715
>>45834

>хуже только eclipse


хз у меня древний эклипс с майнкрафтом на древнем ноуте наоборот хорошо работает даже с 4гб оперативки
а вот идеякал всю оперативку сжирала еще и тема уебищная и хотсвопать на отдельные кнопки нужно
да и в целом неудобный редактор неказистый какой то
хотя хз за шесть лет может улучшили
228 2446760
>>45705
Разобрался! Оказывается хибернейт сам заполняет сущности теневыми запросами. Ни в одной книге этот момент не объясняется. Про мурзилки ваши вообще молчу, там всякий бред только пишут, далёкий от реальных проблем.
229 2446778
>>46618
Нет, нужно уметь решать медиумы на литкоде, хорошо разбираться в тонкостях многопоточной синхронизации, уметь пояснить за коллекции в деталях.
Ну и да, уметь написать круд с регистрацией, авторизацией (spring core, data jpa, security), поднять в докере, уметь написать юнит тесты + желательно знать основы микросервисных хуевин.
Это уровень такого слабенького стажера на самом деле в 2х22 году. Вот с такого уровня уже можно вкатываться в работу.
230 2446781
>>46778

>поднять в докере


Что это значит? Загрузить туда программу и запустить? Разве это не работа сис. админа? Как изменяется код от того, что он запускается в докере?
231 2446786
>>46781

>Загрузить туда программу и запустить


Да.

>Разве это не работа сис. админа?


В теории его, но на практике все везде крутится в докере. Не умея работать с докером ты просто не сможешь удостовериться в том, что твой код вообще работает, а не просто тесты проходит.
232 2446916
>>46069
А зачем это всё?
Захочу сделать сериализацию в нужном месте - ну просто внутри коллбека вызову руками нужный сериализатор и всё.
Зачем мне комбайн, который что-то там делает под капотом волшебное, когда я могу руками из библиотек собрать ровно то, что мне нужно?

>>46715
Справедливости ради, идея всё же лучшее, что есть на рынке IDE сейчас. Все эти visual studio code и рядом не стояли по возможностям.
233 2446989
>>46916

>А зачем это всё?


Затем, зачем и всегда нужны фреймворки, уменьшить бойлерплейт код. Да и хз, что у тебя там в питоне, интерфейсы какие-то. Нативный джавовский клиент не так устроен, может там тоже какие-то дополнительные функции.
Над продюсером и админ апи там очень маленькие прослойки.
А над консьюмером там большой комбайн с конфигурацией еррор-хендлеров(с конфигурацией ретраев/пересылки в длт), конкурентного чтения, пакетной обработки, десятком видов фиксации оффсета, мониторингом, транзакциями, остановкой/паузой консьюмера, поддержкой евентов на каждую стадию обработки сообщения, валидацией дтошек, оберткой, чтобы клиенты кафки работали в с семантике запроса/ответа, дополнительными конверторами, делегатами десериализаторов.
234 2446990
>>46916

>Захочу сделать сериализацию в нужном месте - ну просто внутри коллбека вызову руками нужный сериализатор и всё.


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


Чтобы не тратить время. Spring-kafka это неплохой компромисс между простотой и низкоуровневым апи, стандартная спринговая либа, все гибко настраивается. А вот все остальное, что там наворотили это лютый пиздец. Кафка слишком сложная вещь, куча мест, где все может сломаться и абстракции потекут. Новичкам возможно действительно лучше начинать с простого кафка клиента, и делать все вручную, понимания будет больше. А то в spring-kafka аннотацию над методом поставил, пару пропертей прописал и все, кажется, что все будет работать (нихуя).
235 2447188
Выхожу на связь, давненько не писал, был творческий кризис. Сделал свое личное карманное AWT с перехватом фокусов, менежментом активностей фреймов и прочая и прочая. Это все нужно для редактора карт, которому нужна своя оконно-компонентная система (использовать swing постеснялся, решил написать своё) d2d2-components обособлена как отдельная либа, со своими git репозиторием и своей mvn dependency. Нет пока только layouts, компоненты нужно выставлять вручную, указывая координаты. Пока не придумал как сделать layouts так, чтоб не было слишком больно.
236 2447203
>>47188
Как ты сделол такое если анончики говорят что джава в 2022 используется только для майнкрафт модов???
237 2447212
>>47188
Хорошо, а теперь напиши идею.
238 2447216
>>47203
Майнкрафт на чем написан, болезный?
239 2447226
>>47216
На С++.
240 2447235
>>47212
С использованием OpenGL?
241 2447241
>>47235
С использованием того, что у тебя на вебмках.
242 2447245
>>47226
К тому, который на крестах написан, внезапно и модов нет.
243 2447247
>>47241
У него на вебмках не LWJGL
244 2447250
>>47245
Лол, серьезно? Нахуй он тогда нужен?
>>47247
Какая разница блядь? Пусть пишет идею чтоб работала быстро и не тормозила.
245 2447256
>>47250

>Нахуй он тогда нужен?


Ну потому что

>Minecraft: Bedrock Edition does not support mods officially or unofficially due to the universal codebase upon which it's built. However, players on the most modern version of Minecraft can still change things up with the Minecraft Marketplace, an officially supported, community-built storefront filled with new maps, texture packs, character skins, adventure maps, and behavior / resource packs with free and premium options.


)
246 2447260
Сап, пацаны, есть у кого годный туториал по Маките и юнит тестам с её помощью?
247 2447340
>>47247
У меня на вебмках как раз LWJGL. Точнее велосипедный фреймворк общающийся с OpenGL через API LWJGL.
248 2447349
>>47340
А, я тебе донатил, кажется. А может то не ты был, но вроде в этом разделе.
water.mp45,6 Мб, mp4,
1090x732, 0:39
249 2447351
>>47349
Спасибо! Если да.
250 2447436
>>47351
Ты ведь про инвесторов c pay to earn что-то говорил, если я не путаю? И про найм других людей. Как с этим дела?
251 2447473
>>47436
Пока что на этапе написания диздока, вайтпеппера, ванпейджера, сайта, вот этого всего, созвонов бесконечных. Диздок, кстати, дописал. Большие фонды пока не привлекали.
252 2447490
А нахуя Джаве виртуалка?
Вот рил, не понимаю. Джаву компилишь раз, запускаешь эвривеа.

А нахуя? Кто этим пользуется?

Типа в мобильной разаботке на Java/Kotlin пишут только на андроид, могли бы и в бинарник компилить как эпл делает.

Бэкенд? Но ведь сервера все и так со всякими докерами и виртуализациями рабротают, намного выгоднее просто компилить все идеально под энваермент.

Ты не будешь же бинарник переносить и запускать где-то еще.

Единственный плюс это ебаный JavaFX?
253 2447495
>>47490
Типа либы ты не как сурс код подключаешь.
254 2447509
>>47490
Виртуальная машина обеспечивает безопасность
255 2447512
>>47509

Лучше чем линуксовые права?
256 2447515
>>47512
Линуксовые права не спасут тебя, если начнёшь писать в массив мимо выделенной памяти или переполнишь стек.
257 2447532
>>47515

А, ты про эту безопасность. Хартблиды всякие.

Но во многих компилируемых языках типа го/раста/свифта этих же проблем нет? Звучит как C/C++-ная хуйня
258 2447615
>>47490

> Типа в мобильной разаботке


> Бэкенд? Но ведь сервера все и так со всякими докерами и виртуализациями рабротают


Бля чел, но джава появилась не одновременно с докером блядь, и не одновременно с ведроидом. Она появилась когда мне был годик или около того, а ещё через 7 лет появился ты.
И на момент появления этот функционал вообще мозг людям взрывал.
259 2447639
>>47490

>Ты не будешь же бинарник переносить и запускать где-то еще.



Именно так это и работает. Подключаешь .jar файл в любой проект на любой архитектуре процессора - и вперед.
260 2447644
>>47639

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

Дескторные кроссплатформенные приложения на джаве редкость, как и на чем угодно. Оказалось проще на дажваскрипте
261 2447645
>>47644
СЕРВЕРА ПРИЛОЖЕНИЙ
262 2447647
>>47644
На десктопе кстати тоже заебись, как плагины к какой-нибудь хуйне.
263 2447660
>>47644

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


Eclipse, Intellij IDEA + сотни производных. Оказалось что на жабаскрипте как-то не проще.

Android - arm7, armv8a, x86, x86_64.

linux - любой сервер, Мб небольшое embedded уст-во. Подошел уверенно и запустил.

J2ME. Какая у них там вообще архитектура?

SIM карты - тоже жаба VM.

iOS - чисто политика Apple. Теоретически что мешает там запустить JVM
264 2447666
Дорогие разработчики. Меня, автотестера побудило вместо автотестов написать банальную программу, которая открывает браузер (Selenide), кликает ссылки до тех пор, пока не доберётся до искомой страницы и парсит оттуда данные. Чтобы сэкономить время, я сделал 100 строк в классе Main, метод main. В нём же есть spring-mail dependency код. Никаких больше потоков. Ну да ладно. Идея запускает код. Браузер открывается, контент со страницы парсится, на почту успешно отправляется.

Хочу поделиться программой с "неайтишником". Да так, чтобы ему jre и jdk не пришлось устанавливать (буду ему скидывать папку со скачанным jdk и свой jar-ник запулю в jdk/bin, а корне создам bat. У друга Винда).
Что делаю я: пишу mvn package. Он мне давай делать jar без dependencies. Гуглю. Пишут, мол, напиши, maven shadow plugin. Ну ок. Опять пишу mvn package. Он мне создает 2 jar файла: один без dependencies, а второй с dependencies. Тот, что без dependencies имеет манифест с прописанным Main. Тот, что с dependenies имеет лес файлов (jar-ники dependencies), но манифеста не имеет.

Фокус с запихиванием манифеста и Main класса в jar-ник с dependencies не работает.
Значит я должен написать в bat файле, как запустить эти два jar файла одновременно.

Помогите, пожалуйста, разрабы.
265 2447667
>>47666
Разрабы, помогите ему

мимо тимлид
266 2447674
>>47666
Не силен в мавене, но в нрадле при генерации jar создается bat файл для запуска с зависимостями. Можешь его вручную сделать, просто в bat файле пропиши --classpath и все зависимости и main класс
267 2447675
>>43284
Напиши игру на андроид по туторам и можешь идти.
268 2447683
>>47675
Идти нахуй?
269 2447694
>>47660

>SIM карты - тоже жаба VM.


Охуеваю каждый раз как слышу.
270 2447701
>>47666
google - maven assembly executable jar
271 2447711
>>47674
В градле сам по себе этот jar с dependencies и батник создаются или нужно таску писать? Если нужно таску писать, то наприши, пожалуйста, приблизительный текст из build.gradle
272 2447717
>>47660

>J2ME. Какая у них там вообще архитектура?


Java 2.0 for Mobile Environment. Хочешь игры от Gameloft для кнопочных нокий и сони-эриксонов поредактировать? Я такой jar-ник раскрыл. Прикольно было. Одни if-ы. :)
273 2447726
Вычисление среднего арифметического числа, это как шаблон получается ? Например при ришении какой-либо задачи нужно будет вычислить это, и я буду уже знать ?
967191599ced7e197779897482bc753b.jpg20 Кб, 1020x570
274 2447729
>>47717
Программирование - это же одни if-ы и есть
275 2447732
>>47726
Если ты про паттерны проектирования, ты понял их суть. Паттерны не придумывают, их обнаруживают в коде, просто замечают, что один и тот же подход используется в самых разных местах.
276 2447733
>>47711
Кастомных тасок не надо. В градл файле подключаешь плагин application. И дальше в конфигурации прописывает что то типо application { mainClassName ""}.

А вот как задача называется которая запускает это сборку - уже не припомню. Вроде как distZip

P.s. вот дока https://docs.gradle.org/current/userguide/application_plugin.html
277 2447744
>>47732
Вычисление среднего арифметического - это алгоритм.
278 2447891
Почему я экранирую кавычки , но на фррон приходят еще и эти слэшы
279 2447895
зачем стримы примитив типов неужели боксинг такой дорогой
280 2448088
>>47660
Почему до сих пор существуют другие языки, кроме жабы? Она же блять буквально для всего подходит, сука.
281 2448104
>>47895
А ты сам как думаешь, мелкобуква тупорылая?
282 2448106
>>47744
>>47732
Вы дауны? Это функция в любой математической библиотеке Math.average(List<Integer> integers), иначе это - АНТИПАТТЕРН.
283 2448118
>>47891
Это у вас на курсах что ли не объясняют про escape sequences, но уже впаривают JS?
284 2448319
Я сантехник, только в айти. Каждый день только и делаю, что чищу унитазы с данными и вытаскиваю застрявшие какашки. Матан, геометрия, теорвер - это всё я когда-то сдавал в вузе и всё позабыл, так как это в итоге не пригодилось. Это для умных разработчиков унитазов, а я просто сантехник.
285 2448327
>>48104
я думаю нет
а с хуяли
тем более что ввели вместе с попыткой в функциональщину
где и мутабельность и персистент дата
то есть на любой пук пересобираются деревья списки объекты
да и жаба всегда на производительность хуй клала
286 2448386
>>47473
Что за док, пеппер и пейджер?
.png800 Кб, 1240x580
287 2448405
>>48386

> пейджер

288 2448519
Подскажите, а для java есть какой-нибудь интерактивный курс, наподобие "A tour of Go" для go? Чтобы познакомиться быстренько с синтаксисом, а далее уже более практические туториалы наворачивать?
289 2448558
>>48519
Шилдт. Не надо читать от корки до корки. Но как только возникнет какой-то вопрос - сразу же открываешь книгу и читаешь статью о вопросе целиком.

Чтобы появились вопросы нужна задача, тут уже сам придумывай, я посоветую плагины для майнкрафта писать.
290 2448562
>>48519
Нах тебе "интерактивный" курс, лень текстовый редактор и окошко с консолькой запустить?
https://learnxinyminutes.com/docs/java/
https://metanit.com/java/tutorial/
291 2448567
>>43253 (OP)
Как научиться правильно выбирать уровень изоляции транзакции? Ну так, чтобы не наломать дров.
292 2448773
>>48567
Выбирай самый высокий, не ошибешься
293 2448787
Не стыдно ли вкатываться джава джуниором на 43 лвле?
294 2448790
>>48773
Не просто так же придумали эти уровни.
295 2448791
>>48787
Стыдно. Но не из-за возраста, а из-за того что джуном. Вкатывайся мидлом.
296 2448797
>>48790
Просто так.
297 2448805
Почему, когда я в тестах через mockMvc посылаю гет запрос на свою страницу, требующую авторизации, мне возвращается 401 статус нот авторайзд, если по идее должен быть 302 редирект на логин пейдж? Та же хуйня, если посылать постманом, но вот если в браузере открыть, то все ок и будет 302. Чет мне эта хуйня не дает покоя, учитывая, что в видосе литкода все ок и возвращает статус редирект в тестах. Конфиги у нас с ним одинаковые плюс минус, мб дело в версиях?
298 2448845
>>48773
Самый высокий = транзакции выполняются последовательно = толку от нескольких ядер 0, всё равно СУБД будет работать в несколько раз сильнее, чем могла бы.
299 2448871
Объясните пожалуйста , что надо сделать что бы поднять приложуху на убунту ? В конфигурационм файле nginx я прописал перенаправление с порта 80 на тот что указан в приложухе. Приложуха запустилась на этом порту. Но один хуй не могу зайти . Выдает 502ю
300 2448890
>>48871
Спроси у nginx-программистов.
301 2448919
>>48805
Скорее всего mockMvc автоматически следует редиректам. Постман именно так по дефолту и делает.
302 2448925
>>45449
Мобилки (Андроид) ещё и на Джаве продолжают делать те люди, что не начинали учить Котлин.
303 2448927
>>45403
Не разбираюсь, то если дословно перевести с английского, то reversed обозначает "перевернутый".
304 2448931
>>48927
Это и так понятно. У него же проблема, что при сортировке от А до Я всё работает, а при сортировки от Я до А жаба пишет "ты пидор".
305 2448932
Необходимо создать общение двух JVM стандартными методами жабы. Как это сделать? Есть какие то мурзилки?
306 2448934
Почему в пайтон треде очень большое количество порно материалов (фото и видео) ?
307 2448937
>>48934
Называй всё своими именами. Не """пайтон""", а петухон.
308 2448938
>>48932
Сокеты.
309 2448953
>>48871
Ты проксируешь запросы, пришедшие на внешний интерфейс на этот же интерфейс. Сомневаюсь, что у тебя порт приложения вообще на нем доступен. Завязывай сочинять конфиги под веществами и скопируй готовый конфиг с первой страницв гугла, короче.
310 2448989
Кто-то знает как в Community Intellij Идее пофиксить этот ебучий баг, что редактор не видит импортов? Импортишь какой-то пакет, даже не из откомпиленных либ а прямо из сорцов, а он выделяет это красным, не могу типа определить класс. Бесит уже просто пиздец, скачал ради этого новую версию, сначала все норм было, а потом опять стало на некоторые классы проскакивать.
311 2448993
>>48989
Попробуй инвалидировать кеши в идеи - https://www.jetbrains.com/help/idea/invalidate-caches.html. Если не поможет, то заведи багрепорт.
312 2448994
>>48989
ИНДЕКСАЦИЯ
@
ИНДЕКСАЦИЯ
313 2448996
>>48993
Благодарю
>>48994
а попонятнее можешь как-то сказать?
314 2448998
>>48994
>>48996
Пофиксилось. По крайней мере, после автоимпорта который идея сама сделала
315 2449008
Да что с этим долбанным хибернейтом не так!?
Нашёл мурзилку, где четко написано как найти сумму всех ячеек в таблице:
Long sumOfAllAges = (Long) session.createQuery("SELECT sum(age) from Student").getSingleResult();

Делаю всё также, а мне выдаёт эксепшен:
Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Student is not mapped [SELECT sum(age) from Student]

С JDBC такой ерунды не было
316 2449010
>>49008
У тебя есть сущность Student с аннотацией @Entity?
317 2449011
>>49010
Конечно. Я даже туда данные загонял и сохранял в таблице, а посчитать сумму не могу.
318 2449018
>>48319
Я вообще все забывал сразу после сдачи предмета. Сейчас максимум какие-нибудь простейшие производные и интегралы смогу взять, ну и формулу для сочетаний и перестановок вспомню, не более. То есть по сути то, что и школьники умеют, лол. Вузовский материал как-то вообще быстро выветрился.
319 2449022
>>47490

>А нахуя Джаве виртуалка?


В 90-х это было модно. Тогда все еще существовало много других осей и архитектур. Никто не был уверен, что все сведется к тому, что через 30 лет жаба будет только в докере на линухе крутиться исключительно как бекендовый язык.
320 2449024
>>48319
>>49018
А чего вы ждали? С самого начала вката вокруг вас знакомые носились со стереотипом, что все программисты используют вышмат в работе, и вы сами в это уверовали? Не обязательно опускаться до уровня сантехника, чтобы не использовать математику в работе, она нужна единичным наукоёмким профессиям, к коим программирование как таковое, очевидно, не относится. Врачи - это тоже сантехники, да?
321 2449025
>>49024
Да мне как-то все равно, я не математик-PhD, который каким-нибудь ресерчем в машобе занимается или обработкой сигналов, я обычная макака.
Понадобится математика, ну открою матпрофи, какие-нибудь материалы и лекции для тупых студней и буду заново вспоминать или вообще с нуля учить, дальше-то? Но мне кажется таких задач у меня никогда не будет. А то, что не используешь, то быстро забывается.
322 2449084
У меня на ласт собесе на джуна час гоняли по конкаренси. И я не шучу, буквально сразу после того как я назвал что есть callable, в котором есть future, меня начили задалбывать чем же отличается future от completablefuture, и прочую ересь о которой я впринципе никогда не слышал. Когда мы отходили от многопоточки скажем на паттерны или стримы, буквально через пару вопросов мы снова к ней возвращались будто вовращались в ад.
Ну и конечно же спустя час когда у меня поплавился мозг в ход пошли задачки из литкода, у меня уже бошка совсем не варила и я минут 10 тупил на задачной про поиск квадратного корня бинарным поиском и задачкой про валидацию скобок [[[]]] )(.

Очевидно отрицательный фидбек, вопрос, как мне теперь с этим жить? Есть какой-то норм гайдец по вопросам конкаренси чтобы не тупить?
А то я по сути никогда многопоточного не писал, у меня все пет проекты это какой-либо crud на спринг+хибернейт +тест в cicleci чтобы показать что я шарю за это..
Ну и конечно поиск работы в Украине чичас это жепа - на одну вакансию по 200 откликов за день, в половине случаев рекрутеры даже не чекают, на собес попасть это тот еще квест, за месяц 2 раза сосебился успешно выполняя тестовые.
image.png231 Кб, 378x500
323 2449086
>>49084
Есть книжка с поездами.
Ну и попробуй что-нибудь свое написать на тех же комплитбл фьючах
324 2449092
>>49086
пасиб, просто я не совсем пойму на реддите в джава сабе читал что они (америкосы?) джунов не подпускают к многопоточке мол это слишком сложно и надо пару лет опыта чтобы шарить что к чему, а у нас это будто мастхев. Видимо не врут на ебаном.айти что у нас в Украине аутсорс\аутстаф компании продают 0.5г джуна как 3-4г мидла.
325 2449098
>>49086
А она не устареет после выхода Loom осенью?
326 2449101
>>49092
Это не мастхев. Многие мидлы на спринге не особо шарят в канкурренси.
Это это не просто так, спринг-конфигураторы сами почти не пишут многопоточный код и достаточно редко ковыряются в библиотечной многопоточке.
Просто интервьюер такой задроченный попался. Этот вот любит по многопоточке угарать, другой по полной иерархии io тебя бы вздрючил или еще по чему-небудь.
327 2449110
>>49092
Оффтоп - чё там на украине с рынком айти?
Насколько реально приехать из рф, не щемят? По идее не должны, учитывая кто выгодоприобретатель в ситуации, когда спец перестаёт платить налоги в стране, с которой у тебя война и начинает платить их твоей стране - но мало ли на свете дегенератов.
328 2449140
>>49084

>Есть какой-то норм гайдец по вопросам конкаренси чтобы не тупить?



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

Примерный список действий:

1. Изучаешь книгу с поездами, Java Concurrency in Practice. Особых тонкостей нет, CompletableFuture, ForkJoinPool там не описаны (так как книга вышла намного раньше), но какие-то основы написания многопоточки на джаве ты получишь.

2. Смотришь лекции и семинары Романа Липовского (наверное чуть ли не единственный знающий препод по многопотоку в русскоязычном пространстве, чьи лекции есть в открытом доступе). Наверное это самая важная ступень в изучении конкаренси.

Лекции:
https://www.youtube.com/playlist?list=PL4_hYwCyhAva37lNnoMuBcKRELso5nvBm

Семинары:
https://www.youtube.com/playlist?list=PL4_hYwCyhAvYTxm55RBm_HA5Bq5W1Nv-R

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

https://gitlab.com/Lipovsky/concurrency-course

3. Параллельно (или после) курса Липовского нужно читать многопоточные талмуды. А именно:
- Is Parallel Programming Hard, And, If So, What Can You Do About It?, прекрасная книжка, написана хорошо, есть в открытом доступе по ссылке ниже, либо легко загуглить по запросу perfbook, начни с нее.

https://cdn.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html

- Concurrent and Distributed Computing in Java, неплохая книжка

- The art of multiprocessor programming, наиболее важный многопоточный талмуд из всех, что были когда-либо написаны (ну разве что perfbook сравнится с этой книгой)

Если хотя бы осилишь первые 2 пункта, то будешь знать уже гораздо больше многих других джавистов, сможешь разъебывать чуть ли не любой собес. Если осилишь вообще все, то можешь считать, что ты более-менее что-то понял про конкаренси).
328 2449140
>>49084

>Есть какой-то норм гайдец по вопросам конкаренси чтобы не тупить?



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

Примерный список действий:

1. Изучаешь книгу с поездами, Java Concurrency in Practice. Особых тонкостей нет, CompletableFuture, ForkJoinPool там не описаны (так как книга вышла намного раньше), но какие-то основы написания многопоточки на джаве ты получишь.

2. Смотришь лекции и семинары Романа Липовского (наверное чуть ли не единственный знающий препод по многопотоку в русскоязычном пространстве, чьи лекции есть в открытом доступе). Наверное это самая важная ступень в изучении конкаренси.

Лекции:
https://www.youtube.com/playlist?list=PL4_hYwCyhAva37lNnoMuBcKRELso5nvBm

Семинары:
https://www.youtube.com/playlist?list=PL4_hYwCyhAvYTxm55RBm_HA5Bq5W1Nv-R

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

https://gitlab.com/Lipovsky/concurrency-course

3. Параллельно (или после) курса Липовского нужно читать многопоточные талмуды. А именно:
- Is Parallel Programming Hard, And, If So, What Can You Do About It?, прекрасная книжка, написана хорошо, есть в открытом доступе по ссылке ниже, либо легко загуглить по запросу perfbook, начни с нее.

https://cdn.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html

- Concurrent and Distributed Computing in Java, неплохая книжка

- The art of multiprocessor programming, наиболее важный многопоточный талмуд из всех, что были когда-либо написаны (ну разве что perfbook сравнится с этой книгой)

Если хотя бы осилишь первые 2 пункта, то будешь знать уже гораздо больше многих других джавистов, сможешь разъебывать чуть ли не любой собес. Если осилишь вообще все, то можешь считать, что ты более-менее что-то понял про конкаренси).
329 2449161
>>49008
В общем, надо писать так:
SELECT sum(s.age) from Student s

Полдня убил на эту хрень!
330 2449162
>>49101
я писал многопоточку и latency оптимизации в финтехе, со spring/hibernate почти не работал, в результате постоянно валю вопросы по spring/hibernate потому что эти темы мне не интересны лол
331 2449166
>>49110
ты рофлишь? ебало обоссут, инфа 146%, а потом домой еще не пустят с родителями чай попить. Ты не то время выбрал для переезда вна украину
332 2449169
>>49140
Нахуя это все вкатышу? Он может самые распространённые классы/интерфейсы загуглить и получить короткий ответ в кратком руководстве. Про комплитбл фьюче уж точно инфу найти не проблема, про всякие тредпулы и блокировщики пулов, скедулары инфу на страничку самой базы с небольшим примером найти не составляет труда
333 2449186
>>49166
Хочешь сказать, что хохлы всё-таки суицидальные дегенераты, и предпочтут, чтобы я спонсировал ракеты им на голову?
334 2449188
>>49169

>Нахуя это все вкатышу


Очевидно, чтобы вкатиться в конкаренси. Прочитать про то, что такое CompletableFuture можно из всяких мурзилок, но вот когда дело дойдет до всяких корутин в котлине или виртуальных тредов в будущем, то неплохо уже будет знать, что под капотом происходит. Вангую после выхода в прод Лума на собеседованиях начнут гонять по кишкам шедулера вирутальных тредов, как это сейчас у гошников на собесах происходит.
Ну и как минимум всякие способы общения потоков через те же очереди сообщений (в простейшем случае - блокирующие очереди) это база, это каждый вкатун должен знать.
335 2449190
>>49162
На джаве писали? Это ж какое извращение должно быть. Обычно весь HFT/low latency финтех на плюсах пишется.
336 2449194
>>49169
И да, вкатун (джун/стажер) должен иметь представление о моделях памяти, JMM в случае жабы, понимать зачем оно вообще было придумано и какие проблемы решает. Это может и не везде спрашивают, но для уровня выше джуна мастхев.
337 2449203
>>49194

>JMM


В этом можно увязнуть на год минимум. Там столько тонкостей и не очевидных моментов, которые нужно просто запомнить, т.к. логически до них не додуматься. Т.е. ты как стихотворение должен запомнить несколько десятков крайних случаев как работает модель памяти.
338 2449292
>>49186
они оч эмоциональный и недальновидный народ, сначала стреляют потом целятся. говорю по своему опыту общения и работы с ними. С ними связываться - ошибка, лол.
339 2449296
>>49186

> не пустят с родителями чай попить


это если что про наших, помню когда работал за бугром в епаме, те россияне, кто ездили в коммандировки к харьковской команде, потом попадали на разговор с фсб, сейчас возможно проблем будет больше, поэтому нах надо
340 2449299
>>49190
критичные куски на плюсах, околобизнесовая логика на джаве.
Да, извращение пиздец, проприетарная VM и GC (zing), кодогенерация, и много сомнительных хаков. Уволился и очень рад
341 2449357
>>49296
Че ты врешь это все хохлики
342 2449458
>>49357
мне они не нравятся, с придурью своенравные люди.
винить их во всех бедах человечества при этом не стану
343 2449459
>>49357
и чем тебя удивляет интерес спецслужб к тем кто ездит на территорию враждебного государства? это логично и правильно.
344 2449474
>>49166

> не пустят с родителями чай попить


Можно ж в белоруссии или армении собраться попить чаю.
С другой стороны, если ехать в армению, то нах нужна украха.
345 2449531
>>49474
пока идут боевые дии, редкая глупость туда ехать, с какой стороны не смотри
346 2449562
>>49531
Сво и сосанкции очень хорошо пролило свет на "уезжаторов". Готовы в любую порашу съебать, лишь бы съебать. Эти люди не хотят лучшей жизни на самом деле, они просто психопаты и патологически ненавидят нас с вами, остальных россиянцев.
347 2449571
>>49562
Вообще нихуя подобного, прямо по всем пунктам промах.

>Готовы в любую порашу съебать, лишь бы съебать


"Готов" и "хочу" - разные вещи. Я-то как раз не хочу, но в моей стране решили, что я больше не нужен.

>Эти люди не хотят лучшей жизни на самом деле


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

>ненавидят нас с вами, остальных россиянцев


За что мне тебя ненавидеть? Убеждай себя в этом, если хочешь, но это неправда.
348 2449579
Нужно ли вкатышу вникать в реактивный стек? Или ну его нахуй?
349 2449594
>>49579
двачую вопрос лум же делает реактивные фреймворки ненужными как я понял
350 2449597
Что за особенности хибернейта или spring data jpa? В какую сторону искать?
Делаю мок-тесты на duplicate update (через стандартный save метод), ошибка должна бросаться из БД. Но приходит дефолтный ответ будто всё успешно обновилось, и если затем вызвать любой метод у репозитория, то выбросится ошибка которая должа была быть при обновлении до него: DataIntegrityViolationException: could not execute batch; SQL [update users ... ] nested exception is org.hibernate.exception.ConstraintViolationException: could not execute batch
351 2449598
>>49597
Может проблема в батчсайзе? У тебя этот параметр установлен?
352 2449618
>>49579
Специально учить не обязательно. Там все просто, примерно как в стримАпи, за полгода втянешься.

>>лум


Это джава 23 что ли? На нее еще не скоро перейдут.
На 17 только через год потихоньку начнут перекатываться, да и то не факт - новостей от спринга чет нет нихуя, хотя до релиза казалось бы пару месяцев осталось.
353 2449619
>>49598
Стоит, но дело видимо не в нём. Походу надо разбираться с сессиями хибернейта.
Поставил над тестом @Transactional(propagation = Propagation.NEVER)
Всё заработало как надо.
354 2449622
Как же хочется лум...
355 2449625
Как же хочется пятый спринг...
356 2449626
Как же хочется сдохнуть нахуй...
357 2449644
>>49626
Обычное желание после кода на джаве
358 2449675
>>49626
Обычное желание, когда увидел код на шарпе
359 2449679
>>49618
Перешел месяц назад на 17. Ничего интересного. Рекорды для дтошек и многострочки для квери методов в спринг-дате.
В ноябре 6-ой спринг. В декабре перейду. Там вроде тоже ничего не будет, кроме изменения пакетов валидаторов.
360 2449680
>>49675
>>49626
На пхп просто хочется вернуться таксовать...
361 2449681
>>49679
По-моему там просто поменяли пакеты javaee на jakartaee и заменили несколько енумов классами. Хуйня какая-то, нахуя ради этого цифру поднимать?
362 2449687
>>49681
Ну там вроде 17 минимум. Это главный водораздел.
363 2449689
>>49679
Бля вот никогда не понимал, какая разница, что на последних версиях жабы нового, если 80% сидят на <=11
364 2449690
>>49618

>новостей от спринга чет нет нихуя


На спринг уже забили хуй я щитаю. Раньше они в spring native пытались-пытались, но идея нативной жабы скорее всего сдохла попросту.
365 2449692
>>49687
И нахуя минимумом это делать?
366 2449698
>>49692
Радикальная мера, чтобы заставить всех вылезти из уютненького легаси-болотца "зачем что-то менять, если и так всё работает". В реальности получится как со вторым и третьим питоном, все будут 100500 лет сидеть на пятом спринге.
367 2449748
https://docs.spring.io/spring-kafka/reference/html/#annotation-error-handling
Нахуй нужен весь этот пиздец, когда можно написать try/catch в нужном месте?
368 2449753
>>48953
дак это он и был. И он в итоге оказался рабочим
369 2449761
>>49748
try-catch - это антипаттерн. Нужен исключительно для легаси чекед эксепшенов.
17pWoTBS4eojeppDV99SFRQ[1].png104 Кб, 1400x708
370 2449763
>>49748
Нахуй нужен спринг, если можно и на голом томкате написать?
Там по-русски написано, чтобы двумя-тремя строчками кофигов настроить ретраи и посылку в длт, не засоряя код. А ошибку десериализации ты через try/catch вообще не отловишь. А еррор-хендлер обработает ошибку от десериализатора-делегата. И есть понятное разделение на ретрибл/неретраибл эксепшоны.
Ты хоть представляешь сколько кода тебе придется руками написать, чтобы паттерн с пика руками с try/catch писать? Мейн, два ретрай-топика и длт? Там будут тысячи строк кода-лапши.
https://docs.spring.io/spring-kafka/reference/html/#retry-topic
А тут все решается в сотню строчек конфигов и методов с аннотациями.
371 2449771
>>49761
Хорошо, беру Try-recover монаду из vavr и делаю то же самое.
>>49763

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


Нет. там написано:

>Вот у нас есть такая штука для обработки ошибок


>И еще такая


>Но они обе устарели, так что используйте третью


>Третья была заменена четвертой


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


>И конечно вместо примеров вам ХУЙ


Нахуй мне ретраи, если у меня ошибка - значит все, ошибка, нехуй вола ебать дальше. Выкинь это сообщение из батча и ебашь дальше.
372 2449778
>>49771
Так если тебе нинужна то просто иди нахуй не пользуйся, пользуйся try/catch.
Если тебе нужен пример, то я выше по треду уже скидывал: https://www.youtube.com/watch?v=OnZ7JArSoiU
Да, они поменяли апишку еррор хендлеров и написали об этом в доке. В чем твоя проблема?
Почему я тоже недавно в этой библиотеке разбирался и все понял?
373 2449780
>>49778

>Почему я тоже недавно в этой библиотеке разбирался и все понял?


Ну не знаю, может потому что ты тупой?
374 2449788
>>49780
Эх чел, челик. Как же ты с таким подходом в кишках спринга и хибера разбирался?
375 2449792
>>49788
Смотрел Борисова. А хибер он и нахуй не нужен. Я даже sql уже забыл, вот настолько он мне не нужен на работе.
376 2449794
>>49792
Ну мы хибером тоже не пользуемся. Но что за спринг вакуха, где sql не нужен? У нас несколько nosql, но большая часть баз все равно в реляционках. Это ж не нода какая, где многим не зазорно все в монге хранить.
377 2449801
>>49753
Я хз какие наркоманы делают обратный прокси с внешнего интерфейса на тот же открытый внешний интерфейс, в этом смысла ноль - ты можешь снаружи те же запросы слать на порт приложухи мимо прокси. А общедоступный томкат - мечта кулхацкеров, через пару дней просканируют порт, пошлют какой-нибудь log4shell запрос и добро пожаловать в ботнет.
Обычно проксируют с внешнего интерфейса на локалхост или где там приложение, недоступное по-дефолту снаружи, поднято. Т.е. в твоем случае нужно в конфиге спринга указать 127.0.0.1 как адрес сервера, и на него же изменить прокси_пасс в конфиге ногинска.
Ну или поднимать в докере, там явно указывается какие порты контейнерам разрешено слушать.
378 2449812
>>49794
У нас все в nosql, и да, на монге.
379 2449832
>>49812
Это не очень хорошо говорит о твоей компании.
380 2449870
>>45463
Вот тебе рефералочка https://vdsina.ru/?partner=p6m9pcnd68 можно и в россии и в недерландах захоститься и всё за рубли
381 2449901
>>49679

>>Рекорды


Вот лучше б вообще ничего не делали, чем добавление такого говна. Ломбок все равно в тысячу раз удобнее, так зачем было такие кривые рекорды делать спустя 20лет.
>>49698

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


Так если ничего нового - тем более зачем переходить на новую версию и чинить новые баги? Те же рекорды ломают жука например. А какие-нибудь специфичные легаси либы вообще могут не завестись на новой жабе. Переписывать код ради чего? Чтоб циферку в версии поднять?
382 2449948
>>49901
Каким образом рекорды ломают жука?
383 2450021
>>49948
Компилятор говорит что у вас в проекте есть какой то Record, и он не понимает это рекорд джавы или рекорд жука(из импорта) и не хочет компилировать, пока не перепишешь. Натолкнулся на такое, когда пытался свой проект на жава11 сбилдить 17-м.
Райт ванс ран евривере, но только на той же версии и желательно на той же системе.
384 2450029
>>50021
В итоге же работает? Что там надо переписать? Что-то в мавен-плагине жуковском?
385 2450114
>>49801
Воооот , спасибо за развернутый ответ. Я в управлении серваками ноль полный.
image.png283 Кб, 418x440
386 2450287
Бл, не могу справиться с ебаным докером, пиздос
387 2450357
Я сегодня был на собесе в одной госконторе, но не на разраба. У них там Service Desk веб-приложуха на каком-то айпишнике скорее всего в локалке с портом 8080, это на спринге? Или этот порт еще кто-нибудь может юзать?
388 2450359
>>50357
Нет, только спринг. 8080 - это код для бинов и контекста.
389 2450369
>>50359
А я не знал этого, возьму на вооружение для интервью.
sage 390 2450372
>>50359
Падажжи, а почему тогда можно порт поменять в пропертях? Сажи.
391 2450376
>>50372
Ну потому что все должно быть настраиваемым? В порте по умолчанию 8 - это бин, потому что похоже на кофейное зерно, а 0 - это контекст, потому что он как бы окружает все бины. Почему не 80? Для http как раз будет 80. Для https будет 8080.
sage 392 2450482
>>50376
А для ftp какой будет?
393 2450485
>>43253 (OP)
Блядь, почему Java такой петушиный язык? Я в ахуе.

Мимо JS господь
394 2450486
>>50485
Шарпоблядь плиз.
395 2450493
>>50482
ftp.localhost:80
тупой что ли?
396 2450508
>>50372
Порт нельзя менять, иначе это уже не спринг будет, а какой-то велосипедный веб-фреймворк, например, Spring Framework 8081.
397 2450529
>>50493
ethernet::ipv4::tcp::http://ftp.localhost:80, идиотище
398 2450538
>>50029

>>Что там надо переписать?


надо переписать, чтоб не использовался класс Record<T>. Использовать рекорд2 и еще 18 вариаций или мапить сходу во что то еще. Или писать везде org.jooq.Record.
В принципе реально, но не очень удобно. Спасибо в общем жабе за бесполезный класс создающий сложности на ровном месте.
399 2450551
>>50538
Че ебать?
400 2450563
>>50551
Есть Record и Record. Первый - из java.lang, второй из импорта org.jooq.Record. Пока первого не было - проблем не было. Когда появился - возник конфликт, компилятор больше не понимает какой из них использовать когда видит в коде Record record;
401 2450564
>>50563
Ты че ебанутый? Импорты для кого придумали?
402 2450566
>>50538

>Использовать рекорд2-18


У меня они всегда и использовались. Правда вообще похуй вроде. Перегенерил их и похуй. Или ты руками жуковские классы пишешь?
Хотя я последние 2 месяца в основном nosql пишу.
403 2450571
Бля вы заебали про каких-то жуков постоянно рассказывать, а я не в теме. Что это за параша и чем она лучше хибернейта?
image.png4,1 Мб, 1928x1280
404 2450573
>>50571
Вот эти пацаны.
405 2450575
>>50571
Жук - это билдер запросов, чтобы при проёбе получить ошибку компиляции. Хибернейт со своим HQL высрется только в рантайме.
406 2450576
>>50575
Но есть же критерия и квери дсл, они чем-то хуже жуков?
407 2450577
>>50576
Просто альтернативная технология, если ORM по каким-то причинам нельзя использовать.
sage 408 2450592
>>50485
Патамушта интерпрайз. А вообще хз, язык как язык. Со своими недостатками и достоинствами === ой ой ой блять что мы придумали потому что == занято дебилушкой который за один день наговнокодил нечто
sage 409 2450593
>>50563
Спасибо котлину за import as
410 2450596
>>50592

> === ой ой ой блять что мы придумали потому что == занято дебилушкой который за один день наговнокодил нечто


В те времена в вебе считалось, что лучше уж тихо сломаться и продолжить так работать в сломанном состоянии чем громко упасть с ошибкой, та же хуйня и в пхп. Веб ставил подстраивание под браузер выше надёжности.
dimsaul.png100 Кб, 480x498
411 2450785
>>43253 (OP)
Как научиться готовить микросервисы, если нет 100 баксов в час на услуги самого ДимСоула?
412 2450804
>>50785
Локальные мемы про хуй знает кого.
413 2450808
У меня есть куча текстовых файлов, и если я к каждому из них добавлю точку в конце, то либо навсегда потеряю оригиналы, либо объём данных увеличится в два раза - если не сделаю бекап и если сделаю соответственно. Если я сделаю git init - объём тоже увеличится в два раза, как я понимаю.
Из этого вытекает вопрос - как сделать файл-разницу, применение которого к оригиналу даст измененный файл, а к измененному файлу - даст оригинал? Такие файлы будут мало весить и позволят в любой момент вернуть всё к исходному виду.
414 2450818
>>50808
В баше для этого есть тулзы diff и patch.
415 2450824
>>50818
Похоже, что они есть и в гите и могут применяться вне репозитория. Буду разбираться.
416 2450855
>>50576

Criteria API --- не хуже и не лучше: это просто другое. Это кусок JPA спеки, который дает что-то наподобие SQL диалекта, но не для СУБД с ее базами и таблицами, а для ORMа с его персистенс юнитами и энтитями. Без JPA и ORMа Criteria API неприменим, в то время как JooQ и QueryDSL вполне себе самодостаточны. Близкий аналог Criteria API, с которым можно проводить сравнения --- HQL из хибернейта.
417 2450874
Для тестов которые завязаны на бд надо создавать отдельную бд?
418 2450880
>>50874
В целом --- да. Разворачивают обычно либо оригинальную БД средствами testcontainters (долго-дорого, но близко к прод-окружению), либо используют in-memory H2.
420 2450887
>>50880
>>50882
Спасибо
421 2450888
>>50855
Чем кстати квериДсл хуже жука? Вроде квери дсл имеет интерацию со спринг-датой. А жук - нет. Но жук популярнее.
422 2450978
>>50808
upd Ковыряю git diff.
Как сделать так, чтобы в своей работе он не опирался на переносы строк?
Он очень неэффективен, если этих переносов нет.
Например, если в качестве оригиналов взять два одинаковых текстовых файла с той лишь разницей, что во втором все переносы строк заменены на пробелы, а изменениями для этих файлов будет удаление первых и последних 50 символов, то для файла без переносов патч будет весить в сотни раз больше, чем для того, который с переносами. То есть во втором случае патч будет содержать в себе исходную строку полностью, а то и в двойном экземпляре (если не добавить параметр --word-diff).
423 2450998
>>50804
Это не локальные мемы, это один долбоеб самофорсит.
424 2451143
>>50785
бамп
425 2451155
>>51143
Пиздуй читать книги, сука.
426 2451228
>>43253 (OP)
Почему в Java нет async/await как в С#?
427 2451234
>>51228
Пилят виртуальные треды, чтобы не надо было ебаться с async/await, умный планировщик всё сделает сам.
428 2451246
>>51234
Может ли флоу апи, реактивные стримы, комплитэбл фьюче заменить хотя бы 1/100 того, что предлагает C#?
429 2451248
>>51246
Может даже 114.37/100
431 2451253
>>51251
Там ничего не сказано про виртуальные треды - их в шарпе нет
432 2451254
>>51251
Не нашёл по ссылке сравнений производительности с Java 19+Loom.
433 2451280
Какая версия центоси у вас на работе?
434 2451285
>>51280
Какая нахуй центось, она сдохла давно.
На работе Windows Server какой-то.
435 2451331
>>51251

>говорим про возможности языка


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


.
.
.

>и тут обсирается, пушо жаба выходит быстрее петушарпа

436 2451599
>>51228
Джава расширяется за счёт библиотек, а не за счёт конструкций языка. Сишарп постепенно замусоривается этими конструкциями и превращается в непонятное нагромождение значков.
437 2451651
>>45848
Где ты нашёл инфу по спрингу?
438 2451774
Алгоритм Median of medians, это тоже самое что и поиск среднего арифметического ?
image.png52 Кб, 800x300
439 2451859
Без холивара по типу у кого какие скобки красивее или классы статичнее.
У кого сейчас больше будущего? У котлина или шарпа и главное почему (ваше мнение)?
440 2451878
>>51859

> Котлин vs шарп


> В джавовом треде

441 2451880
>>51878
Что не так?
813341f.jpg294 Кб, 1280x721
442 2451889
>>51859
котлин это больше про андроид, шарп это геймдев и декстоп.
есть еще немного бэкенда, но там жаба сидит и ее не выгнать.
Обе хуйни какие то нишевые в которые так просто сходу не вкатишься на сотыги, но у шарпа все же чуть больше шансов - там хоть за счет легаси можно протянуть.
443 2451890
Я мурзилку читаю, но вычищатель сприга не может решить квадрат должен наследоваться от ректангла или наоборот.
429f9f975b1974b226364f76916b529d.jpg105 Кб, 539x688
444 2452133
Не хочу читать скучные мурзилки, а хочу смотреть весёлые картинки!
445 2452150
>>52133
Только по кафке есть.
https://www.gentlydownthe.stream/
image.png510 Кб, 664x1000
446 2452304
>>52133
Мурзилки не скучные.
447 2452330
>>51599
Между прочим факт, но жаба тоже замусоривается. На самом деле, все возможности жабы после 8 можно заменить какой-нибудь собственной библиотекой.
448 2452333
>>52330
Ну замени.
449 2452339
>>52330

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


С ассемблером тоже так можно. Но это не значит, что нужно.
450 2452376
Назовите джентльменский набор для джава мидла?
451 2452385
>>52376
жаба кор, спринг кор
452 2452388
>>52376
классический секс, куннилингус, минет в презервативе, непрофессиональный массаж, расслабляющий массаж, стриптиз, эротический массаж;
страпон: анальная стимуляция, анальный фистинг вам, перемена ролей;
с/м игры: бандаж, легкая доминация, порка, трамплинг, услуги Госпожи, фетиш;
необычное: глубокий минет, групповой секс, золотой дождь выдача, минет без презерватива, окончание на грудь, ролевые игры, семейная пара, услуги семейной паре;
профессиональный массаж: урологический;
453 2452399
>>52376
По меньшей мере половина технологий, упоминаемых в вакансиях на жаба-бэкендера. Жаба, спринг и SQL само собой, хотя бы один сервер приложений, основы фронта, линукса, девопса и других смежных областей.
454 2452417
>>52376
кафка, спринг клауд, спринг секюрити, хибернейт, касандра, кубернетис (на базовом уровне), умение и понимание многопоточности и асинхронности, базовые навыки архитектуры (построение микросервисной архитектуры)
>>52399

>>Жаба, спринг и SQL само собой, хотя бы один сервер приложений


это набор джуна
455 2452455
>>52376
EJBEnterprise JavaBeans — спецификация технологии серверных компонентов, содержащих бизнес-логику2.13.03.13.23.2
JPAJava Persistence API — управление постоянством и объектно-реляционное отображениеНет1.02.02.12.2
ServletОбслуживание запросов веб-клиентов2.42.53.03.14.0
JSPJavaServer Pages — динамическая генерация веб-страниц на стороне сервера2.02.12.22.32.3
JSTLJavaServer Pages Standard Tag LibraryНет1.21.21.21.2
JSFJavaServer Faces — компонентный серверный фреймворк для разработки веб-приложений на технологии JavaНет1.22.02.22.3
JAX-WSJava API for XML Web Services — создание веб-сервисов1.01.21.22.22.2
JAX-RSJava API for RESTful Web Services — создание RESTful веб-сервисовНетНет1.12.02.1
WebSocketJava API for WebSocketНетНетНет1.01.1
JSON-PJava API for JSON Processing — разбор и генерация JSONНетНетНет1.01.1
JSON-BJava API for JSON Binding — преобразование Java объектов в/из JSONНетНетНетНет1.0
JNDIJava Naming and Directory Interface — служба каталогов1.21.21.21.21.2
JMSJava Message Service — обмен сообщениями1.11.11.12.02.0
JTAJava Transaction API — управление транзакциями1.0.1B1.11.11.21.2
JAASJava Authentication and Authorization Service — Java-реализация PAM1.01.01.0
JavaMailПолучение и отправка электронной почты1.21.41.41.51.6
JACCJava Authorization Contract for Containers1.01.11.11.41.5
JCAJ2EE Connector Architecture1.51.51.61.61.7
JAFJavaBeans Activation Framework1.01.11.11.11.1
StAXStreaming API for XMLНет1.01.01.01.0
CDIContext and Dependency InjectionНетНет1.01.12.0
ValidationBean ValidationНетНет1.01.12.0
SecurityJava EE Security API
456 2452473
Пользовался до недавнего времени плагином Spring Initilializr для коммьюнити версии, но жидбрейнсы решили этот плагин даже не забанить, а сделать его частью платной идеи, что полностью лишает смысла его использовать, потому что в платной версии и так есть такой функционал.
Вот вам наглядный пример истинной сущности жидбрейнсов!
457 2452475
>>52473
Да все знают, что жидбрейны не намного лучше оракла и IBM, но лучше идеи ничего нет, даже при всей её тормознутости и прожорливости.
458 2452482
>>52455
Log4j забыл
459 2452541
>>52473
Тоже бугуртнул с этого. Пользовался ради подсказок в application.yaml. Хорошо, что для этого есть аналогичный плагин.
460 2452602
>>52417
А зачем нужна кассандра(про устройство немного)? Это olap база? У меня на проекте clickhouse есть. Понятно, что это другое семейство nosql, но применение похоже или нет?
Ну и спринг клауд, вот я open feign чуть трогал, ну клиент, теоретически можно наверно config и schema registry затянуть. А остальные части спринг клауда вообще не очень понимаю зачем. Можете пояснить за самые попсовые куски спринг клауда и зачем они нужны?
461 2452637
Запустил свой пет на 2 потоках и он жидко обсерился, вывалив 100500 эксепшнов. Кажется вкат откладывается ещё на год...
462 2452731
>>43253 (OP)
Пару глупых вопросов от вкатуна

- В продакшене ОРМ используют или запросы напрямую? а то в го например все без ОРМ пишут, мбы так везде
- Видел некоторые вакансии где пишут что прод пишется не на самых новых версиях жабы, почему все просто не обновляются? Я такое только в плюсах видел, где челы до сих пор на с++11 сидят или
463 2452733
>>52731

>а то в го например все без ОРМ пишут, мбы так везде


на го долбоебы пишут, так не везде
464 2452747
>>52733
Там дело не столько в долбоёбстве, сколько в женериках (точнее их отсутствии). Ормки на го содержат в себе кучу магии из-за этого.
Если бы го был полноценным языком, то орм бы там использовали не меньше чем в жаве.
465 2452944
>>52747
Нахуй вообще нужен орм, когда от него одни проблемы? Только мозгоебли добавляет.
466 2452954
>>51859
У джавы.
467 2452958
>>52944
Пушо долбоебы. Надо юзать паттерн sql-speaking objects.
468 2452961
>>52637
Ты поди глобальные переменные юзал, лол.
1662147185212.jpg168 Кб, 580x1024
469 2453110
Здравствуйте. Подскажите пожалуйста по одному вопросу: были ли на вашей практике примеры, когда человек без опыта и в возрасте подходящем к 30 начал карьеру джава разработчика?

Я просто под гнетом обстоятельств решил сферу деятельности поменять, ну и спустя месяц мытарств пришел к выводу, что наиболее реальный вариант сейчас это 1с. Но мне до ужаса не хочется туда лезть, ибо бухгалтерия не мое. Хочу в мобильную разработку или что-то подобное. Но в нынешних условиях необходимую базу я смогу только к предпенсионному возрасту освоить. Поэтому сейчас в раздумьях. Или может что-то близкое к интересующему профилю выбрать? Но без особых требований, дабы хоть какой-то релевантный опыт наработать на момент обучения.
470 2453116
>>53110

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


Да

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


Где связь? Ты собираешься бухгалтером стать?

>Или может что-то близкое к интересующему профилю выбрать?


В смысле? Например?
471 2453133
>>53116

> Где связь? Ты собираешься бухгалтером стать?


Он же написал про 1с перед этим

>>53110

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


Как будто бывают жабисты младше 40
472 2453135
>>53110
В 30 вкатился с эконом вышкой в спринг.
Но кроме меня все джуны-джависты - зумерки.
В конторе есть и 1сники - там вкатунцов 30-летних еще больше, питонисты - там все молодые, тимлид младше меня, ну и фронт - там примерно, как у нас.
Мобилка, насколько я знаю тоже модно-молодежная.
Но в принципе, если возьмут - эйджизма не так чтобы вообще много было(по моему опыту и еще 2 знакомых вкатунцов).
В принципе в бек/фронт/мобилки можно вполне до 40 лет вскочить, было бы желание. Ну и после начала спецоперации конкуренция за места для вкатунцов усилилась раза в 2 точно, может больше.
473 2453137
Сап аноны, треда по девопсам не нашёл, поэтому хочу спросить здесь.
Насчёт Docker и не только.

К примеру у нас есть Спринг приложение, которое крутится на одной машине. Затем мы подключаем ещё одну машинку, разворачиваем на ней тот же Спринг. Каким образом синхронизировать данные между разными машинами? Как это делается в принципе. По простому говоря, как масштабируется инфраструктура, когда мы имеем дело с реальными, не облачными железками.
Ну и в заключении, где в этой конструкции помогает Докер?
Сорри, если пишу глупости.
Если кто-то объяснит, будет очень круто.
474 2453141
>>50573
У меня похожий жук откис на балконе недавно. Жаль его. Красивый был, красиво жил.
475 2453142
>>53137
С помощью докера ты можешь на одной машине развернуть несколько сервисов, например 10.
А с помощью кубера ты можешь на нескольких машинах, скажем на 5 развернуть несколько сервисов, например 10, у которых могут быть несколько инстансов, например от 1 до 3.
Данные никак не синхронизировать, приложения должны быть стейтлесс(именно поэтому можно делать несколько инстансов). Все состояние на фронте или в базах. У каждого сервиса своя база.
Общаются сервисы между собой чаще всего по ресту, через брокеры сообщений или grpc. Есть еще десяток менее популярных способов.
Я сам джун, поправляйте меня давайте, если я в чем-то не прав.
476 2453148
>>53137

>Каким образом синхронизировать данные между разными машинами?


Hazelcast, Redis, Zookeeper
477 2453160
>>53142
Какой ты джун, судя по тому, что написал, ты даже не стажер
478 2453166
Можно ли настроить какой-нибудь линтер на проверку путей в RequestMapping аннотациях и на формат ответов?
479 2453197
>>43253 (OP)
Кто-нибудь сможет пояснить зачем избавляться от null?
Все предлагаемые "недорешения" требуют все тех же проверок, самое шикарное с рантаймэксепшеном которое наверн надо ловить и обрабатывать?, эти решения лишены смысла и требуют ебейшего оверхеда.
Зачем тогда нести всю эту хуйню, если они скорее всего юзают либы, юзающие налы, даже в стандартной библиотеке они есть
481 2453226
>>53197
Избавляться не нужно, нужно ставить аннотацию @Nullable в случае, если метод может в принципе вернуть null. Либо @NotNull, если метод гарантированно при любых обстоятельствах вернёт не нулл. Сразу же всем дегенератам, что высрутся аля "по ко-ко-контракту @Nullable ставится только тогда, когда предсказать нельзя" ссу в рот, в таком случае смысл аннотации теряется.

мимо лид
482 2453227
>>53197
Если вкратце - джава не любит нулл и падает если он внезапно всплывает в рантайме. Чтоб не писать проверки if (op != null && op.hui != null) для каждого аргумента - делают нул сейф апи, придумывают опшиналы и прочее говно. Полностью это проблему все равно не решит, но боли немного уменьшит.

>>даже в стандартной библиотеке они есть


Это ж легаси. 20 лет назад считалось нормальным модифицировать входящие данные, делать кучу войд методов, возвращать нулл. Сейчас стараются не использовать эти методы.
483 2453228
>>53227

>но боли немного уменьшит.


Нихуя оно не уменьшает. Только добавляет и производительность херит.
484 2453229
>>53228
Какая еще производительность? Один запрос в базу длится вечность по сравнению с этими опшиналами, стримами и прочими монофлаксами с десятком проксей.
485 2453230
>>53229
Это реального процессорного времени не тратит, поток просто ждёт. А эксепшены и создание объектов напрямую обрабатывается процессором, вытесняя другие задачи.
486 2453237
>>53230
То ли дело NPE, они же бесплатно из воздуха спавнятся, не тратя перформанс, да.
487 2453265
>>53237
if (concha == null) {
return null;
}

А где нибудь наверху

if (govno == null) {
user.error(Error.of(ErrorTemplate.INCORRECT_INSERT));
[
488 2453303
>>53133

>Он же написал про 1с перед этим


И где связь? На 1с доля бухгалтерских проектов такая же, как на любом тырпрайз языке, проще говоря - вероятность в 1с попасть на бухгалтерию такая же, как в джаве.
489 2453312
>>53237
Во всех современных JVM NPE отдельно заоптимизировано,
например к нему не цепляется стек.
Можно кидать NPE хоть с частотой в 10 килогерц без потери производительности
490 2453365
>>53312
оптимизация кода через NPE driven development
491 2453472
>>53265
Ну и чем это отличается от return Optional.empty? Учитывая, что под капотом пустой опшионал не создается, это статик синглтон.
492 2453497
>>53216
Ну я даже посмотрел
Да, я согласен, что если есть возможность вернуть дефолтное значение- возвращай (типа пустую строку вместо null), если это не противоречит логике
Если метод возвращает контейнер с элементами - то если элементов нет пусть возвращает пустой контейнер но не плодить контейнеры ради контейнеров, как сделали с Optional
Да логику кодировать nullом плохо- есть enum

Пункты выше как бы и любители null выполняли и выполняют, это не фичи null-free дегенератов

Не надо сравнивать на null- шизоидная хуйня, какая разница кроме потери производительности буду ли я сравнивать на null, проверять присутствует ли Optional, или вообще ловить RuntimeException тут уже скорее assertы должны стоять, если null- нарушение логики , и мест где надо делать эти проверки не уменьшится
Возвращать незаполненный объект это тоже шиза, super slow fail какой-то

Крч как по мне этот чел тоже не понимает что несет, просто ссылается на больших авторитетов как и другие статьи про null-free
В чем я не прав?
493 2453500
>>53497
В том, что ты сказал тоже самое, что и чел с видео.
494 2453527
>>53500
он говорит возвращать нецелый объект, обмазаться Optional, кидать эксепшены даже для бизнес логики и никогда не юзать null,а еще он настолько неграмотен, что не понимает что null это отсутствие объекта и что он привязан к реальному миру типа пошел в магаз за молоком, молока нету, принес домой null молока
495 2453528
>>53116

> В смысле? Например?


Тестирование, техподдержка, что-то где хоть немного знание языка можно применить.

>>53135
Спасибо за развернутый ответ, анон. А вообще в целом много времени ушло на обучение и поиск первой работы?

>>53303
Не знаю как много ее в реальной работе, но в гайде рекомендовали как минимум прочитать книгу по бухгалтерскому учёту. Вот поэтому и решил.
496 2453533
>>53497

>>Да логику кодировать nullом плохо- есть enum


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

>>плодить контейнеры ради контейнеров, как сделали с Optional


>>как по мне этот чел тоже не понимает что несет, просто ссылается на больших авторитетов



var op = repo.get(id).orElseThrow(new UserException())

var op = Optional.ofNullable(repo.get(id)).orElseThrow(new UserException())

var op = repo.get(id)
if (op == null) {
throw new UserException()
}

в первом случае тебя компилятор заставит это написать, иначе хуй че получишь, а во 2 и 3 ты можешь забыть о проверке и словишь НПЕ (может через полгода, когда это выстрелит)
497 2453546
>>53527
Он говорит возвращать не нецелый объект, а дефолтный - это раз. В ООП оперируют объектами и объекта null не существует - это два. Когда ты приходишь домой без молока, ты приходишь с коллекцией покупок, среди которых нет молока, а если в коллекции нет вообще ничего, то ты приходишь, что называется, "с пустыми руками" - это три.
498 2453566
Кстати, именно поэтому святой Бугаенко рекомендует возвращать результат помещая в коллекцию - если коллекция пуста, то и обрабатывать нечего.
499 2453578
>>53566
Этот уебок на питоне втихую пишет штоле сука
500 2453582
>>53528

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


До первой - полтора года на чиле, мне было спешить некуда и я больше боялся, что мне обучение наскучит, чем не вкатиться.
Но там была совсем мелкая помойка, где я должен был быть 4ым прогером, я меньше месяца там отсидел и еще через два месяца поисков вкатился в текущую маленькую галеру(джавистов - около 10 человек, из которых половина джуны, нанятые вместе со мной).
501 2453594
>>53546

>дефолтный


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

>Когда ты приходишь домой без молока, ты приходишь с коллекцией покупок, среди которых нет молока, а если в коллекции нет вообще ничего, то ты приходишь, что называется, "с пустыми руками"


но он говорит нести пустой пакет, вместо ничего, причем пакет предназначеный только для хранения молока (Optional)

>В ООП оперируют объектами и объекта null не существует


если объекта не существует- это null, я так понимаю в джаве неправильный ооп, покажите мне правильный в котором нет null

>>53566
ну хз, если метод должен вернуть либо null либо 1 объект, то уж лучше optional, так хотя бы понятно, что человек всего лишь null проверить не может, а не гадать схера тут коллекция
502 2453606
У кого из российского крупняка есть современная джава 11/17, микросервисы и спринг бут 2+?
503 2453612
Ребята, а ну давайте быстренько распишите мне алгоритм быстрых переобразований фурье.
504 2453632
>>53594

>покажи пример который абсолютно безвреден, что такое дефолтный объект, у него поля заполнены, если да, то чем nullами?


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

>но он говорит нести пустой пакет, вместо ничего, причем пакет предназначеный только для хранения молока (Optional)


Ну неси, в чем проблема?

>если объекта не существует- это null, я так понимаю в джаве неправильный ооп, покажите мне правильный в котором нет null


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

>ну хз, если метод должен вернуть либо null либо 1 объект, то уж лучше optional, так хотя бы понятно, что человек всего лишь null проверить не может, а не гадать схера тут коллекция


Optional требует соответствующего отношения с проверками и так далее, в то время как с коллекцией никаких проверок не нужно. Да, возвращаемый тип может смутить, но это с непривычки.
505 2453657
>>53606
У нас.
506 2453669
>>53657
Вот я посмотрел вакансии, и типа не то чтобы прям крупняк, но я слышал эти названия. Вакансии без упоминания 8 - сбер, почтабанк, россгосстрах, киви.
С 8-17 - мтс, тинькофф, совкомбанк.
Ну и еще пара сотен вакансий от нонеймов.
507 2453678
>>53612
это тебе в ньюфаг-тред - им делать нехуй, они любят литкод дрочить
508 2453780
Какой был ваш первый петпроект? Да и вообще, каким он должен быть, дабы было не стыдно показать на собеседовании?
509 2453806
>>53606
Да почти в любом крупном месте, где джаву используют.
510 2453831
>>53632

>Если я попрошу у тебя яблоко, а у тебя его нет, то ты дашь мне ничего, а не null яблоко


Ничего это null и есть

>а не null яблоко


А нул-яблоко это как раз "дефолтный объект"
511 2453841
>>53780
Двачую вопрос, в идеале бы еще ссылку на репозиторий, чтоб можно было со своим говнокрудом сравнить и оценить насколько парашный код я сейчас пишу
512 2453847
>>53831
Ничего - это ничего, а null - это null. У них есть сходство, но они не тождественны.
513 2453858
>>53780
Клон данбуры сделал (спринг + таймлиф).

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

Я его писал в первую очередь, чтоб руку набить на крудах, а не для показа. Так то наверное надо было в докер запаковать, тестовые данные накидать или на хероку поднять.
514 2453863
>>53858

> Клон данбуры сделал (спринг + таймлиф).


Это что такое?
515 2453874
Есть кто вкатившийся после питона/перла/сипипи? Насколько сложно? Хочу не для смены стека, а для себя поучить язык, да проекты поделать
516 2453876
>>53858

>данбуры


Что это? Из гугла понял только то, что это как-то связано с аниме
517 2453879
>>53863

>>анимешная борда для девочек


>>не знает данбуры


ты тут недавно?

https://danbooru.donmai.us/

Естественно я не объяснял откуда идею и дизайн дернул, просто галерея для картинок.
518 2453896
>>53879
А для мальчиков можно что-нибудь сделать?
519 2453899
>>53879
И что тебе говорили, когда ты показывал людям галерею с девчачьями мультиками? Какие эмоции были на лицах?
520 2453900
>>53899
Что они, порнуху никогда не видели что ли
521 2453906
По работе мучу с джавой, в свободное время планирую отдыхать, поперживая код чисто для себя на го. Какова вероятность, что все эти знания выльются в дикую кашообразную мешанину?
522 2453925
>>53899
Я ж туда обычные картинки закидывал с обычными тегами, про аниме ни слова. На уровне кода - обычный круд (кроме отсылки в названии проекта, но ее поймет только тот кто в теме)
То есть с виду это обычная галерея для картинок.
523 2453933
>>53847
Какое понятие в джаве тордественно понятию "ничего"? Как вернуть из метода ничего?
524 2453937
>>53933
void ебать
525 2453938
>>53933
Ну кстати есть же Void. Его нельзя инстанцировать, только разве что нуллом, лол.
Вот можно возвращать ссылку на нулл типа Void.
526 2453982
Так я не понял блять, тут только два пути чтоли? или спринг или котлин?

Вы чем занимаетесь?
527 2453991
>>53982
Ещё ML
528 2453994
>>53982
Можно на котлине со спрингом писать. Многие так делают на самом деле.
А так да, либо java/kotlin backend, либо kotlin android. Этот тред про джаву бекенд.

>>53982

>Вы чем занимаетесь


Крудами на спринге. А вообще в этом итт треде был чел, который свою игруху пилил на lwjgl
529 2453995
>>53982
swing, легаси
530 2454095
>>53991
>>53994
>>53995
А почему вы собственно сделали свой выбор в пользу джавы? На чем основывался выбор? Или это было спонтанное решение?

Я вот просто сейчас думаю и пока единственным плюсом могу только количество вакансий выделить.
531 2454146
>>54095
1. Мне понравились языки со статической типизацией больше чем, с динамической.
2. Меня заинтересовал бекенд намного сильнее, чем фронтенд.
3. У джава-спринг было много вакансий и хороший коэффициент вакансии/резюме на хх.ру.
532 2454156
>>53937
>>53938
Это ты всегда из метода возвращать его будешь. А если метод должен вернуть объект, но он может этот объект не найти или не смочь создать?
533 2454160
>>54156

>но он может этот объект не найти или не смочь создать


Ну то есть тут есть две опции: либо объект есть, либо нет. Хуй знает даже. Вот бы был в джаве тип для опциональных объектов.
534 2454179
>>53982
Спринг с котлином.
>>54095
Да, зарплата и количество вакансий. Я ненавижу жабу и вкатился исключительно ради деняк, мечтаю о C++.
535 2454203
>>53472
Тем, что это лишняя сущность. Это контринтуитивно и добавляет бойлерплейт код.
536 2454209
>>54095
Майнкрафт
537 2454223
>>54203
Добавлю, что нулл тоже не особо интуитивен, самое правильное решение - эксепшен. Однако, эксепшены, хоть и максимально интутивны, имеют следующие недостатки:

- Непозволительно руинят перформанс
- Добавляют бойлерплейт код
- Делают код некрасивым лапшеподобным
- Усложняют процесс создания декларативных API (null легче спрятать за декларативщиной и забыть о его существовании)

Как аналог эксепшенов назову паттерн матчинг вместе с силед интерфейсами из жабы 19. Производительность херится уже меньше, но зато точно также 100%-но интуитивно и расширяемо, больше располагает к декларации кода.
go.png205 Кб, 1717x1674
538 2454264
>>54223

>>самое правильное решение - эксепшен


Запрашиваешь сущность - получаешь эксепшен. Теперь вместо разворачивания опшионала надо трай-кетч писать на каждый пук.
539 2454313
>>54264
Я же говорю, проблема этого в бойлерплейте.
540 2454392
>>54160
Т.е. либо объект, либо отсутствие объекта, оно же нулл.
541 2454427
>>54392
Ну да, Optional это обертка над Object?, че сказать-то хотел?
542 2454478
Бля, а кто - нибудь может объяснить, почему WebFlux так мало упоминается? Это ж реактивщина, без реактивщины ни один нормальный проект не сделать на голом мвс дате и прочем кале не многопоточном. Бля пиздец без WebFlux никуда, без рофлов абсолютно любая высоконагруженная система уровня чуть выше "пет проект туду лист"
543 2454487
>>54478
Реактивщина нужна только там, где реально много блокирующего IO. Обычно хватает создать пул тредов побольше (опционально поднять несколько инстансов приложухи), каждый запрос будет выполняться в отдельном треде, а при блокировке треда системный планировщик тупо переключит контекст на другой тред, пока у заблокированного не отработает IO, чтобы ядро не простаивало. Тот же асинк, но средствами ОС, разве что системные треды более прожорливые и при нагрузках требуют пристально следить за их количеством.
544 2454499
>>54487
Звучит как васянский костыльный пиздец. В любом приличном сервисе, где возможны тыщу запросов в момент времени на взять сохранить нужна асинхронщина. Но зачем делать каждый метод, обрабатывающий запрос, асинкнутым, если есть реактивщина? Нахуй эти костыли хуячить я так и не понял, если уже все готово, цивильно, по-европейски.
Каков вообще процент реактивщины в новых проектах в тырпрайзе?
545 2454536
>>54203

>лишняя сущность


>контринтуитивно


>добавляет бойлерплейт код


Все три пункта - вкусовщина. Еще про таяние ледников от лишних тактов пожалуйся.
546 2454538
>>54536
Сразу инб4 вангую записывание всех несогласных в опшианальники. Юзайте нуллы на здоровье, только не надо тут выдумывать всякую чушь, прикрытую модными словами, чтобы изобразить какое-то преимущество у святыни твоей секты там, где его нет.
547 2454573
>>53933
Пустой контейнер, тот же Optional.

>>54392
Нет.
548 2454585
>>54095
Любовь с 1 взгляда.
549 2454611
>>54478
В вакансии на мою текущую позицию тоже вебфлакс не упоминался. Уже на собесе мне предложили на выбор 2 стула - реактивщина с вефлаксом или бигдата с хадупом.
550 2454708
>>54427
Нул это отсутствие объекта
551 2454725
>>54708
Нул это указатель на ничего.
552 2454768
Я буду учить Java
553 2454835

> if (value instanceof String valueAsString) { ... }



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

Анончики, а ещё, я тут недавно только про Java 11 слышал, а тут теперь уже 17! Они решили каждый день новую версию выкатывать?

Что-то прям попахивает каким-то си плюс плюсом, где наваливают всего и как попало в язык.
554 2454841
>>54725
А ничего это когда объекта нет
555 2454860
>>54835

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


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

> Анончики, а ещё, я тут недавно только про Java 11 слышал, а тут теперь уже 17! Они решили каждый день новую версию выкатывать?


> Что-то прям попахивает каким-то си плюс плюсом, где наваливают всего и как попало в язык.


Версии поднимают быстро, но фич добавляют мало. Много фич касается не синтаксиса, а кишок JVM.
556 2454866
>>54835
Сам-то как думаешь, почему сделали именно так, а не как в котлине?
557 2454867
>>54841
нет еблан
558 2454871
Оказывается синтаксиси ${foo} в спринге и шаблонизаторах взяли из bash
559 2454873
>>54835

>>про Java 11 слышал, а тут теперь уже 17!


Погнались за модой с релизом новой версии каждые полгода. Но за полгода нихуя не успеешь, поэтому вместо больших фич стали выкатывать сахарные микрофичи.
За 6 версий нихуя не изменилось. Лум хорошо если в 23 выйдет, вальхала вообще хуй знает когда.
560 2454880
>>54871
Надо было %foo% из cmd.
561 2454882
>>54871
похую
562 2454883
>>54873

>За 6 версий нихуя не изменилось


Как это ничего, а как же слом обратной совместимости?
563 2454886
>>54880
в цикле
564 2454901
В spring security есть встроенная реализация JWT? Вообще на работе в реальных проектах используют какой способ аутентификации? JWT надо уметь реализовать самому? Или есть готовые решения в spring security?
565 2454955
>>54901
Встроенной нет, надо писать фильтр, пишется несложно.

> Вообще на работе в реальных проектах используют какой способ аутентификации?


Используют ВСЕ способы, от JWT до негуглящихся проприетарных IBM-овских решений.
566 2454965
>>54955
Спасибо. Реализаций много находил, но они почти все через WebSecurityConfigurerAdapter, а он вроде как deprecated. Попробую переделать без него. Просто вот тут https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter в комментариях один хуеплет написал, что есть built in JWT в spring security аж с 2017 года. А я в документации ничего найти не могу. По JWT находит только OAuth2 JWT. Может это он про него?
567 2454991
Как найти тян программистку? Разительно ли они отличаются от тупых пезд дефолт мокрощелок?
568 2454994
>>54991
Нахуй ты в джава треде спрашиваешь? Мы пидорасы.
569 2455054
>>54994
А ты няшный?)
570 2455093
>>43253 (OP)
Какого хуя методы toString Equals Clone HashCode находятся в Object, а не в интерфейсах?
571 2455098
>>55093
Вспять совместность
572 2455099
>>55054
Нет, я скуфидон обыкновенный.
573 2455131
>>55098
Ты про что?
574 2455164
>>55093
В каких? "Objectable"? Эти методы - по логике свойство объекта.
575 2455165
>>55131
Наследство древних. Духовные скрепы, на них все держится.
576 2455167
>>55164
А про wait() / notifyAll() тоже скажешь что это естественное свойство любого объекта?
577 2455170
>>55167
>>55165
Че придуриваешься-то?
578 2455180
>>55167
Нет. Но речь не о wait() / notifyAll(), а о

>toString Equals Clone HashCode

579 2455183
>>55180
Ну так причина по которой эти методы оказались в Object одна и та же ведь.
580 2455187
Почему в контекстном меню не появляется создать класс? Вроде sdk поставил, а все никак.
581 2455188
>>55183
toString Equals Clone HashCode оказались в объекте в том числе потому, что это свойства объекта. Про wait() / notifyAll() не могу дать однозначного ответа.
image.png19 Кб, 820x160
582 2455194
>>55188
Это вопрос идеологии.
Как миниумум про hashCode() можно сказать что это не свойство объекта, а свойство контейнера которому этот хэш зачем-то нужен.
583 2455204
>>55187
Удалите пост, анулируйте
584 2455216
>>55164
Clonable
Hashable
StingConvertable/...
585 2455235
>>54536
Нихуя ж себе, оказывается все принципы чистого кода - вкусовщина.
586 2455238
>>54873

>За 6 версий нихуя не изменилось


95% разрабов джавы надо просто уволить нахуй за андерперформ и заменить нормальными кодерами. Тогда лум за недельку сделают.
587 2455249
>>55216
Правильно, но вот СтрингКонвертейбл не нужен, пусть оно будет как магия, чтобы сохранять возможность делать sout("debug value = "+object);
588 2455269
>>55093
Нужна дефолтная реализация. Интерфейсы в то время так не умели.
589 2455272
>>55093
Потому, что если они в Object, то это лучше, чем интерфейсы.
Это значит, что любой объект их реализует, без каких либо исключений.
Вдумайся в это как следует.
590 2455273
>>55272
а зачем их всем реализовывать?
зачем мне нужен метод Equals который сравнивает с обьектом, вместо того чтобы сравнивать со своим типом
591 2455276
>>55273
Ну вот например есть у тебя тип Квадрат и тип Прямоугольник. Иногда прямоугольник и квадрат могут быть равны а иногда нет.
592 2455280
>>55276
Если я захочу сравнивать их, то скорее всего за этим будет другая логика и логично будет вынести это в отдельны метод, ане в Equals
Либо реализовывать Equalable<Self> Equalable<Square>
593 2455332
>>55280
Ну так делай по-своему, выноси и т.п., тебе никто не запрещает.
Правда, не совсем понятно, зачем в отдельный метод, и почему бы потом не вызывать этот отдельный метод из equals(). Или тебе просто слово equals() не нравится?

Кстати, помни, что такие вещи должны быть хоть как-то оправданы, и не должны быть похожи на изобретение велосипеда.

Также, полезно помнить equals() и hashCode() используются в HashMap и т.п. объектах и методах стандартной библиотеки, и должны реализовываться всеми объектами. И это, кстати, может дать нехилый профит и для твоих кастомных объектов, для которых ты, скорее всего, будешь использовать стандартные структуры данных.

В общем, я же сказал - вдумайся в это как следует.
594 2455356
>>55216

>StingConvertable


Serializable, никак вы блядь, не научитесь.
595 2455366
>>55356
toStringable
596 2455373
>>55356
Ты удивишься, но StringConvertable и Serializable - это таки немножко разные вещи.
StringConvertable - это в свифте у эплоблядей, погугли.
597 2455379
>>55235
Принципы - нет. Твой детектор нарушения этих принципов - да.
Куча людей использует эти "лишние сущности" и ничего, как-то живут, код работает. А значит, либо принцип бесполезный, либо ты его пытаешься натянуть на глобус, где от него нет толка. И что-то мне подсказывает, что с принципом все ок.
598 2455383
>>55373
Падажжи, если кто-то назвал неправильно где-то там, то я должен это смиренно принять и называть так же? А как же тот факт, что я личность нахуй и я так считаю верным?
599 2455393
>>55235
Ну и отдельный хохотач, конечно, тот факт, что узнав про эти принципы, ты их начал применять не к каким-то сущностям из бизнес-модели, а к сраному опшионалу из стандартной либы.
600 2455394
>>55383
Тут ещё полезно понимать, что сериализация - она не всегда в строку.
Хотя, миллениалам в это может быть трудно поверить, лол.
601 2455406
>>55383

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


Да.

> А как же тот факт, что я личность нахуй


Ты не личность, а винтик в системе. Чтобы стать личностью, ты должен как минимум создать свой язык программирования, причём не в стол, а успешный.
602 2455449
>>55394
Я знаю, но в джаве таких кейсов нет. В джаве сериализация - всегда в строку. У кого не в строку, тот пускай и дрочится с названиями.
603 2455450
>>55406
Не угадал, я уже личность, а вот ты нет, потому что ты по своим же критериям не прошёл а мне по твоим проходить не нужно.
604 2455456
>>55450
Речь о тебе, и ты не прошёл.
605 2455458
>>55449
ObjectOutputStream
606 2455461
>>55456
Не надо так крепко держать меня в курсе касательно прохождения твоих манякритериев.
607 2455462
>>55461
А ты не рвись так сильно из-за того, что не угадал с выбором языка.
608 2455463
>>55462
А когда речь шла про выбор языка?
609 2455871
Сап, в общем я Manual QA, хочу вкатится в автоматизацию на JAVA. Можете накидать за щеку советов с чего начать вкат и где искать инфу? С меня нихуя, спасибо
610 2455882
>>55093

Не слушай долбоебов, защищающих этот пиздец. Это чето сродни сонибойству. Вроде бы давно все сошлись на том, что делать эту троицу частью контракта самого базового класса было ошибкой, что не для всех классов констрейны equalsа применимы, из-за чего словить мемори лик в хешмапе из-за неправильного типа ключа --- плевое дело, что хешы и логика равенства для одного и того же объекта могут считаться по разному взависимости от контекста употребления (привет, ОРМы). В языках поновее такой хуйни уже давно не практикуется. Но все равно находятся упоротые личности, защищающие это.

Правильный ответ здесь только один --- так вышло. Когда то давным давно они были частью контракта. А сейчас их не выпилить не сломав всем обратную совместимость. А жаль. Было бы клево их дропнуть.
611 2455961
1. Подтягиваю тестирование
2. Устраиваюсь за копейки тестировать хуйню
3. Параллельно изучаю джаву
4. Пытаюсь применить знания на практике и ищу работу/стажировку по джаве

Как вам план? Изначально была мысль сократить все до трех пунктов, но боюсь, что на обычной работе я буду очень медленно продвигаться.
612 2455973
>>55961
Посмотри сколько вакансий тестировщиков и сколько спринг-конфигураторов. Тестировщики при сокращениях идут на мороз первыми.
613 2455986
>>55973
Это понятно, просто тестирование как трамплин рассматриваю и более или менее релевантный опыт. Неизвестно сколько времени у меня уйдет на прямое и целенаправленное вкатывание.
614 2455993
>>55986
Если это совсем говно-тестер-ручник, для вката в которого не нужно вообще ничего, то с чего бы там был какой то релевантный опыт для джависта?
А так был знакомый тестер-автоматизатор с большим опытом из большой галеры. Ну и вот вкат в спринг у него совсем немало времени занял.
615 2456025
>>55986

> тестирование как трамплин рассматриваю


Нет, тестирование - это путь в один конец. Примерно как 1С.
616 2456028
>>56025

>Примерно как 1С


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

мимо гофер год стажа в 1с
617 2456031
Вот вкатываешься в тестирование, и всё, обратно уже никак.
618 2456095
>>56025

Хуйня. Из всех экс-тестировщиков, даже мануальных, на моей памяти 10летнего стажа выходили весьма годные девелоперы. С их тестерским опытом они лажали статистически реже прочих. "Путь в один конец" --- скорее всего стереотип каких нибудь снобов-анальников.
619 2456196
>>56028

>мимо гофер год стажа в 1с



Теперь я понял, кто это в го-треде не стерпел, лол.

Кстати, ты в 1С после го пошёл или до?
620 2456222
>>56196
Я знаю, что это подъёбка, но до.
621 2456253
Напишите плз джентльменский набор вкатыша в нынешних реалиях, чтоб как можно быстрее получилось залететь на первую галеру жабиста, а не сидеть потом на минус морали пару месяцев без приглашений на собесы
Сейчас могу сделать рест на спринг буте, прикрутить ликвибэйз, раздать пермишены, но пока еще не разбирался с jwt и oauth2, могу залить все это в докер самым дефолтным способом
622 2456269
>>56253
Да то же, что и до февраля требовали в вакансиях, но шансов меньше, соответственно, дрочить всё надо тщательнее. Больше не побрезговать позициями с легаси или требованием знать фронтенд, а также таки придётся выучить алгоритмы/структуры данных. Сейчас примерно как в начале 10-х годов, когда ещё не все пизданулись с вкатом в айти.
623 2456275
Расскажите про устройство в сбер. Какие алгоритмы спрашивают, как глубоко нужно знать. Какие-нибудь графы за пределами dfs/bfs, верчения деревьев, дейкстру, A-star, динамическое программирование - это все нужно или лучше сосредоточиться на спринге, хибере и sql? Я говорю про стажировку ну или джуна в крайнем случае.
624 2456280
>>56275
Сбер большой, у всех команд разные требования, единого стандарта нет. В большинстве случаев хватит спринга/sql ну и мочь объяснить, почему у пузырьковой сортировки O(n^2).
625 2456289
>>56269
Нет, ну ты же сам пишешь, что шансов сейчас меньше, значит, чтобы выравнять их - нужно выглядеть более сильным кандидатом на фоне других вкатышей. Вот мне и интересно, с каким стеком технологий/умений у меня бы точно не возникло никаких проблем
626 2456294
>>56289
Ну я и говорю, что стек тот же, но знать его надо лучше. Ты и так выглядишь более сильным кандидатом, судя по упоминанию liquibase и jwt, большинство вкатышей слыхом не слыхали про миграции и авторизацию не через традиционные сессии.
627 2456343
>>56222
Это хорошо.
А кроме 1С у тебя какой-то опыт разработки был?
Не обязательно за деньги, возможно, что-то для себя?
628 2456344
>>56269

>Сейчас примерно как в начале 10-х годов, когда ещё не все пизданулись с вкатом в айти.



С чем это связано, по твоему?
629 2456382
>>56344
Кризис на российском рынке IT, вызванный всем известными событиями. Напрямую российского энтерпрайза это не коснулось, т.к. это не аутсорс, а собственные проекты, но из-за ухода иностранных вендоров и вынужденного закрытия побочных проектов не связанных с основным бизнесом, многим пришлось сильно урезать бюджеты, как следствие, закрыть много вакансий и снизить планы по денежной мотивации работников. Хз, это одна из причин, я не дохуя аналитик рынка, вот в МВП-треде, наверное, уже обсосали все возможные варианты. Впрочем, в других отраслях всё ещё хуже, так что вкатыши в айти пока не сильно задумываются о том, чтобы выбрать что-то ещё, и, действительно, это не совсем 10-е годы, ситуация несколько иная.
630 2456388
>>56343
Был опыт разработки очка
631 2456509
>>56388
твоего
632 2456520
>>56382
Я вот этого не понимаю, все же ноют про отсутствие айтишников, были новости, что хотят со школьного возраста начинать вкатывать, ввести льготы на обучение. Сейчас уже успели сделать ипотеку и отсрочку как минимум из того, что я знаю. И вроде бы все говорит о том, что с вакансиями все должно быть более чем в порядке, но нихуя. Конечно можно сказать, что требуются именно ВЫСОКОКВАЛИФИЦИРОВАННЫЕ спецы, но они не появятся из ниоткуда, возьмите хороших вкатышей и через год-два они как раз станут такими спецами, неужели это не очевидно.
633 2456527
>>56520

>требуются именно ВЫСОКОКВАЛИФИЦИРОВАННЫЕ спецы, но они не появятся из ниоткуда, возьмите хороших вкатышей и через год-два они как раз станут такими спецами


не станут
634 2456529
>>56520
Сейчас переизбыток программистов на рынке. Зачем учить каких-то вкатышей, когда в очередь стоят спецы с 3 годами опыта?
635 2456530
>>56527
Такими рождаются?
636 2456534
>>56529
Так зачем тогда они ноют про дефицит? Пускают пыль в глаза обычных челов, которые еще не определились и при этом только усложняют жизнь тем, кто уже почти вкатился из-за обилия резюме выпускников всяких курснейм, на которые сейчас спрос поднялся из-за кукареканий гос сми про дефицит.
637 2456537
>>56527
Станут сто проц, не хорошими кадрами в общем, а именно неплохими разрабами конкретно на том проекте, в котором они весь год варились.
638 2456540
>>56530
>>56537
высококвалифицированными десятками лет становятся
ага щас годик круды пописал и гослингом стал
639 2456541
>>56529
Да и не пизди, никто с 3 годами опыта не сидит в очереди, разве что они все три года сидели на каком-то суперуебищном проекте, параллельно ничего не изучая.
640 2456544
>>56540
Ты пишешь про каких-то ебырей-программистов, которые могут практически на любой стек залететь и сходу делать чет полезное, а я говорю про конкретный стек и конкретный проект, который за год вполне можно освоить и приносить немалую пользу.
641 2456546
>>56544
я пишу про высокую квалификацию
а ты про обычных мартышек которых натаскали нажимать кнопки
642 2456803
>>56520
Ноют же эксперты и менеджерки. Им ныть выгодно. Потому что им выгоден найм нового кодерского мяса, потому что они с этого получают комиссию/откат. Про госсубсидии и курсы говорить вообще смешно. Там цель только бабок на бюджете и лохах наварить.
И айтишка это еще хуита. Ноют и про отсутствие инженеров и врачей. Типа нужны еба-констукторы для роскосмоса с зп молодого спеца - 20 тыр.
643 2457000
>>43253 (OP)
Зачем конторы сидят на старой жаве, если можно сидеть на новой?
644 2457016
>>57000
Не работает на новой, а кабану это не нравится.
645 2457046
>>57000
Новая заточена под облачное применение.
Вне этого она просто не имеет смысла, изменения в языке незначительны.

И это часть процесса выдавливания кастомеров в облака, в том числе оракловские.
А вот хуй им - говорим мы, ветераны in-house джава-девелопмента.
Пускай сами свои облака сосут с проглотом.
646 2457075
>>57046
Где такие вещества достал?
647 2457081
>>56541

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


Это и есть типичный проект в энтерпрайзе. Найти что-то хорошее стоит большого труда.

>>56544

>конкретный стек и конкретный проект


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

>>56520

>требуются именно ВЫСОКОКВАЛИФИЦИРОВАННЫЕ спецы


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

>>56534

>зачем тогда они ноют про дефицит


Это просто реклама айти курсов, забей.
Апплеты и asm userщик 648 2457157
Приветствую всех.

Меня интересует вопрос: почему wasm используется, а java-апплеты ушли из поддержки браузерами?

Где-то читал, что java-апплеты опасны тем, что это какая-то левая программа, которая работает на компьютере, однако такое можно сказать и про js, и про wasm
649 2457159
>>55986

>>более или менее релевантный опыт


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

Если тебе похуй куда лишь бы в айти - можешь попробовать, если хочешь джавистом стать - не трать время.
650 2457166
>>57159
Если не тестирование, то ближайшее направление к джаве какое будет?
651 2457167
>>57166
Разработка?
652 2457169
>>57166
нахуй
653 2457171
>>57157
Wasm в браузерах из коробки и не умеет нихуя, кроме вычислений, даже доступа к DOM нет. А апплеты требуют ставить левый плагин и имеют кучу доступов к ресурсам.
654 2457179
>>57171
Благодарю за ответ.

>кроме вычислений, даже доступа к DOM нет



Если нет такого доступа, то как вывести результат вычисления?
Есть ли хоть какая-либо толковая документация по данному вопросу?
655 2457181
>>57179
Через прослойку на JS, её вызывать можно. Работает медленнее, чем вызывать напрямую из JS.
https://developer.mozilla.org/en-US/docs/WebAssembly
656 2457186
>>57181
Очень интересно.
Спасибо.
657 2457254
>>57166

>ближайшее направление к джаве какое будет


Разработка бекенда на Kotlin/Scala/C#/Go/C++/Node.js
658 2457261
>>57254
А на питоне или пхп?
659 2457265
>>57261
Нет.
660 2457285
Как думаете, нужно учить таблицу умножения ?
661 2457347
>>57285
Учи таблицу до 100x100, на собесах спросят.
662 2457400
Бля, аноны, оче сильно интересует вопрос по поводу таких штук, как "корзина пользователя". Как они реализуются на реальных проектах? Не сохраняются ведь корзины каждый раз в бд? Но с другой стороны и в спринге всё сейчас на рестфул, сессии, как я понял, не котируются
И второй вопрос, который очень мучает - какова вероятность на реальных проектах встретиться с шаблонизаторами типа таймлифа и пр? Нужно ли их дрочить, знать?
663 2457401
>>57400

> Не сохраняются ведь корзины каждый раз в бд


Чому нет?
Вот например рестартанул ты сервер, у всех корзина должна обнулиться что ли?
664 2457404
>>57401
Ну бля, это же очень дорого, нет? Допустим, у моего сервиса дохуллион пользователей, допустим, я сделал какой-нибудь алиэкспресс на спринге. И че, мне миллион корзин каждый момент времени сохранять? Это же пиздец, каждую секунду запросы к БД и дохуилион сохранений? В реальный проектах так делают?)
665 2457430
>>57404
Ну хер знает как там делают алиэкспресс,
но мне кажется навар с одного успешно проданного дилдака
с лихвой покрывает расходы на сто других дилдаков которые
просто добавились в корзину и лежат в базе.
666 2457436
>>57404
Напиши сначала сервис, который может обработать лям запросов в секунду. В процессе все тупые вопросы отпадут.
667 2457476
Поясните тотал нубасу(три недели вкатывания) зачем нужен боксинг и анбоксинг? простыми словами, если возможно
668 2457480
>>57476
Чтобы ты мог использовать примитивы и коробочные значения в обычных арифметических и булевых выражениях вперемешку, а также присваивать значения этих выражений как в коробочную переменную, так и в примитивную
669 2457487
Реально ли за год изучить джаву и устроится на работу?
670 2457488
>>57476
Это костыль без которого в яве нельзя например в ArrayList складывать int. String можно а int нельзя. Только c конвертацией в Integer.
671 2457490
>>57487
Такое ясен хуй бывает, но никто не гарантирует,что это будет твой случай. Если ты не тупой, есть время, желание и жопа у тебя резиновая, то вкатишся. Но как минимум вопрос у тебя уже тупой
672 2457492
>>57436
Да ты сука, ясен хуй, что такой не напишу, это была метафора, душнила. Тем не менее вопрос о сохранении корзины в БД не раскрыт
673 2457518
>>57476
Боксинг чтобы бить ебла, про анбоксинг ничего не слышал.
674 2457527
>>57492
Куки употребляешь?
675 2457536
>>57527
Так куки - это дело фронта, реакта или кого там, у меня рестфул хуита, меня че там на стороне клиента ебать не должно
676 2457676
>>57480
>>57490
Спасибо, анончики, нихуя не понятно, видать слишком тороплюсь, решил малость откатиться и закрепить предыдущий материал.
677 2457677
>>57480
Что такое коробочные значения?
678 2457706
>>57476
Предположу, что это костыль со стародавних времен, дабы иметь баланс между производительностью арифметики и консистентностью языка. С одной стороны, все объектные типы в джаве --- ссылочные и наследники от java.util.Object, что на самом деле удобно для разработчика, и все джавовое ООП сосредоточено вокруг этого факта. С другой стороны, все примитивные типы --- не-ссылочные и не-объекты, что удобно для арифметики, но несовместимо со всем остальным. И чтобы как то работать с примитивами как с объектами там где это нужно (в коллекциях, например), есть неявное приведение примитивов к объектам (боксинг) и обратно (анбоксинг): int оборачивается в java.lang.Integer с помощью вызова статического метода valueOf в том месте, где нужен обьект (вызов добавляет компилятор, его можно увидеть прямо в байткоде, если чекнуть через javap), и наоборот.

На самом деле это все канеш костыль и говно ебаное, которое ненавидят как джава-хейтеры, так и сами джависты, но так сложилось. Языки поновее (типа котлина) не делают таких явных для разраба различий между примитивами и не-примитивами.
679 2457742
>>57536
Чем тебе редис под корзину не устраивает? Его и персистить можно, конечно персистится он хуевато, но большая часть данных после ребута сервиса и ребута редиса будут на месте. И реплицируется хорошо и ttl нормально работает.
680 2457743
>>57706
И как в новых языках работают примитивы? Они тоже наследуются от корневого объекта? А лишняя для примитивов мишура, типа методов и ссылок?
681 2457755
>>57743
В новых языках нет объектов.
682 2457794
>>57743
В новых языках как правило более чоткая и более отвязанная от рантайма модель типов. В них нет нужды девелоперу различать примитивы от не-примитивов, там даже понятия такого явно не выделяется --- "примитив". Просто есть разные типы данных и сабтайпинг-отношения между ними, все. За девелопера все что нужно соптимизирует компилятор.
image.png98 Кб, 1663x820
683 2457814
684 2457825
>>57814
И в чем отличие? Ну не обджект корневой, а эни.
685 2457882
>>57400

>>типа таймлифа и пр? Нужно ли их дрочить, знать?


Их для почты только используют, фронт на реакте/ангуляре. Учить отдельно не надо, если что на проекте изучишь в рамках задачи.

>>какова вероятность на реальных проектах встретиться с шаблонизаторами


Но вообще бывают помойные легаси с JSP/JSTL - не рекомендую такие вакансии, там шаблонизатор меньшее что тебя будет беспокоить.
686 2457920
>>57882

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



Буквально недавно каким-то чудом удалось вкатиться джуном на помойную галеру с таким проектом. Посадили на легаси проект с 3 спрингом, xml конфигами и jsp, сказали смотреть логи и править баги.
Какие подводные? Через сколько нужно сваливать с этого давно затонвушего корабля? К слову, на хх.ру по запросу jsp всего около 50 вакух на всю москву выдается. Я думал такого говна побольше будет.
687 2457924
Неироничный вопрос, возникший из-за высказываний хейтерков жабы ака дрочеров си решетка и языка "идти" - начинают ли новые проекты на жабе? Или же жаба, как говорят вышеупомянутые господа - это в 90% случаев про поддержку?
688 2457925
>>57920
Сколько багов уже исправил? Как сильно загружен?
689 2457929
>>57924
Да, на жабе пишут дохуя новых проектов, но это энтерпрайз, никаких интернет-магазинов и личных кабинетов.
690 2457932
>>57929
Возможно, это тупой вопрос, но можешь объяснить, что конкретно ты подразумеваешь под тырпрайзом? Почему личного кабинета не может относиться к тырпрайзу и к какой категории тогда интернет-магазины относятся?
691 2457934
>>57925
Пока что 0, работаю с конца прошлой недели. На поддержке этого говна всего 2 человека, один какой-то скуфоидный дед, не особо общительный, но вроде шарящий что происходит, а другой собственно я. Пока что даже проект не смог запустить у себя)))

>>57929
Личных кабинетов нет в энтерпрайзе? Что тогда вместо них?

>>57924
Ну вот конкретно мое легаси где-то из 2012-2014 года. Все как полагается для тех времен, монолит, варники, xml конфиги, фронтенд на жабе с jsp. Наверное если поискать, то и более старые проекты можно найти, на каком-нибудь java ee 6 без спринга с аппликейшен сервером по типу вебсферы или glassfish java 2010 edition

А так наверняка где-то и новые проекты есть, просто в энтерпрайзе нельзя просто взять и выбросить то, во что вложили охулиарды бабла 10-15 лет назад, приходится поддерживать что дали и умолять руководство разрешить и выделить бабло начать переход на современный спринг и микросервисы.
692 2457941
>>57934

>современный спринг и микросервисы.



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

И вот именно в энтерпрайзе (внутренние информационные системы компаний) это как раз оправданно меньше всего.
693 2457942
>>57941

> И вот именно в энтерпрайзе (внутренние информационные системы компаний) это как раз оправданно меньше всего.


Аргументы?
694 2457945
>>57941
Не знаю, я вкатун вчерашний.
Но по идее должно быть легче поддерживать отдельный микросервис, чем лапшу в монолите. Хотя хороший монолит наверное гораздо лучше среднестатистического микросервиса будет. Микросервисам нужно общаться между собой, что усложняет понимание всего происходящего.
695 2457954
>>57942
Нет ебещих требований по нагруженности, очевидно же.
696 2457956
>>57945
Отдельный микросервис может и легче, а вот спланировать архитектуру микросервисную, да так, чтоб не жидчайше не дать в штаны - несколько сложнее
697 2457970
>>57942
Как уже правильно заметил анон (>>57954) - нет требований по масштабированию. Количество пользователей относительно невелико, и мало меняется со временем.
При этом логика работы может быть очень сложной.

А микросервисы - это именно про масштабирование.
И про облачный деплоймент.
Пример - Озон-Амазон и прочее подобное.
698 2457976
>>57945
А почему в монолите обязательно "лапша"?
Чего ради?
Монолит - это, прежде всего, одна БД, с которой работают разные части системы. И простота координации, соответственно. Откат транзакции - это просто откат транзакции, а не сага с хореографией, лол.

Микросервисы - это серьёзный оверхед при управлении транзакциями (пиздец просто). И вообще оверхед, связанный с координацией отдельных сервисов.

Если читаешь по-английски - почитай хорошую книжку про микросервисы, их есть - на scanlibs.com
Например Building Microservices, 2-е издание.
Или Microservices Patterns (examples in Java).
Или что-нибудь ещё.
Только имей в виду, что это не очень лёгкое чтение.
699 2457977
>>57970

>Озон-Амазон


По-твоему это не тырпрайз?
700 2457980
>>57977
Слово "энтерпрайз" - означает "предприятие".
Я под этим словом понимаю (прежде всего) внутренние информационные системы предприятий и что-то подобное.

Если кто-то понимает под "энтерпрайзом" всё, что не игры-социалки-итд - это не ко мне.
701 2458092
>>57977
Самое ёмкое определения энтерпрайза: энтерпрайз - это когда пользователи называются сотрудниками. То есть любой софт, которой пишут для внутреннего использования в предприятии. Самый понятый пример - 1С, энтерпрайз в чистом виде, кому как не сотрудникам работать с документооборотом и бухгалтерией. Просто в жабашарпах решения более масштабные, где 1С по возможностям и нагрузкам не хватает. Во всяких амазонах кроме основных магазинов, безусловно, есть и внутренний софт для сотрудников, это тоже энтерпрайз, но к самим магазинам это не относится, это просто фронтальная система для внутренних энтерпрайзных сервисов.
702 2458102
>>58092

>Самое ёмкое определения энтерпрайза: энтерпрайз - это когда пользователи называются сотрудниками.


Это ты взял из этого же треда, или вообще сам придумал.

>Озон-Амазон


По-твоему это не тырпрайз? Именно для сотрудников у них весьма и весьма нагруженные и замасштабированные решения пишутся.
703 2458103
Решил почитать мвп тред и чет задизморалился жеско, неужели все действительно так плохо и единственный вариант вката, это свалить из страны
704 2458104
>>58102

> Это ты взял из этого же треда, или вообще сам придумал.


Это я и писал то сообщение.

> >Озон-Амазон


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


Тырпрайз, конечно.
705 2458106
>>58103

> мвп тред


Клоака жирничей и шизиков, ни одного адекватного анона, филиал /b/. Я его скрыл нахуй ещё тогда, когда он не был закреплённым.
706 2458107
>>58102

>По-твоему это не тырпрайз?


Ты надоел уже, клоун.
Это e-commerce.

А есть ещё финтех.
И много чего другого.
И всё это очень разные вещи.
И везде java.

>замасштабированные


Это по-каковски?

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

Кстати, белые люди говорят не "высоконагруженное" а "высокопроизводительное" (high performance).
Т.е. highload - это псевдо-английская калька с русского, используемая только в русскоязычном пространстве.
Можешь на досуге подумать, почему так, и в чём разница.
707 2458111
>>58107

>И всё это очень разные вещи.


И все это тырпрайз.

>Кстати, белые люди говорят не "высоконагруженное" а "высокопроизводительное" (high performance).


Т.е. highload - это псевдо-английская калька с русского, используемая только в русскоязычном пространстве.
Можешь на досуге подумать, почему так, и в чём разница.
Ебать ты чушь высрал, петушара.
708 2458113
>>58107

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


Двачую, несколько раз попадались блоги на инглише, и по использованию слова highload сразу становится понятно, что писали русские.
709 2458130
>>57347
Но это же 100к записей...

>>57536
Так в данных пользователя корзину и легче всего хранить. Зачем это говно серверу?
710 2458135
Ты охуел даун? Ты блядь в этой жизни бич подплинтусный, еще требовать чего то вздумал? Давай пруфай свой паспорт и свою несчастную хибару в пердях, а я тебе взамен покажу свои заказы в яндексе на десятки тысяч в месяц в мишленовских рестиках
711 2458144
Не хочу ._.
712 2458149
>>58130
Ну например. Если корзину хранить на сервере ты можешь рассылать напоминалки тем кто положил что-то в корзину неделю назад но еще не купил. Или показывать предупреждение что такого цвета труселей осталось 3 штуки и 2 уже у кого-то в корзине.
В самых простых случаях если продаешь например подписку на порн может и на куках прокатит.
713 2458153
>>57976
>>58092
Ну мы вот пишем типичный тырпрайз на микросервисах и 11/17 жабе. Как раз переписываем уже имеющийся сервис на 1с, потому что 1с негибкий и медленный. Причем в старую версию никто не смотрит, работаем по тз.
Основной смысл, для нас-разрабов во всяком случае - в раздельном деплое. Изначально вообще две галеры разрабатывали разные микросервисы отдельно друг от друга, но с общей инфраструктурой.
Уже намолотили 15 микросервисов. И еще 2 новых вырисовываются в течении пары месяцев. Сообщения между микросервисами - эвент в кафку и потом консьюмер забирает нужные ему данные по ресту.
До распределенных транзакций мы еще не дошли правда. Тут даже внутри моего сервиса еще не везде, где нужны транзакции есть транзакции из-за особенности nosql-базы, где есть acid, но реализовано это криво.
Но тут до релиза в прод - хз сколько, но по моим ощущениям - явно не меньше года.
714 2458171
>>58107

> Кстати, белые люди говорят не "высоконагруженное" а "высокопроизводительное" (high performance).


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


> Можешь на досуге подумать, почему так, и в чём разница.


На досуге подумаю над причинами, почему меня это должно ебать
715 2458206
>>58153
Раздельный деплой можно и на монолите делать, при желании.
Если смысл именно в этом, и ни в чём другом.
716 2458212
>>58206
А можешь тезисно объяснить как раздельно деплоить монолит? Я до этого работал на легасном монолите и там с деплоем были большие траблы. Даже запустить локально было непросто.
717 2458355
>>58212
От сервера приложений зависит и от самого монолита.
Если сервер может перекомпилировать и перезагружать классы на лету, то вот так и делать - просто грузить нужные классы.
Но, это всё нестандартно, естественно.

Если не надо налету, а можно рестартовать (а иногда это обязательно) - то надо мутить свой способ деплоймента, чтобы всё не было в 1 war, например. Короче - никакой магии, просто это очень зависит от системы.
718 2458358
Микросервисы родились от того, что только на джаве были сервера приложений, и никто их не понял. Монолиты - переизобретение warников.
719 2458380
>>58358
Kubernetes - это такой зумерский сервер приложений.
720 2458394
>>58380
Именно.
721 2458424
>>58149
Ну тогда и бд сойдёт.
722 2458447
Какие есть доступные API для перевода текстов?
Для гугла обязательно создавать надо облако и регаться с забугорной картой, я так понял.
723 2458473
>>58447
Спроси у датасаентистов в треде про нейронки, там по-любому кому-то надо было для NLP.
724 2458527
Сап аноны, я к вам не с пустыми руками, а с тупым вопросом. Сейчас разбираюсь с авторизацией посредством jwt, написал токен провайдер, который умеет создавать токен и валидировать, а так же добавил фильтр на валидацию токена, который он забирает из хедера и чет не могу понять, как все это связать. Где хранить полученный токен? В куках? Мне же он нужен постоянно в хедере. Чет тупняк пздц, подскажите, как правильно делать
725 2458539
>>58527

>Мне же он нужен постоянно в хедере.


Действительно, где же его тогда хранить.
726 2458547
>>58539
А разве хедер у каждого запроса не свой? Мне подставлять токен туда постоянно? Чет не до конца догоняю, как можно хранить что-то в хедере
727 2458550
>>58547

>Мне подставлять токен туда постоянно?


Да. А хранить где-то у клиента.
728 2458552
>>58527
Хоть куки, хоть Authorization, хоть кастомный хедер, хоть вообще в теле в зависимости от задачи. Везде лепят как хотят.
729 2458658
>>58527
>>58547
Крч положил я значит свой токен в куки, тк в интернетике пишут, что это самое лучшее решение, но оказалось, что если я хочу дергать его из хедера, то надо писать какой-то js скрипт что я конечно же делать не умею, который будет доставать токен из куков и класть в хедер. Теперь вот думаю, как мне сделать так, чтобы этот скрипт при любом запросе срабатывал
730 2458803
Как совпало что лучший язык и лучшая страна начинаются с буквы J.
731 2458805
>>58803
Russia начинается с буквы R.
732 2458821
Ребят, нужна помощь по regex.
Например есть строка:
Creating local person user 'test' with details ('','','test','test','test@local')

Как мне одним выражением вытащить всё кроме того что в кавычках и скобках?

То есть должно получиться:
Creating local person user with details
733 2458822
>>58803
Дожили блядь, ямайка у него лучшая страна.
734 2458872
ПЕРЕКАТ >>2458869 (OP)
735 2458882
>>58821
Сам сделал:
([\w\s]+)(?:(?:'[^']+'|\([^\)]+.|))([\w\s]+)\s(?:(?:'[^']+'|\([^\)]+.|))
736 2458888
>>58882
Господи... почему регексы до сих пор не забыты как страшный сон? Как это читать?
737 2458987
>>58803
Jewsrael?
738 2458997
>>58987
Jordan
739 2459263
Какой в /pr/ бамплимит?
740 2459328
>>58888
Регексп - это программа.
Читать - слева направо.
741 2459479
>>59263
500, но для джава треда раньше 1000 перекатывать - моветон.
742 2459491
>>59479
Сколько я тут сижу - тред катится после 500 постов. Что сейчас случилось то?
743 2459567
>>59491
Сколько ты тут сидишь? 2 треда?
744 2459715
>>59567
Уже полгода наверное.
745 2459718
Есть смысл устанавливать maven отдельно ? Ведь maven идёт вместе с intellij idea ?
746 2459721
>>59718
Пиши в новый тред.
747 2459724
>>59718
Иногда удобнее через консоль собрать, но это редко нужно. Поставь, пусть будет, что ты теряешь то?
748 2459737
>>59724
Через консоль ещё быстрее билдить.
749 2459738
>>59718
Добавь идеевский мавен в path и все.
750 2459740
>>59724
Ок, сяб.
751 2462822
В реальном продакшене обязательно чтобы доступ к полям объекта извне был через геттеры и сеттеры? Если напрямую напишешь object.field, это же косяк?
752 2463273
>>62822
Зависит от дроча твоего лично или лида на все это. Можешь вообще обмазать все это лобком и не ебать мозги.
Олсо, хули ты делаешь в мертвом треде?
753 2463314
>>62822

>>Если напрямую напишешь object.field, это же косяк?


Да, гет/сет корпоративный стандарт. Как и ломбок.
754 2464071
>>63314
А если я ебал корпоративные стандарты бтв?
755 2464525
>>64071
тогда в энтерпрайз тебе путь закрыт, пиши дальше моды на майнкрафт
756 2468505
Сап. Научите зеленого вкатуна писать тесты.

Вот написать я RestController. Там есть PostMapping-метод, который принимает Json. Отвечает "ок" если все норм

Как на него написать юнит тесты с помощью Mockito & Junit5?

Я чет концепцию нихуя не понимаю что мне надо мокать..
Есть представление ток что я ответ как-то должен проверить ассертом "ок" он или нет.

Мб какой-то подробный гайд есть для тупых?
757 2468521
>>68505

>>RestController


>>Как на него написать юнит тесты


через MockMvc или WebClient пишешь рест запрос, читаешь статус код, сверяешь тело с тем что должно быть

>>что мне надо мокать..


сервисы которые вызываются в контролере, а сам рест запрос за тебя уже сымитирует MockMvc

>>Мб какой-то подробный гайд есть


https://reflectoring.io/spring-boot-web-controller-test/

>>для тупых?


https://www.baeldung.com/spring-boot-testing
пункт 8
758 2468543
>>68521
Во-первых, спасибо тебе за ответ, Анон!

Гайды посмотрю и вернусь с тупыми дополнительными вопросами
image.png127 Кб, 1008x851
759 2468563
>>68521
Заинжектил MockMvc

пытаюсь вызвать у mvc.perform(get
а он "get" не распознает.

Мне что-то испортить еще надо отдельно?
760 2468569
>>68563
дополнение:

этот get -это же MockMvcRequestBuilders.get() ?
761 2468571
>>68569
Да, наверное он. В примерах очень любят забыть упомянуть про статик импорты, а потом гадай откуда этот метод.
762 2468577
>>68571

>а потом гадай откуда этот метод.


Во-во.. для кого они эти гайды пишут? Для гениев, которые и так все понимают? А бестолочи вроде меня ноют и страдают потом
763 2468588
>>68563
Накатал я тест по образцу, запустил тест, а он мне высыпал:

"java.lang.illegalstateexception failed to load applicationcontext"
764 2468603
>>68577
Перекатывайся из бестолочей в гении значит.
Обычно к гайдам прилагаются сорцы на гитлабе, если совсем сложно - ищи в них. Ну или просто загляни в сигнатуру метода, что он там ожидает параметром.
765 2468624
>>68603

>Перекатывайся из бестолочей в гении значит.


Да тут два варианта.
Либо совсем нахер пошлю джаву, либо случится переломный момент и в гении да..

>>68588
По поводу этого можешь подсказать что-то?
Причем тут контекст?
766 2468683
>>68624
Чел, я конечно рад помочь советом, но дебажить мне влом тем более без кода и стектрейса только методом телепатии.

Какую-то волшебную аннотацию надо поставить наверное.
Если ставишь @SpringBootTest он контекст поднимает, возможно с ним что то не так.

Могу только послать тебя в гугл читать что то вроде

https://www.jvt.me/posts/2022/03/10/spring-failed-applicationcontext/

https://www.youtube.com/watch?v=7mZqJShu_3c
767 2468740
>>68683
Спасибо, буду изучать

Вопрос такой: чтобы мне протестировать какой-то метод контроллера.. мне нужно приложение запускать сначала, а потом врубать тест?
Или я просто тест врубаю и он эндпоинт дергает.. я крч концептуально не понимаю тут
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 7 ноября 2022 года.

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

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