Этого треда уже нет.
Это копия, сохраненная 6 сентября в 01:48.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
OIG1 (4).jfif82 Кб, 1024x1024
Java Thread №268 /java/ 3161163 В конец треда | Веб
🎉🚀 ОБНОВИЛСЯ ДО JAVA 22 И ЭТО ПРОСТО БОМБА! ВСЕМ РЕКОМЕНДУЮ! 🎉🚀

🆕 Новые фишки:
— 💻 Теперь можно писать код до super(); и this();! Да, вы не ослышались!
— 🧩 Стрим газонюхи: создавайте любые свои промежуточные операции, например batch(), и ваши стримы станут как на стероидах! 💪
— 🐍 Запускайте Java как питон в одну команду без компиляции, даже если у вас куча файлов! Адьос, компиляция! 👋

🔄 Обновления:
— 📄 Короткая входная точка (void main() {}) теперь официально поддерживается документацией и системами сборки. Раньше это работало, но теперь это подтверждено и гарантировано! ✅
— 🛠️ Встроенный кастрированный ASM (ClassFile API). Это суперсила для разработчиков Java, чтобы не зависеть от внешней библиотеки ASM. Больше никакой зависимости! 💥
— 🚀 Ускорили сборщик мусора. Теперь он работает как ракета на максимальных оборотах! 🚀💨

✨ Изменения существующего:
— 🌐 Foreign Function выходит из превью! Вальхалла уже на подходе! ⚔️🏰
— 📝 Шаблоны строк, переменные в лямбдах через _, структурированная многопоточность/Scoped Values и Vector API обновлены, но всё ещё в превью/инкубаторе. Это только вопрос времени! ⏳

🎊 Java 22 - это как гигантская вечеринка для программистов, где нет торта, но полно мороженого и веселья! 🍰🍦💻🎉🎈

Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki
Предыдущий: >>3135222 (OP)
2 3161165
Вердикт: гпт-4о - хуйня, ноль отличий от 3.5. Бинг - ебет, картинки просто сок. Могу накидать сюда варианты генераций и промпт, если нравятся, пригодятся если кто-то еще будет перекатывать.
3 3161171
>>61163 (OP)
А я хочу тортик...
>>61165
3.5 объясняет хуже и чаще пиздит. А от гугла нейронку не пробовал, кста?
4 3161183
>>61165
Т.е. 4 очка хуже просто четвёрки?
5 3161185
>>61171

>3.5 объясняет хуже и чаще пиздит.


4о я попробовал только на переписывании шапки, так что пока не могу судить.

>А от гугла нейронку не пробовал, кста?


Нет, там наверняка тоже как-то надо обходить блокировку, надо найти инструкции как пользоваться, не до этого сейчас.
>>61183
Четверку без подписки не дают.
6 3161186
>>61165
Накидай
7 3161189
blue coffee cup with red steam, letters "J AVA", digital illustration, white background
8 3161190
blue coffee cup with red steam, letters "J AVA", white background, 1950s, retro futurism
9 3161283
>>61171
>>61165
Проблема чатгопоты и других нейронок в том, что они предоставляют катастрафически малое количество токенов. По сути ты в месяц можешь задать 20-30 вопросов и на каждую строку ответа тратится по токену. В итоге ты за пару минут выгребаешь весь месячный лимит даже с оплаченной подпиской и потом сосешь лапу. Ну и без качественного впн и зарубежной карты тебе недоступны нейронки
10 3161321
>>61283
Разве при оплате не по апи, а по подписке ограничение не по сообщениям, а по токенам?
11 3161323
>>61321
Там без разницы. У тебя в месяц будет где-то 20-30 запросов. Мне хватает, чтобы решить 1-2 задачи в лучшем случае. Обычно начинает писать хуету и нужно 3-5 уточняющих запроса. Вот и считай
12 3161332
>>61323
Я не знаю, откуда ты 20-30 запросов взял. При платной подписке тебя запросами заваливают до жопы. А можно ещё через апи, там вообще пока кошелька хватает можно спрашивать.
13 3161457
Вопрос. Зачем в джаве все так дрочатся с ООП, если обычный проект на спринг буте, с которым работает рядовой анальник, никакого ооп не содержит (не считая апи спринга и других зависимостей)?
14 3161495
>>61457
Никто и не дрочится. Типичный проект на спрэнг фримверке это рестконтроллер, который мапит дтохи, толстый сервисный класс, который содержит в себе всю логику и прослойка из классов которые мапятся на таблички в базюльке + интерфейсы репозитории для пуляния в базюльку. Типичное процедурное программирование
15 3161547
>>61495
Да, я про то же, за редкими исключениями всё так. Я здесь скорее про диссонанс между тем, что ты это должен знать, что каждый обучающий ресурс считает своим долгом включить избитые примеры про машинку и зверушек, что про это спрашивают на собесах, и реальностью крудошлёпства на спринге.
16 3161787
>>61547
постепенно становится понятно что процедурное создает много проблем и начинается движение в сторону ддд, а там уже ооп всплывает
17 3161792
>>61787

>начинается движение в сторону ддд


не, там дальше больше бойлерплейта чем в ООП, добавление одного поля в базу означает переписывание кучи мапперов
18 3161809
>>61787
Если на проекте практикуется ddd, с domain слоем и т.д., то да, согласен. Но проекты с ddd встречаются гораздо реже, чем без.
19 3162097
>>61457

Ну так то сама джава - по большей части ООП. Те же коллекции, к примеру.

А вообще - в джаве никогда на ООП не кодили. Судя по рассказам дидов, предтечами джавистов были коболисты-процедурщики, которые идею не оценили и ебошили процедурно по привычке. Ну а дальше понеслось во все тяжкие - JavaEE + EIP, DI, Spring Boot...
20 3162155
Коллекции, кстати, кал. Должен быть интерфейс RList (ReadableList) и MList (MutableList), расширяющий RList, а также должна быть мода на принимание Iterable в качестве аргументов извне если нужно итерировать и не более, которую не задали разрабы джавы (хотя, вероятно, могли).
21 3162161
>>62155
Ну так то то что ты предлагаешь - ровно тот же кал, только сушеный. Ты подсветил две проблемы, а их там десятки.
22 3162174
Для чего вообще джава нужна кроме легаси? Машин лёрнинг делают на питоне/плюсах, бэкенд на го/плюсах, железки на плюсах.
23 3162178
>>62174
А для чего нужен ты? Зачем тебя мама рожала? Ты же никчемный двачер, у тебя даже имени нет. Умного или полезного то те явно написать нечего.
image.png33 Кб, 641x339
24 3162181
>>62155

>принимание Iterable в качестве аргументов


Попробуй стрим из итерабл сделать. Например там принимается несколько важных флажков, что на пике. Как ты вот их достанешь из итерабл?

>Должен быть интерфейс RList (ReadableList) и MList (MutableList), расширяющий RList


В котлине это так.
>>62161
А расскажи подробнее о проблемах интересно жи.
>>62174
Для вас же /versus/ сделали. Пиздуй туда.
25 3162184
>>62181

> флажков


Значение знаешь, додь?
26 3162185
>>62184
Значение чего? Мысль раскрой
27 3162197
>>62185
Значение используемого тобой слова "флажков".
28 3162199
>>62197
....
На пике написано Stream flags.
Вот чому ко мне так любят придираться всякие рязные
easy.png14 Кб, 945x170
29 3162202
>>62181

> Попробуй стрим из итерабл сделать.


Вот эта вот хуйня с пика начало работать раньше чем ты родился и до сих пор работает.
30 3162206
>>62181

>А расскажи подробнее о проблемах интересно жи.



Это надо прям садиться и душнить долго... Если вкрадце - анон выше просто туп, это все что я хотел сказать.

Во первых, коллекции бывают не только mutable, immutable, но еще и persistent (персистентные), последние накладывают свои особенности на контракты. Во вторых, если уж браться и хуесосить интерфейсы, то хуесосить надо всю иерархию сверху донизу, а не только List. Почему Collection декларирует для всей этой палитры коллекций как методы с сайд-эффектами (типа remove, retain), так и методы без? Для того, чтобы потом стыдливо прикрывать их эксепшенами в иммутабельных имплементациях, ломая LSP? Почему вместо нормального контракта для ключа в хэш-бэйзд структурах, вместо того чтобы задекларировать интерфейс и вынести в него equals-hashCode, последние вшиты в контракт базового обьекта, из-за чего потом появляются способы ебнуть себе в колено мемори-ликом по мутабельному ключу? Да и почему в интерфейс Map следовало зашивать на контракте его хэш-бэйзд натуру - чтобы потом считать IdentityHashMap читерством? Это - то что я с наскоку вспомнил, хуесосить Collection API можно долго. А можно не хуесосить и просто жить с этим - я на самом деле не осуждаю людей, которым сложившийся статус кво норм. А вот гиблое дело - быть тем аноном-двачером недоделанным: у дебила 20 iq за душой, а все лезет во взрослые темы, щенок блять...
31 3162209
>>62202
Какое-то хуевое решение, которое стирает флаги. Хотя я чет тупанул, они в итерабл включили этот spliterator, так что проблем по идее не будет. Но что-то мне кажется, что есть не так много мест, где нужно исключительно итерирование. Ну и плюс это декларирует тот факт, что это не какой-то контейнер, а все что угодно, что может итерироваться. Хоть бесконеную последовательность можно хуйнуть. Это в общем еще одно ограничение в сущности. Ленивость, возможно нужна, или гарантия завершения.

>раньше чем ты родился


Всяко лучше, чем быть скуфом.
32 3162228
>>62206
Кстати эти иммутабельные имплементации еще поведение разное имеют. Arrays.asList например запрещает только размер менять, а вот List.of вообще всю мутабельность. Самое неняшное - это никак семантически не обозначено.
Кстати, вообще в вашей новой иерархии куда этот самый Arrays.asList попал бы?

>вынести в него equals-hashCode


Вообще было бы няшно. Типа например у StringBuilder equals не задан, что немного не очевидно, а так бы CE было бы.
33 3162230
>>62228

>Arrays.asList


Задеприкейтить и перевызывать внутри List.of
34 3162236
>>62228

>в вашей новой иерархии куда этот самый Arrays.asList попал бы?



Чел - я еще даже иерархию не рисовал, а ты предлагаешь мне разместить в нее чето куда то... Ты ведь понимаешь что это не тот вопрос, который решается с-кондачка?

Как по мне, так существование Arrays.asList не особо и обоснованно, когда есть List.of(<vararg array>). А с последним - вопросов где возвращаемое из него значение расположится в иерархии возникать не должно. Была когда то библиотечка персистентных коллекций vavr (перл, достойный отдельного обсуждения), так там у каждой коллекции был похожий билдер. List.of, Set.of, Map.of, и.т.д. В современной джаве теперь похоже стало.
35 3162241
Просто объединения типов нужны.
image.png78 Кб, 890x691
36 3162279
>>62241
Вроде и так есть. Или ты про что-то другое?
union.PNG34 Кб, 918x485
38 3162314
>>62279
Мне кажется он про тайпскриптовые юнионы https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html типа String | Integer (строка ИЛИ целое)

>>62241
Ну если они тебе так критически нужны, почему бы просто не написать класс как на скрине?
langs-in-demand.PNG28 Кб, 832x584
39 3162330
>>62174

>бэкенд на го


чего-то мало в мире бэкэнда, да? едва дотягивает до 2х процентов от рынка
40 3162335
>>62279
Не дженериковые, а настоящие.
41 3162337
>>62330

>петушарп


>12%


