OIG1.BhghiKGD5S8Q.jfif102 Кб, 1024x1024
Java Thread №273 /java/ 3267379 В конец треда | Веб
Вики по джаве: https://github.com/java2ch/java-thread/wiki (доступна для редактирования всем)
Предыдущий: >>3247368 (OP)
1725817880660.jpg126 Кб, 1024x1024
2 3267823
3 3267910
О, нейрошиз вернулся.
4 3267914
>>67910
Все шизы в сборе, урааа
5 3267935
Господа джава бояри, а есть какой-то аналог типа pipx, когда ты ставишь либу, один раз запускаешь и удаляешь её? Какой-то пакет-скрипт для командной строки?
6 3267944
>>67935
Нахуя
image.png55 Кб, 1000x721
7 3267945
>>67935
Да дохуя похожих пограм по идее, просто нахуй оно для жабы надо? Прописал помник в мавене и не ебешь мозги.

Эта хурма еще умеет с помощью direnv выгружать всякое разное. Я gtk и lsp с её помощью прокидывал компилятору и идешке.
БоСинн вайб.webm8,3 Мб, webm,
1080x1080, 0:28
8 3267953
>>67379 (OP)
Сап

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

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

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

Сложность в том что у меня нет абсолютно никаких знакомых кто хоть каким-то боком причастен к айти, тупо не с кем посоветоваться.
9 3267958
>>67953
в питон точно не стоит лезть. Там вакансий абсолютно нихуя, а кандидатов миллионы. Тупо конкуренции не вывезешь.

Ну я тоже вкатун, могу ошибаться..
10 3267966
>>67945
>>67944
про помник подробнее пожалуйста.

Задача:
1. Копировать заготовленную папку с статическими ресурсами
2. Выполнить две баш команды

Второй пункт думаю легко сделать, но мне куда-то нужно деть папку со статикой. Самый простой вариант - упаковать её куда-то и пригонять по команде.

В питоне есть pipx, в NodeJS - npx -- эта херь устанавливает пакет и выполняет команду из него. Для Java не понял как такое провернуть
11 3267967
>>67958
Ты ошибаешься только в том, что в джаве не так. В джаве всё ровно так же.
12 3268008
>>67967
Разве где-то по другому?
13 3268017
>>67953

>30+


>Вкатывался


Бля, дед, забей уже, ты проебал. В 30 лет люди лидами и руклями отделов работают, а не вкатываются
14 3268024
>>68008
Сравнительно как раз в джаве, судя по всему, не так. Но по сути ты никуда не вкатишься, ни в джаву, ни в питухон одновременно. 0% шанса вката = 0% шанса вката.
15 3268026
>>68024

> одновременно


однохуйственно*
быстрофикс
16 3268031
>>68024
но почему?... Вакансии же висят. И куда тогда вкатываться?
17 3268037
>>67958
В java самое большое число откликов на вакансии среди других стеков.
18 3268041
>>68031
Да забей ты хуй на мнение жаванов. Они вкатились сто тысяч лет назад и нихуя не знают как там сейчас. Просто боятся, что их места пригретые заберут.
Просто ебашь не обращая внимание, и все.
19 3268045
>>68041
Портфель собрал, умник?
20 3268048
>>68031

> Вакансии же висят


Это не для вас висит, молодой человек.
21 3268049
>>68031

> И куда тогда вкатываться?


В продолжение сидения на шее мамки, лол. В 2024 ушёл последний вагон уже не просто на работу в айти, а на работу в принципе. Работы нет нигде. Разве что донный пиздец типо курьерства.
22 3268054
>>68045
У тебя определенно есть скрытый талант к юмору, скрывай его и дальше.
>>68049
Ну вот и нахуя просто сидеть на шее, если в этом время можно штудировать какие-нибудь задачки с литкода, потом контест яндекса/тинька решить и стать стажером. Но нет, у жаванов работы нет, тлен безнадега. Специально людей дурят.
23 3268056
>>68054

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


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

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


Дооо, дооо, тебя обязательно возьмут стажёром за 30к если ты несколько лет будешь дрочить литкод, стоит только верить!
24 3268057
>>68056
Типичный жаван, пиздит о том, чем даже не знает.
https://yandex.ru/yaintern/backend
https://education.tbank.ru/start/
25 3268058
>>68057
Ну и к чему это?
26 3268059
>>68057
>>68054
>>68041
Шарпомуха из-за недостатка денег в петушарпе в лахту устроилась?
27 3268060
>>68058
Невозможно быть таким тупым. Ты определенно бот или нейронка. Жаль тебя как в по нельзя по id скрыть.
>>68059
Мимо жаван, я ненавижу шарп, го, петухон и все остальное, что ты собираешься приплести.
И по факту вы не ответили. Просто говорите челику смирится и нихуя не делать. Это контрпродуктивно и не имеет смысла. Я же предлагаю просто делать не обращая внимания на такую гниль как вы, которые всегда будут против чужих начинаний. И даже конкретный путь предложил.
28 3268062
>>68060

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


Очень аргументированно. +15
29 3268064
>>68060

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


Контрпродуктивно годами долбиться в стену веря в силу срынка и мрия о 300к/наносек когда-нибудь, лахтопетушок.
30 3268070
>>68060

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


Каждый божий день удивляюсь от того насколько мерзким может быть человек. Просто блядь пиздец. Этот хуесос блядь предлагает потратить годы жизни НА ПОПЫТКУ блядь получить СТАЖИРОВКУ блядь чтобы после стажировки ЕЩЁ РАЗ ПОПЫТАТЬСЯ блядь вкатиться. Пиздец. и смеет кого-то блядь называть гнилью. Сука, харкнул в ебало мрази.
31 3268072
>>68070
Да, а другой человек предлагает эти годы потратить на... Сидение на шее? Вы бы блять для начала что-то адекватнее предложили.
Лучше годы тратить на такое, чем просто замыкаться в себе или ебашить всю жизнь на дноработках.
>>68064
Если это в конечном итоге принесет результат, я предпочту долбится в стену.

И да, я вообще не ебу причем тут лахта, у нее риторика как раз обратная, ровно как у вас. Стоит смирится, не стоит качать лодку, сверху все решили и тд.
image.png26 Кб, 243x285
32 3268074
>>68072
>>68070
Я вас не понимаю. Мне пойти учиться или пойти нахуй?
33 3268075
>>68074
Как хочешь.
34 3268076
>>68072

> Да, а другой человек предлагает эти годы потратить на... Сидение на шее? Вы бы блять для начала что-то адекватнее предложили.


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


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

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


Долбиться в стену и результат это противоположные понятия, олигофрен.

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


Ну да, власти ведь совершенно не выгодно чтобы ты забесплатно батрачил и верил в светлую жизнь завтра, лахтогной.
35 3268080
>>68074
Если ты в джаве за деньгами то иди нахуй. Если за навыками в принципе — учись.
36 3268085
>>68076

>Ты в любом случае будешь сидеть на шее, маня достигаторская.


>забесплатно батрачил


Ты там определись.

>вместо того, чтобы чиллить.


Нахуя их тратить на чилл? Можешь даже не отвечать, я не пойму в любом случае.

>Долбиться в стену и результат это противоположные понятия


Я по своему опыту решения разных олимпиадок говорю. Сложно предеать, но.. Да и не надо.

В общем, картина пациентов понятна. На етом все. Я устал
37 3268086
>>68085

> Ты там определись.


И где ты противоречие увидел?

> Нахуя их тратить на чилл? Можешь даже не отвечать, я не пойму в любом случае.


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

> В общем, картина пациентов понятна. На етом все. Я устал


Слив принят, достигатор. Не забудь зайти через полгода таким же безработным чмом продолжая уверять нас всех, что вот завтра ты вкатишься.
38 3268087
>>68086

>через полгода


Чел, я с вами тут постоянно буду. Не заскучаешь.
39 3268088
>>68087
К большому сожалению.
40 3268097
>>68057
После регистрации и наступление N-ного времени тестовое выдается всем?
41 3268106
>>68076

