Это копия, сохраненная 30 декабря 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Что тут у нас:
🔮 LOOM: Потоки без швов, словно магия!
🧩 Pattern Matching: Проверки данных на стероидах.
📚 Sequenced Collections: Теперь .getLast() доступен всем!
В превью: Structured Concurrency - контроль над асинхронностью.
В превью: Scoped Value - гибкий ThreadLocal.
В превью: String Interpolation - вставка переменных просто как ABC.
В превью: Unnamed Classes и Instance Main Methods - для хелло-ворлда в одну строчку!
Java 21 - как праздник для программистов, только без торта (но с мороженным)! 🍰🍦💻
Вики по вкатыванию в джаву🎓: https://github.com/java2ch/java-thread/wiki
Предыдущий: >>2853076 (OP)
Пупунечка это шарпомуха, а тута серьезные дяди сидят. Ты можешь представить себе пупунечку с ебалом скуфа? Нет? То-то же!
В хаскеле функции чистые,а жопы грязные
Если что-то не устраивает, лучше просто пойти на прогулку и подумать об этом в спокойной обстановке. 😉
Нумерация правильная. После 500 постов потому что предыдущий тред был нелегитимным и зашкварным,по этой же причине не учитываем его в нумерации. Этот будем перекатывать после 1000. Конечно если мочух ебанат опять тред не снесёт
Нет! И зачем ты на внешку перешёл? Признайся, я тебе нравлюсь, вот и оскорбляешь постоянно.
Комитет пупунь треда принял PJEP-1 и постановил признать прошлый тред нелегитимным.
>комитет пупунь
>один ебалай-копротивленец, которому не нравится перекат после 500 постов, но очень нравится перекат после 500 постов
Если что-то не устраивает, лучше просто пойти на прогулку и подумать об этом в спокойной обстановке. 😉
Да меня-то всё устраивает сейчас, просто подметил, что кому-то очень важно, чтобы перекаты были после 1000 постов, но при этом сам он делает перекаты после 500.
Прекрасно понимаю. Чтобы показать копротивление мочуху. Уважаемо конечно, но ироничность не убавляет.
Даже не пытаюсь. Но уверен, что все утверждения истинные.
Никакой свободы вранам свободы
Переходим на виртуальные треды!
Я вот курс прохожу и пиздец задания, в духе дают числа выведи наибольшее. А математических методов еще не показывали и сидишь ебешься складываешь вычитаешь хуе мое че за дегенераты эти курсы делают.
Как будто дают задание гвоздь забить а вместо молотка дают какие то камни бля и палки. И таких заданий дохуя.
Это все на мотематике и школьном курсе информатики проходют. В чем бугурт? Не нравица, пользуйся туториалом от оракла
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
А я думал, что один такой одуванчик и плохо знаю инглиш. Вот есть хороший переводчик: https://www.deepl.com/ru/translator
Скажу "вот этот базанул".
Сначала с этим разберись, пупуня блять
А то знаем мы вас, потом начнется Math.max += linkedList()=[мам я долбаеб] of
Потомушто.
Сам нашел ответ.
А на бананах после или до помидор?
А нахуя в контракт обжекта пихать рефлекшн методы? У нас в него уже пихнули wait/notify теперь кушаем последствия.
Но не у всех классов есть экземпляр. И не все классы открыты.
По знакомству конечно же
По везению конечно же
Это щас на собесах такие вопросы задают?
А уже никто не вкатывается. Профессия умерла.
Так - да. Вкатуны сегодня предпочитают идти куда угодно - хоть в 1С, хоть на завод, лишь бы не в шарпейский коллектив.
Блин, а еще меня неумехой тут называют...
Только у пупунь.
Ты что,выписал весь тред из пупунь?!
А я думал брайн гетц скуф, а тут наоборот. Няшно выглядит.
И майнкруфт писали в эклипсе, таки.
Да ну не. Смотри какой ухоженный, пахнет наверняка приятно, умный еще. Еще худой, следит за собой. Лысина только, но это ж не большой минус. Только не говорите, что мне скуфы начали нравица...
>>876810
Ну нинаю, я помню мне порекомендовали пользоваться идеей вместо эклипса и бля, это такой буст. Во первых ебейший автокомплит, во вторых куча желтых подчеркиваний, где говорица, чому я еблан, плюс ctrl+q. Ну и самое главное, я могу зажать контрол и залезть в кишки. Какой же это каеф, сидишь копаешься, изучаешь как вот гоетцы всякие что-то понаписали. Делаешь также....
"нажмите волшебную кнопку, чтобы все создалось само", эклипс иначе работает.
То, что я не могу удобно копаться в кишках это минус. Это не кнопочка сделать все само. Помню когда я еще сидел там не было банальной функции ренейма. Конечно заебись руками искать контекст... Но нахуя? Я блять не шарпист руками импорты писать с лицом лягухи.
хз, жид брейны итак попустили сами себя уйдя с Российского рынка. А опен сорц - это опэн сорц. Комьюнити, где нет цвета кожи, нации и прочего.
Есть комунити версия. Тоже попенсорц.
>Комьюнити, где нет цвета кожи, нации и прочего.
Спорно. Надеюсь ты и сам это понимаешь.
>>876828
Я в эклипсе сижу по твоему? Когда я им пользовался ничего из этого не было. Ренеймил через ctrl+F. Как в блокнотике. Кишочков тоже не было. Мб надо было 100500 плагинов накатить, но я че, бесплатный тестер, который будет сам допиливать софт и выявлять баги?
Вообще, я этого, гоетца послушал. Они лсп развивали, так что ренейм в нем встроен. https://emacs-lsp.github.io/lsp-java/
Как давно без понятия.
а хотя да, есть сорцы таки...
Так при чем тут фанатизм то? Просто пользуешься ейц, потому что она лучше по всем параметрам + привык к хоткеям.
Ораклом тоже пользуются не от большой любви к этой гнилой конторе.
> В превью: Structured Concurrency - контроль над асинхронностью.
> В превью: Scoped Value - гибкий ThreadLocal.
> В превью: String Interpolation - вставка переменных просто как ABC.
> В превью: Unnamed Classes и Instance Main Methods - для хелло-ворлда в одну строчку!
Ну то есть то что у белых людей есть уже лет 10 как...
Ну тип это ты пришел доказыавть, что мол вооот 10 лет уже усе есть. Всем остальным насрать как бы
Да тут и третьего, и четвёртого в петухлине нет.
Хихихи,гадости инкорпорейтед
Почему на вакансию сишарп программиста 100 откликов, а на джаву 1000? Так много людей потеряло работу?
Так вкатывайся в шарп
Не душнила до ранга сеньки просто не дойдет. Свичнется в лиды или вообще убежит из айти.
Кстати говоря лид реально приятный в общении чувак,в отличии от кодеров
https://habr.com/ru/companies/otus/articles/478584/
https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4.1
Нужно скопировать .class файлы из одной директории в другую. Причем полный путь нужно вытащить из class файла.
А зачем это нужно? И не проще какой-нить жабаагент запустить? https://habr.com/ru/articles/230239/
Полное имя класса нужно определить по содержимому class-файла:
- имеется ввиду не текст, а структура class-файла, надо ознакомиться с предложенными статьями(можно поискать самому), и по структуре определить полное имя класса. Логика должна работать с любым class-файлом.
Для получения тестового достаточно перестать быть говноедом джавистом в 2023 году, взять .net 6+ и пойти в любую крупную компанию на гринфилд проекты.
Но твой выбор вечно ныть и молиться, чтобы однажды тебя взяли поддерживать ненужно легаси на жабе.
>Но твой выбор вечно ныть и молиться, чтобы однажды тебя взяли поддерживать ненужно легаси на жабе.
Дя. А еще я даже резюме не написал ни разу. Но тестовое жду. :3
Да, на C# Blazor пишут фронт, а бэк делают на ноде.
Ой слушай, а может ты мне поможешь с шарпиком? Помню один вообще готов был минет сделать за перекат с жабы на шарп, а тут сущая мелочь, на вопросики отвечать.
Нахрена мне С# ? Я за Яву спросил. А ты ,я смотрю , все зрение из-за пекарни/дрочки убил.
В плане 19 года? Она старше jcip. Ты новое издание не читай, а старые епта кури.
И ещё это можно https://www.amazon.com/Concurrent-Programming-Java%C2%99-Principles-Pattern/dp/0201310090
С выходом 21 джавы 12 издание протухло слегка, но в целом всё ещё стоящее. Но я бы смотрел также в сторону туториалов от оракла.
> А че там перевод потерял?
Техническую литературу всегда лучше читать в оригинале, ибо перевод может искажать те или иные моменты.
Надеюсь доки к китайским элементам ты именно на китайском читаешь. А то ведь потерять все можешь.
Читал эту хуйню когда еще под 6 релиз был. На самом начале автор закинул какой то ебаный календарь с кучей непонятного кода, который я так и не разобрал, выбросив все к черту. Нахуя так сложно делать? Выучил джаву на Шилдте ни разу не пожалел, лучшая в своем роде. И как справочник и как самоучитель.
Патамушто.
Добавь. Все тебя ждут
Ты его сначала напиши.
В сишарпе он есть, а на джаве все равно одни легаси проекты с xml так что парсер жсонов не нужен.
Начинай свой день с чашечки копиума
Я хочу заняться делом, но вы меня не берете.
Ой, кстати мне тут бесплатный сервис для получения сертификата посоветовали https://letsencrypt.org/ru/ и пару багов нашли и сказали я хуевый дизайнер и фронт.
>А тебе, к слову зачем он понадобился?
if (checkNotNull(a)) {
throwNPE();
}
return a.getB();
У метода throwNPE должен быть тип never/nothing, чтобы анализатор не жаловался на возможный NPE при вызове getB.
Запихни туда метод из обжектс https://docs.oracle.com/javase/8/docs/api/java/util/Objects.html#isNull-java.lang.Object-
Их пихает сам компилер. Жаловаться не будет.
И все равно анализатор нахуй шлёт? Тогда requireNonNull попробуй. Если все равно что-то пишет, то это проблемы анализатора. Напиши им куда ну или + поставь на ишью существующий.
Ну так это совсем другое. Тут долбоёб высирает какую-то хуйню, которую даже сам не представляет нормально.
JSON?
А че уж не ямль тогда, или томль? Че уж сразу не протобаф нахуй? JSON в 2023ем - лол, ну ты и скуф, ппц.
Now young pupunyas can create a crud for sobes simply by typing the following:
import java.spring.pupunya.*;
void main() {
var app = new Boot();
app.run();
}
"одинокий боньк" джуди пупинькольт
А можно янг пупуню хотя бы до собеса допустить?
Ментор это юзлесс хуйня
Полное имя класса нужно определить по содержимому class-файла:
- имеется ввиду не текст, а структура class-файла, надо ознакомиться с предложенными статьями(можно поискать самому), и по структуре определить полное имя класса. Логика должна работать с любым class-файлом.
в веб спринге джексон из коробки
Нет, вот этот тоже хуйню несёт, перевод это база. Нихуя он не теряет, и самое главное что без него когнитивный ресурс будет тратится на распознавание неродного языка, а не на понимание текста, и анону будет гораздо сложнее / меньше запомнит.
Хватит тупить и тридцать раз перецитировать постановку задачи. Фидбэк проверяющего давай.
Да? Ну значит не повезло тебе - у тебя вместо проверяющего черный ящик. Тут наши полномочия какбэ - все.
Я думал скуфы в оракл вообще не думают о наллах.
Думают, просто не как орущая школота из соседних языков, отталкиваясь от 7 заповедей Чистого КодаТМ, а более логично.
Пфф, дотнет уже убил джаву. Нет никакого смысла использовать джаву в наше время, хоть все фичи укради из шарпа в свои всратые джепы.
Там можно такое делать:
// Define as non-nullable, but tell compiler to ignore warning
// Same as FooBar fooBar = default!;
FooBar fooBar = null!;
Смысл от этой безопасности, если она не работает?
Начинай свой день с чашечки копиума
хотелось бы fizz?buzz без NPE получать, а не просто встроенный валидатор, который я и так повесить могу.
Дремлет хлопец...
>>Null-Restricted
Очевидно что они не сделают так как я написал.
Приходит запрос с фронта - джексон пытается создать объект - жвм срет ошибкой из за нула в Null-Restricted поле. И чем это лучше NPE?
Если в рантайме это не проверяется и это фича компилятора - то тем более бесполезный кал, хуже валидаторов привычных.
Если я не прав - напиши в каком разделе это указано, читать стену текста не хочу.
>Приходит запрос с фронта - джексон пытается создать объект - жвм срет ошибкой из за нула в Null-Restricted поле. И чем это лучше NPE?
Так это в принципе невозможно сделать без NPE, додик.
Это модель, когда у тебя расширяется тип, а не сужается? Ну т.е. как в котлине? Ну в жабе это принципиально невозможно достичь из-за примитивов. Тип, что должно вернуть
String str = null;
str?.length();
?
Или ты сигнатуру метода изменить хочешь?
Какое же всратое все в Eclipse!
Обе ИДЕшки жрут столько же памяти, как Идея.
Последняя версия Идеи еще и быстрее всех стартует. Как от этого отказаться?!
Так они перестали продавать в РФ и РБ
https://blog.jetbrains.com/blog/2022/12/06/update-on-jetbrains-statement-on-ukraine
У меня не еще не ком.разработка, но переучиваться на эти я ебал. Эклипс просто явно для босоногих индусов, а в VSC документация говна, в которой одна статься написана на половину дядей Фёдором, наполовину - псом Шариком.
В Идее есть подробная документация, подсказки на старте, обучающий курс и одностраничная PDF-ка по кнопкам
https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf
Что ты не понял в Идее?
Даже блять ; в конце выражения, в которую вечно хуй попадёшь в Идее можно поставить по Ctrl + Shift + Enter, а VSC - нет.
Для кого они делают продукт, я не понимаю.
Если не ком, то есть комунити версия ж. Пасиб за пдфку, кста.
Сейчас и не припомнишь, обычно когда кожу возникает же. Но вот например приоритеты, как отсортировать сниппеты так, чтобы sou был не souf, а sout.
Ещё вроде есть фича, что можно не писать
Type type = new Type();
Тип она умная и сама как-то заполнить могет. В идеале б она ещё и интерфейсы выбирала, вместо типа.
Вообще,
<Ctrl + пробел> это предложить варианты,
<Ctrl + Shift + пробел> авто-подстановка рекомендуемого
<Ctrl + Shift + Enter> авто-завершение стандарта типа
Type type = new ...
В случае с sout/souf я бы просто напечатал sou и выбрал из списка в меню, которое откроется, нужный вариант.
Не приходилось сортировать этот предлагаемый список
Комунити версия - говно
Я пока что каждый месяц на новую почту регистрирую триал но в Условиях использования уже запретили повторные триалы на одно лицо.
Ты похоже не поняв. Я хочу написать new Type(), а остальное путь идея напишет. Т.е. левую часть, а не правую. Не помню уж зачем мне именно так надо было.
Ещё интересно, можно ли сниппеты накидывать на выделенную часть.
Типа sout обернёт в себя все выделенное.
>сниппеты накидывать на выделенную часть
<ALt + Ctrl + T> и там есть опция настроить Live Templates.
>Я хочу написать new Type(), а остальное путь идея напишет
О таком я не знаю, сорри.
структуру
new Type.var
Тебе дали значение в которое вообще невозможно запихнуть null.
Ты же что хочешь сделать? Нахуя ты его запихать туда хочешь?
Да, хочу как в котлине.
Заебало писать
Optional.ofNullable(fizz.getUser()).map(User::getName).orElse(null)
хочу
fizz.getUser?getName()
Неужели я так много прошу?
>>в Условиях использования уже запретили
Думаешь тебе эфбиай в дом вломится и арестует за пиратский софт?
>>Я хочу написать new Type(), а остальное путь идея напишет. Т.е. левую часть, а не правую.
ctrl + alt + v попробуй
но я варами пользуюсь, чтоб слева не писать.
>>в чем отличие калмунити и ултимейт идей?
Поддержка мавена, датагрипа, фич для контейнеров, других языков. Говорят что то про спринг, но я хз что там в комунити спрингового не работает.
Можно такой метод еще сделоть. Через аспекты, возможно, можно перехватить все возможные вызов и возвращать null, но тогда магии автобоксингов не случица, да и грязь это лютая.
Поддержка мавена в коммьюнити есть. Датагрип - вообще отдельный продукт, равно как и идешки для других языков. Скорее всего ты напутал ультимейт идею с all-products pack'ом.
Насчет аспектов, эт нереально. Когда я запихну null в тайп дженерика, то я сотру всю информацию о типе и соответственно методах и тогда будет невозможно создать проксю на его основе.
То, что котлин на этапе компиляции вставляет такие проверки замечательно, конечно, но я все еще не понимаю цели всего этого. Поскольку ты только продляешь существование null значения. Нахуй так делать спрашивается?
Какая разница написать (x -> x.toString) или (Object::toString) например?
Почему мне идея лямбды подчеркивает как ошибку постоянно?
А может ты пидар ?
Разобрался, баг идеи, должно быть наоборот.
Никакой разницы, анон. Это баг в маняподелке жидбрейнс. Вариант с иксом даже читабельнее. Если расскажешь о нем на собесе, то собеседующий сразу поймет, что ты шаришь.
Ты дурак
Наркоман, что ли? Как ты себе представляешь валидацию любых данных, что приходят в рантайме без рантайм эксеппшенов?
НУ ВОО ПАТАШТУМА ЭТА ДАЖВА ХОЧУ ДЖАВА НЕТ ПОНЯЛ НАДО)))))
>>fizz?getUser?getName()
>>Как ты себе представляешь валидацию
if (fizz == null) return null;
else if (fizz.getUser() == null) return null;
return fizz.getUser().getName()
Только писать это должен не я, а компилятор.
Ты объясни нахуя эту ебанину должен делать компилятор? Зачем сука продлят жизнь налл значения, без специального типа как в котлине?
Если тебе реально так надо, сделай аннотацию и аст изменяй, как ломбок.
Ты совсем что ли охуел? Изначально вкинут был джеп, а потом ты уже высрался со своим говносинтаксисом петухлина.
ifNull -> yield "ядолбаеб и пупуня а лист пустой",
nonNullList -> _+=()" мам я долбаеб")
return либоСтрокаЛибоСписок.fold(
message -> STR."{'message': '\{message}', 'status': 'OK'}",
list -> STR."{'your list': '\{list}', 'status': 'OK'}")
Привет,
Andrew Troelsen, Phil Japikse - Pro C# 10 with .NET 6
Andrew Lock - ASP.NET Core in Action
+ https://learn.microsoft.com/en-us/dotnet/csharp/
Параллельно можно смотреть:
https://www.youtube.com/channel/UCq8LldVrjqe61KQttZlLW8g
https://www.youtube.com/channel/UC-ptWR16ITQyYOglXyQmpzw
https://www.youtube.com/channel/UCrkPsvLGln62OMZRO6K-llg
После этого можно устроиться джуном
Почему в дотнете выбрали мерзкий асинк вместо виртуальных тредов? А так вроде язык во всём лучше джавы. Думаю вкатываться, спс за ссылки
Рекомендуют тут иметь глобальные цели. Ну предположим, у меня есть на примете апишка хуйни с которой я могу сосать данные. Хочу сделать сайт, где можно будет хуевертить этой апишкой мышкой, ну там сортировочки, поиски, и прочая залупа. А как это делать? Мне книжку открывать и пытаться искать по ключевым словам, которые могут быть, а могут и не быть в этой книге?
А что там про написание кода? Ну там чистый код. Я так понял, до сих пор блять не пришли к единому мнению, и каждый трактует понятие чистого кода как ему хочется, ведь он так понял и он так видит.
Всё это батхерт от того, что придется потратить сотни жопасчасов на изучения языка и набив шишек. При этом можно же по человечески, не проходя каждый раз по граблям. Но что то блять в этом мире пошло не так. Хотя наверно я просто тупой, отрицать не буду.
Чел, учить придется. Сейчас конкурс 1к человек на вакансию и у них у всех эти томики шилда и документация спринга от зубов отскакивает. Дальше будет хуже. Поэтому если не готов 24/7 работать и учиться с горящими глазами, то айти это не твоё. Айти - это должно быть твоё хобби, твой смысл жизни. Ты ж не хочешь как заводское быдло отработать 8 часов и вообще ни о чем больше не думать и спокойно попивать пивко и мацать жену за сиську? Ты хочешь читать талмуды и документацию постоянно, вносить новые фичи, фиксить баги, жить проектом, быть в постоянном напряжении. Поэтому терпи, пока другие живут нормальной жизнью. Ты выше этого.
О, я заводобыдло, хочу пить пиво мацать жену за сиську и клацать по кнопкам получая денюжку
Ну ладно, не мое, пойду дальше админить сетку и нихуя не делать.
>Рекомендуют тут иметь глобальные цели. Ну предположим, у меня есть на примете апишка хуйни с которой я могу сосать данные. Хочу сделать сайт, где можно будет хуевертить этой апишкой мышкой, ну там сортировочки, поиски, и прочая залупа. А как это делать? Мне книжку открывать и пытаться искать по ключевым словам, которые могут быть, а могут и не быть в этой книге?
Примерно. Декомпозируешь проект на отдельные задачи. Читаешь гугл или книжку до тех пор, пока не выполнишь одну из задач. Если что-то не получается - возвращаешься и читаешь заново. Повторяешь, пока не закончишь проект. Начинаешь новый.
В следующих итерациях рано или поздно начнешь понимать, где у тебя пробелы в знаниях, какие вещи делать слишком муторно, где у тебя бардак, где копипаст и из-за чего в основном возникают ошибки.
Фокусируешься на этих вещах, гугли, читаешь, пробуй сделать проще/лучше.
Я пару месяцев назад начал книгу Хорстманна
В целом хорошо, только немного сумбурное повествование
На 5 джаве пишу...
А что есть то, что лучше джавы по всем параметрам, в том числе и по вакансиям, и новее него ?
Конечно на ней пишут в 2кij. Будут писать и когда ты школу закончишь, и когда поступишь, и когда работу начнёшь искать, женишься, возьмёшь ипотеку, заделаешь личинку, сам увидишь — будут писать. А пока ковыряйся в своих игрушках, это, так сказать, естественно для возраста.
В текстовом редакторе от JetBrains.
Жесть бля. С тем же успехом мог на JS писать. То же говно, только чуть более востребованней.
На листе A4
В области боков и ягодиц
Окончил тебе за щеку
Ты хотел сказать вайб?
>Мы, как Java-волшебники, работаем с абстракциями настолько высокими, что звёзды недоумевают
Вы вообще читали эту шапку? Это же уморительно!
Коды.
Нюфаг на этой вашей джаве, как провалиться в реализацию пользовательского класса? То есть при ctrl + клик по типу переменной должен меня отправить с пикрил1 на пикрил2, но этого не происходит. Почему так?
> 😎🚀🔮
Ты ебанутый? Возвращайся в свой дискорд и расставляй эмодзи там
> Потоки без швов, словно магия!
Просто хуйня. Гринтреды существуют в каждом языке уже лет как десять. И даже тут жабапидоры смогли обосраться и сделали эвентлуп из семи залуп
> Pattern Matching: Проверки данных на стероидах.
Невероятно тупая хуйня, хуй пойми как работающая в разных контекстах, транслирующаяся в хуй пойми какой байткод, так ещё и с ограничениями на вложенность паттернов и доступных для матчинга примитивов (только рекорды, без объектов)
> String Interpolation - вставка переменных просто как ABC.
Просто напоминаю, почти 2024 год.
---
Просто не позорьтесь, дорогие жабапидоры. Я советую этот релиз молча схавать и никому об этом никогда не рассказывать. Тем из вас, кому реально хоть немного стыдно за эту хуйню, предлагаю всё-таки выучить нормальный язык типа Erlang, Elixir или Ruby и не ебать больше никому мозги
>Гринтреды существуют в каждом языке уже лет как десять.
Ну и где они в шарпе?
А в петухон или жс, вообще один реальный поток.
>хуй пойми какой байткод
Invokedynamic же.
>Просто напоминаю, почти 2024 год.
И в каком яп есть проверка встроенная?
гаджеты для авто, навигаторы, пульты. Тебе мало?
У всех эта хуйня из коробки работает
Что ты там напортачил никто разбираться не хочет. Твои проблемы ты и ебись.
>>881818
Ахуительные невыдуманные проблемы. Отключить gc - как мооожно. И ещё в самолётах вообще древняя хуйня стоит, какая жаба, уверен там кобол до сих пор или вообще на плате все распаяно
>Второй важный для отрасли язык — разработанный ещё в конце 70-х годов Ada." Там же упоминается ОС реального времени QNX. Разумеется есть масса отдельных программ у отдельных узлов, так же как в квадракоптерах у каждого двигателя отдельный регулятор с отдельным чипом с программой.
Как и я сказал, старье или вовсе распаяно. А ещё cpp говно ебаное. Си гораздо лучше.
ну тебе там пояснили почему ада.
Чем лучше-то, мушаня?
НИИИИИЕЕЕЕТЕТ У НАС ИСИЬТТ $ ЗНАЧЕТ ФАЕ КАК ВЖОПЕ!!! ОЙ ВЖАБЕ!!!!
ZGC в помощь. Тут больше проблема в том что не каждый захочет полноценный пк отправлять на бошку хохпротивнику.
В интеллекте даркула дебила никто не сомневался
Есть такая штука, Kotlin называется
Что-то совсем запутался в Compact String
Пишут в openjdk: если всем символы строки умещаются в 1 байт, то юзаем utf-8 (1 байт на символ), иначе utf-16 (2 байта на символ)
We propose to change the internal representation of the String class from a UTF-16 char array to a byte array plus an encoding-flag field. The new String class will store characters encoded either as ISO-8859-1/Latin-1 (one byte per character), or as UTF-16 (two bytes per character), based upon the contents of the string. The encoding flag will indicate which encoding is used.
Вот мой код: https://pastebin.com/kc52uPNg
Всё работает как в доке, когда у меня строка либо чисто латиница, либо чисто кириллица.
Но когда у меня смесь кириллицы и латиницы, то у меня не все символы кодируются в utf-16, а только те, что не влазят. Хотя написано, что строка должна быть полностью utf-16
Если чекнуть реализацию класса String (пик2), то у нас там общая кодировка на ВСЮ строку.
Вообщем, я запутался, аноны, помогите, пж
У меня есть идея, что мы незначащий байт опускаем, но вообще это странно, ведь мы всё равно так и так должны за выделенную память считать
Что за иде, IDEA? Если оно то у тебя похоже не выбран sdk для проекта. Открой projects structure в вкладке File и в project выбери версию джавы.
Потому, что ты хуйню делаешь. getBytes не даёт то, что ты думаешь. Посмотри на реализацию. Чтобы получить реальное значение нужна рефлексия.
И вообще, ты та тянка?
>>881999
Подсвечивать типы - это васянство ебаное. Они видны ввиду нотации CamelCase. Если так хочеца - смени тему.
И вообще притензии была в том, что ты прыгать куда-то не можешь. Че таки разобрался, рукожопище?
Сайта оракла на русском нет.
Ответ весьма бесцеремонный и грубый, но содержит рекомендацию, за что автора поста можно поблагодарить.
Чат гпт научился писать коротко?
Шарпистская перемога тредом 2014 года, как типично.
В теории, ты можешь попробовать. На SoC джава легко залезет, а футпринт можно усечь, юзая со старта модули, jlink и AOT.
На практике, ты столкнешься скорее всего с нехваткой готового инструментария и матчасти. В самой по себе JVM нет ничего дилбрекерского, равно как нет ничего плохого в GC, если он современный и правильно настроен. Все инициативы в джаве порезаны искусственно тупорылым культом спринга, который оккупировал собой все сообщество джавистов. Жирному Спрингу в эмбеддед делать действительно нечего, потому что это огромный кусок старого кала с рефлексией. Но без спринга у культистов начинается ломка и они нихуя сделать не в состоянии. Поэтому корпораты и не спешат брать джаву в эмбеддед.
Пора портировать ASP.NET CORE на джаву
> И в каком яп есть проверка встроенная?
Erlang, ещё с 1980-ых
> Ну и где они в шарпе?
> А в петухон или жс, вообще один реальный поток.
Нихуя себе, так мы теперь на инвалидов ориентируемся?
> Invokedynamic же.
Об этом я и говорю
Скинь доку по ерлангу.
> Нихуя себе, так мы теперь на инвалидов ориентируемся?
Ну ты сам хуйнул квантор всеобщности. Если речь идёт о фп, то так и говори.
>Об этом я и говорю
Не оч понял, про что ты говорил. invokedynamic имеет чёткую спеку.
У тебя есть два пути.
Или трудоустраивайся в оракл и этот вот гонор свой детский вываливай Гойцу, как им надо было все сделать правильно. Например, каким раком ты собрался поддерживать паттерн-матчинг для классов, не выворачивая наизнанку их сокрытие данных. Или каким раком ты себе видишь имплементацию виртуальных тредов, который бы не красил методы, не ломал обратную совместимость и не менял кардинально практики разработки.
Или иди нахуй из треда в свой эликсир-загон. Как человек, сведущий помимо джавы в хаскелле, ссу рубисту-переможнику манямирковому на ебало.
> Скинь доку по ерлангу.
Ты это из каких трущоб сидишь, что двач у тебя работает, а гугл нет?
В такой, которой я не собираюсь принципиально искать что-то за собеседника. Ты спизданул - ты и доказывай. Я не понимаю, почему у людей от этого так горит..
> каким раком ты собрался поддерживать паттерн-матчинг для классов, не выворачивая наизнанку их сокрытие данных
Ты совершенно прав, анон. Я никак это не вижу. Это никак не сделать. И это очередной пруф того, что Java это мёртвая ветвь развития. На неё не натянуть современные фичи, у языка просто невероятно уёбищный дизайн.
> Или каким раком ты себе видишь имплементацию виртуальных тредов, который бы не красил методы, не ломал обратную совместимость и не менял кардинально практики разработки.
Никак, анон, ты опять совершенно прав. И опять, из всего этого следует что Java это ущербный язык, который уже пора закапывать и забывать нахуй. Его ничто не избавит. Его даже не ждёт учесть JavaScript-а, который становится просто таргетом для компиляции, Java не будет таргетом, её просто пора забыть. Паттерн-матчинг и виртуальные треды в Java, это как ООП в Cobol: чисто технически можно захуярить, но оно будет так кастрировано и настолько чужеродно для экосистемы, что всем тупо будет похуй
> сведущий помимо джавы в хаскелле
> СЫНАА, СЫНА, ХВАТИТ В КОМПЛЮКТОРЕ СИДЕТЬ, ИДИ СЮДА, БОРЩИК ВОТ СДЕЛАЛА ВКУСНЕНЬКИЙ, СЫНААА, ПРОГРАММИСТУШЕК МОЙ ТРИДЦАТИЛЕТНИЙ
>Это никак не сделать
Вче,что он написал уже сделано. Ты бредишь? Хоть один свой тезис подкоепи чем-то окромя, а воооот в обосраном фп давно уже все сделали.
Спрашивается, а че ж тогда ваш ебаный фп модель памяти не продвинул как жаба в 1.5?
Это ты бредишь, мы говорили про pattern matching над обычными объектами, а не над рекордами, датаклассами или там case-class-ами.
>Паттерн-матчинг и виртуальные треды в Java, это как ООП в Cobol: чисто технически можно захуярить, но оно будет так кастрировано и настолько чужеродно для экосистемы, что всем тупо будет похуй
Двачую, емко описал мои размышления в последние 3 года наблюдения за джепами.
>И это очередной пруф того, что Java это мёртвая ветвь развития
И почему твои непрошенные маняразмышления должны меня как то трогать или волновать? Ты же просто рандомная сердобольная чмоня с комплексом неполноценности, и вся твоя нитка - пруф этому железобетонному факту. Если б это было не так, тебе было бы тупо похуй - на джаву, на джавистов и на то, че там у них происходит. Но ты ж тупо созависим, ты не можешь не высраться. Ты не нужен. Сходи убейся.
>Его даже не ждёт учесть JavaScript-а, который становится просто таргетом для компиляции, Java не будет таргетом, её просто пора забыть. Паттерн-матчинг и виртуальные треды в Java, это как ООП в Cobol: чисто технически можно захуярить, но оно будет так кастрировано и настолько чужеродно для экосистемы, что всем тупо будет похуй
Тыж даже сам не понимаешь, че за чушь ебаную ты несешь. Просто порвался и высрался, а по делу ноль сказал.
>мы говорили про pattern matching над обычными объектами
>каким раком ты собрался поддерживать паттерн-матчинг для классов
Яснаа. Ебать манямирок, удачи чмонь.
Есть ещё один, если ты не ищешь сам все что я нахожу истина. https://stackoverflow.com/questions/15129443/erlang-and-sql-injection-attacks
Ты пиздабол. А ещё давай объясняю чем тебе Invokedynamic не зашёл. Тыж просто выспался нихуя не понимая по сабжу
> И почему твои непрошенные маняразмышления должны меня как то трогать или волновать?
Да не должны, ты сам пришёл и начал отвечать. Если не хочешь общаться, то и не надо, я же не заставляю
>>882476
> Тыж даже сам не понимаешь, че за чушь ебаную ты несешь. Просто порвался и высрался, а по делу ноль сказал.
Что я не по делу сказал? Ещё раз, Java завозит фичи с опозданием лет так на 10-20. Причём завозит фичи в очень ограниченном виде. Pattern-matching работает лишь на примитивах, так и не получивших широкое применение, да и сам по функционалу невероятно слабый. Хуже жабовского матчинга, наверное, только современный питонячий.
Виртуальные треды уже никому не нужны, ведь те, кому они были нужны ещё лет 10 назад пересели на Kotlin/Go/Scala, эта хуйня тупо опоздала. А экосистема вся всё равно будет на системных потоках, поэтому у вас будет франкенштейн, где половина софта на системных, половина софта на виртуальных, и в итоге все тупо жрут говно, страдая от суммы проблем каждого из подходов.
Это фундаментальная проблема языка, он сам по себе очень древний, с древними идеями и древней экосистемой. Если одеть деда в подростковую одежду, не получится подросток, а получится старый ебанат. Именно это и происходит с Java: экосистема, которая уже написана на системных тредах с проверками на null и без рекордов/датаклассов навсегда останется такой, и поэтому новые фичи не дадут новых гарантий или какого-либо подобного профита без полного переписывания всего существующего Java кода на идиоматичный Java 21 (что просто невозможно, я даже не знаю что ты ещё под этим спойлером ожидал, анон)
Я проебался и думал что ты про pattern-matching. Escaping в интерполяциях есть в Elixir, смотри в сигилы в фениксе и всём таком
Не крути жопой на предмет паттерн матчинга - речь не о нем шла. Ты высрался о том, что "Java не будет таргетом" для компиляции, что обьективно настолько тупой и толстый пиздеж, что я после него не особо верю в то что ты - человек, а не нейронка тупая.
>он сам по себе очень древний, с древними идеями и древней экосистемой.
Он же моложе ерланга того же...
>Да не должны, ты сам пришёл и начал отвечать. Если не хочешь общаться, то и не надо, я же не заставляю
Нихуя, это ты пришел в джавистский тред и высрался какой то нерелевантной дристней. Еще раз - ты не нужен. Ты просто созависимое чмо. Убейся.
Java это язык, который копилируется в JVM байткод. В Java никто не компилируется, все компилируются сразу в JVM, скипая текстовую Java и даже Java AST. Доброе утро, самое время подучить язык на котором пишешь.
Тебя так про хаскелль задело? Извини, я думал что будет смешно пошутить про то что ты с мамой живёшь, но раз тебя задело, видать это правда так, и я больше не будет
Так че запиздел то, чел? Ты же выше высирался и по поводу языка, и по поводу рантайма. А теперь жопой крутишь, "это другое"?
Господи, как же ты непробиваемо туп.
Я про рантайм ни слова не говорил, рантайм у Java один из самых пиздатых рантаймов. Но ты всё равно сходи к доктору проверься, а то какую-то хуйню придумал, нафантазировал ещё что я это написал, и теперь решил с выдуманной хуйнёй посраться. Продолжай в том же духе.
Так и знал что ты - выдуманная хуйня. Небось еще и нейронка какая нить сраная - явно тьюринг тест не вывозишь.
Код будет исполняться быстрее за счет того что ты можешь напрямую вертеть жабой как хочешь
Эрлангомухы.
Ну ансейф все как ты сказал, позволяет перфоманс повысить. Недаром шла 21 жаба, а он все еще тут, с нами. Когда-то в любой хоть сколь нибудь перфомансной либе были ансфейф вызовы.
Рефлексия же имеет мало общего с этим. Типа ансейф это уровень вниз, а рефлексия вверх. Ну и ее еще постоянно оптимизируют, чтобы слишком уж не сосала. На счет применения, ну instanceof же используют, а это рефлексия.
>паттерн матчинг работает только на примитивах
Бляяяяядь, помолчал бы, умнее выглядел бы.
Как же шарпоблядей корёжит...
>instanceof рефлексия
С недавних пор абсолютно легальная конструкция языка, использование которой предполагается, а не которая оставлена на крайний случай и чёрный день.
А ты олд джавы? Что было до спринга? Как относишься к новым веб фреймворкам типа quarkus, micronaut, helidon и внутренним решениям типа тиньковского kora?
Это эрлангомух
>С недавних пор абсолютно легальная конструкция языка
Всегда ей было. Про это и говорю, что рефлексия
>А ты олд джавы? Что было до спринга?
Не надо быть олдом чтобы знать что до спринга был Java EE и эпоха контейнеров приложений. Это было странное время.
А вот дальше был парадокс: эпоха контейнеров прошла, всякие JBoss'ы, стеклянные рыбы и вебсферы используются разве что в самых лютейших хтоничевских энтерпрайзах, а Оракл вообще отдал JEE на аутсорс после чего тот переименовался в Jakartу... и в то же время многие референс имплементации всяких спек из JEE не просто живы, а развиваются и используются по сей день. Контейнеры приложений можно критиковать по существу за многое, но архитектурно они проектировались достаточно грамотно. И сам факт того, что в основу того же кваркуса легли референс имплементации Jakartы, а не спринг, ИМХО косвенно свидетельствует о том, что деды, в отличие от пориджей, все таки худо бедно умели в дизайн, архитектуру и планирование на долгосрок.
>Как относишься к новым веб фреймворкам типа quarkus, micronaut, helidon и внутренним решениям типа тиньковского kora?
К новым фреймворкам отношусь хорошо - больше фреймворков хороших и разных. Кваркус с нативной компиляцией юзаем для пары сервисов, полет в целом нормальный.
С тиньковским kora не знаком. Вангую что его все хейтят за то, что он не спринг. Угадал?
Тормознутость - лишь одна из проблем. Вторая проблема заключается в том, что рефлексия усиливает связность и херит полиморфизм. Код с рефлексией рефакторить и поддерживать в долгосроке - геморрой тот еще.
Есть еще третья проблема - рефлексия заметно усложняет использование JPMS и AOT компиляцию, но камон, найдется ли
сегодня сенька-спрингромист, которому не похуй...
>>882813
Ну, это все же слегка преувеличение. Легальна она в новых свитчах в связке с sealed иерархиями, для которых гарантируется компилятором что в дефолтную ветку исполнения не попадет абы какой непредсказуемый класс - в такой парадигме можно косплеить ADT на минималках. В остальных случаях instanceof имеет ровно все те же недостатки, что и остальная рефлексия.
>>882881
Equals - так себе пример. Equals как неотьемлемая часть java.lang.Object - дизайнерская ошибка нулевого дня, с которой приходится просто жить.
Вынес бы триаду equals/hashCode/toString в один или несколько интерфейсов, по типу того, как сделано с функциональностью сравнения (Comparable/Comparator). Но мое мнение здесь имеет мало значения - во те времена еще не существовало ни дженериков, ни скорей всего интерфейсов.
Я просто смотрю на шарп, который якобы решает проблемы жабы и у него ровно та же проблема:
https://learn.microsoft.com/ru-ru/dotnet/api/system.object.equals?view=net-7.0
Дженерики же в этом случае вообще не помогут, ввиду стирания типов. А интерфейсы... Мне вообще сложно представить объект, который нельзя сравнить. В жабе есть только NaN с похожим свойством. Короче сложная какая-то концепция, есть ли язык, который это провернул?
щас бы добавлять интерфейс каждому говноклассу ради того чтобы использовать его в качестве ключа в кешмапе вайб питона от этого кринжа
В петухоне нет интерфейсов и с ихней утиной типизацией вообще не проблема строго говоря.
Ну тем более, это мэджик методы. Они часть контракта объекта как и в жабке. А термин не интерфейс же означает, а просто имплементацию двух методов.
нихуя
пока не определишь эти методы, класть объект в кешмапу или сет нельзя
в джаве по дефольту можно
>Дженерики же в этом случае вообще не помогут, ввиду стирания типов.
Ну... кстати возможно ты прав. Надо пробовать.
>А интерфейсы... Мне вообще сложно представить объект, который нельзя сравнить
На семантику equals за времена ее существования наложилось дофига всего. К примеру, есть hash-based структуры типа HashMap, которые не просто сравнивают ключи на равенство, но впридачу еще и ожидают от equals/hashCode дополнительных гарантий, и если ты эти гарантии не обеспечиваешь, рискуешь получить утечку памяти. И вот тут уже представить обьект, для которого обеспечить такие гарантии не возможно либо не имеет смысла, будет проще... но метод один. И hash-based структуры не делают различий, допуская в качестве ключа любой обьект. А еще есть хибернейт, и там, насколько я помню, свои приколы с равенством и айдишниками.
>Короче сложная какая-то концепция, есть ли язык, который это провернул?
Вроде в Rust видел, если мне не изменяет память.
>>883086
Да ладно те, ну вот че ты душишь. Хошь сказать у тебя таких классов-ключей миллион чтоли?
>Хошь сказать у тебя таких классов-ключей миллион чтоли?
захотел положить объект классом из либы в сет - сосешь хуй потому что автор либы ЕБЛАН и не заимплементил интерфейс
Посмотри на это с другой стороны. Автор либы мог намеренно запретить тебе совать ЕГО обьекты в хэш-бэйзд структуры, потому что у него свои на этот обьект виды. И тем самым предостерег тебя от регрессий в будущем при апгрейде зависмимостей.
Кроме того, ты всегда можешь задекорировать ключ и определить семантику равенства в декораторе.
>Автор либы мог намеренно запретить тебе совать ЕГО обьекты в хэш-бэйзд структуры, потому что у него свои на этот обьект виды.
мне похую
Не вопрос. Тогда ССЗБ.
Хм, т.е. дефолт реализации нет? Ну у eq пишут есть вот. Но не сомневаюсь, что мог хуйню сказать, не питонист ни разу.
>>883103
>На семантику equals за времена ее существования наложилось дофига всего.
Это уже проблемы другой плоскости.
>Ну... кстати возможно ты прав. Надо пробовать.
Я скорее про то, что там неизбежно будут бридж методы, ну а еще сложно будет сделать extends T. Типо придется дженерики как покраску функции разносить.
>в Rust видел
Вроде и в расте этот метод дефолтный, хотя вот разбираться в ржавчине, чет вообще желания нет. Не люблю этот язык.
Вот есть у меня метод с парой публичных методов и сложной логикой в приватных. Логика кроме этого класса нигде нахуй не нужна и выносить ее отдельно не понятно зачем.
Как быть? Делать их протекдет/пэкедж-прайвет, рефлексию ебануть, все таки вынести куда то или еще есть варианты?
Как хочешь, пупунев, но чтобы к дедлайну 98% строк были про-тес-ти-ро-ва-ны.
Странно, а я наоборот идею выкинул из-за тормозни постоянной. А вот к эклипсу нареканий пока нет.
Никак. Если тебе надо тестировать приватные методы - выносишь их в отдельный сервис и тестируешь его, а в другом просто мокаешь.
Как спринг туда запихнуть? Я так понял, он только в ультмишке есть , че делать аноны? Не гуглится
Никак, в комьюнити только на кваркусе можно писать.
Сначала ответь на вопрос: что такое спринг и как он попадает в твое приложение.
Никак,спринг это платный фреймворк который гвоздями прибит к платной версии идеи,нет денег нет спринга,тут уж ничего не поделаешь
Если тебе надо тестировать приватные методы, то твоя инкапсуляция хуйня. Иначе б ты обошёлся только соблюдением публичного контракта, не заглядывая в реализацию вообще.
Насколько важно знать названия ударов в боксе?
https://inside.java/2023/10/18/announcing-vscode-extension/
Хорошие новости для всех страдальцев которые не могут использовать спринг потому что он требует платную идею!
Я лично экзекутором только в связке с ранабл пользуюсь. Чисто из интереса,есть какая-нибудь альтернатива если пиздец надо вернуть значение из потока?
Во первых можно обработать ошибки. Во вторых можно не ждать, а что-то делать и только потом забрать значение.
Нет.
Я видосик кидал, где гетц про это говорил. Надо было смотреть!
Храни в филдах.
Еблан, Callable ты передаёшь, возвращается тебе Future, суть его в том что до его вызова можно ещё чё-то поделать и оно будет работать параллельно. Из этой возможности следует возможность объединения двух футуре, например, или сто двадцать двух, которые при 122 ядрах выполнятся за время одной.
Executors.newVirtualThreadPerTaskExecutor() везде, где были экзекуторы на какое-то количество потоков больше 1.
А нахуя такой код в потоки пихать? Придумали проблемы блять. Вот блоки синхры, что нельзя это действительно проблема.
Да и вообще авторы либ должны их распихать, а ты-то тут причём?
Тише.
Когда спринг усвеличит производительность @Async хотя бы в десять тысяч раз с приходом виртуальных потоков?
Пакаж как применил. Интересно посмотреть
Про паттерн матчинг знаю только то что скала оюего обожает,как применить ирл и нахуя?
Бесконечный триал чем не подходит?
Exception in thread "main" java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
at java.base/java.lang.System.setSecurityManager(System.java:429)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82)
как будто бы оно теперь пытается использовать не джаву из папки jdk, а установленную в системе. Почему так может быть?
Убрал в переменных среды JAVA_HOME и заработало. Пиздец.
Хуйню какую-то приложение делает. Легаси походу.
Возможно перенесут же, хотя я и сомневаюсь. Так или иначе, мой тезис это никак не затрагивает. Усилия оракла в области лсп сугубо положительные и благотворно влияют на все иде, а не только вскод.
Не ври,я сделал гит блейм и все узнал,это ты роняешь прод,тебе не стыдно?
На шарпе не бывает прода
В шарпе я бы не дошел до рабочего места живым
С чего ты это взял, шизофреник? Галоперидол забыл выпить и опять хуйня всякая мерещится?
Так блять как правильно то? писать ебучую копипасту? Или по заветам маразматика один класс на один метод?
Да я ебу что ли как у вас правильно? У тебя есть возможность доебаться до людей на работе. Вот и еби им мозги.
Я бы тоже хотел иметь такую возможность...
Приватный метод - чистая функция. Там нет зависимостей - получает данные, отдает результат. А методы его вызывающие как раз к зависимостям обращаются и логики не содержат.
То есть приватный можно сделать протектед/вызвать рефлексией и нормально покрыть юнитами.
А публичные его вызывающие надо мокать и хуй знает что там отъебнет на самом деле - код или моки.
К тому же в приватном формируется промежуточная сущность, которая потом мапится в конечные дто в каждом методе свои. В этих дто полей может быть меньше, чем в промежуточной.
Что у тебя происходит в приватном методе? Представь что у тебя не приватный метод,а все его содержимое написано как есть в публичном, ничего не поменялось
Там что то вроде
публичный метод (параметры) {
х1 = достатьХуйнюИзБазы1(параметры)
х2 = достатьХуйнюИзБазы2(параметры)
р1 = вызватьПриватныйМетод1(х1, х2)
р2 = вызватьПриватныйМетод2(х1, х2)
итог = смержитьПоЙобаПравиламПриватногоМетода (р1, р2)
смапитьВДто (итог)
}
Тестить все это одним куском сложно и если тест упадет не так очевидно на каком этапе ошибка.
Или может я таки хуйней занимаюсь и нахуй эти тесты?
ну и подобных публичных несколько с разными вариациями параметров, получаемых данных и разными итоговыми дто
Я не вижу вариантов кроме как тестировать одним куском
В чем проблема-то описать все области допустимых и недопустимых значений в публичном методе и протестировать их?
Ясно, зашивайся, слитое.
Ведущий проекта Helidon успел потрогать и сказал, что реактив программинг ВСЕ.
В первой половине стрима по Java 21 рассказывает.
че все?
>р1 = вызватьПриватныйМетод1(х1, х2)
>р2 = вызватьПриватныйМетод2(х1, х2)
Выглядят как кандидатура на вынос в другой класс вызов которого будем мокаться в тесте этого.
>смержитьПоЙобаПравиламПриватногоМетода (р1, р2)
Всякая еба-хуйня точно требует отдельного класса со всеми вытекающими.
>смапитьВДто
Это мб в каком-то статическом методе хелпере, может даже самого ДТО может лежать.
Итого - все разносится по разным классам и становится по больше части публичным, там и покрывается нормально тестами без какой-либо рефлексии.
Градл докатился нахуй до джаваскрипта.
Проблемы дегенерадлосои.
Есть предмет на джаве - но не простой, а с подковыркой, которая заключается в том, что предмет в принципе посвящен изучению паттернов. Наша курсовая работа, которую мы должны сделать - симуляция умного дома. Там должно быть использовано максимальное количество паттернов, насколько это вообще возможно. ЧТОБ ВЫ ПОНИМАЛИ МЫ ВООБЩЕ НУБЫ
Что есть в описании:
1) Каждое устройство в доме имеет API для управления им
2) Приборы имеют потребление в активном состоянии, в состоянии простоя, в выключенном состоянии
3) Каждое устройство имеет API для сбора данных об этом устройстве (потребление электроэнергии, газа, блабла)
4) Люди и животные в доме генерируют события и взаимодействуют друг с другом и с предметами
Вроде все что есть полезного из описания на 2 страницы.
В общем, нужны любые материалы и советы что смотреть/читать/делать, если полный нубас, и после прочтения задания понятия не имеешь вообще, как начать, да и в принципе делать лол. Нас ничему не учат, просто бросают в лаву. А может мне такие учителя фортанули. А может они начнут объяснять, но позже, скажем, к концу сема, когда уже не будет времени.
>Нас ничему не учат
Почему мне кажеца, что ты пиздабол и просто лентяй, который себя оправдывает?
>Нас ничему не учат, просто бросают в лаву
привыкай, так и дальше всегда будет
разбирайся сам и радуйся что тебе не бесполезный кал уровня скопипастить пример и поменять 1.5 строчки дают
а если не хочешь то тебе и в айти делать нечего
Какой ты вежливый, солнышко. Не очень понял смысл сказанного, но мне понравилось, продолжай~
>>в другой класс
Есть класс UserService а этот будет UserServiceHelper или вроде того? С тремя публичными методами, которые нигде нахуй не нужны и с которыми никто кроме UserService работать не сможет. Это ровно тоже самое что сделать те 3 метода публичными.
Я уж лучше рефлексию ебану, оно хоть говном выглядеть не будет в коде. Тесты для кода, а не код для тестов.
>>Всякая еба-хуйня точно требует отдельного класса со всеми вытекающими.
Там не настолько йоба, 30-40 строк кода. На класс не тянет.
>>Это мб в каком-то статическом методе хелпере, может даже самого ДТО может лежать.
Это как раз трогать не надо, мапстракт это сделает сам в одну строку.
>>Итого - все разносится по разным классам и становится по больше части публичным, там и покрывается нормально тестами без какой-либо рефлексии.
И получаем вместо одного класса с инкапсуляцйией 4 класса с кишками наружу.
>>886017
Сложно, не хочется ебаться с моками, особенно когда порефачить захочу, на некоторые кейсы надо избыточные данные генерировать.
Но это намного адекватнее идеи распидарасить класс на десяток недоклассов.
Съеби.
А зачем чтение из базы объединять с логикой обработки в 1 сущности?
>Тесты для кода, а не код для тестов.
Простота тестирования - один из при знаков хрошего стиля.
>олучаем вместо одного класса с инкапсуляцйией 4 класса с
Странно, верит в ООП но экономит классы.
Я думаю, или забивать на мантры ООП про инкапсуляцию, или разность по классам, как уже тебе написали.
Рефакторинг гуру сайт про паттерны. Но я лично против этой скуфодрисни с паттернами из нулевых, на твой кейс может стратегия, команда, билдер и фабрика будут полезны.
Джава,спринг,кафка,монга,ты тред с мвп не перепутал?
Нет,черноземье
Так это не мой вопрос. Тот чел работает, я же нет.
>Это ровно тоже самое что сделать те 3 метода публичными.
Это другое, буквально, называется single-responsibility principle.
>Я уж лучше рефлексию ебану, оно хоть говном выглядеть не будет в коде
Будет, причем полным калом. Хочешь прослыть додиком-неадекватом - ебани. Потом будешь рефакторить и охуевать, почему открутил гайку на лбу, а отвалилась жопа. я уже так делал, как ты предлагаешь, знаю о чем говорю
>На класс не тянет.
Тянет. Или у тебя там строгий лимит на новые классы и за каждый выше квоты тимлиды ебут?
>И получаем вместо одного класса с инкапсуляцйией 4 класса с кишками наружу.
Тебе что важнее, читабельность и адекватность или инкапсуляция ради инкапсуляции? Мне не говори, себе ответь.
> Предполагается, что они могут меняться как угодно и на них завязываться нельзя
Твоя больная фантазия
Шарпопидоран тут же завизжал про наказание, ведь никакой мотивации для пидорахи кроме опасности наказания нет, лул.
Таблетки+дыхательная гимнастика,по результатам отпишешься в тред
Отвечать не будут.
щях на проекте юзаем SecurityContextPersistenceFilter в Spring Security 3.1.3 для конфига, он депрекэйтид уже
техлид сказал, мол, слышь, хорош на колобков смотреть с трапами - пиздуй избавься от него, в инете нихуя не нашел инфы по его замещению
выглядит стандартно, типа ".addFilterAfter(new LogRequestFilter(), SecurityContextPersistenceFilter.class)"
как бы вы посоветовали? кастомные написать? или хуй забить вообще и плюхнуть @SuppressWarnings?
ну типа юзать просто SecurityContextHolderFilter вместо SecurityContextPersistenceFilter?
у тебя 3.1.3 как ты писал, а не 5+ для SecurityContextHolderFilter
По-моему они нужны для того, чтобы не давать внешнему пользователю твоего класса вызывать твой метод, который может менять состояние, например.
Иначе что за методы такие, на которые нельзя завязываться? Зачем бы они тогда были нужны.
Нельзя. Новый свитч по рекордам это просто расширение паттерн матчинга по типам на составные части рекордов. Нет по булинам вообще, не будет и внутри рекордов.
Ну тогда такую парашу можно сделать. Не оч удобно, что они не проваливаются под друг друга.
Так тут по сути свитч ничего не делает. Ты просто if заменил на when. А ещё ухудшение в том плане, что нет оптимизации деления на 15 через неявный вывод FizzBuzz в случае одновременного деления на 3 и на 5 (что есть в изначальном варианте с if).
А ещё тут баг, попробуй запусти код и увидишь, что тебе выводит на каждое 15 число Fizz, Buzz и FizzBuzz.
Какая-то хуйня. Ну ладно. Один хуй у тебя лишняя проверка типа получается и оптимизации физзбазза нет.
Это и не новый. Там баг крч, потому вот. Оптимизации во все поля.
Ну точно на выходные остаешься.
Чини
Я вроде видел ещё че то новое запилили
Никакого оверхеда, но свитч можно хуёво реализовать и в итоге иметь свитч более тяжеловесный, чем if, когда можно их сделать буквально идентичными по тяжести.
Мне непонятна суть вопроса.
Критерий вроде "тяжеловесно" слишком абстрактен.
Если это верно для компилятора и не выходит за рамки здравого смысла, границы которых будет устанавливать maintainer, то это можно писать и будет правильно. Про производительность не говорю сейчас.
С точки зрения поддержания кода - чем проще будет написан такой метод, тем лучше.
Чё блядь? В смысле абстрактен? Можно реализовать свитч так, чтобы он разворачивался в то, выполнение чего займёт 10 процессорных тактов, а можно так, чтобы разворачивалось в 1110 тактов.
Давай конкретный пример того, как плохая реализация switch даст замедление производительности в 100 раз.
Тебе лишь бы высрать, или чё? В изначальном примере делаем не 3 кейса, а 300, и вместо разворачивания до O(1) (как я показал) просто проходимся в цикле по всем кейсам и сравниваем совпадение.
Да, ведь ты часто пишешь 300 строк в switch.
Ты ведь в курсе, что о большое будет работать только на больших значениях, то есть, чтобы ощутить прирост производительности, тебе надо написать, ну, не меньше нескольких сотен тысяч условий. Не уверен, что язык столько поддерживает.
Тем более ты пишешь на Java.
На таком уровне решает понятный стиль кода.
Додик, про какой понятный стиль кода ты говоришь, если разворот будет спрятан в компиляторе? Алсо вариант с разворотом быстрее ультимативно, он хоть при трёх, хоть при одном кейсе быстрее, так как там нет в принципе оверхеда от простого вычисления значения, засунутого в if. На основании чего ты вообще выдавил "будет работать только на больших значениях"? Просто подумал, что раз так работало в других разворотах до O(1), так и значит и будет тут?
Завязываться можно, но только внутри этого класса. Чтобы если захотел поменять, то никаких проблем не было.
Любая должная работать, хоть самая последняя jdk.
Суть в том, что ты "ускоряешь" то, что не является узким местом. Всё. И делаешь это на Джаве.
Если бы ты писал на C для луноходов или кофейных автоматов - я бы ещё понял.
Это в прицнипе неверный подход к программированию на Джаве, потому что это enterprise инструмент для коллективной разработки. Твои оптимизации switch там не нужны.
Если тебе надо оптимизировать switch в Java - ты делаешь что-то не то, либо не тем инструментом.
И да, я уже стал читать твой слабо связанный фентезийный текст без единого реального примера "тяжеловесного" switch.
Так я ускоряю то, что нинужно или преимущество появится при тысячах строк? А может вообще важен понятный стиль кода? Ты че прыгаешь с темы на тему? Ты может скажешь, что конкретно тебя подорвало или так и будешь принимать мою урину на ебальник?
Я бы тебя мог обоссать и по преждевременной оптимизации, но для начала скажи мне, а где я вообще за неё выступал? Я лишь сказал, что можно сделать оптимизировано и показал как, а тебя распидорасило как Хиросиму.
Речь шла о том, что ты не понимаешь, как работает о большое. И что такого количества условий в switch не встречается в коде, поэтому и оптимизировать там ничего не нужно.
Я продолжу с тобой дискуссию, когда ты принесёшь benchmark, где разница между "тяжеловесным" switch и развёрнутыми if в твоей оптимизации будет существенно заметна.
А свои двачерские проекции может себе оставить, мне не нужны.
Я спросил пример много постов назад, а ты так и не привёл его. Что лишает смысла твои попытки "строго" задавать вопросы в этой переписке. Нагрузочный тест в студию, тогда и выскажешься.
Что именно ты спросил? По всем твоим тейкам я тебя обоссал.
И ведь это хуйло поняло под конец, что сидит в тёпленьком, и пассивно-агрессивно слилось через "Я продолжу с тобой дискуссию... А свои двачерские проекции может себе оставить, мне не нужны."
Джава 7 уже не в моде. Через стрим апи перепиши.
И от магических чисел избавься, константы вынеси отдельно, добавь расширяемости, паттерны реализуй вместо повторения кода.
И как это запускать? Консолью пердолится? Прикрути свагер с описанием апи. Можно через спринг все сделать. Если тормозной спринг не нравится - ебани на кваркусе с нативной компиляцией.
Двачую, все из-за ультимейт идеи.
Ответы на вопросы от главного по джаве. Валхала скоро будет. Нужно только потерпеть. После этого шарпогосподки перестанут рыпаться и примут превосходство джавы
>>Brian Goetz
>>1950 г. (возраст 73 года)
Чел уже 2 раза умер в айти и продолжает писать код. Неудивительно что джава - мертвый язык.
@
Пишешь фулл скан запросы в крудах
@
Писоешь какоешь
У джаваскуфов в банках от такой ереси произойдет инфаркт
Джава уже давно превосходит петушарп. С вальхаллой ничего не изменится, просто разрыв больше станет. Шарподауны также будут приносить картинки из 1998 года, на которых еще не было Files.readAllBytes() и получать поноса за шиворот.
Хотел бы я таким же быть...
50 году*
Это тот же самый рантайм-чек на нулл (типо того, что есть в ломбоке), но более плохой по двум параметрам:
1) Лишние расходы на проверку из-за invokestatic, внутри которого уже будет сама проверка
2) Занимает место в теле метода, когда в идеале проверка должна вешаться на объявление типа.
Каких именно хуй увижу? Рантайм-чек без лишнего инвокстатик и на типе есть уже давно в ломбоке. На компайловый чек уже джеп заведён ( https://openjdk.org/jeps/8316779).
Я к тому,что,насколько я знаю, экзектли ванс можно реализовать и без кафка стримс,поэтому вряд ли есть смысл использовать кафка стримс если цель получить экзектли ванс доставку
Потому что получится никому не нужная хуита типа раста. Пару стартапов заюзают её и всё. Джава и с оглядкой на легаси очень неплоха. Я даже с ходу не могу вспомнить, а где именно на джаву повлиял легаси, кроме дженериков.
Шарподебил, плиз.
Извини пожалуйста
Ряяяяяяяяяя
Нахуя прислушиваться к мнению эрланговцев? Так и шарпистов слушать начнем
В чем разница между превью и стандартом ?
С 12 можно использовать как выражение, в 13 слово yield вместо break появилось, в 14 лямбда стрелки
А че с ним?
Это копия, сохраненная 30 декабря 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.