Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 515 78 115
Java Thread №268 /java/ Аноним 19/05/24 Вск 00:10:09 3161163 1
OIG1 (4).jfif 82Кб, 1024x1024
1024x1024
🎉🚀 ОБНОВИЛСЯ ДО 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)
Аноним 19/05/24 Вск 00:12:20 3161165 2
Вердикт: гпт-4о - хуйня, ноль отличий от 3.5. Бинг - ебет, картинки просто сок. Могу накидать сюда варианты генераций и промпт, если нравятся, пригодятся если кто-то еще будет перекатывать.
Аноним 19/05/24 Вск 00:21:55 3161171 3
>>3161163 (OP)
А я хочу тортик...
>>3161165
3.5 объясняет хуже и чаще пиздит. А от гугла нейронку не пробовал, кста?
Аноним 19/05/24 Вск 00:39:12 3161183 4
>>3161165
Т.е. 4 очка хуже просто четвёрки?
Аноним 19/05/24 Вск 00:41:33 3161185 5
>>3161171
>3.5 объясняет хуже и чаще пиздит.
4о я попробовал только на переписывании шапки, так что пока не могу судить.
>А от гугла нейронку не пробовал, кста?
Нет, там наверняка тоже как-то надо обходить блокировку, надо найти инструкции как пользоваться, не до этого сейчас.
>>3161183
Четверку без подписки не дают.
Аноним 19/05/24 Вск 00:42:18 3161186 6
Аноним 19/05/24 Вск 00:45:04 3161189 7
OIG4 (1).jfif 87Кб, 1024x1024
1024x1024
OIG1 (1).jfif 151Кб, 1024x1024
1024x1024
OIG2.jfif 131Кб, 1024x1024
1024x1024
OIG3.RZlPAloRu4[...].jfif 205Кб, 1024x1024
1024x1024
blue coffee cup with red steam, letters "J AVA", digital illustration, white background
Аноним 19/05/24 Вск 00:45:47 3161190 8
OIG2 (2).jfif 65Кб, 1024x1024
1024x1024
OIG4 (2).jfif 118Кб, 1024x1024
1024x1024
OIG2 (1).jfif 100Кб, 1024x1024
1024x1024
OIG1 (3).jfif 119Кб, 1024x1024
1024x1024
blue coffee cup with red steam, letters "J AVA", white background, 1950s, retro futurism
Аноним 19/05/24 Вск 07:11:42 3161283 9
>>3161171
>>3161165
Проблема чатгопоты и других нейронок в том, что они предоставляют катастрафически малое количество токенов. По сути ты в месяц можешь задать 20-30 вопросов и на каждую строку ответа тратится по токену. В итоге ты за пару минут выгребаешь весь месячный лимит даже с оплаченной подпиской и потом сосешь лапу. Ну и без качественного впн и зарубежной карты тебе недоступны нейронки
Аноним 19/05/24 Вск 09:11:12 3161321 10
>>3161283
Разве при оплате не по апи, а по подписке ограничение не по сообщениям, а по токенам?
Аноним 19/05/24 Вск 09:20:40 3161323 11
>>3161321
Там без разницы. У тебя в месяц будет где-то 20-30 запросов. Мне хватает, чтобы решить 1-2 задачи в лучшем случае. Обычно начинает писать хуету и нужно 3-5 уточняющих запроса. Вот и считай
Аноним 19/05/24 Вск 09:50:22 3161332 12
>>3161323
Я не знаю, откуда ты 20-30 запросов взял. При платной подписке тебя запросами заваливают до жопы. А можно ещё через апи, там вообще пока кошелька хватает можно спрашивать.
Аноним 19/05/24 Вск 11:14:35 3161457 13
Вопрос. Зачем в джаве все так дрочатся с ООП, если обычный проект на спринг буте, с которым работает рядовой анальник, никакого ооп не содержит (не считая апи спринга и других зависимостей)?
Аноним 19/05/24 Вск 11:27:18 3161495 14
>>3161457
Никто и не дрочится. Типичный проект на спрэнг фримверке это рестконтроллер, который мапит дтохи, толстый сервисный класс, который содержит в себе всю логику и прослойка из классов которые мапятся на таблички в базюльке + интерфейсы репозитории для пуляния в базюльку. Типичное процедурное программирование
Аноним 19/05/24 Вск 11:47:53 3161547 15
>>3161495
Да, я про то же, за редкими исключениями всё так. Я здесь скорее про диссонанс между тем, что ты это должен знать, что каждый обучающий ресурс считает своим долгом включить избитые примеры про машинку и зверушек, что про это спрашивают на собесах, и реальностью крудошлёпства на спринге.
Аноним 19/05/24 Вск 14:47:15 3161787 16
>>3161547
постепенно становится понятно что процедурное создает много проблем и начинается движение в сторону ддд, а там уже ооп всплывает
Аноним 19/05/24 Вск 14:51:13 3161792 17
>>3161787
>начинается движение в сторону ддд
не, там дальше больше бойлерплейта чем в ООП, добавление одного поля в базу означает переписывание кучи мапперов
Аноним 19/05/24 Вск 15:37:31 3161809 18
>>3161787
Если на проекте практикуется ddd, с domain слоем и т.д., то да, согласен. Но проекты с ddd встречаются гораздо реже, чем без.
Аноним 19/05/24 Вск 19:30:31 3162097 19
>>3161457

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

А вообще - в джаве никогда на ООП не кодили. Судя по рассказам дидов, предтечами джавистов были коболисты-процедурщики, которые идею не оценили и ебошили процедурно по привычке. Ну а дальше понеслось во все тяжкие - JavaEE + EIP, DI, Spring Boot...
Аноним 19/05/24 Вск 20:25:07 3162155 20
Коллекции, кстати, кал. Должен быть интерфейс RList (ReadableList) и MList (MutableList), расширяющий RList, а также должна быть мода на принимание Iterable в качестве аргументов извне если нужно итерировать и не более, которую не задали разрабы джавы (хотя, вероятно, могли).
Аноним 19/05/24 Вск 20:32:20 3162161 21
>>3162155
Ну так то то что ты предлагаешь - ровно тот же кал, только сушеный. Ты подсветил две проблемы, а их там десятки.
Аноним 19/05/24 Вск 20:46:49 3162174 22
Для чего вообще джава нужна кроме легаси? Машин лёрнинг делают на питоне/плюсах, бэкенд на го/плюсах, железки на плюсах.
Аноним 19/05/24 Вск 20:49:21 3162178 23
>>3162174
А для чего нужен ты? Зачем тебя мама рожала? Ты же никчемный двачер, у тебя даже имени нет. Умного или полезного то те явно написать нечего.
Аноним 19/05/24 Вск 20:51:13 3162181 24
image.png 33Кб, 641x339
641x339
>>3162155
>принимание Iterable в качестве аргументов
Попробуй стрим из итерабл сделать. Например там принимается несколько важных флажков, что на пике. Как ты вот их достанешь из итерабл?
>Должен быть интерфейс RList (ReadableList) и MList (MutableList), расширяющий RList
В котлине это так.
>>3162161
А расскажи подробнее о проблемах интересно жи.
>>3162174
Для вас же /versus/ сделали. Пиздуй туда.
Аноним 19/05/24 Вск 20:53:09 3162184 25
>>3162181
> флажков
Значение знаешь, додь?
Аноним 19/05/24 Вск 20:54:13 3162185 26
>>3162184
Значение чего? Мысль раскрой
Аноним 19/05/24 Вск 21:09:14 3162197 27
>>3162185
Значение используемого тобой слова "флажков".
Аноним 19/05/24 Вск 21:10:43 3162199 28
>>3162197
....
На пике написано Stream flags.
Вот чому ко мне так любят придираться всякие рязные
Аноним 19/05/24 Вск 21:11:37 3162202 29
easy.png 14Кб, 945x170
945x170
>>3162181
> Попробуй стрим из итерабл сделать.
Вот эта вот хуйня с пика начало работать раньше чем ты родился и до сих пор работает.
Аноним 19/05/24 Вск 21:13:58 3162206 30
>>3162181
>А расскажи подробнее о проблемах интересно жи.

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

Во первых, коллекции бывают не только mutable, immutable, но еще и persistent (персистентные), последние накладывают свои особенности на контракты. Во вторых, если уж браться и хуесосить интерфейсы, то хуесосить надо всю иерархию сверху донизу, а не только List. Почему Collection декларирует для всей этой палитры коллекций как методы с сайд-эффектами (типа remove, retain), так и методы без? Для того, чтобы потом стыдливо прикрывать их эксепшенами в иммутабельных имплементациях, ломая LSP? Почему вместо нормального контракта для ключа в хэш-бэйзд структурах, вместо того чтобы задекларировать интерфейс и вынести в него equals-hashCode, последние вшиты в контракт базового обьекта, из-за чего потом появляются способы ебнуть себе в колено мемори-ликом по мутабельному ключу? Да и почему в интерфейс Map следовало зашивать на контракте его хэш-бэйзд натуру - чтобы потом считать IdentityHashMap читерством? Это - то что я с наскоку вспомнил, хуесосить Collection API можно долго. А можно не хуесосить и просто жить с этим - я на самом деле не осуждаю людей, которым сложившийся статус кво норм. А вот гиблое дело - быть тем аноном-двачером недоделанным: у дебила 20 iq за душой, а все лезет во взрослые темы, щенок блять...
Аноним 19/05/24 Вск 21:25:05 3162209 31
>>3162202
Какое-то хуевое решение, которое стирает флаги. Хотя я чет тупанул, они в итерабл включили этот spliterator, так что проблем по идее не будет. Но что-то мне кажется, что есть не так много мест, где нужно исключительно итерирование. Ну и плюс это декларирует тот факт, что это не какой-то контейнер, а все что угодно, что может итерироваться. Хоть бесконеную последовательность можно хуйнуть. Это в общем еще одно ограничение в сущности. Ленивость, возможно нужна, или гарантия завершения.
>раньше чем ты родился
Всяко лучше, чем быть скуфом.
Аноним 19/05/24 Вск 21:58:20 3162228 32
>>3162206
Кстати эти иммутабельные имплементации еще поведение разное имеют. Arrays.asList например запрещает только размер менять, а вот List.of вообще всю мутабельность. Самое неняшное - это никак семантически не обозначено.
Кстати, вообще в вашей новой иерархии куда этот самый Arrays.asList попал бы?
>вынести в него equals-hashCode
Вообще было бы няшно. Типа например у StringBuilder equals не задан, что немного не очевидно, а так бы CE было бы.
Аноним 19/05/24 Вск 21:59:37 3162230 33
>>3162228
>Arrays.asList
Задеприкейтить и перевызывать внутри List.of
Аноним 19/05/24 Вск 22:10:02 3162236 34
>>3162228
>в вашей новой иерархии куда этот самый Arrays.asList попал бы?

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

Как по мне, так существование Arrays.asList не особо и обоснованно, когда есть List.of(<vararg array>). А с последним - вопросов где возвращаемое из него значение расположится в иерархии возникать не должно. Была когда то библиотечка персистентных коллекций vavr (перл, достойный отдельного обсуждения), так там у каждой коллекции был похожий билдер. List.of, Set.of, Map.of, и.т.д. В современной джаве теперь похоже стало.
Аноним 19/05/24 Вск 22:12:22 3162241 35
Просто объединения типов нужны.
Аноним 19/05/24 Вск 22:44:11 3162279 36
image.png 78Кб, 890x691
890x691
>>3162241
Вроде и так есть. Или ты про что-то другое?
Аноним 19/05/24 Вск 23:09:43 3162306 37
Аноним 19/05/24 Вск 23:17:08 3162314 38
union.PNG 34Кб, 918x485
918x485
Аноним 19/05/24 Вск 23:25:37 3162330 39
langs-in-demand.PNG 28Кб, 832x584
832x584
>>3162174
>бэкенд на го
чего-то мало в мире бэкэнда, да? едва дотягивает до 2х процентов от рынка
Аноним 19/05/24 Вск 23:28:23 3162335 40
>>3162279
Не дженериковые, а настоящие.
Аноним 19/05/24 Вск 23:29:38 3162337 41
>>3162330
>петушарп
>12%
Лол. Если судить по соответствующему постингу на сосаче, то петушарп находится где-то на уровне говна.
Аноним 19/05/24 Вск 23:31:26 3162339 42
>>3162314
ifString и ifNumber должны возвращать this.
Аноним 19/05/24 Вск 23:32:10 3162340 43
Аноним 19/05/24 Вск 23:36:47 3162345 44
>>3162337
По постингу на сосаче похоже, что 1с резко начал набирать популярность.
Аноним 19/05/24 Вск 23:36:48 3162346 45
>>3162330
Даже на Руби(!) почти в 3 раза больше вакух
Аноним 19/05/24 Вск 23:37:27 3162348 46
>>3162335
и чем конкретно тебе тут женерики мешают?
Аноним 19/05/24 Вск 23:42:23 3162355 47
Аноним 19/05/24 Вск 23:57:56 3162371 48
image.png 12Кб, 474x139
474x139
Аноним 20/05/24 Пнд 00:04:40 3162380 49
>>3162371
Ну да, это tagged union / sum type
Аноним 20/05/24 Пнд 00:08:34 3162384 50
>>3162371
>Ну как-то без паттерн матчинга выглядит хуева.
Паттерн матчинг делается только через sealed интерфейсы в джаве, то есть к существующим типам ты его не сделаешь.
А это подход и предельно простой и распространяется на существующие типы
Аноним 20/05/24 Пнд 00:08:52 3162385 51
Аноним 20/05/24 Пнд 00:12:56 3162391 52
image.png 41Кб, 634x466
634x466
>>3162384
Нуу, все abstract неявно = sealed. Возможно в некоторых местах впендюрят еще явно. В любом случае какой-то странный кейс, проще полиморфизмом ad-hoc воспользоваться и не ебать мозги.
>>3162385
Ну покажи реально. Типа смотри, даже паттерн матчинг работает с ними корректно.
Аноним 20/05/24 Пнд 00:20:43 3162402 53
>>3162391
>Нуу, все abstract неявно = sealed.
Ну как же, ты же любой абстракт можешь экстендить любым новым классом, это никакой не sealed, sealed как раз запрещает это делать
>роще полиморфизмом ad-hoc воспользоваться и не ебать мозги
Согласен, но люди периодически спрашивают юнионы, вот я как-то для реддита и написал пример
Аноним 20/05/24 Пнд 00:22:49 3162403 54
>>3162402
>Ну как же
Чет да, хуйню сказал. Возможно с чем-то спутал.
Аноним 20/05/24 Пнд 08:04:48 3162495 55
>>3161163 (OP)
Коллеги, года 3 назад к треду был прикреплен очень годный роадмап по вкату. Там советовалась книга по спрингу и курсы Валеева. Сейчас в шапке другой гайд по вкату, дайте ссылку на тот старый
Аноним 20/05/24 Пнд 15:29:56 3163000 56
>>3162495
Ты про это? https://github.com/EightM/JavaBackendStartGuide

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

Вот сосачерский оригинал из 2016 года: https://github.com/qqqlll/Java-Thread/wiki/
Аноним 20/05/24 Пнд 18:52:26 3163256 57
projectional-ed[...].webp 31Кб, 1518x572
1518x572
domain-specific[...].webp 72Кб, 2120x1026
2120x1026
Как вам новый JEP? В Java 23 завозят.
Аноним 20/05/24 Пнд 18:55:03 3163261 58
>>3163256
Я в курсе, что это за хуйня. По ней нет документации. Мертворожденный выпердыш.
Аноним 20/05/24 Пнд 20:40:53 3163395 59
>>3161792
>>больше бойлерплейта
у меня его мало

>>добавление одного поля в базу означает переписывание кучи мапперов
просто сделай одинаковые названия полей для бд и в дто - писать ничего не придется
Аноним 20/05/24 Пнд 21:57:38 3163471 60
Кто-нибудь из джавистов оформлял отсрочку от призыва (не от мобилизации, а именно от призыва) в РФ при найме на работу после магистратуры/аспирантуры вузика? Через год заканчиваю аспу. Как работодатели к этому относится? Не будет вопросов по типу нахуй я в аспирантуру пошел если я уже работал? Брат устроился жаба девелопером и получил бронь, но от мобилизации, а мне нужна именно от срочки.
Опыта на жабе нет, решил свичнуться с дата сатанизма, т.к. работаю в лаборатории МухГУ за среднюю зарплату (не по айти, а по региону, что пиздец), естественно собираюсь в резюме напиздеть с три короба. Можно конечно опять в дата саенс, но я хочу иметь несколько опций.
Аноним 20/05/24 Пнд 22:01:11 3163474 61
>>3163471
Ну и можно не обязательно джаву, а в целом бэкенд из стандартного набора (C#/Python/Go/JS), если кто устраивался, не думаю, что ситуация сильно отличается в плане вероятности получения отсрочки.
Аноним 20/05/24 Пнд 22:11:39 3163480 62
Моё мнение про 4о диаметрально противоположно первому посту в треде. Больше не извиняется каждый раз, пишет охуенный код, доступно всем и ещё и дёшево. Просто заебись. Жаль только это по сути враг для программистов.
Аноним 20/05/24 Пнд 22:18:36 3163487 63
>>3163480
>пишет охуенный код
Пример покажешь? Я как не прошу, она пишет кал... Хотя вполне возможно, что мои запросы слишком сложны.
Аноним 20/05/24 Пнд 22:22:42 3163490 64
>>3163395
не, есть еще лучше решение - не использовать ддд, и писать придется еще меньше
Аноним 20/05/24 Пнд 22:25:25 3163494 65
>>3163395
>просто сделай одинаковые названия полей для бд и в дто - писать ничего не придется
сначала сами себе создаем проблемы, а потом героически их решаем, да
Аноним 20/05/24 Пнд 22:45:23 3163514 66
>>3163471
>Как работодатели к этому относится?
Зависит от компании. В целом должны быть за, потому что тебя с работы не выдернут на срочку, но лично в моей против.
Аноним 21/05/24 Втр 00:47:22 3163626 67
Вышло видео по Billion Rows Challenge, (челлендж по оптимизации джавы), кому интересно что там применяли
https://www.youtube.com/watch?v=9-S_nZ5gzGE
Аноним 21/05/24 Втр 00:58:21 3163637 68
Аноним 21/05/24 Втр 01:20:53 3163642 69
>>3163637
спринг-девелопер, ты?
Аноним 21/05/24 Втр 01:22:36 3163643 70
Аноним 21/05/24 Втр 02:49:01 3163657 71
>>3163480
Анальники будут коупить до последнего и не верить. У них просто жопу рвёт от факта, что профессия таксиста переживёт программиста, т.к. автопилот для авто нереализуемая хуйня.
Аноним 21/05/24 Втр 04:34:41 3163669 72
>>3163657
Таксодаун, срыгос из треда, живо.
Аноним 21/05/24 Втр 05:10:30 3163678 73
image.png 370Кб, 1948x1426
1948x1426
image.png 340Кб, 1986x912
1986x912
Ебусь с HDFS, пытаюсь запустить лабу, на первой пикче, пробовал все YARN-ы, хуй там плавал, каждый раз выдаёт ошибку как на второй пикче, че делать? Могу прислать скрины всех использованных файлов, проверил путь до исполняющего файла питона, вроде всё норм. Главное файлик создаёт пустой, но не заполняет по понятным причинам - не работает нихуя.

путь до исполняющего - #!/usr/bin/python3
Да, тред про Java, а тут питон, но высылает мне ошибки именно Java
Аноним 21/05/24 Втр 05:17:45 3163681 74
>>3163678
Там чё-то с джава секьюрити. Запусти от имени администратора со всеми доступами.
Аноним 21/05/24 Втр 06:04:37 3163705 75
>>3163681
во-во, там отказывало в доступе, прописал chmod +x на все исходники всё заработало, я в ахуе
Аноним 21/05/24 Втр 07:44:00 3163735 76
2021
@
>ПОХУЙ НА ПРОИЗВОДИТЕЛЬНОСТЬ И КАЧЕСТВО КОДА! ГЛАВНОЕ БЫСТРЕЕ ЧТОБ ПРОДУКТ БЫЛ ГОТОВ!
@
2022
@
>БУГАЕНКО, СЧАСТЬЕ, ЗАЕБИСЬ!
@
2023
@
>ЗАБИВАНИЕ ХУЯ НА ПРОИЗВОДИТЕЛЬНОСТЬ ПРИВОДИТ К ТОМУ, ЧТО ИТОГОВЫЙ ПРОДУКТ РАБОТАЕТ С МИНИМАЛЬНО ДОПУСТИМОЙ СКОРОСТЬЮ, НИЖЕ КОТОРОЙ УЖЕ НИКАК НЕЛЬЗЯ. CPU-TIME ДО СИХ ПОР ОЧЕНЬ ОГРАНИЧЕН И БУДЕТ ОГРАНИЧЕН ВСЕГДА, И РАЗРАБОТКУ СТОИТ ОТТАЛКИВАТЬ ОТ НЕГО. А ВОТ НОВУЮ ПЛАШКУ ОПЕРАТИВЫ ВСЕГДА МОЖНО ДОКУПИТЬ, ОНА Ж КОПЕЕЧНАЯ!
@
2024
@
>НО ЕСЛИ БЕЗДУМНО ТРАТИТЬ ПАМЯТЬ НИКАКИХ ПЛАШЕК НЕ ХВАТИТ...


Сеймы есть? В чём я не прав?
Аноним 21/05/24 Втр 08:37:19 3163738 77
>>3163735
>
>? В чём я не прав
В выборе языка программирования.
Аноним 21/05/24 Втр 08:40:50 3163739 78
>>3163738
Но ведь я не шарпоговно выбрал.
Аноним 21/05/24 Втр 09:18:15 3163751 79
>>3163490
>>не использовать ддд, и писать придется еще меньше
Придется писать очень длинные и плохо тестируемые портянки которые используются всеми сервисами.
Проще написать 5-10 небольших методов в которых используется только то что нужно, даже если местами есть дублирование. А при изменениях меньше вероятность словить баги в неожиданных местах.

>>сначала сами себе создаем проблемы, а потом героически их решаем, да
Не знаю в чем ты проблему увидел. Добавление полей в бд не связано с ддд. Аналитикам и бизнесу вопросы задавай, почему они не предвидели всю бизнес логику заранее.
Аноним 21/05/24 Втр 09:26:12 3163760 80
>>3163735
>В чём я не прав?
В том, что плашек всегда хватит. На амазоне можно взять инстанс с 250 ГБ памяти за 1 220,56 USD в месяц. На типичной галере/энтерпрайзе это 1-2 человекодня разработчика по стоимости. То есть если ты через джаву сможешь сэкономить хотя бы 2 MD в месяц - можешь хоть обосраться памятью
Аноним 21/05/24 Втр 09:28:16 3163767 81
>>3163760
А там десятки разрабов работают над 1 приложением
Аноним 21/05/24 Втр 09:51:16 3163788 82
>>3163760
А более реалистичный кейс 2 ядра 4 гига стоит в год (!) 0.3 человекодня разработчика
Аноним 21/05/24 Втр 09:57:38 3163794 83
>>3163751
>Аналитикам и бизнесу вопросы задавай, почему они не предвидели всю бизнес логику заранее.
Хвост машет собакой
Бизнес постоянно не можно предвидеть свою же логику и лучше наймет того, кто с этим может работать, а не воннаби маня-архитектора, которому бизнес блять мешает построить идеальное приложение, лол
Аноним 21/05/24 Втр 10:00:17 3163799 84
>>3163739
На шарпе такой хуйни нет.
Аноним 21/05/24 Втр 10:33:30 3163840 85
>>3163799
Какой хуйни? Людей, думающих о перформансе? Я и так это знал, 11 раз же. Там только о гетсетах заботятся похоже.
Аноним 21/05/24 Втр 10:34:27 3163841 86
>>3163760
У тебя на твоей пеке тоже 250 гигабайт памяти? Да и на таких объёмах кучи уже цпу тайм неплохо так тратиться начинает на саму работу с этой памятью.
Аноним 21/05/24 Втр 10:36:07 3163842 87
>>3163760
> 1-2 человекодня разработчика по стоимости.
Только в реальности это в лучшем случае дней 10 с возможностью продления ещё на 10 дней через тактику лейофф + перенайм в другой отдел в два раза дешевле.
Аноним 21/05/24 Втр 10:45:02 3163849 88
Братва, помогите советом вкатуну(не уверен)
Я от скуки начал в марте прсматривать видео и курсы по джаве. С полного нуля. До этого умел только мышкой папки переименовывать.
К настоящему моменту привык уже к idea, освоил Переменные, вложенные циклы, многомерные массивы, научился писать методы, классы, наследование. Сегодня буду вечером смотреть лекцию про полиморфизм.
Так вот эт я к чему.
Я через 2 недели буду увольняться со своей работы( логистика) и уезжаю из ДС к себе в мухосрань на дачу. Буду жить на дача до конца сентября и не работать. И пришла мысль учить джаву по 6-8 часов в сутки все эти 4 месяца.
Реально ли в таком режиме к октябрю(максимум ноябрю, а то потом холодно на даче) выучиться и начинать искать работу? У меня просто выбор между тестировкой и разработкой, очень хочется стратегически продумать - куда я точно смогу за такой срок отучиться и вкатиться на удаленочку.
Выручайте, пацаны. Ну или кидайте танками в мечтателя.
Мне 27 лет, аспирант экономических наук. В 5-8 классе постоянно гонял на олимпиады по математике.
Аноним 21/05/24 Втр 10:45:21 3163850 89
>>3163849
> привык уже к idea
Печально.
Аноним 21/05/24 Втр 10:47:13 3163852 90
>>3163850
Почему ?
Я это к тому, что до этого с компом на Вы. А в idea уже ориентироваться могу. К новому открыт.
Аноним 21/05/24 Втр 10:48:28 3163855 91
>>3163852
В шапке треда недавнее обновление было про то почему идеей пользоваться нельзя если ты вкатун.
Аноним 21/05/24 Втр 10:49:18 3163858 92
Аноним 21/05/24 Втр 11:13:09 3163875 93
>>3163841
На моей пеке 12 летней давности джаве памяти хватает без проблем
Аноним 21/05/24 Втр 11:14:16 3163877 94
>>3163849
Конечно реально, если тебе усидчивости или интереса хватит
Аноним 21/05/24 Втр 11:16:15 3163879 95
>>3163842
Что это за бессвязный поток сознания? Ты реальность рассказываешь из собственного опыта работы в конторе с капитализацией ну хотя бы миллиард долларов?
Аноним 21/05/24 Втр 11:38:11 3163913 96
>>3163849
>лекцию про полиморфизм
>научился писать наследование
Что.? Они ж взаимосвязаны. Или ты научился слово extended писать? Пиздато, че.
>И пришла мысль учить джаву по 6-8 часов в сутки все эти 4 месяца.
Мне кажется перегоришь просто. Ну ты главное сюда пиши, няшно будет.
>>3163850
Идея наоборот топ для новичка. Я не представляю кто на фул ебале пишет в блокноте, считая, что это чем-то помогает. Во первых, идея подсвечивает желтым, все твои фиговые фичи, ты всегда можешь изучить, а что не так. Плюс ты всегда можешь зажать ctrl и обратиться к коду. И это копание в кишочках тоже ахуеть какой буст. И какие сука аргументы могут быть против идеи? Ууу, привыкает к автокомплиту? А минусы?
Аноним 21/05/24 Втр 12:07:07 3163970 97
>>3163735
У нас сервис на говноланге жрёт 600 Гб как говорится - 640 Гб хватит всем и ничего. Главное, что таску вовремя закрыли. А потом ещё создали таску пофиксать эту херню и когда закроем можно репортить что улучшили перформанс на 500%.
Аноним 21/05/24 Втр 12:16:43 3163984 98
>>3163735
>2022
>@
>>БУГАЕНКО, СЧАСТЬЕ, ЗАЕБИСЬ!

Чел - ты ща с лагом на пять лет капчуешь. В 2022м Бугаенко уже хуесосили в хвост и гриву литералли все, о чем ты вообще? Когда СВО стартанула, какой то именитый шарпей даже покушение хотел на него устроить.
Аноним 21/05/24 Втр 12:28:49 3163998 99
Screenshot20240[...].jpg 127Кб, 1080x674
1080x674
Screenshot20240[...].jpg 144Кб, 1080x693
1080x693
Screenshot20240[...].jpg 101Кб, 1055x666
1055x666
>>3163913
Постараюсь отписывать про процесс.
Ну я от однотипной работы, 2 часов метро в день, зп в 80к в ДС уже перегорел. Так что вообще ничего не потеряю. Зато есть шанс работать удалённо и жить где хочу, да ещё и получать больше сотки. Ну и мне даже интересно пока что учиться( но по 6 часов в день я ещё не пробовал конечно)
Если всё-таки в разработку пойду, то пока набросал пикрил себе темы для изучения.
Аноним 21/05/24 Втр 12:39:28 3164011 100
>>3163984
>Когда СВО стартанула, какой то именитый шарпей даже покушение хотел на него устроить.
Тайно добавить ему в проект Спринг, чтобы он умер от кринжа?
Аноним 21/05/24 Втр 12:55:37 3164019 101
image.png 20Кб, 631x116
631x116
>>3163998
В ооп инкапсуляции, которая не сокрытие, не хватает. Еще рекурсия без оптимизации хвостовой рекурсии нахуй не нужна. Atomic от волатайла мало чем отличается. Тут про CAS речь по идее + атомарность.. Ну и stream api где? Его ж теперь пихают повсюду. Как говорица, for устарел с приходом stream, а if с приходом pattern matching..) А. И главное, женериков нет, ряяя!

Алгосов как-то мало)))
Давай, алгоритм флойда, деикстры, крускала, джарвиса, стек Трайбера, очередь Майкла и Скотта, префиксные суммы, sqrt декомопозиция, мемоизация..))))
Аноним 21/05/24 Втр 12:56:36 3164020 102
>>3163751
>очень длинные и плохо тестируемые портянки которые используются всеми сервисами.
Проще написать 5-10 небольших методов в которых используется только то что нужно, даже если местами есть дублирование
Это правда, но причём здесь ддд? С ддд ты просто добавишь ещё один слой абстракции и сложность, которой в твоих проблемах не было изначально. И чем больше функциональности, тем больше этот слой будет вещью в себе, которую нужно поддерживать.

Не буду утверждать, что у ддд зло, но пропагандировать его универсально - прям такое себе. Мне лично долбёжки с jpa хватает.
Аноним 21/05/24 Втр 13:11:45 3164049 103
>>3163998
Ну будешь выгорать от однотипных задач, дедлайнов и коллег-кретинов с зп 200к на удалёнке. Немного получше, конечно, но не значительно.

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

>>3164019
>Еще рекурсия без оптимизации хвостовой рекурсии нахуй не нужна
Нужна, потому что могут спросить. Просто важно уточнять, что в джаве в 100% случаев рекурсию с неизвестной глубиной лучше переписать на цикл.
Аноним 21/05/24 Втр 13:12:48 3164052 104
>>3163657
Смешные вы все таки, нейропсины. Так рьяно в своей злобе верите, что пишете тулзину для уничтожания наших рабочих мест, а по факту - пишете нам новый интеллисенс. Вам дебилам и невдомек, что пока есть хоть одна строчка написанного кода - всегда будет программист, который ее мейнтейнит.
Аноним 21/05/24 Втр 13:17:58 3164060 105
>>3163751
>Аналитикам и бизнесу вопросы задавай, почему они не предвидели всю бизнес логику заранее.

Лицо бизнеса имагинировали?
Аноним 21/05/24 Втр 13:21:19 3164061 106
>>3164049
>Нужна, потому что могут спросить.
Хз, мне такая мотивация не нравится, конечно. Типа как в школе учишь не для себя, а для экзамена. Потом закономерно все нахуй забудешь. Лучше никак, чем так.
Тем более рекурсия, все таки "To iterate is human, to recurse divine". Он же хуман, так что.
Аноним 21/05/24 Втр 13:36:22 3164074 107
>>3163840
>Какой хуйни?
Жора памяти.
Аноним 21/05/24 Втр 13:40:34 3164081 108
>>3164061
Такова реальность. Да и рекурсия довольно интуитивна, чего там учить. Плюс есть задачи, которые проще сначала написать через рекурсию, и потом, отталкиваясь на это решение, переписать на стек+цикл.
Аноним 21/05/24 Втр 13:40:39 3164082 109
>>3164074
> Жора памяти.
Пруфы?
Аноним 21/05/24 Втр 14:01:24 3164100 110
>>3163794
чел, ну это очевидный сарказм же был
Аноним 21/05/24 Втр 14:04:18 3164105 111
image.png 22Кб, 509x484
509x484
image.png 31Кб, 699x278
699x278
>>3164081
>Да и рекурсия довольно интуитивна
Не сказал бы. Плюс в жавке помимо оптимизации хвостовой рекурсии нет рекурсии переменных, ввиду того, что это процесс инициализации, а не связывания. Например вот с помощью такого образа легко определяется полиморфный тип, ака null, без спец языковых средств. Это просто несходящийся ряд. Потом, можно определять разного рода последовательности.
>чего там учить
Например все, что выходит за хвостовую рекурсию. Скажем у нас есть некий список, надо сделать вложенный список, который содержит все возможные перестановки изначального. Это алгоритм O(n^n), т.е. итерация итераций, с помощью фора невыразимо.
>переписать на стек+цикл
Чел.. пик2.
Аноним 21/05/24 Втр 14:09:21 3164110 112
>>3163879
Сколько лично ты из этого миллиарда получил, гой?
>НУ И ЧТО ЧТО Я НИЩИЙ? ЗАТО БАРИН БОГАТЫЙ!
Аноним 21/05/24 Втр 14:10:26 3164112 113
>>3163875
А я не про проблемы джавы, а про проблемы криворуких разрабов серущих в память.
Аноним 21/05/24 Втр 16:00:10 3164222 114
>>3164105
>с помощью фора невыразимо
Любая рекурсивная функция может быть выражена через цикл. Либо я тебя не так понял. К тому же, это типовая проблема, у которой можно нагуглить итеративную реализацию на вики https://en.wikipedia.org/wiki/Heap%27s_algorithm . И по сложности там вроде бы O(n!).

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

>пик2
Спасибо, не знал про эту фичу.
Аноним 21/05/24 Втр 16:22:04 3164268 115
>>3164222
>Любая рекурсивная функция может быть выражена через цикл.
Ну это-то да. Но там блин стек в том или ином виде используют. Это та же рекурсия, только сбоку. Еще к слову, можно рекурсию полностью перевернуть верх тормашками и получить дп.
>И по сложности там вроде бы O(n!).
Тут да, ошибся.
>Я про то, что понять, что такое рекурсия
Нуу, концептуально в принципе мб. Но типа когда доходит до практики и тебе надо проанализировать не просто какую-то итерацию, а все веточки, которые переходят в другие веточки... Задача становится просто на уровень анализа многопоточки.
>и счастливо жил свою жизнь
В принципе я про это говорю, что в жаву занесли вот некоторые концепции, до ума их не довели и смысла от них так мало, что проще хуй забить.
>Кстати, в js есть что-то очень похожее
Надо будет поискать.
Аноним 21/05/24 Втр 19:12:15 3164458 116
>>3163970
>У нас сервис на говноланге жрёт 600 Гб
Как это в принципе возможно? Что вы там храните?
Аноним 21/05/24 Втр 19:14:45 3164460 117
>>3163913
>И какие сука аргументы могут быть против идеи?
Слишком легко. Надо страдать, иначе несерьезно
Аноним 21/05/24 Втр 19:19:03 3164463 118
>>3163998
>Философия Java
Так это для Java философов, разве это ты?
Аноним 21/05/24 Втр 22:59:34 3164766 119
>>3163514
Спасибо за ответ.
Вчера провёл небольшой рисёрч, скорее всего, как я задумал не выйдет. Надо устраиваться в ближайшие полгода пока отсрочка аспирантуры действует, а потом через год получить отсрочку по работе. Чёт мне такой вариант сразу в голову не пришёл и я уже думал, что с горя схожу в армию, лол. Надо только договориться с Кабаном Иванычем чтобы он переустроил меня по совместительству, т.к. он у меня научрук. Ну и всего-навсего за полгода выучить жабий бэкенд.
Аноним 22/05/24 Срд 03:38:54 3164904 120
Мужики, а ведь джава всё переживет. Это такой же фундаментальный базированный язык как с++. Все эти го, шарпы - это временно и скоро пройдет.
Аноним 22/05/24 Срд 04:52:19 3164909 121
Хочу найти работу на удаленке, чтобы сидеть дома и никуда не ходить.
Такое возможно при работе Java Spring программистом?
Или .Net Core лучше учить?
Аноним 22/05/24 Срд 04:58:21 3164910 122
>>3164909
Это Легаси для дедов, которые в банках мейнфреймы обслуживают. Молодежный вариант - это голанг. Его и бери.
Аноним 22/05/24 Срд 07:09:10 3164974 123
Поясните за ISR в кафке: вот допустим есть лидер партишна и одна ISR. Лаг ин-синк реплик допускается стандартный, 10 секунд. Допустим, ISR отваливалась на 9 секунд и переставала фолловить записи в лидера, а в это время сам лидер упал. После чего ISR снова поднимается и ее выбирают новым лидером. Значит ли это, что потеряются записи за последние 9 секунд?
Аноним 22/05/24 Срд 07:27:58 3164987 124
>>3163000
Спасибо, именно то что искал. Чмок тебя в пузико
Аноним 22/05/24 Срд 09:36:29 3165034 125
image.png 24Кб, 955x606
955x606
Джависты, нужна помощь. Пытаюсь накатить Maven, а он не может скачаться, так как блокируется доступ брандмауэром, а доступа к админке у меня нет.
Решил со своего домашнего установить локально. Скачал .m2 и закинул на рабочий комп, но мавен не стартовал. Перезапус и чистка кэша не помогла, какие еще есть способы, кроме получения доступа к админке?
Аноним 22/05/24 Срд 09:44:13 3165043 126
Вопрос анон, во всех обучениях рано или поздно требуется создать какой-то алгоритм, ну типа для проженных элементырнй аля бинарный поиск , деление массива , слияния и тд. Так вот это я должен сам допереть до таких алогосов, такое вообще возможно? А если сам не могу , то всё ?
Аноним 22/05/24 Срд 10:19:33 3165080 127
>>3165043
>А если сам не могу , то всё ?
Значит ты не кто-то уровня деикстры. Если хочешь именно придумывать алгосы, читай кнута. У него целью стоит, научить именно тому самому искусству придумывания алгоритмов, посредством того, что тебе дадут все необходимые для этого кирпичики, плюс наиболее общий методы, которыми можно их комбинировать. Также методы для анализа, тобою сделаного.
Аноним 22/05/24 Срд 12:21:11 3165197 128
>>3165034
>Скачал .m2
.m2 это папка с конфигурацией и локальным репозитории, это не сам мавен. Просто скачай zip архив с сайта и разверни в любую папку где есть права на запись. И настрой M2_HOME.

Как же хорошо, что есть idea. Всё подсказывает, сама всё скачает и поставит. Это всё глупые ретрограды считают, что надо уметь ручками всё делать. В 2к24 это уже не надо. Если что, можно ЧатГПТ спросить.
Аноним 22/05/24 Срд 12:23:48 3165203 129
>>3165197
Вообще-то в идее есть свой мавен.
Аноним 22/05/24 Срд 12:28:25 3165210 130
>>3165197
> Всё подсказывает, сама всё скачает и поставит.
Только вот инвалидировать кеши сама не умеет.
Аноним 22/05/24 Срд 12:32:48 3165212 131
>>3165197

Додик, м2 это процессор эпла
Аноним 22/05/24 Срд 13:27:35 3165266 132
>>3164458
Например всю базу данных выгружать в оперативку. Это кстати идея неплохая в некоторых случаях, и даже 600 гигабайт при наличии 640 гигабайт памяти всего может быть нормой, так как это снижает латенси в ноль.
Аноним 22/05/24 Срд 13:34:29 3165277 133
>>3165266
А если упадёт? Синхронизации нет?
Аноним 22/05/24 Срд 13:35:48 3165278 134
>>3165277
Никто не мешает при каждом обновлении данных (асинхронно) записывать обновление в холодную бд.
Аноним 22/05/24 Срд 13:37:54 3165279 135
Аноним 22/05/24 Срд 13:39:43 3165283 136
>>3165278
Так тем более, эта штука может упасть посередине транзакции и привет неконстстентные данные в базе
Аноним 22/05/24 Срд 13:43:39 3165286 137
Аноним 22/05/24 Срд 13:44:01 3165288 138
>>3165197
>Как же хорошо, что есть idea

Это печально. Я скачал apache-maven-3.9.6-bin.zip разархивировал в директорию с проектами, прописал M2_HOME в винду из гайда по ютубу, а он всё еще не работает. как же хуева без админки
Аноним 22/05/24 Срд 13:44:34 3165289 139
>>3165288
В PATH-то добавил? И перезагрузить пеку не забудь.
Аноним 22/05/24 Срд 14:18:31 3165349 140
>>3165289
Добавил и перезагрузил. без изменений
Аноним 22/05/24 Срд 14:23:12 3165358 141
>>3165349
Долбоёб значит. Ты bin добавил или основную папку?
Аноним 22/05/24 Срд 14:33:27 3165372 142
>>3165034
В идее можно скачать мавен,поищи в настройках. Или можешь использовать враппер
Аноним 22/05/24 Срд 14:52:08 3165398 143
>>3165372
>а он не может скачаться, так как блокируется доступ
враппер тоже не работает

>>3165358
В bin. сюда бы не пришел не будь я долбаебом
Аноним 22/05/24 Срд 15:42:28 3165468 144
>>3165288
>он всё еще не работает.
Ты может для разнообразия, покажешь ошибку? И какую-то простейшую диагностику проведешь, типа mvn --version
Не?

>как же хуева без админки
Ты имел ввиду без мозгов?
Аноним 22/05/24 Срд 16:50:59 3165575 145
image.png 1Кб, 345x41
345x41
>>3165468
Чего ты такой токсик?

Ошибка на постоянке: 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
Аноним 22/05/24 Срд 17:47:48 3165639 146
Есть кто для своего сайта использовал джаву?
Ну прям реально сервер арендовал или vps? Сколько памяти жрет дефолт-сайт под небольшой нагрузкой?
Аноним 22/05/24 Срд 18:45:09 3165703 147
>>3165639
>реально сервер арендовал или vps?
Что ты имеешь ввиду под "реально сервер"? Физический сервер? Ну в этом смысла нет, ибо найти физический сервер под сайт тяжело.
>Есть кто для своего сайта использовал джаву?
А смысл? Юзни тильду или что-нибудь на стеке пыхи и джээса
>Сколько памяти жрет дефолт-сайт под небольшой нагрузкой?
На джава много :) (для простого лендинга)

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

А вообще вопрос нахуй не корректен, учи матчать.
Аноним 22/05/24 Срд 19:05:01 3165725 148
>>3165703
В шарп треде оказались компетентнее. Нет своих проектов, зачем отвечать?

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

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

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

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

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

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

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

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

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

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

Задача на самом деле оч простая. Решение свое приводить не буду, поскольку там такой ад из женериков, что лучше не видеть...
Аноним 22/05/24 Срд 21:53:23 3165913 151
>>3165286
записал форейн ключ
приложение упало
соответствующая сущность по ключу не записалась
и так на множестве уровней связей
Аноним 22/05/24 Срд 21:57:46 3165914 152
>>3165639
Смотря какой сервер поднимешь на джаве. Вон джавалин в простое 50 мб, под небольшой нагрузкой у меня так же примерно жрал
Спринг наверное больше жрать будет. Оптимизировать джаву всегда можно.
Аноним 22/05/24 Срд 22:01:30 3165916 153
>>3165899
Делаешь new Thread(() -> {
while (!Thread.isInterrupted()) {
Thread.sleep(new Random().nextInt())
... обработка
}
})
Аноним 22/05/24 Срд 22:02:36 3165917 154
>>3165725
>Мне просто было интересно, можно будет удержаться на впске с 512 мб, для классического сайта.
Конечно
Аноним 22/05/24 Срд 22:03:51 3165918 155
>>3165916
Слушай, а какой у тебя грейд? Просто для оценки..
Аноним 22/05/24 Срд 22:04:46 3165919 156
>>3165575
проверь что у тебя овнер папки .m2 - это тот же пользователь, под которым ты мавен запускаешь
Аноним 22/05/24 Срд 22:06:57 3165923 157
>>3165918
У меня нет грейда, я уехал работать на юникорн давно, и никогда в этой российской системе миллиона грейдов не разбирался. Сейчас числюсь как сеньор, но с другой стороны у нас все поголовно сеньоры.
Аноним 22/05/24 Срд 22:09:21 3165925 158
Посоветуйте статьи, чтобы разобраться в soap и веб-сервисах с soap. В гугле на первой странице одно говно. Не знаю, по каким источникам изучать эту тему.
Аноним 22/05/24 Срд 22:11:02 3165927 159
Аноним 22/05/24 Срд 22:18:40 3165931 160
image.png 32Кб, 772x318
772x318
>>3165923
Хмм. Ну короче, Random в многопоточке не применяют, для этого есть ThreadLocalRandom. Плюс вот у тебя sleep и проверка флага в цикле. На самом деле у них коллизия, типа одно флаг стирает, потому надо то ли его восстанавливать в исключении, то ли еще ч. Плюс эта залупа, ну такоое.
Я бы сделал как на пике.
Аноним 22/05/24 Срд 22:18:48 3165932 161
Аноним 22/05/24 Срд 22:24:08 3165933 162
>>3165913
А если оно упадёт даже того, как ты этот форейн ключ в оперативку запишешь, долбыч?
Аноним 22/05/24 Срд 22:26:47 3165934 163
>>3165931
>На самом деле у них коллизия, типа одно флаг стирает, потому надо то ли его восстанавливать в исключении, то ли еще ч
одно другое не стирает, флаг сбрасывается при поимке исключения
код вне слипа ты не прервешь без флага

>Ну короче, Random в многопоточке не применяют, для этого есть ThreadLocalRandom
Тут разницы нет, но узнаю российское вахтерство, как домой вернулся

>Я бы сделал как на пике.
Уступаю тебе позицию джуна

Особенно кстати классно создавать целый эзекьютор для 1 треда, да и лямбды, да и трай с ресурсами, гарантирую только за это +3 грейда тебе
Аноним 22/05/24 Срд 22:29:14 3165935 164
>>3165934
Не хватает на скрине только стримов и какого-нибудь каррирования, ну чтобы понятно, что серьезный разработчик, а не лох какой-нибудь
Аноним 22/05/24 Срд 22:35:53 3165939 165
>>3165933
Ты не понял. Вот у тебя обновился стейт в памяти, накидались какие-то сущности, связи и .т.д. Теперь ты начинаешь синхронизацию с настоящей БД (вероятнее всего оригинальные транзакции к этому моменту не сохранились, поэтому просто сливаешь разницу в БД). На середине слива приложение падает - база закоррапчена. Я уверен конечно что скорее всего такого не происходит, но звучит очень хрупко.
Аноним 22/05/24 Срд 22:38:59 3165941 166
>>3165939
Даун, транзакции не магическим образом безопасны, а за счёт их атомарности. Все те же самые проблемы что есть в этом подходе есть и в классическом. Просто делаешь слив атомарным и всё.
Аноним 22/05/24 Срд 22:42:56 3165943 167
>>3165941
А, вы решаете это просто потерей данных? Тогда ясно
Аноним 22/05/24 Срд 22:43:36 3165945 168
>>3165943
А как тут без потери данных?
Аноним 22/05/24 Срд 22:46:41 3165947 169
>>3165934
>флаг сбрасывается при поимке исключения
Ну я про это и говорю, надо впендюривать внутрь цилка try/catch который будет восстанавливать этот флаг. Иначе будут два разных способа обработки, взависимости от того, в каком же месте произошло прерывание.
>создавать целый эзекьютор для 1 треда
>запускается несколько (не менее двух) независимых потоков
>Решение должно быть масштабируемым по количеству счетов и потоков
Ладно.
>Тут разницы нет,
Тут разница есть. Не надо создавать 100500 экземпляров рандома.
>Уступаю тебе позицию джуна
Фига щедрый.
>>3165935
Ты типа новые слова выучил? Рад за тебя.
Аноним 22/05/24 Срд 22:48:01 3165948 170
Аноним 22/05/24 Срд 22:50:22 3165951 171
>>3165725
Джава изначально жрёт около 20-30 мегабайт.
Аноним 22/05/24 Срд 22:53:58 3165955 172
>>3165945
Действительно, мне в банке так и сказали
Аноним 22/05/24 Срд 22:55:16 3165957 173
>>3165725
Только Xmx поставь, потому что у дажвы такая оптимизация, что она жрёт всю память что дают, лишь бы мусор пореже собирать и пореже память у ОС запрашивать
Аноним 22/05/24 Срд 22:58:18 3165959 174
>>3165947
>надо впендюривать внутрь цилка try/catch который будет восстанавливать этот флаг.
это если ты планируешь переиспользовать поток после интеррапта
в твоём примере у тебя поток переиспользуется, потому что это пул, в моём - нет, интерруптнул и выкинул
Восстанавливать флаг просто потому что "тут так заведено" - очень странное решение
Аноним 22/05/24 Срд 23:08:07 3165970 175
image.png 13Кб, 513x159
513x159
>>3165959
Странно не странно, но оно хотя бы к подобному не приведет.
Аноним 22/05/24 Срд 23:09:41 3165972 176
>>3165970
Просто оберни цикл трай кэтчем и не приведет
Аноним 22/05/24 Срд 23:12:10 3165975 177
>>3165972
Тут не спорю. Просто правило восстанавливать флаг достаточно простое и смысла его игнорировать практически ноль. Надо бы заставить идею автоматом это генерить, а не то что она ставит.
Аноним 22/05/24 Срд 23:36:53 3166006 178
image.png 115Кб, 912x701
912x701
Аноним 22/05/24 Срд 23:45:57 3166018 179
нахуя.PNG 5Кб, 371x71
371x71
>>3165931
Позволь доебаться...
Нахуя?

Мимо
Аноним 23/05/24 Чтв 00:03:01 3166054 180
>>3163471
Защитись и всё. Кандидатов не призывают.
Аноним 23/05/24 Чтв 00:04:22 3166057 181
image.png 113Кб, 780x686
780x686
>>3166018
Пик.
Вот он тоже про это говорил, в принципе >>3165959
>это если ты планируешь переиспользовать поток после интеррапта
>в твоём примере у тебя поток переиспользуется, потому что это пул,
Аноним 23/05/24 Чтв 00:12:52 3166070 182
clearInterrupts[...].PNG 5Кб, 491x100
491x100
>>3166057

