>>3181449 Лучше такой, чем с петросянством в стиле КВН. Газы он там нюхает, блядь. >>3181414 → Union. Ты читать не умеешь? Создатели говнокотлина заплатили Red Hat, чтобы они тихо слили Ceylon в Eclipse Foundation. Без этого их говноязык не был бы нужен никому. >>3181451 Два месяца только.
>>3181498 >Ты читать не умеешь? А что если да? В любом случае, на вопрос ты не ответил. Зачем это в жабе, если есть ad-hoc полиморфизм ну и sealed с pattern mathcing? >заплатили Red Hat А гуглу они тоже заплатили? Пруфы-то будут?
Основная идея, мол вот есть OutputSignal и InputSignal. Есть стейты. Сами переходы детерменированы входными сигналами и неплохой тайп сейф выходит, который даже идея подсвечивает. Плюс можно распределить по пакетам, полностью скрыть все конструкторы и оставить только StartState и возможность создания сигналов. Изначально так и было, но слишком громозко, я все на record заменил тут.
Главное, что я непоняв, так это как модульную структуру сделать в этих автоматах.
>>3181707 А что там практиковать-то? foreach уметь делать? На счет женериков, попробуй получить Class<? extends List<Integer>> без кастов. Попробуй заставить компилятор найти верхнюю границу String и Integer. Иначе говоря <T extends Integer & String>. Можно еще попробовать сделать тайп-сейф бесконечный tuple. Типа Tuple<T...> Из более практического, сделай intermediate operations ( https://openjdk.org/jeps/461 ) для Stream, которая находит all permits; лениво само собой.
>>3181786 >>3181786 Я уже предположил, что ты не способен изучать даже самые фундаментальные вещи. Теперь же я вижу, что ты и простейший текст даже по собственные ссылкам не в состоянии осилить. Ну, срыгни из айти, а?
>>3181875 О, хаскель. А к чему ты это принес именно сюда? >>3181842 Так аргументов и не принес, крутышка.
Я вот в последнее время думаю, а возможно ли как-то получить n-элемент этого тупла, ну и чтобы тип вывелся корректно через var. Ну или хотя бы объдинить два тупла n и m размеров, чтобы вышел тупл n+m размера..
>>3182170 Я подумал что потому что каждый поток копирует себе в стек значение и поэтому оно разное,но там примитив,а примитивы сравниваются по значению
>>3182170 Потому что значение n записанное в конструкторе может быть не видно в других потоках. Т.е. тебе надо создать объект в одном потоке, а ассерт вызвать из другого.
>>3182171 Даже Maven с 4-й версии будет требовать JDK 17+, это при его консервативности-то. Буквально в прошлом году вышла последняя версия, которая заявляла о поддержке семёрки.
>>3182422 ну честно ты как-то плохо читаешь, что забываешь, все, что было в книжке написано. про таких говорят, читаю книгу, вижу фигу. может не стоит оно того, м?
>>3182467 Ломает смысл мавена. Мавен всегда был оплотом стабильности, и благодаря этому его качество возвышалось на 20 голов над любыми копроаналогами. А мавен 4 это какое-то дегенеративное изменение с поломкой обратной совместимости непонятно что улучшающее и только ухудшающее, причём так, что буквально обнуляет смысл мавена, как я уже сказал.
Тебе прилетела таска написать апи неограниченно разномерного пространства с безопасностью от доступа к несуществующим измерениям (например попытаться получить z координату в двухмерном пространстве) на этапе компиляции. Твои действия?
>>3182855 >Я аргументированный абзац текста написал уже. У тебя там из аргументов, только ломание обратной совместимости, всё остальное просто высер не имеющий отношение к делу.
Ну чё, школьнички, через два дня егэ по информатике. Уже готовы 4 часа выкладывать алгоритмы такой сложности и неадекватности, что даже в хуяндексе не спрашивают?
>>3183015 Там сложность алгоритмов ниже, чем в всерос олимпиаде школьников муниципиального уровня. Если в хуяндексе спрашивают алгосы ниже этого уровня... То наговаривают что ли в мвп-то?
Какова вероятность нахождения работы фуллстек девелопером React + Java Spring? Можно ли найти работу на фриланс-бирже? Я не из России, потому могу работать с западными компаниями.
>>3183217 >eclipse Написав парочку хелоувордов в еклипсе и vs code, могу с уверенностью сказать, vscode если не лучше, так точно гибче и понятнее. Тем более если придётся писать html, css, js, java, как при работе со спрингом.
>>3183501 Один раз я придумал задачу чтоб пригодились алгоритмы, "продал" ее аналитикам, чтоб те бизнесу подсунули эту фичу. Но потом решил ее проще средствами бд. Получается ни разу за 3 года.
Аноны, помогите, есть у меня такие: https://pastebin.com/MHNmPqic Форма и контролёр, контролёр отлично отрабатывает ошибки, возвращая ту же форму. html страничка не отображает сообщения при ошибках. Что это может быть?
>>3183432 Меня целиком тошнит от ЕЕ, Спринга и всего этого стека. Ведь есть же стандартная библиотека со всеми нужными функциями, можно было написать легковесные библиотеки, чтобы проще работать с разными аспектами. Нет, они взяли и запилили какого-то монстра, который по уровню сложности как 10 джав. Люди годами учат и всё равно всего не знают.
Можете рассказать как правильно дебажить микросеовисы? Я раньше был на монолите. И теперь после того как проапдейтил мастер, у меня всё к херам слетает. Проект на десятках микросервисов. Мой функционал надо, например, размазать по 5-ти. Я пытаюсь запустить каждый, просто так они не поднимаются, начинаю отключать кафку, секьюрити, ликвибейз, конфиги перестаю забирать из конфиг сервиса. Прописываю каждому сервису порт, поднимаю так каждый по отдельности, потом, для теста в коде сервиса прямо вызываю, рестТемплейт, с параметрами, чтобы дёргать другой сервис. И так гоняю дебагом по всей цепи. Я очень много времени трачу на построение всего этого. И мне кажется что я какой-то хуйнёй занимаюсь. Можете рассказать как делать правильно?
>>3183726 Золотой подход к дебагу — ищешь момент, когда всё работает, потом ищешь момент, когда всё не работает и постепенно сближаешь эти моменты, таким образом находя баг.
>>3183860 Ты школьник? Судя по офферу, нет. Че это тебя пугает тогда? Да и что конкретно.. >>3183856 Такая хуйня на самом деле, которая грязными хаками изменяет аст, делая некий диалект из жабки милой няшной. Так еще и сам этот лобок нельзя хоть как-то абстрагировать. В анноатции запихнуть анноташки лобка низя, наследоать их нельзя. Ниче нельзя, ставь руками все.
>>3183866 > Такая хуйня на самом деле, которая грязными хаками изменяет аст, делая некий диалект из жабки милой няшной. Так еще и сам этот лобок нельзя хоть как-то абстрагировать. В анноатции запихнуть анноташки лобка низя, наследоать их нельзя. Ниче нельзя, ставь руками все. И всё ещё лучше чем просто на джаве писать без лобка.
>>3183869 Мм, а рекорды разве не решают большую часть проблем? Ну а геттеры сеттеры по заветам бугаенко нахуй нинужны. Остаются только билдеры, вот тут да, проеб. Надо бы, чтобы кто-то гетцу сказал, что дефолт значения модно круто, фпшно.
>>3183880 >а мутабельность очень часто нужна. Лучше ее ограничить до такой степени, чтобы осталась лишь пара мест. Имхо. >Ты всем постам зелёных на сосаче веришь Енто шутка, но сеттеры и геттеры действительно странная концепция какая-то. Правда из меня архитектор тот еще, вооот опыта наберусь... >Билдеры проёб в лобке как раз Ну тем более. Почему до сих пор нет джепа с дефолт значениями. Ряльно нужная фича.
>>3183917 Да хуй там копрооракл сделает. Надо джаву форкать и вот тогда заживём. Чтобы не копрокотлин сделать с копросинтаксисом, а как джава во всём, но только лучше.
>>3183703 >>Ведь есть же стандартная библиотека со всеми нужными функциями, можно было написать легковесные библиотеки Тут либо тебе придется полностью все переписывать для каждого проекта, либо ты изобретешь монстра вроде спринга, только сильно хуже и сложнее
>>3183929 А что не так с котлином то? Одни говорят нахой не нужон, ибо ломбок и так все фичи дает. Другие говорят что добавляет немного сахара типа замены "Optional.ofNullable().map().orElse()" на "?" и подключается как либа
>>3183929 > Надо джаву форкать и вот тогда заживём. Так форкай, вон гугл форкнул, у него получился котлин. Я вангую ты круче, у тебя будет > джава во всём, но только лучше. ебать, долбоёб земля тебе пухом, братишка.
>>3184115 Чел, мне ж похуй какие там вендоры и спеки. Я на нем писать собираюсь, а не бизнес строить или йоба фреймворк изобретать. Если он через 10 лет сдохнет - я не много потеряю.
Меня интересует есть ли там проблемы с совместимостью с спрингом, ломбоком, маструктами всякими. Не начнут ли внезапные НПЕ в рантайме вылетать или что то еще.
То есть мне интересно не приведет ли сахар к диабету.
>>3184117 Гугл не форкал жебу. Хуйню несешь. >>3184106 Лобок не даёт compile time nullable safety. Ну и дефолты с неймед параметрами. Корутины тож не дает.
Лично для меня главная проблема котлина, что у него нет какой-то индентичности... Он себя позиционирует, как просто тупо улучшенная жаба. Типа знаешь, скорее диалект, а не отдельный яп. Собственно, как мне видится, оракл просто стащит удачные нароботки котлина, а он в итоге станет не нужным. Грустно это как-то, впрочем ниша у него есть, благодаря гуглу. Та же скала ее не имеет по итогу.
>>3184133 >compile time nullable safety >дефолты с неймед параметрами Ну вот я том же. Язык нужен ради 2-х фич. Тогда мб попробую для написания отдельных либ, где сломать что то сложнее. А в основной код его добавлять причин все еще нет.
>>3184132 > Я на нем писать собираюсь Сначала купи идею, потом ещё купи идею, потом ещё и ещё потому что ни где больше ты писать не сможешь. А завтра какой-нибудь дядя в купертине, решит что так писать ты больше не будешь. Нравится сапог в жопе, пожалуйста.
>>3184180 анноташки run time. Тут проблема в системе типов больше, ее простым фреймворком не решить. Только компилятор если пердолить, что очень грязно и асуждаемо.
>>3184195 Зарубица бы на анус, но срок слишком большой... Посмотрим короче, но я чет сомневаюсь. Через 10, только вальгалла выйдет думаю, а в прод через 15-20.
>>3184467 Ну например для того, чтобы быть точно увереным, что нигде нет этой хуйни. Мне же не по редактору блять бегать с этой хуитой? >>3184468 Ты рофлишь? На нпе жалуюсь.
>>3184471 >Ты рофлишь? На нпе жалуюсь. Так ты getObject не отметил как @Nullable, это значит что идея его считает нон-нулл >Ну например для того, чтобы быть точно увереным, что нигде нет этой хуйни. Мне же не по редактору блять бегать с этой хуитой? Есть инспекции, Ctrl+Alt+Shift+I -> Nullability and dataflow problems ты как первый раз идею в руки взял
>>3184478 >не отметил как @Nullable Ты понимаешь, чего именно требуешь? Пометить все, все нахуй методы вот этой хуйней? Мне че блять вообще делать нехуй? Давайте вы или все автоматом будете делать или Nullable или NotNull. А не смешивать две стратегии, из-за чего мне сука требуется все метить. >Есть инспекции Хочу стандартный сука ворнинг. Мне не нравятся проприетарные способы. Тебе нравятся, ты ими и довольствуйся, меня не впутывай. И я не хочу сука пользоваться анноташками жидбрейнсов, мне они неприятны.
>>3184479 >Ты понимаешь, чего именно требуешь? Пометить все, все нахуй методы вот этой хуйней? Мне че блять вообще делать нехуй? Ты не рвись давай, скажи еще тебе делать нехуй кроме как вопросики у типов расставлять А, нет, вопросики это другое, расставить вопросики никогда не лень >>3184479 >Хочу стандартный сука ворнинг. Мне не нравятся проприетарные способы. Тебе нравятся, ты ими и довольствуйся, меня не впутывай. И я не хочу сука пользоваться анноташками жидбрейнсов, мне они неприятны. Дело твоё, я пишу софт на перформансе, и не люблю убивание 10+% производительности на хуйню
>>3184483 >нехуй кроме как вопросики у типов расставлять Я надеюсь они в котлине не такую же хуйню сделали, со смешением стратегий. Если да, то это просто мусор. В жабе, по идее, надо будет просто знак вослицания над типом поставить, и тебе не придет null. Все. Гарантия как с примитивами. > не люблю убивание А, ну т.е. вот эти вот проверки вставленные жидбрейнсами перфоманс не убивают, а чеки при компайле пизда как по рантайму бьют? Ты шиз?
>>3184484 >А, ну т.е. вот эти вот проверки вставленные жидбрейнсами перфоманс не убивают, а чеки при компайле пизда как по рантайму бьют? Ты шиз? Да >>3173709 → -> на топовый хотспот посмотри
>>3184479 >Ты понимаешь, чего именно требуешь? Пометить все, все нахуй методы вот этой хуйней? Мне че блять вообще делать нехуй? Давайте вы или все автоматом будете делать или Nullable или NotNull. А не смешивать две стратегии, из-за чего мне сука требуется все метить. Так так и есть, все что не аннотировано автоматом считается not null, поэтому он тебе ворнинг на getObject и не показывал
>>3184488 Я не понял, что ты хочешь сказать... Компайл тайм проверки, не трогают рантайм. Это очевидно, например по женерикам, они один раз проверились и все. Их больше не существует, ну почти. А тут опять непоследовательность наблюдается, рантайм перфоманс мы убьем, а вот в компайл тайме нихуя не скажем. >>3184490 Посмотри на toNull2. >>3184441 Чем оно считается? Правильно, @Nullable. Зачем смешивать две стратегии? >>3184485 Ну помимо спринга думаю дофига фреймворков. И мало кто будет котировать их анноташки. Впрочем они по идее совместимы еще с лобковыми и хибер валидатором. Оборачивать тоже не очень стратегия, просто рутинная работа, которая будет повторятся, если фреймворк изменится.
>>3184493 >Чем оно считается? Правильно, @Nullable. Зачем смешивать две стратегии? Я не вижу что там происходит в методе, возможно ты просто пытаешься меня наебать. Идея скорее ложно сработает на отсутствие нулов, чем на присутствие >Зачем смешивать две стратегии? Они не смешиваются >Ну помимо спринга думаю дофига фреймворков. Номинально - да, но фактически - нет. >Оборачивать тоже не очень стратегия, просто рутинная работа, которая будет повторятся, если фреймворк изменится. Ну если не нравится такая рутина - можно просто писать без ошибок, тоже вариант Опять же, я так понимаю оборачивать джава либы вопросиками - это совершенно другое, очень удобно и прогрессивно, верно?
>>3184493 >Я не понял, что ты хочешь сказать... Компайл тайм проверки, не трогают рантайм. На скрине у тебя котлиновские рантайм проверки нулов Очевидно нулл сафети работает не только в компайл тайме
>>3184498 >Я не вижу что там происходит в методе Он такой же как и первый, прост анноташки нет. >Идея скорее ложно сработает на отсутствие нулов Ну это да. Наверное точнее сказать, что в некоторых ситуациях она сама может разрулить ситуацию, а в некоторых мне руками надо ставить. И тк нет гарантии, что она верно разрулит, то.. Как следствие лучше ставить все руками. >Ну если не нравится такая рутина Хмм... Вот цитата хорошая When people say “but most business logic bugs aren’t type errors,” I just want to show them how to make bugs into type errors. Мне бы очень хотелось перевести хотя бы рутину в ошибку типов, а не заниматься этой хуйней. На данный момент... Пока это невозможно( >Опять же, я так понимаю оборачивать джава либы вопросиками Еще раз, я хочу оборачивать знаками восклицания. https://openjdk.org/jeps/8316779
К слову, для вайлдкардов это тоже не робит. Хотя это и ожидаемо, тк слишком сложно. >>3184499 Компайл тайм как раз там и не работает. В жабе по крайней мере. А рантайм проверки.. Я и ручками/лобком могу расставить. А на скрине у меня последствие использования анноташек от жидбрейнсов.
>>3184510 >Он такой же как и первый, прост анноташки нет. Анноташки нет, но идея видит, что ничего кроме нула оттуда вернуться в принципе не может, потому что ты как обычно захотел всех наебать, закрыв второй бранч с нулом тултипом (никогда такого не было и вот опять!)
>>3184510 >Компайл тайм как раз там и не работает. В жабе по крайней мере. >А рантайм проверки.. Я и ручками/лобком могу расставить. >А на скрине у меня последствие использования анноташек от жидбрейнсов. Ничего не понял Вот пожалуйста посмотри СЮДА -> >>3173709 →, верхняя строка на скрине, рантайм чеки параметров на нулы от котлина
>>3184128 > Нет ты. Маня, форкнуть java нельзя, копирасты тебя выебут за нарушение спек. Как выебли микрософт, а потом гугл. Какой же даун, блядь...... Джава GPL.
>>3184213 > Через 10, только вальгалла выйдет думаю, а в прод через 15-20. Ты либо нахрюкиваешь из шарпотреда сам прекрасно понимая что срок доставки фич на джаве в прод это пара лет, либо твоё восприятие искажено было тем что джава с недавних пор начала часто релизиться. 20 лет назад была java 1.3, через 20 лет будет java 50.
>>3184544 Почему нахрюк-то? Мы ждем вальхаллу сколько лет? В 2014 говорили, что мб в 9 версии будет превьюшка. Шел 2024... >джава с недавних пор начала часто релизиться Скорость разработки от этого не ускорится. Просто куча минорных обновлений. Спасибо, че.
>>3184546 >В 2014 говорили, что мб в 9 версии будет превьюшка. Шел 2024... Джава 9 вышла в 2017, а не в 2014. И хотелось бы пруфы того что ты сейчас не галлюционируешь. О вальхалле задумались гораздо позже 9, в 9 думали совсем о другом. > Скорость разработки от этого не ускорится. Просто куча минорных обновлений. Спасибо, че. Ты даже не понял, что тебе донести пытались. Что взять с дауна.
>>3184510 >Еще раз, я хочу оборачивать знаками восклицания. https://openjdk.org/jeps/8316779 Ну так синтаксис для самого распространенного случая должен быть самый удобный и короткий. А самый распространенный - это ненулевая ссылка. Так что это как раз нулевые нужно отмечать.
>>3184565 Ну факт в том, что ждали 10 лет назад, ждем и сейчас, ну и будем ждать еще черт знает сколько времени. >>3184568 А расскажи как ты байтбуфферами решишь проблему с ArrayList<int>? Типа это основной поинт, что женерики наконец-то блять расширят до примитвов. И не надо будет вот эту хуйню на пике поддерживать. Все нахуй вырезать до Function<U, T>. >>3184557 Я честно сказать нинаю какой самый распостраненный случай. У меня нет статистики. Просто поинт в том, что я хочу, что если я сука пометил NotNull то никогда и ни при каких условиях туда не придет null. Это должно гарантироваться на уровне компилятора, а не проверочками в рантайме.
>>3184557 > Ну так синтаксис для самого распространенного случая должен быть самый удобный и короткий. А самый распространенный - это ненулевая ссылка. Так что это как раз нулевые нужно отмечать. Это не совместимо обратно. Вот если бы в джаве сделали механизм обновления исходного кода и джарок до новой версии чтобы можно было и брекинг ченджи вводить, и фактически не терпеть от них никаких проблем, вот тогда бы зажили...
>>3184582 >А расскажи как ты байтбуфферами решишь проблему с ArrayList<int>? А в чем собственно проблема? Есть Eclipse Collections, нужно - используй. Если какая-то перформанс критикал штука, там скорее всего свою коллекцию напишешь все равно
>>3184582 >И не надо будет вот эту хуйню на пике поддерживать. Все нахуй вырезать до Function<U, T>. Так не ты же ее поддерживаешь, тебе-то какая разница?
>>3184593 Ну мне большая разница. Например хочешь написать универсальную функцию для всех типов, пиши еще сверху 8 других. Если же ты обобщаешься по двум параметрам... То хуй знает, завещание писать? Вот пример такой функции... Сложение двух любых Number. >>3184598 Если бы он был настолько умный, то вальхалла бы и не требовалась.
>>3184592 >И вот тебе еще пик. Как думаешь, сколько тут делается боксингов? Бьет ли это по перфомансу, как думаешь? Я думаю что если мне нужен перформанс, для меня сейчас нет никакой проблемы написать функцию с примитивными параметрами.
>>3184603 >Например хочешь написать универсальную функцию для всех типов, пиши еще сверху 8 других. Если же ты обобщаешься по двум параметрам... То хуй знает, завещание писать? >Вот пример такой функции... Сложение двух любых Number. Ты же можешь ее написать. Если тебе эта математическая абстракция так сильно важнее перформанса - ты можешь это давно сделать, без завещания. Ты можешь еще хотеть чтобы обязательно была команды "сделать заебись", и джава будет плохим языком, потому что так не может?
>>3184616 >Мне тоже придется это сделать, если я захочу сделать что-то универсальное. Ты можешь сделать банальную кодогенерацию вместо дженериков, это пару дней максимум, вместо ожидания в 10 лет.
>>3184618 >Ты же можешь ее написать. Ряльно? Покажи пж. Очень интересно. Если вот ты предлагаешь пик 3 делать, и еще где-то сверху написать метода 4 для примитивов.. То блин, это слишком грязно, любой скажет, что ты хуйню какую-то наворотил. >>3184621 Ну на тебе еще один https://thospfuller.com/2024/03/12/java-autoboxing-performance/ Мне так-то впадлу искать эти тесты, поскольку само существование проекта вальхалла говорит о том, что это перфоманс проблема. >>3184629 Меее, но исходники все равно будут выглядеть убого. Не важно, руками я это делаю или как-то иначе... фактически костыль проще становится писать, не более. Я хочу чтобы няшно все было. >>3184634 Зато очки няшные будут, буду вумным казаться. Везде надо искать плюсы
>>3184639 Вообще, по поводу add, его вряд ли даже с приходом вальхаллы можно будет чисто решить для всех Number, поскольку их иерархия ничем не ограничена. Поэтому... Можно сделать свою) Поскольку рекорд будут вэлью тайпами, проблем с перфомансом не будет. А счас это использовать себе дороже.
>>3184639 >Ряльно? Покажи пж. Очень интересно. Если вот ты предлагаешь пик 3 делать, и еще где-то сверху написать метода 4 для примитивов.. То блин, это слишком грязно, любой скажет, что ты хуйню какую-то наворотил. да, понял, ну реально тогда только через перегрузку и опять же кодогенерацию как мне кажется, вызовы через интерфейсные функции, супертипы и втейблы еще больше убьют перформанс
Так я не понял. Какого хуя этот ваш spring data jpa переиспользует созданые обьекты после save ? например var h1 = repo.findById(1); h1.setField(123); var hUpdated = repo.save(h1); assertEquals(h1, hUpdate);
нахуя так по опущенски сделано? очевидно же что если я запрашиваю результат сейва я ожидаю что это будет новый экземпляр а не обновленный старый.
>>3186603 как же хорошо что я всегда сначала тесты пишу прежде чем код. я реально ожидал что ссаный спринг дата использует чистые функции без сайдэфектов. а тут такой пиздец
>очевидно же что если я запрашиваю результат сейва я ожидаю что это будет новый экземпляр а не обновленный старый.
Кто то мог бы тебе возразить что ты же обновляешь конкретный кортеж под конкретным PK, новых не добавляешь.
>нахуя так по опущенски сделано?
Потому что JPA. Потому что есть персистенс контекст, и работая с JPA ты работаешь не столько с базой данных, сколько с содержимым этого ПК. А содержимое ПК устроено таким образом, что на одну запись в базу приходится один инстанс @Entity-класса, который обычно мутабельный.
>>3186628 >>3186629 да меня недавно перевели на проект с спрингдатой до этого я ебашил голый jdbc с перепаред стейтментами потому особо и не в курсе как этот спрингдата работает
а персистент контент из жпа я последний раз столет назад видел когда еще под вебсферу монолит пилил ее-шный
>>3186633 может я не правильно использую этот спрингдата но мне нужно обновить несколько связаных табличек с внешними ключами и мне в логике нужны старые значения ентити ДО обновления
>>3186637 А какие конкретно у тебя значения после save могут измнеится-то? Насколько я помню, там id разве что генерируется. Ну и коллекции меняются, но это немного другое. Просто тут прикол в том, что тебе даже save не нужен, поскольку findById и так связывает это контекстом.
Тут наверное только в дто хуярить и обратно. Хотя, мб детачем можно как-то ебнуть, хз.
Всем привет. Кто-нибудь может рассказать как грамотно тестить микросервисы? Хочется, чтобы они все были подняты, и можно было на всё проставить брейкпоинты. У меня поднимается эврика и конфиг сервис, но они все не видят друг друга.
У меня вопрос, кто-нибудь сталкивался с таким явлением как выгорание? Я смотрю на все свои проекты и понимаю, что всё просто остоебло уже. + Появилась такая классная вещь, как депрессия, когда просто перестаешь спать ночью, или спишь 3-4 часа, и соответственно весь день овощ-дегенерат, с нулевой производительностью.
>>3188077 Естественно. Найди себе куна, развейся. Можешь проектики какие-то для души пописать, другой язык изучить. Или вообще в иную область залезть. Единственное, не факт, что скоро пройдет. И таблетосы не советую.
>>3188077 >У меня вопрос, кто-нибудь сталкивался с таким явлением как выгорание? У меня такое с 2022-го года. Вечное чувство отсутствия времени, ты листаешь новости. Постоянно какой-то уставший. Не помнишь какой сегодня день. Думаешь, к понедельнику проекты точно запилю. Потом смотришь в воскресение - бля, нихера не сделал. Только 3-4 часа за неделю отработал. Тоска ёбанная появляется. Чуть малейшее препятствие и опять сидишь грустишь. Думаю, ладно, щас пойду ёбну энергетик и тогда попрёт. Но потом усталость опять накрывает, ночью не спишь, встаёшь днём. Бывают проблески продуктивности, но в основном листаешь, листаешь, интернет. И так каждый день.
>>3188116 >И таблетосы не советую. Почему? Я как раз смотрю в сторону АД-ов смотрю. >Найди себе куна Я негей >Или вообще в иную область залезть. Я вылез из иной области, в иных областях не платят деньгами, там ветками, бусами, камнями я хз План такой. Экстренное увольнение и АД-ы. И не делать нихуя пару месяцев. Тем более сейчас лето вроде
>>3188330 У кого у вас? Вы что оракловскую сборку ждк используете? Я ее посл раз видел 1.7_40. А уже с 8 полно опакеченых другими конторами ждкашек. >>3188219 Опенждк - опенсорс. Оракловская ждк - платная. Любая другая из десятка сборок опенждк - бесплатные.
Ща вот попробую по памяти вспомнить. Адопт был, но после 11 вроде они перестали собирать. Зулу - до 17 вроде собирали а потом их мс купил и обозвал азулом. Коретто от амазона, живая ли хз - не юзал. Беллсофт - не юзал. Темурин - сборка от эклипса вроде, бывший адопт вроде - юзаю сейчас в банке.
>>3188077 Было такое. Перестал красноглазить в нерабочее время. Полностью, нахуй. С удаленки вернулся в офис. Начал снова уставать к концу дня, из-за этого нормализовался сон. По выходным бросил сидеть дома. Лишь бы не красноглазинг ебаный.
>>3188077 Выгорание от того, что берёшь непосильные задачи. А задачи непосильные, обычно, потому что ходишь по граблям. А по граблям ходишь, потому что нет качественной базы. А базы нет, потому что знания о технологиях получаешь не из академических курсов, книг, тренингов, а из статеек на хабре, видосов на ютубе или стаковерфлоу, а после того, как обсераешься - идёшь читать официальную документацию, а она часто сложная и хуёво написанная. Экономишь несколько дней, а потом теряешь недели.
>>3189519 > а она часто сложная и хуёво написанная Документация самой жавы, нормальная. Что конкретно тебе было там неясно? Со спрингом, хибером +- также, за остальное хз, не трудоустроен. >>3189533 Репорть, пусть банят. Эскалируя, ситуацию лучше не сделать.
Я тут узнал, что на JPoint в этом году собирался выступать некий докладчик из Швейцарии. Однако какой-то свинорылый ущемился этим и прохрюкал, что ему от этого грустно. И швейцарский фраерок тут же сдал назад. Пиздец, сколько сои в Java-сфере. Они реально в каком-то своём мире живут, где верят всему, что пишут тролли из твиттера. Даже страшно представить, как такое чмо принимает ответственные решения.
>>3189519 >>нет качественной базы. У меня постгрес. Нет никакой БАЗЫ, шиз. Это просто проявление снобизма и ЧСВ
>>знания о технологиях получаешь не из академических курсов Они полезны только стажерам. Мидл и так знает как надо, часто лучше академиков. Он же практик, а не маня-теоретик.
>>книг Книги разные бывают. Бывает сборник бест-практис, идеи "как нам обустроить айти", справочники по языку, инфоцыганские "чистый хуйнянейм", учебники хэд-фест. И для разных уровней нужны разные.
>>из статеек на хабре, видосов на ютубе или стаковерфлоу Почти всегда там выжимка из доков + личный опыт применения. Это сильно лучше книжных рекомендаций "делойте хорошо, а плохо не делойте".
>>официальную документацию, а она часто сложная и хуёво написанная По джаве обычно норм доки, с примерами. Не вспомню даже где был прям пиздец-пиздец не соотвествующий реальности.
>>Экономишь несколько дней, а потом теряешь недели. Экономишь недели и месяцы. Мне не надо перечитывать книги и доки по спрингу, хибернейту, кучи всего смежного целиком, чтоб понять почему возникает какая-то неявная ошибка и как ее избежать. На уровне джун-мидл без этого никак. Погружаться глубоко в доки имеет смысл когда уже сеньор, понимаешь почему и зачем сто то сделано, хочешь сделать что то нестандартное (когда просто гугл уже не поможет).
>>3189640 >часто лучше академиков Ты себя переоцениваешь. >Он же практик, а не маня-теоретик. Чем тебе теоретики не угодили, чмонь? Это они решают, то как будет выглядеть какой будет система типов вальгаллы. Они же решили, за то какие будут женерики, формализовали jmm. Больше того, эти теоретики повлияли на stream api. Я уж молчу за просто коллосальное количество алгосов. Хули вот ты пиздишь? Сиди молча и перекладывай жсончики и круды пиши дальше.
>>3189519 >>3189654 Ебанько, ты правда считаешь что тот, кто 10 лет только и делает что оптимизирует строки под жвм и знает спеку джавы наизусть, сможет быстро ебануть фичу на уровне обычного галерного сеньки продираясь через тонны говнокода с костылями?
Я не к тому что жвм-инженнеры тупые, нет, там крутые спецы. Это ты долбоеб раз проецируешь одни знания и навыки на совершенно другие выдумывая какие то там базы
>>3189677 >>И в чем он не прав? Шиз живет в своем манямире, не хочет принимать реальность. Вместо адаптации и попыток вывести айти в нужное русло он предлагает все отменить, запретить и жить как диды в фидонете.
>>3189751 >>Мол те хуйней какой-то занимаются, а вот прааактики. Я скорее о том что нет какой то БАЗЫ тут часто вспоминают спеку, рфц, кнута и тп, когда не изучив всю теорию ты не смеешь приступать к практике и даже не программист.
Мидлу эти книжки академиков нахуй не нужны. Гораздо чаще надо просто изучить какие есть типовые подходы и набираться опыта решения проблем. А вот на уровне сеньки уже можно вникать что там как работает на самом деле, начинать писать что то кастомное.
Получение знаний в айти это не строительство дома, где нужно все планировать заранее и важно закладывать правильный фундамент. Это скорее картинка, где сначала делаешь наброски, а потом добавляешь все больше деталей и оттенков.
>>3189768 Ну имхо, чтение академической литературы нужно, хотя бы для расширения своей когнитивной модели. Ну т.е. чтобы не оставаться в рамках шаблонного мышления, аля сюда вот этот паттерн впендюрю, сюда этот алгос. А типа иметь возможность, самому придумывать их. И без движения как бы "снизу вверх", мне лично видится это невозможным. Вот если тоже приводить аналогию, это вот изучение доказательтств в матеше, типа нахуй студику их учить? В большинстве случаев это действительно имеет мало смысла и просто выветрится из головы, но для некоторых они как бы служат эврико моментом, типо вооот оказывается как красиво и изящно можно использовать формальную модель.
Хотя лично для меня изначально таким служила не литература, а копание в кишках жабы. Не отрицаю конечно, что хуйней занимаюсь, ноо, мне похуй)
>>3189746 Мой тэйк был не про то, что академические байтоёбы гении, а те, кто лопатой перекидывают json'ы - пидорасы, а про то, что для многих людей работа становится в тягость из-за не выученных когда-то уроков. Я всего лишь поделился своими наблюдениями над некоторыми бывшими коллегами. Ты можешь быть дохуя синиор-девелопером и страдать каждый день, ведь ты конч, которому под сорокет и который не научился в слепую печать, не умеешь поднять постгрес на линуксах, не пользуешься хоткеями идеи, не можешь в градл, не умеешь по-человечески откатить коммит в гите итд. Казалось бы - мелочи, ведь никто не будет тебя увольнять или пиздить как худую свинью за то, что ты не читал книжку с кабаном, не знаешь про оконные функции в скуле, используешь мышь в идее или не умеешь по-босяцки грепнуть логи, но из таких мелочей и состоит жизнь.
>>3189780 >Ты можешь быть дохуя синиор-девелопером и страдать каждый день, ведь ты конч, которому под сорокет и который не научился в слепую печать, не умеешь поднять постгрес на линуксах, не пользуешься хоткеями идеи, не можешь в градл, не умеешь по-человечески откатить коммит в гите итд
Проблема не в том, что ты всего этого не умеешь.
Проблема в том, что ты наслушался пидарасов, которые зовут себя "практиками". Т.н. "практики" - это просто шваль на подсосе у кабанов. В интересах кабана делать этот планктон дешевле и заменяемее, поэтому кабаны всю дорогу спонсировали деградацию культуры разработки. А т.н. "практики" всю дорогу им подмахивали. Эта кодла только рада, что ты всего этого не умеешь - чем меньше ты умеешь, тем меньше ты стоишь, и меньше из себя представляешь кого то.
Поэтому забей на бессмысленные срачи с местными деградантами, выйди на улицу и потрогай траву. Ведь сам же понимаешь что те тошно от нахождения с ними в одном треду.
А потом сядь и изучи уже командную строку гита, ну ебаный кринж же...
>>3189758 >Шиз живет в своем манямире, не хочет принимать реальность. Вместо адаптации и попыток вывести айти в нужное русло он предлагает все отменить, запретить и жить как диды в фидонете. Ну хочет и хочет, имеет право. На тебя это как сказывается?
>>3189780 >Ты можешь быть дохуя синиор-девелопером и страдать каждый день, ведь ты конч, которому под сорокет и который не научился в слепую печать, не умеешь поднять постгрес на линуксах, не пользуешься хоткеями идеи, не можешь в градл, не умеешь по-человечески откатить коммит в гите итд
Я в своем коде использую класс B определенный хуй знает. Этот класс используется и в другом коде который нормально работает. Но почему то в моем коде при использовании класса который создает B вылетает ошибка NoClassDefFound. Хотя я же вижу импорт, могу по нему перейти и посмотреть на определение класса. Что java не нравится?
>>3190479 Я, к сожалению, не могу заскринить, потому что нда. Я хз открыт ли этот кусок или нет, но сходу кинуть не могу код. Я просто не понимаю почему в рантайме ошибка, если все скомпилилось
>>3190498 >в рантайме ошибка, если все скомпилилось Это значит, что jvm не смогла найти твой cкомпилированный класс в classpath. Например, отвалился jar с библиотекой, или в класслоудере вылетело исключение. Частые причины - исключение во время инициализации статического поля или, если не используешь модули, рефлексия.
>>3190586 Ну так значит он просто нубяра, практически всё указатели, просто константные, с автоматическим разыменованием. И памятью врукопашную рулить можно, забыли доцента кислых щей спросить.
Объясните, исполняемые файл у Java - это exe, как если бы я компилил в С++? Я вот кнопку run нажимаю и он срабатывает без exe, т.е. тупо интерпретирует как php? Или как?
Вот допустим как выглядит деплой у java? Что они выгружают на продакшн? Один жирный jar/exe файл или много файлов как у php? И нужно яву как-то компилить или она тупо интерпретируется? В php тоже есть OP-коды и JIT, но он сам по себе там работает, лезть туда не нужно. А у java как?
И как еще происходит компиляция? Я в С++ еще выбирал статическую линковку, вместо динамической и у меня был один exe и все библиотеку там находились, т.е. я перекину на другой комп и файл запустится, а если бы была динамическая то нужно было бы чтобы там всякие dll были и прочая хуйня
>>3190897 >т.е. тупо интерпретирует как php Можно и так считать. На деле же там существует еще JIT, который профлирует методы и часто вызываемые компилирует максимально оптимальным способом и подменяет интерепретацию на это скомплириованное чудо. Также там есть и процесс декомплиляции, если спекуляции оказались неудачны. Но в любом случае это все не обязательно и конкретная реализация может быть чисто интерпретатором. >Один жирный jar/exe jar - это просто архив, в который ты напихал кучу .class. Поэтому да, у тебя может быть чисто один жарник, который в себе содержит информацию обо всем, что надо. >И как еще происходит компиляция? Ну сама компиляция просто ходит по импортам и связывает их друг с другом. Во время же рантайма будет вызываться целая ирерархия класслоадеров, начиная с бутлоадера. Фаткически ты можешь написать свой и наживую подключать/измнять классы.
>>3190897 >>от допустим как выглядит деплой у java? Что они выгружают на продакшн? Образ контейнера если руками на прод деплоят. Часто надо просто написать dockerfile, а CI/CD сам все соберет и задеплоит.
>>3190897 Всю старую и не очень жяву под шидошс можно запускать через тануковский враппер. Юзал его с 1.4. Да и сейчас спрингбут под шиндош можно им запускать.
В кубере просто используют образа с автостартом через докерфайл/хелм
Сука, от "умников", протаскивающих обычные туплы, вложенные друг в друга, через флюент АПИ типа стримов, головняка на проде не оберешься - страшно представить более менее сложный стрим с ЭТИМ в теле.
Зря выложил, эта черная техника должна быть забанена нахуй.
>>3191336 Кто-то такое в проде делает? Прикоольно. Вот бы пообщаца, мм
> более менее сложный стрим с ЭТИМ в теле. В стриме просто нет таких инструментов для работы с ними, ну типа zip (Stream<a>, Stream<b>) -> Stream<Tuple<a, b>> и unzip Stream<Tuple<a, b>> -> Tuple<Stream<a>, Stream<b>>
Надеюсь с новым апи этот зип можно будет самому ручками как-то написать. Хотя, он же превью, надо потестить, как будет время.... Впрочем судя по отношению ко мне преподов в вузике, я похоже какой-то хуйней занимаюсь, мм
>>3190944 > Где тут опенсорс? А причём тут опенсорс. Вопрос был в том, что: >>3188555 > Оракловская ждк - платная. На сайте давно регу убрали, чтобы это скачать. Отчислений для контор убрали.
>>3191422 Ну вообще очень хотелось бы, но я даж в жабу еще не вкатился..
Да и типа джаба тоже все няшнее становится. С введением sealed появились sum type и ADT полностью оформился. Плюс паттерн матчинг над ними появился. Ящитаю это надо в массы продвигать, sealed это реально топчег. Плюс апишки расширяют. К слову про них, похоже таки нельзя две струи объединить или разделить одну. Обидно.
>>3192141 Я кстати, все пытался доработать то, какой можно сделать архитектуру для конечного пользователя. А то, в zip идет и констркутор и стрим, конструктор мне не нравится тем, что по сути мы делаем недо map, зачем спрашивается, если она уже есть... Стрим же не дает как-то адекватно объединится с unzip. К слову, я побегал по либам, unzip вообще нигде нет.
В итоге я пока не знаю как и вообще можно ли нормально обойти пик 1 не через создание своих туплов. Впрочем, вроде выглядит не так уж и плохо..
Начал изучать жаву, сейчас учу синтаксис, правила языка. Хочу уже на практике написать что-нибудь кроме HelloWorld. Подскажите какие простые банальные программы может написать новичек? чтобы самому не придумывать велосипед
>>3192498 Сборников задач, тестирущих+обучающих систем, до жопы. Так еще есть чатгопота, учитывая, что жаба практически самый популярный яп, она точно что-то да ответит. Не очень понимаю, зачем ты именно сюда зашел.
Но раз уж ты тут, какой у тебя ну в общем уровень? Что уже изучил, была ли хоть какая-то база.. Лвл какой, няшый ли?
>>3192498 А еще вопрос возник, какие вы делали пет проекты для опыта прежде чем вы устроились на первую работу? Где опыт набивали?
>>3192512 >Не очень понимаю, зачем ты именно сюда зашел. Загуглил задачник, там все как то скучно и сухо, на таких задачах не интересно учиться, хочется взять масштабную задачу, например написать прогу которая будет что то делать, и уже искать решения что непонятно в интернете, шаг за шагом >какой у тебя ну в общем уровень Начальный. Читаю книгу "java полное руководства" Герберта Шилдта. Параллельно прохожу курс на stepik. Еще лазию в Intellj IDEA, пробую разные варианты что как работает, в консоли еще проверяю команды, компилирую туда сюда. >Что уже изучил Типы данных, операторы. В общем самое начало. ХеллоВорлд написал, работает. >няшый ли? Думаю да. Через постель можно попасть? >>3192520 О, это уже интересная задача
>>3192532 >масштабную задачу Ну типа без знаний, скорее ты 100500 фреймворков наберешь, какие-то магические комманды вставишь и оно само как-то заработает. Были бы в жаве развитые dsl-ки, это еще бы больше усугубило ситуацию. С другой стороны, обучение, это требует обратной реакции. Иначе говоря, ну ты должен хоть как-то оценить, это хорошо или плохо. Большие приложение никто блять не оценивает, это требует слишком много времени. Хороша или плоха твоя архитектура тебе тоже скорее всего не скажут. И грустно, что это буквально единственный практический опыт, который можно получить без работы. >там все как то скучно и сухо Зависит от задачника и мотивации вообще. Хотя советовать ниче не буду, поскольку ну лично мне кнут пиздец как зашел, лучше всего обучения в говновузе, лучше почти всех видосов на ютубе, там и задачи... Но кто его будет читать, лол)
> в консоли еще проверяю команды Не занимайся хуйней. Пиши в идее, используй дебагер, нахуй эту консоль. >Типы данных, операторы. Я бы начал вот практическое что-то делать, только тогда, когда control flow на интуитивном уровне станет понятен. Это условные операторы, циклы, вызовы методов, забегая вперед, ленивость через лямбды и анонимные классы. >Через постель можно попасть? Да ни, просто тааак скучно, что можно было бы с кем-то вместе что-то поизучать, я ж и сам считай почтиии уровень.
>>3192498 Пока не изучил синтаксис лучше решай базовые алгоритмические задачи, можно школьные с какого-нибудь acmp.ru они как раз для изучения программирования и предназначены. Писать типа прикладные программы не выучив синтаксис язык это пиздец, не верь инфоцыганам. Когда дойдёшь до спринга, в книгах обычно есть примеры. Когда почувствуешь, что готов, посмотри задачи, которые специально для отбора стажёров писались https://github.com/avito-tech/backend-trainee-assignment-2024 https://github.com/Raiffeisen-DGTL/cib-interns-test-task Как сделаешь, можешь посмотреть решения других вкатунов и черпнуть для себя что-то новое
>>3192792 Своевременность этого видоса в этом треде соответствует своевременности выполнения программ на петушарпе. И то, и то в 11 раз позднее, чем надо.
>>3193699 >Кончил хотя бы? Нет(( >просто свапнуть через локальную переменную А за одну строку сможешь, м? По условию, в принципеее можно создать record, без методов каких-то конечно. Кстати, до сих пор не понимаю зачем заприватили пик из Arrays. >>3193698 Не думааю, просто подумал, что это в принципе возможно и вот.
>>3194426 Заебись вам, я вот безуспешно пытаюсь убедить лида что и нам оно нахуй не нужно. Все равно он апрувит не глядя, только ждать неделю приходится пока он освободится.
>>3194416 Я не понимаю в чем проблема с этим примером.. Он же показывает лишь то, как работает оценка выражений в жабе. Не нравятся лямбды? Смени на это: a = (b) + 0 * (b = a); Комплиятор сам хуйнет тебе temp переменную, причем в зависимости от величины переменных. Что кстати опять же умнее идеи, которая просто игнорит все эти сайд эффекты и просто в душе не ебет, а че бля происходит.
Тем более этот код экспериментальный, он и не должен попасть в прод. >>3194055 Ну тебе не похуй, раз привлекаешь мое же внимание. Можешь считать себя отрицательным фанатом. >>3194057 Опять же не понимаю, что тут тупого. >>3194239 Мне приятно любое внимание, все лучше чем тотальнейший похиузм ирл.
Я все,сгорел,ненавижу ебаный жпа,кал говна,продукт больного ума,проклятие рода человеческого,мерзкий высер на уровне мокито,ни ногой больше в эту хуйню
На работе скоро предстоит перекатываться на новое рабочее место (ноут). Думаю, может быть стоит все инструменты и проекты ставить исключительно в WSL? Там вроде скорость фс выше получается. Был у кого такой опыт?
>>3196267 Чем в виде, во всех директориях кроме /mnt. Суть как раз в том, чтобы не иметь git-bash вообще, а использовать git и bash из линуха внутри wsl.
>>3196446 Эта штука говорит не о скорости доступа, а о том что линукс кэширует частые обращения к фс, если у тебя не кейс кэширования - тебе это не подойдет
>>3196731 Пиар менеджер жука когда нибудь расскажет как это отменяет то о чём он сам до этого с пометкой только говорил, чем и вызвал всеобщий смех в этом треде?
>>3196976 Какая рекурсия, откуда? Этот метод, просто берет какую-то функцию на вход, берет нынешний стрим(себя тобишь) и применяет к функции. Возвращает результат. >>3196990 Допустим есть метод public static <T> Stream<Stream<T>> up(Stream<T> s) { return Stream.of(s); }
Можно было бы легко сделать подобное : Stream.of(1,2,3,4).apply(Class::up).
Сейчас же мне надо делать такую хуйню: up(Stream.of(1,2,3,4))
Была бы в джаве перегрузка операторов или хотя бы инфиксная форма методов, то можно было бы написать что-то подобное: public static <R, T> R apply(T t, Function<T, R> f) { return f.apply(t); } И применять его как-то так: Stream.of(1,2,3,4) `apply` up
А щас мне просто грустно, что такого метода нет в апи и ничего не сделать с этим
>>3197011 Я достаточно времени потратил на попытки получения стрима внутри этих гатхеров.
Вот если ты попробуешь в рамках него реализовать вот up, который я выше показал, то просто ахуеешь от пиздецовости того, как тебе надо манипулировать потоком управления. Технически тебе нужен longjmp, аля ContT/continuations. Последнее в жабе есть... Но оно ограничено виртуальными потоками, в общем-то говоря ты просто множишь потоки управления.
>>3197005 >Какая рекурсия, откуда? Этот метод, просто берет какую-то функцию на вход, берет нынешний стрим(себя тобишь) и применяет к функции. Возвращает результат.
То есть this - это стрим? Тогда как ты собрался передавать его в метод apply с аргументом типа Function?
>Можно было бы легко сделать подобное : >Stream.of(1,2,3,4).apply(Class::up). >Сейчас же мне надо делать такую хуйню: >up(Stream.of(1,2,3,4))
Ну кстати зря ты так. Оно вон даже короче.
Вини сложившуюся моду на флюент-интерфейсы. Напридумывали куцых обрубков там, где функциональщикам хотелось монад, тайпклассов и do-нотаций.
>>3197019 Это называется спиздить титул президента параши. Частая тема в опенсорсе. Ещё прошлые президенты параши часто бугуртят что у них забрали возможность забесплатно отрабатывать.
>>3197032 Да какая разница, че бы я сделал? Это просто наипростейший метод, показывающий общую проблему. Проблему того, что если твой алгоритм хоть в каком-то виде требует сам стрим, то хуй ты его реализуешь в рамках гатхеров, коллеткторов и пр. Делай внешнюю функцию и как-то криво косо припендюривай спереди. Но в прочем, я-то конечно могу даже это решить, просто для этого надо написать свой стрим https://pastebin.com/D5cbRruJ Что мне не нравится и в жопу это. >в котлинге У меня джава, а не котлин. >>3197049 >Тогда как ты собрался передавать Ну очевидно этот метод существует в рамках реализации Stream, ReferencePipeline там. Он может легко this достать. В самом Stream это будет просто абстрактным методом. >Оно вон даже короче Ну просто смешивать два порядка примений выглядит некрасива. >флюент-интерфейсы Честно говоря мне они нравятся. Просто говорю, что не хватает метода в апи. Хуй знает почему его не сделали, реализация простйешая. >где функциональщикам В партию пробрались функциональщики значит?
Объясните пожалуйста, зачем нужны юнит тесты? Я их никогда не писал. Сейчас проект с тестами и вроде как надо писАть, но я не понимаю зачем они нужны? Зачем сливать на это время? Что они должны делать? Вообще полный ступор. Если я уже продебажил всё, я теперь, должен придумать что-то хуй знает что, чтобы что? Блядь, бред какой
>>3196956 Это не проблема отсутствия этого в стримах, а проблема отсутствия легковесных экстеншен методов что можно было бы использовать так же просто как делать статик импорт.
>>3197075 Ты вообще знаешь как устроены стримы-то? Там 8 реализаций что ли. Все из которых приватны. Хуй знает как вообще можно внешний метод написать, пример покажи чтоль.
>>3197082 Ну это не то. Я такое и на гатхерах легко хуйнуть могу. Как ты вот пользователя попросишь этот соурс получать? Каждый раз делать локалки, тогда флюенс апи нарушается. В какой-то степени.
>>3197084 > Как ты вот пользователя попросишь этот соурс получать? > import extension Anus.up; stream ----.map(mapper) ----.filter(filter) ----.up() // через import extension конвертируется в вызов метода up(stream)
Чёт джава в какую-то дебильную сторону повернула. Одни депрекации (что вообще нонсенс и от чего у РайанаДжеймса Гослинга полезли бы глаза на лоб) и бампы превью, и ничё нового. И даже лум не допиливают чтобы с синхронайзедами работал.
>>3197102 >Не умеет А.. Ну ахуенно. Я конечно знаю, язык который это уже умеет... Петухончик вот со скалой. >хочу чтобы джава умела К сожалению вряд ли будет такое. Тут чисто дело принципа, как с перегрузкой операторов.
>>3197254 Чел, ну в заголовке жепа черным по белому написано модули. По твоему какие-то другие модули имеют ввиду? Это какие?
Вообще жеп интересный. Интересно, а часто жаваны jshell используют для исследований апишек? Блять не представляю как же удобно-то реализовывать в одну строчку gather.
>>3197264 Ну вот именно что там чёрным по белому написано какие это модули. Про джава 9 помимо небольшой исторической справки написанием которых джепописцы заниматься любят очень нет ничего.
>>3197074 Если у тебя 3 одноклеточных метода - конечно тебе так и будет казаться. Нахуя оно всё, если и так очевидно.
Но. Даже когда всё вроде очевидно и самые банальные тесты ты сгенерил нейросетью, чтобы отъебались - могут вылезти моменты которые ты проебал. Понятно, что не специально, но всё же. Человеческий фактор всегда имеет место быть.
Вот поэтому тесты нужно писать.
Не говоря про то, что после тебя с кодом могут работать люди с нуля, вообще без бэкграунда проекта. И функционала со временем может стать овердохуя. Итого спустя время и тонны непокрытого тестами кода - кто-то может сломать много функционала одной правкой, а вы это сходу и не заметите. Не надо так.
>>3197343 Всё хорошо в меру и по ситуации. Если юзать в качестве сахара для нескольких вариантов одного теста - ок.
Генерация входных данных по диапазону - для простого функционала тоже ок. Но на сколь-нибудь сложном функционале ты ахуеешь, т.к. объемы вариантов в каком-нибудь многоэтажном входном дто для одного теста будут стремиться к O(n∞). А тестов в проекте могут быть тысячи.
>>3197353 Ну вроде это не просто перебор всех возможных значений. Скорее попытка попасть в неправильные с помощью прнг и разного рода ограничений, статистики, сжатия.. Звучит просто очень классно, типо просто описываешь конкретное свойство, а вот фреймворк тебе нахерачил 100500 примеров. Обязательно надо будет попробовать где-то.
>>3197355 > фреймворк тебе нахерачил 100500 примеров Я про то и говорю, если в методе инт на вход и больше ничего - это еще ладно, хотя далеко не всегда есть смысл проверять весь диапазон.
А если там дто в котором массив с массивами, в каждом 100500 разных интов, и еще дохуя всего. Плюс нелёгкая бизнес-логика, которая по этой простыне ищет совпадения, запрашивает подсистемы, делает многоэтажные маппинги, etc. То ты устанешь ждать прогон даже одного такого теста.
>>3197074 >но я не понимаю зачем они нужны? Зачем сливать на это время? Что они должны делать? Вообще полный ступор
Если ты не видишь в этом смысла, скорее всего тесты - говно. И код проекта - говно. Это довольно распространенный кейс в спринг приложениях - многие не понимают в этой возне смысла, но лиды кнутом продолжают насильно насаждать TDD на код, который под это не заточен.
Давай я попробую угадать - тесты у вас выглядят как перемоканная тафтология на логику сервисов?
>Если я уже продебажил всё, я теперь, должен придумать что-то хуй знает что, чтобы что? Блядь, бред какой
Проблема дебага в том, что ты продебажил и бросил. А тесты встраиваются в билд пайплайн и проверяют критичные инварианты для каждого вносимого анальниками изменения.
>>3197603 Юнит тесты обычно только для либ подходят. Для более серьёзных приложений из-за накапливающегося говнокода при совмещении кучи либ и фреймворков остаётся только возможность для интеграционных тестов.
>>3197697 Есть проблема. Бизнес логику не менял, старый тест рухнул. Почему? Рефакторинг/изменения в апи сторонних сервисов. Переписываем все тесты. Потом по-новой.
>>3197802 Еще раз говорю, ты что-то другое под этим понимаешь. В частности в той же идее все инспекции рефакторинга по крайней мере стремятся к тому, чтобы они были обратимы, т.е. сводимы друг к другу.
>>3197806 Ты сам все подчеркнул, without changing it's external behavior, это ты похоже что-то не то под этим понимаешь. Без изменений внешнего поведения можно всю программу переписать что у тебя ни один юнит тест не пройдет
>>3197810 >>3197811 Юнит тесты не тестируют внутренее поведение. Они и тестируют внешнее поведение. Если твои тесты блять лезут в детали реализации - то это хуевые тесты.
Примеры есть но они тебе не понравятся. Чтобы получать удовольствие от юнит тестов, надо декомпозировать код не так как принято у спрингокульта, а спрингокульт очень ревностно относится к своим догмам.
Вот этот анон >>3197614 кстати отчасти прав. Юнит тесты отлично подходят для либ, потому что либы априори дизайнятся так, чтобы быть переиспользуемыми максимальным числом клиентов. Автотесты по сути своей - ничто иное как частный случай переиспользования тестируемой сущности. Если у тебя непереиспользуемые юниты (классы, компоненты) в коде, попытка переиспользховать их под тестом не принесет ничего кроме боли и отторжения.
>>3197863 Тут либо спрингокульт с процедурным кодом, либо ддд-шизы с бинами в отдельном файлике (как в спринг 3). Или еще какая ебанина в стиле ООП по заветам дидов. Спринговый код хотя бы привычный и предсказуемый.
Сап! Вопрос жизни и смерти. Надо подружить приложение с блютюзом, чтобы передавать данные на ардуино. В упор не понимаю как сделать, а срок исполнения маленький. Можете подсказать?
знаю с пробелами джава кор, что делать после? начинать трогать спринг (в процессе пробелы сами затянутся)? или продолжать клепать калькуляторы/крестики нолики в консоли пока хорошо не овладеешь кором? алсо, жакартаЕЕ стоит трогать? что такое сервлет и его жизненный цикл знаю, дальше стоит лезть или теперь только крудошлёпить на спринге и радоваться жизни? коллекции/стримы/ооп хорошо знаю, многопоточка страдает
>>3199286 Джава кор это то, что приходит очень долго и с очень большим опытом. Намеренно лепя вынужденные калькуляторы ты его не поднимешь. Так что трогай спринг, что по сути простейшая прикладная технология, и потом и кровью овладевай кором.
>>3199286 >стримы знаю хорошо Уверен? Из простого, какой-нибудь groupingBy в коллекторе хоть раз трогал? >многопоточка страдает Книгу с поездами, которую тут недавно вот обсуждали, прочтиай.. Лишним не будет >>3199305 А как проверить свое знание жавакора вообще?
Просто блядь сделать $"" чтоб возвращал стринг темплейт или как он там, и добавить terminate by после этого чтобы выбирать терминатор, например $"\{zalupa}" terminate by STR, добавить просто terminate как алиас terminate by STR, а также неявное добавление terminate если видно что значение присваивается строке для удобства чтобы все эти терминейт не писать постоянно.
>>3199746 Ну я коммент главного жавана почитал, вроде понятнее. >С тем что доллар кал я согласен. Не ну, читаю комментарии, блять половина сука про то, что а где же доллар, как же мы будем пользоваться \, почему нельзя как в скале/котлине. Чувствую себя каким-то не хипстером, тк вообще похуй, что на синтаксис, что на саму интерполяцию. Что в ней такого-то вообще. >>3199750 Не думаю, что они будут так просто добавлять ключевые слова, хоть и контекстуальные.
>>3199758 Вот тут он же пиешт https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html Мол >Specifically, the role of processors is “outsized” to the value they offer, and, after further exploration, we now believe it is possible to achieve the goals of the feature without an explicit “processor” abstraction at all! И вот в результате пик. >>3199761 Где именно тебе поднасрали синхронайзеды-то?
>>3199780 >Там нет никакого нового варианта. Есть же. >String s = String.format(“Hello %12s\{name}”); Но это вместо FMT. Вместо STR непонятно что будет.
>>3199787 Ну тогда вот. Вообще без всех этих fmt и str судя по всему будет. Типа либа за тебя все решит. Как я понел, конечно. Но там судя по началу, было ебать какое обсуждение и хуууй его знает, что в результате выйдет, потому проще просто забить.
>>3199791 Так то что у тебя на скрине будет за счет перегрузки методов >void println(String s) >void println(StringTemplate st) А я говорю про случай, когда есть только метод, который принимает обычный String, и StringTemplate надо отрендерить перед передачей.
А, нашел >This might be a static method (String.join(StringTemplate)) or an instance method (template.join()), shed to be painted (but please, not right now.). Короче будут обсуждать еще 5 лет а потом выйдет залупа.
>>3199801 Нет, это полная хуйня. Так и String.format можно обойтись. Во всех языках интерполяция происходит неявно. В жабе хотят расширить очко возможности - окей, но не за счет основной сути интерполяции.
>>3199803 Ну, получше чем STR."". И неявность на самом деле не так просто добавить, ломается принцип того что один и тот же код где бы его не вызвали возвращает один и тот же тип (а обычно, если без калового @CallerSensitive, вообще одно и то же).
>>3199804 >>3199806 >>3199832 Фу блядь. Как же хуёво на душе от этой хуйни. Я чуть не заплакал когда видео увидел. Это же не настоящие питомцы, что за пиздец, сука? Как можно так по блядски примитизировать любовь к питомцу до "гыгы мила))"?
>>3199837 >Это же не настоящие питомцы Просто чтобы было на что отвечься. Мне бы вообще че угодно подошло, хоть сортировка или еще какая поебота. >>3199832 Пасиб
Предыдущий: