Это копия, сохраненная 23 ноября 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Итак, в релиз выходят и запускаются без всякой ебли с --enable-preview, а значит вы сможете всё это потрогать в реальной работе:
— LOOM!!!
— Pattern Matching: технически это несколько JEP и несколько фич, но логически это одно цельное изменение языка, которое добавляет возможность гораздо более удобно сравнивать данные с образцом; — вместе со всем сахаром, что так и напрашивается в сырых конструкциях сопоставления. На выходе мы имеем instanceof Integer integer, его навороченный брат instanceof Point(A x, B y) и новый switch с красивым java-style синтаксисом, который может проходиться по всему, что душе угодно: по иерархии наследования, по строкам, числам и енумам, но блядь не по булинам, с оптимизациями до O(1) и отдельным синтаксисом для частных случаев типа рекордов.
— Мало кто знает, но наши мольбы о .getLast() в List<T> были услышаны. Это JEP-433: Sequenced Collections, и реализован он был так, как завещали прародители Java в своих идеалах — основательно, абстрактно и продуманно: нам не просто сделали .getLast() в один-единственный List<T>, нам запилили целый интерфейс SequencedCollections, который добавляет целых 7 новых методов во все последовательные коллекции в Java, такие как ArrayDeque или, например, LinkedHashSet.
Но это ещё не всё! Следующие фичи выходят в превью:
— Structured Concurrency — новый способ асинхронного выполнения задач, с гораздо большим контролем над ходом выполнения, чем в стандартной неструктурированной java.util.concurrent. Больше никаких бессонных ночей из-за запечатанного в Future<Void> исключения.
— Scoped Value — более гибкий и удобный ThreadLocal. Можно настраивать время жизни, принадлежность к потокам, разграничивать изменяемость, и ещё туева хуча примочек. Вместе со структурированным параллелизмом и Loom изменяет до неузнаваемости модель многопоточности в Java, выводя её на новый уровень. И всё это возможно благодаря тому, что разработчики Java не бегают за модными трендами, а основательно подходят к каждому вопросу.
— String Interpolation. Да, теперь можно вставлять переменные (и не только, всё что угодно!) внутрь строк. И это сделано безопасно, с гарантиями сохранения обратной совместимости и с заделом на улучшение в будущем. Настолько же качественных аналогов в других языках нет.
— Unnamed Classes and Instance Main Methods — Брайану Гетцу принесли распечатанный на бумажке мем со сравнением Hello World в петухоне и в джаве, и 10 лет у него горел с этого пердак, пока он не придумал гениальное решение — сделать бесполезный синтаксис для хелло-ворлда, чтобы показать петухоноблядям, чьё место у параши. Теперь можно писать хелло-ворлд в однутри строчки.
Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki
Предыдущий тред: >>2847268 (OP)
ЖАБА ГОРАЗДО ХУЖЕ, ЧЕМ ШАРП
>Жаву знаю отлично
Не льсти себе.
Вот даже тастик для тебя:
В чем отличие volatile семантики от acquire-release? List#of от Arrays#asList? Почему в Map#get обжект?
Ну "отлично" слишком загнул. Но что то понимаю.
1. Первый вопрос слишком сложный.
2. Лист оф создает неизменямый лист, эррэйс эс лист изменяемый
3. Потому что мап хранит объекты, наследуемые от Object, в джаве все объекты наследуются от обжект
p.s. А вообще я вкатыш и уже 2 месяца ищу работу )))))>>53444
2. В него тоже нельзя ничего добавить.
3. Почитай про стирание типов.
Енто да, не пиши так больше.
Анончик, пользуясь случаем, скажи пожалуйста, какие навыки я могу убрать из своей CV'шки чтобы не распознать по ней вкатуна? Или может какие то добавить.
Я сам вкатун. У тебя смешаны разные области, если так выразиться. Типа паттерны, веб спеки по апи. Ещё системы сборки например с контейнеризацией. Это больше к куберу, например. Ещё вот линух/баш, ты че бл грепать там собираешься в соснольке.
А ну и ещё я сомневаюсь, что во всем этом ты разбираешься.
Я сам QA, знал немного джаву, писал на ней автотесты и небольшие внутренние тулзы, но потом наши старшие решили все перевести на котлин и так он мне понравился своей лаконичностью, что я про джаву я стал забывать, и когда я ее вновь вижу, мне становится уныло от большого кол-ва писанины.
Сейчас хочу задрочить котлин и быть может попытаться вкатиться в бекенд. И собсна вопрос, имеет ли смысл делать фокус на котлин, или это скорее язык для андроид-разрабов?
Работа-то, в принципе, есть, но ее поменьше, да. Суть тут не в работе, а в том, что джава петухлину не уступает. Новые фичи 21 жабы чекни и про ломбок посмотри. В котлине разве что более удобная работа с нуллами, как говорят, но это попытка лечить симптомы, а не причину, которую невозможно полностью реализовать без дропа интеропа с нуллоопасной java, да и в той же джаве есть три брата-акробата @NonNull , @NotNull и @Nullable.
Как пройти в библиотеку?
Как найти нормальную и популярную библиотеку? Есть ли какой-нибудь сайт типа Steam Workshop для Java-библиотек?
Вот кстати чего не хватает. Только в моём случае для того, чтобы опубликовать мою собственную нн хуйню.
Гитхаб это хост для тех, у кого уже есть своё комьюнити. Нищим лохам без известности он от щедрой души и с барского плеча людей не подкинет. Забыл, в каком фашистском мире живём?
Например:
- Была ли разработана структура системы ?
- Определены основные классы системы ?
- Определено ли то, как будет происходить подключение к бд ?
Ты годноту-то быдлу не пали. Он не даже найти не сможет. Пусть на джавараш пиздует.
Какого хуя у тебя на русском шестое издание? Его ж не переводили.
Вообще в таких книгах куча ссылок на другие книжки. Ещё в манинг есть граф. Зачем ты вообще спрашиваешь?
Сейчас вот в C# треде челу посоветовали книжки читать - и React учить.
Потому как 90% шарпистов - фуллстекеры, по мнению анона.
А в со Спрингом как дела обстоят?
Тоже JS React надо знать - или в энтерпрайзе только бэкенд?
А спрашивал потому что ждал полезного совета.
Хотя книжки...
Лучше курс Алишева или Трегулова глянуть.
Notepad++. Серьёзно, иногда в нём открываю файлы, чтобы быстро что-то подредактировать и не ждать, пока ебучая идея запустится.
>Про эту книгу говорите?
>А кроме нее?
Блять, по-твоему здесь ёбанный кружок книголюбов или чё не пойму? У каждой ёбанной книги в каждом ёбанном интернет-магазине есть секция отзывов. Чё тебе даст отзыв одних незнакомых людей, двачеров, по сравнению с другими, кто сидит на озоне, читай городе или лабиринте. Ты всё равно ни тех не других не знаешь.
Двачеры ближе по духу.
А потом поцелуешь меня?
очевидный vs code. Нахуй еще что то надо?
Конфигуравейты все развесил, что время на засирание джаватреда появилось, петушок?
Первый раз идею открыл? Тебе же предложили upgrade language level. Открываешь project settings и там меняешь jdk на твою новую джаву, и уровень языка ставишь 21.
Пора на собесах задавать вопросы на асму и дискретной математике. Что бы отсеить говновкатышей от нормальных студентов ВУЗов.
По какому именно асму? И нахуя, лучше уж байткод. invokestatic vs invokedynamic там.
Дискретная математика, это графы что ль? Ну вродь есть же мемы про развените дерево.
Ех... А вот меня вообще не берут. Хоть я и не давался...
В интернет-магазинах дохуя ботов.
Раньше выбирал книги по отзывам на амазоне. А потом попал на хорошие оценки у явного говна. А нормальный отрицательных отзыв был один и в самой жопе списка.
Блин, ну чево ты расстроился-то?
В общем хотел признаться, что очень жаву люблю. Смотрите какая красота, хоть и баян.
Переделал на У*
Я сделал охуенно,потом приходит уебок,говорит переделай,а потом еще раз такой ооо кстати можно сделать так как я сделал до этого. А когда я предъявляю за эту хуйню говорят тип,ну а хули ты не настаивал или ну на тот момент решение было не подходящее,а теперь все изменилось(переименовали методы)
>приходит уебок
Ты как к начальству относишься, холоп? Сказали делать - делай. Им виднее. Запомни, инициатива зло.
Вот вырастешь и будешь также ходить.
Ну не подумал сразу ебать и чо? Лучшие мысли всегда приходят невовремя.
С добрым.
Поссал на ебало мочедауну
Так-то уже вечер.
>Когда вектор из инкубатора выйдет.
Нахуй вам вектор? Вы все в ЦЕРН работаете? Денно и нощно матрицы умножаете?
Предлагаю заодно эти оптимизации убрать:
https://cr.openjdk.java.net/~vlivanov/talks/2019_CodeOne_MTE_Vectors.pdf
http://daniel-strecker.com/blog/2020-01-14_auto_vectorization_in_java/
Хули, не в церне работаем.
1. Сомнительное преимущество. Джава на всех поддерживаемых платформах предоставляет единый экспириенс. Котлин же в Джаве поддерживает одно, в нативе другое, в ЖопаСкрипте третье.
2. Синтаксический сахар, никаких особых ништяков он не дает.
Крудошлёп, ты просто объясни нахуя это тебе?
То что есть проекты где это важно, я и так знаю. Но в этом треде разрабы этих проектов не сидят.
Почему ты сразу ярлыками меня кроешь? Вдруг я будущий либописец? У меня и потуги в ентом направлении есть. А симд оптимизация просто крутая, мне прям нрав. Надеюсь интел сделают ещё одну для rotate.
Первый мб, а вот второй. Слушай, а ведь жава синтаксический сахар над cpp, который, в свою очередь над C, а тот уже над асмом. Чому байтики не двигаем, господа?
Потому что всегда есть компромисы. Есть Сисярп/Питон где есть 100 способов сделать одно и то же, в 1, 2, 5, 10 строчек. А есть Го, где есть один каноничный способ сделать что-то как правило многословный. Джава где-то по середине, есть пара способов.
Из примера выше, sequence builders достаточно легко заменяется на producer. Да чуть больше кода, но не сильно. И при этом никакой магии, тупо класс с состоянием и вызов метода. А вот, чтобы понять как работает
>val fibonacci: Sequence<BigInteger> = sequence {
> var first = 0.toBigInteger()
> var second = 1.toBigInteger()
> while (true) {
> yield(first)
> val temp = first
> first += second
> second = temp
> }
>}
надо читать как там это всё под капотом работает.
>Вдруг я будущий либописец?
Вот как наберешь звездочек на гитхабе - приходи в Оракл. Приноси JMH, показывай где у тебя буст перформанса, а где нет. И тогда это будет предметный разговор.
Меня никто не любит и звёздочек не ставит. (((
Да и зачем мне ходить в оракл, если часть фич уже есть в жвм, а другая скоро будет
>val fibonacci: Sequence<BigInteger>
Тот, кто придумал такое объявление переменных должен гореть в аду вместе со всеми, кто эту хуйню поддерживает.
1.1) А схуяли мы должны заботится об экспериенсе костылеварящих петухов из петухлина? У нас всё везде на всех платформах поддерживается, даже в нативе через граальвм, и код один и тот же мы пишем для всех платформ. Петухлинщик не знает, до чего доебаться.
1.2) Всё это делается и делалось стандартным java.util.concurrent. С 21 джавы ещё выкатили структурированный параллелизм.
2) Литералли "ну зато мы умнее!!!!!!!". Нет, так как привычка отмакакивать окончания методов без среды разработки, вручную, не сильно много говорит о высоком интеллекте макаки.
1.2. Это будет не так няшно, уровень коллбэк хелла.
2. Мне тоже понрав) там много таких умников
>>59225
Ух, как магии меньше https://github.com/wangdapang77/Java8-Source-Code/blob/master/src/main/jdk8/java/util/concurrent/RecursiveTask.java#L44
Причём это не полный аналог, тк насколько я помню, у тебя ленивые исчисления.
Ну так и правда меньше магии, весь код обычный джавовский, без какого-то ебанутого специального синтаксиса под ебанутую специальную задачу.
Не ну если я вижу авторство дуга ли, то это нихуя не обычный код. Как бы гораздо проще понять концепцию всех корутины, чем его алгосы.
Да и там рантайм, вроде бы, помогает
Еблан, тебя кто заставляет читать сурцы форк джойн пула? Тебе привели понятнейший и простейший пример для вычисления фибоначчи, который пользуется стандартными публичными методами форкджойнпула.
Ну запусти это и получи ошибку стека. Потом читай, что же там авторы написали. И че еблан сразу? Извинись, а то обижусь, бука
Всмысле извинись? Ты ведь натуральный еблан, которому лишь бы высрать что-то. Ошибка стека не из-за джавы, а из-за того, что это, блядь, рекурсивное вычисление фибоначчи.
В прямом. Ты меня задеваешь, если ты чего-то не понимаешь, то это не повод вымещать это на мне. Вымещай на других.
Причем, что интересно, там завезли оптимизацию в 21.
Короче, тезис в том, что чтобы понять как работает жабовская магия, нужно времени не меньше, а то и кратно больше, чем просто написать суспенд.
Причем ты вот можешь сказать, а откуда там рекурсия берется, если это паттерн work stealing?
ниприятна(
>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Ты бы ещё гуголплекс засунул туда, мань.
>сует огромные числа в рекурсивный алгоритм, который не предназначен для вычисления их
>закономерно получает стековерфлоуеррор
>жалуется на джавовскую магию
Какой же конченный, пиздец просто. Еще и ворк стилинг приплел, который вообще про другое, дегенерат даже похоже не понимает, что значат используемые им термины.
Я засунул туда 100000, что как бы видно на пике. Это как сделать пов с интом, а потом мне, как пользователю апишки, кидать претензии, что а хули ты суешь такие числа-то. Мы же не думали об этом.
>>59318
Вообще про другое: пик. Также, как опять же видно из того скрина, в одном случае она штатно отработала, а в другом нет.
А, к слову, на втором пике еще более понятная ошибка. Хотя в случае факториала более очевидно откуда рекурсия возникает, что-то я даже не обратил внимания, тк у меня был случай с подсчетом экспоненты, где как бы был чисто fork.
Обоссаное тупое ебло, у тебя на твоем ссаном пике виден алгоритм, который ни в жизнь, никогда блядь не отработает с инпутом в 100000, тупое хуйло ебаное. В твоем ебучем исключении нет ни промилле от ебучей блядской джавы, тупой ты огрызок петухлинский. Вот вся суть претензий к джаве, к нам в тред пожаловал типичный джавахейтер, блядь.
Отработал так-то в одном случае. Ты читай внимательно, я же написал, что там оптимизировали и он смог посчитать.
Кстати, на пике ебать имба.
Ебаный гидроцефал, то, что более адекватный алгоритм смог подчитать это только доказывает то, что бы 50 iq анэнцефал ебучий.
>>59328
Чел ты до сих пор не понял, что я хотел сказать, а тупой я. В котлине нет блять апи для рекурсий, которой с рекурсиями работать не может. Это же гениально блять, а давайте класс Math сделаем, который с ошибками считать будет или еще че.
Причем самый первый тезис был, что вот легко можно преобразовать енти ваши ленивые исчисления, только вот как я вам нискажу. Пытаемся, получаем стековерфлоуэррор в ебальник. Ахуенно.
Еще раз перечитай мое сообщение. То, что ты описал называется генератор. Че по твоему вызывая Stream.generate(...) у меня программа зависнуть должна? Не ну по такой логике-то да. Хули апи для рекурсий не работает, апи для стримов также наверное.
Хуй с ним, в любом случае проблема этого >>59322 >>59325 не в джавовской магии, а в твоём маленьком мозгу. Если ты запустишь свой говнокод без экзекутора, то такой же стековерфлоу будет. Экзекутор с новым потоком на задачу тебя наоборот временно спасает от твоей олигофрении, так как создаваемый поток не наследует стек потока, из которого он был создан (и это блядь не от джавы, это так операционка работает). То же самое было бы, если бы ты попытался имитировать рекурсию.
Я тебе прямым текстом сказал, от чего ошибка стека, но тупоголовая анэнцефальная хуйня своим микромозгом не смогла понять.
>ошибка стека, а не дедлок, например, как было бы в случае фиксед пула
Ты же просто все известные тебе термины перечисляешь в рандомном порядке?
>если в фиксед пул их меньше = дедлок
Это уровень мам я долбоеб линкедлиста, не меньше... Проиграл, спасибо
Ну давай покажи в чем я не прав. Хотя ты тот еще пиздабол, конечно.
Заодно и вот это разоблачи, гений ты наш.
Тебя в парашу мокнули по каждому твоему ебучему тейку. Ты уже не знаешь, что высрать.
>тейк
Ясно.
Ну вообще, может ты не заметил, но я редко что-то строго утверждаю. Т.е. вот за все время диалога это ты что-то там себе надумывал и начинал срать себе же в штаны, придумываю как тезисы за меня, так и биографию. Фантазия хорошая.
А ну и да, как там мокнул с дедлоками?
Что ты высрал?
В пять, так-то. И третья (ныне первая) строчка гораздо короче стала. Можно игнорировать аргументы и убрать ебучий static.
А какими навыками и технологиями надо было обладать, чтобы устроиться на работу джуном до лета 2022?
Да... Хорошие были тогда времена. Синтаксис (включает в себя базовое ООП), библиотеки, настоящее ООП, мавен, гит, спринг бут.
ну смотри. 20 лет назад можно было устроиться, если отличал цикл for от while. 10 лет назад хватало синтаксиса языка. 5 лет назад - синтаксис и фреймворк. Сейчас вкатун должен знать как сеньор, единственное отличие вкатуна от сеньора - опыт работы. Но вакансий осталось ноль, что конкурс по тысяче-полторы на донную вакуху в бодишоп. Так что вкат умер. Совсем. Отскока, который был в ранние кризисы айти тоже скорее всего не будет, т.к. чат гпт 5-6 уже сможет на уровне миддла причем на всех языках и фреймворках сразу.
Жиза. С июня пытаюсь вкатиться. Сделал 3 тестовых, пригласили на 1 собеседование. Вакансий на вкат по 1-2 в месяц появляется. Если ты ещё и к переезду в офис ДС не готов, то даже отвечать не будут. Поезд ушёл от меня, как и всегда.
Потому что чтобы сделать исполняемый jar файл, надо в манифесте указать, внезапно, имя класса с мейном, которого у безымянного класса нет. Можно было бы разрешить указывать там файл с мейном, тогда было бы нормально, но так нельзя, я пытался.
Я все еще не понимаю в чем проблема. Эта хуйня генерирует класс. Указывай его. В чем проблема-то?
Да кстати, тут вон ключевое слово синтетик есть в байткоде.
А вот маин метод похоже другой. Эт че в спеке теперь несколько вариантов входных точек?
> Если ты ещё и к переезду в офис ДС не готов, то даже отвечать не будут.
Почему компаниям так принципиально, чтобы ты в офисе работал? Чем удалёнка хуже?
>1000 сабмитов с последующим блокирующий ожиданием требует 1000 потоков, для исполнения, если в фиксед пул их меньше = дедлок. Какие термины тут в рандомном порядке
Сука, проиграл. Тупо набор слов.
Ну соболезную, раз для тебя это просто набор слов
Кабану хуево от одной лишь мысли, что ты по факту отработаешь 2-3 часа, сидя в уютной хате, а не по его любимому графику в душном офисе, от которого он теряет сознание в чудовищной эйфории, а именно от китайского 996, и для этого он будет готов себе хоть вены на жопе вскрыть, а то и другим тоже
Нахуй тебе это жалкое подобие и без того хорошего языка? Слава богу что не котлин, т.к. он еще хуже и бессмысленен
Если настолько смелый и решил упороться в функциональщину, начни лучше с хаскеля и learnyouahaskellforgreatgood. Так проще.
Удаленка требует особых подходов к организации рабочих процессов, а это в свою очередь требует скилла у кабанов. Кабанам обычно такое сложно, поэтому идут на это они не очень охотно, только от безнадеги.
>А вот маин метод похоже другой
С чего бы? То же самый - войд, с одним аргументом-массивом стрингов ([Ljava.util.String это массив стрингов по байткожьему).
А, ты об этом. Так JEP прямым текстом на этот счет говорит:
First, we enhance the protocol by which Java programs are launched to allow instance main methods. Such methods are not static, need not be public, and need not have a String[] parameter. Then we can simplify the Hello, World! program to:
class HelloWorld {
void main() {
System.out.println("Hello, World!");
}
}
Ну я был прав получается. И ещё заблуждался, что жвм ограничена потому ей static нужен, ан нет, могет и без экземпляра запускать и с любой видимостью. Чудеса да и только.
Правда хз где это нужно, действительно ли новички прям страдают от этого
А хотя, не заблуждался. Экземпляр нужен. Т.е. технически энтри поинт в этому случае конструктор. И вот блоки кода {} должны выполниться раньше.
Правда эти блоки чёт не внедряются, ну да и хер с ними.
Оказывается для безымянных классов не работает привязка директорий к пакетам, и куда бы ты не засунул свой мейн, он всё равно будет в самом корне. В целом хорошечно, т.к. один хуй мейн один на программу.
Новички не страдают, но лахта различных языков перемогает краткостью написания хелловорлда. Теперь хелло ворлд на джаве самый короткий из всех существующих языков, у которых из-за этого не страдает нормальное программирование.
Почему вообще в джаве разрешается использовать не чистые функции для инициализации переменных?
Интересно посмотреть адаптированный под современные нужды жвм язык. Все таки у зумеров создателей был в помощниках опыт джавы,а так же ее недостатки
Тамушта в жабе нет функций, и нет разделения на чистоту. Мб в скале нельзя, например
Нет, не почти. Гвидокалькулятор и рядом не стоит с тем, что щас есть в джаве. Попробуй вызвать метод, объявленный в конце файла, в его начале.
Ну ясен хуй, мы же в яватреде.
Думаю моя пора кому-то да всралась. А остальное не так важно.
Скала выглядит ниче так,я правда пока не понял как она на низком уровне оптимизированна,по идее у нее должны быть все оптимизации жвм и еще дополнительные,раз она на джаве и сях написана. Остаётся открытым вопрос,быстрее ли она джавы
Пфф, дай ты бог на уровне жабы работать будет. И че за оптимизации от си? Что ты несёшь?
Тайлрект, возможно, круто сделан, но в жабе это контрится не использованием рекурсию вообще.
>Скала выглядит ниче так
Бляяя, чел, о вкусах не спорят конечно, но я ебал читать скаловый код...
>я правда пока не понял как она на низком уровне оптимизированна,по идее у нее должны быть все оптимизации жвм и еще дополнительные,раз она на джаве и сях написана
Скорее всего сравнивать их первформанс бессмысленно: на скале обычно пишут в функциональном стиле, а сравнивать перформанс декларативного и императивного кода == набрать биасов себе на щеку.
>И че за оптимизации от си?
Скорее всего речь о каких нить критических частях скалового компилятора. Скорость компиляции скалового кода долгое время была известной болячкой скаловых проектов.
> — String Interpolation. ... И это сделано безопасно, с гарантиями сохранения обратной совместимости и с заделом на улучшение в будущем. Настолько же качественных аналогов в других языках нет.
В сисярпе давно есть интерполяция. И давно есть string interpolation handler - можно писать любые обработчики. Жаба снова соснула.
База. А насколько они перфомансны? Ну вм во время рантайма им как-то помогает? Или clr вообще не умеет осуществлять такого рода вещи?
Опять ты выходишь на связь, мудило? Мало тебя в парашу головой макали? Какие нахуй обработчики? Ты вообще понимаешь, как работают обработчики в джаве, или лишь бы высрать? И кстати, как там с безопасностью и скл инъекциями? Спойлер: никак, в лаба1 о скл инъекциях обычно не думают.
пиздато
просто бля сравните
SQL($"select \{hui} from \{pizda}")
и
SQL."select \{hui} from \{pizda}"
А нахуя вообще sql запросы собирать на стороне сервера? Они ж вроде в бд должны, не?
Хз насчёт функционального стиля,везде вижу что рекомендуют использовать аналог наших публичных методов вместо функций
Какая же васянская тема. Чем, кстати, он лучше? Вроде как там автоимпортов долгое время не было. Просто представьте ебало шарписты, которые ручками пишут импорты
Палишься, шарпоблядун. Уноси свою убогую неюзабельную хуйню.
ВСЁ ПРАВИЛЬНО НИ НАДА НИХУЯ ЭНТИХ ВАШИХ ЗАПАДНЫХ АВТОИМПАРТОФ ЭТА МАГИЯ И НИЯВНАСТЬ!!!
То есть конструкция ${} должна переменно возвращать строку или шаблон строки в зависимости от локального контекста?
Причём тут это? Просто шарпопетух ведёт себя как типичная пидораха, копротивляется за всё скормленное ему с лопаты и обсидает всё, что на лопату не положили.
Запили пикрил, хули. Там вроде была поддержка джавы плагинами. Поработаешь - расскажешь потом.
Инвокдинамик вообще про другое.
Как можно кэшировать событие? У него сайд эффектов что ли нет? Например геты кэшируют сами браузеры, нахер здесь редис вообще
>Как можно кэшировать событие
Чтение/запись в редис, в конце дня все сбрасывается в пг.
>У него сайд эффектов что ли нет?
Не понял
>Например геты кэшируют сами браузеры
Не подходит.
Ты бы поточнее описал, что там за события. Так то HTTP запросы кешировать можно. Насчёт профита, так сказать сложно. Чтобы редис нормально работал, ему тоже нужно железо.
Чтобы до 2030 года дожить и превентивно показать послушность.
кидай че там тебе непонятно, я хочу самоутвердиться...
Тогда будет у поляков гореть
>Ух, как магии меньше
Да меньше. Там вообще нет никакой магии, просто вызовы методов.
>Причём это не полный аналог, тк насколько я помню, у тебя ленивые исчисления.
Ты вообще нихуя не разобрался, а рассуждаешь. Фибоначи на Котлине, итератор с состоянием. Фибоначи на Джаве многопоточное вычисление конкретного значения, да еще с по жадному алгоритму O(n2^n) чисто техно демка. А аналог Котлиновского кода будет выглядеть так https://pastebin.com/FQHdF4ZA
Например самая обычная нейронная сеть для похода на вечеринку
может быть расписана в обычной цепочке if. Нейронная сеть же предполагает туча массивов, функций для вычислений весов, сигмоидные функции... Зачем же писать 200 строк кода что бы реализовать этот "выбор" идти или не идти на вечеринку, если есть алгоритмы ?
Хочу переписать сверточную нейронную сеть в алгоритм.
Вызов методов не проще чем ключевые слова. С какого хуя кто решил иначе? Глянь мета язык c++.
Бывает. Просто вспомнил, что в fjp доках тоже фибонача, вот и приплел. А в котлине она тоже не тредобезопасна и нет ConcurrentModificationException какого-нибудь?
градиентный спуск это не алгоритм?
Кстати, а как ты посчитал 2^n? Впервые встречаю степенную функцию в Big O.
Таблетки выпил?
Хотя, там и так понятно вроде, ну кроме n перед ней.
>Кстати, а как ты посчитал 2^n? Впервые встречаю степенную функцию в Big O.
Брутфорс фиббоначи имет сложность самого числа фиибоначи, а приближенно это степень 2 https://ru.stackoverflow.com/questions/1381259/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BF%D0%BE%D0%B4%D1%81%D1%87%D1%91%D1%82-%D1%87%D0%B8%D1%81%D0%BB%D0%B0-%D1%84%D0%B8%D0%B1%D0%BE%D0%BD%D0%B0%D1%87%D1%87%D0%B8-%D0%B7%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D1%82-o2n-%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8
Плохо стараешься, шарполахтун. Пиздуй в долбильню.
чел, кринж
Их и щас можно писать, игровые движки есть. Есть даже игры в стиме, даже с положительными рейтингами, и даже не тормозят. Учитывая что в джавовых игровых движках вся графическая подсистема с самого начала была на биндингах к OpenGL, как то однохуйственно на самом деле на валхаллу.
А вот то, что для гейдева на джаве нет ни внятного коммьюнити, ни развитой экосистемы... не факт что валхалла как то поспособствует их формированию. Джавистам в массе своей похуй - в отличии от нищих и злых шарпеев джависты сидят на 300кнаносеках в энтерпрайзах и хуйней не страдают.
Они все сдохнут, а мы в Вальхаллу попадём!
Года пол назад увлекся многопоточкой, кучу времени дрочил дрочил и был отчислен за непосещение. Теперь ситуация повторяется, только вместо многопточки спринг. Я могу часами сидеть и искать багу, дрочить доки, но у меня нулевое желание доказывать уебанам, что я не верблюд и учить какую-то хуйню, которая не моя экспертная область. Впрочем надо постараться хоть немножка...
Надеюсь та полусотня людей, что из раза в раз мне говорила, что я шиз права и в армейку я не попаду.
А еще я калькулятор с состояниями хочу сделать, не парсер, а именно интерпретатор. По сути вот обычный калькулятор, который не приложение, а предмет. Типа вот можно еще испытать нововведения в 21 жабе. Основная сложность в том, что нажимая две точки, должна остаться одна, нельзя делить на ноль и тд и тп. Куча мелочей, которые нужно учесть в стейт машине.
Классный навык. Но сомневаюсь, что он есть у кого-то помимо биороботов.
Мне чёт вообще тяжело даётся что-то делать, если нет эмоционального вовлечения и получаеца из рук вон плохо, что тоже бьёт по самооценке.
>Как делать то, что вообще не хочеца, но вроде как нада?
Никак.
Не хочешь дрочить спринг - не дрочи. От этого ты не умрешь. Максимум тебя попустят на собесе и пойдешь работать дегустатором мамкиного борща и писать калькуляторы. Не худший расклад.
Долбоёб, ты вообще читал, что он написал? Ему-то как раз интересно дрочить спринг. А не нравится ему ебучая шарага.
Модули были нужны в первую очередь Ораклу - они на этих модулях нехилый бюджет попилили на рефакторинг и приведение в божеский вид джавового рантайма. А рефакторинг был им люто нужен - без рефакторинга хуй бы они перешли на полугодичный цикл релизов.
Я думал проблема с релизами была в том, что сановцы постоянно не успевали сделать все заявленные фичи и сдвигали сроки. Теперь же вот превью есть и прочее. Модули кмк малую роль играют, хотя возможно, как изоляция команд. Но вроде они и раньше была.
Так потому и не успевали - сложно успевать делать вещи в срок, когда у тебя лапша монолитная. По той же причине и превьюх не было: любая превьюха в монолитной лапше - источник багов и дополнительных костов на тесты.
Понял. Тогда так:
Не хочешь сдавать философию и матан - не сдавай. От этого ты не умрешь. Максимум тебя попустят на собесе отсутствием профильной вышки и пойдешь работать дегустатором мамкиного борща и писать калькуляторы. Не худший расклад.
>Вызов методов не проще чем ключевые слова. С какого хуя кто решил иначе?
yield не ключевое слово, а саспенд функция. И всю магию делает компилятор корутин. Например глядя на этот код нельзя сказать он потоко безопасен или нет, потому что неясно где хранится текущий стейт он хранится в сгенерированной стейт машине. А глядя на джава код можно сказать что он потоко безопасен, т.к. в нём нет глобальных переменных.
>>62416
>Глянь мета язык c++.
С++ это пример как НЕ НАДО делать.
>Например самая обычная нейронная сеть для похода на вечеринку
может быть расписана в обычной цепочке if. Нейронная сеть же предполагает туча массивов, функций для вычислений весов, сигмоидные функции...
Это какая то ебаная шизофазия, но если попытаться ее распарсить... ответ такой:
Нейронная сеть - суть верхушка развития эволюционных/генетических алгоритмов. А эволюционные алгоритмы применяют обычно там, где нормальных алгоритмов тупо не существует. Кейс похода на вечеринки - сразу мимо.
Любой неэволюционный алгоритм всегда будет эффективней и по костам и по точности. Другое дело что не всегда такой алгоритм вообще возможен и существует. Например, поиск минимума: если функция - парабола, минимум для нее находится элементарно алгебраически... для непрерывных сложных функций с одним минимумом неплохо работает градиентный спуск. А вот когда функция задана вообще не пойми как и имеет 100500 локальных минимумов, тут уже начинается генетический метод монте-карло.
Ну неявность минус, согласен.
Тоже не понял почему тот итератор тредобезопасен, если мы про него.
>Наивный)
И ты такой можешь продемонстрировать потоко небезызвестный код который оперирует только локальными данными и не отдает ничего в другие потоки?
Блять, это все твои "глобальные переменные". Сбил с толку, сука, все надо парсить по два раза.
Че правда так жёстко? Блин...
Локальные данные это значения в стеке? Тогда в метод итератор передавай, этот метод запускаешь в нескольких потоках, передашь дважды вот твой итератор и технически, код внутри метода работающий только с локальными данными получит конкурентные проблемы. Ну по крайней мере из-за того, что bigint иммутабельный, а plain семантика гарантирует атомарность записей ссылок и для immutable конструктор happens-before запись, в общем частично собранных объектов не будет.
Забей, тот анон просто термины выбирает такие, чтобы как можно больше вкатунов запутать. Даже меня подловил, сука.
Под глобальными переменными он подразумевал данные, которые "переменные", то есть мутабельные, и доступные нескольким тредам, то есть "глобальные". Как только ты передал свою мутабельную локальную пепяку в другой тред, она уже попала под определение "глобальной переменной".
>Тоже не понял почему тот итератор тредобезопасен, если мы про него.
Какой тот? Который из доков джавы или пастебин?
Из доков все или имеют ошибку или явно обозначены как тредобезопасные. В пастебине ни того, ни другого. Думаю очевидно, что я про него.
ээ бля стирай нахуй
Ну хотя это вообще не расширяет жабу, тип так до сих пор нельзя, да и вероятнее всего всегда будет нельзя
Нет. XPath - сугубо XMLная хрень, также как XLS и XSLT, и используется он не для парсинга, а для запросов по тэгам.
Максимум что есть для jsonа - JsonPath
case LinkedList _("мам", "я", " долбаеб") -> yield "Сына ты долбаеб"
case _ -> throw new IllegalStateException("а не пиздишь ли ты часом?")
}
return switch("мам я долбоеб") {
case true -> list += add();
case false -> throw new StackOverflowError();
case null -> null;
}
Сука ты, все собрал?
Потому что тебя никто не спросил
Объявляю сбор всех пупуней в 252 треде
РЯЯЯЯЯ ПУК ХРЮЮЮЮ
>Но тогда падает читабельность метода
Когда разраб начинает говорить о читабельности, стопудово спизданет какой нить кринж.
Если ты - новичок - то помни: никогда в своей речи не используй слово "читабельность", оно выдает в человеке дегенерата-каргокультиста.
Чушь. Документация метода, это описание его контракта. По духу близко к TDD. Никаким образом на реализацию это не влияет.
сеньор 6 лет опыта
>>65004
//Метод сервисного слоя приложенияНейм (принимает запросы от сервиса контроллера(Dispatcher Servlet)) параметры и использует их в своем методе. Метод обеспечивает получение(посредством sql запроса с ключевым словом select который за нас сделает ORM система(Hibernate))сущности(Entity) по строковому параметру(name). Получаемая сущность является сущностью слоя сущностей (model)
public Entity findByName(String name);
А я так и знал, что жависты геи!
На пастебине не тредсейф из-за полей. В принципе если заменить BigInteger на AtomicReference и немного модифицировать код, то тогда он будет тредсейф.
Есть хороший курс или серия уроков по созданию какого-то определенного приложения?
Чтобы от начала и до конца - в том числе с фронтендом и добавлением приложения на сервер?
На ютубе есть какие-то васянские уроки, но я сильно сомневаюсь в компетентности авторов.
Ты нихуя не посмотрел, но уже все обосрал и составил свое охуительное мнение. Чел, ты... можешь сразу лидом идти, какой спринг...
Там фундаментальные проблема, что каст к (U) вставляет в байткод чеккаст нижней границы, обжект в данном случае, потому и пишет, что не сейф.
Помню ещё говорили, мол стирание это вообще фича, даже не озираясь на обратную совместимость. Мол так и должны дженерики быть реализованы.
Ты учишь технологии по курсам,из твоего рта в принципе не должно звучать слово компетентность
По делу - с таким бессмысленным популистским вопросом как у тебя я могу тебя разве что обоссать, что в целом заслуживает любой читабельно-додик. Не стал этого делать лишь потому что вижу, что ты скорее всего зеленый и спизданул кринж по неопытности. Будешь в залупу лезть - получишь заслуженную струю в ебало.
Ого-го, джава-скуф разбушевался. Ты нассать себе только в штаны можешь от злости, что проебал всю жизнь на полную хуйню
Лол, ну ты и огрызок. С такими замашками тебе прямиком в шарпей тред
свитч (пупуня) {
кейс (Пупуня пупуня (пупуня)) -> выдави "это точно пупуня..."
default -> выдави "странно но это не пупуня..."
}
Не хочешь ли ты сказать, что для простых задач - алгоритмы, а для сложных задач - нейронные сети (высшие алгоритмы) ?
Нет, не хочу.
Если все упрощать до такого уровня, то нейронные сети - твой выбор тогда, когда тебя в целом устраивает неточный и с некоторой вероятностью пиздабольский результат, полученный хуй пойми как из черного ящика ценой в разы большего числа прожженных ячеек памяти, тактов ЦПУ, времени и энергии просто потому, что иного выхода не существует либо не придумали.
И нет, нейронки не высшие алгоритмы (хотя хуй тя знает что ты вкладываешь в слово "высший"). Они просто другие. По сути, нейронка, если разобраться - алгоритмически довольно тупая штука (литералли верхушка эволюции алгоритмов решения задач методом подбора), а сложной и мудреной она кажется лишь из за своих размеров.
Там ты гей
https://habr.com/ru/companies/selectel/articles/761914/
Вроде вайлдкардов не замечено, да и стираний типов наверняка тоже. Это точно не жаба.
Оверрайд хз. Эта аннотация мало на что влияет в жабке.
Пупунище...
Работаю в конторе, где почти весь бэк на котлине, но это скорее исключение кмк. И на чела, который знает котлин, а джаву не знает, всегда будут смотреть как на странненького
Значит по делу все таки нихуя не высрешь?
>стирание это вообще фича
А на каком основании так говорили? Куда же не плюнь, везде говно. Что в стирании вообще хорошего?
Вроде что-то вот такое мартин одерски говорил.
Эт отсюда https://cr.openjdk.org/~briangoetz/valhalla/erasure.html
парсить проще джэксоном
Так выйграли же.
Бля, ну не удержался и сделал сам https://pastebin.com/NSys8rXK
Тут какая-то магия из проверок ссылок, даже впадлу объяснять. Но вкратце тут смешаны свойства идемпотентности и алгоритм Michael-Scott Queue. Можно было бы упростить все до одного кортежа <prev, next>, но зачем идти простыми путями...
А вот еще вложенный тестик: https://pastebin.com/GhB2uAv5
Задачи уровня hardcode в leetcode, для них нужны высшие алгоритмы.
Ты долбоеб? Спринг третий только на 17 вроде. Жаба тут абсолютно не причем, вопросы к авторам спринга.
>String Interpolation. Да, теперь можно вставлять переменные (и не только, всё что угодно!) внутрь строк.
Серьезно? Т.е. вам это только сейчас подвезли, ебать вы терпеливые.
>И это сделано безопасно, с гарантиями сохранения обратной совместимости
А нахуя? Ну вот рили, нахуя? Ну т.е. в старых версиях это все равно не будет работать как задумано без специальных телодвижений.
>Настолько же качественных аналогов в других языках нет.
До-о-о, конечно.
Пффф, чел. Ещё не завезли. Это превью. Терпим)
В плане нахуя? Там встроенная защита от инъекций всякого рода. А то, что не будет работать на старых версиях, и чо?
Назови
Не. Там вроде дублируют значения енума на статические переменные. Костыльно это...
Ну лан, ты прав. Ты не можешь взять их поля, чтобы запихнуть, например сюда https://fasterxml.github.io/jackson-annotations/javadoc/2.9/com/fasterxml/jackson/annotation/JsonSubTypes.Type.html#name()
Т.е. если ты пишешь енум, ты никак не сможешь впихнуть ни его ни его поля в аннотации, которые тебе не принадлежат что ли. Ну и sealed далеко не всегда нужно, вот в спринг секурити, например, их убрали.
Спринг бут 3 это вообще дикое убийство совместимости библиотек.
Даже на джокере евангелисты признались, что спустя полгода не перешли на третий бут.
Я сам пытался перевести маленький сервис на 5к строчек кода с 2.7 на 3.1. Отъебнуло все что могло. Кафка, сесурити, клауд. Джава если что 17ая.
Норм же выглядит. Че вы бухтите?
>Там встроенная защита от инъекций всякого рода.
Это если будет правильный темплейт процессор. А если STR-ом фигачить, никакой защиты не будет.
Также тимлиду говорил,все равно без тестов не не стал мержить. Когда кончится этот произвол?
Пупунь,ты палку то не перегибай
Так у меня есть тесты.
правда JCStress что-то показывают только в случае ошибки, а если проходят то это ничего не доказывает
Я умный и няша. Можете рассмотреть мою кандидатуру? Хочу работать за спасебо блин...
>а если проходят то это ничего не доказывает
Вообще это ко всем тестам относится, почему ты выделил именно jcstress?
К слову, а ты изменял мой тестик? Просто помню гетц писал, мол корректный тест по конкурентности написать порой сложнее, чем то, что он должен тестировать. Вооть, хоца опыт здешних няшек перенять хоть немножка...
я джавист
Будь оригинальнее. Скучно.
>Вообще это ко всем тестам относится, почему ты выделил именно jcstress?
Обычный юнит тест показывает, что кейс А проходит или нет, достаточно детерминировано. Да возможны кейсы не покрытые тестами, но это отдельный вопрос. Как в анекдоте: одно пиво, -1 пиво, NaN пиво - работает, а вот где туалет уже не покрыто тестами.
>К слову, а ты изменял мой тестик? Просто помню гетц писал, мол корректный тест по конкурентности написать порой сложнее, чем то, что он должен тестировать. Вооть, хоца опыт здешних няшек перенять хоть немножка...
Я свой написал, но он достаточно простой. Твой не смотрел, и вообще кейс с 2-мя атомиками явно сложнее по граничным случаям. Постараюсь на выхах глянуть и покритиковать.
Не скажу
Читай мурзилки.
Кто
А ты точно пупуня или в резюме напиздел?
Пхазахахпх
А, ну тогда это не пупуня. Аниме слава!
Да, норм идея.
>>70323
ЧЯДНТ? Я пока в конкарренси не слишком силён. У меня несколько таких бинов, у каждого свой тредпул со своим количеством работников которые ждут новые элементы (по сути подписки) в очереди для того чтоб их обработать. Делал для того, чтобы контролировать количество запросов которые могут выполняться одновременно в зависимости от внешнего ресурса, так как у каждого API свои рейт лимиты, кое где ещё и скрейплю, и как таковой рейт лимит не обозначен. Плюс такие бины интересуют всякого рода евенты, например если вдруг пользователь удаляет подписку через UI, то такие подписки обрабатывать уже не надо когда до них дойдёт очередь. Упрощенная версия того что называют Actor Model, полагаю.
Ну множить физически треды такая себе идея. У тебя нет cpu intensive коды, ты просто полодишь эти треды для задачи именно ограничения запросов к ресурсу. А теперь почитай для чего деикстра предлагал семафоры ввести. А ну и давай аргументируй в чем индусокод. Не знал, что использование нормальных инструментов синхронизации это оно и есть.
Ты предлагаешь дополнительные усложнения без видимого профита. Человек спросил где запускать исполнителя,а не доп синхронизации городить
А это неплохая идея. Я об этом не подумал. Возьму на заметку. Про перфоманс я пока особо сильно не задумываюсь, пока задача чтоб это вообще всё завелось. Помимо всего прочего, тредпулы для каждого исполнителя исопльзую ещё для того, чтоб в логах потом понятно чей тред, так как можно задавать свои ThreadFactory с именами фабрик.
Профит в том, чтобы абстрагироваться от платформенных тредов. Хотя согласен, что семафор слишком низкоуровневый, можно найти что-то более высокоуровневое. Например не в каждом бине отдельно конфигурировать эти tp, а вынести их куда-то и использовать через Async.
Мне интересно послушать какие подводные,раз популярностью они не пользуются значит сто пудово есть какая-то подстава
Я спро спринговские эвенты,то что проксирование основано на аспектах и так все знают
Аспекты тут причём, если там буквально эвенты...
Mvc удобнее значит, нахер городить эвенты там, где они не нужны
Ну точнее чистый мвц. Криво выразился.
Я подозреваю там, где без них получается хуйня. Но мои архитектурные способности особые мягко говоря... Так что не слушай меня) Могу сказать лишь, то, что в фреймворках часто встречаются эвенты и ты ошибаешься на счёт их популярности.
Пупунь,не горячись
А может лучше шарик и uwp?
Есть lwjgl, jogl и прочие.
Че за ментор? На работе выделеный мидл для обучения джунодебила? Ему за это не платят скорее всего, так что не еби мозги особо, изучай кодобазу и делай по подобию.
Так меня не взяли. У проекта есть глава (ментор). Он занимается отбором людей на проект
В ебанутое время мы живем, господа погромизды. Не только кодить, но и коммуницировать с людьми больше не умеют.
Ну вот давай гипотетически представим что он тебя нахуй послал? Вопрос: кто из вас двоих будет в этой ситуации неуравновешенным недоговороспособным неадекватом, с которым лучше не работать?
Планирую выкатываться со своей работы на новую, за спиной 2 года гребли джейсонов и реализации шизоидной бизнес-логики, есть некий страх что попустят на собесе, какие задачи дают на лайф кодинге мидл/мидл+ сейчас? Классический обход графа? Я конечно почитаю книгу по алгосам, но знаю что тема очень обширная, кто аплаился на мидла опишите ваши задачки на собесах в общих чертах
С чего бы ей быть не в силе? Там теперь NFTC с 17 начиная, можно и в коммерции бесплатно юзать.
Спасибо
Хаха, королевская битва среди вкатутось.
>>Вопрос: кто из вас двоих будет в этой ситуации неуравновешенным недоговороспособным неадекватом, с которым лучше не работать?
Втакунидзе проиграет само собой. Ментор просто скажет что этот тупой дебил его по каждому мелкому вопросу спрашивает, ничему не учится и не способен погуглить. Он даже не знает БАЗЫ.
Че гуглить то? Я жду результатов тестового.
Модами допилят?
Нормально. Вкатун все сделал и ждет фидбэка, а тимлид обещал проревьювить, не проревьювил, нахуй послал и еще начальству напиздел. И в чем вкатун проиграет? Ебанутая система с отрицательным отбором выдавит его на ранней стадии, не успев сломать морально.
И че сложного? Делишься пополам, поворачиваешь сравниваешь. Хотя хз, что значит вычислить...
Невозможно работать в таком коллективе,лишь бы чай попить да ерундой позаниматься
>котлин
Не понимаю назначения этого языка.
Почти все фичи всосала Ява, как это было со Скалой.
Только вот Скала далеко ушла в ФП и имитацию Хаскеля на ЖВМ, а также проникла в дигдату, что обеспечит ей жизнь в этой нише ещё долго, а что Котлин может предложить? Обработку наллов? По ФП он не догонит Скалу, но беттер-Яве его догнала Ява уже почти, как видно.
Но это же Жыдбрейнс, и назван в честь острова в Питере, надо любить, ясно.
Жидбрейнс рашку бросили.
Топовый он в основном из-за переработанной системы типов. Там не просто обработка наллов, ты посмотри внимательно. Плюс куча всякого сахара, чего в жабе никогда не будет. Перегрузка операторов, не надо ставить точки с запятой, легкое описание dsl, переработка collection API, корутины...
>корутины
Ну так в 21 Джаве тоже теперь есть легковесные треды, разве нет? Или тут есть какие-то ломающие принципиальные отличия? которые я не понимаю?
В Скале всё, что ты описал, уже есть много лет, и гораздо больше.
Звучит как ниша беер-джавы, ну то есть с нескучным синтаксисом.
Могу быть не прав.
Хз, у них системы типов разные. Скала свои коллекции пишет, вроде как, тогда котлин использует жабовские. https://www.baeldung.com/kotlin/kotlin-vs-scala https://docs.scala-lang.org/overviews/collections/overview.html
На счет корутин, у них все еще лучше перфоманс, а также это асинхронная модель, тогда как green треды немного про другое. Да и корутины уже могут использовать виртуальные потоки, это не какая-то проблема.
Ну, в КОтлин сделали различие налл и не налл на уровне системы типов, введя дополнительный синтаксис. В Скала это уже есть на уровне монады Option.
>а также это асинхронная модель
Тут интересно, надо псмотреть. С трудом понимаю отличим зеленеых тредов от файберов и от корутин.
Неееееет😭
Я просто нинаю, тяну ли я хотя бы на жуна. Да и до собесов далеко есче. Но знаю, что вам в основном плевать на мои потуги, однако в тредах очень много(~1/5) моих шизопостов, так что хоть какое-то мнение должно было сформироваться.
Думаю выкатываться из тредика, но хоть какую-то отдачу получить в итоге, что я стесняюсь, например, на форуме провернуть...
А в каком направлении? Например кафка редисы эт все микросервисы, но у меня проблемы даже с монолитной архитектурой и я не могу никак получить фидбек, тип она работает же и все тут... А когда я спрашиваю кого-то, ну... Даже книжек не доют.
Ну как раз и хочу уйти с двачека.
Я тебе уже говорил, устройся стажёром в какой-нибудь говноконторе и еби мозги своих менторов этими вопросами за деньги.
Да я помню... Для этого надо переезжать в дс, получать временную прописку, пытаться без связей, опыта и диплома на перегретом рынке получить стажерство.
Тип вот ты бы взял меня стажером?
И вот сколько таких как ты... Как вариант в учебные группы яндекса/тинька затесаться; алгосы тогда опять дрочить надо... Как цель, что ж.
пиздос, опять качать репак от белсофта
>>заходи сюда только по техническим вопросам
Тут же только обоссут и ничего толком не ответят, максимум на уровне гугла что то выдадут.
>>Для этого надо переезжать в дс
любой миллионник сойдет
>>получать временную прописку,
много лет работаю на условно офисном режиме, прописки нет даж военкомат нахуй меня послал, сказал приходите как сделаете, тогда поставим на учет На работе не спрашивали ни разу. Мб для ДС актуально, я хз.
>>пытаться без связей, опыта и диплома
как и большинство анонов
>>на перегретом рынке
чего раньше ждал? Вкатывайся тогда в слесари - там конкуренция меньше, а зепка выше чем у ждуна.
>>получить стажерство
джуна надо получать, стажерство для студентов с профильной вышкой
>как и большинство анонов
У них профильного нет, но сам диплом имеется.
>чего раньше ждал?
Как думаешь, сколько мне лет? Но тут мой проеб, согласен. Надо было больше дрочить алгосы, у меня была теоретическая возможность пробиться.
>джуна надо получать
Вы там определитесь... Но се равно вопрос тот же, я тяну на жуна-то в нынешних условиях?
Там вроде на голд она шла, или это фигня из под коня?
Абсолютно все ненавидят эту мразь
Чому несмотря на то что аргумент fair у очереди стоит true, элементы из очереди всё равно временами забираются вразнобой?
Ну javadoc говорит что гарантирует:
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/ArrayBlockingQueue.html#%3Cinit%3E(int,boolean,java.util.Collection)
> fair - if true then queue accesses for threads blocked on insertion or removal, are processed in FIFO order; if false the access order is unspecified.
В детстве роняли?
Ну и че эта гарантия тебе даст? Она лишь говорит, что не будет возникать ситуации, когда один поток постоянно выйгрывает. Т.е. продусеры подут справебыдло получать ресурсы. Как ты это тестить собрался?
Ну у и тебя ебаный souf, где своя синхра.
Порядок без fair. Думаю можно как-то изящнее это сделать, но мне лень.
Я уже тоже наебнул синхронайзед, сработало. Тестить справедливость против голодания тредов я не собирался, больше был в непонятках почему не соблюдается порядок в котором вынимаются числа. В моем приложении из за этого некоторые тесты не проходили.
А нахуя создавать кучу тредов, чтоб потом обернуть критическую секцию? Типа... Что бы что?
Я твой намёк понял, возможно не самое лучшее моё решение. Порядок мне действительно не важен, случайно в тесте заметил что он иногда может меняться.
Повторюсь, порядок действительно FIFO. Проблема в том, что souf имеет внутреннюю синхронизацию. Сложно объяснить.
А, еще у тебя треды нихуя не одновременно работают. Может лучше скажешь, в чем реальная цель?
В приложении порядок был явно не FIFO, при этом вывод в аут был не при чем. Я лишь выложил упрощенный пример чтоб проиллюстрировать. Даже если добавить врусную все эти 50 интеджеров, вывод был тот же самый, кстати. В приложении вместо вывода в аут были запросы в дБ не в том порядке. Порядок мне не так важен. На самом деле мне там тредпул вовсе и не нужен, тред выполняет довольно простую работу, направляет элементы в нужные очереди.
>В приложении порядок был явно не FIFO
Ну то в приложении. Очередь отдает упорядоченно, а вот дальше твои проблемы.
>Даже если добавить врусную все эти 50 интеджеров
Ну вот про что и речь.
>На самом деле мне там тредпул вовсе и не нужен
Ясн. Ну удачи тогда.
Она их и так отдает в порядке, в котором пришла. Там еще более жесткие гарантии даже есть, по типу пика.
>не должно быть 100%-ного порядка
А его и не будет, есть же только happens-before.
Ты умный, сам все поймешь.
> а сравнивать перформанс декларативного и императивного кода == набрать биасов себе на щеку.
Расскажешь, в чём разница?
На английской и печатается же.
Скорее всего этот анон уже умер трудоустроился, но его вопрос достаточно показателен и сам по себе по вкатунски наивен.
Отдельными навыками ты не отделаешься, анон. Хоть ты добавляй их, хоть удаляй, вкатунские вайбы все равно выдадут тебя с головой. Все потому, что список навыков интересен разве что ботам для первичного selectа. Любой человек - и ХХ, и технарь который будет тебя собесить, сходу распознает в тебе по такому резюме вкатуна по двум признакам:
1. Твой пикрил - раздутый голый список баззвордов.
2. Вялое или отсутствующее описание предыдущего опыта работы
Еще вкатун палится всякой мотивационной хуйней, типа "быстрая самообучаемость" или "усидчивость" в секции "о себе", но щас вроде этот кринж встречается реже.
Резюме серьезного чела выпячивает вперед перечень его достижений на предыдущих местах. Только это имеет значение. Причем впереди должно быть то, что выделит тебя среди прочих вкатунидзе на конкретную вакансию. Нечто, что скажет работодателю - ты именно тот кто им нужен.
Разумеется это игра не для вкатунов - чтобы в нее играть, нужно за душой иметь хоть что-то. Насколько я понял, стратегия выживания вкатунов сегодня заключается в выдумывании легенды и выдрочке скиллов с конкретной целью - своей легенде соответствовать.
Недавно видел на твиче один канал, где чувак проводит мок-собесы, обзирает резюмэхи, курирует обучение вкатунов джаве и в том числе помогает составить легенду (https://www.twitch.tv/overridetech). Для меня как предвзятого сеньера это было... интересное открытие - можно сказать отрезвляющий взгляд на изнанку айти.
Мимо
Пупуня конечно,добро всегда побеждает зло
Я на коммьюнити сижу, и больше принципиально корпоративной лицухой пользоваться не буду. Надеюсь этим пидарасам ни одной копейки больше от меня не перепадет ни напрямую, ни через работодателя. Перпетуал лицуха есть, но после свинского отношения жб - на нее похуй.
>Это во всех компаниях в России теперь так? Идею мы больше никогда не увидим?
Да так то пиратят ее. Чем идеевский путь бодания с пиратами отличается от любого другого? Разве что денуву не встроили - вот потеха будет если до этого дойдет. Недавно в голавном джавистском ТГ-чате делились инсайдами как ЖБ наебывают: типа регистрируют фейковый университет, через который выбиваются и перепродаются бесплатные лицухи.
Все на комьюнити, один я на легасной перпетуал.
Но эклипс это ж хуйня полная, она хуже комьюнити, какой смысл?
>>73094
>>но после свинского отношения жб - на нее похуй.
Свинством было б отменить все лицензии из РФ без компенсации и нацепить флаг украхи в комьюнити (как гитхуб например). А так они только лицухи не продают, но вроде нет проблем если купить вне РФ и пользовать где угодно.
>>Разве что денуву не встроили - вот потеха будет если до этого дойдет
они пытаются гоев на облака развести, но пока не прет
>>Чем идеевский путь бодания с пиратами отличается от любого другого?
У нас весьма ебанутое законодательство сейчас. Мета запрещена, но если она кинет заяву на тебя - тебе прилетит. Поэтому конторы пиратить нехотят и переходят на аналоговнеты во всем.
>Свинством было б отменить все лицензии из РФ без компенсации и нацепить флаг украхи в комьюнити (как гитхуб например). А так они только лицухи не продают, но вроде нет проблем если купить вне РФ и пользовать где угодно.
Я б с тобой согласился, если б не одно "но". Я отнесся к ним с пониманием когда они уходили. Я впринципе не удивился, когда они залочили code-with-me и не завезли своего нового нейронко-ассистента пользователям без ВПН. Я обзмеился, но стерпел, когда они начали заворачивать лесом тикеты от русских.
Но когда они стали форсить своих сотрудников уходить с русских тематических коммьюнити-телег, обнуляя их пользу, я сложил о компании JetBrains окончательное мнение. Невинно умервщленный телеграм-канал по ютреку, не раз спасавший мою жопу, я им не прощу.
Например, что string использует поддержку jvm.
>Мета запрещена, но если она кинет заяву на тебя - тебе прилетит.
Это просто пример в вакууме? Каким раком мета относится к жыдбрейнз-идее?
Первый распространяется под открытой лицухой, второй - под коммерческой.
>Кто-то здесь писал об этом
Ну если здесь то это точно я.
>вспомнила
Но я ток кунчегам помогаю, сорян.
Рендер шрифтов в опен хуже. Хз как там сейчас ситуация.
Потому что петухлин.
Выглядит лучше но глаза устают - неправильное видимо сглаживание. Вряд ли джетбрейнз заморачивались медицинским научным анализом, насколько их сглаживание полезно для глаз.
Вот в хроме норм сглаживание, от него никаких проблем нет.
Ну не знаю, мне заебись, никогда глаза в идее не уставали.
Неудобно же на комьюнити. Ни спринга нет, ни фронт поправить нельзя. В эклипсе официальный спринг тулс есть хотя бы, но вообще согласен, что эклипс в разы хуже идеи
в вскоде официальные плугины для джявы от microsoft redhat vmware
+ возможность работать внутри докер контейнера, wsl и удаленно (в идее разве что только в wsl проект можно создать)
+ одновременная работать на десятках языков
+ воркспейсы
+ профили
vscode > IntelliJ IDEA Ultimate
Вжжжжж!
Вспоминается только Шипилевский The Lord of the Strings.
Может у него и бложек какой есть где он про такое пишет.
>>в связи с известными событиями
Че за известные события? Очередная жидо-бабахская или что то еще почалось?
>>Это просто пример в вакууме?
Пример к предыдущему утверждению.
>>Каким раком мета относится к жыдбрейнз-идее?
Нет лицензии - компания рискует получить штрафы.
Нормально на коммьюнити - не хорошо и не плохо, паритетно с бесплатными IDE. Отсутствие спринг-тулов для меня не дилбрекер, я с этим могу жить.
Я бы окончательно ушел с ЖБшной иглы одобрения на нетбинс, но нетбинс последнее время сильно упал в качестве - у него какая то хуйня с индексом, который на моих проектах постоянно ломается и его приходится инвалидировать.
Перекатывайте нормально,перед уходом из треда не забудьте поссать на ебало опу,мочератору и их мертвым шлюхам матерям
Там все на мушинном написано, я его не понимаю.
>Ой, пасиба заранее. Буду ждать :3
>>71606
>Блен, опять не дождался. Прям как чел выше с ментором.
Извини что не ответил как обещал.
В целом после просмотра кода:
- код немного не очень, если заменить new BigInteger("1"), на ONE то код перестанет работать
- if (prev != curr && this.prev.get() == prev) который работает не атомарно, вызывает вопрос зачем оно надо, если дальше идет атомарный compareAndSet, при этом без него перестает работать
-curr.compareAndSet(curr, nextCurr) не атомарное изменение с prev.compareAndSet(prev, curr), плюс если оно сфейлилось результат тупо игнорируется.
При этом JCStress работает и ошибок не находит. Но есть стойкое ощущение что это все хаки которые позволяют пройти тест. Я хотел его прогнать через https://github.com/JetBrains/lincheck вот мурзилка про него https://www.youtube.com/watch?v=_0_HOnTSS0E но пока не дошли руки. Отпишись если тебе еще это нужно постараюсь заняться этим. В воскресенье хайк, так что твердо дату обещать не буду.
Ура, ты не забыл.
>если заменить new BigInteger("1"), на ONE то код перестанет работать
Я говорил, что там магия на ссылках, которую мне лень было описывать. Конкретно это проблема ABA. В BigDecimal есть оптимизация, мол если ZERO+NUM, то возвращает то же число, не меняя ссылку. А я не хочу допускать случая, когда и prev и curr имеют одну и ту же ссылку, чтобы было валидно условие prev!=curr
>который работает не атомарно
Сравнение ссылок атомарная операция же. Да внутрь может попасть сколь угодно тредов, но все они кроме одного проиграют в cas. Без этого условия был бы возможен случай, когда в curr будет записан бред. Причем все игры до этого сравнения могут занимать сколь угодно много времени.
prev!=curr еще более хитрое сравнение. Мы детектируем, что мы не находимся в промежуточном состоянии.
Все это не хаки, а алгоритм Michael-Scott Queue. Вот гетц его описывает https://jcip.net/listings/LinkedQueue.java я лишь немножко изменил по сути...
>Отпишись если тебе еще это нужно постараюсь заняться этим.
Если тебе не жалко на меня время потратить, то я только рад. Но ты скинь тесты, которые напишешь...
Конструкторы-то все написал?
Да
Я посмотрел код. lincheck прогнать не удалось из-за пидорасов jfrog которые отрубили JCenter хотя и обещали этого не делать. Просмотр глазами + JCStress никаких ошибок не выявили.
Так что по моему мнению алгоритм рабочий. Ты молодец анончег.
Угу. Еще я тут много писал, видел наверное. Счас демка не робит и мне пока лень править, чет там сертификаты letsencrypt жабе не нравяца.
Но вот такую штуку делал есче https://github.com/anywaythanks/ExtendedSynchronizers
Это копия, сохраненная 23 ноября 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.