Так а кому этот интеррапт восстановленный сдался, если поток - пуловый, и выше по стеку нет нихера? Я понимаю еще того анона у которого цикл по интеррапту был, но тут то цикла нет. Пулу разве не похуй? Он же его сам притрет при старте новой таски, разве нет?
Аноним 23/05/24 Чтв 00:15:01 3166071 183
image.png 61Кб, 532x549
532x549
>>3166070
По идее не должен. Типа это стандартный способ завершить такую таску, не убивая весь пул разом.
Аноним 23/05/24 Чтв 08:33:51 3166220 184
Какие подводные взять котлин в бэкенд? Вроде та же джава, слышал только компиляция дольше.
Аноним 23/05/24 Чтв 09:08:32 3166237 185
>>3166220
>Вроде та же джава
А зачем его брать в таком случае?
Из самого очевидного, мокито там не работает.
Еще не очень понятные некоторые специфические моменты связанные с примитивами, но думаю это-то пофиг.

В общем-то с приходом java 21 чет как-то не видно прям явных явных преимущеаств котлина над жабой.
Аноним 23/05/24 Чтв 09:48:45 3166258 186
>>3164904
Гойда братцы! Так есть!
Аноним 23/05/24 Чтв 10:06:03 3166276 187
>>3166237
Удобнее кажется.

>Из самого очевидного, мокито там не работает.
Гугл вроде говорит что все норм.
Аноним 23/05/24 Чтв 10:52:35 3166326 188
image.png 50Кб, 615x308
615x308
>>3166276
>Удобнее кажется
Ну раз кажется... То иди в тред котлина, тут вообще мало кто на нем пишет
>Гугл вроде говорит что все норм.
Ты гуглить не умеешь.
Аноним 23/05/24 Чтв 11:36:45 3166392 189
Аноним 23/05/24 Чтв 12:16:28 3166435 190
>>3165575
>Чего ты такой токсик?
Мне не нравится когда в разработку идут люди которые даже не "уверенный пользователь ПК".


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

Дальше проверь что есть права записи на папку .m2 попробуй зайти туда и создать файл.
Аноним 23/05/24 Чтв 12:19:50 3166439 191
Аноним 23/05/24 Чтв 12:31:20 3166461 192
>>3166439
Ты же понимаешь, что это только доказывает мой тезис? Типа мокита так плохо работает в котлин, что пришлось делать форк и править.
Притом ведь это тоже такое себе и используют обычно mockk.
>>3166392
))))
Аноним 23/05/24 Чтв 12:52:32 3166499 193
Насколько на жабе всё хорошо у вкатунов? Уже лет 5 пишу на c# + wpf, заебало, перспектив нет, денег нет, хочу в бэк. Думал про шарповый бэк, раз уж один хуй с ним работаю, но там такая мешанина в технологиях, что даже просто понять что учить тяжело, жаба как-то более приятно выглядит в этом плане. Думаю года полтора учиться и пробовать устраиваться хоть куда за опытом. Может даже говнокурс купить, чтобы потраченные деньги мотивировали не бросать, а то после работы ЕЩЁ в коде копаться будет тяжко, уже осознаю.
Аноним 23/05/24 Чтв 13:05:53 3166524 194
>>3166499
Чел,если ты собираешься покупать бесплатную информацию,то ты дегенерат,независимо от стека
Аноним 23/05/24 Чтв 13:09:56 3166533 195
>>3166524
Я покупаю мотивационный пинок под зад в виде сожаления от потраченных денег, ну и чтобы моё говно иногда ревьюверы смотрели. Хотя я пока не уверен, стоит ли оно того, может просто пива купить себе на эти деньги для мотивации.
Аноним 23/05/24 Чтв 13:19:56 3166547 196
>>3166533
Размышления уровня буду учиться в вузе на платке,будет мотивация не проебывать пары
Аноним 23/05/24 Чтв 13:21:24 3166551 197
>>3166499
Сколько платят тебе сейчас?
Про swift не думал ?
Аноним 23/05/24 Чтв 13:22:05 3166554 198
>>3166547
Кстати, проебываю все равно. Бля, как люди вообще в вузах учаться, это ж пиздец уныние.
Аноним 23/05/24 Чтв 13:33:46 3166566 199
>>3166551
>Сколько платят тебе сейчас?
Даже стыдно признаваться
Аноним 23/05/24 Чтв 13:35:11 3166568 200
>>3166551
>Про swift не думал
Ты про разработку под ось? Как-то последние пару лет это всё выглядит довольно мёртвым. Пробовал ведро ковырять немного, но так.
Аноним 23/05/24 Чтв 13:35:50 3166571 201
>>3166547
Ну я так последние пару курсов доучивался на заочке, лол, просто было жаль уже потраченных денег
Аноним 23/05/24 Чтв 16:22:33 3166811 202
>>3166435
понимаю, не осуждаю
>where mvn
C: ... \bin\mvn
C: ... \bin\mvn.cmd
>where java
C:\Windows\java.exe

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

Права на запись в папку .m2 есть
Аноним 23/05/24 Чтв 20:29:35 3167040 203
2024 год, судя по всему, будет первым годом, когда прекратится рост ежегодно опубликованных пакейджей в мавен централе.
Аноним 23/05/24 Чтв 20:31:03 3167041 204
>>3167040
Причём мавен централ был последним из крупных репозиториев что держались. Все остальные лет 5 назад тоже прошли пик и сейчас в них публикуются единицы.
Аноним 23/05/24 Чтв 21:56:35 3167131 205
Аноним 24/05/24 Птн 00:34:22 3167292 206
>>3167131
Экстраполяция количества опубликованных пакеджей за прошедшую часть 2024 года.
Аноним 24/05/24 Птн 11:47:26 3167542 207
>>3166811
>C: ... \bin\mvn
>C: ... \bin\mvn.cmd
Самое важное, ты как раз и обрезал. Молодец. Если там путь к твоей инсталляции мавена, то ок.

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

Дальше снова в консоли попробуй mvn --version
Аноним 24/05/24 Птн 12:36:37 3167614 208
>>3166499
>мешанина в технологиях, что даже просто понять что учить тяжело, жаба как-то более приятно выглядит в этом плане
Толсто. Мне казалось у майков вполне себе определенный стек который везде и используется, разве нет? А вот в джава мире как раз настоящий зоопарк из технологий, что ты можешь пройти через 3 проекта и на каждом из общего будет только джава, а все остальное первый раз в жизни будешь видеть
Аноним 24/05/24 Птн 12:53:33 3167631 209
>>3167614
С джавой тоже толсто. Джава оккупирована спрингокультом - кроме спринга там редко что увидишь.
Аноним 24/05/24 Птн 13:09:15 3167644 210
>>3167631
Причем тут фреймворк вообще
Я про все остальное что для разработки нужно, или по-твоему в вакансиях просто так стек состоит из 20-30 наименований всякой хуеты?
Аноним 24/05/24 Птн 13:21:48 3167664 211
>>3166533
>>мотивационный пинок под зад в виде сожаления от потраченных денег
Это наеб гоев, далеко не всех это мотивирует.
Скорее будет наоборот - ты заплатил, а значит можно расслабиться, щас за тебя все изучат и на жесткий диск просто запишут.

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

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

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

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

При попытке такое сделать, javac стал ругаться на такое.
Аноним 24/05/24 Птн 14:26:17 3167782 214
image.png 17Кб, 703x204
703x204
>>3167781
Чел, напиши просто extends вместо implements.
Аноним 24/05/24 Птн 15:16:09 3167849 215
>>3167708
Думаю, смотря куда попадет. Бывают конторы, где онбординг длится месяцами и на испыталку никакой вменяемой программы нет.
А бывает, что с первых дней ебут и требуют результата.
Аноним 24/05/24 Птн 15:20:16 3167851 216
>>3167664
>Максимум что отличаться будет - кролик вместо кафки, жук вместо хибернейта и гуава вместо апач комонс.
Толстишь, либо ты без реального опыта.

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

Все проекты были относительно новыми (максимум 2 года хуете на груви)
Аноним 24/05/24 Птн 16:05:34 3167901 217
>>3167851
>>quarkus, на другом - спринг (без сапога), на третьем вообще использовали ебучий vert.x столетней давности с ебучим груви в качестве dsl
Это я и записал в велосипеды и легаси.
Аноним 24/05/24 Птн 17:07:59 3167964 218
image.png 94Кб, 1658x99
1658x99
image.png 27Кб, 752x163
752x163
Аноним 24/05/24 Птн 17:09:32 3167969 219
>>3167964
И что будет, если исключение произойдет при конструировании объекта?
Аноним 24/05/24 Птн 18:07:27 3168029 220
>>3167851
То что ты такой хет трик собрал, говорит лишь о твоей удачливости. Не проецируй на экосистему.

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

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

Где ты такие вакансии видел?
Аноним 24/05/24 Птн 21:42:16 3168186 221
image.png 58Кб, 767x729
767x729
>>3167964
Насколько я могу понять, тут имеется ввиду, что при использовании final подавляется исключение вазыванное при чтении файла, на исключении при close. В try-with-resource все наоборот. Вообще, можно просто декомпилировать то, что оно генерит.
>>3167969
По идее просто выбросится это исключкение и усе.
Аноним 24/05/24 Птн 21:53:08 3168197 222
>>3168186
> По идее просто выбросится это исключкение и усе.
А не может быть такого, что у меня объект сложный autoclosable, я в конструкторе много всего наоткрывал, но все равно в какой то момент получил исключение? Что тогда? Или это я долбоеб и так писать нельзя? Но если все же напишу, что будет? Спасибо
Аноним 24/05/24 Птн 22:06:27 3168211 223
>>3168197
Так он все равно теоретически нихуя не сделает, поскольку объект даже сфомроваться не смог. Это конечная считай.
Тем более у тебя перед глазами код.
>Или это я долбоеб и так писать нельзя?
Честно без понятия, никогда не приходилось писать такую ебань. По идее ты сам как-то должен обеспечить закрытие при исключительной ситуации. Ну или как варик использовать finalize. Но это такоое.
Аноним 24/05/24 Птн 22:16:00 3168221 224
>>3168211
>Так он все равно теоретически нихуя не сделает, поскольку объект даже сфомроваться не смог. Это конечная считай.
>Тем более у тебя перед глазами код.
Ну что то же в конструкторе выделилось? Оно будет ждать теперь пока его гц прибьет?
Аноним 24/05/24 Птн 22:36:43 3168240 225
>>3167614
>у майков вполне себе определенный стек
Нет. Там хватает говна типа blazor, всяких razor pages плюс есть asp.net core, а есть просто asp.net, а ещё asp.net mvc, плюс entity framework есть обычный, а есть опять-таки core. Говнища там накопилось уже просто уйма.
Аноним 25/05/24 Суб 00:05:00 3168312 226
>>3168197
>А не может быть такого, что у меня объект сложный autoclosable, я в конструкторе много всего наоткрывал, но все равно в какой то момент получил исключение? Что тогда? Или это я долбоеб и так писать нельзя? Но если все же напишу, что будет?
Если у объекта несколько ресурсов, то понятно что может быть ситуация когда ты первый создал, а второй сфейлился. И тогда создание объекта не пройдет, потому что вылетит эксепшн, но первый ресурс уже создан и не будет закрыт.
В принципе так делать можно, но тогда надо аккуратно работать с ресурсами, чтобы ничего не забыть закрыть.
https://pastebin.com/Hn4kgk1n
Аноним 25/05/24 Суб 01:21:24 3168347 227
>>3168221
>Оно будет ждать теперь пока его гц прибьет?
Ну обычно ресурсы выделяет ос. Тут ситуация примерно как с дедлоком. Даа, гц может убить все нахер, но не будет этого делать. Это все на плечах разраба, жвм тут не вмешивается.
Так что в итоге у тебя будет висеть ресрус, пока его не заберет хозяин или жвм остановится.
Аноним 25/05/24 Суб 08:28:19 3168456 228
Пробую снова вкатиться DZHAVA RAZRABOTCHIKOM, хоть уже и потерял надежду, потому что мамка вот-вот погонит нахуй. Ваше мнение? Начался ласковый хаир и у меня получится? Или как всегда хр увидят инцела на фотке и прожмут отказ?
Аноним 25/05/24 Суб 08:54:50 3168466 229
>>3168456
> Пробую снова вкатиться DZHAVA RAZRABOTCHIKOM, хоть уже и потерял надежду, потому что мамка вот-вот погонит нахуй.
Немного двусмысленно получилось: вкатываюсь потому что мамка погонит нахуй, а не потерял надежду поэтому.
Аноним 25/05/24 Суб 10:55:21 3168502 230
>>3163849
Выучиться реально, найти работу нет. Джунов сейчас ебут на уровень мидла, только крутить опыт и прорываться через пулеметные заграждения. Иначе есть шанс искать работу за 40к/мес полгода с лишним
Аноним 25/05/24 Суб 11:24:25 3168530 231
>>3168456
почему именно джава?

ну и кстати, читал книги какие-то для вката? есть мнение по ним?
Аноним 25/05/24 Суб 11:53:40 3168558 232
>>3168530
Я 4 года программирую уже, я тут половине треда в дедушкинаставники гожусь, какие книги. Меня не берут из-за того, что я инцел.
Аноним 25/05/24 Суб 12:29:44 3168594 233
>>3168558
>Я 4 года программирую уже
Ну я где-то 6-7 уже. И че это меняет, лол? Ты реально ни одной книги не прочел? Типа ты ставишь себя не просто на уровень условных кнута, гетца, а выше, хули мне этих дебилов читать, я ж 4 хода пограмирую, ууу.
Пиздец.
>Меня не берут из-за того, что я инцел.
Ты рофлишь? Да-да именно поэтому.
Аноним 25/05/24 Суб 12:36:18 3168598 234
>>3168502
>уровень мидла
Тем временем уровень джава-миддла - добавить параметр в апи и прокинуть его в базюльку
Аноним 25/05/24 Суб 12:42:39 3168605 235
>>3168594
> Ну я где-то 6-7 уже. И че это меняет, лол? Ты реально ни одной книги не прочел? Типа ты ставишь себя не просто на уровень условных кнута, гетца, а выше, хули мне этих дебилов читать, я ж 4 хода пограмирую, ууу.
> Пиздец.
Я думал ты имел в виду базовые книжки по синтаксису типо шилдта. На самом деле я и более продвинутые книги тоже не то чтобы много читал (хоть и читал), но тут потому что времени мало просто у меня.
Аноним 25/05/24 Суб 13:00:45 3168611 236
>>3168605
>типо шилдта
Этот гений просто доку жабы копирует. Открывашь 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 ) как тебе?
Аноним 25/05/24 Суб 13:05:32 3168615 237
>>3168611
Элегантные объекты, алгоритмы Сейджвика, книга с поездами.

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

> Изначально вопрос-то в этом был. К слову, а 17 глава спеки( https://docs.oracle.com/javase/specs/jls/se22/html/jls-17.html ) как тебе?
Не читал спеку.
Аноним 25/05/24 Суб 13:07:03 3168617 238
Аноним 25/05/24 Суб 14:02:08 3168677 239
>>3168029
>Наоборот хорошо, что экосистема не схлапывается в спринговую сингулярность где бы она окончательно подохла.
Дак я тоже так считаю, местные аутисты дезинформируют.
Аноним 25/05/24 Суб 20:55:11 3169077 240
>>3168530
>почему именно джава?
потому что лучший язык современности
Аноним 25/05/24 Суб 20:57:30 3169080 241
>>3169077
Только за пределами этого треда так не говори.
Аноним 25/05/24 Суб 20:57:46 3169081 242
>>3168502
>найти работу нет
>Иначе есть шанс искать работу за 40к/мес полгода с лишним
ну так есть работа или нет? какой стул-то выберешь?
Аноним 25/05/24 Суб 21:12:25 3169094 243
>>3169077
А ты на скольких других прогал? Ну типа ты делаешь эту оценку из синдрома утенка? У меня например скорее всего он..
Аноним 25/05/24 Суб 21:20:54 3169098 244
>>3168502
А после года пахоты за 40к реально потом сразу до 150 бустануть? Или годами расти нужно
Аноним 25/05/24 Суб 21:30:38 3169107 245
>>3169098
Я лет 5 назад почти так и сделал. Первые полтора года работал за 70к (стартово было 30к, потом немного повышали), потом устроился на 250. Еще через год 350. Но у меня профильная вышка.

мимопроходил
Аноним 25/05/24 Суб 21:36:11 3169113 246
>>3168615
>Элегантные объекты

Это некрономикон от мира разработки. Ты теперь проклят.
Аноним 25/05/24 Суб 21:44:55 3169121 247
>>3169094
Около года на срр, года 4 суммарно на джс и тайпскрипте, немного на питоне, на котлине, на си, прорабатывал го чтобы узнать что же там такого хорошего в отличии от джавы, сейчас смотрю зиг.
По инфраструктуре, скорости компиляции, объему библиотек, производительности разработчика и даже скорости джава топ язык. Сейчас особенно плотно приходится работать с срр и это пиздец, ебля с билдами, мейк файлами, тулчейнами, заголовками, миллионом конструкторов на каждый чих.
Аноним 25/05/24 Суб 21:53:52 3169137 248
>>3169121
Эх, раста нет и какого-нибудь фп яп. Может потом сделаешь экспертную оценку в трикю? ё

Нуу cpp просто мусорный язык, честно говоря. Не знаю как на нем пишут. И с котлином интересно, говорят же это прокачанная жаба, чем тебе не зашло?
Аноним 25/05/24 Суб 22:04:31 3169156 249
>>3169137
А смысл? Раст, как и функциональщина - это чисто интеллектуальный онанизм, а я в основном смотрю на яп как инструмент для решения реальных задач.
У раста была интересная идея в теории, но они скатились до такой сложности, что банальный срр с умными указателями проще и быстрее разрабатывать, да он ещё и распространён несоизмеримо больше.
А уж о скорости билдов раста ходят легенды.
Функциональщина - я вообще не встречал проектов, где бы она ускорила или упростила разработку, или решала бы задачи которые императивные языки решить её могут.
Аноним 25/05/24 Суб 22:11:52 3169166 250
>>3169137
>И с котлином интересно, говорят же это прокачанная жаба, чем тебе не зашло?
У котлина тоже была интересная идея в теории, но в реальности язык получился настолько гибким, что каждый стремится как можно больше его изогнуть, что выливается в часто не читаемое месиво. Например он исповедует заповедь что наследование это плохо, везде нужно делать делегирование. В результате там где в джаве были классы с абстрактным функционалом - там файлы, с набором разрозненных функций -делегатов и это типа другое.
Плюс к тому очень неопределённо работает с примитивами джавы, а это основной инструмент высокоскоростных оптимизаций.
Аноним 25/05/24 Суб 22:14:23 3169168 251
image.png 64Кб, 595x393
595x393
>>3169156
>интеллектуальный онанизм
Типа, а в чем минус? Мы же не макаки крудошлепы...
>но они скатились до такой сложности
Нууу, как бы сказать. Jmm сложнее.
>решала бы задачи которые императивные языки решить её могут.
Што... Все языки тьюринг полные, следовательно любая задача решаемая на одном, решаема на всех. Не оч понял, че ты хочешь вообще. В любом случае, вот смотрю я на пик, и что-то мне это напоминает.
>>3169166
>там файлы, с набором разрозненных функций
Пххпхпх, все ближе к процедурному.

О,насчет примитивов согласен. Очень хуевое решение. Мне вот котлинисты каждый раз доказывают, что это плюс, а как по мне оч сомнительная хуйня.
Аноним 25/05/24 Суб 22:14:37 3169169 252
>>3169166
Особенно ещё экстеншн функции абузят как не в себя
Аноним 25/05/24 Суб 22:17:23 3169174 253
>>3169168
>Нууу, как бы сказать. Jmm сложнее
Нет, даже близко нет. Тем более тебе эту сложность часто не нужно использовать, чтобы решить бизнес задачу.
Аноним 25/05/24 Суб 22:33:13 3169194 254
>>3169168
>Што... Все языки тьюринг полные, следовательно любая задача решаемая на одном, решаема на всех. Не оч понял, че ты хочешь вообще. В любом случае, вот смотрю я на пик, и что-то мне это напоминает.
Да, все языки, но на джаве мне нужно следить за мусором, это не смертельно, разработка идёт быстрее. У меня быстрые билды. У меня идеальный тулинг в отличии от многих других языков, достаточно хорошая система типов, чтобы проект не грохнулся случайно. Мне не нужно знать на какой платформе, с какой ос и тулчейном Лонг занимает 32 бита, а с какой 16. Все это ускоряет и облегчает разработку.
По совокупности этих факторов джава и выигрывает
Аноним 25/05/24 Суб 22:46:30 3169199 255
image.png 71Кб, 761x751
761x751
image.png 8Кб, 526x116
526x116
>>3169174
Можит я шизик в этом плане, но мне прям понравилась 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.

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

> часто не нужно использовать
Ну я могу повернуть этот аргумент и в сторону раста. Мол проста не пользуйся. И все. Цикла на все хватит.
>>3169194
В фп языках тоже не надо следить за памятью. Ну тулинг вероятно лучше у жабы. Да и зачем пиздить адаптировать фп фичи-то, раз жаба и так идеальна?
Аноним 26/05/24 Вск 00:00:25 3169261 256
>>3169168
>тьюринг полные
Как же школота заебала разбрасываться фразами и словами значение которых не понимает. Тьюринг-полный = способный произвести любое вычисление.

Тьюринг-полный != способный выполнить любую задачу.
Тьюринг-полный != способный произвести любое вычисление удобным образом.
Тьюринг-полный != имеющий свободную лицензию.
Тьюринг-полный != предрасположенный к написанию производительного кода.
Ну и напоследок ни один вычислитель в реальном мире не является тьюринг-полным.
Аноним 26/05/24 Вск 00:16:51 3169279 257
>>3169199
>В общем, покажи что ж там такого сложного в расте.
Боров чекер уже мемом стал, с ним каждый воюет вместо того чтобы программу писать.
Цветные функции, макросы и т.д., все это хорошо изложено в статье https://loglog.games/blog/leaving-rust-gamedev/
Аноним 26/05/24 Вск 00:34:11 3169287 258
>>3169199
>В общем на пике это требование
Насколько я понимаю это просто требование, что порядок операций должен соблюдать только в группах связанных между собой операций, а эти группы можно между собой переставлять
Аноним 26/05/24 Вск 01:08:47 3169297 259
image.png 49Кб, 866x510
866x510
image.png 23Кб, 787x325
787x325
>>3169261
Я не утверждал ничего из этого.
>>3169279
Лол, даже на расте есть геймдев, а на жабе нет.
Проблема статьи в том, что мне непонятна большая ее часть. Впрочем даже начальные тезисы, "ррря мне не дают говнокодить, я жи честно честно все потом заменю". Ну странные короче. Мне например кажется, что наоборот чем больше проблем выявляется еще на этапе компиляции тем лучше. Не всем нравится падающий прод от npe. Да и это не совсем про сложность, а скорее про дрочь, заебность. Ну кмк другой аспект, вот.
>>3169287
На пике 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 показывают пример того, что каузальность вообще говоря гарантирует.

В принципе это и правда нужно в прям в очееень малом количестве кейсов, примерно тогда, когда хочешь сделать гонку данных, которая ничего не сломает.
Аноним 26/05/24 Вск 02:01:38 3169310 260
Аноним 26/05/24 Вск 02:23:45 3169313 261
>>3169297
> Все языки тьюринг полные, следовательно любая задача решаемая на одном, решаема на всех.
> Тьюринг-полный != способный выполнить любую задачу.
> Я не утверждал ничего из этого.
Ты даун?

> Лол, даже на расте есть геймдев, а на жабе нет.
>libgdx (куча игр (https://libgdx.com/showcase/), в т.ч. mindustry, unciv)
>minecraft
>project zomboid
>всё что я не вспомнил
Ты даун?
Аноним 26/05/24 Вск 06:23:08 3169335 262
>>3167782
А это будет означать "класс, имплементирующий Comparable", или "класс, имплементирующий расширенный Comparable"? Интерфейсы же тоже можно расширять. Если первое, то как-то нихуя не интуитивно
Аноним 26/05/24 Вск 08:27:17 3169349 263
>>3169310
Люди разные, кто-то заплачет, а кто-то и зароет.
Аноним 26/05/24 Вск 08:30:25 3169351 264
image.png 5Кб, 474x42
474x42
image.png 2Кб, 348x19
348x19
>>3169313
Ну прочитай не через жопу блять, боже. У меня четко написано, что не существует задачи, которая решается только на одном из них, а не то, что любая задача решается.
Формально пик1 у меня, пик2 у тебя.

Это крайне малые исключения. Типа этот ебаный майнкрафт всегда вспоминают. Так-то на жабе даже движков уровня ue/unity нет. Все сам, с нуля делай епты.
Аноним 26/05/24 Вск 08:38:49 3169359 265
>>3169335
Это будет означать, что в иерархии наследования существует компарабл. Мол апкаст до него вообще возможен.
Плюс внутри Comparable есть рукурсия на него же, направленная вниз. Типа может быть указан любой G, такой что G <: T.
>Если первое, то как-то нихуя не интуитивно
Женерики никогда и не были интуитивны, лол.
Аноним 26/05/24 Вск 11:22:00 3169470 266
screenshot20168.png 991Кб, 1920x1080
1920x1080
>>3169351
>Так-то на жабе даже движков уровня ue/unity нет. Все сам, с нуля делай епты.
>>3169297
>Лол, даже на расте есть геймдев, а на жабе нет.
Джава есть много где как язык скриптования, но есть и отдельные движки только на джаве, уровня ue/unity, это JmonkeyEngine, даже с интеграцией в идею
Аноним 26/05/24 Вск 12:13:05 3169529 267
>>3169470
>JmonkeyEngine
Ты уверен? Типа у unity/ue огромное сообщество и куча ассетов как следствие. Даже когда юнити сделали хуйню с оплатой за скачивание вспоминали все что угодно, какой-то годот еще какую-то хуйню, но не этот движок.
Так-то там вот сверху приводили пример в виде libGDX, даже он как-то выйгрышнее смотрится. Правда он
>libGDX is a cross-platform Java game development framework


Честно, я бы и сам жабу не стал использовать для игр, хотя я ее и хорошо знаю.
Аноним 26/05/24 Вск 12:43:24 3169591 268
>>3169529
>Типа у unity/ue огромное сообщество и куча ассетов как следствие.
Ну так мы о движках, а не об ассетах говорим
Аноним 26/05/24 Вск 12:52:57 3169600 269
>>3169470
JmonkeyEngine
@
Глянул в доки
@
А теперь, дети, мы собираемся делать игру для JME

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

Время мчится как ракета,
Мимо Русские бегут...
Это кто стоит на месте?
Это Финны к нам идут...
Аноним 26/05/24 Вск 13:41:22 3169667 270
>>3169351
>Ну прочитай не через жопу блять, боже. У меня четко написано, что не существует задачи, которая решается только на одном из них, а не то, что любая задача решается.
Опущенное, и это тоже из тьюринг полноты не следует. Закрыл бы свою гнилую пасть, позорился бы меньше, どづ☆~.
Аноним 26/05/24 Вск 13:43:39 3169674 271
>>3169600
>JMonkeyEngine
Признавайся, тебя били в детстве по голове, что ты такой тупой вырос?
Аноним 26/05/24 Вск 14:06:06 3169747 272
image.png 34Кб, 912x131
912x131
>>3169667
Тебе чисто пооскорблять хочеца? Ладно.
Аноним 26/05/24 Вск 14:12:36 3169758 273
>>3169747
Ну и каким образом твой пик доказывает, что ты не даун?
Аноним 26/05/24 Вск 14:18:27 3169772 274
>>3169758
Там буквально та же формулировка используется. Любая функция вычислимая где-то, также вычислима и на этой системе. Для начала, тебе бы следовало спросить, что я понимаю под задачей.
Но так ты тупой скуф, которому лишь бы самоутвердится, ты сразу начал накидывать говна, притом аргументы: ЯСКОЗАЛ!!!.
Ахуенно продолжай дальше, я пожалуй тебя буду игнорить. Щас бы перед свиньями бисер метать.
Аноним 26/05/24 Вск 14:19:59 3169778 275
>>3169772
Тебе с самого начала сказали

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

Вычисление != задача, олиг.
Аноним 26/05/24 Вск 14:20:45 3169781 276
>>3169772
> я пожалуй тебя буду игнорить.
Слив засчитан.
Аноним 26/05/24 Вск 22:17:52 3170266 277
image.png 64Кб, 1117x605
1117x605
Аноним 26/05/24 Вск 22:28:44 3170269 278
Аноним 26/05/24 Вск 22:34:21 3170274 279
>>3170269
Рекурсия на уровне лямбд.
Типа ты же не можешь такое написать
Function<Integer, Double> fact = x -> x == 0 ? 1 : x * apply(x-1);

Вот для этого типа универсальный метод fix.
Правда это нахуй не нужно, но по крайней мере вывод типов в этом случае тоже интересен. Типа тут же не указывается достаточно сложный тип для метода, а все за лямбдами скрыто. Мб где-то использовать можно, хм
Аноним 26/05/24 Вск 22:35:29 3170275 280
>>3170274
>apply
fact.apply(x - 1);

Фикс..
Аноним 26/05/24 Вск 22:53:48 3170281 281
>>3169351
>Так-то на жабе даже движков уровня ue/unity нет. Все сам, с нуля делай епты.

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

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

Ну и проблема в том, что я в общем не слежу за играми. Так похуй, не представляешь. Мне просто скинули статью, где нытье геймдевелопера, ну я это и отметил, грубовато немного, да.
Аноним 26/05/24 Вск 23:16:25 3170294 283
>>3170291
>Я не понимаю, вас это реально за живое что ли задело?

Не выкай мне тут, хуесос, ничтожество блять. Если тебе "так похуй", нехуй было и ебала своего гнилого раскрывать. Заходишь в тред на чиле, а там очередной даун душнит и демагога из себя строит. Чтоб ты сдох, пидор.
Аноним 26/05/24 Вск 23:22:54 3170295 284
>>3170294
извините.. но открывать ротик не перестану. ты не мой начальник или работодатель, чтобы такое требовать.
Аноним 26/05/24 Вск 23:29:36 3170297 285
>>3170266
Выглядит интересно, с утра на свежий мозг прочитаю.
Аноним 26/05/24 Вск 23:45:01 3170300 286
>>3170266
Нахуя так жить, bruh...

Ну напиши ты статический метод, да возьми от него референс - будет те рекурсивная лямбда.
Аноним 27/05/24 Пнд 00:01:40 3170305 287
>>3170300
Пакажи, что ты имеешь ввиду. Думается мне, что в таком случае смысл лямбды вовсе пропадает.
Еще мне немного не нравится замусоривать скоуп статическими helper методами. Сразу вот apache commons всопиминается.
Аноним 27/05/24 Пнд 00:15:07 3170312 288
>>3170305
>Думается мне, что в таком случае смысл лямбды вовсе пропадает.

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

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

Сказал чел, у которого скоуп "замусорен" статическим хелпер-методом fix. Так то я факториал твой в статику вынести предложил. Дай имя функции - не придется трахаться с тем, откуда литерал брать для рекурсии. Не все в мире обязано быть лямбдой.
Аноним 27/05/24 Пнд 00:28:11 3170320 289
>>3170312
> Дай имя функции - не придется трахаться с тем, откуда литерал брать для рекурсии

Причем то же самое можно было сделать и в твоей GHCi-сессии. Я мож и хаскелит-любитель, коммерческого попыта в хаскеле не имею, но тупо не могу себе представить что хаскелиты так делают в проде зачем то.
Аноним 27/05/24 Пнд 00:33:20 3170323 290
>>3170274
Странно, что в лямбды не добавили this или например lambda.this.
Аноним 27/05/24 Пнд 00:34:41 3170325 291
>>3170295
>не перестану высирать беспруфные вскукареки и получать обоснованную урину в ебальник
Ясн, мань. Лови репорт.
Аноним 27/05/24 Пнд 00:39:58 3170327 292
>>3170320
Хотя ок, гугл говорит что каноничный способ делать рекурсию в хаскелевых лямбдах - это fixpoint, который суть то же самое. Вопрос "нахуя так жить", впрочем, по прежнему актуален (не говоря уже о том, нахера это тащить в джаву).

Ладно - может у челика интерес академический. Пусть уж лучше упарывается в тяжелые функциональные концепции, нежели тупостью в треде троллит.
Аноним 27/05/24 Пнд 01:00:46 3170337 293
image.png 56Кб, 814x460
814x460
>>3170320
>>3170312
Ну не то чтобы я вообще напираю на такое использование, сразу обозначил, что это нахер не надо, как и рекурсия сама по себе. И в хаскеле действительно такое излишне.

Просто интересно в плане реализации и всяких разных подводных камней.
>>3170323
Как я думаю, просто хотели отделить анонимный класс от лямбд. Например благодаря этому, компилятор может выбросить identity лямбд, типа value type сделать, их статическую ссылку this. В общем достаточно сильно так изголятся над ними.
>>3170327
Это канонический способ для нетепизированного лямбда исчисления.
В хаскеле даже написание комбинатора омега маленькая сложная задача.
Аноним 27/05/24 Пнд 08:25:02 3170428 294
Привет ананасы. Есть 2+ года коммерческого опыта на php, планирую перекатываться на java. Какие подводные?
Аноним 27/05/24 Пнд 09:22:52 3170455 295
>>3170428
>Какие подводные?
А какие ожидаешь?
Изучаешь спринг бут, жюнит и архитектурные бест практис в рамках приложения и готов к 90% проектов на жабе.
Аноним 27/05/24 Пнд 09:33:45 3170458 296
>>3170455
>А какие ожидаешь?
Хочу, чтобы не было 1С и поменьше веба.
Что у вас по легаси? Приятное, терпимое или кал мочи?

За советы по изучению спасибо, примерно так себе и представлял, за исключением жюнит.
Аноним 27/05/24 Пнд 09:46:43 3170468 297
>>3170458
>Хочу, чтобы не было 1С
Мне лишь пару раз приходилось колхозить форматтер чтобы 1с мог файл скушать.

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

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

>За советы по изучению спасибо, примерно так себе и представлял, за исключением жюнит.
Насколько я помню весь пхп обмазан ОРМ. В жабе основной ОРМ - хибернейт, собственно, тоже обязателен к изучению, но сразу скажу, хорошо знать и понимать хибернейт - сложно, долго и редко когда полезно (кроме собеседований).
Аноним 27/05/24 Пнд 12:30:24 3170694 298
>>3170468
>Но в целом, тулинг в жабе достаточно продвинутый чтобы находить проблемы даже до компиляции.
Звучит круто

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

Спасибо ещё раз!
Аноним 27/05/24 Пнд 13:08:04 3170755 299
>>3170694
В этом плане тебе джава понравится тк тут в 99% вообще не будет хтмл страничек,если фронт и будет то им будет заниматься отдельная команда которая будет у тебя джейсончики забирать и самостоятельно отрисовывать. Я вообще ни разу с фронтами не работал,все проекты были частью большой цепочки в датафлоу(банки,связь) и там просто байтики гоняешь
Аноним 27/05/24 Пнд 14:19:39 3170847 300
>>3170468
Хибернейт для петушил.
Jdbctemplate максимум.
Но лучше ручками дергать препаред стрейтменты и итерироваться по резальсетам.
Аноним 27/05/24 Пнд 17:51:50 3171107 301
photo2024-05-27[...].jpg 50Кб, 1280x762
1280x762
Сап, аноны. Помогите разобраться, почему в vs code ебется кодировка кириллицы. На python норм, а с java проблемс.
Пробовал сохранять с перекодировкой на windows 1251, но все равно не работает.
Аноним 27/05/24 Пнд 18:18:35 3171125 302
>>3171107
Это не джава, это у тебя скорее всего терминал барагозит. Обычно это лечится выставлением chcp 65001 в оном, но где это настраивается в вскоде - сам ищи.
Аноним 27/05/24 Пнд 19:17:10 3171209 303
>>3171107
Жава на шindoшs - это полная хуита. Я когда пытался натянуть свой пет-проект на чуть не поседел. Кодировка обоссаная ср1251, разделители пути другие и даже ебанные символы новой строки и то другие. Какой-то рахит из 60х придумал \r\n. Просто ад ебанный. Как вы там блять живете в этом ебанизме?
Аноним 27/05/24 Пнд 19:22:03 3171215 304
>>3170266
По-моему никакой разницы с рекурсивным вызовом статического метода тут нет.
Аноним 27/05/24 Пнд 19:23:22 3171216 305
Аноним 27/05/24 Пнд 19:24:30 3171217 306
>>3171216
А directorySeparator какой нибудь имеется?
Аноним 27/05/24 Пнд 19:28:57 3171228 307
>>3171217
Он вроде pathSeparator назывался. Все равно это хуита. Джава придумывалась для больших и дорогих пультов для телика рабочих станций и серверов на UNIX.
Аноним 27/05/24 Пнд 19:30:15 3171230 308
>>3171228
7 миллиардов устройств !11!!!1!!!1!!
Или как там они говорили постоянно
Аноним 27/05/24 Пнд 19:42:24 3171242 309
>>3171228
Не path, а просто separator. Я как-то один раз поел говна на этом.
Аноним 27/05/24 Пнд 19:47:03 3171248 310
171682762482689[...].jpg 158Кб, 1080x1546
1080x1546
>>3170428
>Какие подводные?
Вот такие.
Аноним 27/05/24 Пнд 19:48:58 3171250 311
>>3171248
Отказов-то я как раз не боюсь.
Аноним 27/05/24 Пнд 19:52:30 3171253 312
Аноним 27/05/24 Пнд 20:43:54 3171292 313
>>3171217
Есть path.resolve, для платформонезависимости
Аноним 27/05/24 Пнд 20:44:36 3171293 314
>>3170428
Стандартные, ты свой опыт фактически сбросишь
Аноним 27/05/24 Пнд 20:47:37 3171304 315
>>3170458
>поменьше веба.
На джаве это как то слишком оптимистично
Аноним 27/05/24 Пнд 20:56:22 3171310 316
>>3171304
Расскажи подробнее, пожалуйста.
Аноним 27/05/24 Пнд 21:14:37 3171324 317
>>3171215
хм? что ты имеешь ввиду? статический метод создаётся в виртуальной таблице методов и использует свое имя для рекурсии. тут ни того, ни другого....

ну и еще я подумал, сверху к прикольному сабтайпингу, здесь ленивость используется. тоже необычное
Аноним 27/05/24 Пнд 22:18:46 3171371 318
>>3171324
>статический метод создаётся в виртуальной таблице методов

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

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

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

Ага, зато invokedynamicа с метафакторёй хватает.
Аноним 27/05/24 Пнд 22:21:20 3171373 319
>>3171310
Большая часть джавы сейчас - это круды и около-круды, ав моем понимании это веб
Аноним 27/05/24 Пнд 22:22:16 3171376 320
>>3171373
Если через апишки, то терпимо.
Всё лучше, чем админки хуинки верстать.
Аноним 27/05/24 Пнд 22:23:22 3171379 321
>>3171324
>статический метод создаётся в виртуальной таблице методов
В джаве виртуальная таблица только для вызовов через интерфейс, остальное либо невиртуализируется, либо как стат метод, вообще не идет через втэйбл
Аноним 27/05/24 Пнд 22:24:16 3171380 322
>>3171379
*девиртуализируется
Аноним 27/05/24 Пнд 22:25:22 3171381 323
>>3171371
>>3171379
Тут согласен, ошибся. Соре..
>>3171371
>зато invokedynamicа
Ну вот видишь, совсем друхое!!!
> с метафакторёй хватает
А ты шаришь как енто работает? Расскажешь..?
Аноним 27/05/24 Пнд 22:39:48 3171391 324
image.png 113Кб, 300x300
300x300
>>3171379
>В джаве виртуальная таблица только для вызовов через интерфейс, остальное либо невиртуализируется, либо как стат метод, вообще не идет через втэйбл
А что делает invokevirtual?
Аноним 27/05/24 Пнд 23:39:29 3171420 325
Хочу купить себе книгу по джаве. Какую посоветуете, чтобы там была описана методология разработки на джаве? Ближайший пример из мира C++ - Брюс Эккель, ФИлософия C++
Аноним 27/05/24 Пнд 23:42:36 3171423 326
>>3171420
Философия Java?

А лучше купи себе книгу с поездами.
Аноним 28/05/24 Втр 06:14:50 3171498 327
>>3170455
>архитектурные бест практис
Это какие? Дай, пожалуйста, наводки, что читать
Аноним 28/05/24 Втр 07:15:55 3171515 328
Аноним 28/05/24 Втр 13:37:58 3171837 329
>>3171391
Это вызов через цепочку иерархии, но если иерархии нет, то лукапа через втэйбл не будет, да даже если есть, джава просто девиртуализирует это
Аноним 28/05/24 Втр 14:48:04 3171942 330
>>3161163 (OP)
Поясните за рефлексию? Зачем она нужна с практической точки зрения?

Почему на собесах заостряют на ней внимание?
Аноним 28/05/24 Втр 15:09:20 3171976 331
>>3171942
Она нужна для создания магии. Каждый уважающий себя спрингоколдун должен понимать, как работают его спеллы. К примеру все пользовательские анноташки работают с помощью рефлексии. Хотя например для создания прокси объектов даже рефлексии мало и лезут в байткод..

А какие у тебя проблемы с применением рефлексии вообще? вроде не сложное апи.
Аноним 28/05/24 Втр 18:56:12 3172201 332
>>3171942

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

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

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

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

А как это проявляется? Что спрашивают?
Аноним 28/05/24 Втр 21:20:54 3172352 333
>>3172201
Кастомные аннотации.
Динамические мапперы.

Это то что я пилил в банке
Аноним 28/05/24 Втр 21:31:10 3172366 334
>>3171976
Рантайм прокси такая хуйня пиздец просто.
Уж лучше изьебнуться и компайл тайм аспектами через аспектЖ сделать то что нужно. Чем в рантайме инструментировать байткод
Аноним 28/05/24 Втр 21:57:17 3172412 335
>>3172366
Разве компайл тайм аспекты покрыают все случаи использования?
Тот же мокито использует онли рантайм.
Ну и ты подробнее аргументы за и против распиши..
Аноним 28/05/24 Втр 22:43:28 3172448 336
Посоветуйте, пожалуйста, лучшие статьи по полнотекстовому поиску при помощи solr
Аноним 28/05/24 Втр 22:45:12 3172449 337
Каа бы я хотел сдирать живьём кожу с детей создателей ебаного мокито, только психически больная мразь могла создать такую поебень. Я бы пиздил их и их детей до тех пор пока они бы не начали ссать кровью и только когда у них начнут отмирать почки я бы посадил их писать ебаные тесты на кафка админ клиент
Аноним 28/05/24 Втр 22:48:15 3172450 338
>>3172449
Что конкретно тебе не нравится?
Аноним 28/05/24 Втр 22:48:53 3172451 339
Ну что, скуфаны, готовы 15-18 процентов из кармана вынуть и положить?
Аноним 28/05/24 Втр 22:51:50 3172454 340
>>3172450
Ебанутая падаль не в состоянии адекватно вывести в чем ошибка. Метод элементарный,сделать дескрайб топик,взять оттуда количество партиций,если число,переданное в метод отличается от количества партиций вызвать криейт партишнс. Мокаешь все ненужное говно,делаешь верифай криейт таймс 1,эта мразь пишет что у вас разные вызовы и что по факту вызывается и дискрайб и криейт. КОНЕЧНО БЛЯДЬ ОН ВЫЗЫВАЕТСЯ Я ЖЕ ТЕБЕ ЕБАНАТЦЮУ СРАЗУ НАПИСАЛ ВЕРИФАЙ ДИСКРАЙБ ТАЙМС СУКА 1. СТАВИШЬ БЛЯДЬ ВЕРИФАЙ КРИЕЙТ ЕНИ И СУКА СРАЗУ ЖЕ ПРОХОДИТ МРААААААВАЗИ КАК ЖЕ Я НЕНАВИЖУ ЭТО ЕБАНОЕ ГОВНО
Аноним 28/05/24 Втр 23:10:50 3172461 341
>>3172454
Открой для себя strictness и argumentCaptor.
Аноним 28/05/24 Втр 23:39:24 3172477 342
>>3171837
>джава просто девиртуализирует это
Не джава, а джит, и то это спекулятивная оптимизация которая далеко не всегда срабатывает. Достаточно хоть иногда вместо ArrayList передавать PersistentList, чтобы джит даже не пытался девиртуализировать.
Аноним 29/05/24 Срд 00:27:07 3172511 343
>>3172477
>Достаточно хоть иногда вместо ArrayList передавать PersistentList, чтобы джит даже не пытался девиртуализировать.
Ну так не передавай
Аноним 29/05/24 Срд 01:16:15 3172519 344
Какова вероятность залететь на работку без профильного образования, но с рекомендацией от копании и опытом работы? Вопрос очень важный - с универа слетаю, вышка точно не светит.
Аноним 29/05/24 Срд 01:29:54 3172526 345
>>3172519
Всегда можно восстановиться.
Аноним 29/05/24 Срд 01:30:23 3172527 346
>>3172519
А че тебе на текущей не работается?
Аноним 29/05/24 Срд 01:38:11 3172531 347
>>3172527
Наверное потому что он на самом деле там не работает
Аноним 29/05/24 Срд 01:44:38 3172533 348
>>3172527
Долгая история, по знакомству получил контакты. по факту 0 опыта, только петы. Восстановиться не могу и не хочу
Аноним 29/05/24 Срд 09:02:26 3172630 349
>>3172412
мокито использует рантайм потому что у него нет другого способа кроме создания проксей на уже собраные классы.
для компайлтайм нужны же исходники.
Аноним 29/05/24 Срд 09:53:38 3172675 350
>>3172519
Как и всегда, всем поебать на твой диплом
Аноним 29/05/24 Срд 12:28:47 3172812 351
1716974922641.jpg 539Кб, 1333x600
1333x600
Аноним 29/05/24 Срд 14:43:34 3172951 352
>>3172630
Ну вот. Значит везде ты не сможешь пропихнуть такие аспекты. Следовательно надо изучать оба вида сразу.
Аноним 29/05/24 Срд 14:44:16 3172954 353
>>3172511
>Ну так не передавай
Склеротик, речь идёт о том что
>>3171379
>В джаве виртуальная таблица только для вызовов через интерфейс, остальное либо невиртуализируется, либо как стат метод, вообще не идет через втэйбл
Пиздежь.

В джаве виртуальные методы на каждом шагу. Что-то джит сможет оптимизировать, а что-то нет.
Аноним 29/05/24 Срд 14:50:46 3172963 354
>>3172951
ну как не смогу
свой личный код я смогу как угодно через аспектЖ обернуть.
Аноним 29/05/24 Срд 14:53:05 3172965 355
>>3172951
скажу даже больше.

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

с тех пор у меня есть стокгольмский синдром к аспектЖ
Аноним 29/05/24 Срд 14:56:27 3172971 356
>>3172965
бля меня ажтрисет до сих пор

этот ебаный движок обработки грувипоноса с аннотациями бизнесобласти
Аноним 29/05/24 Срд 15:39:50 3173015 357
>>3172965
>>3172971
Звучит круто на самом деле. Тоже хочица что-то вот такое вот поделать, эх
Аноним 29/05/24 Срд 16:47:00 3173148 358
image.png 23Кб, 225x225
225x225
Объясните за продукты jetbrains.
Вот мне надо несколько языков кроме джавы:

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

2) Или же надо отдельно ставить каждую IDE, скажем, WebStorm, PyCharm, PhpStorm идт?
Аноним 29/05/24 Срд 16:59:51 3173159 359
>>3173148
ReSharper, CLion точно нельзя idea заменить. Остальное в плагинах есть.
А ты вкатунишка типа?
Аноним 29/05/24 Срд 17:13:45 3173179 360
>>3173148
По идее джедбрейнз хочет чтобы ты на каждый чих покупалновую иде, но можно костылить
Аноним 29/05/24 Срд 17:16:14 3173183 361
>>3173159
>А ты вкатунишка типа?
Не совсем, перебираю разные языки и стеки, смотрю на тулы. Для себя выбираю.
Аноним 29/05/24 Срд 17:34:13 3173203 362
>>3173183
Ну имхо, все что выходит за рамки жабы у жидбрейнсов не такое продвинутое, потому вполне можно найти что-то и лучше. И вообще, это тема софтача(/s/), разве нет?

К слову, найти бы софтик для анализа женериков. А то идея в какой-то момент просто ломается и хуйню несет. Я видел алгос для этого, мб плагин запилить.. Так-то полезно по идее.
Аноним 29/05/24 Срд 17:47:25 3173228 363
>>3173203
>И вообще, это тема софтача(/s/), разве нет?
Это прямой инструмент разработчика, это как если художника с выбором кистей отправить в раздел плотников.
Но спасибо за инфу.
Аноним 29/05/24 Срд 23:15:44 3173677 364
>>3173203
> И вообще, это тема софтача(/s/), разве нет?
Нет, спасибо, пожалуй не буду суваться в логово пердолек и спермоклоунов.
Аноним 29/05/24 Срд 23:59:24 3173703 365
Аноним 30/05/24 Чтв 01:51:37 3173774 366
>>3173148
Чем больше плагинов тем хуже это говнецо работает.
У меня лично стоят и ультимейт и СЕ и андроид студио - все отдельными установками
Аноним 30/05/24 Чтв 01:54:17 3173775 367
>>3173179
Не. Они хотят тебе подписочку на все их продукты одновременно впарить.
Но той же СЕ хватит вкатуну заглаза
Аноним 30/05/24 Чтв 08:30:30 3173851 368
Пишу автотесты на джава, как перекатиться из куа в разработку? Или это как вкат с нуля? снова
Аноним 30/05/24 Чтв 12:23:03 3174122 369
Аноним 30/05/24 Чтв 12:27:13 3174130 370
Аноним 30/05/24 Чтв 12:29:22 3174135 371
Аноним 30/05/24 Чтв 13:14:21 3174208 372
Аноним 30/05/24 Чтв 13:15:43 3174210 373
>>3173203
В правилах доски написано, что идешки обсуждать тут, а программы в /s/
Аноним 30/05/24 Чтв 13:39:08 3174239 374
Screenshot20240[...].jpg 92Кб, 1080x335
1080x335
Screenshot20240[...].jpg 107Кб, 1080x445
1080x445
>>3174210
мы похоже разные правила читали. ну тебе виднее.
Аноним 30/05/24 Чтв 14:03:44 3174265 375
>>3174239
Гидроцефалище.
>Исключение - IDE и прочие инструменты программирования, которые можно обсудить в тредах соответствующих языков.
Аноним 30/05/24 Чтв 14:08:01 3174276 376
>>3174265
Обязательно оскорблять? Я же сразу сказал, что мы разные правила читаем. Отцтань, а то еще меня забанят. Я не хочу обсуждать правила.
Аноним 30/05/24 Чтв 14:29:47 3174303 377
maven5.JPG 63Кб, 701x363
701x363
>>3167542
Опять выхожу на связь

добавил 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 не исчезла, зависимости не качаются
Аноним 30/05/24 Чтв 14:45:53 3174317 378
>>3174303
Бля, это троллинг какой-то нахуй. Как так нахуй? У меня не было проблем когда я ставил, там просто физически нельзя быть настолько криворуким чтобы так долго ставить и с таким количеством проблем.
Аноним 30/05/24 Чтв 14:47:49 3174320 379
>>3174303
>In IntelliJ IDEA, click Preferences, Build Tools -> Maven
>switch from the default "Bundled Maven 3"
Аноним 30/05/24 Чтв 15:08:12 3174342 380
>>3174317
Забил на некоторое время, дома то всё работает.
>>3174320
Уже делал. без изменений
Аноним 30/05/24 Чтв 16:39:41 3174463 381
>>3174210
Конечно, ведь обычный пк-васян будет разбираться в ИДЕешке, это же софт, а еще компилятор это тоже софт и то что ты написал в коде, блин, тоже становится софтом.
Аноним 30/05/24 Чтв 21:52:16 3174776 382
>>3173148
>Объясните за продукты jetbrains.
Лучшее что выпускала отечественная промышленность
Аноним 30/05/24 Чтв 22:05:32 3174786 383
>>3174303
Сделай просто из консоли mvn install
Аноним 30/05/24 Чтв 22:15:02 3174789 384
>>3174303
>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 подключения к локалхосту заблочены админом. Если это так - тогда нет пути, мавен с идее не сынтегрировать
Аноним 30/05/24 Чтв 22:28:55 3174799 385
>>3174789
Зачем блочить локалхост?
Аноним 30/05/24 Чтв 23:18:17 3174835 386
>>3174799
Вероятно чтобы всякая виROOсня не сканила порты или чтобы не пыталась подконнектиться и абузить существующие стандартные сервера в виде, кто знает. Спроси админа.
Аноним 31/05/24 Птн 09:02:27 3175072 387
>>3174786
>mvn install
Судя по логам, он не знает такой команды

>>3174789
Ну это пиздец.
Аноним 31/05/24 Птн 10:29:13 3175174 388
>>3175072
>Судя по логам, он не знает такой команды
Это самая базовая команда мавена, должен знать
Аноним 31/05/24 Птн 11:31:38 3175293 389
Поясните за правило использовать только существительные в названии классов. Всегда ли стоит ему следовать?

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

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

Что уже, вроде бы, не так хорошо читаемо, как первый вариант.
Аноним 31/05/24 Птн 12:14:22 3175364 390
>>3175293
Правила по отдельности не работают, надо смотреть на весь гайдлайн в целом. В самом по себе правиле "существительное имя класса" не вижу ничего крамольного. Я б его дополнил еще запретом называть классы именами паттернов. Ненавижу имена в стиле AbstractSingletonBeanFactoryOfUserService.

Если тебя тянет назвать их глаголами, возможно твои классы имплементируют какой нить функциональный интерфейс и сама кодовая база довлеет в сторону ФП. Тоже имеет место на жизнь.
Аноним 31/05/24 Птн 12:26:57 3175387 391
Я так и не понял что такое loom project. Это какой-то йоба сборник документации по многопоточке или как?
Аноним 31/05/24 Птн 12:38:01 3175399 392
>>3175387
Это очень криво работающая оптимизация по памяти, времени запуска и оверхеду треда в ~1000 раз.
Аноним 31/05/24 Птн 12:53:31 3175425 393
Аноним 31/05/24 Птн 12:54:50 3175427 394
>>3175425
Потому что синхронайзеды не работают.
Аноним 31/05/24 Птн 13:00:53 3175438 395
>>3175427
Мелкий минус, учитывая, что в будущем поправят. Еще что-то будет?
Аноним 31/05/24 Птн 13:07:00 3175442 396
>>3175438
> в будущем поправят
Откуда инфа?
Аноним 31/05/24 Птн 13:21:15 3175456 397
Аноним 31/05/24 Птн 13:21:56 3175458 398
>>3175427
В смысле слово synchronized вообще не работает?
Аноним 31/05/24 Птн 13:22:28 3175461 399
>>3175456
Чё расскажешь? То есть ты за базар не пояснишь? Ясно, слив.
Аноним 31/05/24 Птн 13:55:24 3175544 400
>>3175458
работают, он просто хуево сформулировал.
>>3175461
ты спросил откуда инфа, я дал. все, кыш.
Аноним 31/05/24 Птн 13:57:33 3175554 401
>>3175544
>дал
Максимум в своих фантазиях. Ссылка на видео это пруф не более чем "поищи сам".
Аноним 31/05/24 Птн 14:17:14 3175582 402
>>3175544
Есть вообще идеи, что бы такого поимплементить, чтобы напрямую применять эту вашу многопоточку, а не просто читать и какие-то примерчики запускать? Мне в голову приходит только кастомная имплементация контейнера сервлетов какого-нибудь.
Аноним 31/05/24 Птн 14:52:36 3175625 403
Аноним 31/05/24 Птн 15:04:04 3175643 404
>>3175625
Он и сюда добрался, боже...
>>3175582
Нуу.. Я имплементил кастомный синхронизатор, его суть в том, что он работает как sleep, но там не время, а тики, ну и генератор есть.
Есть те, кто к этому генератору подключаются слушателями в некотором роде. У них есть возможность резервировать некоторое количество тиков. Если хотя бы один слушатель не зарезервировал тики, генератор стоит.
Еще делал генератор чисел фибоначчи, но когда там два AtomicReference.
MergeSort, transfer типа банковский, еще помню интересную задачку, мол вот есть три треда, ну и они имеют имена A, B, C. Тебе надо сделать так, чтобы они последовательно выводили что-то подобное ABCABCABCABC...
Ну это все искусственные задачи в какой-то степени... Реальные же обычно с транзакциями связаны, это друхое. Ну вот, по идее можно попробовать сделать паралельную имплементацию игры life. В контейнере серврелетов хз че сложного по многопоточке.. Знай себе создавай треды для каждого запроса и усе.
Аноним 31/05/24 Птн 15:14:48 3175659 405
>>3175643
> кастомный синхронизатор, его суть в том, что он работает как sleep, но там не время, а тики, ну и генератор есть. Есть те, кто к этому генератору подключаются слушателями в некотором роде. У них есть возможность резервировать некоторое количество тиков. Если хотя бы один слушатель не зарезервировал тики, генератор стоит.
Звучит интересно, хотя и абсолютно абстрактно для меня.
> есть три треда, ну и они имеют имена A, B, C. Тебе надо сделать так, чтобы они последовательно выводили что-то подобное ABCABCABCABC...
Ну я похожее делал, только там у существа было 2-3-4... n ног, и надо было сделать так, чтобы ноги по-очереди ходили.
> В контейнере серврелетов хз че сложного по многопоточке.. Знай себе создавай треды для каждого запроса и усе.
Блин, в принципе ты прав. С многопоточкой там ничего сложного по сути нет. Короче возьму доки, мб какую книгу по конкуренси (мб есть рекомендации какие?), да буду ковыряться, походу действия должны идеи появиться.
Аноним 31/05/24 Птн 15:17:21 3175664 406
Аноним 31/05/24 Птн 15:19:40 3175668 407
>>3175659
>чтобы ноги по-очереди ходили.
А ты как сделал кстати?
Аноним 31/05/24 Птн 15:35:04 3175683 408
>>3173851
Ооп хорошо знаешь ? Базовый синтаксис джавы ?
Аноним 31/05/24 Птн 15:54:13 3175709 409
>>3175664
Благодарю.
>>3175668
Делал через реентрант локи и кондишн. Конкретно имплементации не помню, но там было что типа первая нога сделала шаг, сообщила остальным, стала, дальше вторая походила, сообщила и т.д.
Аноним 31/05/24 Птн 15:56:43 3175711 410
>>3173851
Так ты уже полноценный разработчик. Просто тебе надо изучить АПИ популярных фреймворков типа спринга.
Аноним 31/05/24 Птн 15:57:49 3175712 411
>>3175709
Ну в принципе ожидаемое решение. Можешь попробовать тоже самое, но уже через cyclicbarrier или LockSupport
Аноним 31/05/24 Птн 15:58:32 3175715 412
>>3173851
Просто и без задней мысли берешь и делаешь круд на спринге и попутно изучаешь все что для этого надо. С докером.
Выкладываешь на что там у вас не заблокировано вместо гитхаба и ходишь по собесам. Если ты пишешь автотесты - значит ты уже умеешь писать на джаве.
Аноним 31/05/24 Птн 15:59:55 3175718 413
>>3175582
можешь попробовать логстэш переимплементировать чтобы эффективнее работал
Аноним 31/05/24 Птн 16:09:37 3175730 414
Что за дрочь последним временем на TDD? Последний раз проходил собесы 5 лет назад, и тогда все было строго похуй на это.
Аноним 31/05/24 Птн 16:23:14 3175742 415
>>3175730
может хайп какой-то очередной поднялся или кто-то на конференцию съездил

за все свои 10 лет карьеры я вообещ ни разу не видел чтобы кто-то действительно работал по TDD, но шума про него в каждой конторе было
Аноним 31/05/24 Птн 16:30:59 3175749 416
>>3175742
У меня с примерно 7 собесов спрашивали на 4х про эту хуйню.
Аноним 31/05/24 Птн 16:35:58 3175752 417
>>3175730
Не умеют разрабы юнит тесты писать.

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

Так и живем.
Аноним 31/05/24 Птн 16:56:50 3175767 418
Сап аноны, дохуя лет работаю автомейшен куа на джаве.
Подумываю перекатиться в разработку, т.к. нравится писать код. Есть тут кто с подобным опытом? Че посоветуете?
Спринг + хибернейт + скул и перекатываться в кровавый тырпрайз?
Или податься в адроид? Базово пробовал писать хеллоуворд аппы доя него.
Вообще сам склоняюсь у первому, т.к выглядит как более быстрый путь для переката. Че думаете?
Аноним 31/05/24 Птн 17:57:34 3175810 419
Смотрите короче какая идея для библиотеки. Короче вот например у тебя есть корованы... несколько классов с методами. Ты можешь навесить на них аннотацию, например @Run(1) @Run(2) и это означает, что в рантайме эти методы будут запускаться в заданном порядке! Хз на🌶 это кому-то нужно, но по-моему идея интересная. Что скажете?
Аноним 31/05/24 Птн 17:59:11 3175811 420
>>3175810
Ну типа ты на своей мейн можешь навесить какую-то аннотацию типа @YobaApplication и всё.
Аноним 31/05/24 Птн 18:50:32 3175855 421
>>3175810
Бггг.
И без этой 🌶ни по твоему они как запускаются? Одновременно?
Аноним 31/05/24 Птн 18:51:19 3175858 422
Аноним 31/05/24 Птн 18:55:03 3175863 423
27.jpg 53Кб, 512x512
512x512
>>3175855
Хах, ты прав. Но если писать методы, которые не вызывают друг друга... (и тем же нарушая ООП). Бля чёт 🌶ню какую-то я придумал.
Аноним 31/05/24 Птн 19:22:32 3175908 424
Аноним 31/05/24 Птн 19:47:27 3175936 425
Аноним 31/05/24 Птн 20:14:04 3175978 426
>>3175767
Тебе разрешение что ли нужно?

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

А дальше договаривайся на работе чтоб тебя перевели из нормального и нужного автокуа в отрицательно полезного бэкенд джуна.
Аноним 31/05/24 Птн 21:36:35 3176053 427
>>3164019
> if устарел с приходом pattern matching..)
Вот так, да ?

if() {
//then
}

pattern matching () {
//omg##@$&_+????
}
Аноним 31/05/24 Птн 21:50:18 3176066 428
>>3175767
Зачем перекатываться? Код же пишешь и так
Аноним 31/05/24 Птн 22:17:07 3176084 429
Аноним 31/05/24 Птн 22:28:46 3176091 430
>>3176066
Я понимаю, что и там, и там своя рутина. Но мне в автотестинге было особоенно по кайфу пилить тестовые фреймворки - добавлять в них фичи, фиксить баги и т.д. Но все же в основном приходится пилить именно автотесты, а это не интересно. Плюс сейчас такая тенденция, что большинство контор хочет, чтобы один тестер делал и авто, и мануал работу, а это я ебал в рот.
Аноним 31/05/24 Птн 22:40:39 3176098 431
Аноним 31/05/24 Птн 23:36:13 3176146 432
Аноним 01/06/24 Суб 00:22:39 3176168 433
>>3176098
Новое что то показали или как обычно какое то минорное говно и вальхала которую надо еще 5 лет подождать?
Аноним 01/06/24 Суб 06:53:41 3176267 434
>>3176091
Сеймович. Тошнит от необходимости разработать тест кейс, согласовать это все и проходить периодически руками пока нет автотеста.
Аноним 01/06/24 Суб 11:30:59 3176379 435
Sup, а project loom уже можно использовать для проектов? Хочу сделать приложение средней сложности и хочу попробовать лум потоки потрогать.
Какие подводные? (повторяюсь)
Аноним 01/06/24 Суб 11:52:33 3176408 436
>>3175810

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

Сиди-переловачивай несколько десятков анноташек.
Аноним 01/06/24 Суб 12:01:23 3176422 437
>>3164019
>Как говорица, for устарел с приходом stream, а if с приходом pattern matching

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

А вот как реально говорится, так это "когда в руках молоток, все вокруг гвоздями кажется".
Аноним 01/06/24 Суб 18:14:31 3176798 438
Аноним 01/06/24 Суб 19:57:50 3176871 439
>>3176053
Вот так https://pastebin.com/1xbKFKdy
>>3176422
Это шутка вообще, которая звучала года пол назад в жаба же треде.
Но тем не менее, если в языке няшный паттерн матчинг, то имхо он нагляднее/декларативнее чем ифы.
Аноним 01/06/24 Суб 22:55:28 3177094 440
>>3176408
можно изначально нумеровать ака хибер, ну т.е 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, что плюс мб.
мнение?

мимо
Аноним 01/06/24 Суб 23:09:45 3177112 441
>>3177094
Просто номер должен быть с типом double...
Аноним 01/06/24 Суб 23:15:30 3177118 442
>>3177112
дурак что ли? double нельзя точно сравнивать. тогда уж string какой-нибудь. но это криво как-то.
Аноним 01/06/24 Суб 23:37:26 3177138 443
>>3177118
В смысле блядь нельзя? Ты думаешь там до🌶 дробных чисел будет? Вряд ли больше одного знака после запятой.
Аноним 01/06/24 Суб 23:39:48 3177140 444
>>3177138
ну блять. 🌶нут тебе 1/3, pi, e, inf, nan и все. у тебя бизнес логика, а ты предлагаешь опираться на что-то столь ненадежное.
Аноним 01/06/24 Суб 23:45:59 3177144 445
>>3177138
>>3177140
и по поводу количества дробных чисел. как там 0.1 + 0.2? напомню, что сравнение это просто вычитание чисел друг из друга.
Аноним 01/06/24 Суб 23:48:31 3177148 446
>>3175293
Отглагольные существительные созданы не просто так.
Аноним 02/06/24 Вск 00:42:22 3177204 447
>>3177094
>можно изначально нумеровать ака хибер, ну т.е 0,50,100,150...

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

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

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

Не уподобляйся аннотациодаунам - лишь узкий класс задач действительно требует решения через аннотации. Большинство задач решается без аннотаций гораздо проще и очевиднее, чем с ними.
Аноним 02/06/24 Вск 00:50:02 3177213 448
>>3177204
Мм, ну я не хотел придумывать, то куда эту залупу применить, просто задачу решал... Так-то если подумать, то похожее есть в filterchain order spring security. Типа порядок фильтров задаём.
Аноним 02/06/24 Вск 01:58:52 3177265 449
>>3177213
А, точно, тыж мимокрок...

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

Ну вот как раз какая то постная 🌶ня того же уровня мотивации. Оно не вызывает неприязнь только за счет того, что редко когда этих фильтров на практике бывает много, да и обьявляются они обычно в одном модуле конфигурации (не размазываются по сорцам).
Аноним 02/06/24 Вск 02:30:32 3177269 450
>>3177265
Ладно.. можно взять что-то безобидное, типа порядок того, как будут запускаться тесты в мокито. тип от базовых случаев, к каким-то special case.

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

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

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

будто кто-то за такое платит вообще. даже спринг бесплатный. ладно невермайнд.
Аноним 02/06/24 Вск 10:41:23 3177486 453
>>3177271
Это и в 4 и тестнг реализовано.
В 5 оно более всрато кстати имхо
Аноним 02/06/24 Вск 11:23:03 3177518 454
>>3176168
1. В очередной раз пол конференции рассказывали как новые 6-месячные релизы это заебись и как мы тольковыиграли
2. Рассказали как догнали и перегнали америкупетухон, петушарп, петухлин и пидораст

Ну и вроде всё.
java и потоки в native Аноним 02/06/24 Вск 11:32:35 3177524 455
Допустим, был вызван native метод, который создал два потока и завершился, передав управление jvm.
1) будут ли работать те два новых потока?
2) можно ли будет управлять этими потоками, если предварительно сохранить дескрипторы созданных потоков, через вновь вызванный native метод?
3) если в нативе malloc'ом или оператором new взять кусок памяти, можно ли будет его использовать при следующем вызове native, если сохранить адрес и не освобождать этот кусок памяти?
Аноним 02/06/24 Вск 11:34:37 3177529 456
>>3177524
Опять вопросы от непонимания принципа работы нативов. Когда ты стартуешь натив, управление переходит, как ни странно, нативному коду. Буквально то же что и запустить нативную программу.
Аноним 02/06/24 Вск 12:15:14 3177561 457
>>3177524
1. Будут конечно же. Для ос это такие же потоки, как и все остальные, а JVM про них вообще ничего не знает.
2. Да можно, точно так же как и любым нативным потоком.
3. Да можно.
Аноним 02/06/24 Вск 21:23:52 3178302 458
Можно ли где нибудь посмотреть проекты на Java и их стоимость? Интересно сколько стоит разработка архитектуры для проектов разных масштабов, а также собственно стоимость кодинга
Аноним 02/06/24 Вск 23:19:58 3178361 459
>>3161163 (OP)
Ознакомился с описанием от вкатунов, но если мне удобнее курсами, то какие курсы наименее гавеные?
Аноним 03/06/24 Пнд 00:59:53 3178428 460
>>3178302
>проекты
Вкатуньё тебе ещё и доплатит за возможность поработать над проектами.
Аноним 03/06/24 Пнд 12:57:14 3178789 461
>>3178302
Ага, заходишь в тинек и спрашиваешь
Аноним 03/06/24 Пнд 23:12:41 3179475 462
1717445553761.jpg 650Кб, 1080x2400
1080x2400
Что это за шиза? Просто блядь словесный шум,ноль содержательной информации
Аноним 04/06/24 Втр 02:12:47 3179530 463
>>3179475
Ты чё пес, это шилдт!
Аноним 04/06/24 Втр 04:34:11 3179560 464
Вопрос мб не по теме но щас работаю программистом в офисе 5/2 с 9 до 18. Как мне с таким графиком проходить собесы чтобы сменить работу? Уволиться и искать не подойдёт потому что IT отсрочка от армии.
Аноним 04/06/24 Втр 05:27:18 3179594 465
>>3179560
Как все люди работающие в офисе. Отпрашиваешься /договариваешься на обед/в отпуске и т.д
Аноним 04/06/24 Втр 10:55:42 3179715 466
>>3179475
Это главная концепция, вокруг которой крутиться выскоуровневая жаба синхронизация. В чем ноль содержания, лол?
Причем это ускользание, реально очень много проблем может принести. Если например случайно утечет this ссылка во время конструирования иммутабельного объекта, то весь поток, получивший эту саму ссылку, всегда будет получать какую-то чушь, а не данные из него. Тут тоже самое, если ты кому-то просто отдал мутабельный объект, то считай крест поставил на синхронизации. Технически, ты должен передовать не просто объект, а право владения им. В том же расте это выведено на уровень семантики, в жабе же, ну довольствуемся хотя бы возможностью. Еще это называется acquire/release.
Аноним 04/06/24 Втр 11:02:16 3179727 467
>>3179715
>Это главная концепция, вокруг которой крутиться выскоуровневая жаба синхронизация.
Вот только фрагмент из книги, ни разу ни про синхронизацию или safe publishing.
Аноним 04/06/24 Втр 11:02:32 3179729 468
Аноним 04/06/24 Втр 11:06:31 3179736 469
>>3179729
У тебя нет гарантии видимости. ввиду того, что hb связи нет. там в 16 главе подробнее про это.
>>3179727
ну дальше про нее будет. он про нее почти всю вторую или третью часть 🍑ит.
Аноним 04/06/24 Втр 11:11:26 3179746 470
>>3179736
Ты имеешь ввиду что потоки могут обратиться к коллекции до вызова инит метода?
Аноним 04/06/24 Втр 11:17:47 3179752 471
Аноним 04/06/24 Втр 11:24:18 3179760 472
Аноним 04/06/24 Втр 11:25:14 3179764 473
>>3179760
happen before. если первый раз слышишь, просто забей до 16 главы.
Аноним 04/06/24 Втр 11:30:13 3179774 474
>>3179764
Неприятная структура книги когда сначала показывают,а потом объясняют что показали через несколько глав
Аноним 04/06/24 Втр 11:34:12 3179784 475
>>3179774
Можешь заметочки вести. или хайлайты оставлять в пдфке. а ну и перевод на русский очень часто может вводить в заблуждение, проще в этом случае к оригиналу обратиться. А то, то что у нас поток потока программы. у них thread program flow. что у нас блокировка потока, блокированный метод, у них lock thread, block method.
Аноним 04/06/24 Втр 11:53:11 3179815 476
Аноним 04/06/24 Втр 12:00:44 3179826 477
image.png 23Кб, 1131x802
1131x802
Аноны, мне помощь нужна.
Я по работе из .doc делаю .xlsx средствами самого excel.
Не то чтобы это было сложно или много времени занимало, но количество документов не маленькое, а руками это делать надоело, еще и нужно что-то докрутить, добавить формул, ну вы поняли.
Сам документ,примерно как прикрел, выгружен из какой-то проги, так как приходят в одном виде, разделение идет знаками "|", делать табл. в excel они не будут, а формулы всё еще нужно добавить.
Решил делать на java, так как хочу перекочевать на нее. Быть инженером уже не так престижно

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

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

Как добавить формулы:
https://www.baeldung.com/java-apache-poi-set-formulas
Аноним 04/06/24 Втр 14:42:31 3180131 479
>>3180062
Спасибо. Буду разбираться
Аноним 04/06/24 Втр 15:26:39 3180198 480
>>3179736
>ну дальше про нее будет.
Харе спойлерить!
Аноним 04/06/24 Втр 16:25:51 3180258 481
image.png 74Кб, 1178x315
1178x315
image.png 97Кб, 969x434
969x434
image.png 129Кб, 947x442
947x442
>>3180198
Да там же в оглавлении все, ряя....

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

И вот я не понимаю зачем было написано вот эта часть про волатайл. Мало того, что гении на переводчиках перевели should как должность. Так мне еще непонятно, зачем вообще оригинальные авторы вкинули часть про кэши. Это же деталь реализации, нигде не гарантируемая. Я вот ток недавно ее в вузике слушал, в куче видосов видел на многих сайтах оно есть, короче все как попугаи ее повторяют.. Очень надеюсь, что все это аппелирование к железкам вырежут нахуй в будущем издании, оставив только
>read of a volatile variable always returns the most recent write by any thread
Аноним 04/06/24 Втр 19:46:35 3180506 482
>>3180258
>read of a volatile variable always returns the most recent write by any thread
Что конечно же 🍑жь. volatile не даёт никаких временных гарантий, его гарантии видимости совсем про другое.
Аноним 04/06/24 Втр 19:52:53 3180511 483
>>3180506
Хмм, что ты имеешь ввиду вообще? Вроде конктретно в этом предложении все норм сформулировали.
Аноним 04/06/24 Втр 21:23:45 3180617 484
>>3179560
>>3179594
У меня в команде ведущий аналитик кстати в рабочее время собесы проходил в офисе в переговорке с рабочего ноута. Так и говорил - на созвоне в 14 меня не будет - у меня собес. Месяц так поискал и свалил.
Аноним 04/06/24 Втр 21:30:08 3180623 485
>>3180617
Знаю его. Погиб он. На мосту не справился с управлением и в реку нырнул. Достали, но он уже того - синий был.
Аноним 04/06/24 Втр 23:17:12 3180719 486
>>3180511
>Вроде конктретно в этом предложении все норм сформулировали.
Нет, volatile дает гарантию что если вы из переменной A считали значение B, то из всех остальных переменных будет считано то, что тред записавший B записал до этого. Т.е. это про видимость изменений, а не про время.

Технически, write/read барьеры работают так, что ты увидишь эти изменения буквально за пару тактов, но JMM не дает таких гарантий.
Аноним 04/06/24 Втр 23:28:06 3180725 487
image.png 165Кб, 1186x577
1186x577
>>3180719
Ты про eventually visible? https://gee.cs.oswego.edu/dl/html/j9mm.html
Вот тут оно есть. Opaque накладывается на Acqure/release, который в свою очередь уже на volatile.
Хотя конечно это 🍑ц какой-то, что до сих пор в спеке нет нихуя про эти режимы. Но судя по прогрессу... https://openjdk.org/jeps/188 это будет не скоро.
Аноним 04/06/24 Втр 23:33:13 3180727 488
1717533186284.jpg 469Кб, 1080x1650
1080x1650
Я не понимаю,в чем проблема не делать n final. Ну получит поток данные,он же изменить их не может,поле то приватное и сеттера в классе нет
Аноним 04/06/24 Втр 23:36:38 3180731 489
>>3180727
final дает дополнительные гарантии. Строго говоря, даже большие чем volatile. У тебя же тут просто plain чтение.
И вообще, попробуй потестировать тогда, раз не веришь.
Аноним 04/06/24 Втр 23:38:58 3180733 490
>>3180731
А зачем мне доп гарантии,ты никак не можешь изменить значение n у тебя просто нет такого функционала
Аноним 04/06/24 Втр 23:40:10 3180734 491
>>3180733
В плане? Ты ж его в конструкторе меняешь с дефолт значения на какое-то присовенное. Ну и вот, у тебя вариант прочесть 0 или то, что ты сам пихнул в констркутор.
Аноним 04/06/24 Втр 23:58:47 3180741 492
Аноним 05/06/24 Срд 00:12:35 3180750 493
Аноним 05/06/24 Срд 01:29:52 3180818 494
>>3180750
не за что жи. и обращайся, няшк. могу контактик даже тебе свой дать, если молодой, шутливый, конечно~~
Аноним 05/06/24 Срд 11:57:33 3181202 495
Почему перестали писать книги по джаве и спрингу? Эти технологии устарели и все переходят на го?
Аноним 05/06/24 Срд 12:10:00 3181211 496
image.png 217Кб, 500x656
500x656
image.png 120Кб, 305x400
305x400
>>3181202
По спрингу каждый год что-то выходит у oh really. Как и по всему. Но сейчас книги чтают те кто хотят вкатиться, тем кто уже тут нет смысла - все нововведения разжёвываются в блогах , да на медиуме.
Да и сама индустрия сейчас хайпует с несколько других вещей.
Аноним 05/06/24 Срд 12:11:05 3181213 497
>>3181211
Хуже гошизов, только аишизы. И почему спрашивается они засели в жабатреде(
Аноним 05/06/24 Срд 12:44:09 3181239 498
springinit.jpg 58Кб, 537x763
537x763
И как теперь создавать проекты для старых версии джавы?
Аноним 05/06/24 Срд 13:18:07 3181278 499
>>3181239
Да никак. В зависимостях 3 спрингбута нет ничего ниже 17. Страдай.
Аноним 05/06/24 Срд 13:25:13 3181294 500
>>3181239
А котлин с какой версии саппортит jvm?
Аноним 05/06/24 Срд 14:26:12 3181363 501
>>3181239
Сгенерировать на новой и заменить в помнике руками?
Аноним 05/06/24 Срд 14:45:28 3181390 502
>>3162241
Ceylon предлагал такое, но язык был убит с подачи разработчиков говнокотлина. Они даже добились удаления видео, в котором говорили об успешном опыте промышленного применения Ceylon.
Аноним 05/06/24 Срд 15:22:17 3181414 503
>>3181390
И зачем нужны эти ваши юнит тайпы? Еще непонятно, причем тут котлин вообще. Будто это его вина, что он стал популярен, а целон нет.
Аноним 05/06/24 Срд 15:47:30 3181446 504
Аноним 05/06/24 Срд 19:16:09 3181709 505
s1.JPG 159Кб, 1249x1766
1249x1766
s2.JPG 148Кб, 1177x1670
1177x1670
s3.JPG 102Кб, 1196x1671
1196x1671
s4.JPG 140Кб, 1236x1766
1236x1766
>>3181202
Ну вот книги 2022+
Есть еще с десяток всяких индусских рактов

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

Я такое тоже не читаю, все что надо оп спрингу обычно и так гуглится легко. А мне больше про дизайн и архитектуру почитать.
Аноним 05/06/24 Срд 19:22:07 3181715 506
>>3181239
Почему до сих пор не переехали на новую версию?
Аноним 05/06/24 Срд 19:23:57 3181719 507
>>3162371
Нет. В ADT у тебя сумма типов, а тут объединение. Разные вещи
Аноним 05/06/24 Срд 23:33:25 3182140 508
image.png 16Кб, 715x228
715x228
>>3181719
А в чем разница? Это типа пика, либо же этого >>3162279 если жабку брать.
Аноним 05/06/24 Срд 23:35:44 3182147 509
>>3182140
Разница в том, что у тебя сумма протегана. Объединение типов совсем не обязательно.
Аноним 05/06/24 Срд 23:41:03 3182155 510
>>3180725
Нет, я про то, что видимость всегда не равна wall clock. Просто потому, что есть задержки с передачей информации.

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

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

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

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

В контексте оригинального вопроса: >>3180506 означает, что значение volatile треды видят с некоторой задержкой, но она очень маленькая, на уровне нескольких тактов.
Аноним 06/06/24 Чтв 00:07:33 3182175 511
image.png 33Кб, 930x145
930x145
image.png 58Кб, 1201x269
1201x269
image.png 82Кб, 1223x387
1223x387
>>3182147
Ну судя по википедии это все таки сум тайп. Ноо как я понял, ты имеешь ввиду, что возможность матчится, ну т.е. определить конструктор без instanceof не обязательна. Понил.
>>3182155
>если A happened before B, то прочитав из A значение C есть гарантия, что прочитается всё что было до этого
Нуу, ты похоже свойства транизитвности имеешь ввиду. Вообще говоря в спеке действительно нет никакой формулировки по поводу последней записи. Вот есть пик 2 из главы 17.4.7. Вкратце, она говорит, что вот ну если у тебя A hb B, то A никогда не прочитает значение B. А также, не может существовать никакой такой записи между записью и непосредственно чтением. Вот эту вторую часть можно вполне переформулировать в видит последнюю запись. На пике 3 мб более понятное обяснение...
>А не в форме как только вы запишите в A, так сразу все потоки это увидят.
Имхо, но этого не было в той цитате... Вполне может я конечно жопочтец, не отрицаю.
Аноним 06/06/24 Чтв 00:17:21 3182178 512
>>3181294
Да вроде 8+, но точно не знаю.
Недавно надо было глянуть сурсы компоуза, идея говорит, что они собраны на джаве 8
Аноним 07/06/24 Птн 12:36:54 3183631 513
>>3182175
>Нуу, ты похоже свойства транизитвности имеешь ввиду.
Чел! Это не тест Роршаха, тут не надо говорить какие ассоциации у тебя вызывает этот текст, его надо просто прочитать.

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

Это всё про то, что если увидел A, то выполняется B. Даже в твоём примере let W(r) be the write observed by r , т.е. это предположение что r увидел некоторые данные дальше из этого следует что-то.
Аноним 07/06/24 Птн 18:38:30 3183938 514
>>3183631
>Это не тест Роршаха
((
Я привык уже так общаться. Не обращай внимание, просто считай как маркер, чтобы ты мог скорректировать, если я что-то неправильно понел..
>это не про то, что изменения будут сразу, немедленно, в течение N наносекунд
Ну согласен, так и есть. Наверное точнее надо было как-то вот так:
>read of a volatile variable always returns the most recent write in synchronization-order by any thread
Но кмк сознательно не было упоминаний про эти so/hb, чтобы неофиту мозг не сломать. В общем ладное, разобрались...
Аноним 20/06/24 Чтв 23:28:59 3198631 515
>>3183938
Ну съеби нахуй с треда, олигофрен, отлежись в дурке там месяц-два чтобы твои психические заболевания вылечили. Никто тебе не собирается помогать когда ты общаешься как будто у тебя осколок в мозгу.
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов