Это копия, сохраненная 15 октября в 00:51.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Кто ковырял FFM? Как через него вызвать функцию, которая возвращает строку? Я пробовал различные раскладки (JAVA_BYTE, ADDRESS и т.д.), но ни одна не подошла. С числами получилось.
По идее возвращаемся тип должен быть ValueLayout.ADDRESS поскольку это указатель на начало строки.
https://docs.oracle.com/en/java/javase/21/core/foreign-functions-that-return-pointers.html
Боюсь представить как код на реальных проектах выглядит.
Какие реальные минусы от многословности? Всегда есть автогенерация и пр. пр.
Да и типа пик разве много?
Это новый тренд такой, очень модный, называется "less is more", самый bleeding edge компьютер сайенса. Спроси гоферов, тебе подтвердят.
А ты что, не следишь за развитием трендов?
Скорее bleeding anus.
В жс нет статической и строгой типизации. Сразу нахуй.
Еще кстати может шарп припомнишь, блять боже какое же это говно, как в нем люди работают и неиронично сравнивают асп с спрингом. Суки, наебщики, каждому бы плюнул в ебло за это.
Ну так иди в груви тред и обсуждай это там. Ой...
> Какие реальные минусы от многословности?
Говно в классфайлах которое читать неудобно. Нарушение принципа драй со всеми вытекающими.
> Всегда есть автогенерация и пр. пр.
Щас бы как шарподебилы перекрывать недостаток языка тем что идея может жиденько дриснуть в класс и всё скомпилируется. Автогенерация (любая вариация) не всесильна, у неё куча минусов.
>Нарушение принципа драй со всеми вытекающими.
Ну я не особо понимаю, что конкретно ты собрался повторять. Если говорить про модификторы доступа, к примеру, если ты все все завяжешь на контракты в интерфейсах, то просто имплементируя их, ты все автоматом подвяжешь. Никакого потоврения не будет.. А для DTO используй record. Таким образом даже get/set не нужны будут.
В действительности очень мало языков позволяют писать какие-то пиздецовые абстракции, чтоб ну точно нигде не было повторений.
>Автогенерация не всесильна
Помимо автогенерации в жабе еще активно используют магию, в виде рефлексии и измнения байткода в рантайме... В итоге в таких магических фреймворках все няшно, если не заглядывать в кишочки.
> Если говорить про модификторы доступа, к примеру, если ты все все завяжешь на контракты в интерфейсах, то просто имплементируя их, ты все автоматом подвяжешь. Всё идея жиденько в класс насрёт сама!
> А для DTO используй record. Таким образом даже get/set не нужны будут.
Вот вчера блядь разрекордивал класс потому что у рекордов нет возможности сделать канонический конструктор приватным. А если ещё мутабельный объект нужно сделать? Рекорды очень слабы.
> В действительности очень мало языков позволяют писать какие-то пиздецовые абстракции, чтоб ну точно нигде не было повторений.
>А у шархлов ещё хуже!
>А если ещё мутабельный объект нужно сделать
Мутабельность зло. Просто выкидывай старый и делай новый, через with.
>нет возможности сделать канонический конструктор приватным
А нахуя?
>А у шархлов ещё хуже!
Я это к тому, что такие языки почему-то не мейнстрим. Почему-то стандартом индустрии становятся именно жабы.
> Мутабельность зло. ЯССССССККККОООООООООООООЗЗЗЗЗЗЗЗЗЗААААААЛЛЛЛЛЛЛЛ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> А нахуя?
Например два поля выводятся при конструкции из других вычислительно тяжёлым образом и сохраняются чтобы их не вычислять каждый раз при каждом обращении к объекту. И нужно сделать так чтобы не было возможности у кого-то передать какое-то говно в эти поля нарушая инвариант.
> Я это к тому, что такие языки почему-то не мейнстрим. Почему-то стандартом индустрии становятся именно жабы. Вот все едят говно значит правильно! Вот в деревнях-то все ели!
Ну да. От мутабельности одни проблемы. В чем я не прав-то?
>бла бла
Как вариант, пик.
>Вот все едят говно значит правильно! Вот в деревнях-то все ели!
Ну я бы очень хотел на чем-то няшном писать, но типа где мои хотелки, а где хотелки индустрии. Не думаю, что у тебя координально иная ситуация.
> Ну да. От мутабельности одни проблемы. В чем я не прав-то?
В том что до сих пор ни одного доказательства не предоставил, даунёнок.
> пик.
И что это за кал?
> Ну я бы очень хотел на чем-то няшном писать, но типа где мои хотелки, а где хотелки индустрии. Не думаю, что у тебя координально иная ситуация.
Ну и как это опровергает что-то мной сказанное? Тебе лишь бы высрать, опущ?
>В том что до сих пор ни одного доказательства
String, BigInt, все wrapped классы, record-ы бай дефолт иммутабельны.
В многопоточке огромные проблемы с мутабельными полями, а вот final дает гаратнии даже большие, чем volatile. К примеру, они легко могут игноирть гонки, в новых апишках активное участие принимают, те же scoped value.
Ну и плюс мутабельность не в изолированном, нарушает ссылочную прозрачность.
>И что это за кал?
Все как ты хотел. Создать такой record через обычной конструктор невозможно. Поскольку sealed нельзя просто взять и перегрузить. Даже через рефлексию. Единственное исключение - это null. Но тут вообще мало что сделаешь на данный момент.
>Ну и как это опровергает
Да никак. Просто ты будешь терпеть, в любом случае. Даже если убежишь с жабы.
> String, BigInt, все wrapped классы, record-ы бай дефолт иммутабельны.
> В многопоточке огромные проблемы с мутабельными полями, а вот final дает гаратнии даже большие, чем volatile. К примеру, они легко могут игноирть гонки, в новых апишках активное участие принимают, те же scoped value.
> Ну и плюс мутабельность не в изолированном, нарушает ссылочную прозрачность.
И что из этого является доказательством того, что от мутабельности одни проблемы?
> Все как ты хотел.
Я хотел приватный каноничный конструктор, а не какую-то хуйню с силедами и статическим инициализатором который нуллом обойти можно, додик.
> Да никак.
Слив принят.
Ты тупой? Я уже написал, не увидел - твои проблемы.
Бляяять, что значит обойти нуллом можно? Твои паблик конструкторы ровно также можно обойти. Бредишь? Или тебе просто поебать и ты говно накидываешь?
По делу что-то будет?
>Я хотел приватный каноничный конструктор, а не какую-то хуйню с силедами и статическим инициализатором который нуллом обойти можно, додик.
Мне похуй на твои хотелки. В жопу себе их запихни и проверни там же. Свойства, которые тебе были нужны можно достичь, какими способами меня не волнует.
Слив принят.
В груви дохуя чего есть в 1 строку помимо принтлна. Thread.start {}, SQL, @Grab, парсинг ямла, xml, jsona. Spock на голову пизже кондового jUnit-а. Затащил его в прод в крысу, сижу кекаю потихоньку
java 5 кун
В жабу надо просто впилить стандартный API преобразования AST, тогда и лобок перестанет быть хаком, и спок свой можно будет написать. Но жепов нету на эту тему.
И не будет таких жепов. Ты что, не видел то, как они реагировали на ансейф? У них позиция, если что-то надо, то используйте jcp, пулреквесты, фичареквесты у разрабов самой жабы. А все хаки не решают проблемы, а просто их замачивают, фактически делая хуже.
Иное отношение у них только к jvm-based языкам, но это вообще другое.
Никак. Голый джарник в голом класспафе тупо не умеет в такие нотации. И эта проблема не решается ни гредлом, ни какой либо другой из систем сборки впринципе.
В теории - эту проблему решают подсистемы типа OSGi или JPMS, которые вводят нотацию модулей. На практике - тебе проще забить, нежели упарываться в это.
>Говно в классфайлах которое читать неудобно. Нарушение принципа драй со всеми вытекающими.
Лучше б ты рот свой вообще не открывал. Впрочем, по самой твоей претензии с самого начала было понятно, что ты дебил и не выкупаешь о чем говоришь.
А ты что-ли по делу что то сказал, овощ? Или ты решил что я на равных с тобой в спор вступлю?
Хули ты тэгаешь, опущенный? У тебя там бред сивой кобылы написан. Выйди нахуй и не позорься.
Слив тебе мочи в глотку засчитан, червь. Драй принцип у него блять в классфайлах нарушен... Дегенерат, да хули тебе вообще знать что о классфайлах, что о принципах.
Не ворочайся, слитое.
Я уже думаю попросить исходники и собирать вместе с ними сделав классы закрытыми для юзера
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 и все кто попытаются использовать её будут видеть что она где-то не там где надо лежит.
Так а че это изменит? Ну уведешь ты, например, классы либы А в приватный или package-скоуп - в тот момент как ты положил эту либу в класспаф, все ее паблик-нутря просто становятся видимы и либе Б, и твоему конечному клиенту В. То есть один пень это не будет решением проблемы, которую ты озвучил.
Или что ты имеешь ввиду под "сделать классы закрытыми для юзера"?
А, еще вспомнил что в мавене, например, есть maven-enforcer-plugin, с помощью которого можно позапрещать транзитивные зависимости. Может для градла аналог завезли.
Чеэто недооцененная - очень даже расхожая штука.
> Может для градла аналог завезли.
Градлодауны могут только мечтать по ночам о том что они когда-то перестанут писать ручками то что на мавене делается подключением плагина и днём копротивляться за то что и нинужно нихуя и всё от лукавого и лучше ручками побойлерплейчу.
Спасибо! Завтра на работе проверю, если и правда так, то это звучит как решение проблемы. Юзер всё равно получит доступ к публичным классам если я правильно понял, но они будут теперь лежать в пакете с названием уровня geygbhrgh.jgtfjkk.pkhwdhh и процент юзеров кто решит это трогать будет стремиться к нулю.
>>201047
Можно добавить исходники либы А в гредл модуль либы Б и использовать модификатор internal (это из котлине, но в жабе тоже подобный есть). Тогда внутри этого модуля классы будут доступны другим классам, а юзеру либы не будут после сборки модуля.
Очень
ни разу в жизни не инвалидировал каши в идее. пишу в ней лет 5-7. ЧЯНД? Ставмл ее как на линуксе, так и винде
Никто не инвалидирует, это ж мем такой. Как и переустановка виндовс например.
Это базища. Белой завистью завидую всем кто ни разу не пользовался жидбрейнсовым калом и сразу сел на вс код.
Жирно жирно, не пользоваться лучшей в мире иде, а пользоваться какой-то пародией. И ради чего? Вскод ресурсов даже жрать меньше не будет, ибо электрон.
>Белой завистью завидую всем кто ни разу не пользовался жидбрейнсовым калом
Я вобще вкатывался через нетбинс, и мне было норм. Но это было во времена когда джава 7 была наисвежайшим релизом, и тогда идейка была не намного лучше нетбинса. Хорошие были времена.
А я с кунчиком вместе инвалидирую, знаешь, время быстро пролетает. Советую, брат жив, зависимость есть
О. Я помню как с саного эклипса на нетбинс перекатился.
Как же я от него кайфовал. А потом буквально через год оракл жидко пернув слил 8 версию дегенератам из апача. И дегенераты сразу сломали все плагины и нб пошел нахуй.
В те годы жидбрейновская поделка сосала хуй у 8
Так потёрли уже всё. До этого тут навозная шарпомуха залетела и начала бросаться на анонов.
>таскать
С какой целью? Если работа только в офисе, таскать его некуда. Если гибрид - дома одно устройство для работы, на работе другое, в конце рабочего дня запушил и доволен.
Middle+ Java Developer
Я чет читал агит заголовки будто добавляешь зависимость в помник и у тебя сходу в два раза меньше потребление памяти в спринг бут калопроводе,как это работает так и не выкупил
>>Если работа только в офисе, таскать его некуда.
У меня в офисе все куда то их таскают, никто не оставляет. Хотя не слышал чтоб их пиздили, но камер в опенспейсе нет так что мало ли что.
неизвестно, нужно смотреть как именно ты это делаешь
3 разных бина должно создаваться что если ты 3 раза getbean делаешь
Но в том то и соль, что я просто использую методы самого бина, а не обращаюсь к контексту
https://spb.hh.ru/vacancy/100549114
Middle+ JavaScript -> Java Developer
Но ты же сам написал - у тебя не просто бин. У тебя - прокси ленивая. А прокси за тебя идет в контекст. А в контексте бин - прототип. Как бы все ожидаемо.
Вообще, с тебя бы скрин куска кода где ты эту цепочку вызовов делаешь. Чето слабо верится что method2 ты вызываешь на значении, возвращаемом method1. Может ты просто последовательно дергаешь эти три метода на проксе на самом деле?
Попробуй другие скоупы. Скоуп request тебе не подойдет например?
Синкпады были е14. Дешевые и слабоватые, но нареканий не было. С линуксом нормально дружили. Более-менее легкие, полтора кило, все нормально их таскали.
Даун, я на личном и неслабом железе пишу. Что ещё выдумаешь в оправдание жидокала?
Хм, а может быть и из-за того что подставляется прокси, просто я не думал что при каждом дёрганье метода прокси у нас возвращается новый бин, видимо это особенности работы скоупа, а если так подумать, то метод, который возвращает this на самом деле возвращает не бин, а прокси, завтра проверю. Какой же все таки спринг пиздец.
Оверрайд это про выбор метода в зависимости от реализации, оверлоад это про выбор метода в зависимости от аргументов. Оба ad-hoc полиморфизм.
А оверинжиринг ето про меня, когда я всякую фп поеботу делаю :3
Все правильно..?
Парацельс это типок который ягу с балтикой 9 первый смешал,чет тухлые вопросы
Это не параметрический полиморфизм. Просто классификация, не более.
Рандомная аббревиатура. Не знаю такой теоремы.
> На галере выдали игровой блять ноут.
Было бы иронично если бы поставили политики по установке ПО и установить игрушки на него не получается
>Какой же все таки спринг пиздец.
А че спринг? Нравятся DI-контейнеры? Хавай не обляпайся. Так уж повелось что scope и lifecycle management делегируют DI фреймворкам. У анальников мозгов то не хватает их менеджить руками...
А фреймворк - че на него пенять? Ты сам выбрал scope prototype. Скоуп прототип по определению самый короткий и узкий скоуп. Что ты просил, то и получил.
Задай себе вопрос - вот это вот состояние бина, о котором ты выше говорил: как долго оно должно храниться, и кому должно быть видно?
Если храниться оно должно всю дорогу и быть доступно везде - то синглтон.
Если для состояние актуально для одного конкретно взятого вызова на ресте, то реквест.
Если состояние относится к пользовательской сессии, и должно оставаться пока юзверь не разлогинится, то session.
И так далее.
>Какой же все таки спринг пиздец.
Спринг-то не при чем, просто не делай его @Lazy
И проверь что у тебя @Lazy и на автовайре и на бине
https://www.baeldung.com/spring-lazy-annotation
>>205476
А, и кстати да - у тебя же не просто прототип, у тебя ленивый прототип. То есть че выходит в сумме:
1. Прототип это скоуп, из-за которого тебе возвращается новый бин каждый раз, когда ты лезешь за ним в контекст
2. Лэзи ведет к тому, что в контекст за бином ты полезешь не в тот момент, когда тебе спринг зависимости для твоей пепяки инициализирует, а в тот момент когда ты свой автоварь палочкой ткнешь.
3. Складываем 1 плюс 2, получаем такое - ты тыкаешь свой автоварь палочкой три раза, каждый из которых приводит к лазанью за реальным прототипом в контекст. Вуаля - три прототипа.
>>3198184 →
>>3199605 →
Короче это полный пиздец - за два дня наткнулся на ЧЕТЫРЕ бага, которые не дают нормально собрать проект. Откатился на шиндоус. Может в 2024.2 идее попробую еще раз.
кек
Ебало скуфидона представили?
Так а дефолтный хттп сервер же есть, а остального там немного, как автор и написал 800 строк. Даже меньше можно было сделать, JSON там в принципе-то не нужен.
А так волне код как на го, все в тренде, чего такого? Круто
>70кб
Все бы так умели (и я тоже). Но таких специалистов не ценят, скорее возьмут пачку паджитов с лычками «апдикейша дивеляпа ро-о-оль».
Пиздец, как же он бахвалится, сука почти каждый абзац говорит, что ебааать какие же вокруг далабебы, а вот он-то, он-то все прошарил, мириады пограм написал, познал дзен.
Особенно пики радуют. Уу, это не я не могу в спринге разобраться, а это он мне палки в колеса вставляет. И да, ведь написание 100501 велосипеда это именно то, что должен уметь пограмист, ууу тупые, лексер свой написать не могут. Правда этот скуфяра корячился над этим проектом 4 года блять. Наверное он предлагает всем по столько же корячится, хули нет. Ането сприииинг
>>207065
Случаем не ты автор статьи-то? В чем достижение? У вас места на жестких дисках нет, чи шо? Сука, экономим уже не на озу, а на пзу. Совсем ебанулись.
>лексер свой написать не могут
Причем он свой парсер json так и не написал, лол. Потому что "формат JSON— сложный" самый простой и естественный.
>Случаем не ты автор статьи-то? В чем достижение? У вас места на жестких дисках нет, чи шо? Сука, экономим уже не на озу, а на пзу.
Это всё выгружается в ОЗУ, алё
Спокнись, шизик
>места на жестких дисках нет
JDK уже немало занимает, а ещё у меня есть Groovy в нескольких версиях, не говоря уже о многом другом.
Вот все сейчас так рассуждают, поэтому так и живём. Примеры uTorrent и eMule уже исключение, а не правило.
Очередной энтерпрайзник головного мозга.
Вытащил палку из жепы на 5 минут, только чтобы написать очередной http круд. Для чего начал писать свой спринг с нуля. Ой ебанашка бля. Да иди нахуй, лёха. Говна лепеха
Неа. Суть-то ты в любом случае понял же. Смысл экономить место на хдд, если они террабайтами блять за копейки продаются.
>>207111
Не выгружается все. Во первых пик, это ключики для компилированного кода. В остальное время жвм работает как интерпретатор, и ей опять же не требуется разом дергать все класслоадеры. Она их подгружает при первом обращении.
>>207097
Ну может и сложный. Я помню как один кунчик возмущался, что из-за неоднозначности md очень сложно сделать нормальный парсер. Возмооожно тут схожая ситуация. Просто мне не нравится то, с каким апломбом он это говорит, мол вот, у него-то вышло, а у тебя не факт и лучше точно не будет.
>>207244
У меня 100500 версий ждк, виртуалка, zfs, снапшоты, конетейнеры разного рода, куча проектов. И че, из 256 гб сожрало чуть больше половины. Если не устанавливать игрушечки для дебилов, то на все хватит. Это тебе не юнити, проект которого под 30 гб весит.
Вот даже если посчитать, на 200 гб тебе можно установить 1000 блять версий ждк. Я уж молчу, если у тебя файлапомойка на 4 тб. Я не понимаю, что вы там экономите блятб на казенном-то сервере.
>uTorrent
Чел, это самая хуевая пограмма эвер. Если ты ей пользуешься.. Удали ради меня и скачай qbittorrent/Transmission
Я читал спеку и видел простейший парсер.
А какой версии должен быть мавеновский плагин?
Мне в проекте пришлось так делать, хотя жаба 21.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
--enable-preview
</compilerArgs>
<source>21</source>
<target>21</target>
<release>21</release>
</configuration>
</plugin>
BOM такой:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
Джава класс,жизненным циклом которого управляет апликейшн контекст
>Тебе достаточно, java.version в помнике 21 поставить
Это сокращение для спрингоебов. Мне не поможет.
Без
<compilerArgs>
--enable-preview
</compilerArgs>
Не собирается.
Сделал сейчас мавен проект с архетипом quick start,все норм работает,проперти:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
</properties>
An object managed by the Spring IoC Container. It is a 'backbone of your application' (from the documentation).
>Не выгружается все. Во первых пик, это ключики для компилированного кода. В остальное время жвм работает как интерпретатор, и ей опять же не требуется разом дергать все класслоадеры. Она их подгружает при первом обращении.
естественно не требуется, но если ты их все используешь (а скорее всего ты их и используешь, иначе зачем они в программе) - ты их подгружаешь.
Т.е. после вармапа ты всё подгружаешь, включая все классы, идущие в Metaspace
>Уу, это не я не могу в спринге разобраться, а это он мне палки в колеса вставляет
Типичный уровень дискуссии спрингокультиста.
Пошел нахуй. Какаим бы клоуном ни был тот перец, ты - хуже.
Интересно, а может ли она выгружать эти классы, мол типа они больше не требуются. Типа как деоптимизация.
>>208216
И в чем я не прав-то? Тут вот выше был чел, который ныл из-за того, что а пук среньк, ебаный спринг, какого хуя он мне три инстанса бина сделал. Может все таки виноват не иструмент, а его пользователь? Плохому танцору и..
>И в чем я не прав-то?
В том что родился. А родившись, что рот свой открыл поганый. За 10+ лет в джаве я сполна насмотрелся на таких подсосов, у которых за плечами кроме баэлдунга, джавадока по анноташкам и высеров Борисова нет нихуя. Конструктив? Не, о чем вы вообще - кто не любит спринг, тот его не умеет. Другого мнения просто быть не может.
Чел сверху то как раз не ныл, а просто пришел с вопросом, на который даже ответ получить умудрился. На дваче, блять, ответ получил - он гигачад нахуй после такого. И его болячка - не нытье, а реакция честного непредвзятого человека на спрингопарашу. Реакция, которую любой адекватный разраб поймет и отнесется по человечески к новичку. А ты - просто промытка спринговая, плесень а не человек, тьфу тебе на ебало.
О, еще один умудренный опытом, который обо мне все выводы сделал и все понял по паре сообщений.
Тот йоба разраб не предоставил пример, гдее же ему спринг всю малину-то портит. А не конструктивный я. Понимаю.
>кто не любит спринг, тот его не умеет
Глупышка, тот кто жалуется на ебаный инструмент, при этом вообще блять не пытается рефлексировать по поводу себя - как правило просто инструментом пользоваться не умеет. Все. Это in general правило, которое я к частному случаю применяю. Прекинь, логика, дедукция, знакомые слова, конструктивный ты мой?
Получить ответ по поводу спринга в месте, где почти каждый первый спринговод. Ебать достижение, минет не забудь ему сделать, омеж.
>тот кто жалуется на ебаный инструмент, при этом вообще блять не пытается рефлексировать по поводу себя - как правило просто инструментом пользоваться не умеет. Все. Это in general правило, которое я к частному случаю применяю
Мог время не тратить. Не бывает второй оказии создать о себе первое впечатление. А о том, что ты гнилое лицемерное чмо и ебаный культист, было понятно еще с первого раза.
>>спрингопарашу
Так в чем претензии к спрингу? На нем щас вся джэва и держится.
Там где можно обойтись без спринга, можно легко обойтись и без джавы.
Слив.
Везде можно обойтись без любой технологии, вопрос нужно ли это делать, сколько это будет стоит сделать и сколько это будет стоить поддерживать.
Ты тоже латентный культист? Тоже кроме религиозной войны за своего бога больше в диалоге ни на что не способен?
>Если выбирать между спрингом и джавой
Что ты несешь блять?!
Тебя перед дилеммой раком что-ли поставили - спринг или не-спринг? Нахуя ты впрягаешься то, ради чего? Никто у тебя твои бирюльки не отбирает. На невинную "спрингопарашу" чтоли стриггерился? Буквально каждый второй спринговод со стажем его так называет, при этом не вкладывая в это ни-че-го, никакого нарратива. И только ебаные культисты сразу подрываются защищать свой идол. Ебаный в рот, зачем? Что с вами не так?
>лучше уж перейти на го/питухон/котлин.
чем лучше? тем что будет +1 язык в зоопарке? или тем что наконец-то галочку себе можно будет поставить за использование одобренных хайпом языков?
го еще хуже это "чистой дажвы", в нем еще меньше фич чем в джаве 10 лет назад, но из-за хайпа это уже совсем другое, понимать надо?
>Интересно, а может ли она выгружать эти классы, мол типа они больше не требуются. Типа как деоптимизация.
Я читал что может, если класслоадер, который эти классы загружал, зачистится GC. Но это очевидно требует кастомного класслоадера, потому что стандартные не зачищаются в процессе.
Ну это твои проблемы, что ты глаза говном обмазал и ничего не видишь.
> У вас места на жестких дисках нет, чи шо?
Додь, запомни одно правило: хуёвый код может растратить любые ресурсы любого железа. Напиши while (true) и у тебя нет ядра. Напиши while (true) map.put() и у тебя нет ОЗУ. Напиши while (true) Files.createNewFile() и у тебя нет диска.
Недавно появилось время прочитать книгу с поездами. Сука, я когда читал главу про производительность, мне хотелось плакать. Уже тогда у нас уже были настолько мощные процессоры, что байтоёбство и циклоёбство порицалось потому что уже тогда оно не давало никакой пользы благодаря быстрым процессорам, а впереди были ещё десятки лет развития компьютеров. Тогда мы видели светлое будущее перед глазами. Но 2024 год наступил, и в реальности производительность стала ебать даже там, где раньше даже не думали о ней. Именно из-за такой тупой школоты с мантрами которые не то что не доказываются, а даже легко опровергаются. Ебучие зумеры всё просрали. Ебал тебя, твою мамашу и всю твою семью до 10 колена за то что приложил руку и продолжаешь прикладывать к тому, что светлое будущее не наступило и в программировании.
Создаю в intellij idea проект, сборщик - мавен.
Перед этим установил сам мавен в систему, все ок.
После сборки проекта и попытки его запустить в терминале - сам запуск проходит нормально, но уже в ходе выполнения я получаю ошибку
no main manifest attribute
Причину этого я понимаю - idea по дефолту никак не указывает точку входа, и ей нужно указать вручную в pom.xml, в тэгах <build>, класс где находится psvm метод.
Но как именно это сделать? Что конкретно прописать? Все варианты, что я находил, не работают. Ни стэковерфлоу не помог, не чатгпт.
Если у кого-то есть возможность, скиньте пожалуйста рабочий вариант. Самый простой хотя бы.
Спасибо, отлично!
Теперь вижу, в чем была проблема всех прошлых советов. Надо было просто не указывать версию.
Ну-ка ну-ка, интересно, откуда инфа?
Ты хочешь использовать установленный отдельно на системе мавен? В идее зайди в настройки идеи,вбей maven и там можно выбрать bundled версию чтобы не держать отдельно мавен на системе
Хуйню-то не неси. Заставить компилятор за меня выводить типы != заменить все типы одним уверсальным, аля Dynamic.
>>208519
О, по моему совету читал? Надеюсь до 16 главы прочитал, она самая няшная.
А че за светлое будущее, ты про что? Оптимизировать нужно тогда, когда перфоманс инженер обнаружил в этом месте ботлнек. В остальное время.. Ну можно стараться асимптотику не слишком уж хуевой делать и усе.
Типа прекинь,к примеру jit умеет заменять циклы на simd. А в самой жаве на данный момент инструментов даже для этого нет. В общем я к тому, что ну не выйбуйся, жвм многое оптимизирует и без твоей помощи.
Даже твои же примерыоптимизируются. while(true) именно поэтому быстрее чем любой другой вайл с условием или фор.
Добавление в мапу может убрать как dead code.
А создание файлов.. Че оно сделает той же zfs? там 2^48 максимум. посчитай сколько времени надо, чтобы это ограничение превысить.
>Оптимизировать нужно тогда, когда перфоманс инженер обнаружил в этом месте ботлнек.
А если ботлнека нет и код равномерно тормозной?
>когда перфоманс инженер обнаружил в этом месте ботлнек
Так у него работа такая. Он больше ничего делать не может.
А твоя задача в том, чтобы обосновать,что тут все переписать проблема на долгие годы.
Как там на самом деле и какова выгода всей компании - не очень важно для тебя.
Хуйню написал.
10-15 лет назад варнички грузились в сферу или жбосик с 64 ядрами и 512 гигами озу.
Сейчас девопсЫ душат своими подами по 256мб озу и 1 ядром
Зависит от компании. У нас не душили ничего, бизнесу просто до этого дела нет. Было бы дело - можно было бы и в эти требования вписаться
>Оптимизировать нужно тогда, когда перфоманс инженер обнаружил в этом месте ботлнек. В остальное время.. Ну можно стараться асимптотику не слишком уж хуевой делать и усе. ЯСКООООЗАААААЛЛЛЛ!! ВРЁТЕЕЕЕ!!!!!
>Даже твои же примерыоптимизируются. while(true) именно поэтому быстрее чем любой другой вайл с условием или фор.
>Добавление в мапу может убрать как dead code.
>А создание файлов.. Че оно сделает той же zfs? там 2^48 максимум. посчитай сколько времени надо, чтобы это ограничение превысить.
Олень, ну пойди и запусти while (true) и посмотри на загрузку процессора. Жид у него это оптимизирует, пиздец. Пиздец конченное опущенное чмо. У тебя дебилизм или идиотия? Съеби из профессии, уёбок.
Ну на тебе https://stackoverflow.com/questions/33696568/is-busy-wait-inconsistent
Честно, ты меня тааааааак сука заебал. Каждый ебаный раз ко мне лезешь со своими пртиензиями. И как же ты заебал со оскорблениями. Я че-то в твою/вашу сторону-то сказал?
У сука, бесит блять. Почему скуфы такие неприятные
Ну и какое отношение busy wait к теме имеет? Блядь, тебе что, на самом деле лоботомию сделали? Как ты вообще с таким интеллектом смог говорить научиться?
Прямое. Busy wait частный случай вечного цилка, одно тривиально откидывается, второе тоже. Поставил nop и тебе кванты никто выделять не будет. Пошел нахуй в общем. Не пиши мне сука больше. Я тебя в рот ебал, ты до самого конца будешь отрицать все бесполезный спор и трата нервов.
А, я понял, ты настолько тупой что под while (true) понял БУКВАЛЬНО while (true). Чё не доебался тогда что оно не скомпилируется? Скобок-то нету. Блядь, какой же ты даун, это пиздец. Я даже на сосаче таких олигофренов редко вижу.
Я не читаю мысле, соре. Че ты там подразумевать мог, можешь оставить при себе впрочем. Мне похуй, ибо ты просто мерзкий тип. Ненавижу таких
Ну то есть ты сливаешься. Ок, принято, гной.
Да в целом как то похуй. Я и так ее раз в полгода обновляю (когда ключ кончается и надо новый вводить), так и быть сделаю пару лишних движений чтоб скачать.
Сижу на камьюнити и в хуй не дую. Интеграция со спрингом? В рот ее ебал, я помню все бины наизусть.
Ты можешь любые части спринга подключать отдельно
Левый индекс - индекс массива в массиве массивов. Правый - индекс в самом массиве.
Лично мне всегда казалось, что этот порядок нелогичный. Т.е. по моей логике int[4][5] - должен быть массивом из 5 элементов int[4], но на самом деле все наоборот. Тупо для запомнил, что в таких случаях порядок обратный от того, что кажется логичным
Никак. Это одна из проблем отсутствия API для статического анализа произвольного кода. Без него весь статический анализ где бы он не был прибит гвоздями к конкретному классу и к конкретной иде.
Понял, спасибо
Меньше символов не значит лучше. А на доллародаунов похуй. Но доллар можно добавить в виде StringTemplate stringTemplate = $"" и String string = $"".join().
Чем "foo \s".formatted("bar") не нравится?
Ну.. Всегда можно сделать ахуительные util классы)
Конечно нахуй не нужно, нооо, я прям давно хотел(пик3) сделать что-то, что может обобщенно тайп сейвово создавать массивы через методы. Оказывается для этого куча фокусов нужно...
Да.
Чтобы прям писюн дрочить не помню такого. Но восхищаюсь тем, что сделал регулярно.
Тупоголовая хуйня из-за своих 60 пунктов iq даже не понимает, как оно позорится. Даннинг-Крюгер во всей красе.
Как в Intellij IDEA вернуть удаленный коммит?
Два дня ебашил, коммичу, хочу залить на гитхаб и тут замечаю что лишнее в коммит добавил, хочу его удалить и заново сделать, а вместо этого удалил всю проделанную работу вместе с ним.
Как вернуть сделанное??
В чем шитпостинг? Я предложил решение проблемы, аля нелогичное создание массивов.
>>211027
Про позор вообще странного говорить. Могу оригинально решить какую-то проблему - решаю. Все блять. Не приговариваю, что те кто так не могут тупые, не говорю, что только так и надо. Просто показываю интересное, на мой взгляд, проявление семантики языка. Че вы блять такие зашоренные-то. Каждый блять раз одно и тоже. Не нравится так и пишите дальше по шаблону, я ж его не отбираю.
>>211084
Это пробовал? https://www.jetbrains.com/help/idea/local-history.html
Именно потому что ты тупоголовая 60 iq хуйня ты и не можешь понять, в чём тут щитпостинг. Я хуею, он ведь правда думает что он охуеть какой умный и он Америку тут нам щас сидит своим говнокодом открывает. Охуеть.
Хз, я тут сижу больше года, на разных форумах по жаве больше 4. Нигде такого не видел. Если тебе это знакомо, рад за тебя.
>я слепой уродец который 4 года просрал в пустую на сидение в своей ракушке, это значит что я умный огого!
Пиздеееец.
Чел ты споришь не с моей позицией. Я этого не писал.
Ну и аргументов кстати почему говнокод тоже не будет. Бля, обожаю когда меня просто обсирают, ну а ты че, самый умный, а? И все, дальше не заходят. Просто повторяют, повторяют повторяют одно и тоже из раза в раз. Меня это уже порядком заебало.
> И все, дальше не заходят.
Потому что здесь суть не в твоём говнокоде. Здесь суть в том, как ты свой высер подаёшь. Вот пример. Нарисовал маленький ребёнок рисунок и показал родителям. Молодец! Можно порадоваться за ребёнка. А теперь представь что этот ребёнок подходит с этим рисунком, тычет им в ебало, говорит, чё бля, видал нахуй, какую я собачку нарисовал, ебаный тупой скуфоскот, ты давай-ка нахуй уже ножки в ручки да в гробик, кто ж ещё кроме меня собачку нарисует, охуеть я конечно интеллектуал.
Но по раз уж ты хочешь получить струю мочи, почему твоя собачка это не мона лиза:
1. Какая в этом польза, помимо того чтобы показать какой ты у мамы умный?
2. Огромный оверхед в перформансе непонятно ради чего. Вот такой сучий гной пишет свою хуйню соевую бесполезную, а с задыханием на 3к запросов в секунду разбираются те, кто после него придут.
3. Огромный оверхед в длине кода непонятно ради чего.
Да,причем ежедневно
>Здесь суть в том, как ты свой высер подаёшь.
Я никогда себя не позиционировал как йоба разраба с 100500 лет опыта. И я не пишу ничего из того, что ты написал. Зачем придумывать позицию за меня..
1. У меня везде упоминания, что это бесполезно, с т.з. использования. А так, ну например способ сделать refied generic без явной передачи класса. Это конеечно не моя идея, просто прикольно.
2. Тут нет оверхеда, поскольку это k, а не n. Константа, которая обычно даже 2 не превышает. Излагаясь, понятнее тут создается порядка 10 объектов в среднем, которые по теории поколений в первой же сборке гц отлетят. Вызовы метода, конпенсируются заполнением массива. Где n, в лучшем случае.
Без перфоманс тестов тем более странно про это говорить.
3. Щас бы жаббисту про это говорить.
> У меня везде упоминания, что это бесполезно, с т.з. использования. А так, ну например способ сделать refied generic без явной передачи класса. Это конеечно не моя идея, просто прикольно.
>Я сам сказал что я гной, значит я не гной!
Бляяяяя...
> тут создается порядка 10 объектов в среднем
> Тут нет оверхеда
Блядь, ну ты совсем что ли даун? Ты как дожил до сознательного возраста-то с таким интеллектом? Или тебе лет 8?
> Щас бы жаббисту про это говорить.
Тут даже нет опровержения, дегенерат. Тебе лишь бы высрать что-ли?
10 объектов много? Ты блять серьзено? Еще раз, ты аллоцируешь массив, длинной n и потом его заполняешь, ибо нахуй иначе его создавать. Соотношение 10 к n, минимум, минимум блять. Как максимум 10 к n^m. Какой огромный оверхед. Че ты несешь, ты всегда на ебаных спичках экономишь?
Блядь, какой же ты тупой. Тебя пуповиной при родах не придушало, уёбок? Ты говоришь что оверхеда нет, а доказываешь это тем, что есть оверхед в создание 10 объектов на один объект массива. Пиздец какой-то. Ты же блядь на самом деле F72 имеешь.
Объект массива не один. С ним в подарок идет создание n объектов, поскольку как я и говорил, неясно зачем нужен массив без объектов. Если массив больше чем одной мерности то, там просто туча объектов создается. Одномерные массивы примитивов создать с таким апи нельзя, очевидно почему.
Так что ты еще раз зачем-то подменяешь тезис.
И он продолжает доказывать отсутствие оверхеда тем, что оверхед равен 10 объектам...
Ты написал огромный оверхед. Он не огрмоный, поскольку соотношение просто ничтожно, настолько, что лично для меня его нет. Тем более если захотеть, то можно и это снизить, создавая новый массив каждую вторую степень. Не создавать каждый раз новый объект билдера. Просто я не понимаю нахуя эта экономия. Она ничего не стоит.
В любом случае, конечная цель апи создавать массив int[2][3] способом .n(3).n(2). Хуй знает как ты сделаешь это без оверхеда вообще. Ну кроме "нинужна".
Ты написал "нет оверхеда", додик.
Я верно понимаю, что это просто класс с одним конструктором и всё поля final?
В будущем он будет value type. Ему можно будет указать, чтобы он не был null.
А так да. Просто класс, причем final, который не может быть наследником ничего кроме интерфейсов, все поля которого финальны и который автоматически сгенерит геттеры и конструктор.
Нужен чтоб внутренний класс объявлять прям в методе для стримов и лямбд.
А для иммутабельного дто @Value все еще лучше.
Ну что ты так, может и будет. Просто большинство местных уже выйдет на пенсию.
Меньше проблем со всякими мэпстрактами и джэксонами.
В остальном - то же самое. статический конструктор of() надо пуками делать, но это мелочи
Кто бы мог подумать что стандартные инструменты гита для восстановления удаленной истории помогут восстановить историю гита... Держи в курсе...
Какие у тебя там проблемы в джэксоне с рекордами? Версии либ обновлять не пробовал?
Зачем что-то обновлять? Джава 5 наше всё.
Ты за меня так переживаешь или че? Я не в дс3, Буквально нет вакансий. Поэтому говорить, что не берут по меньшей мере странно - у меня ровно ноль отказов и ноль собесов. Как следствие, я не знаю какой у меня уровень. Да и честно сказать я боюсь узнавать
4 года назад обсуждали это https://github.com/openjdk/amber-docs/blob/master/eg-drafts/reconstruction-records-and-classes.md
Может передумали или все еще обсуждают.
Опять выдумали какую-то хуйню, которую в итоге заменят обычными методами.
Так дедовщина же, очевидно.
Не слышал и не хочу.
Это не в 21 джаве, а в новой джакарте.
Да это не просто в спринге придумали, это в самой джаве придумали. Енам называется.
Оракл захотел стрясти денег за слово java™ в названии, те переименовали в джакарту чтоб жадные пидорасы шли нахуй.
Долбоёб, джакарта раньше была оракловской, но оракла заебало её поддерживать и он решил сплавить её компьюнити. Передали эклипсу, в связи с чем и переименовали.
Если сделать енам, то будет падать на этапе маппинга (json в java объект), а не валидации. Это во-первых размазывание зон отвествтенности, а во-вторых сообщения об ошибке разные будут.
Это случаем не ты тот додик что последние 10 тредов серет своими охуительными идеями по типу как развернуть порядок индексов многомерного массивы?
Ты охуел меня с ним сравнивать?
То есть Джакарта это часть стандартной библиотеки языка,но при этом она не принадлежит владельцам языка? Что за ебаный сюр
Это как надо обпердолиться чтоб такое сделать?
Жпа даже специально все колумннеймы алиасит с подчеркиваниями..
жакарта по сути новая переименованая жяваЕЕ и все ее компоненты типа jms, jpa итд
А они никогда не были частью стандартной либы.
Было апи, а имплементации все сторонные. Да и апи уже в 9 вроде выкинули. В итоге сейчас нужно как минимум api в депенсы
Потому что индустрия такая, нужно очень стараться чтобы не быть долбоебом с завышенным ЧСВ
Много. Никто не знает т.к. у спринга куча модулей
Дружище, для этого люди магистратуры и аспирантуры заканчивают по направлению программная инженерия и подобным. Если ты без образования должного, то тут никак.
Просто сразу как заходишь, говори "Микросервисы - это круто! Я люблю обмазываться микросервисами и горизонтально скалировать в ванной. Монолит - очень плохо!"
Всё. Литерали всё что от тебя хотя там услышать.
>магистратуры и аспирантуры заканчивают по направлению программная инженерия и подобным
хуйню написал
>Дружище, для этого люди магистратуры и аспирантуры заканчивают по направлению программная инженерия и подобным.
Главное на собесе такое не спиздани, подлива потечет по всему офису
Сколько я не был на таких секциях (три раза) - просили проектировать говно с первой страницы гугла по запросу "архитектурное собеседование". Я делал умное жало и пересказывал, иногда ещё шутки вставлял из передачи "наша раша" чтобы не так скучно интервьюверам было. Прошёл без проблем все, оффер принял там где можно дунасинг.
Оканчивают, уёбище. Ты, видимо, окончил три класса с коридором, раз не научился говорить правильно.
Оканчивают тебе на ебало, прескриптивисткая собачка
книгу полистай от alex xu - крэкинг систем дизайн
на ютюбе - bytebytego, интервью по сисдизу c Поломодовым (тинек)
Можешь посмотреть сисдиз от манга.
https://sre.google/workbook/non-abstract-design/
https://igotanoffer.com/blogs/tech/meta-system-design-interview
https://www.designgurus.io/answers/detail/how-to-crack-system-design-interview-at-microsoft
В общем гайдов тысячи. Проблема состоит в том, что во время интервью ты не сможешь всё это продемонстрировать. Тебя будут постоянно перебивать доебываясь до малозначительных деталей: а ключ будет int или long?
Ебаная идеа постоянно обоссывается на многумодульных проектах. Я инвалидирую регулярно.
Когда проект билдишь, или когда идея начинает индексирование, жужжит так, как будто самолет взлетает бля.
Поясни за священное писание по спрингу
Был таксистом, вкатился в айти, сделал джаву, можно и отдохнуть.
> Я хотел бы показать вам пример кода, демонстрирующий авто-
> конфигурацию, но не могу. Автоконфигурация похожа на ветер – вы
> можете видеть ее последствия, но у нее нет кода, который можно по-
> казать вам и сказать: «Смотрите! Вот пример автоконфигурации!»
> Механизм автоконфигурации просто работает, создает и связывает
> компоненты – и не требует для этого писать какой-либо код. Именно
> отсутствие необходимости писать код делает автоконфигурацию та-
> кой замечательной.
Это такой троллинг?
Типичный ЛИ.
Groovy. В отличие от петухона, обладает в меру гибким синтаксисом без значащих пробелов, бесшовно интегрируется с Java.
>>214916
Постоянно в Suggested вылезают всякие паджиты. Жму Report, но система никак не научится. Специально проталкивают черножопую странь. Существует ли годный аналог, где нет индусов (а также арабов и прочих)? Чтобы только белые пользователи.
#StopHiringPajeets
Make IT white again!
Говно без задач, пиши на 7 как норм пацан
Perl + sqlite вроде. Makaba же.
Креств + мускл
Сои пережрал? Ты хоть мальчик или девочка? А то вдруг уже небинарный трансформер.
Ну-ка ответь: main или master?
>main или master
Как это заебало уже, каждый раз когда создаю репозиторий в гитлабе мне приходится переименовывать main в master
Мимо
Так ты не создавай в гитлабе, пушь локальный.
Конечно бро, у нас ты переменные можешь матом называть
Ненавижу ебаные лямбдавыражения, я блядь обожаю бойлерплейт, минимализм это всегда круто
А еще векторы хештейблы и проход коллекций итераторами....
Но повторюсь. За 500к я б пошел и 6 яву пердолить и монолит под жибос на ее5 с еджбэ пилить...
Ну да. нах не нужны ебаные стримапи, я все циклами делаю и прекрасно себя ощущаю
>Джуны для вката в других языках пишут что угодно, от блога, до телего-ботов
Джуном писал LMS с фронтом (таймлиф) и бэком, а также несколько cli для разных простеньких задач.
Чисто бэковые проекты были: торговый бот на бинансовом АПИ и "интеграция" с тиньковским апи для торговли.
Это где еще копролиты тах времен остались?
Я начинал с 5 тоже. 2 спринг - хмл-конфиги заебись. Копролит на ее под вебсферу...
Ебать, на джаве можно не только рест круды делать О_О
Нахуя ты из раза в раз напоминаешь, что пишешь на жаве 5? Чтобы что?
>>219657
Можно, но только никто в здравом уме этого не делает.
Вот хочу я на жабе что-то для себя написать и сосу хуяку, ибо десктоп давным давно сдох и всем похую просто. Поэтому терплю и перехожу на что-то, что поддерживает gtk/qt. Еще в опеждк сука такие ублюдские шрифты, а точнее их рендер, просто пиздец. Или вот хочу написать какой-то скрипт и также сосу хуй из-за многословности. Ну в общем-то это и к лучшему, ибо хуже сообщества чем жаваны я еще не встречал.
>Нахуя ты из раза в раз напоминаешь, что пишешь на жаве 5? Чтобы что?
Это вниманиеблядь. Игнорируй.
чего груви не юзаете? просто хочу разобраться
>Нахуя ты из раза в раз напоминаешь, что пишешь на жаве 5? Чтобы что?
Это крик о помощи
джава 5 кун
Пососи, ждк 16 более распространен чем 17, из-за того что отключили --illegal-access=permit, многие вендоры из-за этого портят патчи безопасности на 16 и гарантируют поддержку на годы вперёд.
Чтобы я заметил. Джава 7 кун. Пошли трахаться на циклах?
А что за истории с вендорами? Ты о ком конкретно говорил?
Вкатудонище, я на самой последней версии с превью фичами и со всей своей тимой пишу дольше чем ты вообще джаву тыкаешь.
В смысле зачем? Зачем писать с использованием новых удобных фич когда обратная совместимость этих фич меня не волнует т.к. я не библиотеки пишу?
А совместимость библиотек с новыми версиями не лтсной джавы тоже не волнует?
Если проект с кучей зависимостей то переходить сразу на новую верисию языка это вполне себе работа. Первые месяцы вообще что-то может не заработать.
Я когда небольшой сервис на 100к строк переводил с 11 на 17 через 8 месяцев после выхода 17 пару часов наверно потратил, чтобы поднять версии всех библиотек.
>пару часов
Ну пиздец проблема. Но мы так-то и пары часов не тратим, буквально обновить лобок, мавен шейд плагин и сами файлы JDK.
Так зачем каждые полгода тратить даже эти 2 часа на каждый сервис? Делать больше нехуя? А в большом монолите ты 2 часами не обойдёшься.
Спринговые штуки надо обновлять, моделмаппер, вообще все что юзает рефлексию и аннотейшн процессинг.
Кроме зависимостей надо обновить еще сиайку.
>вот я тебе щас обьясню сколько много времени ты тратишь
Блядь, я тебе сказал уже, все обновления либ дело 5 минут. А даже если там у нас и выходило бы по 2 часа, то эти 2 часа того стоят.
Ну мне на тебя похую.
Я тебе привел пример почему подавляющее большинство не обновляется не на лтс.
Это просто лишняя работа от которой 0 бизнес валуе и очень мизерные изменения в языке.
И чем больше проект тем больше там работы.
Превью фичи вообще рекомендуется не тащить в прод, потому что ни не сохраняют обратную совместимость.
Покормил.
Если тебе интересны фичи - то не лучше писать на котлине с большим количеством фич и компилить под JDK 8, чтобы все библиотеки были совместимы?
А тебя кто-то просил приводить это?
Мне надо потестить своё поделие, и я подумал, что мне бы хватило любого сервачка облачного. Посмотрел цены, и могу сказать, что тот же авс дешевле. Но с авс ебаться надо джва часа дня пока зарегаешь акк, пока привяжешь карту, пока всю эту хуйню рутинную проделаешь.
У Яндекса вроде есть халявные 50 гигов облака
Да мне ничего особенно не надо: виртуалка, чтобы там докер задеплоить. Просто интересно за что его хейтят.
Да какая разница что там хейтят кукаретники. Как правило, их много чего не устраивает. То что я ой маркетолог, меня подкупили, пришёл сюда рекламировать продукт. Не устраивают цены на ec2. Говорю типа, при резервировании на 3 года, цены падают на 70%. Либо можно spot-инстансы взять. Если говоришь про серверлесс/лямбду, так сразу ой будет дудос страшный, всё оплатишь. Я говорю - ставишь throttling и весь лишний трафик порежется. Либо у них очередная история про то как очередная компания отказалась от облаков, закупила серваки и сэкономила миллионы долларов. А-ля облака нинужны, и всё в таком духе.
Ну ясно. Двач есть двач: здесь какой-то негативный случай любят экстраполировать. Хуй знает как там большие бизнесы, но мелко-средним бизнесам, по-моему, только к облачным провайдерам идти.
>Не устраивают цены на ec2. Говорю типа, при резервировании на 3 года, цены падают на 70%. Либо можно spot-инстансы взять. Если говоришь про серверлесс/лямбду, так сразу ой будет дудос страшный, всё оплатишь. Я говорю - ставишь throttling и весь лишний трафик порежется.
Переводя на человеческий: варианты есть, но если ты не настолько проверенный, то тебя разведут на бабки по полной. И за что AWS не любят?
К примеру:
public class c1{
public static native funk1(){...}
public c1(){System.LoadLibrary(...);...}
}
public class c2{
public static native funk1(){}
public c2(){//всё, кроме LoadLibraty
}
}
Будет ли вызов c2.funk1() тем, что и c1.funk1()?
>если ты не настолько прошареный, то тебя разведут на бабки по полной
Ну так облака рассчитаны на искушенного пользователя. Я кучу раз видел когда люди переплачивали десятки тысяч долларов, просто по незнанию, т.к. они не разбираются в сервисах. Чтобы экономить - надо быть прошаренным авсником. В этом виноваты сами люди, авс тонны документации пишет, туториалы, референс архитектуры, даёт гранты. Люди думают что они умнее всех, делают как привыкли, в итоге попадают на деньги. Хотя я те реально могу показать, если не относится с похуизмом, то там можно тыщу долларов сэкономить, здесь питсот долларов, и в итоге окажется что не всё так дорого как рассказывают
Конвертеры не работают, вместо этого какие-то экстернализаторы и фабрики. Ну ебанутые бля........... час искал как инстант записать в табличку
>В этом виноваты сами люди, авс тонны документации пишет, туториалы, референс архитектуры, даёт гранты.
Маркетолог AWS плес. Вы пидорасы специально продвигаете дорогие варианты, а дешёвые прячете. Вы создали такую систему настроек и конфигурация, чтобы по максимуму въебать клиента на бабки. А теперь заявляете, что это люди не читают документацию.
это не спринг, на спринге как раз все работает искаропки
И? По делу есть что сказать?
Конечно, я бы тебя сразу взял.
>подойдёт для эйчар как показатель знания/практики языка
Говоришь рекрутеру что язык знаешь, а знаешь по факту или нет - это задача тех собеса. Может, в промежутке тестовое дадут.
В общем, сертификаты нахуй никому не нужны.
Я думал Hyperskill - платный. Как платишь?
По-моему будет, это подгружает либу для всей ДЖВМ. Поэтому лучше всего выполнять это в static-initializer блоках
Часто хеллоу-ворды пишешь?
Ничего не мешает. Но тогда и диаграммка свой смысл теряет, равно как и выводы по ней. Сколько это по факту - 50%? Что значит эта цифра? То что опрошенные регулярно используют 8ю джаву, не значит что оная распространена на 50%. У тебя среди твоего парка микросервисов может завалялся какой нибудь один престарелый хтонический ублюдок, к которому руки переписать не дошли - и вот формально ты уже работаешь с 8й джавой. И что?
Короче, потешно на сайте жидбрейнса видеть такое, мда.
Дисcumфорт будет только первое время, пока базовые шорткаты не переучишь, ну и работать с файловой системой будет непривычно, т.к. там линуксовая (хотя по факту она логичнее и удобнее). А так только выиграли. По ощущением мак стабильнее винды. Я в прошлом году купил летом, и не могу накайфоваца от самого макбука и мак оси.
Плачу пока никак, переводить хз как. Может стимовский наёб на деньги с переводом рублей в тенге через киви, затем тенге в доллары в каком-нибудь вебмани сработает? Не думал пока, но если надо будет, и деньги найдутся, и способ.
На самом сайты начальные курсы с расписыванием базы бесплатные, они по сути тесты на задрачивание языка + всякие хелло ворлды. Есть лимит на количество неправильных ответов в день (5 жизней), есть и составленные дегенератами задания, но всё вроде бы просто, т.к. можно проверять мини-программы прям в иде. Долго только дело идёт, я за это время месяц назад уже наклепал javafx говноинтерфейс, только логику прикрутить осталось, чтобы в гитхаб выложить. И затем наверно можно щупать спринг и базы данных.
Скетч о том что к маку можно подключить только маковую периферию это рофл из нулевых? Скажем наушники клава и мышь по блютузу норм подключается?
Ты ахуеешь, но можно работать без мышки. Я тоже сначала не понимал как такое возможно. Я подключал наушники и мышку не от апле, и всё нормально коннектилось. Хз на счёт клавы как там.
Обновил до последней версии и пошло-поехало.
> эксперт-по-авс
Как вкатиться, если лишних денег на эксперименты с ним нет? Как ты заработал свою экспертизу?
>в чём подводные
В том, что на твоем бесплатном коде бесплатно обучают чат гпт, чтобы потом заменить тебя.
Нелогичный оконный менеджер. 10 лет на разных маках, до сих пор бомблюсь.
Буквально лучший опыт работы за маком - на линуксе. Жаль что почти нихуя не работает на современных маках.
Последние лет 10 на маках.
Так и не привык к выблядскому финдеру. Потому сижу в mc в соснольке если надо с файлами поработать.
А так - гейось полноценная замена гнилуксу с возжможностью хоть обпердолиться в консолечку (brew - entry level, macports - advanced) при этом с приятными шревтами
Похуй, нули не нужны.
>полноценная замена гнилуксу
Винда с wsl1 даёт лучшую замену чем макос. В макоси от линукса есть примерно нихуя, а то что есть - работает не так, и вводит в заблуждение. Это я с т.з. разработки и девопсинга говорю.
> В макоси от линукса есть примерно нихуя, а то что есть - работает не так
Блять ты обоссаный утырок, макось основана на БСД, соответственно имплементация ГНУшных программ - другая.
Просто устанавливаешь пакет с gnu_utils и получаешь линукс.
Я говорю не про утилиты. Утилиты - верхушка айсберга.
>Это я с т.з. разработки и девопсинга говорю.
Чел это джава тред, тут всем насрать на ядро и glibc. И каким девопсингом ты на локалхосте занимаешься?
Ну профилируй своё говно по телефону сам, раз джава господин.
https://getmatch.ru/vacancies/19947-java-razrabotchik-nirvana?s=offers
Дробовик вышлют курьером?
Ну это довольно старая легаси хуйня написанная хуй пойми зачем в Яндексе, туда я бы идти не стал. На джаву лучше куда-нибудь в район кинопоиска, музыки или 360. В маркет не вздумайте идти, это самое каловое направление.
Ну я в яндексе работаю, но в другом бизнес-юните. Маркет считается самым худшим во всем яндексе с ебнутым на голову руководством, с сокращениями, увольнениями, квотами на плохие оценки на ревью итд. В общем я бы в маркет не пошел. К тому же сам маркет сейчас тонет, в 2023 году за это весь яндекс наказали тем, что всем лидам убрали лидершип бонусы. Ну то есть приходишь ты тимлидом в условный "Поиск" с обещаниями, что в конце года получишь лидершип бонус, а потом тебе говорят что хуй тебе за щеку, а не бонус, потому что Маркет обосрался и не выполнил свои годовые цели.
Банально ты в Маркете получишь довольно хуевые по качеству проекты, потогонку за плюсики на ревью, и при этом за зп либо ниже, либо такую же как в сбере. Если ты джавист, то в Маркет вообще нет причин идти, когда на рынке полно банков и продуктовых контор с нормальными зарплатами и адекватными условиями труда. Алсо какие цифры в оффере, если не секрет и какой грейд?
И да, напомню, что если ты какое-то количество ревью не получаешь грейдап, то тебя увольняют на мороз. Условно сидеть на 15 грейде 2 года вряд ли получится. Но при этом грейдап ты разумеется не получишь, если будешь просто работать и закрывать свои таски.
Чем тебе File.createTempFile не варик? Ну да, он не дропнется при выходе из RAII блока, но не похуй ли? Дропнется потом.
Используется чтобы ETL-и рисовать и шедулить пайплайны варящие данные для анал-итеков в YT. В целом не обычный такой сервис в core инфре.
Храни в памяти в байтстримах.
>когда на рынке полно банков и продуктовых контор с нормальными зарплатами и адекватными условиями труда
Например? Я сейчас ищу место и все довольно глухо и по зп и по условиям.
Двачую. Добавь к этому списку МТС Облако - это просто стая яндексоидов пришедших делать тоже самое в другой компании.
Сделай wrapper какой-то. В чём проблема?
Я ничё не понял, но очень интересно. Слежу за развитием событий
ну вообще у меня в банке ща каррент версия 17
есть чутка 11 и 8 легасятины.
на 21 пока не перекатываются.
а по мне и 17 уже норм
Че там нахуевертили, расскажи вкратце
Пробуй в Сбер, МТС Банк и сам МТС, Газпром, Т1, Иннотех и прочие конторы. Это всяко лучше маркета в Яндексе.
>>223961
>Я сейчас ищу место и все довольно глухо и по зп и по условиям
На какую зп рассчитываешь? И сколько лет опыта, где до этого работал?
>>223962
>МТС Облако - это просто стая яндексоидов пришедших делать тоже самое в другой компании
Да, это правда. Те, кто по каким-то причинам проиграл в корпоративных игрищах в Яндекс.Облаке ушли в МТС.Облако. Там кстати найм практически такой же как и в Яндекс по сложности.
Вы задали интересный вопрос.
В данном случае вы можете создать ненужное напряжение вокруг себя, представляя задачу сложнее, чем она есть на самом деле. Это может привести к тому, что другие могут начать относиться к вам с сожалением или даже сомневаться в ваших способностях.
Вместо этого, можно попробовать подойти к ситуации более конструктивно, возможно, спросить совета у коллег или друзей. Рассказывайте о своих достижениях столь же легко, как обращаетесь к помощи в трудной ситуации.
Работает пока ты один в коллективе.
Иначе любой может посмотреть комит.
Алсо не стоит недооценивать аналистов/постановщиков и прочих коллег, некоторые могут быть прошареными и возьмут на заметку что ты фуфел.
Да, рофл. А вот невозможность по разному настроить мышь и трекпада без мокрописек и костылей не рофл.
JIT это и есть компилятор. Но он не ликвидирует сборку мусора. Виртуальная машина продолжает ей заниматься.
>На какую зп рассчитываешь? И сколько лет опыта, где до этого работал?
Хочу миллион, но готов и на 500к на руки, ~5 лет опыта.
По-моему это выдумки джава верунов.
Это же несовместимо с парадигмой сборки мусора.
Ну или точнее совместимо, при условии что "компилированный" код будет через каждое какое-то количество инструкций вызывать сервисную процедуру "а не собрать ли нам мусор", потому что замораживать поток в неконсистентном состоянии просто так нельзя. Может ли это увеличить производительность - решительно непонятно.
У меня были такие мысли, что jit не существует, однако недавно мною был проведен эксперимент: массив размером 10000 с элементами 9999,9998...0 отсортировывался пузырьком при отсутствии флага -Xint и при его наличии. При его наличии программа выполнялась дольше на секунды 3-4, а при отсутствии(что означало, что по умолчанию будет включена jit-компиляция) было крайне быстро.
Существование jit так же не легитимно с точки зрения безопасности, т.к. секция данных в исполняемом образе ВООБЩЕ ГОВОРЯ с точки зрения безопасности, не должна иметь право на исполнение, а секция кода не должна иметь разрешения на запись. То есть выходит что в случае jvm эти пункты нарушены, и в случае наличия серьезных требований по безопасности запуск в режиме jit не должен допускаться.
Как я понимаю, запускать без jit можно с через флаг -Xint
Тебе сложно написать класс с 1 функцией, 1 конструктором и 2мя стейтментами?
Давно уже пора понять что джава с читами играет.
>>Алсо какие цифры в оффере, если не секрет и какой грейд?
Привет! Предлагаю 15 грейд и 180к (на руки)
предлагают*
15 грейд в маркете это могила. Вообще 15 грейд в Яндексе это что-то уровня джуна, многим этот грейд дают сразу после трехмесячной стажировки.
Но нужно учесть, что с 15 грейда многих увольняют. Почему? Да потому что на перфоманс ревью нужно чуть ли не сразу начинать показывать хороший перфоманс в виде двух-трех плюсов минимум. Если ты два раза получаешь один +, то тебя увольняют. Если ты два раза получаешь ++, то это сигнал к тому, что возможно тебя стоит уволить.
При этом оценку ставит руководитель. Количество хороших оценок ограничено, поэтому если ты просто поработал и сделал свои задачи, то это максимум один + будет. А если руководитель считает тебя ебланом и бездарем, то в самом лучшем случае посидишь два ревью и на мороз отправят.
Лично у меня возможно сильно предвзятое мнение, но хз. Я просто сам 15 грейдом был, получил три раза один + на ревью и был вынужден уволиться вникуда, потом сидел полгода на шее у мамки и доучивал вещи, которые в яндексе я никогда не видел (докер, кубер, прометеус, терраформ, postgresql итд).
А почему могила? Говорят, что на 15 грейде меньше просят и т.д., чтобы получить повышенные оценки.
В любом случае, думаю это норм опыт будет, т.к. я щас на очень грустном проекте, который мне особого роста не дает. Думаю для меня (11 месяцев ком. опыта) хороший шанс
>Но нужно учесть, что с 15 грейда многих увольняют.
Для 15 грейда общее видение, что за полтора года он должен или вырасти до 16, или отправиться на мороз. Иначе к его менеджеру возникают вопросы, что у него джун не растёт. Стагнировать допускается на 17.
> При этом оценку ставит руководитель.
Не, там система устроена так что руководитель вносит основную оценку, но её спокойно мугут перевернуть на калибровках. Т.е. руководитель на самом деле должен уметь защищать хорошие оценки или объяснять почему он ставит плохую при хороших отзывах на чувака.
>А почему могила
Сложно продержаться больше года-полтора. Во всяком случае сложно было мне. Ну и для меня было сложно получить хоть что-то больше одного плюса. И сам проект не особо нравился и, если честно, я уже сам хотел уйти спустя год, просто не был готов и по собесам не ходил в то время.
>>225858
>Для 15 грейда общее видение, что за полтора года он должен или вырасти до 16, или отправиться на мороз. Иначе к его менеджеру возникают вопросы, что у него джун не растёт. Стагнировать допускается на 17
Да, это так. Но я вот вообще не выкупил как мне можно было получить хоть что-то больше одного плюса. Спрашивал у рукля - тот ничего толком мне не сказал, каких-то проектов, за которые хотя бы ++ можно было получить на 15 грейде, тоже не давал. Просто были какие-то общие фразы по типу нормально делай - нормально будет. А потом при обсуждении итогов ревью всегда говорил, "ну, я каких-либо прорывов не заметил, но и ты не особо проебывался, поэтому +". Я не думаю, что для защиты оценки ++ для 15 грейда ему было рвать анус на британский флаг на калибровках, поэтому кажется, что он сам хотел побыстрее меня слить из команды.
Собственно я перед третьим ревью на зеленое сам написал заявление по собственному и свалил.
Обычно советуют просить у руководителя такие проекты, которые были бы хорошо "заметны" всем, делать их нормально в срок и получать свои плюсики. Плюс брать к себе стажеров, обучать их.
Лично я ничего из этого не делал, проекты были калом в виде фиксов всяких багов, стажеров брали другие разрабы, поэтому я 1.5 года просидел и ушел.
Маркет лучше стороной обходить, но если вариантов других вообще нет, то можно и туда на годик. Там вроде как есть несколько неплохих команд с робототехникой связанные. Там джава/котлин нужны тоже. Знакомый оттуда говорил, что в целом там ок работается.
Но большая часть маркета - это реально гнилье и каловые проекты. Сам маркет это один из самых провальных бизнесов яндекса с тяжелой историей.
Если попадешь в каловое место, то посиди год, а потом ротируйся куда-нибудь вроде фантеха/360 или вовсе намороз.
Да нормальный бизнес был, пока из него маркет не сделали.
Реально пиздос, мудаки лезут переписывать внутренности 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
Реально пиздос, мудаки лезут переписывать внутренности 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
Причём тут вообще революшен? Фаг, юнити, интегрити, обсолете, ремувал, всё это про фашню до единого слова.
Ниче не понял
Лучше бы про прикольные ЖЕПЫ писал
Типа там про markdown в явадоках или про НАТИВНУЮ КОМПИЛЯЦИЮ УЖЕ В ПРЕВЬЮ
Это отсылка на девизы ЛГБТ пидарасов соевых.
Как ты свой айкью оцениваешь, не заметил спада в последнее время?
Как-бужто я читаю ЖЕПЫ, если про них не рассказали на ютуб канале Джавы
> Как ты свой айкью оцениваешь, не заметил спада в последнее время?
Была мысль уже пару лет что я стагнирую в интеллектуальном плане, но недавно произошедшая последовательность событий дала основания считать обратное, что мой интеллект остаётся на одном уровне или даже сейчас лучше, чем раньше.
> Это отсылка на девизы ЛГБТ пидарасов соевых.
"Приложенная карточка" подразумевалась не первая, а вторая, т.е. сикрет гитлер. На первый пик (что карточкой не является) я ответил в первом посте. По-моему это тебе о твоём интеллекте стоит задуматься.
Иди нахуй, дегроид.
Хули вы трясетесь, дебилы. Вам Шипилев еще 8 лет назад по-русски говорил - не юзайте блять Unsafe, не для вас он писан. Вчерашний шторм блять не разбудил.
>вот мы вам дадим инструмент для решения задачи X
>и не будем его менять 30 лет
>и не дадим других инструментов для решения задачи X
@
>не для вас он писан! не используйте!
1. Там по рефлексии ёбнут
2. Более глобально, они переписывают JVM по своим соевым методологиям и называют что-то "устаревшим" и "тормозящим", нихуя не понимая системы вцелом.
Гоэтц часто в интервью объясняет этому Николаю Парлогу как он обдумывает фичи и почему не ввёл "хуйня_нейм", а Николай искренне охуевает и соглашается. В ситуации, когда этих соевых пидарасов некому будет остановить, они нахуевертят там проект Crack и сделают го-залупу из языка.
>Там по рефлексии ёбнут
>В ситуации, когда этих соевых пидарасов некому будет остановить, они нахуевертят там проект Crack и сделают го-залупу из языка.
Вопрос перспективы. Как по мне, спрингокульт сами по себе - соевые пидарасы что по личностным повадкам, что по методам кодинга, так что не жалко. И я бы сполна посмеялся над ублюдками, когда они исходили бы на харчу кровью вперемешку с говном от ректального насаждения JPMSа им по самые гланды.
Но врядли ораклы доставят мне такое эстетическое удовольствие. Наверняка все лазейки останутся.
Spring та еще залупа Java-противная,
но оплачивать кратно-больший объём кодинга без Spring ни один заказчик не станет
Не, чел - шпилька не в сторону спринга, спринг - это следствие. Просто смешно смотреть на вытье каких то унылых зрадников по поводу этого джепа, что "ууууу, соя щас нам джавку соевой сделает", в то время как джава-коммьюнити по большей части само - примерно та же спрингосоя на аннотейшен-кодинге, по сути своей.
>Там по рефлексии ёбнут
Только по той которая в залупу лезет. Никто обычно этот setAccessible не использует в нормальной жизни. Тем более все равно оставят лазейку чтобы включить взад.
Ещё раз, петушня, ту рефлексию, что лезет в залупу, используют по приколу, что-ли?
Ладно. Я дал маху. По сути каждый раз когда @Autowired вешают на приватное поле это происходит.
Это происходит ещё и в любом классическом ORM. То есть все ORM сломаются. Это хуже, чем джава 9.
>>227624
>используют по приколу, что-ли?
>По сути каждый раз когда @Autowired вешают на приватное поле это происходит.
А че, считаешь что по здравому умыслу?
Как по мне - так это именно что по приколу. Кто то из предтеч не мог просто пойти на принцип и сказать - нехуй делать приватными поля, которые априори должны быть доступны третьей стороне (контейнеру, который в них делает инжекции). Неееет, это не прикольно. Ведь самые продаваемые тулы у сои - тулы, юзающие тайные недокументированные лазейки (привет, ломбок).
Так то время расставило все по своим местам: каноничный способ делать инжекции сегодня - либо автоварь на конструкторе, либо вообще java-конфиг. Оба способа работают с минимумом рефлексии.
>по здравому смыслу?
Третья сторона написала очень нужный тебе код, но объявила модификатор доступа как private по приколу. Твои действия? Нет, трансформаторы байткода это не решение, они имеют ровно все те же негативные последствия рефлексии, что и сама рефлексия, за исключением скорости.
>автовайр в приватные поля
Это лишь один из примеров использования, по-сути — соломенное чучело. Ты лучше про ОРМ высри. Это во-первых. Во-вторых в обоих случаях есть момент обратной совместимости. Оно уже работает, всё, прекращение работы этого необходимо рассматривать не с точки зрения "а какой подход будет лучше?", а с точки зрения "стоит ли это улучшение поломки обратной совместимости?". Спойлер – оно не только не стоит, но это и не улучшение даже.
>рвоньк на ломбок
Любишь геттерами в жопу долбиться?
>А че, считаешь что по здравому умыслу?
Честно говоря нет. В спрингах дохуя магии, в JavaEE ее было поменьше конечно. Но так уже сложилось. Сейчас хз зачем ссать против ветра учитывая что язык в жопе.
>юзающие тайные недокументированные лазейки (привет, ломбок)
А че там ломбок такого страшного использует?
>Так то время расставило все по своим местам: каноничный способ делать инжекции сегодня - либо автоварь на конструкторе, либо вообще java-конфиг. Оба способа работают с минимумом рефлексии.
JSON парсинг через рефлексию долбится каждый ебанный раз. Так что хз. С другой стороны если хочется избежать магии вообще лучше без DI работать.
>>227663
>Ты лучше про ОРМ высри
Они могут работать через геттеры.
>Спойлер – оно не только не стоит, но это и не улучшение даже.
Тут согласен полностью.
>Третья сторона написала очень нужный тебе код, но объявила модификатор доступа как private по приколу
Это значит они не хотят чтобы я каплился на этот кусок кода и явно декларируют это. И они в своем праве. По нормальному - именно так и дизайнится код с долговременной поддержкой - волатильные внутренности приватятся за стабильным публичным API. Стабильность API делает его переиспользуемым для большего числа клиентов, в то время как приватность кишок позволяет их легко переписывать под новые требования и реалии.
Быдлу, разумеется, такие понятия не писаны, быдло мыслит только категориями - "если мне надо, значит пошел нахуй". А потом скулят как суки.
>Нет, трансформаторы байткода это не решение, они имеют ровно все те же негативные последствия рефлексии, что и сама рефлексия, за исключением скорости.
А че ты так напрягся? Я ни одного слова про негативные эффекты от рефлексии не сказал. Так то рефлексия - подтип метапрограммирования: имеет свою сферу применения, в которую входит DI инжекция, которой надо метаданные компонент сканнить.
>Ты лучше про ОРМ высри.
Сначала ты высри, в каком месте джеп конкретно так импактит ORMы, с цитатами и ссылками, желательно. Вроде бы в джепе не было сказано ни слова про запреты Proxy, а на заприваченных полях оно и так не работает, насколько я помню.
Похуй на ORMы. Нахуя они нужны когда есть честный JOOQ, которому рефлексии нужно по минимуму
>в обоих случаях есть момент обратной совместимости
Это, возможно, справелдливо для setAccessible (с оговорками), но уж точно не для каких нибудь ансейвов или прочих кишок. И джава декларирует этот момент явно, а ее чемпионы повторяют это на каждой конфе: если ты - долбоеб, и завязался на приватный API, нихуя у тебя никаких гарантий обратной совместимости не дано. Не нравится? Поплачь об этом.
>Любишь геттерами в жопу долбиться?
Воняешь фанбойством, чмоня.
Ломбок работает на костылях, и это объективный факт. Можешь юродствовать надо мной как клоун, но когда тебе перекроют и доступ к изменяемому AST через процессоры, и ты прибежишь в двачик скулить как побитая шлюха, я посмеюсь над тобой последним.
>Третья сторона написала очень нужный тебе код, но объявила модификатор доступа как private по приколу
Это значит они не хотят чтобы я каплился на этот кусок кода и явно декларируют это. И они в своем праве. По нормальному - именно так и дизайнится код с долговременной поддержкой - волатильные внутренности приватятся за стабильным публичным API. Стабильность API делает его переиспользуемым для большего числа клиентов, в то время как приватность кишок позволяет их легко переписывать под новые требования и реалии.
Быдлу, разумеется, такие понятия не писаны, быдло мыслит только категориями - "если мне надо, значит пошел нахуй". А потом скулят как суки.
>Нет, трансформаторы байткода это не решение, они имеют ровно все те же негативные последствия рефлексии, что и сама рефлексия, за исключением скорости.
А че ты так напрягся? Я ни одного слова про негативные эффекты от рефлексии не сказал. Так то рефлексия - подтип метапрограммирования: имеет свою сферу применения, в которую входит DI инжекция, которой надо метаданные компонент сканнить.
>Ты лучше про ОРМ высри.
Сначала ты высри, в каком месте джеп конкретно так импактит ORMы, с цитатами и ссылками, желательно. Вроде бы в джепе не было сказано ни слова про запреты Proxy, а на заприваченных полях оно и так не работает, насколько я помню.
Похуй на ORMы. Нахуя они нужны когда есть честный JOOQ, которому рефлексии нужно по минимуму
>в обоих случаях есть момент обратной совместимости
Это, возможно, справелдливо для setAccessible (с оговорками), но уж точно не для каких нибудь ансейвов или прочих кишок. И джава декларирует этот момент явно, а ее чемпионы повторяют это на каждой конфе: если ты - долбоеб, и завязался на приватный API, нихуя у тебя никаких гарантий обратной совместимости не дано. Не нравится? Поплачь об этом.
>Любишь геттерами в жопу долбиться?
Воняешь фанбойством, чмоня.
Ломбок работает на костылях, и это объективный факт. Можешь юродствовать надо мной как клоун, но когда тебе перекроют и доступ к изменяемому AST через процессоры, и ты прибежишь в двачик скулить как побитая шлюха, я посмеюсь над тобой последним.
>Сейчас хз зачем ссать против ветра учитывая что язык в жопе.
Ну видимо есть зачем, если не дают окончательно экосистеме оскуфиться (соевый скуф, блять, страшнее участи представить себе сложно...). Так то джава нельзя сказать что вообще не движется - вон те лум завезли, вальхаллу готовят. В AOT были большие подвишки со времен девятки. Нативщину щас ревизят бодренько так. И тут какбэ омлет не сварить не разбив яиц - тот же JPMS, столь ненавидимый сообществом, самой экосистеме был очень необходим, так как позволил отрефачить рантайм и подготовить его к коротким релизам, а также лег в основу вещей связанных с футпринтом и AOT (jlink тот же).
И вот к кому кому, а к спрингокульту я сочуствия никакого не испытываю. Наоборот, я приветствую разьебывание им обратки вдрободан - это в первую очередь полезно для них самих - расшевелит маленько их болото.
>А че там ломбок такого страшного использует?
Через задний проход из процессоров аннотаций получают ссылкеи на мутабельное дерево AST (обычно в процуессорах оно иммутабельное, из-за чего можно генерить только новые сорцы, старые править нельзя).
Честно говоря - не то чтобы это было чет страшное, и я не особо верю что эту лазейку прикроют, но меня в целом забавляет местный расклад - один долбоеб запостил какой то пустопорошний джеп где нет нихуя конкретики, одна вода, и куда просто налинковали других джепов, либо уже готовых, либо по существу, а местные себе уже нафантазировали хуй знат че.
>Это значит они не хотят чтобы я каплился на этот кусок кода и явно декларируют это. И они в своем праве. По нормальному - именно так и дизайнится код с долговременной поддержкой - волатильные внутренности приватятся за стабильным публичным API. Стабильность API делает его переиспользуемым для большего числа клиентов, в то время как приватность кишок позволяет их легко переписывать под новые требования и реалии.
Они-то в своём праве, только вот этим тольковыигрыванием ты не решаешь проблемы, которые решают продукты, использующие рефлексию, просто отмахиваешься. Например observability и трейсинг продукты написаны в основном с технологиями перехвата вызовов и чтения внутренностей кода. Нужные продукты перестанут работать, это значит что просто не будут использовать эту джвм.
Чел, вот я не пойму - это ты так подьебываешь тонко, или по жизни душный такой... для тебя че - вообще нет разницы между тем, чтобы влезть из продуктового кода в чужие кишки 3rd-party зависимости (как ты выше дилемму расписываешь) и задачами на аспекты и метапрограммирование (как расписываешь ее сейчас)? Ты б еще щас сетовал на то, что на проде тебе дебаггинг по умолчанию недоступен - ведь так хочется залезть в чужую джвм переменные позырить.
Не трясись ты. Перехватывать вызовы в джаве можно десятком способов, и рефлексия - не самый кондовый из них кстати. Да и джеп - вода на воде, там тупо нет нихуя.
Внутрь изолированных модулей и так было не залезть, всю дорогу так было. Но даже в JPMS со старта насверлили дырок чтобы у спрингоебов была возможность открывать куски модулей выборочно для рефлексии и класспаф сканнинга... хоть бы матчасть почекали прежде чем истерить.
В долбаном OSGi есть и DI и JPA десятки лет как, о чем вы вообще.
>там спринт иницилайзер не работает, я ж проект создать не смогу
ты о чем? спринг инициализер это веб приложение https://start.spring.io/
Нормально
>или есть более приветствуемые сообществом пользователей java метода хранения и распространения библиотек?
Maven artifact
Ты предлагаешь государство что-ли построить? Джава не монополист чтобы это получилось, все просто в петушарп уйдут. Да и причин строить государство мало, подумаешь, блядь, спринг они сделали, ну и пусть они в сракотан спрингом ебутся, тебе какое дело?
>В чём я не прав?
дело привычки всем похуй
>для облегчения использования таб комплитов
Слабая мотивационная часть, нормальные среды разработки давно уже с этим справляются. Пососи писос, вскод-макака
>лагучие ты хотел сказать
?
Нет не хотел, потому что не лагают. С руками все ок? Оперативку выделил?
В ближайшем отделении сбербанка
Не, я полностью согласен с тем что не надо трогать джаву в этих местах, пусть в woke расте развлекаются
>ZalupaConfiguration, а ConfigurationZalupa
Оба варианта равновесны т.к. нет никаких предположений о первичности обеих частей наименования.
Если Configuration более общее, то ZalupaConfiguration лучше т.к. ищется обычно от конкретного. ConfigurationZalupa лучше когда объекты напрямую не используются в коде а например создаются юзером, т.е. например OperatorPlus, OperatorMinus etc, чтоб их в пакете нормально было видно отсортированными по характеру объекта
yobaGet тут у меня нет предпочтений, но get спереди как-то привычнее.
Просто yoba() и yoba( valueofyoba) в качестве сеттара норм, всегда так пишу.
500 всегда был. После 1000 перекатывали когда шарподебилы воздуха в треде не давали, сейчас их, слава моче, банят.
Spring (Boot, Security, Cloud, MVC)
Maven
Hibernate
PostgreSQL
Docker/Kubernetes
REST/Client Protocol
Junit и TDD
Kafka/Rabbit MQ/Active MQ
Cистемы трекинга
Или кроме них и задрочки забесплатно на гитхабе год на рандом уважаемом проекте работадателям ещё что надо, чтобы взять хуесоса без ВО на 30к?
Вышку забыл
Явачую. Сам пердолю 17ую
Это копия, сохраненная 15 октября в 00:51.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.