Лол. Если судить по соответствующему постингу на сосаче, то петушарп находится где-то на уровне говна.
42 3162339
>>62314
ifString и ifNumber должны возвращать this.
43 3162340
>>62339
Ну так возвращай
44 3162345
>>62337
По постингу на сосаче похоже, что 1с резко начал набирать популярность.
45 3162346
>>62330
Даже на Руби(!) почти в 3 раза больше вакух
46 3162348
>>62335
и чем конкретно тебе тут женерики мешают?
47 3162355
>>62340
Я???
image.png12 Кб, 474x139
48 3162371
>>62314
Ничоси, это ADT? ( https://en.wikipedia.org/wiki/Algebraic_data_type )
Ну как-то без паттерн матчинга выглядит хуева.
49 3162380
>>62371
Ну да, это tagged union / sum type
50 3162384
>>62371

>Ну как-то без паттерн матчинга выглядит хуева.


Паттерн матчинг делается только через sealed интерфейсы в джаве, то есть к существующим типам ты его не сделаешь.
А это подход и предельно простой и распространяется на существующие типы
51 3162385
>>62348
Всем.
image.png41 Кб, 634x466
52 3162391
>>62384
Нуу, все abstract неявно = sealed. Возможно в некоторых местах впендюрят еще явно. В любом случае какой-то странный кейс, проще полиморфизмом ad-hoc воспользоваться и не ебать мозги.
>>62385
Ну покажи реально. Типа смотри, даже паттерн матчинг работает с ними корректно.
53 3162402
>>62391

>Нуу, все abstract неявно = sealed.


Ну как же, ты же любой абстракт можешь экстендить любым новым классом, это никакой не sealed, sealed как раз запрещает это делать

>роще полиморфизмом ad-hoc воспользоваться и не ебать мозги


Согласен, но люди периодически спрашивают юнионы, вот я как-то для реддита и написал пример
54 3162403
>>62402

>Ну как же


Чет да, хуйню сказал. Возможно с чем-то спутал.
55 3162495
>>61163 (OP)
Коллеги, года 3 назад к треду был прикреплен очень годный роадмап по вкату. Там советовалась книга по спрингу и курсы Валеева. Сейчас в шапке другой гайд по вкату, дайте ссылку на тот старый
56 3163000
>>62495
Ты про это? https://github.com/EightM/JavaBackendStartGuide

Это какой-то даун-самопиарщик засунул в шапку треда свою хуйню чтобы потом с лебезением перед кабанами показывать количество звёзд. Прямо сейчас в шапке расширенный вариант того гайда, что был в треде с древних времён.

Вот сосачерский оригинал из 2016 года: https://github.com/qqqlll/Java-Thread/wiki/
57 3163256
Как вам новый JEP? В Java 23 завозят.
58 3163261
>>63256
Я в курсе, что это за хуйня. По ней нет документации. Мертворожденный выпердыш.
59 3163395
>>61792

>>больше бойлерплейта


у меня его мало

>>добавление одного поля в базу означает переписывание кучи мапперов


просто сделай одинаковые названия полей для бд и в дто - писать ничего не придется
60 3163471
Кто-нибудь из джавистов оформлял отсрочку от призыва (не от мобилизации, а именно от призыва) в РФ при найме на работу после магистратуры/аспирантуры вузика? Через год заканчиваю аспу. Как работодатели к этому относится? Не будет вопросов по типу нахуй я в аспирантуру пошел если я уже работал? Брат устроился жаба девелопером и получил бронь, но от мобилизации, а мне нужна именно от срочки.
Опыта на жабе нет, решил свичнуться с дата сатанизма, т.к. работаю в лаборатории МухГУ за среднюю зарплату (не по айти, а по региону, что пиздец), естественно собираюсь в резюме напиздеть с три короба. Можно конечно опять в дата саенс, но я хочу иметь несколько опций.
61 3163474
>>63471
Ну и можно не обязательно джаву, а в целом бэкенд из стандартного набора (C#/Python/Go/JS), если кто устраивался, не думаю, что ситуация сильно отличается в плане вероятности получения отсрочки.
62 3163480
Моё мнение про 4о диаметрально противоположно первому посту в треде. Больше не извиняется каждый раз, пишет охуенный код, доступно всем и ещё и дёшево. Просто заебись. Жаль только это по сути враг для программистов.
63 3163487
>>63480

>пишет охуенный код


Пример покажешь? Я как не прошу, она пишет кал... Хотя вполне возможно, что мои запросы слишком сложны.
64 3163490
>>63395
не, есть еще лучше решение - не использовать ддд, и писать придется еще меньше
65 3163494
>>63395

>просто сделай одинаковые названия полей для бд и в дто - писать ничего не придется


сначала сами себе создаем проблемы, а потом героически их решаем, да
66 3163514
>>63471

>Как работодатели к этому относится?


Зависит от компании. В целом должны быть за, потому что тебя с работы не выдернут на срочку, но лично в моей против.
67 3163626
Вышло видео по Billion Rows Challenge, (челлендж по оптимизации джавы), кому интересно что там применяли
https://www.youtube.com/watch?v=9-S_nZ5gzGE
68 3163637
>>63626
ваще пох
69 3163642
>>63637
спринг-девелопер, ты?
70 3163643
>>63642
дыа)
71 3163657
>>63480
Анальники будут коупить до последнего и не верить. У них просто жопу рвёт от факта, что профессия таксиста переживёт программиста, т.к. автопилот для авто нереализуемая хуйня.
72 3163669
>>63657
Таксодаун, срыгос из треда, живо.
73 3163678
Ебусь с HDFS, пытаюсь запустить лабу, на первой пикче, пробовал все YARN-ы, хуй там плавал, каждый раз выдаёт ошибку как на второй пикче, че делать? Могу прислать скрины всех использованных файлов, проверил путь до исполняющего файла питона, вроде всё норм. Главное файлик создаёт пустой, но не заполняет по понятным причинам - не работает нихуя.

путь до исполняющего - #!/usr/bin/python3
Да, тред про Java, а тут питон, но высылает мне ошибки именно Java
74 3163681
>>63678
Там чё-то с джава секьюрити. Запусти от имени администратора со всеми доступами.
75 3163705
>>63681
во-во, там отказывало в доступе, прописал chmod +x на все исходники всё заработало, я в ахуе
76 3163735
2021
@

>ПОХУЙ НА ПРОИЗВОДИТЕЛЬНОСТЬ И КАЧЕСТВО КОДА! ГЛАВНОЕ БЫСТРЕЕ ЧТОБ ПРОДУКТ БЫЛ ГОТОВ!


@
2022
@

>БУГАЕНКО, СЧАСТЬЕ, ЗАЕБИСЬ!


@
2023
@

>ЗАБИВАНИЕ ХУЯ НА ПРОИЗВОДИТЕЛЬНОСТЬ ПРИВОДИТ К ТОМУ, ЧТО ИТОГОВЫЙ ПРОДУКТ РАБОТАЕТ С МИНИМАЛЬНО ДОПУСТИМОЙ СКОРОСТЬЮ, НИЖЕ КОТОРОЙ УЖЕ НИКАК НЕЛЬЗЯ. CPU-TIME ДО СИХ ПОР ОЧЕНЬ ОГРАНИЧЕН И БУДЕТ ОГРАНИЧЕН ВСЕГДА, И РАЗРАБОТКУ СТОИТ ОТТАЛКИВАТЬ ОТ НЕГО. А ВОТ НОВУЮ ПЛАШКУ ОПЕРАТИВЫ ВСЕГДА МОЖНО ДОКУПИТЬ, ОНА Ж КОПЕЕЧНАЯ!


@
2024
@

>НО ЕСЛИ БЕЗДУМНО ТРАТИТЬ ПАМЯТЬ НИКАКИХ ПЛАШЕК НЕ ХВАТИТ...



Сеймы есть? В чём я не прав?
77 3163738
>>63735

>


>? В чём я не прав


В выборе языка программирования.
78 3163739
>>63738
Но ведь я не шарпоговно выбрал.
79 3163751
>>63490

>>не использовать ддд, и писать придется еще меньше


Придется писать очень длинные и плохо тестируемые портянки которые используются всеми сервисами.
Проще написать 5-10 небольших методов в которых используется только то что нужно, даже если местами есть дублирование. А при изменениях меньше вероятность словить баги в неожиданных местах.

>>сначала сами себе создаем проблемы, а потом героически их решаем, да


Не знаю в чем ты проблему увидел. Добавление полей в бд не связано с ддд. Аналитикам и бизнесу вопросы задавай, почему они не предвидели всю бизнес логику заранее.
80 3163760
>>63735

>В чём я не прав?


В том, что плашек всегда хватит. На амазоне можно взять инстанс с 250 ГБ памяти за 1 220,56 USD в месяц. На типичной галере/энтерпрайзе это 1-2 человекодня разработчика по стоимости. То есть если ты через джаву сможешь сэкономить хотя бы 2 MD в месяц - можешь хоть обосраться памятью
81 3163767
>>63760
А там десятки разрабов работают над 1 приложением
82 3163788
>>63760
А более реалистичный кейс 2 ядра 4 гига стоит в год (!) 0.3 человекодня разработчика
83 3163794
>>63751

>Аналитикам и бизнесу вопросы задавай, почему они не предвидели всю бизнес логику заранее.


Хвост машет собакой
Бизнес постоянно не можно предвидеть свою же логику и лучше наймет того, кто с этим может работать, а не воннаби маня-архитектора, которому бизнес блять мешает построить идеальное приложение, лол
84 3163799
>>63739
На шарпе такой хуйни нет.
85 3163840
>>63799
Какой хуйни? Людей, думающих о перформансе? Я и так это знал, 11 раз же. Там только о гетсетах заботятся похоже.
86 3163841
>>63760
У тебя на твоей пеке тоже 250 гигабайт памяти? Да и на таких объёмах кучи уже цпу тайм неплохо так тратиться начинает на саму работу с этой памятью.
87 3163842
>>63760

> 1-2 человекодня разработчика по стоимости.


Только в реальности это в лучшем случае дней 10 с возможностью продления ещё на 10 дней через тактику лейофф + перенайм в другой отдел в два раза дешевле.
88 3163849
Братва, помогите советом вкатуну(не уверен)
Я от скуки начал в марте прсматривать видео и курсы по джаве. С полного нуля. До этого умел только мышкой папки переименовывать.
К настоящему моменту привык уже к idea, освоил Переменные, вложенные циклы, многомерные массивы, научился писать методы, классы, наследование. Сегодня буду вечером смотреть лекцию про полиморфизм.
Так вот эт я к чему.
Я через 2 недели буду увольняться со своей работы( логистика) и уезжаю из ДС к себе в мухосрань на дачу. Буду жить на дача до конца сентября и не работать. И пришла мысль учить джаву по 6-8 часов в сутки все эти 4 месяца.
Реально ли в таком режиме к октябрю(максимум ноябрю, а то потом холодно на даче) выучиться и начинать искать работу? У меня просто выбор между тестировкой и разработкой, очень хочется стратегически продумать - куда я точно смогу за такой срок отучиться и вкатиться на удаленочку.
Выручайте, пацаны. Ну или кидайте танками в мечтателя.
Мне 27 лет, аспирант экономических наук. В 5-8 классе постоянно гонял на олимпиады по математике.
89 3163850
>>63849

> привык уже к idea


Печально.
90 3163852
>>63850
Почему ?
Я это к тому, что до этого с компом на Вы. А в idea уже ориентироваться могу. К новому открыт.
91 3163855
>>63852
В шапке треда недавнее обновление было про то почему идеей пользоваться нельзя если ты вкатун.
92 3163858
>>63855
Хорошо. Спасибо.
93 3163875
>>63841
На моей пеке 12 летней давности джаве памяти хватает без проблем
94 3163877
>>63849
Конечно реально, если тебе усидчивости или интереса хватит
95 3163879
>>63842
Что это за бессвязный поток сознания? Ты реальность рассказываешь из собственного опыта работы в конторе с капитализацией ну хотя бы миллиард долларов?
96 3163913
>>63849

>лекцию про полиморфизм


>научился писать наследование


Что.? Они ж взаимосвязаны. Или ты научился слово extended писать? Пиздато, че.

>И пришла мысль учить джаву по 6-8 часов в сутки все эти 4 месяца.


Мне кажется перегоришь просто. Ну ты главное сюда пиши, няшно будет.
>>63850
Идея наоборот топ для новичка. Я не представляю кто на фул ебале пишет в блокноте, считая, что это чем-то помогает. Во первых, идея подсвечивает желтым, все твои фиговые фичи, ты всегда можешь изучить, а что не так. Плюс ты всегда можешь зажать ctrl и обратиться к коду. И это копание в кишочках тоже ахуеть какой буст. И какие сука аргументы могут быть против идеи? Ууу, привыкает к автокомплиту? А минусы?
97 3163970
>>63735
У нас сервис на говноланге жрёт 600 Гб как говорится - 640 Гб хватит всем и ничего. Главное, что таску вовремя закрыли. А потом ещё создали таску пофиксать эту херню и когда закроем можно репортить что улучшили перформанс на 500%.
98 3163984
>>63735

>2022


>@


>>БУГАЕНКО, СЧАСТЬЕ, ЗАЕБИСЬ!



Чел - ты ща с лагом на пять лет капчуешь. В 2022м Бугаенко уже хуесосили в хвост и гриву литералли все, о чем ты вообще? Когда СВО стартанула, какой то именитый шарпей даже покушение хотел на него устроить.
99 3163998
>>63913
Постараюсь отписывать про процесс.
Ну я от однотипной работы, 2 часов метро в день, зп в 80к в ДС уже перегорел. Так что вообще ничего не потеряю. Зато есть шанс работать удалённо и жить где хочу, да ещё и получать больше сотки. Ну и мне даже интересно пока что учиться( но по 6 часов в день я ещё не пробовал конечно)
Если всё-таки в разработку пойду, то пока набросал пикрил себе темы для изучения.
100 3164011
>>63984

>Когда СВО стартанула, какой то именитый шарпей даже покушение хотел на него устроить.


Тайно добавить ему в проект Спринг, чтобы он умер от кринжа?
image.png20 Кб, 631x116
101 3164019
>>63998
В ооп инкапсуляции, которая не сокрытие, не хватает. Еще рекурсия без оптимизации хвостовой рекурсии нахуй не нужна. Atomic от волатайла мало чем отличается. Тут про CAS речь по идее + атомарность.. Ну и stream api где? Его ж теперь пихают повсюду. Как говорица, for устарел с приходом stream, а if с приходом pattern matching..) А. И главное, женериков нет, ряяя!

Алгосов как-то мало)))
Давай, алгоритм флойда, деикстры, крускала, джарвиса, стек Трайбера, очередь Майкла и Скотта, префиксные суммы, sqrt декомопозиция, мемоизация..))))
102 3164020
>>63751

>очень длинные и плохо тестируемые портянки которые используются всеми сервисами.


Проще написать 5-10 небольших методов в которых используется только то что нужно, даже если местами есть дублирование
Это правда, но причём здесь ддд? С ддд ты просто добавишь ещё один слой абстракции и сложность, которой в твоих проблемах не было изначально. И чем больше функциональности, тем больше этот слой будет вещью в себе, которую нужно поддерживать.

Не буду утверждать, что у ддд зло, но пропагандировать его универсально - прям такое себе. Мне лично долбёжки с jpa хватает.
103 3164049
>>63998
Ну будешь выгорать от однотипных задач, дедлайнов и коллег-кретинов с зп 200к на удалёнке. Немного получше, конечно, но не значительно.

И насчёт алгоритмов чел выше троллит, они, кроме самых базовых, не нужны на дефолтного спринг анальника. Да и апи многопоточки я сомневаюсь что будут сильно спрашивать.

>>64019

>Еще рекурсия без оптимизации хвостовой рекурсии нахуй не нужна


Нужна, потому что могут спросить. Просто важно уточнять, что в джаве в 100% случаев рекурсию с неизвестной глубиной лучше переписать на цикл.
104 3164052
>>63657
Смешные вы все таки, нейропсины. Так рьяно в своей злобе верите, что пишете тулзину для уничтожания наших рабочих мест, а по факту - пишете нам новый интеллисенс. Вам дебилам и невдомек, что пока есть хоть одна строчка написанного кода - всегда будет программист, который ее мейнтейнит.
105 3164060
>>63751

>Аналитикам и бизнесу вопросы задавай, почему они не предвидели всю бизнес логику заранее.



Лицо бизнеса имагинировали?
106 3164061
>>64049

>Нужна, потому что могут спросить.


Хз, мне такая мотивация не нравится, конечно. Типа как в школе учишь не для себя, а для экзамена. Потом закономерно все нахуй забудешь. Лучше никак, чем так.
Тем более рекурсия, все таки "To iterate is human, to recurse divine". Он же хуман, так что.
107 3164074
>>63840

>Какой хуйни?


Жора памяти.
108 3164081
>>64061
Такова реальность. Да и рекурсия довольно интуитивна, чего там учить. Плюс есть задачи, которые проще сначала написать через рекурсию, и потом, отталкиваясь на это решение, переписать на стек+цикл.
109 3164082
>>64074

> Жора памяти.


Пруфы?
110 3164100
>>63794
чел, ну это очевидный сарказм же был
111 3164105
>>64081

>Да и рекурсия довольно интуитивна


Не сказал бы. Плюс в жавке помимо оптимизации хвостовой рекурсии нет рекурсии переменных, ввиду того, что это процесс инициализации, а не связывания. Например вот с помощью такого образа легко определяется полиморфный тип, ака null, без спец языковых средств. Это просто несходящийся ряд. Потом, можно определять разного рода последовательности.

>чего там учить


Например все, что выходит за хвостовую рекурсию. Скажем у нас есть некий список, надо сделать вложенный список, который содержит все возможные перестановки изначального. Это алгоритм O(n^n), т.е. итерация итераций, с помощью фора невыразимо.

>переписать на стек+цикл


Чел.. пик2.
112 3164110
>>63879
Сколько лично ты из этого миллиарда получил, гой?

>НУ И ЧТО ЧТО Я НИЩИЙ? ЗАТО БАРИН БОГАТЫЙ!

113 3164112
>>63875
А я не про проблемы джавы, а про проблемы криворуких разрабов серущих в память.
114 3164222
>>64105

>с помощью фора невыразимо


Любая рекурсивная функция может быть выражена через цикл. Либо я тебя не так понял. К тому же, это типовая проблема, у которой можно нагуглить итеративную реализацию на вики https://en.wikipedia.org/wiki/Heap%27s_algorithm . И по сложности там вроде бы O(n!).

>чего там учить


>Например все, что выходит за хвостовую рекурсию


>Плюс в жавке помимо оптимизации хвостовой рекурсии нет рекурсии переменных


Я про то, что понять, что такое рекурсия и общую структуру рекурсивной функции не сложно. Ну, и наверное необязательно прям сильно в них углубляться. Я вот не знал до этого про рекурсивные переменные, и счастливо жил свою жизнь. Кстати, в js есть что-то очень похожее, если я не ошибаюсь.

>пик2


Спасибо, не знал про эту фичу.
115 3164268
>>64222

>Любая рекурсивная функция может быть выражена через цикл.


Ну это-то да. Но там блин стек в том или ином виде используют. Это та же рекурсия, только сбоку. Еще к слову, можно рекурсию полностью перевернуть верх тормашками и получить дп.

>И по сложности там вроде бы O(n!).


Тут да, ошибся.

>Я про то, что понять, что такое рекурсия


Нуу, концептуально в принципе мб. Но типа когда доходит до практики и тебе надо проанализировать не просто какую-то итерацию, а все веточки, которые переходят в другие веточки... Задача становится просто на уровень анализа многопоточки.

>и счастливо жил свою жизнь


В принципе я про это говорю, что в жаву занесли вот некоторые концепции, до ума их не довели и смысла от них так мало, что проще хуй забить.

>Кстати, в js есть что-то очень похожее


Надо будет поискать.
116 3164458
>>63970

>У нас сервис на говноланге жрёт 600 Гб


Как это в принципе возможно? Что вы там храните?
117 3164460
>>63913

>И какие сука аргументы могут быть против идеи?


Слишком легко. Надо страдать, иначе несерьезно
118 3164463
>>63998

>Философия Java


Так это для Java философов, разве это ты?
119 3164766
>>63514
Спасибо за ответ.
Вчера провёл небольшой рисёрч, скорее всего, как я задумал не выйдет. Надо устраиваться в ближайшие полгода пока отсрочка аспирантуры действует, а потом через год получить отсрочку по работе. Чёт мне такой вариант сразу в голову не пришёл и я уже думал, что с горя схожу в армию, лол. Надо только договориться с Кабаном Иванычем чтобы он переустроил меня по совместительству, т.к. он у меня научрук. Ну и всего-навсего за полгода выучить жабий бэкенд.
120 3164904
Мужики, а ведь джава всё переживет. Это такой же фундаментальный базированный язык как с++. Все эти го, шарпы - это временно и скоро пройдет.
121 3164909
Хочу найти работу на удаленке, чтобы сидеть дома и никуда не ходить.
Такое возможно при работе Java Spring программистом?
Или .Net Core лучше учить?
122 3164910
>>64909
Это Легаси для дедов, которые в банках мейнфреймы обслуживают. Молодежный вариант - это голанг. Его и бери.
123 3164974
Поясните за ISR в кафке: вот допустим есть лидер партишна и одна ISR. Лаг ин-синк реплик допускается стандартный, 10 секунд. Допустим, ISR отваливалась на 9 секунд и переставала фолловить записи в лидера, а в это время сам лидер упал. После чего ISR снова поднимается и ее выбирают новым лидером. Значит ли это, что потеряются записи за последние 9 секунд?
124 3164987
>>63000
Спасибо, именно то что искал. Чмок тебя в пузико
image.png24 Кб, 955x606
125 3165034
Джависты, нужна помощь. Пытаюсь накатить Maven, а он не может скачаться, так как блокируется доступ брандмауэром, а доступа к админке у меня нет.
Решил со своего домашнего установить локально. Скачал .m2 и закинул на рабочий комп, но мавен не стартовал. Перезапус и чистка кэша не помогла, какие еще есть способы, кроме получения доступа к админке?
126 3165043
Вопрос анон, во всех обучениях рано или поздно требуется создать какой-то алгоритм, ну типа для проженных элементырнй аля бинарный поиск , деление массива , слияния и тд. Так вот это я должен сам допереть до таких алогосов, такое вообще возможно? А если сам не могу , то всё ?
127 3165080
>>65043

>А если сам не могу , то всё ?


Значит ты не кто-то уровня деикстры. Если хочешь именно придумывать алгосы, читай кнута. У него целью стоит, научить именно тому самому искусству придумывания алгоритмов, посредством того, что тебе дадут все необходимые для этого кирпичики, плюс наиболее общий методы, которыми можно их комбинировать. Также методы для анализа, тобою сделаного.
128 3165197
>>65034

>Скачал .m2


.m2 это папка с конфигурацией и локальным репозитории, это не сам мавен. Просто скачай zip архив с сайта и разверни в любую папку где есть права на запись. И настрой M2_HOME.

Как же хорошо, что есть idea. Всё подсказывает, сама всё скачает и поставит. Это всё глупые ретрограды считают, что надо уметь ручками всё делать. В 2к24 это уже не надо. Если что, можно ЧатГПТ спросить.
129 3165203
>>65197
Вообще-то в идее есть свой мавен.
130 3165210
>>65197

> Всё подсказывает, сама всё скачает и поставит.


Только вот инвалидировать кеши сама не умеет.
131 3165212
>>65197

Додик, м2 это процессор эпла
132 3165266
>>64458
Например всю базу данных выгружать в оперативку. Это кстати идея неплохая в некоторых случаях, и даже 600 гигабайт при наличии 640 гигабайт памяти всего может быть нормой, так как это снижает латенси в ноль.
133 3165277
>>65266
А если упадёт? Синхронизации нет?
134 3165278
>>65277
Никто не мешает при каждом обновлении данных (асинхронно) записывать обновление в холодную бд.
135 3165279
>>65034
Попробуй оффлайн режим через сеттингс https://www.baeldung.com/maven-offline
136 3165283
>>65278
Так тем более, эта штука может упасть посередине транзакции и привет неконстстентные данные в базе
137 3165286
>>65283
Каким образом?
138 3165288
>>65197

>Как же хорошо, что есть idea



Это печально. Я скачал apache-maven-3.9.6-bin.zip разархивировал в директорию с проектами, прописал M2_HOME в винду из гайда по ютубу, а он всё еще не работает. как же хуева без админки
139 3165289
>>65288
В PATH-то добавил? И перезагрузить пеку не забудь.
140 3165349
>>65289
Добавил и перезагрузил. без изменений
141 3165358
>>65349
Долбоёб значит. Ты bin добавил или основную папку?
142 3165372
>>65034
В идее можно скачать мавен,поищи в настройках. Или можешь использовать враппер
143 3165398
>>65372

>а он не может скачаться, так как блокируется доступ


враппер тоже не работает

>>65358
В bin. сюда бы не пришел не будь я долбаебом
144 3165468
>>65288

>он всё еще не работает.


Ты может для разнообразия, покажешь ошибку? И какую-то простейшую диагностику проведешь, типа mvn --version
Не?

>как же хуева без админки


Ты имел ввиду без мозгов?
image.png1 Кб, 345x41
145 3165575
>>65468
Чего ты такой токсик?

Ошибка на постоянке: Cannot connect to the Maven process. Try again later. If the problem persists, check the Maven Importing JDK settings and restart IntelliJ IDEA

Иногда проскакивает: Error
И как-то была:
java.util.concurrent.ExecutionException: java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is:
java.net.SocketException: Connection reset
146 3165639
Есть кто для своего сайта использовал джаву?
Ну прям реально сервер арендовал или vps? Сколько памяти жрет дефолт-сайт под небольшой нагрузкой?
147 3165703
>>65639

>реально сервер арендовал или vps?


Что ты имеешь ввиду под "реально сервер"? Физический сервер? Ну в этом смысла нет, ибо найти физический сервер под сайт тяжело.

>Есть кто для своего сайта использовал джаву?


А смысл? Юзни тильду или что-нибудь на стеке пыхи и джээса

>Сколько памяти жрет дефолт-сайт под небольшой нагрузкой?


На джава много :) (для простого лендинга)

А какая у тебя нагрузка будет на сервер?

А вообще вопрос нахуй не корректен, учи матчать.
148 3165725
>>65703
В шарп треде оказались компетентнее. Нет своих проектов, зачем отвечать?

Думаю на джаве будут около такие цифры
>>3165685 →

Мне просто было интересно, можно будет удержаться на впске с 512 мб, для классического сайта.
149 3165899
Анон, как в этом ТЗ реализовать работу с многопоточкой? Я нихуя не понимаю, а попробовать сделать интересно

Данный документ содержит описание стандартного тестового задания для соискателей на должность Junior Java разработчика.
Общее описание

Необходимо разработать приложение в соответствии с изложенными ниже требованиями.
Требования
Общие требования

Архитектура - Java SE 8.0 (или выше), использование библиотек и фреймворков на усмотрение исполнителя.
Должна быть система логирования (на основе готового решения, например Log4j). Приложение должно логировать в файл любые действия, приводящие к изменению данных. Приложение должно корректно обрабатывать и логировать ошибки.

Структура данных

В приложении должна быть сущность Account (счет) содержащая поля:

ID (строковое) - идентификатор счета
Money (целочисленное) - сумма средств на счете.

Функциональные требования

При запуске приложение должно создать четыре (или более) экземпляров объекта Account со случайными значениями ID и значениями money равным 10000.
В приложении запускается несколько (не менее двух) независимых потоков. Потоки должны просыпаться каждые 1000-2000 мс. Время на которое засыпает поток выбирается случайно при каждом исполнении.
Потоки должны выполнять перевод средств с одного счета на другой. Сумма списания или зачисления определяется случайным образом. Поле money не должно становиться отрицательным, сумма money на всех счетах не должна меняться.
Решение должно быть масштабируемым по количеству счетов и потоков и обеспечивать возможность одновременного (параллельного) перевода средств со счета a1 на счет a2 и со счета a3 на счет а4 в разных потоках.
Результаты всех транзакций должны записываться в лог.
После 30 выполненных транзакций приложение должно завершиться.
149 3165899
Анон, как в этом ТЗ реализовать работу с многопоточкой? Я нихуя не понимаю, а попробовать сделать интересно

Данный документ содержит описание стандартного тестового задания для соискателей на должность Junior Java разработчика.
Общее описание

Необходимо разработать приложение в соответствии с изложенными ниже требованиями.
Требования
Общие требования

Архитектура - Java SE 8.0 (или выше), использование библиотек и фреймворков на усмотрение исполнителя.
Должна быть система логирования (на основе готового решения, например Log4j). Приложение должно логировать в файл любые действия, приводящие к изменению данных. Приложение должно корректно обрабатывать и логировать ошибки.

Структура данных

В приложении должна быть сущность Account (счет) содержащая поля:

ID (строковое) - идентификатор счета
Money (целочисленное) - сумма средств на счете.

Функциональные требования

При запуске приложение должно создать четыре (или более) экземпляров объекта Account со случайными значениями ID и значениями money равным 10000.
В приложении запускается несколько (не менее двух) независимых потоков. Потоки должны просыпаться каждые 1000-2000 мс. Время на которое засыпает поток выбирается случайно при каждом исполнении.
Потоки должны выполнять перевод средств с одного счета на другой. Сумма списания или зачисления определяется случайным образом. Поле money не должно становиться отрицательным, сумма money на всех счетах не должна меняться.
Решение должно быть масштабируемым по количеству счетов и потоков и обеспечивать возможность одновременного (параллельного) перевода средств со счета a1 на счет a2 и со счета a3 на счет а4 в разных потоках.
Результаты всех транзакций должны записываться в лог.
После 30 выполненных транзакций приложение должно завершиться.
150 3165908
>>65899
О, я такое делал.
Там единственная сложность в реализации transfer. Можешь отсюда спиздить https://jcip.net/listings/InduceLockOrder.java

Задача на самом деле оч простая. Решение свое приводить не буду, поскольку там такой ад из женериков, что лучше не видеть...
151 3165913
>>65286
записал форейн ключ
приложение упало
соответствующая сущность по ключу не записалась
и так на множестве уровней связей
152 3165914
>>65639
Смотря какой сервер поднимешь на джаве. Вон джавалин в простое 50 мб, под небольшой нагрузкой у меня так же примерно жрал
Спринг наверное больше жрать будет. Оптимизировать джаву всегда можно.
153 3165916
>>65899
Делаешь new Thread(() -> {
while (!Thread.isInterrupted()) {
Thread.sleep(new Random().nextInt())
... обработка
}
})
154 3165917
>>65725

>Мне просто было интересно, можно будет удержаться на впске с 512 мб, для классического сайта.


Конечно
155 3165918
>>65916
Слушай, а какой у тебя грейд? Просто для оценки..
156 3165919
>>65575
проверь что у тебя овнер папки .m2 - это тот же пользователь, под которым ты мавен запускаешь
157 3165923
>>65918
У меня нет грейда, я уехал работать на юникорн давно, и никогда в этой российской системе миллиона грейдов не разбирался. Сейчас числюсь как сеньор, но с другой стороны у нас все поголовно сеньоры.
158 3165925
Посоветуйте статьи, чтобы разобраться в soap и веб-сервисах с soap. В гугле на первой странице одно говно. Не знаю, по каким источникам изучать эту тему.
159 3165927
>>65925
туториалспоинт пробовал?
https://www.tutorialspoint.com/soap/what_is_soap.htm
image.png32 Кб, 772x318
160 3165931
>>65923
Хмм. Ну короче, Random в многопоточке не применяют, для этого есть ThreadLocalRandom. Плюс вот у тебя sleep и проверка флага в цикле. На самом деле у них коллизия, типа одно флаг стирает, потому надо то ли его восстанавливать в исключении, то ли еще ч. Плюс эта залупа, ну такоое.
Я бы сделал как на пике.
161 3165932
>>65288
Попробуй еще вот это (localrepository)
https://howtodoinjava.com/maven/change-local-repository-location/
По умолчанию оно качает в C/Users/Ты/.m2, видимо ты не можешь там папки создавать. Сделай <localRepository>папка/с/проектами</localRepository>
162 3165933
>>65913
А если оно упадёт даже того, как ты этот форейн ключ в оперативку запишешь, долбыч?
163 3165934
>>65931

>На самом деле у них коллизия, типа одно флаг стирает, потому надо то ли его восстанавливать в исключении, то ли еще ч


одно другое не стирает, флаг сбрасывается при поимке исключения
код вне слипа ты не прервешь без флага

>Ну короче, Random в многопоточке не применяют, для этого есть ThreadLocalRandom


Тут разницы нет, но узнаю российское вахтерство, как домой вернулся

>Я бы сделал как на пике.


Уступаю тебе позицию джуна

Особенно кстати классно создавать целый эзекьютор для 1 треда, да и лямбды, да и трай с ресурсами, гарантирую только за это +3 грейда тебе
164 3165935
>>65934
Не хватает на скрине только стримов и какого-нибудь каррирования, ну чтобы понятно, что серьезный разработчик, а не лох какой-нибудь
165 3165939
>>65933
Ты не понял. Вот у тебя обновился стейт в памяти, накидались какие-то сущности, связи и .т.д. Теперь ты начинаешь синхронизацию с настоящей БД (вероятнее всего оригинальные транзакции к этому моменту не сохранились, поэтому просто сливаешь разницу в БД). На середине слива приложение падает - база закоррапчена. Я уверен конечно что скорее всего такого не происходит, но звучит очень хрупко.
166 3165941
>>65939
Даун, транзакции не магическим образом безопасны, а за счёт их атомарности. Все те же самые проблемы что есть в этом подходе есть и в классическом. Просто делаешь слив атомарным и всё.
167 3165943
>>65941
А, вы решаете это просто потерей данных? Тогда ясно
168 3165945
>>65943
А как тут без потери данных?
169 3165947
>>65934

>флаг сбрасывается при поимке исключения


Ну я про это и говорю, надо впендюривать внутрь цилка try/catch который будет восстанавливать этот флаг. Иначе будут два разных способа обработки, взависимости от того, в каком же месте произошло прерывание.

>создавать целый эзекьютор для 1 треда


>запускается несколько (не менее двух) независимых потоков


>Решение должно быть масштабируемым по количеству счетов и потоков


Ладно.

>Тут разницы нет,


Тут разница есть. Не надо создавать 100500 экземпляров рандома.

>Уступаю тебе позицию джуна


Фига щедрый.
>>65935
Ты типа новые слова выучил? Рад за тебя.
170 3165948
>>65725
Лол 512 за глаза
171 3165951
>>65725
Джава изначально жрёт около 20-30 мегабайт.
172 3165955
>>65945
Действительно, мне в банке так и сказали
173 3165957
>>65725
Только Xmx поставь, потому что у дажвы такая оптимизация, что она жрёт всю память что дают, лишь бы мусор пореже собирать и пореже память у ОС запрашивать
174 3165959
>>65947

>надо впендюривать внутрь цилка try/catch который будет восстанавливать этот флаг.


это если ты планируешь переиспользовать поток после интеррапта
в твоём примере у тебя поток переиспользуется, потому что это пул, в моём - нет, интерруптнул и выкинул
Восстанавливать флаг просто потому что "тут так заведено" - очень странное решение
image.png13 Кб, 513x159
175 3165970
>>65959
Странно не странно, но оно хотя бы к подобному не приведет.
176 3165972
>>65970
Просто оберни цикл трай кэтчем и не приведет
177 3165975
>>65972
Тут не спорю. Просто правило восстанавливать флаг достаточно простое и смысла его игнорировать практически ноль. Надо бы заставить идею автоматом это генерить, а не то что она ставит.
image.png115 Кб, 912x701
178 3166006
>>65975
Изи.
нахуя.PNG5 Кб, 371x71
179 3166018
>>65931
Позволь доебаться...
Нахуя?

Мимо
180 3166054
>>63471
Защитись и всё. Кандидатов не призывают.
image.png113 Кб, 780x686
181 3166057
>>66018
Пик.
Вот он тоже про это говорил, в принципе >>65959

>это если ты планируешь переиспользовать поток после интеррапта


>в твоём примере у тебя поток переиспользуется, потому что это пул,

clearInterruptsForTaskRun.PNG5 Кб, 491x100
182 3166070
>>66057

Так а кому этот интеррапт восстановленный сдался, если поток - пуловый, и выше по стеку нет нихера? Я понимаю еще того анона у которого цикл по интеррапту был, но тут то цикла нет. Пулу разве не похуй? Он же его сам притрет при старте новой таски, разве нет?
image.png61 Кб, 532x549
183 3166071
>>66070
По идее не должен. Типа это стандартный способ завершить такую таску, не убивая весь пул разом.
184 3166220
Какие подводные взять котлин в бэкенд? Вроде та же джава, слышал только компиляция дольше.
185 3166237
>>66220

>Вроде та же джава


А зачем его брать в таком случае?
Из самого очевидного, мокито там не работает.
Еще не очень понятные некоторые специфические моменты связанные с примитивами, но думаю это-то пофиг.

В общем-то с приходом java 21 чет как-то не видно прям явных явных преимущеаств котлина над жабой.
186 3166258
>>64904
Гойда братцы! Так есть!
187 3166276
>>66237
Удобнее кажется.

>Из самого очевидного, мокито там не работает.


Гугл вроде говорит что все норм.
image.png50 Кб, 615x308
188 3166326
>>66276

>Удобнее кажется


Ну раз кажется... То иди в тред котлина, тут вообще мало кто на нем пишет

>Гугл вроде говорит что все норм.


Ты гуглить не умеешь.
189 3166392
>>66326

>5 yrs ago.


Ясно
190 3166435
>>65575
>Чего ты такой токсик?
Мне не нравится когда в разработку идут люди которые даже не "уверенный пользователь ПК".


>>65575

>Картинка


В консоли выполни
where mvn
Должно показать какие инсталляции мавена у тебя есть на машине. В идеале должна быть одна, та которую ты установил.
Дальше
where Java
Аналогично, смотришь какие инсталляции JDK есть. Нужно чтобы твоя JDK была первой. Если нет, то переопредели JAVA_HOME и JDK_HOME на твою JDK.

Дальше проверь что есть права записи на папку .m2 попробуй зайти туда и создать файл.
191 3166439
>>66326
https://github.com/mockito/mockito-kotlin

даже kotlin dsl завезли
192 3166461
>>66439
Ты же понимаешь, что это только доказывает мой тезис? Типа мокита так плохо работает в котлин, что пришлось делать форк и править.
Притом ведь это тоже такое себе и используют обычно mockk.
>>66392
))))
193 3166499
Насколько на жабе всё хорошо у вкатунов? Уже лет 5 пишу на c# + wpf, заебало, перспектив нет, денег нет, хочу в бэк. Думал про шарповый бэк, раз уж один хуй с ним работаю, но там такая мешанина в технологиях, что даже просто понять что учить тяжело, жаба как-то более приятно выглядит в этом плане. Думаю года полтора учиться и пробовать устраиваться хоть куда за опытом. Может даже говнокурс купить, чтобы потраченные деньги мотивировали не бросать, а то после работы ЕЩЁ в коде копаться будет тяжко, уже осознаю.
194 3166524
>>66499
Чел,если ты собираешься покупать бесплатную информацию,то ты дегенерат,независимо от стека
195 3166533
>>66524
Я покупаю мотивационный пинок под зад в виде сожаления от потраченных денег, ну и чтобы моё говно иногда ревьюверы смотрели. Хотя я пока не уверен, стоит ли оно того, может просто пива купить себе на эти деньги для мотивации.
196 3166547
>>66533
Размышления уровня буду учиться в вузе на платке,будет мотивация не проебывать пары
197 3166551
>>66499
Сколько платят тебе сейчас?
Про swift не думал ?
198 3166554
>>66547
Кстати, проебываю все равно. Бля, как люди вообще в вузах учаться, это ж пиздец уныние.
199 3166566
>>66551

>Сколько платят тебе сейчас?


Даже стыдно признаваться
200 3166568
>>66551

>Про swift не думал


Ты про разработку под ось? Как-то последние пару лет это всё выглядит довольно мёртвым. Пробовал ведро ковырять немного, но так.
201 3166571
>>66547
Ну я так последние пару курсов доучивался на заочке, лол, просто было жаль уже потраченных денег
202 3166811
>>66435
понимаю, не осуждаю

>where mvn


C: ... \bin\mvn
C: ... \bin\mvn.cmd

>where java


C:\Windows\java.exe

>Аналогично, смотришь какие инсталляции JDK есть. Нужно чтобы твоя JDK была первой. Если нет, то переопредели JAVA_HOME и JDK_HOME на твою JDK.


Что значит "Нужно чтобы твоя JDK была первой"?

Права на запись в папку .m2 есть
203 3167040
2024 год, судя по всему, будет первым годом, когда прекратится рост ежегодно опубликованных пакейджей в мавен централе.
204 3167041
>>67040
Причём мавен централ был последним из крупных репозиториев что держались. Все остальные лет 5 назад тоже прошли пик и сейчас в них публикуются единицы.
205 3167131
>>67040
Почему
206 3167292
>>67131
Экстраполяция количества опубликованных пакеджей за прошедшую часть 2024 года.
207 3167542
>>66811

>C: ... \bin\mvn


>C: ... \bin\mvn.cmd


Самое важное, ты как раз и обрезал. Молодец. Если там путь к твоей инсталляции мавена, то ок.

>C:\Windows\java.exe


Если ещё не сделал, то установи JDK в какую нибудь свою папку и пропиши путь в JAVA_HOME и JDK_HOME и добавить %JAVA_HOME%\bin первым в PATH.

Дальше снова в консоли попробуй mvn --version
208 3167614
>>66499

>мешанина в технологиях, что даже просто понять что учить тяжело, жаба как-то более приятно выглядит в этом плане


Толсто. Мне казалось у майков вполне себе определенный стек который везде и используется, разве нет? А вот в джава мире как раз настоящий зоопарк из технологий, что ты можешь пройти через 3 проекта и на каждом из общего будет только джава, а все остальное первый раз в жизни будешь видеть
209 3167631
>>67614
С джавой тоже толсто. Джава оккупирована спрингокультом - кроме спринга там редко что увидишь.
210 3167644
>>67631
Причем тут фреймворк вообще
Я про все остальное что для разработки нужно, или по-твоему в вакансиях просто так стек состоит из 20-30 наименований всякой хуеты?
211 3167664
>>66533

>>мотивационный пинок под зад в виде сожаления от потраченных денег


Это наеб гоев, далеко не всех это мотивирует.
Скорее будет наоборот - ты заплатил, а значит можно расслабиться, щас за тебя все изучат и на жесткий диск просто запишут.

>>иногда ревьюверы смотрели


В целом там банальные советы с примесью вкусовщины. Если денег дохуя - мб есть польза.

>>67614

>>на каждом из общего будет только джава, а все остальное первый раз в жизни будешь видеть


Максимум что отличаться будет - кролик вместо кафки, жук вместо хибернейта и гуава вместо апач комонс.
Бывают конечно говноеды кто вместо спринга свой велосипед изобретает или привет из 2007 передает, но я лично таких не видел.

>>67631

>>спрингокультом


Как будто что то плохое. Без спринга и джава нахуй не нужна.

>>67644

>>в вакансиях просто так стек состоит из 20-30 наименований всякой хуеты?


Я там регулярно в вакансиях на мидла-сеньку вижу гит.
212 3167708
Есть вопрос. Вот есть те кто крутят опыт, и условно с 0 днями реального опыта чудом наебывают всех и проходят собес на вакансию куда требовалось 3-4 года опыта. А что эти люди дальше делают, чтобы их не выкинули на мороз через пару недель? Ведь даже конченный дебил заметит что чел не проработал ни дня в своей жизни когда он начнет выполнять(не выполнять) таски. Или делать таску на 4 часа неделями.
обобщения и интерфейсы 213 3167781
Можно ли при создании обобщенного класса потребовать, чтобы сырой тип имплементировал интерфейс?
К примеру
public class C1<T implements countable>{...}?

При попытке такое сделать, javac стал ругаться на такое.
image.png17 Кб, 703x204
214 3167782
>>67781
Чел, напиши просто extends вместо implements.
215 3167849
>>67708
Думаю, смотря куда попадет. Бывают конторы, где онбординг длится месяцами и на испыталку никакой вменяемой программы нет.
А бывает, что с первых дней ебут и требуют результата.
216 3167851
>>67664

>Максимум что отличаться будет - кролик вместо кафки, жук вместо хибернейта и гуава вместо апач комонс.


Толстишь, либо ты без реального опыта.

За последние 7 месяцев я подключался к 4 разным проектам в разных компаниях (я руковожу несколькими аутсорс командами и иногда приходится закрывать дыры своим жирным телом), на одном проекте был quarkus, на другом - спринг (без сапога), на третьем вообще использовали ебучий vert.x столетней давности с ебучим груви в качестве dsl. И все это в достаточно крупных компаниях с "налаженными стандартами разработки".

Все проекты были относительно новыми (максимум 2 года хуете на груви)
217 3167901
>>67851

>>quarkus, на другом - спринг (без сапога), на третьем вообще использовали ебучий vert.x столетней давности с ебучим груви в качестве dsl


Это я и записал в велосипеды и легаси.
218 3167964
Не понял, как это возможно. Если исключение было выкинуто при конструироании, то как дальше оно могло возникнуть? Или тут имеется ввиду, что одно исключение в readLine, а второе в close?https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
219 3167969
>>67964
И что будет, если исключение произойдет при конструировании объекта?
220 3168029
>>67851
То что ты такой хет трик собрал, говорит лишь о твоей удачливости. Не проецируй на экосистему.

Да и как будто что то плохое. Каждое из вышеперечисленного решало либо решает свои задачи в свое время. Наоборот хорошо, что экосистема не схлапывается в спринговую сингулярность где бы она окончательно подохла. Ты инжернер или крудошлеп, в конце то концов? Если первое, работа с экосистемой для тебя не должна быть проблемой.

>>67644

>Я про все остальное что для разработки нужно, или по-твоему в вакансиях просто так стек состоит из 20-30 наименований всякой хуеты?



Где ты такие вакансии видел?
image.png58 Кб, 767x729
221 3168186
>>67964
Насколько я могу понять, тут имеется ввиду, что при использовании final подавляется исключение вазыванное при чтении файла, на исключении при close. В try-with-resource все наоборот. Вообще, можно просто декомпилировать то, что оно генерит.
>>67969
По идее просто выбросится это исключкение и усе.
222 3168197
>>68186

> По идее просто выбросится это исключкение и усе.


А не может быть такого, что у меня объект сложный autoclosable, я в конструкторе много всего наоткрывал, но все равно в какой то момент получил исключение? Что тогда? Или это я долбоеб и так писать нельзя? Но если все же напишу, что будет? Спасибо
223 3168211
>>68197
Так он все равно теоретически нихуя не сделает, поскольку объект даже сфомроваться не смог. Это конечная считай.
Тем более у тебя перед глазами код.

>Или это я долбоеб и так писать нельзя?


Честно без понятия, никогда не приходилось писать такую ебань. По идее ты сам как-то должен обеспечить закрытие при исключительной ситуации. Ну или как варик использовать finalize. Но это такоое.
224 3168221
>>68211

>Так он все равно теоретически нихуя не сделает, поскольку объект даже сфомроваться не смог. Это конечная считай.


>Тем более у тебя перед глазами код.


Ну что то же в конструкторе выделилось? Оно будет ждать теперь пока его гц прибьет?
225 3168240
>>67614

>у майков вполне себе определенный стек


Нет. Там хватает говна типа blazor, всяких razor pages плюс есть asp.net core, а есть просто asp.net, а ещё asp.net mvc, плюс entity framework есть обычный, а есть опять-таки core. Говнища там накопилось уже просто уйма.
226 3168312
>>68197

>А не может быть такого, что у меня объект сложный autoclosable, я в конструкторе много всего наоткрывал, но все равно в какой то момент получил исключение? Что тогда? Или это я долбоеб и так писать нельзя? Но если все же напишу, что будет?


Если у объекта несколько ресурсов, то понятно что может быть ситуация когда ты первый создал, а второй сфейлился. И тогда создание объекта не пройдет, потому что вылетит эксепшн, но первый ресурс уже создан и не будет закрыт.
В принципе так делать можно, но тогда надо аккуратно работать с ресурсами, чтобы ничего не забыть закрыть.
https://pastebin.com/Hn4kgk1n
227 3168347
>>68221

>Оно будет ждать теперь пока его гц прибьет?


Ну обычно ресурсы выделяет ос. Тут ситуация примерно как с дедлоком. Даа, гц может убить все нахер, но не будет этого делать. Это все на плечах разраба, жвм тут не вмешивается.
Так что в итоге у тебя будет висеть ресрус, пока его не заберет хозяин или жвм остановится.
228 3168456
Пробую снова вкатиться DZHAVA RAZRABOTCHIKOM, хоть уже и потерял надежду, потому что мамка вот-вот погонит нахуй. Ваше мнение? Начался ласковый хаир и у меня получится? Или как всегда хр увидят инцела на фотке и прожмут отказ?
229 3168466
>>68456

> Пробую снова вкатиться DZHAVA RAZRABOTCHIKOM, хоть уже и потерял надежду, потому что мамка вот-вот погонит нахуй.


Немного двусмысленно получилось: вкатываюсь потому что мамка погонит нахуй, а не потерял надежду поэтому.
230 3168502
>>63849
Выучиться реально, найти работу нет. Джунов сейчас ебут на уровень мидла, только крутить опыт и прорываться через пулеметные заграждения. Иначе есть шанс искать работу за 40к/мес полгода с лишним
231 3168530
>>68456
почему именно джава?

ну и кстати, читал книги какие-то для вката? есть мнение по ним?
232 3168558
>>68530
Я 4 года программирую уже, я тут половине треда в дедушкинаставники гожусь, какие книги. Меня не берут из-за того, что я инцел.
233 3168594
>>68558

>Я 4 года программирую уже


Ну я где-то 6-7 уже. И че это меняет, лол? Ты реально ни одной книги не прочел? Типа ты ставишь себя не просто на уровень условных кнута, гетца, а выше, хули мне этих дебилов читать, я ж 4 хода пограмирую, ууу.
Пиздец.

>Меня не берут из-за того, что я инцел.


Ты рофлишь? Да-да именно поэтому.
234 3168598
>>68502

>уровень мидла


Тем временем уровень джава-миддла - добавить параметр в апи и прокинуть его в базюльку
235 3168605
>>68594

> Ну я где-то 6-7 уже. И че это меняет, лол? Ты реально ни одной книги не прочел? Типа ты ставишь себя не просто на уровень условных кнута, гетца, а выше, хули мне этих дебилов читать, я ж 4 хода пограмирую, ууу.


> Пиздец.


Я думал ты имел в виду базовые книжки по синтаксису типо шилдта. На самом деле я и более продвинутые книги тоже не то чтобы много читал (хоть и читал), но тут потому что времени мало просто у меня.
236 3168611
>>68605

>типо шилдта


Этот гений просто доку жабы копирует. Открывашь https://docs.oracle.com/javase/tutorial/ и https://docs.oracle.com/en/java/
Даже платить не надо, так еще и интерактивно.

>хоть и читал


Ну ты скажи хоть какие.. Изначально вопрос-то в этом был. К слову, а 17 глава спеки( https://docs.oracle.com/javase/specs/jls/se22/html/jls-17.html ) как тебе?
237 3168615
>>68611
Элегантные объекты, алгоритмы Сейджвика, книга с поездами.

> Даже платить не надо, так еще и интерактивно.


Пираты не платят, а Шилдт есть на русском.

> Изначально вопрос-то в этом был. К слову, а 17 глава спеки( https://docs.oracle.com/javase/specs/jls/se22/html/jls-17.html ) как тебе?


Не читал спеку.
238 3168617
>>68347
>>68312
Спасибо
239 3168677
>>68029

>Наоборот хорошо, что экосистема не схлапывается в спринговую сингулярность где бы она окончательно подохла.


Дак я тоже так считаю, местные аутисты дезинформируют.
240 3169077
>>68530

>почему именно джава?


потому что лучший язык современности
241 3169080
>>69077
Только за пределами этого треда так не говори.
242 3169081
>>68502

>найти работу нет


>Иначе есть шанс искать работу за 40к/мес полгода с лишним


ну так есть работа или нет? какой стул-то выберешь?
243 3169094
>>69077
А ты на скольких других прогал? Ну типа ты делаешь эту оценку из синдрома утенка? У меня например скорее всего он..
244 3169098
>>68502
А после года пахоты за 40к реально потом сразу до 150 бустануть? Или годами расти нужно
245 3169107
>>69098
Я лет 5 назад почти так и сделал. Первые полтора года работал за 70к (стартово было 30к, потом немного повышали), потом устроился на 250. Еще через год 350. Но у меня профильная вышка.

мимопроходил
246 3169113
>>68615

>Элегантные объекты



Это некрономикон от мира разработки. Ты теперь проклят.
247 3169121
>>69094
Около года на срр, года 4 суммарно на джс и тайпскрипте, немного на питоне, на котлине, на си, прорабатывал го чтобы узнать что же там такого хорошего в отличии от джавы, сейчас смотрю зиг.
По инфраструктуре, скорости компиляции, объему библиотек, производительности разработчика и даже скорости джава топ язык. Сейчас особенно плотно приходится работать с срр и это пиздец, ебля с билдами, мейк файлами, тулчейнами, заголовками, миллионом конструкторов на каждый чих.
248 3169137
>>69121
Эх, раста нет и какого-нибудь фп яп. Может потом сделаешь экспертную оценку в трикю? ё

Нуу cpp просто мусорный язык, честно говоря. Не знаю как на нем пишут. И с котлином интересно, говорят же это прокачанная жаба, чем тебе не зашло?
249 3169156
>>69137
А смысл? Раст, как и функциональщина - это чисто интеллектуальный онанизм, а я в основном смотрю на яп как инструмент для решения реальных задач.
У раста была интересная идея в теории, но они скатились до такой сложности, что банальный срр с умными указателями проще и быстрее разрабатывать, да он ещё и распространён несоизмеримо больше.
А уж о скорости билдов раста ходят легенды.
Функциональщина - я вообще не встречал проектов, где бы она ускорила или упростила разработку, или решала бы задачи которые императивные языки решить её могут.
250 3169166
>>69137

>И с котлином интересно, говорят же это прокачанная жаба, чем тебе не зашло?


У котлина тоже была интересная идея в теории, но в реальности язык получился настолько гибким, что каждый стремится как можно больше его изогнуть, что выливается в часто не читаемое месиво. Например он исповедует заповедь что наследование это плохо, везде нужно делать делегирование. В результате там где в джаве были классы с абстрактным функционалом - там файлы, с набором разрозненных функций -делегатов и это типа другое.
Плюс к тому очень неопределённо работает с примитивами джавы, а это основной инструмент высокоскоростных оптимизаций.
image.png64 Кб, 595x393
251 3169168
>>69156

>интеллектуальный онанизм


Типа, а в чем минус? Мы же не макаки крудошлепы...

>но они скатились до такой сложности


Нууу, как бы сказать. Jmm сложнее.

>решала бы задачи которые императивные языки решить её могут.


Што... Все языки тьюринг полные, следовательно любая задача решаемая на одном, решаема на всех. Не оч понял, че ты хочешь вообще. В любом случае, вот смотрю я на пик, и что-то мне это напоминает.
>>69166

>там файлы, с набором разрозненных функций


Пххпхпх, все ближе к процедурному.

О,насчет примитивов согласен. Очень хуевое решение. Мне вот котлинисты каждый раз доказывают, что это плюс, а как по мне оч сомнительная хуйня.
252 3169169
>>69166
Особенно ещё экстеншн функции абузят как не в себя
253 3169174
>>69168

>Нууу, как бы сказать. Jmm сложнее


Нет, даже близко нет. Тем более тебе эту сложность часто не нужно использовать, чтобы решить бизнес задачу.
254 3169194
>>69168

>Што... Все языки тьюринг полные, следовательно любая задача решаемая на одном, решаема на всех. Не оч понял, че ты хочешь вообще. В любом случае, вот смотрю я на пик, и что-то мне это напоминает.


Да, все языки, но на джаве мне нужно следить за мусором, это не смертельно, разработка идёт быстрее. У меня быстрые билды. У меня идеальный тулинг в отличии от многих других языков, достаточно хорошая система типов, чтобы проект не грохнулся случайно. Мне не нужно знать на какой платформе, с какой ос и тулчейном Лонг занимает 32 бита, а с какой 16. Все это ускоряет и облегчает разработку.
По совокупности этих факторов джава и выигрывает
255 3169199
>>69174
Можит я шизик в этом плане, но мне прям понравилась 4 часть jcip. И вот фразочки из 16 главы особенно:

>Specification requires the JVM to maintain within thread as‐if‐serial semantics: as long as the program has the same result as if it were executed in program order in a strictly sequential environment, all these games are permissible.


Прям вообще эпично. Так вот. В спеке jmm есть сравнимая вещь. А именно требование причинности(Causality Requirements for Executions), оно даже называется пиздец круто.
Так вот, там такой математический пиздец, который я видел разве что в статьях по теории автоматов, там автомат сигма, который съедает то, что ему отдает автомат P, который образует полугруппу. В общем на пике это требование.
В сущности, это речь про то, что happen-before, ну маловата для полноценной спеки, потому мы кое как вводим каузальность. Обычно это упрощают до out-of-thin-air safety.

В общем, покажи что ж там такого сложного в расте. Я смотрел лекции по лямда исчислению, такого пиздеца там тоже нет. По крайней мере объяснений в разы больше, поскольку такое чувство, что жмм разбирают полтора шиза максимум.

> часто не нужно использовать


Ну я могу повернуть этот аргумент и в сторону раста. Мол проста не пользуйся. И все. Цикла на все хватит.
>>69194
В фп языках тоже не надо следить за памятью. Ну тулинг вероятно лучше у жабы. Да и зачем пиздить адаптировать фп фичи-то, раз жаба и так идеальна?
256 3169261
>>69168

>тьюринг полные


Как же школота заебала разбрасываться фразами и словами значение которых не понимает. Тьюринг-полный = способный произвести любое вычисление.

Тьюринг-полный != способный выполнить любую задачу.
Тьюринг-полный != способный произвести любое вычисление удобным образом.
Тьюринг-полный != имеющий свободную лицензию.
Тьюринг-полный != предрасположенный к написанию производительного кода.
Ну и напоследок ни один вычислитель в реальном мире не является тьюринг-полным.
257 3169279
>>69199

>В общем, покажи что ж там такого сложного в расте.


Боров чекер уже мемом стал, с ним каждый воюет вместо того чтобы программу писать.
Цветные функции, макросы и т.д., все это хорошо изложено в статье https://loglog.games/blog/leaving-rust-gamedev/
258 3169287
>>69199

>В общем на пике это требование


Насколько я понимаю это просто требование, что порядок операций должен соблюдать только в группах связанных между собой операций, а эти группы можно между собой переставлять
259 3169297
>>69261
Я не утверждал ничего из этого.
>>69279
Лол, даже на расте есть геймдев, а на жабе нет.
Проблема статьи в том, что мне непонятна большая ее часть. Впрочем даже начальные тезисы, "ррря мне не дают говнокодить, я жи честно честно все потом заменю". Ну странные короче. Мне например кажется, что наоборот чем больше проблем выявляется еще на этапе компиляции тем лучше. Не всем нравится падающий прод от npe. Да и это не совсем про сложность, а скорее про дрочь, заебность. Ну кмк другой аспект, вот.
>>69287
На пике 2, второй пункт. Каждая "группа" в сущности является подмножеством предыдущей. Там как бы идет накопление того, что допустимо. Это называют commit.

>The Java memory model takes as input a given execution, and a program, and determines whether that execution is a legal execution of the program. It does this by gradually building a set of “committed” actions that reflect which actions we know can be executed by the program without requiring a “causal loop”.


На пике 1 показывают пример того, что каузальность вообще говоря гарантирует.

В принципе это и правда нужно в прям в очееень малом количестве кейсов, примерно тогда, когда хочешь сделать гонку данных, которая ничего не сломает.
260 3169310
>>69080
А то заплачут там?
261 3169313
>>69297

> Все языки тьюринг полные, следовательно любая задача решаемая на одном, решаема на всех.


> Тьюринг-полный != способный выполнить любую задачу.


> Я не утверждал ничего из этого.


Ты даун?

> Лол, даже на расте есть геймдев, а на жабе нет.


>libgdx (куча игр (https://libgdx.com/showcase/), в т.ч. mindustry, unciv)


>minecraft


>project zomboid


>всё что я не вспомнил


Ты даун?
262 3169335
>>67782
А это будет означать "класс, имплементирующий Comparable", или "класс, имплементирующий расширенный Comparable"? Интерфейсы же тоже можно расширять. Если первое, то как-то нихуя не интуитивно
263 3169349
>>69310
Люди разные, кто-то заплачет, а кто-то и зароет.
264 3169351
>>69313
Ну прочитай не через жопу блять, боже. У меня четко написано, что не существует задачи, которая решается только на одном из них, а не то, что любая задача решается.
Формально пик1 у меня, пик2 у тебя.

Это крайне малые исключения. Типа этот ебаный майнкрафт всегда вспоминают. Так-то на жабе даже движков уровня ue/unity нет. Все сам, с нуля делай епты.
265 3169359
>>69335
Это будет означать, что в иерархии наследования существует компарабл. Мол апкаст до него вообще возможен.
Плюс внутри Comparable есть рукурсия на него же, направленная вниз. Типа может быть указан любой G, такой что G <: T.

>Если первое, то как-то нихуя не интуитивно


Женерики никогда и не были интуитивны, лол.
screenshot20168.png991 Кб, 1920x1080
266 3169470
>>69351

>Так-то на жабе даже движков уровня ue/unity нет. Все сам, с нуля делай епты.


>>69297

>Лол, даже на расте есть геймдев, а на жабе нет.


Джава есть много где как язык скриптования, но есть и отдельные движки только на джаве, уровня ue/unity, это JmonkeyEngine, даже с интеграцией в идею
267 3169529
>>69470

>JmonkeyEngine


Ты уверен? Типа у unity/ue огромное сообщество и куча ассетов как следствие. Даже когда юнити сделали хуйню с оплатой за скачивание вспоминали все что угодно, какой-то годот еще какую-то хуйню, но не этот движок.
Так-то там вот сверху приводили пример в виде libGDX, даже он как-то выйгрышнее смотрится. Правда он

>libGDX is a cross-platform Java game development framework



Честно, я бы и сам жабу не стал использовать для игр, хотя я ее и хорошо знаю.
268 3169591
>>69529

>Типа у unity/ue огромное сообщество и куча ассетов как следствие.


Ну так мы о движках, а не об ассетах говорим
269 3169600
>>69470
JmonkeyEngine
@
Глянул в доки
@
А теперь, дети, мы собираемся делать игру для JME

В жава мире как всегда..

Время мчится как ракета,
Мимо Русские бегут...
Это кто стоит на месте?
Это Финны к нам идут...
270 3169667
>>69351

>Ну прочитай не через жопу блять, боже. У меня четко написано, что не существует задачи, которая решается только на одном из них, а не то, что любая задача решается.


Опущенное, и это тоже из тьюринг полноты не следует. Закрыл бы свою гнилую пасть, позорился бы меньше, どづ☆~.
271 3169674
>>69600

>JMonkeyEngine


Признавайся, тебя били в детстве по голове, что ты такой тупой вырос?
image.png34 Кб, 912x131
272 3169747
>>69667
Тебе чисто пооскорблять хочеца? Ладно.
273 3169758
>>69747
Ну и каким образом твой пик доказывает, что ты не даун?
274 3169772
>>69758
Там буквально та же формулировка используется. Любая функция вычислимая где-то, также вычислима и на этой системе. Для начала, тебе бы следовало спросить, что я понимаю под задачей.
Но так ты тупой скуф, которому лишь бы самоутвердится, ты сразу начал накидывать говна, притом аргументы: ЯСКОЗАЛ!!!.
Ахуенно продолжай дальше, я пожалуй тебя буду игнорить. Щас бы перед свиньями бисер метать.
275 3169778
>>69772
Тебе с самого начала сказали

> Тьюринг-полный = способный произвести любое вычисление.


> Тьюринг-полный != способный выполнить любую задачу.



Вычисление != задача, олиг.
276 3169781
>>69772

> я пожалуй тебя буду игнорить.


Слив засчитан.
image.png64 Кб, 1117x605
277 3170266
Зацените какую няшную штуку сделаль.

И смотря на ответы https://stackoverflow.com/questions/19429667/implement-recursive-lambda-function-using-java-8 чет странное, если честно. Зачем-то интерфейсы Recursable делают, ограничивая таким образом универсальность.
278 3170269
>>70266
И что это?
279 3170274
>>70269
Рекурсия на уровне лямбд.
Типа ты же не можешь такое написать
Function<Integer, Double> fact = x -> x == 0 ? 1 : x * apply(x-1);

Вот для этого типа универсальный метод fix.
Правда это нахуй не нужно, но по крайней мере вывод типов в этом случае тоже интересен. Типа тут же не указывается достаточно сложный тип для метода, а все за лямбдами скрыто. Мб где-то использовать можно, хм
280 3170275
>>70274

>apply


fact.apply(x - 1);

Фикс..
281 3170281
>>69351

>Так-то на жабе даже движков уровня ue/unity нет. Все сам, с нуля делай епты.



А на расте, значит, есть, ага?

Те выше назвали тайтлы, сделанные на джаве. Парируй "крайне малыми исключениями", сделанными на расте, иначе слился. Балабол, хуесос ебаный.
282 3170291
>>70281
Я не понимаю, вас это реально за живое что ли задело?
Ну вроде что-то есть https://gamedev.rs/ . Даже если сейчас мало, есть тенденция, что растодебилы занимают ниши cpp.

Ну и проблема в том, что я в общем не слежу за играми. Так похуй, не представляешь. Мне просто скинули статью, где нытье геймдевелопера, ну я это и отметил, грубовато немного, да.
283 3170294
>>70291

>Я не понимаю, вас это реально за живое что ли задело?



Не выкай мне тут, хуесос, ничтожество блять. Если тебе "так похуй", нехуй было и ебала своего гнилого раскрывать. Заходишь в тред на чиле, а там очередной даун душнит и демагога из себя строит. Чтоб ты сдох, пидор.
284 3170295
>>70294
извините.. но открывать ротик не перестану. ты не мой начальник или работодатель, чтобы такое требовать.
285 3170297
>>70266
Выглядит интересно, с утра на свежий мозг прочитаю.
286 3170300
>>70266
Нахуя так жить, bruh...

Ну напиши ты статический метод, да возьми от него референс - будет те рекурсивная лямбда.
287 3170305
>>70300
Пакажи, что ты имеешь ввиду. Думается мне, что в таком случае смысл лямбды вовсе пропадает.
Еще мне немного не нравится замусоривать скоуп статическими helper методами. Сразу вот apache commons всопиминается.
288 3170312
>>70305

>Думается мне, что в таком случае смысл лямбды вовсе пропадает.



Думается мне что ты вкладываешь какой то свой, аффтарский, особый смысл в лямбды, который я не выкупаю (заморачиваешься, проще говоря). Я в этом плане более приземленный, поэтому даже пытаться не буду оспаривать изысканные вкусы месье (чилю, ИДЕху открывать влом). Думаю ты и так все понял, на словах, что я имел ввиду.

>Еще мне немного не нравится замусоривать скоуп статическими helper методами



Сказал чел, у которого скоуп "замусорен" статическим хелпер-методом fix. Так то я факториал твой в статику вынести предложил. Дай имя функции - не придется трахаться с тем, откуда литерал брать для рекурсии. Не все в мире обязано быть лямбдой.
289 3170320
>>70312

> Дай имя функции - не придется трахаться с тем, откуда литерал брать для рекурсии



Причем то же самое можно было сделать и в твоей GHCi-сессии. Я мож и хаскелит-любитель, коммерческого попыта в хаскеле не имею, но тупо не могу себе представить что хаскелиты так делают в проде зачем то.
290 3170323
>>70274
Странно, что в лямбды не добавили this или например lambda.this.
291 3170325
>>70295

>не перестану высирать беспруфные вскукареки и получать обоснованную урину в ебальник


Ясн, мань. Лови репорт.
292 3170327
>>70320
Хотя ок, гугл говорит что каноничный способ делать рекурсию в хаскелевых лямбдах - это fixpoint, который суть то же самое. Вопрос "нахуя так жить", впрочем, по прежнему актуален (не говоря уже о том, нахера это тащить в джаву).

Ладно - может у челика интерес академический. Пусть уж лучше упарывается в тяжелые функциональные концепции, нежели тупостью в треде троллит.
image.png56 Кб, 814x460
293 3170337
>>70320
>>70312
Ну не то чтобы я вообще напираю на такое использование, сразу обозначил, что это нахер не надо, как и рекурсия сама по себе. И в хаскеле действительно такое излишне.

Просто интересно в плане реализации и всяких разных подводных камней.
>>70323
Как я думаю, просто хотели отделить анонимный класс от лямбд. Например благодаря этому, компилятор может выбросить identity лямбд, типа value type сделать, их статическую ссылку this. В общем достаточно сильно так изголятся над ними.
>>70327
Это канонический способ для нетепизированного лямбда исчисления.
В хаскеле даже написание комбинатора омега маленькая сложная задача.
294 3170428
Привет ананасы. Есть 2+ года коммерческого опыта на php, планирую перекатываться на java. Какие подводные?
295 3170455
>>70428

>Какие подводные?


А какие ожидаешь?
Изучаешь спринг бут, жюнит и архитектурные бест практис в рамках приложения и готов к 90% проектов на жабе.
296 3170458
>>70455

>А какие ожидаешь?


Хочу, чтобы не было 1С и поменьше веба.
Что у вас по легаси? Приятное, терпимое или кал мочи?

За советы по изучению спасибо, примерно так себе и представлял, за исключением жюнит.
297 3170468
>>70458

>Хочу, чтобы не было 1С


Мне лишь пару раз приходилось колхозить форматтер чтобы 1с мог файл скушать.

>Что у вас по легаси? Приятное, терпимое или кал мочи?


У всех свой, я работал со всяким. Из последнего неприятного - генерация различных огромных xml и пытаться подружить старые библиотеки с новыми спрингами.
В целом наибольшая проблема легаси - миграция на современные рантаймы и фреймворки, а также устранение уязвимостей посредством обновление транзитивных зависимостей и тд. Муторно, трудозатратно и без хорошего е2е тестирования не предугадаешь в какой момент что-то где-то может отъебнуть.

Но в целом, тулинг в жабе достаточно продвинутый чтобы находить проблемы даже до компиляции.

>За советы по изучению спасибо, примерно так себе и представлял, за исключением жюнит.


Насколько я помню весь пхп обмазан ОРМ. В жабе основной ОРМ - хибернейт, собственно, тоже обязателен к изучению, но сразу скажу, хорошо знать и понимать хибернейт - сложно, долго и редко когда полезно (кроме собеседований).
298 3170694
>>70468

>Но в целом, тулинг в жабе достаточно продвинутый чтобы находить проблемы даже до компиляции.


Звучит круто

На пхп проблема легаси в том, что всякие дауны в одном файле размещают и вывод хтмл и запросы к базе, незащищенные причем.

Спасибо ещё раз!
299 3170755
>>70694
В этом плане тебе джава понравится тк тут в 99% вообще не будет хтмл страничек,если фронт и будет то им будет заниматься отдельная команда которая будет у тебя джейсончики забирать и самостоятельно отрисовывать. Я вообще ни разу с фронтами не работал,все проекты были частью большой цепочки в датафлоу(банки,связь) и там просто байтики гоняешь
300 3170847
>>70468
Хибернейт для петушил.
Jdbctemplate максимум.
Но лучше ручками дергать препаред стрейтменты и итерироваться по резальсетам.
photo2024-05-2717-43-10.jpg50 Кб, 1280x762
301 3171107
Сап, аноны. Помогите разобраться, почему в vs code ебется кодировка кириллицы. На python норм, а с java проблемс.
Пробовал сохранять с перекодировкой на windows 1251, но все равно не работает.
302 3171125
>>71107
Это не джава, это у тебя скорее всего терминал барагозит. Обычно это лечится выставлением chcp 65001 в оном, но где это настраивается в вскоде - сам ищи.
303 3171209
>>71107
Жава на шindoшs - это полная хуита. Я когда пытался натянуть свой пет-проект на чуть не поседел. Кодировка обоссаная ср1251, разделители пути другие и даже ебанные символы новой строки и то другие. Какой-то рахит из 60х придумал \r\n. Просто ад ебанный. Как вы там блять живете в этом ебанизме?
304 3171215
>>70266
По-моему никакой разницы с рекурсивным вызовом статического метода тут нет.
305 3171216
>>71209
`System.lineSeparator();`
306 3171217
>>71216
А directorySeparator какой нибудь имеется?
307 3171228
>>71217
Он вроде pathSeparator назывался. Все равно это хуита. Джава придумывалась для больших и дорогих пультов для телика рабочих станций и серверов на UNIX.
308 3171230
>>71228
7 миллиардов устройств !11!!!1!!!1!!
Или как там они говорили постоянно
309 3171242
>>71228
Не path, а просто separator. Я как-то один раз поел говна на этом.
171682762482689220.jpg158 Кб, 1080x1546
310 3171248
>>70428

>Какие подводные?


Вот такие.
311 3171250
>>71248
Отказов-то я как раз не боюсь.
312 3171253
>>71248
Причина отказа?
313 3171292
>>71217
Есть path.resolve, для платформонезависимости
314 3171293
>>70428
Стандартные, ты свой опыт фактически сбросишь
315 3171304
>>70458

>поменьше веба.


На джаве это как то слишком оптимистично
316 3171310
>>71304
Расскажи подробнее, пожалуйста.
317 3171324
>>71215
хм? что ты имеешь ввиду? статический метод создаётся в виртуальной таблице методов и использует свое имя для рекурсии. тут ни того, ни другого....

ну и еще я подумал, сверху к прикольному сабтайпингу, здесь ленивость используется. тоже необычное
318 3171371
>>71324

>статический метод создаётся в виртуальной таблице методов



Какая нахрен vtable - ты тредом с плюсовиками чтоли ошибся?

Да и нахера статическому методу быть в vtable в теории? Он тупо к конкретному классу приколочен, ни в каком динамическом связывании участия не принимает. Даже вызов его в опкодах - это invokestatic, а не invokevirtual или invokeinterface.

>тут ни того, ни другого



Ага, зато invokedynamicа с метафакторёй хватает.
319 3171373
>>71310
Большая часть джавы сейчас - это круды и около-круды, ав моем понимании это веб
320 3171376
>>71373
Если через апишки, то терпимо.
Всё лучше, чем админки хуинки верстать.
321 3171379
>>71324

>статический метод создаётся в виртуальной таблице методов


В джаве виртуальная таблица только для вызовов через интерфейс, остальное либо невиртуализируется, либо как стат метод, вообще не идет через втэйбл
322 3171380
>>71379
*девиртуализируется
323 3171381
>>71371
>>71379
Тут согласен, ошибся. Соре..
>>71371

>зато invokedynamicа


Ну вот видишь, совсем друхое!!!

> с метафакторёй хватает


А ты шаришь как енто работает? Расскажешь..?
image.png113 Кб, 300x300
324 3171391
>>71379

>В джаве виртуальная таблица только для вызовов через интерфейс, остальное либо невиртуализируется, либо как стат метод, вообще не идет через втэйбл


А что делает invokevirtual?
325 3171420
Хочу купить себе книгу по джаве. Какую посоветуете, чтобы там была описана методология разработки на джаве? Ближайший пример из мира C++ - Брюс Эккель, ФИлософия C++
326 3171423
>>71420
Философия Java?

А лучше купи себе книгу с поездами.
327 3171498
>>70455

>архитектурные бест практис


Это какие? Дай, пожалуйста, наводки, что читать
328 3171515
>>71253
Безработный....
329 3171837
>>71391
Это вызов через цепочку иерархии, но если иерархии нет, то лукапа через втэйбл не будет, да даже если есть, джава просто девиртуализирует это
330 3171942
>>61163 (OP)
Поясните за рефлексию? Зачем она нужна с практической точки зрения?

Почему на собесах заостряют на ней внимание?
331 3171976
>>71942
Она нужна для создания магии. Каждый уважающий себя спрингоколдун должен понимать, как работают его спеллы. К примеру все пользовательские анноташки работают с помощью рефлексии. Хотя например для создания прокси объектов даже рефлексии мало и лезут в байткод..

А какие у тебя проблемы с применением рефлексии вообще? вроде не сложное апи.
332 3172201
>>71942

>Зачем она нужна с практической точки зрения?



Цели и задачи описываются общим термином "метапрограммирование". Это когда у тебя программа, данные которой - твои классы, методы и прочие языковые конструкции.

>Почему на собесах заостряют на ней внимание?



Хороший вопрос. Рефлексия у современных говноделов теперь легальна в продакшен-коде?

А как это проявляется? Что спрашивают?
333 3172352
>>72201
Кастомные аннотации.
Динамические мапперы.

Это то что я пилил в банке
334 3172366
>>71976
Рантайм прокси такая хуйня пиздец просто.
Уж лучше изьебнуться и компайл тайм аспектами через аспектЖ сделать то что нужно. Чем в рантайме инструментировать байткод
335 3172412
>>72366
Разве компайл тайм аспекты покрыают все случаи использования?
Тот же мокито использует онли рантайм.
Ну и ты подробнее аргументы за и против распиши..
336 3172448
Посоветуйте, пожалуйста, лучшие статьи по полнотекстовому поиску при помощи solr
337 3172449
Каа бы я хотел сдирать живьём кожу с детей создателей ебаного мокито, только психически больная мразь могла создать такую поебень. Я бы пиздил их и их детей до тех пор пока они бы не начали ссать кровью и только когда у них начнут отмирать почки я бы посадил их писать ебаные тесты на кафка админ клиент
338 3172450
>>72449
Что конкретно тебе не нравится?
339 3172451
Ну что, скуфаны, готовы 15-18 процентов из кармана вынуть и положить?
340 3172454
>>72450
Ебанутая падаль не в состоянии адекватно вывести в чем ошибка. Метод элементарный,сделать дескрайб топик,взять оттуда количество партиций,если число,переданное в метод отличается от количества партиций вызвать криейт партишнс. Мокаешь все ненужное говно,делаешь верифай криейт таймс 1,эта мразь пишет что у вас разные вызовы и что по факту вызывается и дискрайб и криейт. КОНЕЧНО БЛЯДЬ ОН ВЫЗЫВАЕТСЯ Я ЖЕ ТЕБЕ ЕБАНАТЦЮУ СРАЗУ НАПИСАЛ ВЕРИФАЙ ДИСКРАЙБ ТАЙМС СУКА 1. СТАВИШЬ БЛЯДЬ ВЕРИФАЙ КРИЕЙТ ЕНИ И СУКА СРАЗУ ЖЕ ПРОХОДИТ МРААААААВАЗИ КАК ЖЕ Я НЕНАВИЖУ ЭТО ЕБАНОЕ ГОВНО
341 3172461
>>72454
Открой для себя strictness и argumentCaptor.
342 3172477
>>71837

>джава просто девиртуализирует это


Не джава, а джит, и то это спекулятивная оптимизация которая далеко не всегда срабатывает. Достаточно хоть иногда вместо ArrayList передавать PersistentList, чтобы джит даже не пытался девиртуализировать.
343 3172511
>>72477

>Достаточно хоть иногда вместо ArrayList передавать PersistentList, чтобы джит даже не пытался девиртуализировать.


Ну так не передавай
344 3172519
Какова вероятность залететь на работку без профильного образования, но с рекомендацией от копании и опытом работы? Вопрос очень важный - с универа слетаю, вышка точно не светит.
345 3172526
>>72519
Всегда можно восстановиться.
346 3172527
>>72519
А че тебе на текущей не работается?
347 3172531
>>72527
Наверное потому что он на самом деле там не работает
348 3172533
>>72527
Долгая история, по знакомству получил контакты. по факту 0 опыта, только петы. Восстановиться не могу и не хочу
349 3172630
>>72412
мокито использует рантайм потому что у него нет другого способа кроме создания проксей на уже собраные классы.
для компайлтайм нужны же исходники.
350 3172675
>>72519
Как и всегда, всем поебать на твой диплом
1716974922641.jpg539 Кб, 1333x600
351 3172812
>>72533
Тогда тебе пиздец
352 3172951
>>72630
Ну вот. Значит везде ты не сможешь пропихнуть такие аспекты. Следовательно надо изучать оба вида сразу.
353 3172954
>>72511

>Ну так не передавай


Склеротик, речь идёт о том что
>>71379

>В джаве виртуальная таблица только для вызовов через интерфейс, остальное либо невиртуализируется, либо как стат метод, вообще не идет через втэйбл


Пиздежь.

В джаве виртуальные методы на каждом шагу. Что-то джит сможет оптимизировать, а что-то нет.
354 3172963
>>72951
ну как не смогу
свой личный код я смогу как угодно через аспектЖ обернуть.
355 3172965
>>72951
скажу даже больше.

когда то давно на позапрошлом месте работы я дорабатывал самодельный ОРМ на аспектЖ с охуеными аннотациями бизнесобласти

с тех пор у меня есть стокгольмский синдром к аспектЖ
356 3172971
>>72965
бля меня ажтрисет до сих пор

этот ебаный движок обработки грувипоноса с аннотациями бизнесобласти
357 3173015
>>72965
>>72971
Звучит круто на самом деле. Тоже хочица что-то вот такое вот поделать, эх
image.png23 Кб, 225x225
358 3173148
Объясните за продукты jetbrains.
Вот мне надо несколько языков кроме джавы:

1) Мне достаточно выбрать их топ продукт (IntelliJ IDEA) и поставить плагины?

2) Или же надо отдельно ставить каждую IDE, скажем, WebStorm, PyCharm, PhpStorm идт?
359 3173159
>>73148
ReSharper, CLion точно нельзя idea заменить. Остальное в плагинах есть.
А ты вкатунишка типа?
360 3173179
>>73148
По идее джедбрейнз хочет чтобы ты на каждый чих покупалновую иде, но можно костылить
361 3173183
>>73159

>А ты вкатунишка типа?


Не совсем, перебираю разные языки и стеки, смотрю на тулы. Для себя выбираю.
362 3173203
>>73183
Ну имхо, все что выходит за рамки жабы у жидбрейнсов не такое продвинутое, потому вполне можно найти что-то и лучше. И вообще, это тема софтача(/s/), разве нет?

К слову, найти бы софтик для анализа женериков. А то идея в какой-то момент просто ломается и хуйню несет. Я видел алгос для этого, мб плагин запилить.. Так-то полезно по идее.
363 3173228
>>73203

>И вообще, это тема софтача(/s/), разве нет?


Это прямой инструмент разработчика, это как если художника с выбором кистей отправить в раздел плотников.
Но спасибо за инфу.
364 3173677
>>73203

> И вообще, это тема софтача(/s/), разве нет?


Нет, спасибо, пожалуй не буду суваться в логово пердолек и спермоклоунов.
365 3173703
>>73677
воняешь слабостью
366 3173774
>>73148
Чем больше плагинов тем хуже это говнецо работает.
У меня лично стоят и ультимейт и СЕ и андроид студио - все отдельными установками
367 3173775
>>73179
Не. Они хотят тебе подписочку на все их продукты одновременно впарить.
Но той же СЕ хватит вкатуну заглаза
368 3173851
Пишу автотесты на джава, как перекатиться из куа в разработку? Или это как вкат с нуля? снова
369 3174122
>>73774

>СЕ


Это что?
370 3174130
>>74122
Cum Eating.
371 3174135
>>74122
Coprophilic EgorBugaenko.
372 3174208
>>74122
Community edition
373 3174210
>>73203
В правилах доски написано, что идешки обсуждать тут, а программы в /s/
374 3174239
>>74210
мы похоже разные правила читали. ну тебе виднее.
375 3174265
>>74239
Гидроцефалище.

>Исключение - IDE и прочие инструменты программирования, которые можно обсудить в тредах соответствующих языков.

376 3174276
>>74265
Обязательно оскорблять? Я же сразу сказал, что мы разные правила читаем. Отцтань, а то еще меня забанят. Я не хочу обсуждать правила.
maven5.JPG63 Кб, 701x363
377 3174303
>>67542
Опять выхожу на связь

добавил JAVA_HOME и JDK_HOME и прописал в PATH,
но ошибка Cannot connect to the Maven process. Try again later. If the problem persists, check the Maven Importing JDK settings and restart IntelliJ IDEA не исчезла, зависимости не качаются
378 3174317
>>74303
Бля, это троллинг какой-то нахуй. Как так нахуй? У меня не было проблем когда я ставил, там просто физически нельзя быть настолько криворуким чтобы так долго ставить и с таким количеством проблем.
379 3174320
>>74303

>In IntelliJ IDEA, click Preferences, Build Tools -> Maven


>switch from the default "Bundled Maven 3"

380 3174342
>>74317
Забил на некоторое время, дома то всё работает.
>>74320
Уже делал. без изменений
381 3174463
>>74210
Конечно, ведь обычный пк-васян будет разбираться в ИДЕешке, это же софт, а еще компилятор это тоже софт и то что ты написал в коде, блин, тоже становится софтом.
382 3174776
>>73148

>Объясните за продукты jetbrains.


Лучшее что выпускала отечественная промышленность
383 3174786
>>74303
Сделай просто из консоли mvn install
384 3174789
>>74303

>Please disable antivirus and firewall. The issue happens when the IDE tries to establish connection to localhost but it is blocked on your machine. Make sure the localhost is resolvable and is accessible for the processes to connect to it using tcp


Вероятно в качестве безопасности у тебя TCP подключения к локалхосту заблочены админом. Если это так - тогда нет пути, мавен с идее не сынтегрировать
385 3174799
>>74789
Зачем блочить локалхост?
386 3174835
>>74799
Вероятно чтобы всякая виROOсня не сканила порты или чтобы не пыталась подконнектиться и абузить существующие стандартные сервера в виде, кто знает. Спроси админа.
387 3175072
>>74786

>mvn install


Судя по логам, он не знает такой команды

>>74789
Ну это пиздец.
388 3175174
>>75072

>Судя по логам, он не знает такой команды


Это самая базовая команда мавена, должен знать
389 3175293
Поясните за правило использовать только существительные в названии классов. Всегда ли стоит ему следовать?

Например, у меня есть окно "Подтверждения покупки" и окно "Подтверждения бесплатной смены имени". Я бы хотел назвать их просто:
- ConfirmPurchaseWindow
- ConfirmFreeNameChangeWindow

Но если следовать правилу, то нужно писать:
- PurchaseConfirmationWindow
- FreeNameChangeConfirmationWindow

Что уже, вроде бы, не так хорошо читаемо, как первый вариант.
390 3175364
>>75293
Правила по отдельности не работают, надо смотреть на весь гайдлайн в целом. В самом по себе правиле "существительное имя класса" не вижу ничего крамольного. Я б его дополнил еще запретом называть классы именами паттернов. Ненавижу имена в стиле AbstractSingletonBeanFactoryOfUserService.

Если тебя тянет назвать их глаголами, возможно твои классы имплементируют какой нить функциональный интерфейс и сама кодовая база довлеет в сторону ФП. Тоже имеет место на жизнь.
391 3175387
Я так и не понял что такое loom project. Это какой-то йоба сборник документации по многопоточке или как?
392 3175399
>>75387
Это очень криво работающая оптимизация по памяти, времени запуска и оверхеду треда в ~1000 раз.
393 3175425
>>75399
Почему криво?
394 3175427
>>75425
Потому что синхронайзеды не работают.
395 3175438
>>75427
Мелкий минус, учитывая, что в будущем поправят. Еще что-то будет?
396 3175442
>>75438

> в будущем поправят


Откуда инфа?
397 3175456
398 3175458
>>75427
В смысле слово synchronized вообще не работает?
399 3175461
>>75456
Чё расскажешь? То есть ты за базар не пояснишь? Ясно, слив.
400 3175544
>>75458
работают, он просто хуево сформулировал.
>>75461
ты спросил откуда инфа, я дал. все, кыш.
401 3175554
>>75544

>дал


Максимум в своих фантазиях. Ссылка на видео это пруф не более чем "поищи сам".
402 3175582
>>75544
Есть вообще идеи, что бы такого поимплементить, чтобы напрямую применять эту вашу многопоточку, а не просто читать и какие-то примерчики запускать? Мне в голову приходит только кастомная имплементация контейнера сервлетов какого-нибудь.
403 3175625
>>75544

> дал


Масла?
404 3175643
>>75625
Он и сюда добрался, боже...
>>75582
Нуу.. Я имплементил кастомный синхронизатор, его суть в том, что он работает как sleep, но там не время, а тики, ну и генератор есть.
Есть те, кто к этому генератору подключаются слушателями в некотором роде. У них есть возможность резервировать некоторое количество тиков. Если хотя бы один слушатель не зарезервировал тики, генератор стоит.
Еще делал генератор чисел фибоначчи, но когда там два AtomicReference.
MergeSort, transfer типа банковский, еще помню интересную задачку, мол вот есть три треда, ну и они имеют имена A, B, C. Тебе надо сделать так, чтобы они последовательно выводили что-то подобное ABCABCABCABC...
Ну это все искусственные задачи в какой-то степени... Реальные же обычно с транзакциями связаны, это друхое. Ну вот, по идее можно попробовать сделать паралельную имплементацию игры life. В контейнере серврелетов хз че сложного по многопоточке.. Знай себе создавай треды для каждого запроса и усе.
405 3175659
>>75643

> кастомный синхронизатор, его суть в том, что он работает как sleep, но там не время, а тики, ну и генератор есть. Есть те, кто к этому генератору подключаются слушателями в некотором роде. У них есть возможность резервировать некоторое количество тиков. Если хотя бы один слушатель не зарезервировал тики, генератор стоит.


Звучит интересно, хотя и абсолютно абстрактно для меня.

> есть три треда, ну и они имеют имена A, B, C. Тебе надо сделать так, чтобы они последовательно выводили что-то подобное ABCABCABCABC...


Ну я похожее делал, только там у существа было 2-3-4... n ног, и надо было сделать так, чтобы ноги по-очереди ходили.

> В контейнере серврелетов хз че сложного по многопоточке.. Знай себе создавай треды для каждого запроса и усе.


Блин, в принципе ты прав. С многопоточкой там ничего сложного по сути нет. Короче возьму доки, мб какую книгу по конкуренси (мб есть рекомендации какие?), да буду ковыряться, походу действия должны идеи появиться.
406 3175664
>>75659
Книга с поездами, же. Ну и вот тут действительно топовые примеры https://github.com/openjdk/jcstress/tree/master/jcstress-samples/src/main/java/org/openjdk/jcstress/samples
Можешь паралельно изучать.
407 3175668
>>75659

>чтобы ноги по-очереди ходили.


А ты как сделал кстати?
408 3175683
>>73851
Ооп хорошо знаешь ? Базовый синтаксис джавы ?
409 3175709
>>75664
Благодарю.
>>75668
Делал через реентрант локи и кондишн. Конкретно имплементации не помню, но там было что типа первая нога сделала шаг, сообщила остальным, стала, дальше вторая походила, сообщила и т.д.
410 3175711
>>73851
Так ты уже полноценный разработчик. Просто тебе надо изучить АПИ популярных фреймворков типа спринга.
411 3175712
>>75709
Ну в принципе ожидаемое решение. Можешь попробовать тоже самое, но уже через cyclicbarrier или LockSupport
412 3175715
>>73851
Просто и без задней мысли берешь и делаешь круд на спринге и попутно изучаешь все что для этого надо. С докером.
Выкладываешь на что там у вас не заблокировано вместо гитхаба и ходишь по собесам. Если ты пишешь автотесты - значит ты уже умеешь писать на джаве.
413 3175718
>>75582
можешь попробовать логстэш переимплементировать чтобы эффективнее работал
414 3175730
Что за дрочь последним временем на TDD? Последний раз проходил собесы 5 лет назад, и тогда все было строго похуй на это.
415 3175742
>>75730
может хайп какой-то очередной поднялся или кто-то на конференцию съездил

за все свои 10 лет карьеры я вообещ ни разу не видел чтобы кто-то действительно работал по TDD, но шума про него в каждой конторе было
416 3175749
>>75742
У меня с примерно 7 собесов спрашивали на 4х про эту хуйню.
417 3175752
>>75730
Не умеют разрабы юнит тесты писать.

Юнит тесты писать - это надо скиллы иметь. Уметь в самодисциплину, критическое мышление, хорошо уметь код декомпозировать. Это не втупую по гайдам с баэлдунга со стековерфлоу через чатгопоту копипастить... А TDD из-под-палки никогда не работает, тесты на хуевой кодовой базе получаются ригидными и не тестят нихуя, из-за чего у разрабов складывается отторжение ко всей парадигме. Да и продать это кабану непросто.

Так и живем.
418 3175767
Сап аноны, дохуя лет работаю автомейшен куа на джаве.
Подумываю перекатиться в разработку, т.к. нравится писать код. Есть тут кто с подобным опытом? Че посоветуете?
Спринг + хибернейт + скул и перекатываться в кровавый тырпрайз?
Или податься в адроид? Базово пробовал писать хеллоуворд аппы доя него.
Вообще сам склоняюсь у первому, т.к выглядит как более быстрый путь для переката. Че думаете?
419 3175810
Смотрите короче какая идея для библиотеки. Короче вот например у тебя есть корованы... несколько классов с методами. Ты можешь навесить на них аннотацию, например @Run(1) @Run(2) и это означает, что в рантайме эти методы будут запускаться в заданном порядке! Хз на🌶 это кому-то нужно, но по-моему идея интересная. Что скажете?
420 3175811
>>75810
Ну типа ты на своей мейн можешь навесить какую-то аннотацию типа @YobaApplication и всё.
421 3175855
>>75810
Бггг.
И без этой 🌶ни по твоему они как запускаются? Одновременно?
422 3175858
>>75855
🌶 пизда джигурда
27.jpg53 Кб, 512x512
423 3175863
>>75855
Хах, ты прав. Но если писать методы, которые не вызывают друг друга... (и тем же нарушая ООП). Бля чёт 🌶ню какую-то я придумал.
424 3175908
>>75863
Ты странный
425 3175936
>>75908
Почему?
426 3175978
>>75767
Тебе разрешение что ли нужно?

Напиши круд на спринге - если осилишь, значит на ждуна готов.
Как там в андроиде я хз.

А дальше договаривайся на работе чтоб тебя перевели из нормального и нужного автокуа в отрицательно полезного бэкенд джуна.
427 3176053
>>64019

> if устарел с приходом pattern matching..)


Вот так, да ?

if() {
//then
}

pattern matching () {
//omg##@$&_+????
}
428 3176066
>>75767
Зачем перекатываться? Код же пишешь и так
429 3176084
Чуваки, а посоветуйте, что тут выбрать из курсов по спрингу?
https://www.udemy.com/courses/search/?src=ukw&q=Spring
430 3176091
>>76066
Я понимаю, что и там, и там своя рутина. Но мне в автотестинге было особоенно по кайфу пилить тестовые фреймворки - добавлять в них фичи, фиксить баги и т.д. Но все же в основном приходится пилить именно автотесты, а это не интересно. Плюс сейчас такая тенденция, что большинство контор хочет, чтобы один тестер делал и авто, и мануал работу, а это я ебал в рот.
431 3176098
>>61163 (OP)
https://www.youtube.com/watch?v=6OQaQtXAgrE
Констант эволюшн. Деливеред
432 3176146
>>76098

>это я ебал в рот.

433 3176168
>>76098
Новое что то показали или как обычно какое то минорное говно и вальхала которую надо еще 5 лет подождать?
434 3176267
>>76091
Сеймович. Тошнит от необходимости разработать тест кейс, согласовать это все и проходить периодически руками пока нет автотеста.
435 3176379
Sup, а project loom уже можно использовать для проектов? Хочу сделать приложение средней сложности и хочу попробовать лум потоки потрогать.
Какие подводные? (повторяюсь)
436 3176408
>>75810

А вот представь - разметил ты такими анноташками сотню методов - от @Run(1) до @Run(100). А потом херак, и понадобилось написать еще один метод, который должен вызываться между пятым и шестым.

Сиди-переловачивай несколько десятков анноташек.
437 3176422
>>64019

>Как говорица, for устарел с приходом stream, а if с приходом pattern matching



Так нигде не говорится.

А вот как реально говорится, так это "когда в руках молоток, все вокруг гвоздями кажется".
439 3176871
>>76053
Вот так https://pastebin.com/1xbKFKdy
>>76422
Это шутка вообще, которая звучала года пол назад в жаба же треде.
Но тем не менее, если в языке няшный паттерн матчинг, то имхо он нагляднее/декларативнее чем ифы.
440 3177094
>>76408
можно изначально нумеровать ака хибер, ну т.е 0,50,100,150... и между на изи что-то впендюрить.
второй варик написать анноташку @RunBetween(1,2) которая запустит метод между первым и вторым. очевидно таким образом нельзя сделать метод, который работал бы между этого между. поэтому можно дополнить его id-ой, аля @RunBetween(101,1,2). Следующим шагом понимаем, что это ебаный goto и убираем всю эту машинерию на🌶 попробуем исправить изначальный дизайн. Разделим индексацию и порядок. аля, @Id(1), @Id(2) и тд. и вторая анноташка указывает то, перед чем она должна идти. @After(1), к примеру. теперь это ака связный список и нужна всего 2 измения, а не 50. плюс нет аля goto 🌶ни, а также это уже partial order, а не total, что плюс мб.
мнение?

мимо
441 3177112
>>77094
Просто номер должен быть с типом double...
442 3177118
>>77112
дурак что ли? double нельзя точно сравнивать. тогда уж string какой-нибудь. но это криво как-то.
443 3177138
>>77118
В смысле блядь нельзя? Ты думаешь там до🌶 дробных чисел будет? Вряд ли больше одного знака после запятой.
444 3177140
>>77138
ну блять. 🌶нут тебе 1/3, pi, e, inf, nan и все. у тебя бизнес логика, а ты предлагаешь опираться на что-то столь ненадежное.
445 3177144
>>77138
>>77140
и по поводу количества дробных чисел. как там 0.1 + 0.2? напомню, что сравнение это просто вычитание чисел друг из друга.
446 3177148
>>75293
Отглагольные существительные созданы не просто так.
447 3177204
>>77094

>можно изначально нумеровать ака хибер, ну т.е 0,50,100,150...



Можно. Но зачем?

Если бы у тебя эта сотня вызовов шла друг за дружкой в одной процедуре, те и думать бы над этой дилеммой не пришлось - жмакнул бы энтер в нужной строчке и вписал бы туда метод.

И читать такую цепочку гораздо проще - взглянул и понял что за чем в каком порядке вызывается. А так тебе придется облазить сто классов и у каждого эту анноташку посмотреть.

Не уподобляйся аннотациодаунам - лишь узкий класс задач действительно требует решения через аннотации. Большинство задач решается без аннотаций гораздо проще и очевиднее, чем с ними.
448 3177213
>>77204
Мм, ну я не хотел придумывать, то куда эту залупу применить, просто задачу решал... Так-то если подумать, то похожее есть в filterchain order spring security. Типа порядок фильтров задаём.
449 3177265
>>77213
А, точно, тыж мимокрок...

>Типа порядок фильтров задаём.



Ну вот как раз какая то постная 🌶ня того же уровня мотивации. Оно не вызывает неприязнь только за счет того, что редко когда этих фильтров на практике бывает много, да и обьявляются они обычно в одном модуле конфигурации (не размазываются по сорцам).
450 3177269
>>77265
Ладно.. можно взять что-то безобидное, типа порядок того, как будут запускаться тесты в мокито. тип от базовых случаев, к каким-то special case.

В общем-то, мне прост интересно мнение, по поводу моего решения.. А ну не область его примения
451 3177270
>>77269
Всмысле - тесты в мокито. Мокито это мокито, тесты это тесты. Ты может имел ввиду порядок запуска тестов в тестсьюте? А чем не устраивает натуральный порядок методов в классе?

>В общем-то, мне прост интересно мнение, по поводу моего решения.. А ну не область его примения



Ну я б не купил. Оно интересно разве что в виде академического пета-этюда, если ты хошь опробовать на чем нить написание annotation-processorов.
452 3177271
>>77270
жюнит, да. можно, между классами например.
хотя, то что я описываю оказывается и так реализовано, лул. https://www.baeldung.com/junit-5-test-order

будто кто-то за такое платит вообще. даже спринг бесплатный. ладно невермайнд.
453 3177486
>>77271
Это и в 4 и тестнг реализовано.
В 5 оно более всрато кстати имхо
454 3177518
>>76168
1. В очередной раз пол конференции рассказывали как новые 6-месячные релизы это заебись и как мы тольковыиграли
2. Рассказали как догнали и перегнали америкупетухон, петушарп, петухлин и пидораст

Ну и вроде всё.
java и потоки в native 455 3177524
Допустим, был вызван native метод, который создал два потока и завершился, передав управление jvm.
1) будут ли работать те два новых потока?
2) можно ли будет управлять этими потоками, если предварительно сохранить дескрипторы созданных потоков, через вновь вызванный native метод?
3) если в нативе malloc'ом или оператором new взять кусок памяти, можно ли будет его использовать при следующем вызове native, если сохранить адрес и не освобождать этот кусок памяти?
456 3177529
>>77524
Опять вопросы от непонимания принципа работы нативов. Когда ты стартуешь натив, управление переходит, как ни странно, нативному коду. Буквально то же что и запустить нативную программу.
457 3177561
>>77524
1. Будут конечно же. Для ос это такие же потоки, как и все остальные, а JVM про них вообще ничего не знает.
2. Да можно, точно так же как и любым нативным потоком.
3. Да можно.
458 3178302
Можно ли где нибудь посмотреть проекты на Java и их стоимость? Интересно сколько стоит разработка архитектуры для проектов разных масштабов, а также собственно стоимость кодинга
459 3178361
>>61163 (OP)
Ознакомился с описанием от вкатунов, но если мне удобнее курсами, то какие курсы наименее гавеные?
460 3178428
>>78302

>проекты


Вкатуньё тебе ещё и доплатит за возможность поработать над проектами.
461 3178789
>>78302
Ага, заходишь в тинек и спрашиваешь
1717445553761.jpg650 Кб, 1080x2400
462 3179475
Что это за шиза? Просто блядь словесный шум,ноль содержательной информации
463 3179530
>>79475
Ты чё пес, это шилдт!
464 3179560
Вопрос мб не по теме но щас работаю программистом в офисе 5/2 с 9 до 18. Как мне с таким графиком проходить собесы чтобы сменить работу? Уволиться и искать не подойдёт потому что IT отсрочка от армии.
465 3179594
>>79560
Как все люди работающие в офисе. Отпрашиваешься /договариваешься на обед/в отпуске и т.д
466 3179715
>>79475
Это главная концепция, вокруг которой крутиться выскоуровневая жаба синхронизация. В чем ноль содержания, лол?
Причем это ускользание, реально очень много проблем может принести. Если например случайно утечет this ссылка во время конструирования иммутабельного объекта, то весь поток, получивший эту саму ссылку, всегда будет получать какую-то чушь, а не данные из него. Тут тоже самое, если ты кому-то просто отдал мутабельный объект, то считай крест поставил на синхронизации. Технически, ты должен передовать не просто объект, а право владения им. В том же расте это выведено на уровень семантики, в жабе же, ну довольствуемся хотя бы возможностью. Еще это называется acquire/release.
467 3179727
>>79715

>Это главная концепция, вокруг которой крутиться выскоуровневая жаба синхронизация.


Вот только фрагмент из книги, ни разу ни про синхронизацию или safe publishing.
468 3179729
>>79475
>>79715
Что не так в 3.5 и 3.6 ?
469 3179736
>>79729
У тебя нет гарантии видимости. ввиду того, что hb связи нет. там в 16 главе подробнее про это.
>>79727
ну дальше про нее будет. он про нее почти всю вторую или третью часть 🍑ит.
470 3179746
>>79736
Ты имеешь ввиду что потоки могут обратиться к коллекции до вызова инит метода?
471 3179752
>>79746
могут и после. разница, если hb нет? Это тупо гонка.
канонический пример:
https://github.com/openjdk/jcstress/blob/master/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_04_Progress.java
без гарантии видимости, у тебя легко может быть вечный цикл.
472 3179760
473 3179764
>>79760
happen before. если первый раз слышишь, просто забей до 16 главы.
474 3179774
>>79764
Неприятная структура книги когда сначала показывают,а потом объясняют что показали через несколько глав
475 3179784
>>79774
Можешь заметочки вести. или хайлайты оставлять в пдфке. а ну и перевод на русский очень часто может вводить в заблуждение, проще в этом случае к оригиналу обратиться. А то, то что у нас поток потока программы. у них thread program flow. что у нас блокировка потока, блокированный метод, у них lock thread, block method.
476 3179815
>>79784
ТЯ-ЖЕ-ЛО
image.png23 Кб, 1131x802
477 3179826
Аноны, мне помощь нужна.
Я по работе из .doc делаю .xlsx средствами самого excel.
Не то чтобы это было сложно или много времени занимало, но количество документов не маленькое, а руками это делать надоело, еще и нужно что-то докрутить, добавить формул, ну вы поняли.
Сам документ,примерно как прикрел, выгружен из какой-то проги, так как приходят в одном виде, разделение идет знаками "|", делать табл. в excel они не будут, а формулы всё еще нужно добавить.
Решил делать на java, так как хочу перекочевать на нее. Быть инженером уже не так престижно

Вопросы сразу с ходу, как заменить "|" на перенос в следующий столбец, как добавить формулы, как избавится от шапки на каждой странице и т.д.
Может кто-то уже сталкивался с такой работой или может дать больше информации, чем запрос гугла "java преобразовать .doc в excel", буду благодарен. Как всегда, с меня нихуя.
478 3180062
>>79826
>>79826
Ну наврядли кто-то тебе больше гугла подскажет. Я сталкивался, но все особенности будут зависеть от структуры твоего документа. А так - бери Apache POI, смотри примеры, пробуй считать.
Шапка вобще по-моему сделала бэкграуном, так что она будет как-то отдельно идти.

>как заменить "|" на перенос в следующий столбец


Читаешь строку, делаешь "строка".split("|") , получаешь массив из обрезков, проходишься по нему и опять же через апач пои добавляешь в новый столбец.

Как добавить формулы:
https://www.baeldung.com/java-apache-poi-set-formulas
479 3180131
>>80062
Спасибо. Буду разбираться
480 3180198
>>79736

>ну дальше про нее будет.


Харе спойлерить!
481 3180258
>>80198
Да там же в оглавлении все, ряя....

Вообще чет решил перечитать, про видимость было ровно главой раньше, странно, что чел забыл.

И вот я не понимаю зачем было написано вот эта часть про волатайл. Мало того, что гении на переводчиках перевели should как должность. Так мне еще непонятно, зачем вообще оригинальные авторы вкинули часть про кэши. Это же деталь реализации, нигде не гарантируемая. Я вот ток недавно ее в вузике слушал, в куче видосов видел на многих сайтах оно есть, короче все как попугаи ее повторяют.. Очень надеюсь, что все это аппелирование к железкам вырежут нахуй в будущем издании, оставив только

>read of a volatile variable always returns the most recent write by any thread

482 3180506
>>80258

>read of a volatile variable always returns the most recent write by any thread


Что конечно же 🍑жь. volatile не даёт никаких временных гарантий, его гарантии видимости совсем про другое.
483 3180511
>>80506
Хмм, что ты имеешь ввиду вообще? Вроде конктретно в этом предложении все норм сформулировали.
484 3180617
>>79560
>>79594
У меня в команде ведущий аналитик кстати в рабочее время собесы проходил в офисе в переговорке с рабочего ноута. Так и говорил - на созвоне в 14 меня не будет - у меня собес. Месяц так поискал и свалил.
485 3180623
>>80617
Знаю его. Погиб он. На мосту не справился с управлением и в реку нырнул. Достали, но он уже того - синий был.
486 3180719
>>80511

>Вроде конктретно в этом предложении все норм сформулировали.


Нет, volatile дает гарантию что если вы из переменной A считали значение B, то из всех остальных переменных будет считано то, что тред записавший B записал до этого. Т.е. это про видимость изменений, а не про время.

Технически, write/read барьеры работают так, что ты увидишь эти изменения буквально за пару тактов, но JMM не дает таких гарантий.
image.png165 Кб, 1186x577
487 3180725
>>80719
Ты про eventually visible? https://gee.cs.oswego.edu/dl/html/j9mm.html
Вот тут оно есть. Opaque накладывается на Acqure/release, который в свою очередь уже на volatile.
Хотя конечно это 🍑ц какой-то, что до сих пор в спеке нет нихуя про эти режимы. Но судя по прогрессу... https://openjdk.org/jeps/188 это будет не скоро.
1717533186284.jpg469 Кб, 1080x1650
488 3180727
Я не понимаю,в чем проблема не делать n final. Ну получит поток данные,он же изменить их не может,поле то приватное и сеттера в классе нет
489 3180731
>>80727
final дает дополнительные гарантии. Строго говоря, даже большие чем volatile. У тебя же тут просто plain чтение.
И вообще, попробуй потестировать тогда, раз не веришь.
490 3180733
>>80731
А зачем мне доп гарантии,ты никак не можешь изменить значение n у тебя просто нет такого функционала
491 3180734
>>80733
В плане? Ты ж его в конструкторе меняешь с дефолт значения на какое-то присовенное. Ну и вот, у тебя вариант прочесть 0 или то, что ты сам пихнул в констркутор.
492 3180741
>>80733
>>80734
Вот тебе тесты короче. Я чет попытался сам написать, но там похоже нужно на арме каком-нибудь тестить, иначе просто непрокнет. https://github.com/openjdk/jcstress/blob/master/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_08_Finals.java
493 3180750
>>80741
Спасибо тебе
494 3180818
>>80750
не за что жи. и обращайся, няшк. могу контактик даже тебе свой дать, если молодой, шутливый, конечно~~
495 3181202
Почему перестали писать книги по джаве и спрингу? Эти технологии устарели и все переходят на го?
496 3181211
>>81202
По спрингу каждый год что-то выходит у oh really. Как и по всему. Но сейчас книги чтают те кто хотят вкатиться, тем кто уже тут нет смысла - все нововведения разжёвываются в блогах , да на медиуме.
Да и сама индустрия сейчас хайпует с несколько других вещей.
497 3181213
>>81211
Хуже гошизов, только аишизы. И почему спрашивается они засели в жабатреде(
springinit.jpg58 Кб, 537x763
498 3181239
И как теперь создавать проекты для старых версии джавы?
499 3181278
>>81239
Да никак. В зависимостях 3 спрингбута нет ничего ниже 17. Страдай.
500 3181294
>>81239
А котлин с какой версии саппортит jvm?
501 3181363
>>81239
Сгенерировать на новой и заменить в помнике руками?
502 3181390
>>62241
Ceylon предлагал такое, но язык был убит с подачи разработчиков говнокотлина. Они даже добились удаления видео, в котором говорили об успешном опыте промышленного применения Ceylon.
503 3181414
>>81390
И зачем нужны эти ваши юнит тайпы? Еще непонятно, причем тут котлин вообще. Будто это его вина, что он стал популярен, а целон нет.
504 3181446
505 3181709
>>81202
Ну вот книги 2022+
Есть еще с десяток всяких индусских рактов

Только что ты там нового хочешь найти? Про спринги и джаву и так куча всего написано и не так уж много там меняется.

Я такое тоже не читаю, все что надо оп спрингу обычно и так гуглится легко. А мне больше про дизайн и архитектуру почитать.
506 3181715
>>81239
Почему до сих пор не переехали на новую версию?
507 3181719
>>62371
Нет. В ADT у тебя сумма типов, а тут объединение. Разные вещи
image.png16 Кб, 715x228
508 3182140
>>81719
А в чем разница? Это типа пика, либо же этого >>62279 если жабку брать.
509 3182147
>>82140
Разница в том, что у тебя сумма протегана. Объединение типов совсем не обязательно.
510 3182155
>>80725
Нет, я про то, что видимость всегда не равна wall clock. Просто потому, что есть задержки с передачей информации.

Чтобы давать гарантировать вида:

- ядро i выполнило write barrier на такте X
- ядро j выполнило read barrier на такте X+1
- ядро j прочитало, на такте X+2, данные записанные ядром i

придется останавливать ядра пока данные передаются между кешами, а то и памятью.

Поэтому гарантии имеют вид: если A happened before B, то прочитав из A значение C есть гарантия, что прочитается всё что было до этого. А не в форме как только вы запишите в A, так сразу все потоки это увидят.

В контексте оригинального вопроса: >>80506 означает, что значение volatile треды видят с некоторой задержкой, но она очень маленькая, на уровне нескольких тактов.
511 3182175
>>82147
Ну судя по википедии это все таки сум тайп. Ноо как я понял, ты имеешь ввиду, что возможность матчится, ну т.е. определить конструктор без instanceof не обязательна. Понил.
>>82155

>если A happened before B, то прочитав из A значение C есть гарантия, что прочитается всё что было до этого


Нуу, ты похоже свойства транизитвности имеешь ввиду. Вообще говоря в спеке действительно нет никакой формулировки по поводу последней записи. Вот есть пик 2 из главы 17.4.7. Вкратце, она говорит, что вот ну если у тебя A hb B, то A никогда не прочитает значение B. А также, не может существовать никакой такой записи между записью и непосредственно чтением. Вот эту вторую часть можно вполне переформулировать в видит последнюю запись. На пике 3 мб более понятное обяснение...

>А не в форме как только вы запишите в A, так сразу все потоки это увидят.


Имхо, но этого не было в той цитате... Вполне может я конечно жопочтец, не отрицаю.
512 3182178
>>81294
Да вроде 8+, но точно не знаю.
Недавно надо было глянуть сурсы компоуза, идея говорит, что они собраны на джаве 8
513 3183631
>>82175

>Нуу, ты похоже свойства транизитвности имеешь ввиду.


Чел! Это не тест Роршаха, тут не надо говорить какие ассоциации у тебя вызывает этот текст, его надо просто прочитать.

Я говорю про одну простую вещь, что все эти happens before, sequential consistency это не про то, что изменения будут сразу, немедленно, в течение N наносекунд видны/записаны в память минуя кэши и прочие городские легенды.

Это всё про то, что если увидел A, то выполняется B. Даже в твоём примере let W(r) be the write observed by r , т.е. это предположение что r увидел некоторые данные дальше из этого следует что-то.
514 3183938
>>83631

>Это не тест Роршаха


((
Я привык уже так общаться. Не обращай внимание, просто считай как маркер, чтобы ты мог скорректировать, если я что-то неправильно понел..

>это не про то, что изменения будут сразу, немедленно, в течение N наносекунд


Ну согласен, так и есть. Наверное точнее надо было как-то вот так:

>read of a volatile variable always returns the most recent write in synchronization-order by any thread


Но кмк сознательно не было упоминаний про эти so/hb, чтобы неофиту мозг не сломать. В общем ладное, разобрались...
515 3198631
>>83938
Ну съеби нахуй с треда, олигофрен, отлежись в дурке там месяц-два чтобы твои психические заболевания вылечили. Никто тебе не собирается помогать когда ты общаешься как будто у тебя осколок в мозгу.
Тред утонул или удален.
Это копия, сохраненная 6 сентября в 01:48.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски