>>3199948 (OP) Кто ковырял FFM? Как через него вызвать функцию, которая возвращает строку? Я пробовал различные раскладки (JAVA_BYTE, ADDRESS и т.д.), но ни одна не подошла. С числами получилось.
Вопрос на миллион. Есть Gradle, есть Java, есть либа А, есть либа Б, есть клиент В. Как добавить либу А в либу Б, либу Б в клиент В, так чтобы клиент В видео классы либы Б, но не видел классы либы А?
>>3200190 Это новый тренд такой, очень модный, называется "less is more", самый bleeding edge компьютер сайенса. Спроси гоферов, тебе подтвердят. А ты что, не следишь за развитием трендов?
>>3200208 В жс нет статической и строгой типизации. Сразу нахуй.
Еще кстати может шарп припомнишь, блять боже какое же это говно, как в нем люди работают и неиронично сравнивают асп с спрингом. Суки, наебщики, каждому бы плюнул в ебло за это.
>>3200196 > Какие реальные минусы от многословности? Говно в классфайлах которое читать неудобно. Нарушение принципа драй со всеми вытекающими.
> Всегда есть автогенерация и пр. пр. Щас бы как шарподебилы перекрывать недостаток языка тем что идея может жиденько дриснуть в класс и всё скомпилируется. Автогенерация (любая вариация) не всесильна, у неё куча минусов.
>>3200293 >Нарушение принципа драй со всеми вытекающими. Ну я не особо понимаю, что конкретно ты собрался повторять. Если говорить про модификторы доступа, к примеру, если ты все все завяжешь на контракты в интерфейсах, то просто имплементируя их, ты все автоматом подвяжешь. Никакого потоврения не будет.. А для DTO используй record. Таким образом даже get/set не нужны будут. В действительности очень мало языков позволяют писать какие-то пиздецовые абстракции, чтоб ну точно нигде не было повторений. >Автогенерация не всесильна Помимо автогенерации в жабе еще активно используют магию, в виде рефлексии и измнения байткода в рантайме... В итоге в таких магических фреймворках все няшно, если не заглядывать в кишочки.
>>3200316 > Если говорить про модификторы доступа, к примеру, если ты все все завяжешь на контракты в интерфейсах, то просто имплементируя их, ты все автоматом подвяжешь. Всё идея жиденько в класс насрёт сама!
> А для DTO используй record. Таким образом даже get/set не нужны будут. Вот вчера блядь разрекордивал класс потому что у рекордов нет возможности сделать канонический конструктор приватным. А если ещё мутабельный объект нужно сделать? Рекорды очень слабы.
> В действительности очень мало языков позволяют писать какие-то пиздецовые абстракции, чтоб ну точно нигде не было повторений. >А у шархлов ещё хуже!
>>3200319 >А если ещё мутабельный объект нужно сделать Мутабельность зло. Просто выкидывай старый и делай новый, через with. >нет возможности сделать канонический конструктор приватным А нахуя? >А у шархлов ещё хуже! Я это к тому, что такие языки почему-то не мейнстрим. Почему-то стандартом индустрии становятся именно жабы.
> А нахуя? Например два поля выводятся при конструкции из других вычислительно тяжёлым образом и сохраняются чтобы их не вычислять каждый раз при каждом обращении к объекту. И нужно сделать так чтобы не было возможности у кого-то передать какое-то говно в эти поля нарушая инвариант.
> Я это к тому, что такие языки почему-то не мейнстрим. Почему-то стандартом индустрии становятся именно жабы. Вот все едят говно значит правильно! Вот в деревнях-то все ели!
>>3200332 Ну да. От мутабельности одни проблемы. В чем я не прав-то?
>бла бла Как вариант, пик.
>Вот все едят говно значит правильно! Вот в деревнях-то все ели! Ну я бы очень хотел на чем-то няшном писать, но типа где мои хотелки, а где хотелки индустрии. Не думаю, что у тебя координально иная ситуация.
>>3200343 > Ну да. От мутабельности одни проблемы. В чем я не прав-то? В том что до сих пор ни одного доказательства не предоставил, даунёнок.
> пик. И что это за кал?
> Ну я бы очень хотел на чем-то няшном писать, но типа где мои хотелки, а где хотелки индустрии. Не думаю, что у тебя координально иная ситуация. Ну и как это опровергает что-то мной сказанное? Тебе лишь бы высрать, опущ?
>>3200354 >В том что до сих пор ни одного доказательства String, BigInt, все wrapped классы, record-ы бай дефолт иммутабельны. В многопоточке огромные проблемы с мутабельными полями, а вот final дает гаратнии даже большие, чем volatile. К примеру, они легко могут игноирть гонки, в новых апишках активное участие принимают, те же scoped value. Ну и плюс мутабельность не в изолированном, нарушает ссылочную прозрачность. >И что это за кал? Все как ты хотел. Создать такой record через обычной конструктор невозможно. Поскольку sealed нельзя просто взять и перегрузить. Даже через рефлексию. Единственное исключение - это null. Но тут вообще мало что сделаешь на данный момент. >Ну и как это опровергает Да никак. Просто ты будешь терпеть, в любом случае. Даже если убежишь с жабы.
>>3200365 > String, BigInt, все wrapped классы, record-ы бай дефолт иммутабельны. > В многопоточке огромные проблемы с мутабельными полями, а вот final дает гаратнии даже большие, чем volatile. К примеру, они легко могут игноирть гонки, в новых апишках активное участие принимают, те же scoped value. > Ну и плюс мутабельность не в изолированном, нарушает ссылочную прозрачность. И что из этого является доказательством того, что от мутабельности одни проблемы?
> Все как ты хотел. Я хотел приватный каноничный конструктор, а не какую-то хуйню с силедами и статическим инициализатором который нуллом обойти можно, додик.
>>3200404 Мне похуй на твои хотелки. В жопу себе их запихни и проверни там же. Свойства, которые тебе были нужны можно достичь, какими способами меня не волнует.
Блядь, как же заебали сука ебучие баги идеи... Ладно блядь, я привык уже по раз 20 на дню перезапускать её нахуй, но теперь она тупо просто блядь не запускается. Уже 5 раз перезапустил, открываются два зависших проекта и всё.
>>3200259 В груви дохуя чего есть в 1 строку помимо принтлна. Thread.start {}, SQL, @Grab, парсинг ямла, xml, jsona. Spock на голову пизже кондового jUnit-а. Затащил его в прод в крысу, сижу кекаю потихоньку java 5 кун
>>3200601 В жабу надо просто впилить стандартный API преобразования AST, тогда и лобок перестанет быть хаком, и спок свой можно будет написать. Но жепов нету на эту тему.
>>3200609 И не будет таких жепов. Ты что, не видел то, как они реагировали на ансейф? У них позиция, если что-то надо, то используйте jcp, пулреквесты, фичареквесты у разрабов самой жабы. А все хаки не решают проблемы, а просто их замачивают, фактически делая хуже. Иное отношение у них только к jvm-based языкам, но это вообще другое.
>>3200163 Никак. Голый джарник в голом класспафе тупо не умеет в такие нотации. И эта проблема не решается ни гредлом, ни какой либо другой из систем сборки впринципе.
В теории - эту проблему решают подсистемы типа OSGi или JPMS, которые вводят нотацию модулей. На практике - тебе проще забить, нежели упарываться в это.
>>3200878 Слив тебе мочи в глотку засчитан, червь. Драй принцип у него блять в классфайлах нарушен... Дегенерат, да хули тебе вообще знать что о классфайлах, что о принципах.
>>3200163 M A V E N S H A D E P L U G I N A V E N S H A D E P L U G I N Самая недооценённая вещь на свете. Миллион применений, среди них (частичный) ответ на твой вопрос, а также решение джар хелла, ради которого разрабы джавы сломали обратную совместимость в джава 9 и что у них не получилось.
Просто релокейтишь либу под com.library_domain в hk.sosach.internal.com.library_domain и все кто попытаются использовать её будут видеть что она где-то не там где надо лежит.
>>3200975 Так а че это изменит? Ну уведешь ты, например, классы либы А в приватный или package-скоуп - в тот момент как ты положил эту либу в класспаф, все ее паблик-нутря просто становятся видимы и либе Б, и твоему конечному клиенту В. То есть один пень это не будет решением проблемы, которую ты озвучил.
Или что ты имеешь ввиду под "сделать классы закрытыми для юзера"?
>>3200163 А, еще вспомнил что в мавене, например, есть maven-enforcer-plugin, с помощью которого можно позапрещать транзитивные зависимости. Может для градла аналог завезли.
>>3201049 > Может для градла аналог завезли. Градлодауны могут только мечтать по ночам о том что они когда-то перестанут писать ручками то что на мавене делается подключением плагина и днём копротивляться за то что и нинужно нихуя и всё от лукавого и лучше ручками побойлерплейчу.
>>3201044 Спасибо! Завтра на работе проверю, если и правда так, то это звучит как решение проблемы. Юзер всё равно получит доступ к публичным классам если я правильно понял, но они будут теперь лежать в пакете с названием уровня geygbhrgh.jgtfjkk.pkhwdhh и процент юзеров кто решит это трогать будет стремиться к нулю. >>3201047 Можно добавить исходники либы А в гредл модуль либы Б и использовать модификатор internal (это из котлине, но в жабе тоже подобный есть). Тогда внутри этого модуля классы будут доступны другим классам, а юзеру либы не будут после сборки модуля.
>>3201997 Жирно жирно, не пользоваться лучшей в мире иде, а пользоваться какой-то пародией. И ради чего? Вскод ресурсов даже жрать меньше не будет, ибо электрон.
>>3201997 >Белой завистью завидую всем кто ни разу не пользовался жидбрейнсовым калом
Я вобще вкатывался через нетбинс, и мне было норм. Но это было во времена когда джава 7 была наисвежайшим релизом, и тогда идейка была не намного лучше нетбинса. Хорошие были времена.
>>3202087 О. Я помню как с саного эклипса на нетбинс перекатился. Как же я от него кайфовал. А потом буквально через год оракл жидко пернув слил 8 версию дегенератам из апача. И дегенераты сразу сломали все плагины и нб пошел нахуй. В те годы жидбрейновская поделка сосала хуй у 8
>>3203900 >таскать С какой целью? Если работа только в офисе, таскать его некуда. Если гибрид - дома одно устройство для работы, на работе другое, в конце рабочего дня запушил и доволен.
>>3203959 Я чет читал агит заголовки будто добавляешь зависимость в помник и у тебя сходу в два раза меньше потребление памяти в спринг бут калопроводе,как это работает так и не выкупил
>>3203915 >>Если работа только в офисе, таскать его некуда. У меня в офисе все куда то их таскают, никто не оставляет. Хотя не слышал чтоб их пиздили, но камер в опенспейсе нет так что мало ли что.
А помогите пожалуйста, опытные спринговоды, у нас у бина есть два интересующих меня лично скоупа, это синглтон и прототип. Когда я инжектю бин через аннотации @Lazy и @Autowired то инициализация бинов происходит только при обращении к методам бина, а не во время старта приложения, но есть загвоздка. Когда я вызываю методы у экземпляра бина с областью видимости прототип, то каждый вызов метода это новый объект, из-за чего у меня не сохраняется состояние этого бина. Я прочитал, что при использовании @Lazy у нас создаётся обьект-прокси вместо самого бина, при обращении к прокси у нас происходит обращение к контексту через .getBean(), вот вопрос, но по документации это должно происходить при первом обращении к бину, так почему же у меня при вызове цепочки методов .method1().method2().method3() создаётся 3 разных бина? Что не так?
Может быть свитчнуться? Хотя тут тестовое требует, не люблю делать тестовые. Но в остальном вполне впечатляет по зп и по условиям. https://spb.hh.ru/vacancy/100549114
>>3204699 Но ты же сам написал - у тебя не просто бин. У тебя - прокси ленивая. А прокси за тебя идет в контекст. А в контексте бин - прототип. Как бы все ожидаемо.
Вообще, с тебя бы скрин куска кода где ты эту цепочку вызовов делаешь. Чето слабо верится что method2 ты вызываешь на значении, возвращаемом method1. Может ты просто последовательно дергаешь эти три метода на проксе на самом деле?
Попробуй другие скоупы. Скоуп request тебе не подойдет например?
>>3203900 Синкпады были е14. Дешевые и слабоватые, но нареканий не было. С линуксом нормально дружили. Более-менее легкие, полтора кило, все нормально их таскали.
>>3205264 Хм, а может быть и из-за того что подставляется прокси, просто я не думал что при каждом дёрганье метода прокси у нас возвращается новый бин, видимо это особенности работы скоупа, а если так подумать, то метод, который возвращает this на самом деле возвращает не бин, а прокси, завтра проверю. Какой же все таки спринг пиздец.
>>3205702 Оверрайд это про выбор метода в зависимости от реализации, оверлоад это про выбор метода в зависимости от аргументов. Оба ad-hoc полиморфизм. А оверинжиринг ето про меня, когда я всякую фп поеботу делаю :3
>>3203900 > На галере выдали игровой блять ноут. Было бы иронично если бы поставили политики по установке ПО и установить игрушки на него не получается
А че спринг? Нравятся DI-контейнеры? Хавай не обляпайся. Так уж повелось что scope и lifecycle management делегируют DI фреймворкам. У анальников мозгов то не хватает их менеджить руками...
А фреймворк - че на него пенять? Ты сам выбрал scope prototype. Скоуп прототип по определению самый короткий и узкий скоуп. Что ты просил, то и получил.
Задай себе вопрос - вот это вот состояние бина, о котором ты выше говорил: как долго оно должно храниться, и кому должно быть видно?
Если храниться оно должно всю дорогу и быть доступно везде - то синглтон.
Если для состояние актуально для одного конкретно взятого вызова на ресте, то реквест.
Если состояние относится к пользовательской сессии, и должно оставаться пока юзверь не разлогинится, то session.
А, и кстати да - у тебя же не просто прототип, у тебя ленивый прототип. То есть че выходит в сумме:
1. Прототип это скоуп, из-за которого тебе возвращается новый бин каждый раз, когда ты лезешь за ним в контекст
2. Лэзи ведет к тому, что в контекст за бином ты полезешь не в тот момент, когда тебе спринг зависимости для твоей пепяки инициализирует, а в тот момент когда ты свой автоварь палочкой ткнешь.
3. Складываем 1 плюс 2, получаем такое - ты тыкаешь свой автоварь палочкой три раза, каждый из которых приводит к лазанью за реальным прототипом в контекст. Вуаля - три прототипа.
>>3196067 → >>3198184 → >>3199605 → Короче это полный пиздец - за два дня наткнулся на ЧЕТЫРЕ бага, которые не дают нормально собрать проект. Откатился на шиндоус. Может в 2024.2 идее попробую еще раз.
>>3206820 Так а дефолтный хттп сервер же есть, а остального там немного, как автор и написал 800 строк. Даже меньше можно было сделать, JSON там в принципе-то не нужен. А так волне код как на го, все в тренде, чего такого? Круто
>>3206820 Пиздец, как же он бахвалится, сука почти каждый абзац говорит, что ебааать какие же вокруг далабебы, а вот он-то, он-то все прошарил, мириады пограм написал, познал дзен.
Особенно пики радуют. Уу, это не я не могу в спринге разобраться, а это он мне палки в колеса вставляет. И да, ведь написание 100501 велосипеда это именно то, что должен уметь пограмист, ууу тупые, лексер свой написать не могут. Правда этот скуфяра корячился над этим проектом 4 года блять. Наверное он предлагает всем по столько же корячится, хули нет. Ането сприииинг >>3207065 Случаем не ты автор статьи-то? В чем достижение? У вас места на жестких дисках нет, чи шо? Сука, экономим уже не на озу, а на пзу. Совсем ебанулись.
>>3207082 >лексер свой написать не могут Причем он свой парсер json так и не написал, лол. Потому что "формат JSON— сложный" самый простой и естественный.
>>3207082 >Случаем не ты автор статьи-то? В чем достижение? У вас места на жестких дисках нет, чи шо? Сука, экономим уже не на озу, а на пзу. Это всё выгружается в ОЗУ, алё
>>3207082 >места на жестких дисках нет JDK уже немало занимает, а ещё у меня есть Groovy в нескольких версиях, не говоря уже о многом другом. Вот все сейчас так рассуждают, поэтому так и живём. Примеры uTorrent и eMule уже исключение, а не правило.
>>3206820 Очередной энтерпрайзник головного мозга. Вытащил палку из жепы на 5 минут, только чтобы написать очередной http круд. Для чего начал писать свой спринг с нуля. Ой ебанашка бля. Да иди нахуй, лёха. Говна лепеха
>>3207187 Неа. Суть-то ты в любом случае понял же. Смысл экономить место на хдд, если они террабайтами блять за копейки продаются. >>3207111 Не выгружается все. Во первых пик, это ключики для компилированного кода. В остальное время жвм работает как интерпретатор, и ей опять же не требуется разом дергать все класслоадеры. Она их подгружает при первом обращении. >>3207097 Ну может и сложный. Я помню как один кунчик возмущался, что из-за неоднозначности md очень сложно сделать нормальный парсер. Возмооожно тут схожая ситуация. Просто мне не нравится то, с каким апломбом он это говорит, мол вот, у него-то вышло, а у тебя не факт и лучше точно не будет. >>3207244 У меня 100500 версий ждк, виртуалка, zfs, снапшоты, конетейнеры разного рода, куча проектов. И че, из 256 гб сожрало чуть больше половины. Если не устанавливать игрушечки для дебилов, то на все хватит. Это тебе не юнити, проект которого под 30 гб весит. Вот даже если посчитать, на 200 гб тебе можно установить 1000 блять версий ждк. Я уж молчу, если у тебя файлапомойка на 4 тб. Я не понимаю, что вы там экономите блятб на казенном-то сервере. >uTorrent Чел, это самая хуевая пограмма эвер. Если ты ей пользуешься.. Удали ради меня и скачай qbittorrent/Transmission
Ну-ка, спрингоёб с 10 годами опыта, можешь живо пояснить что такое ВЕСЕННИЙ БОБ? Не "ну эээ ну типа класс типо это бахнул как там ещё это аннотация боб и все магия заработало))) и ещё автовайред есть", а дать чёткое определение.
>>3207614 >Не выгружается все. Во первых пик, это ключики для компилированного кода. В остальное время жвм работает как интерпретатор, и ей опять же не требуется разом дергать все класслоадеры. Она их подгружает при первом обращении. естественно не требуется, но если ты их все используешь (а скорее всего ты их и используешь, иначе зачем они в программе) - ты их подгружаешь. Т.е. после вармапа ты всё подгружаешь, включая все классы, идущие в Metaspace
>>3208207 Интересно, а может ли она выгружать эти классы, мол типа они больше не требуются. Типа как деоптимизация. >>3208216 И в чем я не прав-то? Тут вот выше был чел, который ныл из-за того, что а пук среньк, ебаный спринг, какого хуя он мне три инстанса бина сделал. Может все таки виноват не иструмент, а его пользователь? Плохому танцору и..
В том что родился. А родившись, что рот свой открыл поганый. За 10+ лет в джаве я сполна насмотрелся на таких подсосов, у которых за плечами кроме баэлдунга, джавадока по анноташкам и высеров Борисова нет нихуя. Конструктив? Не, о чем вы вообще - кто не любит спринг, тот его не умеет. Другого мнения просто быть не может.
Чел сверху то как раз не ныл, а просто пришел с вопросом, на который даже ответ получить умудрился. На дваче, блять, ответ получил - он гигачад нахуй после такого. И его болячка - не нытье, а реакция честного непредвзятого человека на спрингопарашу. Реакция, которую любой адекватный разраб поймет и отнесется по человечески к новичку. А ты - просто промытка спринговая, плесень а не человек, тьфу тебе на ебало.
>>3208237 О, еще один умудренный опытом, который обо мне все выводы сделал и все понял по паре сообщений. Тот йоба разраб не предоставил пример, гдее же ему спринг всю малину-то портит. А не конструктивный я. Понимаю. >кто не любит спринг, тот его не умеет Глупышка, тот кто жалуется на ебаный инструмент, при этом вообще блять не пытается рефлексировать по поводу себя - как правило просто инструментом пользоваться не умеет. Все. Это in general правило, которое я к частному случаю применяю. Прекинь, логика, дедукция, знакомые слова, конструктивный ты мой?
Получить ответ по поводу спринга в месте, где почти каждый первый спринговод. Ебать достижение, минет не забудь ему сделать, омеж.
>>3208241 >тот кто жалуется на ебаный инструмент, при этом вообще блять не пытается рефлексировать по поводу себя - как правило просто инструментом пользоваться не умеет. Все. Это in general правило, которое я к частному случаю применяю
Мог время не тратить. Не бывает второй оказии создать о себе первое впечатление. А о том, что ты гнилое лицемерное чмо и ебаный культист, было понятно еще с первого раза.
>>3208237 >>спрингопарашу Так в чем претензии к спрингу? На нем щас вся джэва и держится. Там где можно обойтись без спринга, можно легко обойтись и без джавы.
>>3208296 Везде можно обойтись без любой технологии, вопрос нужно ли это делать, сколько это будет стоит сделать и сколько это будет стоить поддерживать.
>>3208381 Увидел только нытье очередного сноба хуесоса.
>>3208397 Питухон и го обойдутся дешевле джавы без спринга.
>>3208419 Если выбирать между спрингом и джавой - то спринг очевидно лучше. "Чистая" джава - нахуй не нужное легаси говно, лучше уж перейти на го/питухон/котлин.
Тебя перед дилеммой раком что-ли поставили - спринг или не-спринг? Нахуя ты впрягаешься то, ради чего? Никто у тебя твои бирюльки не отбирает. На невинную "спрингопарашу" чтоли стриггерился? Буквально каждый второй спринговод со стажем его так называет, при этом не вкладывая в это ни-че-го, никакого нарратива. И только ебаные культисты сразу подрываются защищать свой идол. Ебаный в рот, зачем? Что с вами не так?
Сука, опущи вы промытые - даже бедный аффтар этого креатива обмазался дисклеймерами специально от вас, чтобы вы свои ебальники позакрывали и не лезли в залупу. Но вы же, тупые бараны, даже читать и распарсить в мозжечке своем не умеете нихуя кроме священного писания по спрингу.
>>3208421 >лучше уж перейти на го/питухон/котлин. чем лучше? тем что будет +1 язык в зоопарке? или тем что наконец-то галочку себе можно будет поставить за использование одобренных хайпом языков? го еще хуже это "чистой дажвы", в нем еще меньше фич чем в джаве 10 лет назад, но из-за хайпа это уже совсем другое, понимать надо?
>>3208228 >Интересно, а может ли она выгружать эти классы, мол типа они больше не требуются. Типа как деоптимизация. Я читал что может, если класслоадер, который эти классы загружал, зачистится GC. Но это очевидно требует кастомного класслоадера, потому что стандартные не зачищаются в процессе.
>>3208435 В спринге как раз кастомный класслоадер, такчто... Не все потеряно)) >>3208433 А я бы хотел, чтобы в чистой жаве систему типов улучшили... Хотя бы null ограничить. Ну и там побольше auto/var добавить. Для филдов, аргументов и возвращаемых значений методов. Было бы идеальна.
>>3207082 > У вас места на жестких дисках нет, чи шо? Додь, запомни одно правило: хуёвый код может растратить любые ресурсы любого железа. Напиши while (true) и у тебя нет ядра. Напиши while (true) map.put() и у тебя нет ОЗУ. Напиши while (true) Files.createNewFile() и у тебя нет диска.
Недавно появилось время прочитать книгу с поездами. Сука, я когда читал главу про производительность, мне хотелось плакать. Уже тогда у нас уже были настолько мощные процессоры, что байтоёбство и циклоёбство порицалось потому что уже тогда оно не давало никакой пользы благодаря быстрым процессорам, а впереди были ещё десятки лет развития компьютеров. Тогда мы видели светлое будущее перед глазами. Но 2024 год наступил, и в реальности производительность стала ебать даже там, где раньше даже не думали о ней. Именно из-за такой тупой школоты с мантрами которые не то что не доказываются, а даже легко опровергаются. Ебучие зумеры всё просрали. Ебал тебя, твою мамашу и всю твою семью до 10 колена за то что приложил руку и продолжаешь прикладывать к тому, что светлое будущее не наступило и в программировании.
Я свитчер с питона на java, полный новичок в ней, так что прошу не осуждать за столь простой вопрос.
Создаю в intellij idea проект, сборщик - мавен. Перед этим установил сам мавен в систему, все ок. После сборки проекта и попытки его запустить в терминале - сам запуск проходит нормально, но уже в ходе выполнения я получаю ошибку
no main manifest attribute
Причину этого я понимаю - idea по дефолту никак не указывает точку входа, и ей нужно указать вручную в pom.xml, в тэгах <build>, класс где находится psvm метод. Но как именно это сделать? Что конкретно прописать? Все варианты, что я находил, не работают. Ни стэковерфлоу не помог, не чатгпт.
Если у кого-то есть возможность, скиньте пожалуйста рабочий вариант. Самый простой хотя бы.
>>3208523 Ты хочешь использовать установленный отдельно на системе мавен? В идее зайди в настройки идеи,вбей maven и там можно выбрать bundled версию чтобы не держать отдельно мавен на системе
>>3208500 Хуйню-то не неси. Заставить компилятор за меня выводить типы != заменить все типы одним уверсальным, аля Dynamic. >>3208519 О, по моему совету читал? Надеюсь до 16 главы прочитал, она самая няшная.
А че за светлое будущее, ты про что? Оптимизировать нужно тогда, когда перфоманс инженер обнаружил в этом месте ботлнек. В остальное время.. Ну можно стараться асимптотику не слишком уж хуевой делать и усе. Типа прекинь,к примеру jit умеет заменять циклы на simd. А в самой жаве на данный момент инструментов даже для этого нет. В общем я к тому, что ну не выйбуйся, жвм многое оптимизирует и без твоей помощи.
Даже твои же примерыоптимизируются. while(true) именно поэтому быстрее чем любой другой вайл с условием или фор. Добавление в мапу может убрать как dead code. А создание файлов.. Че оно сделает той же zfs? там 2^48 максимум. посчитай сколько времени надо, чтобы это ограничение превысить.
>>3208770 >когда перфоманс инженер обнаружил в этом месте ботлнек Так у него работа такая. Он больше ничего делать не может. А твоя задача в том, чтобы обосновать,что тут все переписать проблема на долгие годы.
Как там на самом деле и какова выгода всей компании - не очень важно для тебя.
>>3208519 Хуйню написал. 10-15 лет назад варнички грузились в сферу или жбосик с 64 ядрами и 512 гигами озу. Сейчас девопсЫ душат своими подами по 256мб озу и 1 ядром
Нахуя мне разбираться в тонкостях срыга, если сами разрабы срыга не разбираются даже в тонкостях джавы? Столько идей срыгом было похоронано потому что его разрабы их не осилили. У срыга идеология соответствующая ментальному развитию 13-летнего школьника.
>>3208770 >Оптимизировать нужно тогда, когда перфоманс инженер обнаружил в этом месте ботлнек. В остальное время.. Ну можно стараться асимптотику не слишком уж хуевой делать и усе. ЯСКООООЗАААААЛЛЛЛ!! ВРЁТЕЕЕЕ!!!!!
>Даже твои же примерыоптимизируются. while(true) именно поэтому быстрее чем любой другой вайл с условием или фор. >Добавление в мапу может убрать как dead code. >А создание файлов.. Че оно сделает той же zfs? там 2^48 максимум. посчитай сколько времени надо, чтобы это ограничение превысить. Олень, ну пойди и запусти while (true) и посмотри на загрузку процессора. Жид у него это оптимизирует, пиздец. Пиздец конченное опущенное чмо. У тебя дебилизм или идиотия? Съеби из профессии, уёбок.
Честно, ты меня тааааааак сука заебал. Каждый ебаный раз ко мне лезешь со своими пртиензиями. И как же ты заебал со оскорблениями. Я че-то в твою/вашу сторону-то сказал? У сука, бесит блять. Почему скуфы такие неприятные
>>3209460 Ну и какое отношение busy wait к теме имеет? Блядь, тебе что, на самом деле лоботомию сделали? Как ты вообще с таким интеллектом смог говорить научиться?
>>3209462 Прямое. Busy wait частный случай вечного цилка, одно тривиально откидывается, второе тоже. Поставил nop и тебе кванты никто выделять не будет. Пошел нахуй в общем. Не пиши мне сука больше. Я тебя в рот ебал, ты до самого конца будешь отрицать все бесполезный спор и трата нервов.
>>3209463 А, я понял, ты настолько тупой что под while (true) понял БУКВАЛЬНО while (true). Чё не доебался тогда что оно не скомпилируется? Скобок-то нету. Блядь, какой же ты даун, это пиздец. Я даже на сосаче таких олигофренов редко вижу.
>>3209471 Да в целом как то похуй. Я и так ее раз в полгода обновляю (когда ключ кончается и надо новый вводить), так и быть сделаю пару лишних движений чтоб скачать.
Аноны, Я не пойму, что за странный пример в учебнике, вводит меня в заблуждение. На первом скрине понятно пишут что левый индекс строка, а правый столбец. А на втором в коде уже какие то непонятности. Объясните простым языком в чем суть
Коллеги, есть такая инспекция в идее, подсвечивает незакрытые AutoCloseable, очень удобная. Может кто знает как сделать в идее тоже самое, но на проверку произвольного типа и метода?
>>3209540 Левый индекс - индекс массива в массиве массивов. Правый - индекс в самом массиве.
Лично мне всегда казалось, что этот порядок нелогичный. Т.е. по моей логике int[4][5] - должен быть массивом из 5 элементов int[4], но на самом деле все наоборот. Тупо для запомнил, что в таких случаях порядок обратный от того, что кажется логичным
>>3209813 Никак. Это одна из проблем отсутствия API для статического анализа произвольного кода. Без него весь статический анализ где бы он не был прибит гвоздями к конкретному классу и к конкретной иде.
>>3210779 Меньше символов не значит лучше. А на доллародаунов похуй. Но доллар можно добавить в виде StringTemplate stringTemplate = $"" и String string = $"".join().
>>3209978 Ну.. Всегда можно сделать ахуительные util классы)
Конечно нахуй не нужно, нооо, я прям давно хотел(пик3) сделать что-то, что может обобщенно тайп сейвово создавать массивы через методы. Оказывается для этого куча фокусов нужно...
>>3210905 Да не трясись ты от зависти. Понимаю, кроме крудохуйни ты ничего другого и не видишь. Можно сказать я единственный светлый лучик в твоей жизни. >>3210948 Ниправда.
>>3210956 >>3211027 Блядь, и ведь ему не один человек говорит о том, что ему пора бы перестать позориться и щитпостить в треде, ему весь тред об этом говорит. Но он, обделённый разумом, продолжает срать. Как шарподаун, честное слово. Каждый раз одна и та же тупизна.
Блять пиздец. Выручайте. Как в Intellij IDEA вернуть удаленный коммит? Два дня ебашил, коммичу, хочу залить на гитхаб и тут замечаю что лишнее в коммит добавил, хочу его удалить и заново сделать, а вместо этого удалил всю проделанную работу вместе с ним.
>>3211033 В чем шитпостинг? Я предложил решение проблемы, аля нелогичное создание массивов. >>3211027 Про позор вообще странного говорить. Могу оригинально решить какую-то проблему - решаю. Все блять. Не приговариваю, что те кто так не могут тупые, не говорю, что только так и надо. Просто показываю интересное, на мой взгляд, проявление семантики языка. Че вы блять такие зашоренные-то. Каждый блять раз одно и тоже. Не нравится так и пишите дальше по шаблону, я ж его не отбираю. >>3211084 Это пробовал? https://www.jetbrains.com/help/idea/local-history.html
>>3211111 Именно потому что ты тупоголовая 60 iq хуйня ты и не можешь понять, в чём тут щитпостинг. Я хуею, он ведь правда думает что он охуеть какой умный и он Америку тут нам щас сидит своим говнокодом открывает. Охуеть.
>>3211118 Чел ты споришь не с моей позицией. Я этого не писал. Ну и аргументов кстати почему говнокод тоже не будет. Бля, обожаю когда меня просто обсирают, ну а ты че, самый умный, а? И все, дальше не заходят. Просто повторяют, повторяют повторяют одно и тоже из раза в раз. Меня это уже порядком заебало.
>>3211123 > И все, дальше не заходят. Потому что здесь суть не в твоём говнокоде. Здесь суть в том, как ты свой высер подаёшь. Вот пример. Нарисовал маленький ребёнок рисунок и показал родителям. Молодец! Можно порадоваться за ребёнка. А теперь представь что этот ребёнок подходит с этим рисунком, тычет им в ебало, говорит, чё бля, видал нахуй, какую я собачку нарисовал, ебаный тупой скуфоскот, ты давай-ка нахуй уже ножки в ручки да в гробик, кто ж ещё кроме меня собачку нарисует, охуеть я конечно интеллектуал.
Но по раз уж ты хочешь получить струю мочи, почему твоя собачка это не мона лиза: 1. Какая в этом польза, помимо того чтобы показать какой ты у мамы умный? 2. Огромный оверхед в перформансе непонятно ради чего. Вот такой сучий гной пишет свою хуйню соевую бесполезную, а с задыханием на 3к запросов в секунду разбираются те, кто после него придут. 3. Огромный оверхед в длине кода непонятно ради чего.
>>3211132 >Здесь суть в том, как ты свой высер подаёшь. Я никогда себя не позиционировал как йоба разраба с 100500 лет опыта. И я не пишу ничего из того, что ты написал. Зачем придумывать позицию за меня..
1. У меня везде упоминания, что это бесполезно, с т.з. использования. А так, ну например способ сделать refied generic без явной передачи класса. Это конеечно не моя идея, просто прикольно. 2. Тут нет оверхеда, поскольку это k, а не n. Константа, которая обычно даже 2 не превышает. Излагаясь, понятнее тут создается порядка 10 объектов в среднем, которые по теории поколений в первой же сборке гц отлетят. Вызовы метода, конпенсируются заполнением массива. Где n, в лучшем случае. Без перфоманс тестов тем более странно про это говорить. 3. Щас бы жаббисту про это говорить.
>>3211147 > У меня везде упоминания, что это бесполезно, с т.з. использования. А так, ну например способ сделать refied generic без явной передачи класса. Это конеечно не моя идея, просто прикольно. >Я сам сказал что я гной, значит я не гной! Бляяяяя...
> тут создается порядка 10 объектов в среднем > Тут нет оверхеда Блядь, ну ты совсем что ли даун? Ты как дожил до сознательного возраста-то с таким интеллектом? Или тебе лет 8?
> Щас бы жаббисту про это говорить. Тут даже нет опровержения, дегенерат. Тебе лишь бы высрать что-ли?
>>3211150 10 объектов много? Ты блять серьзено? Еще раз, ты аллоцируешь массив, длинной n и потом его заполняешь, ибо нахуй иначе его создавать. Соотношение 10 к n, минимум, минимум блять. Как максимум 10 к n^m. Какой огромный оверхед. Че ты несешь, ты всегда на ебаных спичках экономишь?
>>3211152 Блядь, какой же ты тупой. Тебя пуповиной при родах не придушало, уёбок? Ты говоришь что оверхеда нет, а доказываешь это тем, что есть оверхед в создание 10 объектов на один объект массива. Пиздец какой-то. Ты же блядь на самом деле F72 имеешь.
>>3211153 Объект массива не один. С ним в подарок идет создание n объектов, поскольку как я и говорил, неясно зачем нужен массив без объектов. Если массив больше чем одной мерности то, там просто туча объектов создается. Одномерные массивы примитивов создать с таким апи нельзя, очевидно почему. Так что ты еще раз зачем-то подменяешь тезис.
>>3211173 Ты написал огромный оверхед. Он не огрмоный, поскольку соотношение просто ничтожно, настолько, что лично для меня его нет. Тем более если захотеть, то можно и это снизить, создавая новый массив каждую вторую степень. Не создавать каждый раз новый объект билдера. Просто я не понимаю нахуя эта экономия. Она ничего не стоит. В любом случае, конечная цель апи создавать массив int[2][3] способом .n(3).n(2). Хуй знает как ты сделаешь это без оверхеда вообще. Ну кроме "нинужна".
>>3211241 В будущем он будет value type. Ему можно будет указать, чтобы он не был null. А так да. Просто класс, причем final, который не может быть наследником ничего кроме интерфейсов, все поля которого финальны и который автоматически сгенерит геттеры и конструктор.
>>3211257 Меньше проблем со всякими мэпстрактами и джэксонами. В остальном - то же самое. статический конструктор of() надо пуками делать, но это мелочи
>>3211240 Кто бы мог подумать что стандартные инструменты гита для восстановления удаленной истории помогут восстановить историю гита... Держи в курсе...
>>3211314 Ты за меня так переживаешь или че? Я не в дс3, Буквально нет вакансий. Поэтому говорить, что не берут по меньшей мере странно - у меня ровно ноль отказов и ноль собесов. Как следствие, я не знаю какой у меня уровень. Да и честно сказать я боюсь узнавать
>>3212037 Долбоёб, джакарта раньше была оракловской, но оракла заебало её поддерживать и он решил сплавить её компьюнити. Передали эклипсу, в связи с чем и переименовали.
>>3212009 Если сделать енам, то будет падать на этапе маппинга (json в java объект), а не валидации. Это во-первых размазывание зон отвествтенности, а во-вторых сообщения об ошибке разные будут.
>>3212072 Это случаем не ты тот додик что последние 10 тредов серет своими охуительными идеями по типу как развернуть порядок индексов многомерного массивы?
Спрингобояре, сколько в экосистеме спринга тонкостей дебильности уровня "Некоторые валидные и комплирующиеся названия для переменных вызывают ошибку в рантайме с описанием "ОШИБКА В СОСТАВЛЕНИИ SQL ЗАПРОСА", что был составлен автоматически. Дело в том, что они являются ключевыми словами SQL."?
>>3212106 жакарта по сути новая переименованая жяваЕЕ и все ее компоненты типа jms, jpa итд А они никогда не были частью стандартной либы. Было апи, а имплементации все сторонные. Да и апи уже в 9 вроде выкинули. В итоге сейчас нужно как минимум api в депенсы
>>3212358 Дружище, для этого люди магистратуры и аспирантуры заканчивают по направлению программная инженерия и подобным. Если ты без образования должного, то тут никак.
>>3212358 Просто сразу как заходишь, говори "Микросервисы - это круто! Я люблю обмазываться микросервисами и горизонтально скалировать в ванной. Монолит - очень плохо!" Всё. Литерали всё что от тебя хотя там услышать.
>>3212419 Сколько я не был на таких секциях (три раза) - просили проектировать говно с первой страницы гугла по запросу "архитектурное собеседование". Я делал умное жало и пересказывал, иногда ещё шутки вставлял из передачи "наша раша" чтобы не так скучно интервьюверам было. Прошёл без проблем все, оффер принял там где можно дунасинг.
> Я хотел бы показать вам пример кода, демонстрирующий авто- > конфигурацию, но не могу. Автоконфигурация похожа на ветер – вы > можете видеть ее последствия, но у нее нет кода, который можно по- > казать вам и сказать: «Смотрите! Вот пример автоконфигурации!» > Механизм автоконфигурации просто работает, создает и связывает > компоненты – и не требует для этого писать какой-либо код. Именно > отсутствие необходимости писать код делает автоконфигурацию та- > кой замечательной. Это такой троллинг?
>>3214906 Groovy. В отличие от петухона, обладает в меру гибким синтаксисом без значащих пробелов, бесшовно интегрируется с Java. >>3214916 Постоянно в Suggested вылезают всякие паджиты. Жму Report, но система никак не научится. Специально проталкивают черножопую странь. Существует ли годный аналог, где нет индусов (а также арабов и прочих)? Чтобы только белые пользователи. #StopHiringPajeets Make IT white again!
Джуны для вката в других языках пишут что угодно, от блога, до телего-ботов. А Джава, как будто бы, для таких пет-прожектов не сильно подходит. На чем тренируются джава-джуны?
>>3217765 А еще векторы хештейблы и проход коллекций итераторами.... Но повторюсь. За 500к я б пошел и 6 яву пердолить и монолит под жибос на ее5 с еджбэ пилить...
>>3217636 >Джуны для вката в других языках пишут что угодно, от блога, до телего-ботов Джуном писал LMS с фронтом (таймлиф) и бэком, а также несколько cli для разных простеньких задач. Чисто бэковые проекты были: торговый бот на бинансовом АПИ и "интеграция" с тиньковским апи для торговли.
>>3217569 >>3218348 Почему просто на котлин не перейти? 1.5.0 же можно компилить под под JDK 1.6 А груви вообще можно под JDK 1.4 аж скомпилить и там вся вкуснятина есть
>>3219743 Нахуя ты из раза в раз напоминаешь, что пишешь на жаве 5? Чтобы что? >>3219657 Можно, но только никто в здравом уме этого не делает. Вот хочу я на жабе что-то для себя написать и сосу хуяку, ибо десктоп давным давно сдох и всем похую просто. Поэтому терплю и перехожу на что-то, что поддерживает gtk/qt. Еще в опеждк сука такие ублюдские шрифты, а точнее их рендер, просто пиздец. Или вот хочу написать какой-то скрипт и также сосу хуй из-за многословности. Ну в общем-то это и к лучшему, ибо хуже сообщества чем жаваны я еще не встречал.
>>3219874 Пососи, ждк 16 более распространен чем 17, из-за того что отключили --illegal-access=permit, многие вендоры из-за этого портят патчи безопасности на 16 и гарантируют поддержку на годы вперёд.
>>3220012 В смысле зачем? Зачем писать с использованием новых удобных фич когда обратная совместимость этих фич меня не волнует т.к. я не библиотеки пишу?
>>3220013 А совместимость библиотек с новыми версиями не лтсной джавы тоже не волнует? Если проект с кучей зависимостей то переходить сразу на новую верисию языка это вполне себе работа. Первые месяцы вообще что-то может не заработать. Я когда небольшой сервис на 100к строк переводил с 11 на 17 через 8 месяцев после выхода 17 пару часов наверно потратил, чтобы поднять версии всех библиотек.
>>3220026 Так зачем каждые полгода тратить даже эти 2 часа на каждый сервис? Делать больше нехуя? А в большом монолите ты 2 часами не обойдёшься. Спринговые штуки надо обновлять, моделмаппер, вообще все что юзает рефлексию и аннотейшн процессинг. Кроме зависимостей надо обновить еще сиайку.
>>3220031 >вот я тебе щас обьясню сколько много времени ты тратишь Блядь, я тебе сказал уже, все обновления либ дело 5 минут. А даже если там у нас и выходило бы по 2 часа, то эти 2 часа того стоят.
>>3220056 Ну мне на тебя похую. Я тебе привел пример почему подавляющее большинство не обновляется не на лтс. Это просто лишняя работа от которой 0 бизнес валуе и очень мизерные изменения в языке. И чем больше проект тем больше там работы. Превью фичи вообще рекомендуется не тащить в прод, потому что ни не сохраняют обратную совместимость. Покормил.
>>3220013 Если тебе интересны фичи - то не лучше писать на котлине с большим количеством фич и компилить под JDK 8, чтобы все библиотеки были совместимы?
Мне надо потестить своё поделие, и я подумал, что мне бы хватило любого сервачка облачного. Посмотрел цены, и могу сказать, что тот же авс дешевле. Но с авс ебаться надо джва часа дня пока зарегаешь акк, пока привяжешь карту, пока всю эту хуйню рутинную проделаешь.
>>3221876 Да какая разница что там хейтят кукаретники. Как правило, их много чего не устраивает. То что я ой маркетолог, меня подкупили, пришёл сюда рекламировать продукт. Не устраивают цены на ec2. Говорю типа, при резервировании на 3 года, цены падают на 70%. Либо можно spot-инстансы взять. Если говоришь про серверлесс/лямбду, так сразу ой будет дудос страшный, всё оплатишь. Я говорю - ставишь throttling и весь лишний трафик порежется. Либо у них очередная история про то как очередная компания отказалась от облаков, закупила серваки и сэкономила миллионы долларов. А-ля облака нинужны, и всё в таком духе.
>>3221892 Ну ясно. Двач есть двач: здесь какой-то негативный случай любят экстраполировать. Хуй знает как там большие бизнесы, но мелко-средним бизнесам, по-моему, только к облачным провайдерам идти.
>>3221892 >Не устраивают цены на ec2. Говорю типа, при резервировании на 3 года, цены падают на 70%. Либо можно spot-инстансы взять. Если говоришь про серверлесс/лямбду, так сразу ой будет дудос страшный, всё оплатишь. Я говорю - ставишь throttling и весь лишний трафик порежется. Переводя на человеческий: варианты есть, но если ты не настолько проверенный, то тебя разведут на бабки по полной. И за что AWS не любят?
dll, so и LoadLibrary
Аноним15/07/24 Пнд 17:25:35№3221985354
Вопрос такой: при использовании LoadLibrary в методе или конструкторе одного из классов будет ли доступ к этим нативным штукам вне этого одного из классов?
К примеру: public class c1{ public static native funk1(){...} public c1(){System.LoadLibrary(...);...} }
public class c2{ public static native funk1(){} public c2(){//всё, кроме LoadLibraty } }
>>3221981 >если ты не настолько прошареный, то тебя разведут на бабки по полной Ну так облака рассчитаны на искушенного пользователя. Я кучу раз видел когда люди переплачивали десятки тысяч долларов, просто по незнанию, т.к. они не разбираются в сервисах. Чтобы экономить - надо быть прошаренным авсником. В этом виноваты сами люди, авс тонны документации пишет, туториалы, референс архитектуры, даёт гранты. Люди думают что они умнее всех, делают как привыкли, в итоге попадают на деньги. Хотя я те реально могу показать, если не относится с похуизмом, то там можно тыщу долларов сэкономить, здесь питсот долларов, и в итоге окажется что не всё так дорого как рассказывают
Бля, ну OpenJPA и кал. Каких-то обосратых джава агентов включать надо, потому что у нас видите ли байткод-инструментация, иначе всё виснуть будет!!! мне похуй чё там у вас, дегры, можно мне уже каравашку в базу сохранить? а не ебаться с вашими протекшими абстракциями Конвертеры не работают, вместо этого какие-то экстернализаторы и фабрики. Ну ебанутые бля........... час искал как инстант записать в табличку
>>3222027 >В этом виноваты сами люди, авс тонны документации пишет, туториалы, референс архитектуры, даёт гранты. Маркетолог AWS плес. Вы пидорасы специально продвигаете дорогие варианты, а дешёвые прячете. Вы создали такую систему настроек и конфигурация, чтобы по максимуму въебать клиента на бабки. А теперь заявляете, что это люди не читают документацию.
А данные hyperskilа по типу сертификата/сделанного проекта при вкате подойдёт для эйчар как показатель знания/практики языка? Он вообще полезен? 26 лвл, сижу без образования на маминой шее, но недавно такая лафа пришла - меня больше не ебут ежедневно с домой с постоянными перерывами и я наконец могу заняться чем надо. Закачал себе идею и книжку с шапки, поискал курсы, нашёл этот сайт, вот дрочу его начальные курсы и читаю. Книжка заебись, но с сайтом не уверен, что вкладываю своё время правильно.
>>3222156 >подойдёт для эйчар как показатель знания/практики языка Говоришь рекрутеру что язык знаешь, а знаешь по факту или нет - это задача тех собеса. Может, в промежутке тестовое дадут.
Народ,использую ультимейт идею через прокси на локалхост. У кого-нибудь есть урлы для маркета плагинов,ждк и прочего? Именно откуда идея их качает чтобы я мог точечно их прописать в прокси
>>3221893 Ничего не мешает. Но тогда и диаграммка свой смысл теряет, равно как и выводы по ней. Сколько это по факту - 50%? Что значит эта цифра? То что опрошенные регулярно используют 8ю джаву, не значит что оная распространена на 50%. У тебя среди твоего парка микросервисов может завалялся какой нибудь один престарелый хтонический ублюдок, к которому руки переписать не дошли - и вот формально ты уже работаешь с 8й джавой. И что?
Короче, потешно на сайте жидбрейнса видеть такое, мда.
>>3222412 Дисcumфорт будет только первое время, пока базовые шорткаты не переучишь, ну и работать с файловой системой будет непривычно, т.к. там линуксовая (хотя по факту она логичнее и удобнее). А так только выиграли. По ощущением мак стабильнее винды. Я в прошлом году купил летом, и не могу накайфоваца от самого макбука и мак оси.
>>3222251 Плачу пока никак, переводить хз как. Может стимовский наёб на деньги с переводом рублей в тенге через киви, затем тенге в доллары в каком-нибудь вебмани сработает? Не думал пока, но если надо будет, и деньги найдутся, и способ. На самом сайты начальные курсы с расписыванием базы бесплатные, они по сути тесты на задрачивание языка + всякие хелло ворлды. Есть лимит на количество неправильных ответов в день (5 жизней), есть и составленные дегенератами задания, но всё вроде бы просто, т.к. можно проверять мини-программы прям в иде. Долго только дело идёт, я за это время месяц назад уже наклепал javafx говноинтерфейс, только логику прикрутить осталось, чтобы в гитхаб выложить. И затем наверно можно щупать спринг и базы данных.
>>3222530 Скетч о том что к маку можно подключить только маковую периферию это рофл из нулевых? Скажем наушники клава и мышь по блютузу норм подключается?
>>3222547 Ты ахуеешь, но можно работать без мышки. Я тоже сначала не понимал как такое возможно. Я подключал наушники и мышку не от апле, и всё нормально коннектилось. Хз на счёт клавы как там.
>>3222412 Последние лет 10 на маках. Так и не привык к выблядскому финдеру. Потому сижу в mc в соснольке если надо с файлами поработать. А так - гейось полноценная замена гнилуксу с возжможностью хоть обпердолиться в консолечку (brew - entry level, macports - advanced) при этом с приятными шревтами
>>3223103 >полноценная замена гнилуксу Винда с wsl1 даёт лучшую замену чем макос. В макоси от линукса есть примерно нихуя, а то что есть - работает не так, и вводит в заблуждение. Это я с т.з. разработки и девопсинга говорю.
>>3223232 > В макоси от линукса есть примерно нихуя, а то что есть - работает не так Блять ты обоссаный утырок, макось основана на БСД, соответственно имплементация ГНУшных программ - другая. Просто устанавливаешь пакет с gnu_utils и получаешь линукс.
>>3223232 >Это я с т.з. разработки и девопсинга говорю. Чел это джава тред, тут всем насрать на ядро и glibc. И каким девопсингом ты на локалхосте занимаешься?
>>3223408 Ну это довольно старая легаси хуйня написанная хуй пойми зачем в Яндексе, туда я бы идти не стал. На джаву лучше куда-нибудь в район кинопоиска, музыки или 360. В маркет не вздумайте идти, это самое каловое направление.
>>3223586 Ну я в яндексе работаю, но в другом бизнес-юните. Маркет считается самым худшим во всем яндексе с ебнутым на голову руководством, с сокращениями, увольнениями, квотами на плохие оценки на ревью итд. В общем я бы в маркет не пошел. К тому же сам маркет сейчас тонет, в 2023 году за это весь яндекс наказали тем, что всем лидам убрали лидершип бонусы. Ну то есть приходишь ты тимлидом в условный "Поиск" с обещаниями, что в конце года получишь лидершип бонус, а потом тебе говорят что хуй тебе за щеку, а не бонус, потому что Маркет обосрался и не выполнил свои годовые цели.
Банально ты в Маркете получишь довольно хуевые по качеству проекты, потогонку за плюсики на ревью, и при этом за зп либо ниже, либо такую же как в сбере. Если ты джавист, то в Маркет вообще нет причин идти, когда на рынке полно банков и продуктовых контор с нормальными зарплатами и адекватными условиями труда. Алсо какие цифры в оффере, если не секрет и какой грейд?
И да, напомню, что если ты какое-то количество ревью не получаешь грейдап, то тебя увольняют на мороз. Условно сидеть на 15 грейде 2 года вряд ли получится. Но при этом грейдап ты разумеется не получишь, если будешь просто работать и закрывать свои таски.
Почему ПРОСТО нет класса, который бы представлял собой временный файл и имплементировал AutoCloseable, чтобы можно было использовать его в try-with-resources конструкции?
>>3223621 >когда на рынке полно банков и продуктовых контор с нормальными зарплатами и адекватными условиями труда Например? Я сейчас ищу место и все довольно глухо и по зп и по условиям.
Соя прорвалась в разработку джавы и насрала своим интегрити бай дефолт. Ррррррряя рефлексия может приватные поля менять! Как будто бы блядь рефлексию по приколу используют. Джава 25 будет новой джавой 9. Никто не будет мигрировать нахуй на неё. Соя насрала в джаву один раз, насрала сейчас второй. RIP our beloved Java.
>>3223961 Пробуй в Сбер, МТС Банк и сам МТС, Газпром, Т1, Иннотех и прочие конторы. Это всяко лучше маркета в Яндексе.
>>3223961 >Я сейчас ищу место и все довольно глухо и по зп и по условиям На какую зп рассчитываешь? И сколько лет опыта, где до этого работал?
>>3223962 >МТС Облако - это просто стая яндексоидов пришедших делать тоже самое в другой компании Да, это правда. Те, кто по каким-то причинам проиграл в корпоративных игрищах в Яндекс.Облаке ушли в МТС.Облако. Там кстати найм практически такой же как и в Яндекс по сложности.
>>3224610 Вы задали интересный вопрос. В данном случае вы можете создать ненужное напряжение вокруг себя, представляя задачу сложнее, чем она есть на самом деле. Это может привести к тому, что другие могут начать относиться к вам с сожалением или даже сомневаться в ваших способностях. Вместо этого, можно попробовать подойти к ситуации более конструктивно, возможно, спросить совета у коллег или друзей. Рассказывайте о своих достижениях столь же легко, как обращаетесь к помощи в трудной ситуации.
>>3224610 Работает пока ты один в коллективе. Иначе любой может посмотреть комит. Алсо не стоит недооценивать аналистов/постановщиков и прочих коллег, некоторые могут быть прошареными и возьмут на заметку что ты фуфел.
Ребзичи, посоветуйте хороший годный актуальный на момент 2024 курс на ютубе по Спринг Буту (или старенькому MVC, так даже интереснее и нагляднее). Желательно чтобы кроме Жавы больше никаких языков там не было, т.е фронт на каком-нибудь Таймлифе и т.п.
Как может JIT вообще компилировать в нативный код? По-моему это выдумки джава верунов. Это же несовместимо с парадигмой сборки мусора. Ну или точнее совместимо, при условии что "компилированный" код будет через каждое какое-то количество инструкций вызывать сервисную процедуру "а не собрать ли нам мусор", потому что замораживать поток в неконсистентном состоянии просто так нельзя. Может ли это увеличить производительность - решительно непонятно.
>>3225463 У меня были такие мысли, что jit не существует, однако недавно мною был проведен эксперимент: массив размером 10000 с элементами 9999,9998...0 отсортировывался пузырьком при отсутствии флага -Xint и при его наличии. При его наличии программа выполнялась дольше на секунды 3-4, а при отсутствии(что означало, что по умолчанию будет включена jit-компиляция) было крайне быстро.
>>3225502 Существование jit так же не легитимно с точки зрения безопасности, т.к. секция данных в исполняемом образе ВООБЩЕ ГОВОРЯ с точки зрения безопасности, не должна иметь право на исполнение, а секция кода не должна иметь разрешения на запись. То есть выходит что в случае jvm эти пункты нарушены, и в случае наличия серьезных требований по безопасности запуск в режиме jit не должен допускаться.
>>3225644 15 грейд в маркете это могила. Вообще 15 грейд в Яндексе это что-то уровня джуна, многим этот грейд дают сразу после трехмесячной стажировки.
Но нужно учесть, что с 15 грейда многих увольняют. Почему? Да потому что на перфоманс ревью нужно чуть ли не сразу начинать показывать хороший перфоманс в виде двух-трех плюсов минимум. Если ты два раза получаешь один +, то тебя увольняют. Если ты два раза получаешь ++, то это сигнал к тому, что возможно тебя стоит уволить.
При этом оценку ставит руководитель. Количество хороших оценок ограничено, поэтому если ты просто поработал и сделал свои задачи, то это максимум один + будет. А если руководитель считает тебя ебланом и бездарем, то в самом лучшем случае посидишь два ревью и на мороз отправят.
Лично у меня возможно сильно предвзятое мнение, но хз. Я просто сам 15 грейдом был, получил три раза один + на ревью и был вынужден уволиться вникуда, потом сидел полгода на шее у мамки и доучивал вещи, которые в яндексе я никогда не видел (докер, кубер, прометеус, терраформ, postgresql итд).
Собираюсь писать пет проект для upwork. Выбор пал на интернет магазин который будет состоять из сайта, веб-сервера и андроид приложения. И здесь возник вопрос, андроид приложение писать на sdk или libgdx ? Если буду писать на libgdx, не будет ли мое портфолио отталкивать клиентов ?
>>3225727 А почему могила? Говорят, что на 15 грейде меньше просят и т.д., чтобы получить повышенные оценки.
В любом случае, думаю это норм опыт будет, т.к. я щас на очень грустном проекте, который мне особого роста не дает. Думаю для меня (11 месяцев ком. опыта) хороший шанс
>>3225727 >Но нужно учесть, что с 15 грейда многих увольняют. Для 15 грейда общее видение, что за полтора года он должен или вырасти до 16, или отправиться на мороз. Иначе к его менеджеру возникают вопросы, что у него джун не растёт. Стагнировать допускается на 17.
> При этом оценку ставит руководитель. Не, там система устроена так что руководитель вносит основную оценку, но её спокойно мугут перевернуть на калибровках. Т.е. руководитель на самом деле должен уметь защищать хорошие оценки или объяснять почему он ставит плохую при хороших отзывах на чувака.
>>3225834 >А почему могила Сложно продержаться больше года-полтора. Во всяком случае сложно было мне. Ну и для меня было сложно получить хоть что-то больше одного плюса. И сам проект не особо нравился и, если честно, я уже сам хотел уйти спустя год, просто не был готов и по собесам не ходил в то время.
>>3225858 >Для 15 грейда общее видение, что за полтора года он должен или вырасти до 16, или отправиться на мороз. Иначе к его менеджеру возникают вопросы, что у него джун не растёт. Стагнировать допускается на 17
Да, это так. Но я вот вообще не выкупил как мне можно было получить хоть что-то больше одного плюса. Спрашивал у рукля - тот ничего толком мне не сказал, каких-то проектов, за которые хотя бы ++ можно было получить на 15 грейде, тоже не давал. Просто были какие-то общие фразы по типу нормально делай - нормально будет. А потом при обсуждении итогов ревью всегда говорил, "ну, я каких-либо прорывов не заметил, но и ты не особо проебывался, поэтому +". Я не думаю, что для защиты оценки ++ для 15 грейда ему было рвать анус на британский флаг на калибровках, поэтому кажется, что он сам хотел побыстрее меня слить из команды.
Собственно я перед третьим ревью на зеленое сам написал заявление по собственному и свалил.
>>3225894 Обычно советуют просить у руководителя такие проекты, которые были бы хорошо "заметны" всем, делать их нормально в срок и получать свои плюсики. Плюс брать к себе стажеров, обучать их.
Лично я ничего из этого не делал, проекты были калом в виде фиксов всяких багов, стажеров брали другие разрабы, поэтому я 1.5 года просидел и ушел.
>>3225644 Маркет лучше стороной обходить, но если вариантов других вообще нет, то можно и туда на годик. Там вроде как есть несколько неплохих команд с робототехникой связанные. Там джава/котлин нужны тоже. Знакомый оттуда говорил, что в целом там ок работается.
Но большая часть маркета - это реально гнилье и каловые проекты. Сам маркет это один из самых провальных бизнесов яндекса с тяжелой историей. Если попадешь в каловое место, то посиди год, а потом ротируйся куда-нибудь вроде фантеха/360 или вовсе намороз.
>>3224083 Реально пиздос, мудаки лезут переписывать внутренности JVM, которые работали 30 лет. Ясно, почему Гослинг ливнул. "Why now? The Java ecosystem has managed just fine without strong encapsulation or restrictions on unsafe APIs for nearly three decades. Why are we now adopting integrity by default, which adds overhead for some library, framework, tool, and application developers?
The answer is that, in recent years, both the JDK and the environment in which Java applications run have changed.
Correctness — Historically, the Java runtime has been able to ensure the integrity of many low-level constructs because they were implemented in native code, beyond the reach of the unsafe APIs. However, more and more of the Java runtime itself is being written or rewritten in Java. This means that more and more of the Platform's integrity depends upon the integrity of Java code, which can be violated by the unsafe APIs.
Maintainability — In order to add new features without drowning in maintenance, we need to be able to remove obsolete components from the JDK and refactor its implementation at will. Unfortunately, over time various libraries, frameworks, and tools came to depend on some of the JDK's internal APIs, which they assumed were stable. As a result, it was increasingly difficult for the ecosystem to migrate to newer releases. We could either accept a slowing pace of Platform evolution or inflict migration pain just once more, in JDK 17, by strongly encapsulating the JDK's internal APIs. (We modularized the JDK in JDK 9, but we only fully enabled strong encapsulation in JDK 17.)
Security — With the impending removal of the Security Manager (JEP 411), we need strong encapsulation to support the creation of robust security layers protected from interference by other code, as shown earlier. Without strong encapsulation, any vulnerable code in the application could compromise security.
Performance — There is growing demand to improve startup time, warmup time, and image size, which are important for deploying Java applications in modern cloud environments. Some techniques for achieving these goals require that classes do not change over time by, e.g., being redefined via the Instrumentation API. Other important optimizations, such as constant folding, require that constructs such as final fields have integrity, so that their values are actually final and cannot be modified.
In short: The use of JDK-internal APIs caused serious migration issues, there was no practical mechanism that enabled robust security in the current landscape, and new requirements could not be met. Despite the value that the unsafe APIs offer to libraries, frameworks, and tools, the ongoing lack of integrity is untenable. Strong encapsulation and the restriction of the unsafe APIs — by default — are the solution." https://openjdk.org/jeps/8305968
>>3226646 > Как ты свой айкью оцениваешь, не заметил спада в последнее время? Была мысль уже пару лет что я стагнирую в интеллектуальном плане, но недавно произошедшая последовательность событий дала основания считать обратное, что мой интеллект остаётся на одном уровне или даже сейчас лучше, чем раньше.
> Это отсылка на девизы ЛГБТ пидарасов соевых. "Приложенная карточка" подразумевалась не первая, а вторая, т.е. сикрет гитлер. На первый пик (что карточкой не является) я ответил в первом посте. По-моему это тебе о твоём интеллекте стоит задуматься.
Хули вы трясетесь, дебилы. Вам Шипилев еще 8 лет назад по-русски говорил - не юзайте блять Unsafe, не для вас он писан. Вчерашний шторм блять не разбудил.
>>3227378 >вот мы вам дадим инструмент для решения задачи X >и не будем его менять 30 лет >и не дадим других инструментов для решения задачи X @ >не для вас он писан! не используйте!
>>3227378 1. Там по рефлексии ёбнут 2. Более глобально, они переписывают JVM по своим соевым методологиям и называют что-то "устаревшим" и "тормозящим", нихуя не понимая системы вцелом.
Гоэтц часто в интервью объясняет этому Николаю Парлогу как он обдумывает фичи и почему не ввёл "хуйня_нейм", а Николай искренне охуевает и соглашается. В ситуации, когда этих соевых пидарасов некому будет остановить, они нахуевертят там проект Crack и сделают го-залупу из языка.
>В ситуации, когда этих соевых пидарасов некому будет остановить, они нахуевертят там проект Crack и сделают го-залупу из языка.
Вопрос перспективы. Как по мне, спрингокульт сами по себе - соевые пидарасы что по личностным повадкам, что по методам кодинга, так что не жалко. И я бы сполна посмеялся над ублюдками, когда они исходили бы на харчу кровью вперемешку с говном от ректального насаждения JPMSа им по самые гланды.
Но врядли ораклы доставят мне такое эстетическое удовольствие. Наверняка все лазейки останутся.
Не, чел - шпилька не в сторону спринга, спринг - это следствие. Просто смешно смотреть на вытье каких то унылых зрадников по поводу этого джепа, что "ууууу, соя щас нам джавку соевой сделает", в то время как джава-коммьюнити по большей части само - примерно та же спрингосоя на аннотейшен-кодинге, по сути своей.
>>3227419 >Там по рефлексии ёбнут Только по той которая в залупу лезет. Никто обычно этот setAccessible не использует в нормальной жизни. Тем более все равно оставят лазейку чтобы включить взад.
>По сути каждый раз когда @Autowired вешают на приватное поле это происходит.
А че, считаешь что по здравому умыслу?
Как по мне - так это именно что по приколу. Кто то из предтеч не мог просто пойти на принцип и сказать - нехуй делать приватными поля, которые априори должны быть доступны третьей стороне (контейнеру, который в них делает инжекции). Неееет, это не прикольно. Ведь самые продаваемые тулы у сои - тулы, юзающие тайные недокументированные лазейки (привет, ломбок).
Так то время расставило все по своим местам: каноничный способ делать инжекции сегодня - либо автоварь на конструкторе, либо вообще java-конфиг. Оба способа работают с минимумом рефлексии.
>>3227651 >по здравому смыслу? Третья сторона написала очень нужный тебе код, но объявила модификатор доступа как private по приколу. Твои действия? Нет, трансформаторы байткода это не решение, они имеют ровно все те же негативные последствия рефлексии, что и сама рефлексия, за исключением скорости.
>автовайр в приватные поля Это лишь один из примеров использования, по-сути — соломенное чучело. Ты лучше про ОРМ высри. Это во-первых. Во-вторых в обоих случаях есть момент обратной совместимости. Оно уже работает, всё, прекращение работы этого необходимо рассматривать не с точки зрения "а какой подход будет лучше?", а с точки зрения "стоит ли это улучшение поломки обратной совместимости?". Спойлер – оно не только не стоит, но это и не улучшение даже.
>рвоньк на ломбок Любишь геттерами в жопу долбиться?
>>3227651 >А че, считаешь что по здравому умыслу? Честно говоря нет. В спрингах дохуя магии, в JavaEE ее было поменьше конечно. Но так уже сложилось. Сейчас хз зачем ссать против ветра учитывая что язык в жопе.
>юзающие тайные недокументированные лазейки (привет, ломбок) А че там ломбок такого страшного использует?
>Так то время расставило все по своим местам: каноничный способ делать инжекции сегодня - либо автоварь на конструкторе, либо вообще java-конфиг. Оба способа работают с минимумом рефлексии. JSON парсинг через рефлексию долбится каждый ебанный раз. Так что хз. С другой стороны если хочется избежать магии вообще лучше без DI работать.
>>3227663 >Ты лучше про ОРМ высри Они могут работать через геттеры.
>Спойлер – оно не только не стоит, но это и не улучшение даже. Тут согласен полностью.
>>3227663 >Третья сторона написала очень нужный тебе код, но объявила модификатор доступа как private по приколу
Это значит они не хотят чтобы я каплился на этот кусок кода и явно декларируют это. И они в своем праве. По нормальному - именно так и дизайнится код с долговременной поддержкой - волатильные внутренности приватятся за стабильным публичным API. Стабильность API делает его переиспользуемым для большего числа клиентов, в то время как приватность кишок позволяет их легко переписывать под новые требования и реалии.
Быдлу, разумеется, такие понятия не писаны, быдло мыслит только категориями - "если мне надо, значит пошел нахуй". А потом скулят как суки.
>Нет, трансформаторы байткода это не решение, они имеют ровно все те же негативные последствия рефлексии, что и сама рефлексия, за исключением скорости.
А че ты так напрягся? Я ни одного слова про негативные эффекты от рефлексии не сказал. Так то рефлексия - подтип метапрограммирования: имеет свою сферу применения, в которую входит DI инжекция, которой надо метаданные компонент сканнить.
>Ты лучше про ОРМ высри.
Сначала ты высри, в каком месте джеп конкретно так импактит ORMы, с цитатами и ссылками, желательно. Вроде бы в джепе не было сказано ни слова про запреты Proxy, а на заприваченных полях оно и так не работает, насколько я помню.
Похуй на ORMы. Нахуя они нужны когда есть честный JOOQ, которому рефлексии нужно по минимуму
>в обоих случаях есть момент обратной совместимости
Это, возможно, справелдливо для setAccessible (с оговорками), но уж точно не для каких нибудь ансейвов или прочих кишок. И джава декларирует этот момент явно, а ее чемпионы повторяют это на каждой конфе: если ты - долбоеб, и завязался на приватный API, нихуя у тебя никаких гарантий обратной совместимости не дано. Не нравится? Поплачь об этом.
>Любишь геттерами в жопу долбиться?
Воняешь фанбойством, чмоня.
Ломбок работает на костылях, и это объективный факт. Можешь юродствовать надо мной как клоун, но когда тебе перекроют и доступ к изменяемому AST через процессоры, и ты прибежишь в двачик скулить как побитая шлюха, я посмеюсь над тобой последним.
>>3227677 >Сейчас хз зачем ссать против ветра учитывая что язык в жопе.
Ну видимо есть зачем, если не дают окончательно экосистеме оскуфиться (соевый скуф, блять, страшнее участи представить себе сложно...). Так то джава нельзя сказать что вообще не движется - вон те лум завезли, вальхаллу готовят. В AOT были большие подвишки со времен девятки. Нативщину щас ревизят бодренько так. И тут какбэ омлет не сварить не разбив яиц - тот же JPMS, столь ненавидимый сообществом, самой экосистеме был очень необходим, так как позволил отрефачить рантайм и подготовить его к коротким релизам, а также лег в основу вещей связанных с футпринтом и AOT (jlink тот же).
И вот к кому кому, а к спрингокульту я сочуствия никакого не испытываю. Наоборот, я приветствую разьебывание им обратки вдрободан - это в первую очередь полезно для них самих - расшевелит маленько их болото.
>А че там ломбок такого страшного использует? Через задний проход из процессоров аннотаций получают ссылкеи на мутабельное дерево AST (обычно в процуессорах оно иммутабельное, из-за чего можно генерить только новые сорцы, старые править нельзя).
Честно говоря - не то чтобы это было чет страшное, и я не особо верю что эту лазейку прикроют, но меня в целом забавляет местный расклад - один долбоеб запостил какой то пустопорошний джеп где нет нихуя конкретики, одна вода, и куда просто налинковали других джепов, либо уже готовых, либо по существу, а местные себе уже нафантазировали хуй знат че.
>>3227702 >Это значит они не хотят чтобы я каплился на этот кусок кода и явно декларируют это. И они в своем праве. По нормальному - именно так и дизайнится код с долговременной поддержкой - волатильные внутренности приватятся за стабильным публичным API. Стабильность API делает его переиспользуемым для большего числа клиентов, в то время как приватность кишок позволяет их легко переписывать под новые требования и реалии. Они-то в своём праве, только вот этим тольковыигрыванием ты не решаешь проблемы, которые решают продукты, использующие рефлексию, просто отмахиваешься. Например observability и трейсинг продукты написаны в основном с технологиями перехвата вызовов и чтения внутренностей кода. Нужные продукты перестанут работать, это значит что просто не будут использовать эту джвм.
>>3227821 Чел, вот я не пойму - это ты так подьебываешь тонко, или по жизни душный такой... для тебя че - вообще нет разницы между тем, чтобы влезть из продуктового кода в чужие кишки 3rd-party зависимости (как ты выше дилемму расписываешь) и задачами на аспекты и метапрограммирование (как расписываешь ее сейчас)? Ты б еще щас сетовал на то, что на проде тебе дебаггинг по умолчанию недоступен - ведь так хочется залезть в чужую джвм переменные позырить.
Не трясись ты. Перехватывать вызовы в джаве можно десятком способов, и рефлексия - не самый кондовый из них кстати. Да и джеп - вода на воде, там тупо нет нихуя.
>>3227824 Внутрь изолированных модулей и так было не залезть, всю дорогу так было. Но даже в JPMS со старта насверлили дырок чтобы у спрингоебов была возможность открывать куски модулей выборочно для рефлексии и класспаф сканнинга... хоть бы матчасть почекали прежде чем истерить.
В долбаном OSGi есть и DI и JPA десятки лет как, о чем вы вообще.
Нормально ли, если одну библиотеку(набор классов) хранить в jar или есть более приветствуемые сообществом пользователей java метода хранения и распространения библиотек?
>>3224083 >>3226469 Это конечно кринж, с другой стороны, если бы в джаве не было рефлексии то такие раковые паразитарные "технологии" как спринг никогда не получили бы жизни
>>3228294 Ты предлагаешь государство что-ли построить? Джава не монополист чтобы это получилось, все просто в петушарп уйдут. Да и причин строить государство мало, подумаешь, блядь, спринг они сделали, ну и пусть они в сракотан спрингом ебутся, тебе какое дело?
Слово, имеющее наибольшее значение в классе/методе/поле, должно быть первым для облегчения использования таб комплитов из среды разработки. Квалификаторы должны идти после. То есть, не ZalupaConfiguration, а ConfigurationZalupa, не getYoba, а yobaGet() а ещё лучше просто yoba(). В чём я не прав?
>>3228391 >для облегчения использования таб комплитов Слабая мотивационная часть, нормальные среды разработки давно уже с этим справляются. Пососи писос, вскод-макака
>>3228391 >ZalupaConfiguration, а ConfigurationZalupa Оба варианта равновесны т.к. нет никаких предположений о первичности обеих частей наименования. Если Configuration более общее, то ZalupaConfiguration лучше т.к. ищется обычно от конкретного. ConfigurationZalupa лучше когда объекты напрямую не используются в коде а например создаются юзером, т.е. например OperatorPlus, OperatorMinus etc, чтоб их в пакете нормально было видно отсортированными по характеру объекта yobaGet тут у меня нет предпочтений, но get спереди как-то привычнее. Просто yoba() и yoba( valueofyoba) в качестве сеттара норм, всегда так пишу.
Я ничего не упустил из стека обязательных технологий для джунов? Spring (Boot, Security, Cloud, MVC) Maven Hibernate PostgreSQL Docker/Kubernetes REST/Client Protocol Junit и TDD Kafka/Rabbit MQ/Active MQ Cистемы трекинга Или кроме них и задрочки забесплатно на гитхабе год на рандом уважаемом проекте работадателям ещё что надо, чтобы взять хуесоса без ВО на 30к?