>вместо того, чтобы чиллить


Я уже заебался чиллить, скучно неимоверно. Ну а все, что весело - стоит денег
42 3268107
>>68106
У тебя в любом случае денег не будет, пойми. Хватит уже мечтать.
43 3268116
>>68097
Там где-то раз в квартал создает новый контест, типа осенний 2024. И вот за к примеру 3 месяца тебе надо успеть прорешать 5 задач.
Проблема в том, что 5 задач надо решить одновременно и за скажем 5 часов. Плюс каждую на 100 баллов. Тогда возьмут в стажеры.
В общем-то почитай правила на самом сайте, они там где-то наверняка есть.
Есть варик со стажерством чуть проще - это вузы. Сам вуз может через практику сделать тебя стажером.
44 3268118
>>68116

> Проблема в том, что 5 задач надо решить одновременно и за скажем 5 часов.


> Плюс каждую на 100 баллов.


> Тогда возьмут в стажеры.


Самонеуважение вкатунов-мечтателей не имеет границ...
45 3268274
>>67953
Причина тряски?
У меня знакомый в жаву вкатился в 27 и его забрали с первого собеседования. Не прыгай с хуя на хуй. У тебя уже есть какие-то знания по джаве, развивай их. Толку все сливать в унитаз и вкатываться в калькулятор?
46 3268701
>>68274
До 2022 вкатиться было в разы легче. И вообще экономика другая была. Ты хоть интересовался, как у твоего кабана с финансами сейчас? Будет у тебя завтра работа?
47 3268709
>>68701
У моего кабана экономика простая - 150к за мидла, 200к за сеньку.
Зато вон еще один этаж в бизнес-центре выкупили.
48 3268752
>>68017
И без тебя жука обосраного молодого тошно.

>>68274

>Причина тряски?


Тревога за будущее и неуверенность.

>Толку все сливать в унитаз и вкатываться в калькулятор?


Я понимаю это, но вот было настроение такое когда писал данный пост типа аааа ааа срочно ищем альтернативу
49 3268753
>>68274
Причина тряски в том что кажется что джава это сложно и только в крупных компаниях, а они ж по рассказам с двачей любят студентов набирать с вузов. А питон типа разнообразный и там много всего, много контор "рога и копыта" и вот туда можно вкатится.

Если что я не утверждаю, это тупо мои догадки, у меня вообще ощущение как у потерявшегося в лесу, тупо не понимаю как эффективно действовать во вкате.
50 3268853
>>68709
Щедрый кабан ещё. Я за 4 года до самого разорения фирмы получал с 30 до 80, а по званию рос от джун до джун+, затем до джун++, затем до джун+++ (это когда на мне одном вообще весь фронтэнд и половина бэка держались). Самому смешно щас.
51 3268885
>>68701
Это этой весной было
>>68752
Не надо ничего искать. Просто постареешь ещё на год. Вроде не школьник с гормональным пиздецом, чтобы трястись. Не истери, учись, работай и все будет нормально.
52 3269529
Какой больной ублюдок делал эксепшены в рест темплейте? Нахуя они приписывают код ошибки в тело исключения? Выкинул тебе один сервис 401 код с текстом "Forbidden resource,fuck you" например,а на отправляющей стороне ты получишь HttpClientErrorException.Unauthorized с текстом блядь "401 Unauthorized: ""Forbidden resource,fuck you"",да да, именно блядь в двойных кавычках. Конченые мрази,такое впечатление что подобное говно шарпомухи пилят
53 3269532
>>69529
Пруф
54 3269543
>>67966
выглядит так, как будто тебе нужна система сборки просто. приклей к проекту maven или gradle
55 3269545
>>68274
я Почти твой знакомый. Вкатился в java в 25. Сразу на 130к. Сейчас немного зп подняли, теперь 150к. Вкатился с 1 собеса грефу в трусы.
56 3269560
>>69545
Кулстори, правда вкат в сбер доступен только через студенчество.
https://sbergraduate.ru/sberseasons-moscow/
57 3269579
>>69560
кхх чел думает, что можно вкатиться только через стажировку
58 3269583
>>69560
Да тут в треде был чел, который в сбер вкатился.
Там правда один ньаюнс, он уже работал в сбере, считай через связи.
59 3269592
А вы знали, что Set.of() не позволяет проверять наличие в нем null? То есть метод contains(null) выбрасывает NPE. Теперь будете знать.
60 3269595
Аноны, как поступить, что думаете
Мне 23. Учу джаву два года, главная заноза в отсутствии диплома. Есть егэ на 290 баллов и я думаю, поступить в рандом вуз или очно или заочно, попутно пытаясь найти работу. Очка отнимет много дневного времени, а заочно учиться на 7 месяцев больше, почти пять лет. Оба сценария хуевы, так как диплом получу только под 30
Где покупают дипломы я не знаю, и вряд ли у меня хватит денег
Или вообще не рыпаться, дальше работать курьером?
61 3269601
>>69583
Это я и есть походу. Работал в сбере до этого, но даже близко не айти. Алсо тогда меня устроили не напрямую в сбер, а к вендору. Сейчас уже перевели в штат.
62 3269603
>>69592
так коллекции, инициализированные через of() не позволяют там null хранить.
63 3269604
>>69603
Хранить одно дело, а проверять наличие - другое.
64 3269606
>>69583
Но один парень с моей группы на курсе тоже в сбер вкатился, и он в нём не работал.
65 3269608
>>69545
Ну расскажи, как вкатывался. Были проблемы с вышкой? Как коллеги относятся, что до 25 не в айти работал?
66 3269610
>>68753
Уровень, чтоб вкатиться на низ вилки джуновского грейда в сбер ~ 30 лвл на джавараше и прочитанная хед фёст джава
67 3269613
>>69608
На вышку всем похуй, если идешь на специалиста, а не лида. Коллегам похуй, кем ты там работал и какой у тебя диплом. Есть 60 летние скуфы, которые в 80-х десктоп на делфи писали, есть 20 летние МФТИшники с красным дипломом. В конечном счете со всеми подружишься, если ты не душный токсичный уебан. Чего не знаешь - научат.
Мимо проходящий абмассадор Сбера.
68 3269619
>>69604
Хуйню какую-то несешь, если честно. Ну типа там инвариант стоит, ты просто никак не засунешь туда null, нахуй тебе тогда проверять его наличие? Наличие пупуни на забудь проверить во всех сетах, а то вдруг.
Даже если ты как-то обойдешь этот инвариант, у тебя всегда есть возможность превратить все это в итератор какой-нибудь и уже там проверить.

К слову, надоели обсуждать вкат в джаву... Обсуждайте её непосредственно.
69 3269625
>>69619

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


Если тебе этот Set откуда-то извне передали, откуда ты знаешь, какие у него там инварианты? Да, в явадоке написано, что contains может выстрелить NPE. Но у HashSet, который приходит в качестве параметра с типом Set в 99% случаев, такого не происходит, и поэтому перед вызовом contains никаких действий не требуется. А тут оказывается еще и на null аргумент метода надо проверять. К тому же интерфейс не разделен на NullPermittedSet и на NullDeniedSet. А вдруг у меня в методе подразумевается, что аргумент Set может хранить null? Как мне указать это в сигнатуре метода? А никак.
Хуйню сделали, короче.
70 3269626
>>69608
Проблем с вышкой не было, вкатывался через курсы яндекс практикума, предварительно навернув джава раш. Коллеги наоборот говорят, мол круто. Но у нас в команде ни у кого нет айтишной вышки.
71 3269641
>>69625
Ну эту лазейку в доке насколько я помню сделали не из-за этих Set.of(), а из-за concurrent коллекций. Вот там реальные причины, почему null нельзя хранить.

Хотя, конечно я не очень понимаю, почему бы не возвращать в таком случае сразу false. Мы типа нарушим принцип лискова, тамушта мы можем. Еще проблемы есть с ансапортед операциями, они тоже никак не обозначены. Поэтому типа через remove как-то сделать низя.

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

>Как мне указать это в сигнатуре метода?


@Nullable))) Правда не то, чтобы это сильно хорошо работает. Но хоть как. В будуууууущем, можно будет просто знак вопроса у типа поставить.
72 3269647
>>69641

>Хотя, конечно я не очень понимаю, почему бы не возвращать в таком случае сразу false.


Вот именно. Если ты знаешь, что в коллекции не может быть null - значит в contains должен быть early return. Нахуя мне срать NPE в кашу?

>Как я вижу, рабочий вариантом, будет


Запаковывать Set в HashSet. Манал я в рот все остальное.
73 3269670
Думаю погрузиться в котлин,проде не слишком много отличий от джавы. Что думаете? Голанг оказался наебаловом вселенского масштаба и теперь я ищу себе новый модный язык для изучения
74 3269691
>>67935
Всмысле - запускаешь либу? Либа - не программа, как ты ее запускать собрался?

>>67966

>1. Копировать заготовленную папку с статическими ресурсами


>2. Выполнить две баш команды



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

К примеру, на мавене я бы использовал assemble/resources plugin для первого, и exec plugin для второго.
75 3269698
>>69670

>Голанг оказался наебаловом вселенского масштаба


А подробнее?
76 3269776
Аноны, я уже как-то заёбывал всех, но опять спрошу. Голова закипает.
Работаю в тбанке на 350к где-то с дежурствами. Есть стартап на 250к, в котором я уже работал. Он зовёт меня обратно, там, в целом, прикольно по задачам было и посвободнее. Но самое главное, что там полная удалёнка есть из любой страны.
Я нихуя не могу понять, как мне выбрать. Как будто бы в 2к24 круто иметь полную удалёнку на случай пиздеца и иметь возможность свалить.
77 3269856
>>69776
>>69776
подскажи свой язык, грейд
78 3269956
>>69670

>проде не слишком много отличий от джавы


Зачем тогда в него погружаться? Та же жаба, вид сбоку.
Давай в скалу
79 3270122
>>69956
Скала кажется излишне нагроможденной. Также прикол скалы создавать объекты на каждый чих не очень на скорость влияет. Также хз как у скалы со спрингом дела. В котлине понравилась декларативная многопоточность и очень не понравилось отсутствие чекед исключений, непонятно нахрена они так сделали
80 3270157
>>70122

>отсутствие чекед исключений


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

>хз как у скалы со спрингом дела


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

>создавать объекты на каждый чих


Если они маложивущие, то не похуй ли? И где там объекты на каждый чих? В скале даже мутабельность легальна.
81 3270172
>>70157
Мне язык для работы нужен,а спринг это стандарт
82 3270174
>>70172
Ну прекинь, работа не ограничивается спрингом. Бывает и такое.
И оказывается на джаве тоже можно что-то писать без спринга. Чудеса, ты так не думаешь?
83 3270180
>>69670

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


На изучение всех тонкостей корутин у тебя уйдет не один год, чел..

>Что думаете?


Работы нет
84 3270320
>>69776

>Работаю в тбанке на 350к


Нихуясе
Пошел нахуй
85 3270428
>>70174
Чудеса - это мир спринголюбов...
86 3270506
>>69613

>>На вышку всем похуй


Ну не совсем, похуй только если она у тебя есть(какая именно - уже не важно). Просто обычно особо не спрашивают про такое и это наверняка знает только херка, мб пм/лид.
87 3270507
>>70174
Работы вне спринга крайне мало. Шансов найти Ктор куда больше, чем кваркус или микронавт

>>70122

>>непонятно нахрена они так сделали


Чекеды - легаси. Либо анчекед, либо Result<error, T> как в го.
88 3270619
>>70507
Either монаде лет столько же, сколько и чекед исключениям. Почему одно легаси и фу таким быть, а другое круто модно молодежно?

Да и вроде там нет трансформеров монад, do нотации нормальной.. Какой-то карго культ, не иначе
image.png1 Кб, 50x43
89 3270730
>>70619
Ща бы трю-качи ставить вокруг каждого JsonProcessingException
90 3270746
>>70730
Где ты будешь ставить трай кэтчи решаю не я и даже не ты, а разработчик апи библиотеки. Если он решил, что тебе пиздец как надо все обработать, то будь добр. Или оберткой какой-нибудь пользуйся, которая автоматом это сделает.
91 3270756
>>70746
Справедливо
пойду создателю джексона ебало бить
92 3270922
>>70619

>Да и вроде там нет трансформеров монад, do нотации нормальной.. Какой-то карго культ, не иначе


В го не используют монады, там просто возвращается несколько значений. И по соглашению если ошибка не пустая, то другие значения не определены и читать их не надо.
93 3270959
>>70922
Какая же параша, лол. Это литерали хуже джавы, в ней просто поставил try где-то сверху и похуй. В его контексте ты можешь не обращать на ошибки. Ну или добавить в сигнатуру функции эту ошибку.
В вашем же случае, походу приходится каждый раз чекаете, бля а вдруг ошибка пришла. Так еще писать некоторую логику по передаче ее наверх, если обработка сейчас не нужна. Пиздеееец.

Буквально хотели как лучше, но получилась полнейшая хуита.
94 3271094
>>70922

> И по соглашению если ошибка не пустая, то другие значения не определены и читать их не надо.


Лол блядь. Это вот так выглядит в зумерских головах оптимизация потребления памяти?
95 3271214
>>70619

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

Вот представь - есть у тебя метод void pupa_zalupa(). У метода есть тельце, и в пограничных случаях это тельце может отрабатывать не так как ты пишешь в коде. Это называется - исключительная ситуация. Во многих языках, включая джаву, в ответ на исключительные ситуации среда генерит исключение. В случае же джавы исключение - это как и все остальное обьект с определенным типом.

Ты - клиентский код, который коллит pupa_zalupa(). Вопрос - нахрена тебе как клиентскому коду в теории может понадобиться знать тип исключения, который pupa_zalupa выбрасывает? Ответ может быть только один - чтобы исключение обработать. Обработать исключение == поймать его, отреагировать на его приход и забыть о нем (отрекавериться).

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

В итоге что же получается. Ты декларируешь эксепшен как чекед, буквально декларируя свои намерения клиенсткому коду - если ты коллишь pupa_zalupa(), изволь обработать IOException. Клиент его обрабатывает и дропает. Усилия по сборке стектрейсов - коту под хвост.

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

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

Впрочем, на самом деле все неоднозначно. В некоторых либах лабают специальные обрезанные чекед эксепшены с оверрайженным пустым fillInStackTrace, как раз чтобы стек трейс не собирался. Сомнительно, но ок.
95 3271214
>>70619

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

Вот представь - есть у тебя метод void pupa_zalupa(). У метода есть тельце, и в пограничных случаях это тельце может отрабатывать не так как ты пишешь в коде. Это называется - исключительная ситуация. Во многих языках, включая джаву, в ответ на исключительные ситуации среда генерит исключение. В случае же джавы исключение - это как и все остальное обьект с определенным типом.

Ты - клиентский код, который коллит pupa_zalupa(). Вопрос - нахрена тебе как клиентскому коду в теории может понадобиться знать тип исключения, который pupa_zalupa выбрасывает? Ответ может быть только один - чтобы исключение обработать. Обработать исключение == поймать его, отреагировать на его приход и забыть о нем (отрекавериться).

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

В итоге что же получается. Ты декларируешь эксепшен как чекед, буквально декларируя свои намерения клиенсткому коду - если ты коллишь pupa_zalupa(), изволь обработать IOException. Клиент его обрабатывает и дропает. Усилия по сборке стектрейсов - коту под хвост.

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

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

Впрочем, на самом деле все неоднозначно. В некоторых либах лабают специальные обрезанные чекед эксепшены с оверрайженным пустым fillInStackTrace, как раз чтобы стек трейс не собирался. Сомнительно, но ок.
image.png49 Кб, 1209x413
96 3271232
>>71214

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


Ты лукавишь. Проброс чекед эксепшенов пробрасывает и информацию наверх. Ты наверху точно будешь знать какие к тебе придут эксепшены и что тебе надо обработать. С анчекедами это не так.

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


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

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

>с оверрайженным пустым fillInStackTrace


Там же просто один флажочек поставить, пик. Не оч понял про что ты.

Короче, если плюс помимо возможного перфоманса нет, то ну нафиг. Условно жвм умеет оптимизировать стектрейсы уже давно.
Давай еще какие-нибудь плюсы придумай))
97 3271239
>>71232

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


Проиграл с того как этот даун называет круговое обоссывание за бесполезную бойлерплейт тормозную хуиту.
98 3271243
>>71239
Да пошел ты. Я вообще не понимаю хули вы про меня помните. Я тут полтора блять месяца не был.
99 3271256
>>71232

>Там же просто один флажочек поставить, пик.



Флажок прощелкал, каюсь. Я в сорцах разных фреймворков видел - делают разные Signal extends Exception, и в них кастрируют fillinStackTrace.

>Но типа монадные конструкции не собирают его не потому, что они такие ахуенные и перфомансные, а просто потому, что не могут



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

Просто есть два принципиально разных типа исключительных ситуаций - recoverable и неrecoverable. В первом случае надо просто форсить компилятором обработку таких исключений (которая в 99% случаев подразумевает восстановление из исключительной ситуации в нормальную). Во втором - наоборот: control flow зло и эксепшен дролжен прошить все слои и пиздануть глупого девелопера по ебалу стектрейсом. Посередине нихуя нет. Для второго случая лучше анчекед эксепшенов нихуя не придумано. Первый случай мы тут обсасываем.

Ну и не то чтобы я настаивал на том, что прям нужно экономить на спичках. Просто насколько я прокурил эту тему, раньше с этими стектрейсами были прям проблемы, из-за чего и сложилось это правило, что control flow via exceptions is evil. Ну и плюс история все таки все равно развернулась в сторону монадок - попробуй ка поработай в стримах с чекедами. Заебешься.
100 3271381
Что лучше использовать для графики в java?
image.png37 Кб, 618x330
101 3271389
>>71256

>Для второго случая


Они кстати на Error по твоему описанию похожи.

>control flow via exceptions is evil


Я кстати думал, это из-за плохой репутации goto. Мол типа мы из кода лапшу делаем, а это плохо.

>попробуй ка поработай в стримах с чекедами


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

Сам код: берет некий массив, создает в нем двухэлементное окно. Типа [1,2,3] => [(1,2),(2,3)].
Потом divide правый элемент каждой пары на левый элемент. И наоборот. Полученные два результата опять делим друг на друга.
В процессе этого, они могут поделится на ноль и таким образом образоваться ошибка.

И вот думаеца мне, что на го код для данной задаче не будет особо короче джавового. Поэтому, ну простое введение Result ничем не поможет: будет та же хуйня с кучей вложений и лишних обработок.
102 3271391
>>71256

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


Ещё один маня-теоретик повторяющий за блохерами из ютуба высрался. Как всегда приправил токсичностью в сторону себе подобных, пидорюндель ебаный. Давай, объясняй, почему положить микросервис нахуй лучше, чем отправить клиенту сообщение о внутренней ошибке и залоггировать ошибку.
103 3271392
У ТЕРАПЕВТА ЗАКОНЧИЛАСЬ РУЧКА
@
ВСТАЛА ВСЯ БОЛЬНИЦА
104 3271555
Придумал новую языковую фичу, куда заводить jep?
105 3271608
>>71214

>>Усилия по сборке стектрейсов - коту под хвост.


если стектрейс по коду не вызывается - он и не собирается

https://www.youtube.com/watch?v=2OJXRwtjfg0
106 3271633
>>71232

>>Ты наверху точно будешь знать какие к тебе придут эксепшены и что тебе надо обработать. С анчекедами это не так.


Как быть если мне похуй какие там исключения, я не собираюсь их обрабатывать? Если жсон не спарсился - я не буду вызывать другой парсер, я просто выкину 500 клиенту и пукну стектрейсом в лог.
107 3271635
>>71633
Паджит Дривен Девелопмент лол
108 3271642
>>71608
Правда в том, что он из-за наличия топ-левел принтеров исключений в фреймворках собираться может всегда, и на этапе компиляции гарантированно вычислить, будет ли в тот или иной момент собираться невозможно из-за нерешаемости проблемы остановки.
109 3271649
>>71633
Есть разные чекед исключения же. Вот для меня например важное, чтобы вот это https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html было в сигнатуре функции. И я точно знал, что неплохо бы тут подумать над тем, как оно будет прерываеться.
А вот в котлине тебе надо это помнить, забыл: в лучшем просто ошбика утечет наверх, в худшем же у тебя тред не завершит работу и будут утечки.

А насчет жсона, если большинству клиентов этого апи похуй на эти исключения и они их просто подавляют, возможно просто дизайн неудачный или сделан не для людей, ака jdbc.
110 3271772
>>71649
Так и не понял кстати что делает вызов interrupt() в ранабл в ответ на исключение. Остановится ли тред сразу,остановится ли только таска и тд. Тяжело
111 3271775
>>71772

>что делает вызов interrupt()


Восстанавливает флажок того, что тред был прерван, поскольку исключение IE делает этот флажок = false. В основном это нужно, чтобы наверх передать, типа информацию не терять. Нооо, смотря кишочки всяких разных тредпулов и фючеров, я не заметил, где эта информация вообще применяется. Наверное можно считать это правилом хорошего тона.
112 3271779
При написании генерика можно потребовать, чтобы параметризованный тип был наследником того или иного класса. Можно ли потребовать, чтобы тот или иной тип был реализацией интерфейса?
113 3271788
В чём смысл конструкторов с модификатором доступа protected?
114 3271792
>>71775

> Восстанавливает флажок того, что тред был прерван, поскольку исключение IE делает этот флажок = false


Наоборот же,тред по умолчанию не интерраптед,а исключение просто оповещает что снаружи тред хотят прервать
image.png91 Кб, 1222x462
115 3271796
>>71792
Чиво.. Пик.
>>71788
Шоб в хибере делать ентити.
>>71779
Почему нельзя?
116 3271798
>>71788
Смысл в том чтобы ты не мог создать объект. Типо хочешь создавать объект— наследуйся. Мб это для фабрик актуально
117 3271800
>>71796
Ладно,видимо у меня довольно поверхностные знания в области прерывания потоков
118 3271801
>>71800
Они у большинства такие, ибо это нахуй никому не нужная инфа, пхпхп.
119 3271803
>>71796
Ну ты выделил условие при вызове вейт метода,а ниже написано что статус будет установлен если ни одно из вышеуказанных условий не выполняется
120 3271807
>>71389

>Они кстати на Error по твоему описанию похожи.



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

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



Дык монадки то и пришли из ФП-штучек. И не от хорошей жизни они туда пришли. Ты попробуй ка спроектируй методы на Stream API таким образом чтобы они чекед эксепшены поддерживали? Скорее всего ты просто засрешь апи - у тебя вместо мап будет мапЧекед и мапАнчекед. А монадки в паре с дженериками эту проблему решают
121 3271812
>>71391
Токсичный здесь только ты. Я бы мог пояснить тебе за твой вопрос, но ты сам задал тон дисксссии. Пошел нахуй.
122 3271814
>>71807
Хм, интересно..

>Ты попробуй ка спроектируй методы на Stream


Ну вообще что-то сделали: https://www.baeldung.com/exceptions-using-vavr по виду вроде неплохо выглядит. Правда пользоваться я таким не буду.
123 3271816
>>71803
Короче. Просто смотришь в кишки(пик1). Вот, флажок. Он ставится. Потом этот флажок смотрят остальные методы, обычно через interrupted(), корторый этот флажок снимает, ну и вызывают соответсвующее исключение. На пике3 пример реализации Condition. И там как раз лок саппорт.

И вообще я не очень понимаю, что именно ты хочешь, доказать, хм...
image.png110 Кб, 933x798
124 3271818
>>71816
Хотя 3 пик не совсем то. Вот тут ошибка непосредсвенно вызывается. Т.е. он следит за тем прерывал ли кто-то тред, сохраняет этот флажок, в конце ебашит исключение.
Object#wait примееерно также работает, просто на уровне jvm.
125 3271819
>>71816
Просто посраться
126 3271821
>>71819
Забыл тогда назвать меня долбоебом. Без этого никак.
1726232389468.jpg11 Кб, 225x225
127 3271869
128 3271944
>>71814
Так вот именно! В вавре и так комбинаторный адок с Functionами и Tuple'ами из-за того, что надо по отдельному классу на кортеж и функцию с N-ным количеством параметров... Так теперь еще из-за чекед эксепшенов есть серия классов CheckedFunction. И да - они декларируют в сигнатуре чекед эксепшен. Но толку то, если он там throws Throwable.

И самый главный прикол этого CheckedException - методы lift/liftTry. Которые суть - читерство, для того чтоб эксепшоны в уютную монадку Try упаковать.
129 3271946
>>71944

>CheckedException



CheckedFunciton. Оговорился
5234532.png36 Кб, 1171x205
130 3272054
Сап, братья. Делаю лабу по Джаве, сейчас идёт тема наследования. И у меня нахуй взорвался мозг от условия, которое написано в задании. Итак, в супер-классе есть некий метод, принимающий строковый параметр. В классе-наследнике требуется, на основе метода родителя, сделать методы с разными параметрами, используя переопределение и перегрузку методов. И...как, блядь, это сделать, если метод, при переопределении, по определению должен иметь такой же набор параметром? Поскольку я нихуя не шарю в программирование, хотелось бы узнать мнение анона, что здесь имеется ввиду и как это сделать.
image.png55 Кб, 729x661
131 3272072
>>72054

>Делаю лабу по Джаве


>Поскольку я нихуя не шарю в программирование


А нахуя поступал тогда, лол?

Чет тип пика, наверное.
132 3272076
>>72072
Спасибо за помощь, анон. Только я нихуя не понял. Когда в классе родителе есть метод, который мы хотим изменить в классе-наследнике, мы переопределяем его. Но нахуя вообще нужно переопределение, если можно ёбнуть перегрузку метода, без этих ваших @Override?
133 3272085
>>72076

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


Ну... Нет. Переопределение просто одна из форма ad-hoc полиморфизма. Его делают обычно, чтобы поддерживать несколько типов не связанных между собой иерерахией.
Вот не знаю, хочешь ты сделать метод который складывает два числа, сделал пик1. Потом думаешь, а почему бы мне не расширить его еще до лонгов и не знаю, для дабл.. Выходит много много методов пик2. В принципе, больше не для чего тебе переопределение не понадобится. На пик3 наглядно, как его используют в жаве.

Перегрузка тоже форма ad-hoc полиморфизма, просто в ней меняется не тип, а алгоритм, который зависит от контекста, где он находится(класса). И да, тип параметров при перегрузке можно менять, пик4.
134 3272117
>>72085
Спасибо за пояснение, анон.
23523.png69 Кб, 595x838
135 3272160
Аноны, ещё один вопрос (выше я спрашивал насчёт наследования и переопределения). Как, используя переопределение метода в классе-наследнике, установить значение закрытого поля в классе-родителе? Слово super не катит, среда пишет, что оно только для конструктора. А мне нужно именно так сделать по условию задачи (чтобы переопределённый метод задавал значение закрытому полю).
136 3272171
>>71555
Бамп
137 3272304
>>72160
Попробуй втупую, идея подскажет.
>>72171
Для тебя сделали jep 1. Там все четко написано.
138 3272321
>>72304
Бля, спасибо анон. Ты прям очень выручил. Я уже пропустил это ебаное задание, и пошёл дальше, и там такой хуйни с закрытыми полями нет.
139 3272323
>>72321
Да не за что. Я тут сам буквально вчера ебался с ебаным ажаксом и шарпом. Сука какое же лютое говнище пиздец, до сих пор горит. Сиди копайся в кишках, непонимая какого хуя это не работает, просто ррря. Никогда такого в няшной жабке не було, в ней хотя бы документацию люди пишут, а не майки.
140 3272324
>>72304
Чет дохуя возни
Короче я придумал записывать поля enum-ов так же как у record-ов, а слово class в декларации enum-а сделать необязательным.
141 3272326
Ага лол, а на https://hg.openjdk.org/jep/jeps последние коммиты 10 лет назад.
142 3272327
>>72323
К слову, я хоть и нихуя не разбираюсь в программировании, чтобы что-то там судить о языках, но C# понравился мне больше. Я вообще с него вкатывался в эту тему, но успел изучить немного, всякие там типы данных да массивы. Потом, когда поступил в ВУЗ, Java стала основным языком на учёбе (в смысле, она по дефолту много где шла). И мне не очень нравилось, что если в том же C# достаточно написать Console.ReadLine, то в джаве нужно аж ёбанный объект класса Scanner создать. Впрочем, сейчас эти "различия" уже не кажутся мне чем-то критическим.
143 3272330
>>72324

>поля enum-ов так же как у record-ов


Думаю слишком большая вложенность скобок будет. Представь твоему енуму поле сделать и будет подобное:
enum Enum(One(1), Two(2)){
int num;
}
Плюс это каких-то явных преимуществ не даст, просто измнение синтаксиса ради измнения синтаксиса. В общем сомнительно, что его приняли бы.

>class в декларации enum


Про что ты?
>>72327
Я не собираюсь холивары разводить. Просто сгорело, вот и усе.
144 3272336
>>72330
Не, я не ради холиваров это написал. Я скорее к тому, что таки выбор любимого языка, в ряде случаев, происходит по каким-то своим внутренним ощущениям. Мне C# показался как-то интуитивнее той же Javы (с высоты своего небольшого опыта). Тебе, судя по всему, Java заходит куда больше. Каждому своё, в общем.
145 3272341
>>72330

>Думаю слишком большая вложенность скобок будет


Ты пупуня совсем? Это будет выглядеть так
public enum State(@JsonValue String jsonRepr) {
UP("up"),
DOWN("down")
}
146 3272359
>>72341
Да-да. Она самая.

Не ну выглядит интересно, но таким образом ты забираешь возможность поставить модификатор доступа. Или предлагаешь как в record все пабликом сделать?
147 3272376
>>72359

>Или предлагаешь как в record все пабликом сделать?


Не думал об этом. Я думал о том, что все поля все равно неявно final, так что по духу близко.
148 3272387
>>72376

>что все поля все равно неявно final


Ну на данный момент в енумах они могут быть и не финальными.

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

Еще лично мне в енумах не хватает только поддержки женериков....
149 3272401
>>72387

>Еще лично мне в енумах не хватает только поддержки женериков....



Емумы с поддержкой женериков - это силед-классы)

Шутка.
150 3272476
>>72401
Залетух...
1. Скобки на сосаче не используются.
2. Отчитываться о том, что твой пост является шуточным не принято, т.к. особо сильных последствий даже от самого жирного троллинга нет.
151 3272513
>>72476

>сосач


из 2011 пишешь?
152 3272569
>>72476

>1. Скобки на сосаче не используются.



Нашел до чего доебаться. На тебе тире как вы все любите ---

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



Так местные чето какие то слишком серьезные дохуя. Начнут щас на серьезных щщах доказывать еще что силед - говно а емум - заебись, вперемежку со своими загонами и подрывом жоп.
153 3272752
>>67379 (OP)
Какой положняк по вкату в Джаву в 2024м?
154 3272754
>>72752
Через постель разве что.
155 3272762
>>72752
Вводные: высшее образование в сфере ИТ, общий стаж работы там 9 лет, из которых 7 лет писал бекенды на гавноязыке в VS Code. Смежные технологии, на которых работал - git, docker, rabbit, redis, pgsql, kubernetes (в меньшей степени)
c4b84b6e-1dd8-4593-b8bb-271e706e7c77.png254 Кб, 475x633
156 3272930
Дак куда вкатываться то, в андроид или бекенд? Джаву 3 месяца изучал потом хуй забил, еще 1 месяц андроид учил
157 3273076
>>67379 (OP)
Жёлтые пидорасы, у вас лк лежит. Как же заебала эта хуйня, опять в интернетах что-то не работает...
158 3273077
>>73076
Починили. Читают.
159 3273105
>>72752
Диплом без троек с профильного вуза, хорошее знание алгоритмов и структур данных, уметь решать задачи на графы на листочке, стаж работы от 3 лет с подтверждением в трудовой, ну и естественно знания всех сопутствующих технологий.
160 3273110
Как же школьник поступивший в ПТУ на молочника-связиста уверяет себя, что это ему пригодится...
161 3273947
Вы просто имаджинируйте, что уже джава 23 выходит...
162 3274010
>>73947
И че? Снова нихерища интересного.

Даже превьюшка про примитивы в свитчах - это то, что должно было быть изначально, а не спустя N лет. Да и прошло уже больше года с того момента как ввели эти свитчи, я как-то за это время наигрался с паттерн матчингом, нет такого восторга от жабы, эхх.
163 3274017
Надо в ту пикчу с индусом добавить свитч по булину.
164 3274210
>>73947
Эти ебанаты собираются виртуальные потоки фиксить или быдло и так схавает,неча барское время на это тратить?
165 3274249
>>74210
Они их уже наполовину пофиксили. Больше синхронайзеды не так сильно больные.
image.png470 Кб, 960x813
166 3274256
Долбоебы из джетбрейнс сломали автокомплит.
Попробуйте написать
Stream.of("jetbrains", "jret", "jovno").map().toList()
Поставить курсор внутри map и написать trim
Я в ахуе просто.
167 3274279
>>74256
Никогда оно у этих даунов не работало. Надо перед точкой ставить.
168 3274294
>>74279
Работало в предыдущей версии, иначе бы я не обратил внимание. Теперь еще и пофиксят хуй знает когда.

>Надо перед точкой ставить.


Чего блядь?
169 3274299
>>74294

>Теперь еще и пофиксят хуй знает когда


Заведи тикет, в чем проблема?
170 3274309
>>74299
Тикеты из России они не принимают.
171 3274311
String, CharSequence и char[]

В чём разнциа при использовании?
172 3274323
>>74311
Разные методы. char[] самый примитивный
qweqwewqe.png2 Кб, 541x69
173 3274325
Обязательно ли использовать буферизированный вывод при записи в файл? Или можно просто сделать так, как ниже?
174 3274330
>>74323
Я в java после си. Так вышло, что там на всё это используется просто массив символов(обычно для этого делается конструкция вида char* str=malloc(...)). Из-за этого не совсем понятно, что и когда использовать.
175 3274344
>>74309
Я им блядь штук 20 тикетов сделал с аккаунта с аватаркой ПЫНИ блядь, всё приняли, что за нахрюк?
176 3274346
>>74325
Перформанс низкий будет.
177 3274348
>>74344
Пруф.
178 3274354
Почему в контроллерах нельзя выбрасывать эксепшены? Чем это заменяется у профессионалов?

@PostMapping
public ResponseDTO test(@RequestBody RequestDTO request) {
try {
return someService.execute(request);
} catch (Exception e) {
anotherService.save(request);
throw e;
}
}
179 3274359
>>74249
Короче ясно,хомячки и так схавают,а у оракла есть задачи поважнее, ещё столько фич из скалы не спизжено
180 3274360
>>74330
String используем бай дефолт. Остальное зависит от условий.
Если нужна мутабельность, часто изменяем строки - StringBuilder.
Если мы сохраняем конф. инфу, типа пароля - CharSeq/char[].

Обычно так, вроде. И свои строки не надо делать. Они в любом случае будут хуже стринга.
181 3274361
>>74309
Мой тоже, кста приняли. Но показывать я его не буду, потому что жаваны злые и опять меня затравят. Себе дороже.
182 3274363
>>74359

> ещё столько фич из скалы не спизжено


Например?
183 3274364
>>74354
Да вроде кидают эксепшены. А вот трай кэтчи заменяется обычно обработчиками. Тип того https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
184 3274365
>>74354
Кидают эксепшены всегда,главное обработчик написать. Почитай про контроллер эдвайс
185 3274388
>>74363
Инфиксные методы, например. С их помощью можно дслки начать делать. Ну или знаешь, написать универсальный метод, который бы брал какое-то значение и применял к какой-то функции, пик 2 типа. Существую такой метод, не нужно будет ручками делать паттерны типа билдеров или аля стримы.
>>74359
Я кстати не понимаю, зачем оракл вообще пошел в сторону функциональщины. Реально проблем важнее нет?
186 3274392
>>74361
Тут прочитал. У меня акка JB нет, чтобы тикеты им заводить.
https://habr.com/ru/news/825052/comments/#comment_26981856
187 3274394
>>74360
Благодарю
188 3274398
>>74392
У меня тоже нет, я просто из гитхаба взял. И хуй знает, повторюсь, у меня приняли даже не стали бухтеть, что я шиз это хуйня или то, что я узкий.
189 3274467
>>74388

>зачем оракл


Оракл ничего не выбирает. Он только деньги башляет (и собирает, за платную сборку оракл жидкей). Выбирает Брайан Скуфц. Де-факто несменяемый диктатор джавы. Любое изменение в джаве делается с его позволения.
190 3274471
>>74467
Ну окей, вопрос-то тот же. Зачем гетцу это надо? Можно было и дальше продолжать топить в чистое ооп, зачем эти заигрывания с фп...
191 3274474
>>74471
Спроси его. Как по мне что функциональщина, что ООП имеют фундаментальные ограничения (но функциональщина побольше). Правильный стиль кода это стиль си с использованием ООП и прочих неуниверсальных парадигм по необходимости.
192 3274476
Может быть Гётц думает, что прямая императивщина есть, ооп есть, всё есть кроме функциональщины, значит надо её добавить.
193 3274517
>>74476
Он ее добавил еще 10 лет назад в жаве 8. Теперь планомерно развивает. Я к тому, что это не добавили лишь бы было.
>>74474

>Спроси его.


Если бы я мог. Да и думаю он отвечал уже, найти бы.
194 3274575
https://habr.com/ru/companies/ruvds/articles/843728/
Ява как обычно всех выебала.
image.png18 Кб, 721x181
195 3274582
>>74575
Чел просто пиздит о том, что не понимает. Вот первый же тезис говно. Сука, для этого придумали монады и этот бойлерплейт скрывают, называя эффектом. В нормальных языкам тебе блять не надо писать ифы или матчить это как-то, там за тебя все сделали.

На счет системных ошибок - есть MonadFail.

Дальше хуйня про перфоманс - похуй. Эти сравнения в вакууме ничего не стоят.
196 3274779
>>74582

>врёти!

197 3274851
>>74582

>Сука, для этого придумали монады и этот бойлерплейт скрывают, называя эффектом



Так это в функциональных языках. Без do-нотаций монадки не такие няшные.
198 3274857
>>74851
Ну я про это уже писал( >>71389 ), что если твой язык не может сделать эти монады няшными, то наверное вводить их хуевая идея.
>>74779
Да-да.
199 3274883
>>74857
Ты мечешься от одной крайности к другой просто. Нужда в монадках в твоем языке появилась, когда появились стримы. Ты мог бы сказать что и стримы вводить была хуевая идея, но стримы не от хорошей жизни вводились.

Че ты хочешь от айтишки - айтишка одновременно самая клоунская и самая консервативная область деятельности человечества. Анальникам понадобились десятилетия чтобы понять, что вечно на императивщине сидеть не получится, не вывозит она современные реалии. А просто слезть и пересесть на хаскель, где всю дорогу всё было, не позволяет зашоренность и предвзятость мышления. В конечном итоге имеем опять клоунский торг длиною в десятилетия, где в джаву завезли уже стримы, лямбды, комплитаблфьючи и продолжают завозить всякое прочее стракшерал конкарренси (и я почти уверен что рано или поздно завезут и дунотацию, но не скоро), а хомяки переизобретают гоу, делая его таким же императивным, каким они привыкли видеть разработку.
200 3274913
>>74857

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

201 3274960
>>74883

>но стримы не от хорошей жизни вводились


А конкретнее? Вроде форы не настолько неудобные да и многие задачи чисто через стримы сложно решать.

>и стримы вводить была хуевая идея


Монада листа и без do нотации вполне юзабельная. Вот Optional вот это да, не пришей к пизде рукав.

>Че ты хочешь от айтишки


Мне просто не совсем нравится тенденция, когда вот видят фичу в каком-то языке. Видят, что она хорошо работает и выдергивают без контекста в свой язычек. А потом удивляются, а че она так плохо работает-то. Хуже будет только, если эту не очень хорошо работающую фичу будут проталкивать на безальтернативной основе. В жаве со стримами и пр. это хотя бы не так.
202 3274993
>>67379 (OP)
Почему на JAVA больше откликов на вакансии чем на других языках? Разве это не один из самых сложных языков для больших систем?
203 3274996
>>74993
Ты посмотри сколько откликов на питухон, например. Джава не только относительно сложный язык, но ещё и популярный, в большой троице.
204 3275005
>>74960
Какой же ты блядь даун несущий несусветную пургу с умнейшим видом. Типичный порридж с синдромом Даннинга-Крюгера. Один вид поста со смыслом, но под ним нихуя. Ёбаный имитатор-позёр.
205 3275020
>>75005

>ты блядь


>даун


>порридж с синдромом Даннинга-Крюгера


>Ёбаный имитатор-позёр


Я ведь обижусь...

>умнейшим видом


Врешь ты. Дефолт пост, точнее ну сколько не перечитывал, искренне не могу понять, где вы тут подобное находите.
206 3275097
>>74960

>Вроде форы не настолько неудобные



Это пока ты линейно по коллекции конечной длины бежишь. Ты конечно паралеллизм и в тушке фора раскорячить можешь, но на то оно и ФП чтобы делать потоковую обработку данных за адекватное количество бройлерплейта.

>Мне просто не совсем нравится тенденция, когда вот видят фичу в каком-то языке. Видят, что она хорошо работает и выдергивают без контекста в свой язычек



Чел, расслабься. У тебя просто нет другого выхода и все. Написать новый язык не выход никогда. Да и инертность мышления программистишек - данность, кто бы что ни говорил. Программисты как лабали структурное программирование в 70х, так и продолжают это делать вопреки тому, что многие проблемы современной разработки императивщиной решаются из рук вон плохо. В таких условиях черри-пикать фишки из других парадигм - единственное что тебе впринципе остается. У тебя нет никакого выбора.
207 3275112
>>75097
Чем больше тупорылых фич добавят оракл,тем яростнее будет наш щитпост в джаватреде
208 3275116
>>75112
Да вам не угодишь. Добавляют фичи - у джаванов в треде яростный щитпост и тряска. Перестают добавлять фичи - в тред набегают орды шарпеев а джаваны перекатываются в гоферы. Вы там блять определитесь уже.
209 3275119
Мне надо по работе написать сервер oauth2 авторизации. Испльзуем спринг бут. Какие зависимости лучше использовать для реализации oauth2: spring boot или spring cloud?

Еще одна проблема в том, что по спецификации внешнего сервиса, с которым мы будем делать интеграцию, запрос авторизации выглядит так: client_id=123123123&client_secret=ABCDEFGHIJKLMNOPQRSTUVWXYZ&grant_type=client_credentials&scope=read%20write
А по спецификации oauth2 client_id и client_secret передаются в параметрах авторизации, а не в параметрах формы. Как это сделать?
210 3275161
>>75116
Лично я хочу чтобы в массивы добавили метод .stream() чтобы не пользоваться статическим методом и починили виртуальные потоки,все,мне больше ничего не надо,пусть сосредоточатся на Вальхалле и подобных масштабных проектах,или ядро оптимизируют без трат на тысячи версий джавы в год
211 3275163
>>75119
По вопросу складывается впечатление что ты не понимаешь о чем спрашиваешь. Ты хочешь сказать что у спринг бута и спринг клауда есть стартеры для оаус2?
212 3275172
>>75161
А что не так со статическим методом? Не по понятиям?

И в каком месте виртуальные потоки сломались?
213 3275173
>>75163
У спринг клауда есть spring-cloud-starter-oauth2, погугли. У спринг бута тоже есть они:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-authorization-server</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
<version>${spring.boot.version}</version>
</dependency>
214 3275182
>>75173
Ну конкретно в клауде,авторизейшн сервер выдает токены,а ресурс сервер хранит защищённые данные к которым ты запрашиваешь доступ с токеном который получил от авторизейшн сервера. Подозреваю что в спринг бутовом стартере просто готовые классы для работы с оаусом без разделения на такие четкие амплуа
215 3275185
>>75182
Наоборот получается,у бута разделение,а у клауда общее*
216 3275238
Как вы на собесах помните где какая фича добавилась в версии? По каким версиям чаще всего спрашивают?
217 3275259
>>75238
Лично я просто сидел до какого-то времени на 8 версии, поэтому на личном опыте помню, что появилось после. Плюсом к этому знаю некоторые различия в кишках.. И еще на паре версий сидел. +- понимание версионности появилось.

В любом случае фич после 8 не много, да и нахуя спрашивать о том когда-то что-то появилось. Хуйня какая-то.
218 3275314
>>75259
После 8 и до 17 ничего важного не добавилось, так что не помню.
219 3275320
>>75314
Попробуй напиши маленький пет, чисто на 8. Без спринга. Можно и без веба. Потом впечатления мне же тут распишешь.
220 3275406
>>75116
Да никто кроме залетух мимикрирующих под заплесневевших дедов на фичи не жалуется. Настоящие заплесневевшие деды типо меня ноют, что фич мало.
221 3275409
>>75119
С зависимостями разобрался, буду использовать спринг бут. С клаудом бут совмещается очень плохо.

Осталось разобраться, как правильно принять запрос авторизации. По документации запрос на получение токена выглядит так: client_id=123123123&client_secret=ABCDEFGHIJKLMNOPQRSTUVWXYZ&grant_type=client_credentials&scope=read%20write
Это можно записать иначе:

curl http://localhost:9000/oauth2/token -F client=123123 -F client_secret=ABC -F grant_type=client_credentials -F scope=read write

А нужно:

curl -u 123123:ABC http://localhost:9000/oauth2/token -F grant_type=client_credentials -F scope=read write

Как это реализовать?
222 3275420
Кто пробовал WebFlux с Kotlin после Java?
223 3275511
>>75406
Много, но не синергирующих друг с дружкой фич тоже не надо. Будет свалка уровня cpp. Пусть реально большую часть усилий сосредодрочат на ебаной вальхалле.
>>75409
Возможно оно? https://www.baeldung.com/spring-security-custom-oauth-requests
Помню когда кейклок настраивал чет такой хуйней не занимался..
224 3275514
>>75409

>А нужно:


Кому нужно?
225 3275594
>>75511
Сам-то понял, что высрал?
226 3275606
>>75594
Опять ты? У тебя личный пунктик или что? В любом случае давай конкретнее. Я не понимаю какой именно тезис тебе снова не понравился
227 3275608
>>75606

>нихуя не понял, уточни


Исключительно проблема твоей манеры отвечать на миллион постов одним постом.
228 3275611
>>75608
Ну заебись же я щитаю. Типа знаешь решение n+1 проблемы, вмето миллиона запросов на миллион обжектов, всего один, пхех.

И не хочешь говорить и ладно.
229 3275661
>>75611

>я паследний пост аставлю!


Нет.
230 3275805
Грааль вм под джаву 23 уже вышел. Ну и нахуй нужна джава 22? А, да, точно, потому что стринг темплейты, интегрити бай дефолт и прочие поломки обратной совместимости. Спасибо, дядь Гётц!
231 3275812
>>75805
Какие поломки обратной совместимости? Стринг темплейты были превью их и выперли на этом праве. То, что вы постоянно лезете в детали реализации и ноете, ноете и ноете о том, что ррря как можно их менять реально надоедает. Просто берешь и не лезешь в приватное апи. Это же просто и легко.
232 3275814
>>75812
ВОРУЙ
@
УБИВАЙ
@
ЕБИ ГУСЕЙ
@
ЛЕЙ В ПРОД С --enable-preview
233 3275820
>>75812

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


А давайте сделаем вообще всю джаву превью и можно будет ломать что угодно! Блядь, не опускайся до уровня шарподаунов, у которых всё что не кроссплатформа выписано из дотнета.
234 3275823
>>75820
Ты щас сам психуешь как пубертатный масленок у которого конфетку отняли. Даже потешно.

Не стыдно?
235 3275824
>>75823
Ну и нахуй ты порвался?
236 3275825
>>75820
Про то, что превью может быть даже отменено писали очень давно. Тебе даже специально вставили кучу палок в колеса, чтобы ты не запустил превью код легко и не смешивал его с нормальным.

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

>до уровня шарподаунов


Без понятия как там в шарпе. Я на нем не пишу.
237 3275826
>>75825
А может быть лучше было бы не вставлять палки в колёса, но и не отменять нихуя?
238 3275833
>>75826
Если б ты хоть раз коммерческий код для клиентов писал, ты б не задавал таких тупых вопросов.
239 3275834
>>75833
Погугли пирамиду аргументации прежде чем в серьёзные дискуссии взрослых людей суваться.
240 3275837
>>75834
Так и не суйся, инфантил.
image.png54 Кб, 614x497
241 3275838
>>75826
Тогда бы ты вообще не получил стринг темплейты.

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

И смотри какую няшу планируют:
https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html
Жди, не трясись. Все будет лет через 5
242 3275843
>>75838
Теперь осталось только придумать синтаксис для превращения StringTemplate в String
$"foo \{bar}"
"foo \{bar}".toString()
Или вообще неявное преобразование
243 3275850
>>75172

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


У него в голове.
244 3275851
>>75837

>нет ти


Ясн...
245 3275856
Я пишу микросервисы. Апи центрального микросервиса системы защищено простой авторизацией на основе JWT токена (не oauth 2). Чтобы получить доступ к апи этого микросервиса, надо отправить POST-запрос с логином и паролем на адрес /auth/login, получить токен и отправлять этот токен при каждом запросе ресурсов. С нового микросервиса мне надо получить доступ к апи этого сервиса и для этого надо авторизоваться. Для запросов буду использовать feign client. Как настроить feign так, чтобы он прошел авторизацию и использовал jwt-токен при каждом запросе?
247 3275924
>>75856
Я в такой форме ЧатПГТ пытаю..
248 3275952
>>75924
С такими запросами как раз нейросетки лучше всего справляются.
249 3276016
>>75843
.toString() если сделают я взорву офис оракла во имя Аллаха.
250 3276019
>>76016
Стерпишь как миленький. Всегда так было и будет)
251 3276020
>>76019

>гетсет вжвжвжвжвж гетсет гетсет гетсет вжвжвжвжвж

252 3276028
>>76020
Вжжж~~

Но мне гет виз как-то больше по душе. В жопу мутабельнсоть.
253 3276056
>>76028

>я паследний пост аставлю!


Нет.
254 3276125
Можете меня поздравить,я осилил книжку с поездами
255 3276139
>>76125
Пробежать глазами не значит осилить.
256 3276148
>>76139
Вдумчиво прочитал каждую главу,даже про жмм и юай
257 3276150
>>76148
Прочтение без практики бесполезно.
258 3276186
>>76125
И как тебе впечатления в общем?

Лично мне вот 16 глава больше всего понравилась. До сих пор частенько перечитываю.
259 3276236
>>76186
Хотел написать что 16 глава самая норм,имхо ее надо было в самое начало вставить. В целом это было сложно,но определенные знания я почерпнул,хотя я рассчитывал что вся книга будет целиком про кишочки,а оказалось это этакий обзор классов джавы
260 3276268
Нахуй нужен OpenID Connect, если в OAuth 2.0 можно использовать JWT в качестве Access Token и класть всю инфу об юзере туды?
261 3276287
>>76236
Кмк в начале 16 гл. уж точно не место, она только запутает неофитов этим happen before. К слову в ней не так много объяснено и очень многое упрощено.

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

>а оказалось это этакий обзор классов джавы


В ней еще годно классифицируют типикал канкаренси ошибки.
262 3276309
>>76268
1) Потому что OIDC это стандартизированое расширение OAuth 2.0 для аутентификации, тогда как OAuth 2.0 предназначен для авторизации. Более того большинство компаний уровня гула и фейсбука юзают OAuth 2.0 для аутентификации своим личным нестандартным способом, как ты говоришь.
2) OIDC отличается от OAuth не access токеном а ID токеном.
263 3276322
>>76309
Спасибо чатжпт, но ты не ответил на вопрос.
264 3276329
Так вышло, что интерфейсы не имеют конструкторов(по крайней мере, так написано в книжках и на сайтах).

Тогда что можно сказать про код снизу?

public class QWE
{
public static interface III
{
public int fi(int a, int b);
}
public static III i1= new III(){ public int fi(int a, int b){return a*b;} };
}
265 3276337
>>76322
Потому что вопрос ебанутый: почему теплое если можно мягкое.
Я тебе ответит на корректную часть вопроса

>Нахуй нужен OpenID Connect,


Потому что OpenID Connect это стандарт, поэтому он нужен. Для стандартного протокола. Например берешь keykloаck и используеш для аутентификации с совместимымы клиентами, а не городишь свои велосипеды.
Велосипедность уже в том что ты хочешь access token для аутентификации использовать. А в нормальных схемах безопасности у токенов есть разграничения скоупов. Для получения минимальной инфы об пользователе в OpenID Connect используется специальный ID token
266 3276344
>>76337

>Велосипедность уже в том что ты хочешь access token для аутентификации использовать.


Я не то, что хочу, у нас уже на проекте так сделано. В access_token есть id, имя и email юзера. И у нас используется keycloak.
267 3276346
>>76344
А если юзер поменяет имя или емейл? Че вы с этими токенами делать будете? Я не понимаю нахуя пихать в токены неиммутабельную информацию.
268 3276355
>>76346
По факту эти клеймы никак не используются (кроме id). Просто непонятно, почему так.
269 3276358
>>76329
В чем вопрос? Код как код, можно лямбду использовать, вместо анонимного класса.

>не имеют конструкторов


Нахуя им конструкторы, если у них нет состояния? Может тебе абстрактные классы нужны?
270 3276360
>>76358
В этом и суть, что в коде есть нечто похожее на объект какого-то класса: присутствует оператор new и имя со скобками.
271 3276361
>>76360
Повторюсь, вопрос-то в чем? Ты это читал? https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html
272 3276376
Пишу бекенд для очередного мессенджера. Использую редис для пересылки ивентов между сервисами, и хранения ид вебсокет сессий. Хочу также использовать редис для кеширования. Нормальная ли практика один инстанс редиса юзать и для кеширования и для месседжинга? Есть у кого практика? Нагуглить ничего внятного не получилось.
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

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