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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 476 62 106
Java Thread №267 /java/ Аноним 25/04/24 Чтв 17:29:12 3135222 1
OIG1 (2).jfif 224Кб, 1024x1024
1024x1024
🌈🎉 Взрывайтесь от радости с обновлением до Java 22 - это просто бомба!

🆕 Веселые фичи:
— Теперь у вас есть свобода до super(); и this();. 💻
— Стрим газонюхи: добавьте свои прикольные операции, типа batch(). 🌟
— Запускайте Java как питона в один мах, даже если у вас целый зоопарк файлов. 🐍

🚀 Новые фантастические обновления:
— Переключайтесь на короткие входные точки (void main() {}), и забудьте про неназванные классы - они на автомате становятся именными! 📄
— Кастрированный ASM теперь на службе, ускоряя сборщик мусора и отпуская Java от его оков! 🛠️
— А форейн функшен выходит из превью, и мы уже на пороге Вальхаллы! 🌋

🎈 Веселые изменения:
— Обновлены шаблоны строк, переменные в лямбдах через _, структурированная многопоточность/скопед значения и вектор апи - все прикольные штучки остаются с нами в превью/инкубаторе. 🔃🔄🔍

Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki
Предыдущий: >>3115562 (OP)
Аноним 25/04/24 Чтв 23:38:07 3135719 2
Ты на гпт 2 что ли перешёл? Совсем же факты искажает в сраку.
>кастрированный асм ускоряет сборщик мусора
26/04/24 Птн 11:24:48 3135860 3
ОП - хуй
Аноним 26/04/24 Птн 12:02:26 3135892 4
Аноним 26/04/24 Птн 13:53:17 3135969 5
>>3135222 (OP)
Какие есть модные книги с современными подходами к разработке?
Аноним 26/04/24 Птн 16:02:56 3136087 6
>>3135969

В мире Java-разработки всегда появляются новые и интересные книги, которые отражают современные подходы и тенденции. Вот несколько модных книг, которые стоит рассмотреть:

1. "Effective Java" by Joshua Bloch - Эта книга является классикой в мире Java и предлагает множество советов и лучших практик по использованию Java в реальных проектах.
2. "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin - Эта книга не привязана к какому-то конкретному языку, но содержит множество ценных советов по написанию чистого и поддерживаемого кода, что является ключевым аспектом разработки на Java.
3. "Java Concurrency in Practice" by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea - Это одна из лучших книг по многопоточному программированию на Java, которая поможет вам понять и применить современные подходы к параллельному выполнению кода.
4. "Modern Java in Action" by Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft - Эта книга предлагает обзор современных возможностей Java, включая функциональное программирование с использованием потоков, а также нововведения, введенные в последних версиях языка.
5. "Java Performance: The Definitive Guide" by Scott Oaks - Если вам интересно узнать о современных методах оптимизации производительности в Java-приложениях, то эта книга предоставит вам все необходимые сведения.

Эти книги помогут вам оставаться в курсе современных подходов и методик в мире Java-разработки.
Аноним 26/04/24 Птн 16:21:55 3136115 7
>>3135969
Не слушай нейронку. Читай шилдта.
Аноним 26/04/24 Птн 21:25:43 3136501 8
>>3135222 (OP)
> Обновлены шаблоны строк
Кто-нибудь ему скажет?
Аноним 27/04/24 Суб 08:31:25 3136757 9
2024-04-2710-30[...].png 317Кб, 516x932
516x932
Всё знали про такой лайфхак? Я лично впервые услышал!
27/04/24 Суб 08:39:54 3136759 10
>>3136757
Ничего себе, нужно срочно перейти по ссылке и записаться на этот курс, оставив свой e-mail и номер телефона!
Аноним 27/04/24 Суб 08:55:47 3136772 11
Аноним 27/04/24 Суб 10:38:24 3136844 12
>>3136115
> Читай шилдта.
За такие советы надо бить ебальник. Дядя конченный пидорас - учит плохому:
1. Доступ?! А хуй на него везде дефолтный.
2. ООП не нужно.
3. Ряд методов-примеров из книги надо разбивать на два-три.
4. Нейминг - не неслышал.
И тому подобное говно. Короче дядя застрял в 90х на С с классами. 100% не современное и даже не уровня кода начала разработки java.
Аноним 27/04/24 Суб 10:39:14 3136845 13
Аноним 27/04/24 Суб 10:41:48 3136852 14
>>3136087
1. Толковое прямо 10/10. Афтырь разработчик java.
2. Толковое.
3. по прежнему актуально, но нудно.
4. не читал.
5. Оптимизация нахуй не нужна, так сказал Блох. Живите с этим.
Аноним 27/04/24 Суб 10:45:10 3136855 15
>>3136844
> 1. Доступ?! А хуй на него везде дефолтный.
Какой нахуй доступ в книге объясняющей основу джавы? Ты ебобо? Доступ только в разделе про доступ, очевидно.

> 2. ООП не нужно.
Ещё раз, это не книга про ООП, это книга про управление джавы. Как ей рулить.

> 3. Ряд методов-примеров из книги надо разбивать на два-три.
> 4. Нейминг - не неслышал.
Вкусовщина, воняющая агрессивным анальником, что вместо работы доёбывается до коллег и свои бест практисисы навязывает, которые при более детальном рассмотрении часто (почти всегда) оказываются антипаттерном.
Аноним 27/04/24 Суб 10:56:50 3136860 16
>>3136852
>1. Толковое прямо 10/10. Афтырь разработчик java.
Разработчик Java - James Gosling, а тот чел просто библиотеки писал
Аноним 27/04/24 Суб 10:59:24 3136861 17
>>3136860
Он имел в виду что автор писал на джаве.
Аноним 27/04/24 Суб 11:04:28 3136863 18
Аноним 27/04/24 Суб 11:05:13 3136865 19
Аноним 27/04/24 Суб 11:07:23 3136866 20
>>3136087
>1. "Effective Java" by Joshua Bloch - Эта книга является классикой в мире Java и предлагает множество советов и лучших практик по использованию Java в реальных проектах.
Устарела, морально и физически

>2. "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin - Эта книга не привязана к какому-то конкретному языку, но содержит множество ценных советов по написанию чистого и поддерживаемого кода, что является ключевым аспектом разработки на Java.
Список размытых мантр "за все хорошее", которые урежут производительность кода в лучшем случае в 2 раза

>5. "Java Performance: The Definitive Guide" by Scott Oaks - Если вам интересно узнать о современных методах оптимизации производительности в Java-приложениях, то эта книга предоставит вам все необходимые сведения.
Опять мантры и лознуги, сразу понятно что вводят в заблуждение, особенно начинающих

Все эти книги нужно читать с приличной долей скептицизма, а факты проверять, т.к. самой новой из них 6 лет уже
Аноним 27/04/24 Суб 11:12:10 3136871 21
>>3136866
А какие книги можно читать без скептицизма?
Аноним 27/04/24 Суб 11:12:50 3136873 22
Аноним 27/04/24 Суб 11:19:27 3136880 23
Аноним 27/04/24 Суб 11:23:52 3136886 24
>>3136880
ЧедГПТ и создан, чтобы с ним пиздеть, дундук
Аноним 27/04/24 Суб 11:56:22 3136919 25
>>3136855
> Какой нахуй доступ в книге объясняющей основу джавы? Ты ебобо? Доступ только в разделе про доступ, очевидно.
> Ещё раз, это не книга про ООП, это книга про управление джавы. Как ей рулить.
> Нейминг - антипаттерн

Слыш, пошёл нахуй вместе с этим пидором. Вы оба нихуя не шарите.
Аноним 27/04/24 Суб 12:00:26 3136924 26
>>3136865
>>3136860
> просто библиотеки
Ага типа java.util.concurrent
Аноним 27/04/24 Суб 12:31:20 3136971 27
Complete Java P[...].jpg 1478Кб, 1920x1080
1920x1080
>>3136757
Жалкая пародия!

Неповторимый оригинал https://youtu.be/4HJUX_BQgGI?si=mMwYhkzBzBagKnt0

А ведь раньше шапку украшали баннеры Дургасофт, а теперь убоная AI дристня. Когда мы свернули не туда?
Аноним 27/04/24 Суб 12:32:20 3136976 28
>>3136886
Ток он вам отвечать на дваче не будет.
Аноним 27/04/24 Суб 12:50:20 3137013 29
>>3136924
И что? Это какая-то божественная библиотека, которую никто больше не может написать?
Аноним 27/04/24 Суб 14:05:37 3137074 30
>>3136924
Он не один ее писал.
>>3137013
Причем тут это? Корневая библетека, часть джавы, без которой ее сложно представить. Это уникальный опыт, который стоит того, чтобы его книги читали.
Аноним 28/04/24 Вск 13:04:05 3137749 31
Писать приложение Java Spring Boot в Visual Studio Code - это очень странная идея или многие так делают?
Аноним 28/04/24 Вск 13:11:14 3137762 32
28/04/24 Вск 13:13:10 3137768 33
>>3137749
Кому не поебать в каком редакторе писать?
Аноним 28/04/24 Вск 13:15:17 3137774 34
>>3137768
Я имею ввиду, может это извращение какое-то - VS Code использовать вместе Интелидж Айдии.
Не поймут пацаны на работе.
Аноним 28/04/24 Вск 13:20:33 3137778 35
>>3137749
Лишь бы было удобно.
Круче всего писать в vim, но мне не удалось его нормально настроить для жабы (чтобы на 100% работало автодополнение). Он больше заточен под правку конфигов или небольших скриптов.
Emacs вроде позиционируется как IDE, но я его вообще не понимаю, слишком все сложно и неинтуитивно. Там автокомплит вроде ставится 1 плагином.
IDEA и Eclipse слишком прожорливы, NetBeans не подходит для чего-то сложнее HelloWorld'ов.
Аноним 28/04/24 Вск 13:20:55 3137779 36
>>3137749
Для VSCode есть бесплатный плагин от спринга, для идеи нет. Думай.
28/04/24 Вск 13:26:02 3137786 37
28/04/24 Вск 13:26:46 3137788 38
>>3137778
>Круче всего писать в vim
У какого ай-ти блогера об этом услышал?
Аноним 28/04/24 Вск 13:32:08 3137796 39
>>3136844
Шилдт писал на Си и крестах, и по этим языкам у него отличные книги. Шарп и жабу он знает хуже. Я бы начинающим советовал Брюса Эккеля "Философия Java" - такая же классика, как K&R и Страуструп. И затем учить фреймворки - Spring, Hibernate и др.
Аноним 28/04/24 Вск 13:33:08 3137797 40
>>3137788
Долбоеб хуеголовый, не у всех есть современные компы. Попробуй запустить идею на 8 гигах.
Аноним 28/04/24 Вск 13:39:33 3137802 41
>>3137749
Это действительно странная идея, ведь у ителлиджи очень много интеграция со спрингом. Но если не хочешь - не используй.
Аноним 28/04/24 Вск 13:41:42 3137806 42
>>3137778
>IDEA и Eclipse слишком прожорливы
КАК это вообще? У меня компу 10+ лет, на нём идея отлично идёт. Что у тебя там за комп?
Аноним 28/04/24 Вск 13:42:42 3137808 43
>>3137797
Я пробовал и отлично работал на 8 гигах, откуда вы эту шизу тащите?
Аноним 28/04/24 Вск 14:24:51 3137872 44
Zipper-1024x927.png 1008Кб, 1024x927
1024x927
Я маленькая мушка,
Жу-жу-жу-жу-жу-жу,
Я Windows обожаю,
На шарпе я пишу.

Мне солнышко будильник,
Встаю я по утру,
Как только перерывчик,
Я в жаботреде сру.

Жу-жу-жу-жу-жу-жу-жу,
Жу-жу-жу-жу-жу.
Жу-жу-жу-жу-жу-жу-жу,
Жу-жу-жу-жу-жу.
Аноним 28/04/24 Вск 14:28:09 3137881 45
>>3137808
С запущенным Docker? У меня на ноуте тормозило.
Аноним 28/04/24 Вск 14:28:12 3137882 46
>>3137872
>Жу-жу-жу-жу-жу-жу-жу,
>Жу-жу-жу-жу-жу.
Сру-сру-сру-сру-сру.
Переделывай
Аноним 28/04/24 Вск 14:29:55 3137887 47
>>3137881
Ты причем здесь Докер? мы об идее говорим
Аноним 28/04/24 Вск 14:49:32 3137914 48
28438336.jpg 57Кб, 640x480
640x480
>>3137882
Паук я жирный, старый,
На брюхе крест ношу,
Пью пиво вместо смузи,
Подвал глухой люблю.

Я байтики считаю,
По-старчески брюзжу,
Жаб с мухами гоняю,
Шаблонами плету.

Кхе-кхе, кхе, кхе-кхе, кхе,
Кхе-кхе, кxе, кxе-кхe, кхe.
Кхе-кxе, кхе, кxе-кхе, кхе,
Кхе-кxе, кхе, кхе-кxе, кxе.
Аноним 28/04/24 Вск 16:29:45 3138030 49
>>3137802
> ведь у ителлиджи очень много интеграция со спрингом.
В платной версии. А VS code бесплатен и предоставляет практически тоже самое.
Аноним 28/04/24 Вск 16:37:05 3138040 50
>>3137796
> советовал Брюса Эккеля "Философия Java"
Помоему она района java 1.6 т.е. даже не 1.8.
Читать надо Хорстмана обе книги. Полное представление о Java SE нормальным языком, рабочими примерами и сравнительно актуальная версия java.
> крестах
В целом при наличии официальной, на русском, доки читать дядей по крестам даже вредно.
Аноним 28/04/24 Вск 17:32:07 3138098 51
Есть кто попробовал в свои спринговые микросервисы прикручивать ai на том же spring-ai, который близок уже к релизу? Интегрили что-то из набора доступного в РФ, например яндексовое или свою standalone-сеть, а не openai?
Аноним 28/04/24 Вск 18:37:22 3138138 52
>>3138030
Насколько я вижу из фич там:
- Сгенерировать инишалайзером проект
- Перейти по замапленному в контроллере пути
- Перейти по типу к его дефинишену
Так?
Аноним 29/04/24 Пнд 00:06:50 3138358 53
>>3137797
Ну и кто виноват что ты безработный бездельник?
Аноним 29/04/24 Пнд 02:05:40 3138384 54
>>3137778
> Круче всего писать в vim
Потому что так школьники на сосаче сказали, лол?
Аноним 29/04/24 Пнд 03:16:14 3138387 55
>>3138358
Ну и кто виноват, что ты потреблядь и гей-шлюха с раздроченным маркетологами Apple анусом?
Аноним 29/04/24 Пнд 03:18:00 3138388 56
>>3138384
Двач 18+, уебывый отсюда, малолетний долбоеб.
Аноним 29/04/24 Пнд 04:21:57 3138396 57
>>3138388
Ебать школотрон бабахнул и тут же побежал перефорсить.
Аноним 29/04/24 Пнд 11:42:05 3138564 58
image.png 126Кб, 1366x768
1366x768
Двощ, почему не работает
Аноним 29/04/24 Пнд 11:45:49 3138567 59
>>3138564
1. На заре джавы было сделано несколько ошибок, и одна из них это то, что print не печатает строку, а добавляет в буфер вывода текст, который не будет выведен пока не будет получен сигнал завершить печать строки. Чтобы всё выводилось сразу используй println вместо print.
2. Ты не в терминал смотришь, долбоёб.
Аноним 29/04/24 Пнд 11:52:11 3138571 60
image.png 121Кб, 1366x768
1366x768
>>3138567
>2
Так терминал не открывается сам что ли? Раньше вроде сам открывался. Но всё равно, вручную открыл, и ничего

А вообще, я вот про это - кнопка тупо не активна. То есть, я даже просто запустить не могу
Аноним 29/04/24 Пнд 11:58:32 3138575 61
>>3138571
Ты в папку src закинь свой java файл, клоун питоновский
Аноним 29/04/24 Пнд 11:59:46 3138576 62
>>3138575
И надо смотреть в run, а не терминал (у теюя он скрыт пока, как только запустишь файл - будет рядом с build кнопка)
Аноним 29/04/24 Пнд 12:06:01 3138582 63
>>3138575
Я нихуя не делал, открыл как было. В общем, удалил тот файл, создал новый, и всё заработало
Аноним 29/04/24 Пнд 13:47:28 3138699 64
>>3138571
> То есть, я даже просто запустить не могу
Идея тупорылая, ей надо создать проект и там написать твой хелоуворд. А иначе она не отдупляет, что делать вон пишет no usages.
Аноним 29/04/24 Пнд 13:49:44 3138700 65
Щас бы время на ебаное говно потрать вместо java. Которое завтра или m$ схавает или google.
Аноним 29/04/24 Пнд 15:14:53 3138775 66
1697461921515.jpg 235Кб, 750x548
750x548
Аноним 29/04/24 Пнд 16:07:45 3138826 67
Вот выйдет валхалла, машинлёрнинг на джаве перепишем! И игры тоже на джаве будем писать. Нужно только потерпеть
Аноним 29/04/24 Пнд 16:23:52 3138839 68
image.png 12Кб, 480x106
480x106
У мя так. И зп 100к. Заебало. Надоело
Аноним 29/04/24 Пнд 16:32:17 3138841 69
>>3138839
Как получилось не пройти 2 сотыги за 2 года? Или живешь в провинции?
Аноним 29/04/24 Пнд 16:37:44 3138844 70
>>3138841
Ну смотри. Разложу эти 2 года. 5 месяцев была стажировка, потом год был бэнч. И вот 7 месяцев я батрачу на проекте.
Аноним 29/04/24 Пнд 16:38:49 3138846 71
>>3138841
И да, это Москва, фулл удаленка
Аноним 29/04/24 Пнд 16:55:35 3138857 72
>>3138582
Исходники должны быть в папках исходников, которые синей иконкой помечены. Или тебе нужно былоотмечать папку с мейном исходником, или переносить мейн в src
Аноним 29/04/24 Пнд 16:56:53 3138859 73
>>3138826
Так уже есть МЛ на джаве, что такое?
Сами МЛщики на реддите говорят что только прототипируют на питоне, а продакшн на джаве
Аноним 29/04/24 Пнд 16:58:00 3138861 74
>>3138846
А ты больше просил?
А другую работу искал?
Аноним 29/04/24 Пнд 17:00:06 3138863 75
>>3138846
Даже Астон на выходе с 1,5 лет рабства будет явно больше 120, пора бы тебе крутануть +год и идти на рынок.
Аноним 29/04/24 Пнд 17:05:45 3138873 76
>>3138861
>А ты больше просил?
Тимлид сам инициировал разговор про зп, мол, надо бы тебе повысить до 150к. Это было в феврале этого года. У нас на галере начальство ввело какой-то ебанный временный фриз на повышение всвязи с перестройкой компании и мне недавно выдали, что повышение будет не раньше июля.
Аноним 29/04/24 Пнд 17:07:58 3138876 77
>>3138863
Ну у меня по бумажкам выходит 2 года опыта. Я полгода стажировался, а еще год просто получал зп ниче не делал. Вот сейчас завершаем проект, на нем я 7 месяцев, это считай мой первый проект реальный.
> пора бы тебе крутануть +год
А че, 2 года опыта ща не котируются? Без накрутов не получится?
Аноним 29/04/24 Пнд 17:10:01 3138877 78
>>3138876
2 года реального вполне норм, но сейчас нулевый волк крутит 3+, так что для рынка надо бы соответствовать и тоже крутить.
Аноним 29/04/24 Пнд 17:11:06 3138879 79
>>3138826
Валхалла делают уже 10? лет. За это время сишарп стал кроссплатформенным и сожрал кусок рынка, го стал мейнстримом в бэкенде, у джаваскриптеров появилось еще два рантайма для сервера. Просто пиздец бездарности из оракла.
Аноним 30/04/24 Втр 01:05:28 3139295 80
1714428326431.jpg 118Кб, 1080x417
1080x417
1714428326436.jpg 585Кб, 1080x2014
1080x2014
>>3136866
Чем тебе советы дядюшки Мартина не нравятся?
Аноним 30/04/24 Втр 08:23:48 3139380 81
1. Есть ли для Java ассемблер, чтобы писать методы окодами JVM?
2. Можно ли во время выполнения генерить код, т.е. скомпилить .class-файлы и потом создавать объекты из них?
3. Совместима ли JVM с моделью памяти языка Форт? Там и там стековая машина, но у Форта раздельные стеки для данных (аргументы функций и локальные переменные) и адресов возврата.

Хочу написать для JVM свой язык с изменяемым синтаксисом. Смотрел Clojure, не понравилось, слишком усложнено.
Аноним 30/04/24 Втр 08:29:21 3139383 82
>>3139380
> 1. Есть ли для Java ассемблер, чтобы писать методы окодами JVM?
Шизофренище, иди таблетки пей, живо.
> 2. Можно ли во время выполнения генерить код, т.е. скомпилить .class-файлы и потом создавать объекты из них?
ASM.
> 3. Совместима ли JVM с моделью памяти языка Форт? Там и там стековая машина, но у Форта раздельные стеки для данных (аргументы функций и локальные переменные) и адресов возврата.
Никого не интересуют шизофренические поделия 70-х в этом треде.
Аноним 30/04/24 Втр 09:30:01 3139433 83
image.png 222Кб, 500x500
500x500
>>3139383
Макака, перекладывающая JSON'ы, спок. Ты и порядок загрузки classloader'ов наверно не знаешь.
Аноним 30/04/24 Втр 09:44:52 3139448 84
Учу React, учу Spring.
30+ lvl, хочу удаленку.
Какова вероятность ее найти?
Или только ножками на работу ходить?
Аноним 30/04/24 Втр 10:00:20 3139456 85
>>3139448
Нулевая. Вката сейчас нет. Единственный вариант войти в профессию: профильный универ, стажировка, диплом, работа.
Аноним 30/04/24 Втр 10:17:45 3139473 86
>>3139448
Для начала стоит поменять запрос на хочу работать за еду год, а то и два, под надзором жесткого кабанчика, вероятней всего, в офисе.
После этого войти в топ 5% вкатунов и массово спамить все вакансии в хх, телеге и тд. Сразу понять, что рейт 1/300 приглашение/отказ это неплохой результат и да, это только приглашение на собес, после чего еще и шансы пройти его мизерные, так что днем и ночью смотреть записи собесов и повторять очередное пособие 1000 вопросов по стеку и подготовить и прорепетировать перед зеркалом, почему в предпенсионном возрасте ты неудачник и решил, что тебя тут ждет что-то лучше и чтобы это звучало хотя бы издали правдоподобно.
Возраст сразу скидывает все приличные стажировки, хотя можешь подрочить литкод и через контест пройти в какую-нибудь более менее сносную контору, которая иногда пропускает скуфов, чтобы показать, что они не такие, но уровень необходимых усилий по отношений к достигнутому результату и применимости в дальнейшей деятельности будет жалок.
Аноним 30/04/24 Втр 10:27:58 3139482 87
>>3139433
Фортодебил, не гори.
Аноним 30/04/24 Втр 10:34:49 3139491 88
>>3139448
Тут надо понимать, что пишут тебе такие же вкатуны которые не хотят видеть ещё одного конкурента.
Аноним 30/04/24 Втр 10:36:31 3139494 89
>>3139491
>вррёёёёёте! вы всё врёёёте! рыночек порешал! на одного вкатуна 20 вакансий!
Может кроме обвинений в злой лахте что-то по делу покажешь, например, статистику, опровергающую хоть что-то из сказанного анонами выше?
Аноним 30/04/24 Втр 10:36:40 3139495 90
dolboyob.mp4 275Кб, 480x288, 00:00:06
480x288
Аноним 30/04/24 Втр 10:54:07 3139505 91
БИЛДИШЬ ПРОЕКТ ДЕГЕНЕРАДЛОМ
@
РРРРЯ БИЛД ФАЙЛЕД! ПРОЕКТ СОЗДАН НА 7.6 А ТЫ ЗАПУСКАЕШЬ 8.7!
@
ОК, ЗАПУЩУ ВРАППЕР
@
РРРРРЯ БИЛД ФАЙЛЕД! СЛИШКОМ НОВАЯ ДЖАВА В СИСТЕМЕ! ЭТО СТАРЬЁ НЕ ПОДДЕРЖИВАЕТ ДЖАВУ ВЫШЕ 19!
@
SSSSSUUUUUUU


ТЕПЕРЬ ЭТО В ПРОШЛОМ! Я написал бат-шорткаты для шинды для запуска дегенерадла с выбором нужной версии джавы и динамическим определением того, откуда эти шорткаты вызываются. Добавил папку с ними в path и теперь ввожу gradlew17 для старья и gradlew21 для современного и радуюсь зелёному билд сакцесс. В чём я не прав?

@echo off
setlocal
set JVM_PATH=путь к джаве
set PROJECT_PATH=%CD%
cd /d %PROJECT_PATH%
%PROJECT_PATH%\gradlew.bat build -Dorg.gradle.java.home=%JVM_PATH% %*
Аноним 30/04/24 Втр 11:04:33 3139509 92
>>3139448
А ты пробовал хотя бы на хх зайти и поискать?
Аноним 30/04/24 Втр 11:07:37 3139510 93
>>3139380
Джаву сделали, чтобы такой хуйней не заниматься. И тем не менее это возможно - Classloader#defineclass + javaassist
Аноним 30/04/24 Втр 11:17:00 3139515 94
А можно зарабатывать на собственных веб-приложениях?
Аноним 30/04/24 Втр 11:31:21 3139529 95
>>3139515
Да, если ты сможешь его раскрутить и продать, но если бы ты это умел, то точно не был бы анальником.
Аноним 30/04/24 Втр 11:46:04 3139537 96
>>3139505
>В чём я не прав?
Страдаешь хуйней с дегенерадлом.
Аноним 30/04/24 Втр 11:48:05 3139539 97
>>3139537
Увы, не от меня зависит. Была бы моя воля я бы конечно пользовался мавеном.
Аноним 30/04/24 Втр 18:04:26 3139993 98
Программирование это всегда про математику?решаю сейчас задачи на циклы и блять это пиздец просто, мне эта хуйня абсолютно не интересна
Аноним 30/04/24 Втр 18:57:45 3140042 99
>>3139993
Когда пойдешь до алгоритмов и литкода вроде в окно выйдешь
Аноним 30/04/24 Втр 19:18:18 3140055 100
Аноним 30/04/24 Втр 19:32:22 3140065 101
>>3139380
> Есть ли для Java ассемблер, чтобы писать методы окодами JVM?

Есть. Так и называется - objectweb asm. Но пользоваться оным довольно заебисто, поэтому на практике чаще всего пользуют щадящие альтернативы. Самая хайповая - byte-buddy. Еще есть cglib, javassist, bcel.

>Можно ли во время выполнения генерить код, т.е. скомпилить .class-файлы и потом создавать объекты из них?

С кастомными класслодерами возможны все твои фантазии, пупсик.

>Совместима ли JVM с моделью памяти языка Форт?

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

>Хочу написать для JVM свой язык с изменяемым синтаксисом

Ну на базе байткода кастомных языков - вагон и малая тележка: скала, котлин, кложура, цейлон, так что в теории все возможно. Еще - на хайпе щас graal truffel, хотя оно про другое.
Аноним 30/04/24 Втр 19:59:33 3140092 102
>>3140042
Че с этим можно делать?или нихуя ниче не сделать придется зубрить?
Аноним 30/04/24 Втр 20:24:58 3140121 103
>>3139494
> например, статистику
Да вы тоже не предоставили никаких фактов. В /b/ ноют, что бабы не дают, тут ноют, что вката нет.
> опровергающую хоть что-то
Чувак, я помню лет пять назад у нас по снабжению, в которое я тогда перекатывался с продаж была 1 вакансия в неделю, а то и месяц. И в принципе я за средний прайс тогда нашёл работу в течении года. Последнюю на которой работаю искал в течении двух лет - подфатило попал в короновирус.
> а одного вкатуна 20 вакансий!
Вот только щас вижу пост на соседнем форуме, о том, что чувачок съёбывает в англию по it-шной визе с яндекса. Хотя казалось бы куда жирнее для этой страны. Погодите 1.11.2024 ещё не наступило.
> кроме обвинений в злой лахте
Чувак, мне похуй кто ты что ты, я вообще не тебе писал.
Аноним 30/04/24 Втр 20:27:37 3140126 104
>>3139993
А что интересно?
На практике программирование это всегда про манипуляцию данными
Аноним 30/04/24 Втр 20:32:24 3140128 105
>>3140121
>Погодите 1.11.2024 ещё не наступило.
А что будет?
Аноним 30/04/24 Втр 20:37:02 3140134 106
>>3139380
>3. Совместима ли JVM с моделью памяти языка Форт? Там и там стековая машина, но у Форта раздельные стеки для данных (аргументы функций и локальные переменные) и адресов возврата.
Загугли JMM, т.к. ты наверное один тут сможешь понять подходит это под Форт или нет
Аноним 30/04/24 Втр 21:02:08 3140157 107
>>3140126
Есть какие нибуд задачники по циклам но где сложность пропорционально возрастает из известных тебе?
Аноним 30/04/24 Втр 21:28:58 3140187 108
17134402110770.jpg 190Кб, 604x604
604x604
Это что получается, если я хочу с JAVA клиента читать мейлы по протоколу IMAP, я должен либо ТУПО каждые n-секунд запускать fetch(), либо использовать специфицескую хуйню типа пушей от гугла?
Аноним 30/04/24 Втр 21:56:33 3140209 109
Аноним 30/04/24 Втр 22:46:29 3140237 110
>>3140157
Я не представляю что такое задачники по циклам? Чего там изучать, while и for? Зачем для этого задачник?
Аноним 30/04/24 Втр 22:47:59 3140238 111
>>3140187
Наверное, а как это связано с Java? В других языках по-другому будет?
Аноним 01/05/24 Срд 04:45:59 3140340 112
>>3140121
> Да вы тоже не предоставили никаких фактов. Скринов с количеством вакансий и вкатунов с хх.сру не бы ла! Индекс вката не подсчитывается! Статистики лейоффов НЕ ТУ! ВЫ ВСЁ ВРРРРЁЁТТИИИИИ!!!!!
Ясн, можешь не продолжать.
Аноним 01/05/24 Срд 09:13:38 3140431 113
>>3140121
>чувачок съёбывает в англию по it-шной визе с яндекса
Сурс?

Насколько я слышал, Яндекс теперь только в РФ нанимает (и при большом везении в Сербию)
Аноним 01/05/24 Срд 09:20:48 3140441 114
Аноним 01/05/24 Срд 09:30:38 3140444 115
Так Хорстманн или Шилдт? Или похуй?
Аноним 01/05/24 Срд 09:34:32 3140448 116
>>3140444
Если ты прошедшую неделю ничего ни читал, ничем не занимался, то вообще похуй. Потом будешь рассказывать, что вката нет. Ты пытался год-полтора смотря маняме и играя в доту2.
Аноним 01/05/24 Срд 09:41:36 3140456 117
image.png 62Кб, 731x512
731x512
>>3140441
Да, визу таланта в UK получить пиздато.

Но и сам чувак не хуй с горы, а разраб или даже тимлид в довольно топовом отделе Яндекса - YDB и Logbroker.
Аноним 01/05/24 Срд 11:18:33 3140609 118
сап, джаваны. Какую ОРМ используете?
Аноним 01/05/24 Срд 14:21:40 3140864 119
>>3140609
Ты еще спроси какой фреймворк.
Аноним 01/05/24 Срд 14:27:40 3140872 120
>>3140444
Хорстманн. Спасибо скажешь
Аноним 01/05/24 Срд 14:33:59 3140882 121
Аноним 01/05/24 Срд 15:54:45 3141000 122
Аноним 01/05/24 Срд 15:56:59 3141003 123
>>3140092
Не делай. Забей хуй. На работе код это не два цикла фор и 3 ифа, открою тебе тайну
Аноним 01/05/24 Срд 16:15:44 3141021 124
>>3139993
а можешь привести пример сложной задачи на циклы?
Аноним 01/05/24 Срд 20:41:19 3141516 125
image.png 294Кб, 1080x691
1080x691
>>3141021
Держи. Помню в школке такое решал..
Аноним 01/05/24 Срд 20:57:18 3141541 126
Блядь, как же я срал в рот всем кто хоть какое-то отношение имеет к созданию веб серверов пердолимых конфигами. Какое же это убогое говно не для людей. Что из джавового есть для того чтобы на /kal был кал, а на /mocha была моча? Хочу джавовым кодом всё настраивать, доебали блядские конфиги. И чтоб поддерживаемое было, а не залупа на 2 звезды.
Аноним 01/05/24 Срд 21:01:58 3141543 127
>>3141516
И сейчас такое решаешь?
Аноним 01/05/24 Срд 21:09:46 3141548 128
>>3141541
Всё? Все embedded сервера - tomcat, jetty, ktor, простейший com.sun.net.httpserver.HttpServer - все они так настраиваются
Аноним 01/05/24 Срд 21:26:08 3141562 129
>>3141543
Я наверное несколько лет уже как к олимпиадкам не притрагивался.
На самом деле очень приятное чувство, когда ты на протяжении часов 5 решаешь задачки с тестирующей системой, принимая ad hoc решения, подбирая константные формулы и пр. пр. и когда получаешь OK на задачке... Прям ух. Непередаваемые ощущения.

Конкретно к этой задаче у меня не сохранилось решения, поскольку сайт их не сохранил... Нашел промежуточное https://pastebin.com/DJR6ZMgS
Глядя на него примерно понимаешь, что хороших привычек олимпиадное программирование не прививает, так еще и практическкими задачами оно не пресекается..

В общем хз, мб и решу.. Это ж не дп, которое я до сих пор не понемаю.
Аноним 01/05/24 Срд 21:29:32 3141567 130
>>3141562
> дп, которое я до сих пор не понемаю
Громкое название для примитивнейшего трюка. ДП это по сути внутреннее кеширование.
Аноним 01/05/24 Срд 21:44:58 3141581 131
Аноним 01/05/24 Срд 22:02:00 3141599 132
>>3141567
Я скорее про шизофренические алгоритмы по типу префиксных сумм. По сути дп, это про подбор рекурентной формулы, что для меня как-то пиздец сложно. Возможно там просто надо заучить 100500 алгосов, но мне впадлу.
>>3141581
Задача про проход числа циклом. А в наивном решении двойной проход. Че тебе не нравится?
Аноним 02/05/24 Чтв 12:44:54 3142110 133
2024-05-0214-44[...].png 34Кб, 1238x335
1238x335
>>3141599
> префиксных сумм
Если гопота мне правильно объяснила, то что здесь шизофренического? Вполне понятно всё.
Аноним 02/05/24 Чтв 13:48:59 3142202 134
>>3142110
Ну, сама концепция простая.
А вот увидеть это в задаче и правильно применить - очень сложно.
Аноним 02/05/24 Чтв 22:00:36 3142792 135
tenor.png 191Кб, 300x356
300x356
>>3139993
>Программирование это всегда про математику?
НЕТ БЛЯТЬ! Программирование это про сайты! Или про программы/мобильные приложения. Какая хуй разница, на каком языке ты пишешь, хоть на питоне, хоть на хаскелле, хоть на java, это общего смысла не меняет. В конечном итоге, всё равно получится ёбанный сука САЙТ! Или чё там ещё может выйти нахуй? Машина времени? Звезда смерти? Или блять спутник? Не надо программировать ради самого программирования.

Чем абстрактнее хуйня, тем меньше образовательный КПД и меньше пользы для тебя, как для программиста. Ты можешь хоть усраться и формулами исписать, их всё равно никто не увидит и твой полёт фантазии не оценит. Обычный пользователь увидит лишь формочки, кнопочки, хуёпочки. Пользователь нажимает хуёпочку, там происходит какое-то волшебство и ему выдаётся результат. Вот программирование об этом.

Но если ты прям так рвёшься к МАТЕМАТИКЕ, то добро сука пожаловать в РОБОТИЗАЦИЮ, ФИНАНСЫ, ИНЖЕНЕРИЮ, БИОИНФОРМАТИКУ. Там столько матана что ты охуеешь. Кто знает, может это ты создашь российский аналог atlas'а из boston dynamics...
Аноним 02/05/24 Чтв 23:08:40 3142846 136
>>3137797
о, помню тебя, ты порвался в мвп еще на новый год, решил сдаться и с борщехлебания перейти на заработок денег?
Аноним 03/05/24 Птн 01:09:26 3142889 137
Спринг бут 4 станет шедевром?
Аноним 03/05/24 Птн 01:12:45 3142891 138
>>3142889
Спринг бут 4 не выйдет. А вот мавен 4 станет.
Аноним 03/05/24 Птн 01:34:25 3142893 139
Виртуальные потоки это тупо очередь задач для платформенного? Рили?
Аноним 03/05/24 Птн 01:35:07 3142894 140
>>3142891
Зачем что-то менять в мавене
Аноним 03/05/24 Птн 09:55:32 3143049 141
>>3139993

Дропай, дальше будет хуже.
Аноним 03/05/24 Птн 09:58:20 3143054 142
>>3142893
Ага. А анон - тупо мешок с мясом, костями, жидкостью и говном. Че сказать то хотел?
Аноним 03/05/24 Птн 12:22:58 3143200 143
>>3142893
Виртуальные потоки это жидкий обсёр. Говорю как жабафан.
1. Синхронайзедов нет. Крест на идее непереписывания кода, а также фактическое серьёзное замедление кода из-за необходимости использовать каловые реентранты вместо быстрых синхронайзедов.
2. Если с платформенным потоком ещё можно как-то выебнуться для того, чтобы получить выпиленный Thread#stop() назад, то с виртуальным хуй.
Аноним 03/05/24 Птн 13:56:06 3143299 144
>>3143200
>получить выпиленный Thread#stop() назад
Ты не думал, о том чтобы пойти на сво?
Аноним 03/05/24 Птн 13:57:40 3143302 145
Аноним 03/05/24 Птн 14:28:18 3143332 146
>>3142792
не я вообще не хочу заниматься математикой,искать ебанутое число фибоначчи и прочую эту хуйню я прост учусь на программиста и хотел изучить джаву чтобы писать всякую хуйню под мобилки
Аноним 03/05/24 Птн 15:24:31 3143362 147
>>3135222 (OP)
я мне могу блять понять, почему у меня в спринг буте при неккоректном никнейме (несуществующем аккаунте) происходит оверлоад и ответ от сервера не возвращается...
никаких экспешенов нет, в консоли h и hh выводится..
https://pastebin.com/BCTFx8qf
Аноним 03/05/24 Птн 15:44:40 3143384 148
>>3143200
Они не для этого чувак,виртуальные потоки имба когда ты закинул рест или запрос в базу и идёшь дальше кошмарить платформенный поток,стоп тоже нахуй не нужен тк ты перданул виртуал потоком,получил результат и он благополучно сдох,долгоживущих тасок там не бывает,наконец-то можно тупо на любое говно вешать @Async и не ебаться с тредпулом,шарпомухи должны быть в восторге
Аноним 03/05/24 Птн 15:51:12 3143394 149
>>3143332
на самом деле, даже типы это математика, типизирование по черчу, все дела. хотя в жабе она не самая красивая, но в вальхалле исправят конечно, да да.
наверняка с этим столкнешься, когда женерики изучать будешь.

ну и конечно не стоит забывать, про асимптотику алгосов, доказывние корректности чернз индукцию и пр. пр.
Аноним 03/05/24 Птн 15:54:32 3143398 150
>>3143362
Код пупуням лучше не показывать, выглядит очень больно. Первое что бросается в глаза это this там где он не нужен,плюс не использовать ResponseEntity(сущность для хттп респонса) в сервисном слое это ужасно,не надо так делать. Что касается твоего вопроса, исключения нет тк ты его не выбрасываешьлогично?. Если ты хочешь получать исключение когда юзера нет то сделай следующее:
1)Твой репо слой возвращает Optional<YourObject>
2)В сервисе ты делаешь repo.findByField()
.orElseThrow(() -> new YourException("Bullshit with given login does not exist"))
Аноним 03/05/24 Птн 15:56:22 3143400 151
>>3143398
Использовать это ужасно*
Аноним 03/05/24 Птн 16:12:04 3143414 152
>>3143394
программистом можно работать без алгоритмов и всей этой хуйни?
Аноним 03/05/24 Птн 16:26:13 3143445 153
>>3143414
В чем по твоему состоит работа программиста?
Аноним 03/05/24 Птн 16:44:39 3143470 154
>>3143445
писать красивые кнопочки на сайтах и писать скрипты для автоматизации рутинных действий пользователя
Аноним 03/05/24 Птн 16:51:10 3143484 155
>>3143414
хуевым программистом - безусловно.
Аноним 03/05/24 Птн 16:57:01 3143490 156
>>3143484
ну мне не надо быть пиздатым программистом который пишет охуенные алгоритмы,я алгоритмы ебал в рот мне надо прост бабла заработать,желательно побыстрее
Аноним 03/05/24 Птн 17:15:20 3143528 157
>>3143470
>писать красивые кнопочки на сайтах
Это не про жабу вообще.
> автоматизации рутинных действий пользователя
Это тоже больше про UI и скрипты какие-нибудь.

В любом случае теория алгоритмов это основа программирования. Думая, что ты убираешь что-то ненужное, ты буквально фундамент уничтожаешь.
Вообще у математики и программирования очень много общего, поскольку второе буквально создано первыми. Например маниакальная абстракция везде и во всем. Изучая спринг ты просто ахуеешь от количества и качества этих абстракций. Почитай: https://www.fredrikholmqvist.com/pages/why-i-hate-frameworks.html
>>3143490
У тебя нет конкурентного преимущества, за которое можно платить. Может ну его, это айти?
Аноним 03/05/24 Птн 17:15:44 3143531 158
>>3143490
Тебе дорога в военкомат
Аноним 03/05/24 Птн 17:17:48 3143536 159
>>3143528
ну блять любая работа в программировании это алгоритмы?а как же фронтенд?
Аноним 03/05/24 Птн 17:18:10 3143537 160
>>3143332
Если циклы и настолько простая математика вызывает настолько сильное отторжение, сдавайся - программирование не твое. Программистом ты возможно еще устроишься, но ни счастья, ни денег, ни самоудовлетворения, ни развития эта работа тебе не принесет. Будешь не работать, а пресмыкаться перед менеджментом и подлизывать хрюшам, чувствуя свою неполноценность перед коллегами моложе тебя, но окончившими мехмат. А когда ты осознаешь, что в 40 лет ты все еще джун с окладом ниже дворника, и в любой момент можешь вылететь из-за кадровой оптимизации, просто уйдешь в лютый кризис, возненавидишь себя, уйдешь в запой и самовыпилишься, если не одумаешься.
Аноним 03/05/24 Птн 17:26:09 3143547 161
>>3143537
А ты наверное очень счастлив и удовлетворен развешиванием анноташек над говносервисами?
Аноним 03/05/24 Птн 17:32:39 3143562 162
>>3143547
При чем тут удовлетворен ли я? Я не горю - в этом ключевая разница. Циклы? Типы данных? Ряды фибоначии? Да вообще похую.
Аноним 03/05/24 Птн 17:33:03 3143563 163
>>3143536
А че фронтенд? У них например задача, чтобы их говно не лагало на всех устройствах этого мира. У тебя же только один сервер. Плюс язык у них посложнее будет, в том плане, что позволяет очень много хуиты.
Аноним 03/05/24 Птн 17:44:15 3143585 164
>>3143536
Современный фронтенд похлеще бэкенда по устройству иной раз. Какие там циклы, они иной раз и по ФП-плюшкам упороться не против.
Аноним 03/05/24 Птн 17:48:02 3143595 165
142727818912278[...].PNG 299Кб, 768x682
768x682
>>3143332
>не я вообще не хочу заниматься математикой,искать ебанутое число фибоначчи
Тебя никто насильно под пистолетом не заставляет. Есть правильное АКАДЕМИЧЕСКОЕ программирование, где всё по книжкам, считают числа фибоначчи и всё такое прочее. И есть неправильное КОММЕРЧЕСКОЕ программирование. Где весь смысл - это получить сука БАБКИ.

То что вы учите, решаете всякие литкоды, это не только не полезно, но и вредно. Одно дело решить на скорость головоломку и через полчаса забыть о ней. И другое когда тебе нужно поддерживать проект с 200 тысяч строк кода. И когда ты добавляешь новый функционал в одном месте, ломается в другом. При этом на тебя ещё заказчик орёт, вот это - реальное программирование, а не то что вы фантазируете.
Аноним 03/05/24 Птн 17:52:03 3143606 166
>>3143595
При чем тут наши фантазии. Чел бугуртит с примитивных концепций, которые у среднестатистического кодера настолько зашиты в кодкорке мозга что он даже не осознает когда пользует их. О чем тут речь может быть вообще? Ну не дано и не дано - нахуя себя мучать?
Аноним 03/05/24 Птн 18:18:07 3143655 167
>>3143302
В моём треде поселился тупой мудак с кринжовыми идеями.
Аноним 03/05/24 Птн 19:32:22 3143754 168
>>3143655
Это, во-первых, наш тред, во-вторых мой намного больше чем твой, в-третьих жду обоснования что тут кринжового.
Аноним 03/05/24 Птн 23:37:13 3144066 169
>>3137797
У меня прекрасно работает и на 6 гигах. А в 2019 даже с 2
Аноним 03/05/24 Птн 23:57:26 3144076 170
Зачем теперь нужен webflux, если есть mvc с виртуальными потокам?
Аноним 04/05/24 Суб 00:03:36 3144079 171
>>3144076
Все правильно, не нужен. И WebClient туда же. И весь project reactor. Все кто изучали эти мертвые технологии - дауны
Аноним 04/05/24 Суб 00:06:28 3144082 172
>>3143200
Ты ебу дал, или что?

>Синхронайзедов нет. Крест на идее непереписывания кода
>как-то выебнуться для того, чтобы получить выпиленный Thread#stop() назад

Да ты сам нихуя идей стоящих за джавой не выкупляешь, если маленькое ситуативное ограничение на синхронайзд для тебя - дилбрекер, а сраный тред-стоп, который руинит пол-JMM одним своим существованием, для тебя фетиш. После этого ты в лучшем случае - непереучившийся сишник, привыкший ловить конкарренси-аномалии ебалом, которому концепция memory model просто стоит костью в горле, в худшем - фрик со взаимоисключающими параграфами, но уж точно не джава-фан.

Нахуя те вообще Thread stop, фрик?
Аноним 04/05/24 Суб 00:11:43 3144084 173
>>3144082
Так тред стоп просто ошибку кидает, че там жмм руинить может..
Или ты чел, который пиздит о 17 главе не открывая ее?)
Аноним 04/05/24 Суб 00:29:39 3144087 174
>>3144084
Пиздец. Ошибку кидает. А то что у этого прибитого треда могли быть захвачены мониторы, и он в момент прибития мог лопатить шаред-стейт - несущественный нюанс, ага?

Ты на вопрос не ответил. Те thread stop нахуя, фрик?
Аноним 04/05/24 Суб 00:33:56 3144089 175
>>3144082
> Да ты сам нихуя идей стоящих за джавой не выкупляешь, если маленькое ситуативное ограничение на синхронайзд для тебя - дилбрекер,
Может по делу скажешь почему это не "дилбрекер" и почему я должен поскакать переписывать квадриллионы строк умеренного легаси с синхронайзедами на реентрантлоки не только тратя на это время, но и понижая перформанс.

> Нахуя те вообще Thread stop, фрик?
Безопасно работать с внешним кодом, чтобы можно было грохнуть поток если выполняется слишком долго.
Аноним 04/05/24 Суб 00:51:21 3144102 176
>>3144087
>А то что у этого прибитого треда могли быть захвачены мониторы, и он в момент прибития мог лопатить шаред-стейт - несущественный нюанс, ага?
Еще раз, как это jmm ломает? Все локи он освободит, у тебя даже дедлока-то не будет.
> Те thread stop нахуя, фрик?
Я вообще не он.
Аноним 04/05/24 Суб 00:52:31 3144104 177
>>3144089
Ой, фрик...

"Безопасно" и "Thread.stop" в одном утверждении - это смешной оксюморон, и мне тебя жаль если ты на этой шутке строил гарантии в проде. Грохнуть поток безопасно - это Thread.interrupt, живи как хошь с этим фактом но именно для этого его и дизайнили в свое время.

А ты по существу сидел на депрекейтнутой залупе, от которой все еще в восьмерке открестились, о чем ты мог бы узнать если бы не был фриком и элементарно чекнул javadoc к методу.
Аноним 04/05/24 Суб 00:56:39 3144111 178
>>3144102
А для тебя шутка чтоли, что у тебя мониторы отлетают посередь критической секции и обьекты остаются хуй пойми в каком промежуточном состоянии? Типа дедлока нет, ошибка есть - значит все штатно? Ну удачи, че.
Аноним 04/05/24 Суб 00:59:56 3144114 179
>>3144111
Да мне блять какая разница? Ты пиздишь, что пол jmm ломается, но при этом не привел ни одного аргумента в эту пользу.
Аноним 04/05/24 Суб 01:03:00 3144119 180
>>3144114
Ты тоже фрик чтоли? Для тебя пучок поломанных обьектов, для которых состояние неопределено и ничего не гарантируется после таких выкрутасов - не дырища в JMM?
Аноним 04/05/24 Суб 01:05:29 3144122 181
image.png 71Кб, 955x400
955x400
>>3144119
Ммм... Что такое по твоему jmm? Ты типа вот понимаешь, что написано в п.1 и 5? Прочитай внимательно..)
Аноним 04/05/24 Суб 01:07:02 3144124 182
>>3144122
А, я понял. Ты не фрик, ты - душнила, который решил доебаться до формулировок. Ладно, молодец, ты меня переспорил.
Аноним 04/05/24 Суб 01:11:41 3144126 183
>>3144124
Нет, в п.5. четко сказано, какое поведение допустимо. А именно, все, волатайл чтение видит любую, еще раз любую запись, которая не упорядочена после, а также уплощает цепочки записей, до последней. О чем нам это говорит? То, что ты описываешь, четко сука описано в спеке, а ты блять ее никогда в жизни не открывал. Но при этом что-то про нее пиздишь. Классика.
Аноним 04/05/24 Суб 01:14:28 3144128 184
>>3144126
Блять, при чем тут волатайл, душный! Я те выше про слетевшие критические секции - с хуя ли ты на волатайл то стрелки переставляешь? У тебя весь шаред стейт в крит-секциях чтоли волатайл или что?

Угомонись, епта
Аноним 04/05/24 Суб 01:19:22 3144130 185
>>3144128
>У тебя весь шаред стейт в крит-секциях чтоли волатайл или что?
Лок/анлок это sa, которое перейдет в hb. Там на него те же правила:
>A set of actions A is happens-before consistent if for all reads r in A, where W(r) is the write action seen by r, it is not the case that either hb(r, W(r)) or that there exists a write w in A such that w.v = r.v and hb(W(r), w) and hb(w, r).
С чуть большим множеством.
>Угомонись, епта
Да я тебе с самого начала сказал, что ты пиздишь о том, о чем не понимаешь. Эти ошибки вообще можно перехватить и хуину забить.
Аноним 04/05/24 Суб 01:21:44 3144131 186
>>3144130
Блять, да о каких правилах на анлок ты вообще даже в теории можешь говорить, если анлок у тебя происходит не там, где было задумано, а хуй-пойми где, где тред прибьется? Че ты там обрабатывать и перехватывать собрался?
Аноним 04/05/24 Суб 01:33:03 3144132 187
>>3144131
>о каких правилах на анлок ты вообще даже в теории можешь говорить
Ну будет rc. Для приложения критично, да, но jmm это не ломает.
> а хуй-пойми где, где тред прибьется?
Можно прям внутри критической секции try/catch поставить. И просто игнорить смерть треда. Thread#stop не убивает треды средставми ос.

Корочи ладно, извени. Хотел пожелчить~ Надеюсь не обидишься
Аноним 04/05/24 Суб 01:41:29 3144136 188
>>3144104
У "безопасно" разные значения могут быть. Здесь оно значит безопасность от вредоносного или говно кода.
Аноним 04/05/24 Суб 01:42:06 3144137 189
>>3144132
>Для приложения критично, да, но jmm это не ломает.

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

>Можно прям внутри критической секции try/catch поставить.

Ну вон оракловцы пишут что это такой себе муф на практике:

https://docs.oracle.com/javase/8/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html


>Корочи ладно, извени

Ваще никаких обид, бро, ты че.
Аноним 04/05/24 Суб 01:50:58 3144140 190
>>3144137
Да они уже выпили этот метод. Мало ли че они теперь пишут.
Аноним 04/05/24 Суб 08:54:49 3144205 191
>>3144089
>Безопасно работать с внешним кодом, чтобы можно было грохнуть поток если выполняется слишком долго.
Чтобы безопасно работать с внешним кодом, нужен простой...

докер контейнер, а лучше виртуалка
Аноним 04/05/24 Суб 09:58:19 3144224 192
Аноним 04/05/24 Суб 11:46:33 3144317 193
Вот я создал в рантайме класс, сохранил файл User.class:
https://pastebin.com/gWCSjpBq

И как теперь создавать объекты этого класса?
Аноним 04/05/24 Суб 11:51:27 3144322 194
>>3144224
И? У тред стоп разве всего одно использование было, что перекрывается этим?
Аноним 04/05/24 Суб 11:58:46 3144326 195
>>3144317
Не проще ли использовать ByteBuddy?
Аноним 04/05/24 Суб 12:00:21 3144331 196
>>3144317
Т.е. как я понял, сам объект создается примерно так:
Object user = classLoader.loadClass("User").newInstance();
И дальше можно обращаться к полям и методам через рефлексию.
Но как правильно настроить classLoader?
Аноним 04/05/24 Суб 12:04:27 3144337 197
>>3144326
Смотрю, возмиожно подойдет для моих целей.
И еще вопрос, классы обязательно должны загружаться из файловой системы?
В памяти их держать нельзя, ничего не записывая на диск?
Можно, конечно в Windows и Linux создать RAM диск.
Аноним 04/05/24 Суб 12:13:59 3144355 198
image.png 70Кб, 1253x492
1253x492
>>3144337
>классы обязательно должны загружаться из файловой системы?
Я не уверен, но вроде можно, типа вот ты же сам определяешь работу пика, следовательно можешь как угодно определить то, как интерпретируется юрл. Но наверное лучше поискать имплементации соответсвующие..
Аноним 04/05/24 Суб 12:53:25 3144391 199
>>3144205
Это непроизводительно. Под каждый кусочек внешнего кода выделять по 100 мб памяти на виртуалку и в 1000 раз замедлять интероп с ним за счёт общения сокетами? Я лучше буду обычные джава методы вызывать.
Аноним 04/05/24 Суб 12:54:18 3144393 200
>>3144331
> через рефлексию
Какую ещё рефлексию? Просто кастишь этот объект к нужному типу и всё.
Аноним 04/05/24 Суб 13:05:19 3144401 201
>>3144337
>И еще вопрос, классы обязательно должны загружаться из файловой системы?
>В памяти их держать нельзя, ничего не записывая на диск?
>Можно, конечно в Windows и Linux создать RAM диск.
JVM пофиг откуда возьмется байткод, хоть с диска, хоть будет загружен по сети Log4Shell именно на это основан был, хоть из базы данных JVM в Oracle Database именно так и работает, хоть сгенерирован на лету.
Аноним 04/05/24 Суб 13:08:19 3144406 202
>>3144391
Тебе еще пол года назад сказали, что тред стоп никогда и не делал того, что ты хочешь. Пользуйся java агентами и не ной.
Аноним 04/05/24 Суб 13:10:27 3144410 203
>>3144406
В смысле не делал? Ты про то что тред детх можно перехватить? Так я эти полгода назад на это и ответил что перехват тред детх можно улавливать на проверке кода на безопасность вайтлистом, что в любом случае нужно т.к. в джаве есть небезопасные операции, например взаимодействие с файловой системой.
Аноним 04/05/24 Суб 13:11:24 3144415 204
>>3144391
>Я лучше буду обычные джава методы вызывать.
Я тебе еще в прошлых тредах объяснял, что твоя манясекьюрити говно. Есть тысячи разных способов запустить код в другом треде и ты никогда не можешь быть уверен, что перекрыл их все. Пэтому нормальный подход это или предполагать что код не будет специально завешивать машину, или считать что код сознательно пишется со злым умыслом принимать жесткие меры ограничению его прав. Все остальное говно и полумеры.
Аноним 04/05/24 Суб 13:12:08 3144417 205
>>3144406
> Пользуйся java агентами и не ной.
Поподробнее.
Аноним 04/05/24 Суб 13:12:50 3144419 206
>>3144415
> Есть тысячи разных способов запустить код в другом треде и ты никогда не можешь быть уверен, что перекрыл их все.
Именно поэтому вайтлист, а не блеклист.
Аноним 04/05/24 Суб 13:20:38 3144432 207
>>3144417
https://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html#SuspendThread
>>3144410
>безопасность вайтлистом
Как это вообще работает? Ты сам ручками синтаксический анализ кода делать будешь? Чет вот это еще сложнее по реализации, чем остановка потока. Реально просто хуйню делаешь и судя по тому, что за полгода нихуищи не поменялось... Ты просто нытик.
Аноним 04/05/24 Суб 13:23:37 3144434 208
>>3144432
> Ты сам ручками синтаксический анализ кода делать будешь?
Есть же АСМ. Просто запретить вызовы явно небезопасных методов и оборачивать в рантайм чек те методы, что могут быть использованы в полезных целях, а могут и во вредоносных.

> и судя по тому, что за полгода нихуищи не поменялось...
Я не делаю ничего, просто размышляю. Все эти полгода был занят более важными вещами.
Аноним 04/05/24 Суб 13:42:21 3144459 209
image.png 6Кб, 214x174
214x174
>>3144434
>Есть же АСМ.
Отлови вот это. Есть случаи еще менее явные. В любом случае это вызовет SOE, можно аллокаций тебе наделать, которые тебе память переполнят и также крашнут jvm. Не бывает безопасных методов, в правильных руках они все опасны.
>Все эти полгода был занят более важными вещами.
Чем же?
Аноним 04/05/24 Суб 13:57:21 3144473 210
>>3144459
> В любом случае это вызовет SOE
И чё? Внешний тред крашнется и всё. Ровно то же самое как если бы я сам его крашнул за слишком долгое выполнение.

> можно аллокаций тебе наделать, которые тебе память переполнят и также крашнут jvm
Насколько я помню из того когда я размышлял об этом я это решил обёрткой new в кастомный аллокатор который будет подсчитывать сколько внешний код потребил памяти и при превышении лимита, в, например, 128 мегабайт тред бы киллялся, а всё лишнее собиралось сборщиком мусора.

> Чем же?
Правой дрочил, левой щекотил. Блядь, чё за тупые вопросы?
Аноним 04/05/24 Суб 14:02:25 3144476 211
>>3144473
>я это решил обёрткой new в кастомный аллокатор
Ебать ты фантазер. Кастомную гц уже пишешь. Еще размер аллокаций откуда-то знаешь. И это если я все правильно помню для майнкрафта? Реально мем, его идеи.
>Блядь, чё за тупые вопросы?
Учусь у мастера
Аноним 04/05/24 Суб 14:03:24 3144477 212
>>3144476
Может по делу что-то кроме смехуёчков выдавишь? Заменить new на new + икремент переменной не сложно.
Аноним 04/05/24 Суб 14:04:44 3144478 213
>>3144477
int[] new = new int[9999999999999999999999] замени на i + 1.
Можно вместо 999999.. вставить рандом или еще какую-нибдуь непредскзуемую хуиту.
Аноним 04/05/24 Суб 14:08:02 3144483 214
>>3144478
int value = random.nextInt(1, 9999);
ThreadAllocationLimiter.monitorArrayAllocation(INT, value); // выбрасывает ошибку если не хватает памяти
int[] new = new int[value];
Аноним 04/05/24 Суб 14:24:29 3144495 215
image.png 30Кб, 640x383
640x383
>>3144483
Говорю, можно придумать множество способов обдурить твою систему. Подсовывать ей минусовые занчения, чтобы уходить в плюс, например, делать стримы, когда ты не сможешь впендюрится между или тип узнать.
Ну или делать аллокации объектов, размер которых ты просто не сможешь подсчитать.

Блять, вот дали человеку инструмент, который легко может ограничить потребление любых ресурсов, нееет дай я свой велосипед напишу. Хотя нет, придумаю, до реализации этот кал никогда не дойдет.
Аноним 04/05/24 Суб 14:27:40 3144498 216
>>3144495
Еще кстати как варик тебе нахерачить 100500 скобочек "))))))))))))))))))))))))))))))))))))..." чтоб парсер жабовский на колени поставить.
Аноним 04/05/24 Суб 14:28:22 3144499 217
>>3144419
>Именно поэтому вайтлист, а не блеклист.
1. И как ты это себе представляешь? Сам руками отсмотреть весь JDK и определить безопасные методы? Или пользователи должны тебя упрашивать разрешить вызывать очередной метод?
2. Где гарантия что ты не проебешься и не разрешишь метод который не надо?
3. Как будешь защищаться от OOM?


>>3144434
>Я не делаю ничего, просто размышляю. Все эти полгода был занят более важными вещами.
Лучше бы анус дрочил.
Аноним 04/05/24 Суб 14:35:25 3144501 218
>>3144495
> Подсовывать ей минусовые занчения
Фактически операция new int(-100) потратит 0 байт оперативной памяти (если перехватить ошибку инициализации массива, в противном случае пользовательский тред вообще умрёт), поэтому надо просто отредактировать аллокатор массивов так чтобы размер памяти увеличивался на Math.max(0, countedBytes);.

> когда ты не сможешь впендюрится между
Как я говорил сначала значит, кастомный аллокатор. LimitedAllocator.newArray(INT, Random.nextInt(0, 999));.

> Ну или делать аллокации объектов, размер которых ты просто не сможешь подсчитать
Конкретные примеры?

>>3144498
> Еще кстати как варик тебе нахерачить 100500 скобочек "))))))))))))))))))))))))))))))))))))..." чтоб парсер жабовский на колени поставить.
ASM работает с байткодом, дебил. Скобочками ты только свой компилятор положишь.

>>3144499
> Или пользователи должны тебя упрашивать разрешить вызывать очередной метод?
А как иначе?

> 2. Где гарантия что ты не проебешься и не разрешишь метод который не надо?
Гарантии безопасности нет и без запуска пользовательского кода, всегда можно добавить случайно какую-то библиотеку с аналогом log4jshell. Бекапы в любом случае нужны.

> 3. Как будешь защищаться от OOM?
Выше описал.
Аноним 04/05/24 Суб 14:44:04 3144506 219
image.png 9Кб, 454x103
454x103
>>3144501
>Как я говорил сначала значит, кастомный аллокатор.
А ты думаешь там только лимиты? Давай еще предикат разбери, угу угу.
>поэтому надо просто
И как думаешь, сколько дыр в твоей системе? Заебешься убирать.
>Конкретные примеры?
Объект A. Или че, ты ручками будешь филды считать?
>ASM работает с байткодом
Ну т.е. тебе будут байткод высылать? Это еще больше возможностей для вставки херни.
Аноним 04/05/24 Суб 14:55:51 3144510 220
>>3144506
> А ты думаешь там только лимиты?
Я на твой скрин не смотрел вообще. LimitedAllocator.newArray(INT, 50) это аналог new int[50] с ограничением. Все вызовы стримов очевидно придётся заменять на вызовы собственных стримов созданных асмом на основе обычных стримов, как и вызовы любых библиотек вообще.

Можно и по другому. Есть этот метод:

https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/ThreadMXBean.html#getThreadAllocatedBytes(long)

как прилетает куда-то ООМ, проходим по пользовательским тредам и убиваем ожиревшие.

> И как думаешь, сколько дыр в твоей системе? Заебешься убирать.
Такая проблема есть везде. Что-то программирование от этого не умерло.

> Объект A. Или че, ты ручками будешь филды считать?
Ну да, а что? Один раз же по байткоду придётся пройти. Дальше только LimitedAllocator.newObject(500 /размер высчитанный на этапе обработки/, () -> new A());.

> Это еще больше возможностей для вставки херни.
Например?
Аноним 04/05/24 Суб 15:17:30 3144527 221
>>3144510
Бля, мне не нравится, это бесполезный спор, давай ты хоть что-то сделаешь, а потом будешь раскрывать свой рот. Типа у тебя все идеи заруинились еще на этапе остановки потока. А ты вот рассуждаешь, о том как ты там байткод будешь анализировать, никогда его в глаза-то не видев вероятно.
Аноним 04/05/24 Суб 15:41:51 3144546 222
image.png 25Кб, 629x336
629x336
>>3144510
Кстати, в догонку, надеюсь найдешь способ все отследить.
Аноним 04/05/24 Суб 15:47:06 3144550 223
>>3143414
Да, можно, более того таких программистов достаточно много.
Аноним 04/05/24 Суб 15:49:36 3144553 224
>>3144501
>Выше описал
Говно ты описал впрочем как обычно, а не защиту от OOM. Тебе уже выше повели пример, на тебе ещё: https://pastebin.com/FpjLXmEP
Аноним 04/05/24 Суб 16:26:19 3144603 225
image.png 63Кб, 1276x721
1276x721
Сделал динамическую генерацию класса во время выполнения с полями и методами: https://pastebin.com/qNMXxQvf

Но у меня более сложная система, поэтому, наверно, буду пробовать ByteBuddy. Еще с Groovy и Clojure не экспериментировал, может окажется проще генерить исходники под их синтаксис.
Аноним 04/05/24 Суб 16:28:49 3144605 226
>>3144603
>буду пробовать ByteBuddy.
Удачки, дениска.
Аноним 04/05/24 Суб 16:38:43 3144623 227
>>3144553
И каким хуем это что-то сломает? В один прекрасный момент в процессе создания просто создание такого объекта положит пользовательский поток лимитатором.

>>3144546
Насколько я помню, + в стринг пул не ложит ничего. Только константы введённые программистом туда идут. Но даже если ложит, всегда можно заменить это на использование стринг билдера или стринг нью, которые точно ничего не ложат и отлично мониторятся уже описанным концептом лимитатора.
Аноним 04/05/24 Суб 16:39:31 3144624 228
>>3143414
>>3144550
На собесах все равно будут спрашивать про устройство и алгоритмическую сложность HashMap и TreeMap. Некоторая алгоритмическая подготовка все-таки нужна.
Я бы советовал освоить дискретную математику, а вот без матана и теории категорий вполне можно обойтись.
Мобилки это что, игры? Там нужен поиск пути, физический движок (обработка столкновений), может быть что-то из геометрии и матриц.
Аноним 04/05/24 Суб 16:40:00 3144625 229
>>3144624
> На собесах все равно будут спрашивать про устройство и алгоритмическую сложность HashMap и TreeMap. Некоторая алгоритмическая подготовка все-таки нужна.
Это не алгоритмы, а скорее основа оптимизации кода.
Аноним 04/05/24 Суб 16:40:32 3144627 230
>>3144624
>и теории категорий вполне можно обойтись.
Арррря, как жи так... Она такая красиая... Ты кстати в ней пытался разобраться?
Аноним 04/05/24 Суб 16:41:50 3144630 231
>>3144627
Не вижу практического применения. Монады - бесполезное говно для аутистов.
Аноним 04/05/24 Суб 16:42:58 3144633 232
>>3144623
>всегда можно заменить это на использование стринг билдера
Ну т.е. ты хочешь сделать те оптимизации, которые оракл ни шмогла полностью сделать? Попустись по амбициям.
Ну и тогда ты лимитером не сможешь проверять нормально, это ж мутабельная структура.
Также в этом примере были анбоксинг и боксинг. Он тоже как не в себя срет памятью.
Аноним 04/05/24 Суб 16:46:45 3144640 233
>>3144630
>Монады - бесполезное говно для аутистов
Ты ахуел? Я тебя щас как помещу в IO, будешь знать у меня.

И вообще в теории категорий есть вот такая няшная штука https://en.wikipedia.org/wiki/Kind_(type_theory)
Если совсем вкратце, она может на уровне типов различать контейнерные объекты и простые значения. Просто уввву, представь какие паттерн матчинги можно делать~~
Аноним 04/05/24 Суб 16:49:36 3144646 234
>>3144633
> Ну т.е. ты хочешь сделать те оптимизации, которые оракл ни шмогла полностью сделать? Попустись по амбициям.
Не понял, что я собираюсь сделать? Я сказал лишь заменить str1 + str2 на использование стринг билдера если там какой-то пиздец в байткоде который не является классическим new.

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

> Также в этом примере были анбоксинг и боксинг. Он тоже как не в себя срет памятью.
Ну и пусть срёт, мне-то то? Те же самые new же остаются, на которые будет навешан лимитатор.
Аноним 04/05/24 Суб 16:52:25 3144650 235
image.png 44Кб, 1263x338
1263x338
>>3144646
> Я сказал лишь заменить str1 + str2 на использование стринг билдера
Ну тк блять. Я и говорю, что это оптимизация, которую оракл не полностью сделали. Значит там есть нетривиальные случаи, в которые лезть себе дороже.
>Те же самые new же остаются
Тут нет new.
Аноним 04/05/24 Суб 17:09:06 3144670 236
>>3144640
Лямбды и замыкания есть в мейнстримных языках, паттерн-матчинг тоже встречается, а где эти ваши монады? Никому они за пределами хаскеля не нужны. В функциональных языках, которые имеют практичное применение (Erlang, Scala, Rust) также монад нет.

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

Знаете ли Вы, что до поражения Германии во Второй Мировой, было два вида математики, - арийская и еврейская, - названные так по национальности своих сторонников?

Арийская Математика брала пример с естественных наук, склонялась к эмпирицизму, конечности и познаваемости мира, и работала исключительно c объектами, которые можно построить физически (например, в памяти ЭВМ или на бумаге).

Еврейская Математика же слоняется к религиозной абстракции и казуистике: всеохватывающей бесконечности, множествам, и порождаемым ими апориям. Так Еврейская Математика постулирует, что можно удвоить объект, путём перекладывания его частей, пространство делимо на "бесконечно малые", а для любого числа, Бог может создать большее число (аксиома о бесконечности).

Основатель Еврейской Математики, Гидеон Кантор, писал, что работает с "Абсолютом - непознаваемым человеком Актус Пьюриссимус, именуемым многими Богом". Примечательно, что Кантор окончил свою жизнь в психиатрической лечебнице, однако дело Кантора поддержали сионистские организации и католическая церковь, доведя до того, что сознательные германские студенты и профессора протестовали, требуя убрать еврейскую заразу из ВУЗов.

После войны, евреи сделали все возможное, чтобы уничтожить Арийскую Математику, удалив ее сторонников и подменив ее Теорией Множеств - центральной опорой Еврейской Математики. Так основатель интуиционизма, Лёйтзен Брауэр, подвергся изоляции, а результаты Русских и Английских финитистов умалчивались и не получили распространения. В русской истории от рук евреев пострадали математики Егоров (умер в гулаге), Лузин (подвергся травле и был отстранен), Флоренский (расстрелян), Есенин-Вольпин (репрессирован).

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

Евреи, занимающиеся математикой, предпочитают всё специфическое-эльфийское. Причём презирают тех, кто занимается вещами, имеющими практическое применение. Поэтому в Советском Союзе вышел закон, по-которому в ВУЗах должно учиться евреев пропорционально их населению. Лишних отчисляли. Преподаватели евреи на мехмате в знак протеста ушли из университета и образовали НМУ (Независимый Московский Университет). Отсюда и название в мехматянском простонародье ``еврейская секта''.

Еврейские дети в СССР часто учились отдельное от детей гоев, в специальных элитных школах. Одной такой была Московская 57-й спецшкола, ученики которой не без оснований называют себя "пятидесятисемитами". Там часто преподавали выдающиеся преподаватели с мехмата.

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

Но в самом сердце этой самой фундаментальной вроде бы теории, лежащей в основе "царицы наук", почти сразу после ее создания были обнаружены очень серьезные парадоксы и проблемы, не преодоленные до сих пор. Уже сто лет с тех пор математика находится в состоянии перманентного кризиса, который остро воспринимается самыми выдающимися учеными. Великий немецкий математик Герман Вейль писал по этому поводу: "Мы менее чем когда-либо уверены в незыблемости наиболее глубоких оснований логики и математики. Как у всех и всего в мире, сегодня у нас есть свой кризис".

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

Именно уверенность в нематериальности математических объектов влечёт за собой веру в возможность "приближённых" вычислений (что чушь - вычисления бывают либо точные, либо неверные). Да, самолёты летают и при засилье Теории Множеств. Но если бы математика была конструктивной, они летали бы лучше, потому что конструкторы не забивали бы себе голову теоретико-множественным мусором, на практике бесполезным и дезориентирующим.

Аксиомы имеют смысл только тогда, когда они выражают свойства объективно существующих предметов. Так, если мы введём аксиому "на каждой руке человека содержится 3.1415… пальцев" и построим на базе этой аксиомы формальную теорию, то положения этой теории будут бессмысленны и даже вредны.
Аноним 04/05/24 Суб 17:13:47 3144683 237
>>3144670
Раст вообще не фп язык.
На счет скалы.. https://www.javadoc.io/doc/org.typelevel/cats-docs_2.13/latest/cats/Monad.html
Про эрланг хз, в любом случае монада это всего лишь очень абстрактный интерфейс, реализация которого есть.. Только не сильно удивляйся... в жабе.
И я не очень понимаю, почему ты про монады начал... Теория категорий вообще не про них. Это всего лишь маленькая часть. Я вот тебе kind-ы скинул, прочитал хоть?
Аноним 04/05/24 Суб 17:34:19 3144713 238
>>3144623
>В один прекрасный момент в процессе создания просто создание такого объекта положит пользовательский поток лимитатором.
Как твой хуетатор будет считать сколько зааллоцировал в байтах поток, и сколько из этого объема live set?
Аноним 04/05/24 Суб 18:50:35 3144837 239
>>3144670
> где эти ваши монады?
в джаве, Optional и Stream - это монады
Аноним 04/05/24 Суб 19:37:55 3144917 240
>>3144837
В джаве, императивном языке где нет do-нотации, пользы от того что это монады (что кстати не совсем правда, но похуй) мало.

>>3144670
Блять, что за шизу я щас тока что прочитал... Один абзац про монады, разбавленный полотнищем отборной мкаксимально ебанутой демагогии. Ты че - фрик?

>В функциональных языках, которые имеют практичное применение (Erlang, Scala, Rust) также монад нет.

Пиздишь
Аноним 04/05/24 Суб 19:46:16 3144943 241
>>3144713
Тебе уже выше объяснили что все нью будут подменены на нью + подсчёт.
Аноним 04/05/24 Суб 19:47:59 3144947 242
>>3144650
Ты внутри valueOf посмотри.
Аноним 04/05/24 Суб 19:50:33 3144955 243
>>3144917
>нет do-нотации
Вот кстати большое упущение. Там брайн гетц не планирует ее внедрить? А то он любит всякую фп хуйню тащить.
Аноним 04/05/24 Суб 19:54:24 3144964 244
>>3144955
Пока вроде не было. Но хз, как по мне это - мертвецу припарка.
Аноним 04/05/24 Суб 20:30:53 3145018 245
>>3144964
>мертвецу припарка
Тебе жаба не нравится что ли? Не очень понел
Аноним 04/05/24 Суб 20:34:40 3145024 246
>>3144955
В смысле нет? do {} while () был всегде.
Аноним 04/05/24 Суб 22:15:13 3145090 247
>>3144917
>В джаве, императивном языке где нет do-нотации, пользы от того что это монады мало
судя по https://en.wikibooks.org/wiki/Haskell/do_notation
это просто сахар над несколькими действиями. Без саха польза явно не исчезает
Аноним 04/05/24 Суб 22:16:17 3145091 248
>>3144943
А где освобождение памяти учитывать?
Аноним 04/05/24 Суб 22:37:14 3145100 249
image.png 65Кб, 1099x499
1099x499
image.png 121Кб, 1086x833
1086x833
>>3145024
>>3145090
Ну я кстати попробовал индентичные программы написать на жабке и хаскеле. Знаете, сахарок не помешал бы... Хотя интересно, этим вообще кто-то пользуется...
Аноним 04/05/24 Суб 22:39:49 3145103 250
>>3145100
Мне кажется если вместо Optional возвращать nullable значения, на яве попроще будет. Обычный map вместо flatMap можно будет использовать.
Аноним 04/05/24 Суб 22:51:05 3145110 251
>>3144943
У тебя там пук-среньк, а не объяснение. Сколько занимает весь объект с графом зависимостей не понять пока все зависимости не будут инициализированы. Если считать без них, то https://pastebin.com/FpjLXmEP объект будет header + 40 байт. Перехватывать все new можно, но внезапно некоторые классы из коры имеют интризики которые заменяют new на нативный код. Трэд аллокейшен не учитывает сколько отправится в мусор.

В целом это пустой разговор. Напишешь код - обоссым и докажем, что ты облажался по полной, а так тебе доказывать бесполезно, ты слишком тупой.
Аноним 04/05/24 Суб 22:53:33 3145112 252
>>3145103
>если вместо Optional возвращать nullable значения
Чет мне не кажется, что станет сильно проще. Это или ручками придется проверять/оборачивать в опшионал.
Хотя мб я не понял идею, можешь продемоснтрировать, елси не против, вот код: https://pastebin.com/qg3EN02t
Аноним 04/05/24 Суб 23:25:39 3145151 253
>>3145112
Не, мне лень. Сделай так чтобы вместо flatMap был map.
Аноним 04/05/24 Суб 23:46:14 3145170 254
>>3145110
> из коры имеют интризики которые заменяют new на нативный код.
АСМ, ещё раз, работает поверх байткода. Не поверх исходного кода и не поверх того что жид высрет.
Аноним 04/05/24 Суб 23:46:42 3145171 255
>>3145110
> У тебя там пук-среньк, а не объяснение. Сколько занимает весь объект с графом зависимостей не понять пока все зависимости не будут инициализированы.
Тебе ещё раз повторить что это и не нужно и если объект слишком жирный будет вылет в процессе его инициализации?
Аноним 04/05/24 Суб 23:48:57 3145172 256
image.png 97Кб, 758x782
758x782
>>3145151
Уууу, ленивец.
Если так, то типа не особо короче, ну и безопасность методов пропала...

И еще чет мне подсказывает, что если я эти map/flatmap в проде писать буду, меня нахуй пошлют..
Аноним 05/05/24 Вск 00:15:27 3145178 257
>>3145172
Я запутался в твоих обозначениях, но по моему тебе нужен Optional::stream или Stream::reduce
Аноним 05/05/24 Вск 00:24:20 3145181 258
image.png 57Кб, 507x400
507x400
Аноним 05/05/24 Вск 00:33:37 3145183 259
image.png 21Кб, 1040x113
1040x113
image.png 14Кб, 543x151
543x151
image.png 30Кб, 717x284
717x284
>>3145181
А в чем у го киллерфича?
>>3145178
Ни, не оч идея. У reduce тип хуевый, например foldr могет свернуть во что-то другое, а редьюс нет. Можешь сам попробовать впрочем.
Аноним 05/05/24 Вск 00:40:53 3145185 260
>>3145183
>А в чем у го киллерфича?
Скорость. Весь современный хайлоад стартует на го
Аноним 05/05/24 Вск 00:46:35 3145188 261
Аноним 05/05/24 Вск 00:52:20 3145192 262
>>3145185
Для перфоманса выбирать яп с гц странно, если честно.
Аноним 05/05/24 Вск 01:09:24 3145201 263
>>3145183
>А в чем у го киллерфича?
В том, что это не джава/шарп, всё
Аноним 05/05/24 Вск 01:21:22 3145208 264
>>3145192
А это ДРУГОЕ, причем у ГО-сектантов - это нормальная и постоянная практика абсолютно.
ГЦ джаве - тормознуто и медленно, но в го - это перформанс и удобство
Джава занимает 300 МБ джарник - фу, но скомпиленый го бинарник 100+ МБ - это совсем другое, только выиграли!
Хайлевельные фреймворки на го - это уверенность, перформанс, удобство, но спринг - это фу, блоатваре и легаси.
Компиляция - это круто, но ГраальВМ для джавы - это фигня
Язык с набром фич как у бейсика - это круто, го "не пытается быть умным", "вместо новых фич - просто напиши больше кода!", но когда чего-то нехватает у джавы, при том что фич-то в ней больше чем в го начиная наверное с Java 1.4 - так это язык "невыразительный", "скучный", "многословный".
Тот код, который в джаве считается легаси-лапшой, в го это уже свободный от лишних абстракций и интуитивно понятный!
А такие переобувки постоянно происходят, когда гоферы рассказывают про преимущества го
Аноним 05/05/24 Вск 01:29:40 3145209 265
>>3145208
>Хайлевельные фреймворки на го - это уверенность, перформанс, удобство
Вот это как раз наоборот, насколько я знаю. У них там ни одного вменяемого фреймворка нет, только либы.
Аноним 05/05/24 Вск 01:37:29 3145212 266
Аноним 05/05/24 Вск 02:05:48 3145213 267
>>3145208
Стоит отметить, что спринг -- это реально тормозная легаси хуйня.
Аноним 05/05/24 Вск 12:03:31 3145340 268
>>3145213
Ноуп. Я тоже так раньше считал, но в целом и общем спринг раздает говна и причем хорошо. Единственная как по мне его проблема это монстроподобная конфигурация и достаточно болезненный процесс миграции.
Аноним 05/05/24 Вск 14:53:54 3145489 269
Можете подсказать, как можно на Java написать Desktop (При помощи чего, кроме JavaFX и Swing)
Аноним 05/05/24 Вск 15:01:19 3145497 270
>>3145489
>кроме JavaFX и Swing
Там других способов-то и нет.. Чем они тебя не устраивают?
Аноним 05/05/24 Вск 15:09:25 3145504 271
>>3145213
Ну не знаю, у меня чистый спринг бут на домашней машине стартует за 4 секунды. У баелдунга в бенчмарке за 2 https://www.baeldung.com/spring-boot-vs-quarkus
Для большинства применений это норм, не скорость света конечно, но и не тормозная хуйня. Тем более с учетом того, что например в микросервисах, где так важен этот стартап тайм, скейлинг в основном происходит через rolling update стратегию, то есть на все время старта еще будут живые сервисы, принимающие траффик.
Аноним 05/05/24 Вск 15:12:13 3145507 272
Аноним 05/05/24 Вск 15:17:21 3145516 273
Аноним 05/05/24 Вск 15:26:37 3145523 274
>>3145213
Наверное само основном что может вызывать проблемы - это неравномерная нагрузка, сочетаемая с маленькими лимитами пода. Т.к. на запуске спринг резко требует очень большое количество ресурсов, а потом - практически ничего, то тут либо ставить большие лимиты и держать впустую вычислительную мощность 99% времени, либо ставить маленькие лимиты и тогда старт будет ужасно долгим.
Аноним 05/05/24 Вск 15:29:29 3145525 275
>>3145171
>Тебе ещё раз повторить что это и не нужно и если объект слишком жирный будет вылет в процессе его инициализации?
Ты слишком тупой, чтобы понять что тебе пишут. ВНЕЗАПНО, инициализация это просто вызов метода, Никак не отличимый от любого другого. Ты можешь вообще всю логику программы в new засунуть. У тебя просто вызывается метод за методом, и что-то там аллоцируется. Если мерять все аллокации то свалится код который аллоцирует много временных объектов и поэтому надо понять, размер live set.

При этом ты достаточно умный, чтобы понять что идея говно полное и даже не пытаешься её реализовать. Потому что понимаешь, что ты обязательно обосрешся.
Аноним 05/05/24 Вск 15:30:21 3145526 276
>>3145504
>>то есть на все время старта еще будут живые сервисы, принимающие траффик.
Скейлинг это не про апдейт, а как при живых 10 сервисах поднять еще 100 дополнительных, чтоб переварить внезапный трафик.
Это проблемы облакодебилов с дорогущими тарифами и в РФ не особо актуально.
Аноним 05/05/24 Вск 15:37:23 3145536 277
>>3145526
>Это проблемы облакодебилов с дорогущими тарифами и в РФ не особо актуально.
Эксперт в треде.
Аноним 05/05/24 Вск 15:39:41 3145538 278
>>3145526
>Скейлинг это не про апдейт
Я знаю, но в данном контексте разницы нет, механизм тот же самый
Аноним 05/05/24 Вск 15:50:20 3145544 279
>>3145526
>Это проблемы облакодебилов с дорогущими тарифами и в РФ не особо актуально
Это кто там крякает? Кубернетисодебил, ты? И чё ты скажешь что ку-ку-кук-бернетис дешевле облаков? Да ладно?
Аноним 05/05/24 Вск 15:51:34 3145545 280
>>3145208
>но спринг - это фу, блоатваре и легаси.

Спринга на го нет лишь потому, что гоферы его еще не написали. Все будет, лол.
Аноним 05/05/24 Вск 15:58:08 3145553 281
1) Используют ли сейчас java для создания приложений для десктопа?
2) не будет ли совсем плохо, если графический интерфейс будет реализован через c++/qt посредством нативных методов?
Аноним 05/05/24 Вск 16:03:51 3145559 282
>>3145553

1) Новые - редко, но до сих пор встречаются десктопы на свинге в поддержке, от которых заказчик не хочет отказываться.

2) Звучит как грязная авантюра, я бы не стал.
Аноним 05/05/24 Вск 16:11:03 3145563 283
>>3145559
А что вообще сейчас пишут на этом языке?
Неужели что-то для серверов?
Аноним 05/05/24 Вск 16:13:00 3145567 284
>>3145563
Бэкенды всех мастей
Аноним 05/05/24 Вск 16:18:01 3145572 285
Аноним 05/05/24 Вск 16:19:30 3145573 286
>>3145553
>2) не будет ли совсем плохо, если графический интерфейс будет реализован через c++/qt посредством нативных методов?
Уже есть SWT, там именно такой подход. Ну только внизу не qt, а нативные компоненты.
Аноним 05/05/24 Вск 16:20:47 3145575 287
>>3145553
>1) Используют ли сейчас java для создания приложений для десктопа?
Да, ~75% пользователей ИДЕ сидит на джавовском UI.
Для приложений на основе эклипса есть целый раздел на вики https://en.wikipedia.org/wiki/List_of_Eclipse-based_software
Arduino IDE ( и его родитель Processing IDE ) - все джава. Ну интеллиджи ты наверное знаешь.
Аноним 05/05/24 Вск 16:25:02 3145580 288
>>3145553
>2) не будет ли совсем плохо, если графический интерфейс будет реализован через c++/qt посредством нативных методов?
ну как сказать, это просто излишняя сложность. Если уж хочешь QT - пиши все на QT. Если хочешь Java - пиши на свинге. Если можешь обойтись без интеропа - обходись, так везде и всегда.
Аноним 05/05/24 Вск 19:33:17 3145796 289
>>3145208
В джаву 23, кстати, завозят генеративный згц. Анало говнет ни в одном другом языке. Помнится мне как гоферы постили как у них с каждой обновой паузы гц становились всё меньше и меньше, так эти паузы даже самого последнего обновления го даже рядом не стояли с згц даже самого первого образца. А теперь ещё и згц избавляется от своей главной проблемы — не самой высокой пропускной способности.
Аноним 06/05/24 Пнд 00:43:38 3146014 290
>>3145525
> ВНЕЗАПНО, инициализация это просто вызов метода,
Угу, а сама jvm, прочитав байткод, в котором нет информации о том, когда аллоцировать, а когда нет, с божьей помощью аллокацию производит. Что-нибудь по делу вообще высрешь?

> Ты слишком тупой, чтобы понять что тебе пишут.
> При этом ты достаточно умный, чтобы понять что идея говно полное и даже не пытаешься её реализовать. Потому что понимаешь, что ты обязательно обосрешся.
А, ну понял, не высрешь. Слив принят.
Аноним 06/05/24 Пнд 00:47:45 3146018 291
>>3145489
Если тебе чисто нехитрую форму наклепать без всякого охуения - свинг бери. Тупо универсальнее. Чтобы все остальное работало - надо тягать свои либы под разные системы и битности. А свинг тупо работает абсолютно везде где есть JRE.
Аноним 06/05/24 Пнд 01:06:47 3146029 292
Аноним 06/05/24 Пнд 01:34:38 3146034 293
>>3146029
Да ты травишь, он протух еще в прошлом тысячелетии.
Аноним 06/05/24 Пнд 10:01:30 3146132 294
>>3146034
Ну вообще свинг на нем базируется, так что хочешь не хочешь, но так или иначе столкнешься с авт. Если конечно нужны кастомные элементы.
Аноним 06/05/24 Пнд 12:41:21 3146277 295
>>3146014
>Угу, а сама jvm, прочитав байткод, в котором нет информации о том, когда аллоцировать, а когда нет, с божьей помощью аллокацию производит.
Ты просто тупой и не понимаешь простейших вещей. JVM не надо понимать сколько займет тот или иной объект после полной инициализации. Она просто выделяет память и собирает мусор, а когда память заканчивается кидает ООМ. Тебе же надо понять сколько займут живые объекты созданные потоком, а это совсем другая задача.


>А, ну понял, не высрешь. Слив принят.
Пиздабол, ты уже который тред засираешь своей шизой, и при этом не написал ни строчки говнокода.
Аноним 06/05/24 Пнд 12:53:27 3146295 296
>>3146277
Приблизительно оценить достаточно легко даже на этапе компиляции/обработки, ещё раз.
Аноним 06/05/24 Пнд 15:47:44 3146512 297
>>3146295
>Приблизительно оценить достаточно легко даже на этапе компиляции/обработки, ещё раз.
Ну так давай, показывай код! Накидаем тебе хуёв полную панамку.
Аноним 06/05/24 Пнд 15:49:10 3146515 298
>>3146512
Ничего пока не писал.
Аноним 07/05/24 Втр 15:06:02 3147430 299
Аноны, дайте ссылки на нормальные курсы или workshop-ы по профилированнию Java приложений. Интересует поиск утечек памяти, поиск bottleneck и вот это вот всё.
Аноним 07/05/24 Втр 18:25:29 3147671 300
>>3135222 (OP)
Какой самый интересный проект вы писали?
Аноним 07/05/24 Втр 19:25:24 3147707 301
image.png 13Кб, 707x171
707x171
Это точно все еще джава?
Аноним 07/05/24 Втр 19:31:17 3147718 302
image.png 13Кб, 834x193
834x193
Пиздос.
Аноним 07/05/24 Втр 19:42:01 3147732 303
Аноним 07/05/24 Втр 20:48:44 3147797 304
Аноним 07/05/24 Втр 20:53:46 3147807 305
>>3147707
Прикольно, уже почти всё из шарпа спиздили. Кортежей и деконструкции ещё не хватает.
Аноним 07/05/24 Втр 20:54:08 3147809 306
Аноним 07/05/24 Втр 21:01:39 3147826 307
>>3147809
Охуенно. Теперь можно билдить с помощью блдь и какой-то матери.
Аноним 07/05/24 Втр 21:13:43 3147837 308
Аноним 07/05/24 Втр 21:28:14 3147864 309
Аноним 07/05/24 Втр 21:31:25 3147871 310
>>3147809
Врапперы блядь, теперь эти грэдловские костыли повсюду
Аноним 07/05/24 Втр 21:31:34 3147872 311
Аноним 07/05/24 Втр 21:50:29 3147908 312
image.png 66Кб, 1186x669
1186x669
>>3147707
>>3147718
Даа, прикольная штука, можно даже подобное делать. Не хватает только примитивов, разве что.

>>3147807
Дебил, проверки на полноту паттерна в шарпе нет.
Аноним 07/05/24 Втр 21:52:24 3147912 313
patterns.PNG 17Кб, 676x252
676x252
>>3147807
>>3147837
Безымянные кортежи уже давно можно дженериками сделать, bменованные кортежи - уже с деконстркцией - это рекорды, с 21й джаббы
Аноним 07/05/24 Втр 21:53:55 3147916 314
>>3147671
Распределенный сверхскоростной поисковой движок
Аноним 07/05/24 Втр 21:56:40 3147921 315
>>3147809
Непонятно только зачем это, я и для мавена могу плугин на джаве написать, а распространенность у него куда больше
Аноним 07/05/24 Втр 22:02:02 3147928 316
>>3147912
В чем вообще сакральный смысл использования кортежей?
Я же правильно понимаю, что вы про это.. https://en.cppreference.com/w/cpp/utility/pair
Типааа, я даже в cpp это говно не юзаю, поскольку ты стираешь инфорамацию, а че ты там в first положил, а че в second. Проще уж объект создать.
Аноним 07/05/24 Втр 22:11:35 3147939 317
>>3147928
Вернуть несколько значений из метода.
Составной ключ для хэшмэпа.
С деконструкцией можно делать своп (а, б) = (б, а)
Аноним 07/05/24 Втр 22:15:21 3147946 318
>>3147939
>вернуть несколько значений из метода
Боже, какие же шарподауны дегенераты. Пока им не завезут конкретную синтаксическую конструкцию под конкретную задачу даже учитывая что эту конструкцию можно заменить простым классом/методом они не начнут программировать. Воистину необучаемое племя.
Аноним 07/05/24 Втр 22:19:10 3147952 319
>>3147908
Дебилизм. На каждый шаг разворота делать инстанс оф? Это же пиздец непроизводительно.
Аноним 07/05/24 Втр 22:22:28 3147957 320
image.png 48Кб, 665x581
665x581
>>3147939
>Вернуть несколько значений из метода.
Опять же, объект.
>Составной ключ для хэшмэпа.
Че?
>С деконструкцией можно делать своп (а, б) = (б, а)
Звучит бесполезно, если честно.

Кстати, а у вас в шарпике есть такая няша как zip/unzip? А, ну и возможность работать с кортежами через pattern matching, ну т.е. вот в методе напрямую именовать fst и snd, как вот у меня в начале x и y сделан.
Аноним 07/05/24 Втр 22:22:49 3147958 321
>>3147809
Дебилизм какой-то. Продвинутые системы сборки потому и используют блядь потому что им нужны продвинутые фичи, а не простота. Вот облегчили бы как-нибудь архетипы мавена (идея хорошая, но времени всё равно много тратится), вот это было бы дело. А этот блдь это какое то бешенство с жиру.
Аноним 07/05/24 Втр 22:23:00 3147959 322
>>3147928
Ни в чем, кроме охуения от использования математически концептов в програмировании (туда же монады, комбинаторы, каррирование и т.д. и т.п.)
>Типааа, я даже в cpp это говно не юзаю, поскольку ты стираешь инфорамацию, а че ты там в first положил, а че в second.
Все так, но так как в джаве этого нет - значит это плохо. Хорошо только когда этого нет в го. Тут понимать надо.
Вероятно может быть бенефит в переиспользовании объектов, в меньшем мемори футпринте и т.д. но это всё очень пограничные случаи.
Имхо основная плюшка - это деструкция, а она уже в джаве есть, да и то это просто сахарок
Аноним 07/05/24 Втр 22:24:26 3147961 323
image.png 64Кб, 950x432
950x432
>>3147952
А тут его и нет... Вроде
Аноним 07/05/24 Втр 22:38:53 3147988 324
image.png 38Кб, 666x314
666x314
>>3147939
>Вернуть несколько значений из метода.
Так это же record'ы? И деконструкция возможна. Полная функциональность кортежа.
Аноним 07/05/24 Втр 22:45:20 3147999 325
>>3147671
Виртуальная файловая система, которая хранит данные в памяти или файле.
Аноним 07/05/24 Втр 22:49:37 3148002 326
>>3147957
>>Вернуть несколько значений из метода.
>Опять же, объект.
Это надо класс декларировать. Бойлерплейт, стало быть.
>>Составной ключ для хэшмэпа.
>Че?
Капчё. Например, хэшмэп шахматных фигур. Координаты - ключ, фигура - значение.

>Кстати, а у вас в шарпике есть такая няша как zip/unzip?
Zip есть. Прямо так и называется.
Unzip через SelectMany (проекция в коллекцию + уплощение)
>А, ну и возможность работать с кортежами через pattern matching, ну т.е. вот в методе напрямую именовать fst и snd, как вот у меня в начале x и y сделан.
Мне надо бежать, я попозже гляну, что ты имеешь в виду.
Аноним 07/05/24 Втр 22:54:02 3148013 327
>>3147961
По производительности это дай бог будет как инстанс оф, если не хуже.
Аноним 07/05/24 Втр 22:56:22 3148016 328
>>3148002
>это надо класс декларировать
>public record Result(String foo, int bar) { }
Ух, как сложно! А ещё сложно тип переменной писатью! Похуй что без декларации и того и другого не понятно, что код делает/возвращает, переходим на динамикодрисню, так короче!
Аноним 07/05/24 Втр 22:57:58 3148018 329
>НО ВИТЬ МОЖНО УПИСАТЬСЯ ВЖЖЖОЛЬ И ПОПЕРЁК КОММЕНТАРИЯМИ, ЧТОБЫ КАЖДЫЙ РАЗ ПРЫГАТЬ В СУРСЫ И ЧИТАТЬ НИ КАПЕЛЬКИ НЕ БОЙЛЕРПЛЕЙТ НАТУРАЛЬНЫЙ ЯЗЫК КОТОРЫЙ ДАЕТ ЗНАТЬ ЧТО ЭТО КОММЕНТАРИИ ВООБЩЕ ЗНАЧАТ!
Аноним 07/05/24 Втр 23:06:25 3148036 330
>>3147957
>А, ну и возможность работать с кортежами через pattern matching, ну т.е. вот в методе напрямую именовать fst и snd, как вот у меня в начале x и y сделан.
Не, я так и не понял, что ты имеешь в виду. А ты меня про своп не понял. Смысл не в том, что функцию можно опередить, а в том, что можно написать (a, b) = (b, a), и у тебя значения переменных а и b поменяются местами. Они, конечно, должны быть одного типа.

>>3148018
Если тебя бойлерплейт не смущает, то не ной больше про гетсет.
Аноним 07/05/24 Втр 23:14:34 3148048 331
image.png 25Кб, 863x351
863x351
image.png 10Кб, 493x109
493x109
>>3148013
Да расслабся ты, тут нет перфоманс инжынеров.
Смари, можно легко сделать из этой коробки односвязный список. Как думаешь, норм на собесе такое написать?)
>>3148036
>что можно написать (a, b) = (b, a),
Фу... Мутабельность
>Не, я так и не понял, что ты имеешь в виду.
Ну вот это, написать прям в методе. Как на пике 2 крч.
Аноним 07/05/24 Втр 23:16:23 3148053 332
>>3147707
НАХУЯ, ВОТ НАХУЯ ТЫ ПЕРЕНЁС СВИТЧ НА ДРУГУЮ СТРОКУ???????????!??:!:?:?!?"!"?!"?!?!?!"?""?(!?"№("?№()!"№?;У З(8123
>>3135222 (OP)
ка
Аноним 07/05/24 Втр 23:17:52 3148057 333
>>3148048
>(T1, T2)
Это что, новая фича джавы 23 или чё?
Аноним 07/05/24 Втр 23:18:42 3148058 334
>>3148057
Это шарп. У меня ж есть возможность потыкать много языков..)
Аноним 07/05/24 Втр 23:18:44 3148059 335
>>3148048
>линкедлист с тайпчеком на каждый шаг итерации
Мы вам перезвоним.
Аноним 07/05/24 Втр 23:19:52 3148061 336
>>3147707
>case throws
Нихуя себе, это правда джава? Я только что думал о том как бы было хорошо иметь подобное в джаве.
Аноним 07/05/24 Втр 23:20:50 3148066 337
>>3148059
Ля, ну не душни. Ты кстати заметил, что он полиморфен?
Вот тебе задача, как еба инжинеру, сделай его мономорфным.
Проще говоря, чтобы низя было сделать такое [1,"2", 3]
Аноним 07/05/24 Втр 23:21:57 3148069 338
>>3148066
Я отказываюсь от твоей задачи, задачник мамкин. Твои действия?
Аноним 07/05/24 Втр 23:41:10 3148105 339
Аноним 07/05/24 Втр 23:45:14 3148113 340
>>3148105
Ну это база. Жаль что завезут, если завезут, к джаве 26-27 в лучшем случае и в превью.
Аноним 07/05/24 Втр 23:51:11 3148121 341
image.png 70Кб, 1075x600
1075x600
>>3148069
Нууу, расстроюсь, наверное, хызы.

Мне просто интересна было, а вомзожно ли это вообще. Как видно, йеп. Вообще система типов вещь интересная...
Аноним 08/05/24 Срд 00:00:08 3148137 342
>>3148121
На самом деле в первом случае у тебя получился самый настоящий тайп-сейф тупль с неограниченным количеством значений, я сейчас подумал. Там по идее никаких тайпчеков не будет, всё будет в компайл тайме. Только вернуть его не получится из метода потому что придётся называть весь его состав, вар же не работает для типа возврата.
Аноним 08/05/24 Срд 00:20:50 3148166 343
image.png 75Кб, 1160x783
1160x783
>>3148137
Ммм.. Не оч понел, что ты имеешь ввиду. Если нужен тайпчек, нужно еще рекурсию небольшую типовую задать..
Аноним 08/05/24 Срд 00:22:32 3148169 344
Аноним 08/05/24 Срд 00:25:55 3148173 345
>>3148169
Ладно

Я еще ноготок на мизинчеке ударил... Ты бы знал, как неприятна
Аноним 08/05/24 Срд 01:30:54 3148242 346
Аноним 08/05/24 Срд 01:37:01 3148246 347
image.png 29Кб, 884x92
884x92
>>3148242
Кроме тебя и пары инвалидов жуком не пользовались. Ты хоть покажи конкретно где.
Еще тут вроде написано, что жук устарел..
Аноним 08/05/24 Срд 01:38:38 3148248 348
>>3148242
Там же был и есть
Java Persistence Query Language (JPQL) — платформенно-независимый объектно-ориентированный язык запросов, являющийся частью спецификации Java Persistence API (JPA)
Аноним 08/05/24 Срд 01:58:31 3148254 349
https://youtu.be/DucriSA8ukw?si=RJ6GO1VeU64mY7Ym&t=780 а вы видели какие прорывные концепты вводит Zig? Опираясь на обработку ошибок Го, он вводит возможность обрабатывать исключительные ситуации, в том числе неожиданные исключительные ситуации, а так же явным объявлением заставлять программиста обрабатывать ожидаемые ошибки при вызове функции.
Это как го, но только еще удобнее!
Аноним 08/05/24 Срд 02:05:59 3148255 350
>>3148254
зачем создавать 100500 языков, разница между которыми только в имени?
Аноним 08/05/24 Срд 02:13:09 3148257 351
>>3148254
>он вводит возможность обрабатывать исключительные ситуации, в том числе неожиданные исключительные ситуации
Wut? Так это и в жабе можно легко. Ловишь Exception и сидишь пукаешь что там.
>а так же явным объявлением заставлять программиста обрабатывать ожидаемые ошибки при вызове функции
Wut^2? Изобрели checked exceptions? Ну единственное что там можно типа swith-case сделать по коду ошибки.
Аноним 08/05/24 Срд 02:26:18 3148259 352
>>3148242
Нихуя там не джуг. Это спиздинг spring data.
Аноним 08/05/24 Срд 02:32:59 3148261 353
>>3148246
хуй знает чем ты читаешь. Там написаны сопли и эмоции отдельного пориджа, неосилившего типы языка. Jooq он там никак не выделяет на фоне остальных построителей запросов.
Аноним 08/05/24 Срд 02:33:14 3148262 354
Как вкатиться в spring?
Смотрел letscode, но вроде всё уже устарело и как то не особо понятно "зачем он это делает, почему"
Опыт в java, kotlin есть, нужен только спринг (в т.ч. спринг микросервисы и спринг реактив)
Аноним 08/05/24 Срд 04:08:15 3148282 355
>>3148242
Опять этот даун пиарит свою проприетарную нн-парашу.
Аноним 08/05/24 Срд 04:08:49 3148284 356
Аноним 08/05/24 Срд 05:08:55 3148291 357
>>3148048
>тут нет перформанс инженеров
Не был бы я перформанс инженером, я бы не задумался на автомате о том, что ты выдавил низкопроизводительный кал.
Аноним 08/05/24 Срд 05:50:58 3148301 358
>>3148036
>Если тебя бойлерплейт не смущает, то не ной больше про гетсет.
Комментарии уже все написал, безбойлерплейтовый?
Аноним 08/05/24 Срд 10:05:01 3148394 359
>>3148291
Знакомо?
Преждевременная оптимизация — корень всех зол?

Так вот, у меня цель понять границы exhaustive у паттернов, а не написание эффективного листа. Скажу так, уже писал - это скучно.
Так что, вот лучше доебуйся до коллег использующих спринг.
Аноним 08/05/24 Срд 15:17:18 3148645 360
>>3148259
Кодогенерацию из джука спиздили, репозитории из спринг даты.
Аноним 08/05/24 Срд 15:57:07 3148684 361
Если у меня год работы но джуном я могу найти удаленку?
Аноним 08/05/24 Срд 16:37:29 3148737 362
>>3148394
Сложно не быть знакомой с этой мантрой которой говнокодеры оправдывают свой говнокод.
Аноним 08/05/24 Срд 17:01:33 3148756 363
>>3148737
Нууу, в любом случае мой реальный код ты не видел... По крайней мере O(n^2), когда можно линейный я не делаю. А вот сидеть дрочится, а вдрууг эти instanceof будут боттлнеком, хотя они в любом нормальном equals есть, может и сравнения не делать в таком случае, хули нет. Вот короче будут, тогда и приходите..)
Аноним 08/05/24 Срд 18:21:27 3148832 364
Работающие знатоки, поведайте как правильно накинуть себе опыт для вката? Что знать чтобы сложилось впечатление что опыт действительно имеется?
Аноним 08/05/24 Срд 19:10:24 3148890 365
Аноним 08/05/24 Срд 19:48:09 3148932 366
>>3148890
Да почитай книгу spring in action и все. Только то издание, где еще спринг бут не доминирует, 4 что ли.
Аноним 08/05/24 Срд 20:05:03 3148947 367
Аноним 08/05/24 Срд 23:18:20 3149066 368
>>3148254
Я недавно смотрел как шарпомухи чекед эксепшены изобретали, само собой получилось получилось говейно.

>>а так же явным объявлением заставлять программиста обрабатывать ожидаемые ошибки при вызове функции.
Через 5 итераций придумают аналог @SneakyThrows
Аноним 08/05/24 Срд 23:22:10 3149069 369
>>3148262
>>Опыт в java, kotlin есть, нужен только спринг
Это где ты работал с джавой, но без спринга?
Я такое конечно встречал в вакансиях, но там всегда какой нибудь велосипед со вкусом спринга с аннотациями идентичными натуральным.
Аноним 08/05/24 Срд 23:48:38 3149097 370
>>3148737
Таким дебилам как ты, Шипилёв давным-давно сказал: что оптимизация без бенчмарков - говно без задач. Бенчмарков, ты пока не предоставил.
Аноним 08/05/24 Срд 23:50:38 3149100 371
Аноним 09/05/24 Чтв 00:26:16 3149140 372
Аноним 09/05/24 Чтв 01:21:32 3149158 373
>>3148254
Чел говорит что это не трай кетч, точно не трай кетч, но я чета не пойму в чем разница.
Аноним 09/05/24 Чтв 01:40:54 3149165 374
>>3149158
Ну единственное что я вижу - это то что эта штука не разворачивает стэк, то есть быстрее
Аноним 09/05/24 Чтв 01:47:07 3149166 375
>>3149165
+ объекты ошибок не создаются, а по сути существуют всегда одни и те же
Но опять же такое можно симулировать в джаве
Аноним 09/05/24 Чтв 02:34:10 3149182 376
>>3148832
Накинь лучше за воротник.
Аноним 09/05/24 Чтв 02:55:40 3149187 377
>>3148048
>Фу... Мутабельность

У чела в оригинале хаскель. Он ничего там не мутирует, просто делает новый кортеж из старого путем перестановки, и попутно флюродросит на паттерн матчинг риальных пацанов, а-не-вот-это-вот-недоразумение-джавовое. Есть такая порода разрабов, которые вроде неглупые ребята - любят новые штуки изучать, самообразовываться, но никак смириться не могут что мир несовершенен, джава - не хаскель, никогда им не будет, и покодить декларативно в чистом функциональном стиле им на проде врядли когда либо доведется (ничего против хаскеля и ФП не имею, но мир устроен так, а не иначе, сорян).

Пройдет свои юношеские пять стадий принятия и остепенится.
Аноним 09/05/24 Чтв 05:42:35 3149201 378
Аноним 09/05/24 Чтв 13:52:33 3149542 379
>>3149187
я одному такому сказал, что не получилось всех перетащить на хаскель (скалу), теперь из джавы делают хаскель. Он наверно подумал что я быдло
Аноним 09/05/24 Чтв 20:35:40 3150029 380
Лучше бы ЖЕП по поддержке json в стдлибе запилили.
Аноним 09/05/24 Чтв 23:18:50 3150203 381
Как быстро вкатится в Java ? Всё сижу на синтаксисах в JavaRush. Сложность задач там очень плавающая, и я заметил на решение задач можно тратить по несколько дней, так никуда и не продвигать. Иногда забиваю болт на задачи и изаю GPT. Хотя все равно в голове ощущение топтания на месте. При этом слышал много историй как с нуля люди вкатывались за после полугода обучения и вполне успешно прогают.
Аноним 10/05/24 Птн 00:14:54 3150231 382
>>3150203
>Как быстро вкатится в Java ?
Писать много реальных проектов.

>можно тратить по несколько дней, так никуда и не продвигать
Должно пожаловать в реальное программирование. Да, часто так и происходит. Ты сидишь на какой-то мелкой хреновиной и несколько дней думаешь.
Аноним 10/05/24 Птн 04:31:01 3150279 383
>>3150231
> Должно пожаловать в реальное программирование. Да, часто так и происходит. Ты сидишь на какой-то мелкой хреновиной и несколько дней думаешь.
Либо у меня задачи какие-то неправильные, либо ты тупой. Если меня что-то в программировании и блокирует, так это баги, но в последнее время и они имеют свойство разрешаться за несколько часов.
Аноним 10/05/24 Птн 09:52:00 3150362 384
>>3150279
Скорее всего у тебя какие то задачи типовые, либо ты не работаешь с легаси.
Аноним 10/05/24 Птн 09:53:18 3150363 385
>>3150203
>>3150203
Плюсую проекты. Поставь себе задачу сделать круд на буте и смотри что для этого надо знать.
Аноним 10/05/24 Птн 11:40:39 3150417 386
Так смешно, java-пидоры все радуются своему спрингу 22 и новым костылям. Такие древние технологии ещё на asp net 5 версии были из коробки. Какие же джависты убогие
Аноним 10/05/24 Птн 11:53:52 3150433 387
Аноним 10/05/24 Птн 12:12:02 3150456 388
>>3150417
Альтернатива ASP.NET CORE в джава мире это quarkus/micronaut, а не спринг.
Аноним 10/05/24 Птн 14:09:27 3150586 389
>>3150456
А что, в асп коре есть предсборка образа как в кваркусе?
Аноним 10/05/24 Птн 14:20:15 3150604 390
>>3150029
Короче, сделаю все сам и закину пулл реквест в ждк, пусть дальше думают.
Аноним 10/05/24 Птн 15:29:20 3150671 391
>>3150029
Чел, там пару лет назад выпилили, а ты предлагаешь новый XML туда впилить.
Аноним 10/05/24 Птн 16:06:33 3150721 392
Аноним 10/05/24 Птн 17:08:07 3150826 393
Аноним 10/05/24 Птн 17:24:04 3150851 394
>>3150826
Binding нахуй правильно, это сложная тема. А вот парсинг со StAX-апи для чтения был бы к месту, мне кажется. Поверх уже можно все что угодно воротить.
Но я уже отказался от этой идеи, название, которое я хотел использовать, уже занято.
Аноним 10/05/24 Птн 18:09:02 3150908 395
>>3150851
>А вот парсинг со -апи для чтения был бы к месту, мне кажется. Поверх уже можно все что угодно воротить.
Ты много видел парсинга JSON хотя бы в JsonObject? Сейчас 99% это парсинг в некий DTO. Ебаться с StAX никто не хочет.
Аноним 10/05/24 Птн 22:25:07 3151115 396
>>3150908
Ну хз, в питоне есть искоробочный модуль, и парсина в map/list обычно достаточно.
Аноним 10/05/24 Птн 22:32:35 3151124 397
>>3141541
https://github.com/javalin/javalin - вот что больше всего подходит под твоё описание, предельно минималистичный фреймворк, никаких конфигов, 7.3k звёзд , вся либа 760кб, просто в main методе создаёшь сервак и вперед
Аноним 10/05/24 Птн 23:13:12 3151182 398
>>3151115
Да похуй на питон, ты в Java много парсинга в Map видел? У тебя все современные библиотеки сразу предлагают парсть в DTO. Желающих ебаться с Map - нет.
Аноним 11/05/24 Суб 03:41:13 3151354 399
>>3151182
Только потому что этого парсинга в Мап нет. А для быстрых набросков и утилит в 1 класс такой парсинг был бы самое то
Аноним 11/05/24 Суб 08:01:07 3151392 400
Допустим у меня есть класс A, класс B, который расширяет класс A, и класс A содержит puclic/protected поле field(пусть это будет штука типа Integer).
Теперь сам вопрос: можно ли сделать расширение класса B в виде класса C так, чтобы field уже имел другой тип?
Нет ли аналогии @Override для полей?
Аноним 11/05/24 Суб 11:05:43 3151496 401
>>3151392
> класс A содержит puclic/protected поле field
Поехавший, нахуа ты тащишь поля в родительский класс, чтобы их переопределять в детях?
Аноним 11/05/24 Суб 11:27:40 3151512 402
>>3151392
можно через дженерики легко https://pastebin.com/awAwv1sg
>аналогии @Override для полей
если попробовать объявить в дочке поле с тем же именем, то в супере оно не затронется. гугли динамическое связывание.
Аноним 11/05/24 Суб 15:55:06 3151783 403
>>3151354
>Только потому что этого парсинга в Мап нет
Если ты ниасилил вбить один запрос в гугл, это не значит, что нет.
Аноним 11/05/24 Суб 15:56:58 3151784 404
>>3151392
Вьеби логики. Посмотри на твой расклад глазами коллера и сразу поймешь, почему такое не просто не реализовано - оно невозможно и противоречит здравому смыслу.

У тебя B - наследник A. Следовательно, B может быть подставлен аргументом в любой метод, где агрументом ожидается A. А теперь ответь на вопрос - что прикажешь делать нижеследующему методу, если вызвать его с аргументами типа B (или C extends B, неважно), у которых field больше не Integer?

Integer sum(A a, A a2) {
return a.field + b.field;
}
Аноним 11/05/24 Суб 17:46:24 3151888 405
>>3151392
Отчасти, только в скоупе класса С, это называется field shadowing, но для кода в родительских классах тип останется тем же
Аноним 12/05/24 Вск 01:16:52 3152458 406
Ищу готовое решение для фильтрования нецензурной лексики(замены части символов на звездочки или что-нибудь такое) в русскоязычном тексте.
Чтобы подключил двумя строками коробочное решение и забыл.
Подскажи, а?
Аноним 12/05/24 Вск 01:27:10 3152462 407
Аноним 12/05/24 Вск 02:03:17 3152468 408
>>3152462
Не коробочное решение(нет словаря), с кучей ложных срабатываний. Например, что останется от строки "Застрахуй команду корабля со скипидаром" после такой фильтрации?
Лучше варианты есть?
Аноним 12/05/24 Вск 11:07:03 3152612 409
>>3151124
Делал пет на джавалине, норм тема
Мимо вкатунец
Аноним 12/05/24 Вск 11:09:10 3152616 410
>>3152468
String.replaceAll с регексами
Аноним 12/05/24 Вск 12:27:10 3152677 411
я перекачусь к вам с пыхапе, вотувидити!а по сабжу, как анон учился использовать многопток? интересует именно практика, а не справочные пособия
Аноним 12/05/24 Вск 12:36:04 3152684 412
>>3151124
Нормас выглядит кстати

мимо
Аноним 12/05/24 Вск 12:56:54 3152688 413
>>3152677
Молодец!
А по практике - ну собственно только практикой это и решается. Пили проект, где сам вручную обрабатываешь общие данные в несколько потоков, попытайся продумать какие проблемы могут возникнуть из-за гонок доступа к данным. Посмотри от чего защищают синхронайзеды, сымитируй, посмотри чем они плохи, как можно улучшить.
Посмотри от чего защищают локи, волатайлы, атомики и попытайся сымитировать эту ситуацию. И так далее.
Аноним 12/05/24 Вск 13:31:15 3152727 414
>>3152688
хуйню какую-то насоветовал, даже jcstress не упомянул. впрочем многопоток крайне редко встречается, имею ввиду, что этим репозитории занимаются. К примеру, вообще не всем очевидно, что простое чтение volatile обеспечивает ровно те же гараниии по видимости, что и лока.
Аноним 12/05/24 Вск 14:38:49 3152832 415
>>3152677
Практически само пришло. Видел, как используют классы многопоточной либы, читал их доку, начинал сам использовать.
Аноним 12/05/24 Вск 15:27:35 3152910 416
>>3152727
просто иди нахуй, еще глубже в бутылку залезь
Аноним 12/05/24 Вск 15:59:42 3152933 417
>>3152910
какая бутылка, ты про что?
Аноним 12/05/24 Вск 17:42:39 3153054 418
>>3152677
>а по сабжу, как анон учился использовать многопток?

Хуй знат. Совет, который дадут 90% людей (в целом годный), это java concurrency in practice. Лично я вдовесок знаю неплохой курс заточенный под конкретно многопоточку джавы. Все вышеперечисленное поможет проходить собесы, но все же реальное понимание приходит тогда, когда выпадает решить какую то реальную практическую задачу. И вот с этим сложно. Редко выпадает такая возможность.
Аноним 12/05/24 Вск 21:59:38 3153501 419
>>3152616
Анон. ты понимаешь что значит готовое решение?
Я не хочу пердолиться с регэкспами, искать справочник матов, дебажить это все, тестировать разные строки, фиксить ебучие "скиПИДАРы" и вот это вот все.
Весь интернет решает подобную задачу для своих целей, и что, у всех свои велосипеды?
Вы там совсем ебанутые чтоли?
Аноним 13/05/24 Пнд 00:28:45 3153635 420
image.png 75Кб, 1088x661
1088x661
>>3149187
>Он ничего там не мутирует, просто делает новый кортеж из старого путем перестановки
(a, b) = (b, a)
Вне мутабельных языков не имеет смысла жи.
>джава - не хаскель, никогда им не будет
Ну нинаю, пока я смотрю, жаба много чего позволяет. Мне женерики все больше и больше нравятся, вот например на пике карринг и композиция сложная.
>Пройдет свои юношеские пять стадий принятия и остепенится.
Ну хто знает, хто знает. Посмотрим!
Аноним 13/05/24 Пнд 01:45:41 3153710 421
>>3153054
В этой книге нет про комплитабл фьюче инфы,это минус
Аноним 13/05/24 Пнд 01:51:20 3153714 422
>>3153635
>карринг
литерали зачем?
Аноним 13/05/24 Пнд 04:03:16 3153734 423
>>3153635
>non-sealed
Это чё и это нахуя?
Аноним 13/05/24 Пнд 09:43:58 3153827 424
image.png 35Кб, 997x348
997x348
image.png 90Кб, 800x962
800x962
>>3153734
Полная противоположность final. Мол может быть любое количество наследников. Хз почему это надо явно указывать, мб там sealed бай дефолт.
>>3153714
Можно делать пайплайны функций с любым количеством аргументов же(пик1).
Я вот например пиздец как бугуртил, что шарпомухи не додумались у своих делегатов до банальной композиции(пик2). Смысл от этой хуйни ихней мне вообще не ясен после...
Аноним 13/05/24 Пнд 11:38:15 3154009 425
image.png 111Кб, 1042x647
1042x647
>>3153827
Хотя вот еще один пример, где у BiFunction нельзя просто взять и применить andThen, требуется явная лямбда, а значит и указание типов ручками.

Вообще теоретически, на жабе тоже можно сделать функции из составных композиций, как вот видно на хаскеле это j и u, нооо, т.к. переменные не могут содержать полиморфные типы, это невозможно без явного создания методов и вывода типов, впрочем главное, возможность имеется..
Аноним 13/05/24 Пнд 13:22:45 3154194 426
Аноним 13/05/24 Пнд 17:46:13 3154566 427
>>3153710
Комплитабл фьюче и прочие реактивные стримы - это самое простое что есть в джавовом конкарренси. Если освоил материал из книги - в остальном легко разберешься.
Аноним 13/05/24 Пнд 17:53:09 3154578 428
>>3153635
>Вне мутабельных языков не имеет смысла жи.

И тем не менее у тебя там хаскельный ghci в качестве референса.


>на пике карринг и композиция сложная

В карринг я помню джаваны еще на заре выхода восьмерки игрались, когда лямбды со стримами появились. В те времена по рукам еще ходила серия статей с DZone от разочаровавшихся функциональщиков, под заголовком чето типа "Джава - это вам не Хаскель". Найду - запощу: интересное чтиво для своего времени.

Короче - это все игрушки. Пока ты сидишь и дрочишь кошек, оно выглядит перспективно, а как в прод потащишь, быстро прочувствуешь на себе корнер кейсы, где по тебе ебнет и карринг твой, и дженерики.
Аноним 13/05/24 Пнд 18:01:10 3154597 429
>>3153501
>Весь интернет решает подобную задачу для своих целей, и что, у всех свои велосипеды?

Ды какбэ - да. Первый раз чтоли?

А прикинь - опенсорснешь ты такой фильтр, а школота получив такой лютый инсайд для его обхода, начнет его арбузить. И все.
Аноним 13/05/24 Пнд 18:17:16 3154627 430
>>3154578
>на заре выхода восьмерки игрались
Блиин, мне тогда и 10-то не было.
> а как в прод потащишь
Хмм, ну мокито по крайней мере много всякой магии женериковой взяло.
Особенно мне нравица coerce, типаа когда return тайп определяется по женерику, это все настолько няшно, что будто дслка.
В любом случае я пока не работаю, так что лучшее время всякую всячину поизучать.
>Найду - запощу: интересное чтиво для своего времени.
Оки, можно будет перепосчивать, как с тюринг полными женериками)
Аноним 13/05/24 Пнд 19:36:52 3154744 431
>>3154597
>лютый инсайд для его обхода
Ну так и пиши так чтобы не было обхода.
А не видя сорцов он что не догадается как мат написать?
То есть сравнивая веловипеды и опенсорс от комьюнити мы считаем что велосипеды надежнее?
Тут же весь смысл как раз в игре в долгую. Комьюнити получает фидбек и фиксит. А через год получает стабильное прогнозируемое решение.
Я понимаю что от моих впросов библиотека не появится.
Просто грустно чот.
Аноним 13/05/24 Пнд 19:51:34 3154775 432
>>3154744
Да я рофлю, не бузи.

А если серьезно - зря ты так нос воротишь от replaceAll, кмк. Насколько я понимаю, челики, которые решают подобную задачу, дальше замены по блэклисту не особо и заморачиваются (типа - а смысл переусложнять? Все равно без фолс-позитивов решение врядли существует, а так хотя бы просто, понятно и администрируемо). И если че и шарят, то в основном сами блэклисты, типа такого: https://www.myadept.ru/index.php/page/spisok-necenzurnyh-slov-dlja-anti-spama-i-cenzury. Ибо кроме блэклистов там и шарить нечего.
Аноним 13/05/24 Пнд 21:19:37 3154908 433
изображение.png 3Кб, 256x50
256x50
Сап, анонасы, в каком состоянии находится тред, когда джет http-ответа через feign клиент? Running? Этот тред не переиспользуется в момент ожидания, если он на ForkJoinPool крутится?
Аноним 13/05/24 Пнд 21:48:08 3154930 434
Пацаны
Я лениво вкатываюсь на тестировщика.
В процессе обучения легко понял как работают встроенные циклы, многомерные массивы, классы, как писать самому методы и прочие азы. Всякие хелло ворды, калькуляторы, поиск символов в трёхмерных массивах освоил за 2 недели. И чёт мысль засела, мб программистом попробовать стать .
Всё, что я написал это прям элементарные вещи или это уже "чуть-чуть" понимаю ? Или не выебываться и идти тостером.
Аноним 13/05/24 Пнд 21:49:22 3154932 435
>>3154908
В доке okhttp почитай.
>>3154930
Кем хочешь, тем и иди.
Аноним 13/05/24 Пнд 21:55:15 3154939 436
>>3154908
Смотря че конкретно ждет. Если молотит какой то джава-код, то Running. Если ждет ввода-вывода (например, в базу лезет), то скорее всего либо Waiting, либо Timed_Waiting. Если ждет захвата монитора критической секции, то Blocked. На практике наиболее вероятные исходы - второй и третий.

>Этот тред не переиспользуется в момент ожидания, если он на ForkJoinPool крутится?

Если ты просто заменил дефолтный тред пул у сервлетного движка на FJP и с довольным ебалом пошел запросы выполнять, то сорямба - твой план провален, ибо разницы никакой. Чтобы FJP мог выполнять то, для чего он предназначен, и твои таски бить на подтаски, твои таски изначально должны быть разбиваемы. Для этого их надо extendить от RecursiveTask со всеми вытекающими.
Аноним 13/05/24 Пнд 21:57:40 3154940 437
>>3154932
Ну мне зимой надо начать искать работу. А про джаву слышал, что её года 2 точно учить нужно.
Ну и мне тяжело понять порог входа в программирование.
>>3154930 а это я всё написал, чтоб меня хоть примерно сориентироваои насколько это фигня.
Аноним 13/05/24 Пнд 22:42:16 3154980 438
>>3154939
Ждет http ввода-вывода, в профилировщике 90% времени треды в статусе Running. Мне тоже кажется, что статус waiting более логичный, может ли быть такое, что профилировщик мне пиздит? При этом cpu-время на фоне реального времени исчезающе мало.
Аноним 13/05/24 Пнд 22:57:39 3155004 439
>>3154930
Чел, синтаксис месяц учится. Это самое простое.
Больше всего ебани во всяких фреймоврках, кучи кучи спек и спецификаций.
Впрочем, даже в простейшем синтаксисе можно засесть надолго, поскольку подводных там до жопы, та же теория типов, алгоритмов и пр. пр.
Аноним 13/05/24 Пнд 23:19:39 3155033 440
>>3155004
Месяц? Ну ты наверное гений с iq 150
Мне необходимо было 4 месяца.
Но я выкатился и работаю, всё норм. Другие вкатуны также называли 3-4 месяца цифру для самой базы.
Аноним 13/05/24 Пнд 23:20:20 3155035 441
>>3155033
Вкатился лол, а не наоборот
Аноним 13/05/24 Пнд 23:39:45 3155056 442
image.png 52Кб, 1194x422
1194x422
>>3155033
Может они под самой базой java core понимали? Синтаксис это кейворды, в основном. Они вон, на одной картинке умещаются.
>Мне необходимо было 4 месяца.
Хз, лично я никуда не торопился, мне просто было по кайфу, что пограмирование это буквально конструктор детальки для которого безграничны. А еще я чекнул мыло, пиздец я людей заебывал, мде.. Ниче не понменялось, хех....
Аноним 13/05/24 Пнд 23:56:14 3155081 443
>>3154980
Хуй знат, надо смотреть всю картину. Че у тебя там за треды, и че за код они исполняют.
Аноним 14/05/24 Втр 00:01:03 3155087 444
Аноним 14/05/24 Втр 00:19:52 3155108 445
>>3155087
Всмысле? Это - тот же самый FJP, только инстанцируемый через утилитный Executors. Чекни ка сорцы.
Аноним 14/05/24 Втр 00:23:30 3155116 446
>>3155108
Да я знаю. Но по идее он не требует рекурсивных тасок. По крайней мере в доке про енто не сказано.
Аноним 14/05/24 Втр 00:26:10 3155120 447
>>3155116
Ну да, ну да, логика с большой буквы Г.

Давай уже - от торга переходи к депрессии, все равно вещи ведут себя не так как ты от них ожидал)
Аноним 14/05/24 Втр 00:32:17 3155129 448
>>3155116
Формально я тебе соврал маленько, кстати. На самом деле контракт тасок, поддерживающей деление - это ForkJoinTask. RecursiveTask - это одна из каноничных имплементаций контракта.

Впрочем для тебя это ничего не меняет. Если ты кормишь FJP обычными тасками, профита от ворк-стилинга ты не получишь. Он будет вести себя просто как обычный тред пул.
Аноним 14/05/24 Втр 00:40:35 3155137 449
>>3155129
>Он будет вести себя просто как обычный тред пул
А минусы?
Аноним 14/05/24 Втр 00:43:11 3155140 450
image.png 95Кб, 1072x636
1072x636
image.png 88Кб, 1071x675
1071x675
>>3155120
>>3155129
Ну я хз, чел. Вроде робит. Может ты какое-то особое повдение подразумеваешь, хз.
Аноним 14/05/24 Втр 00:57:42 3155148 451
>>3155140
хотя ладно, ты прав. Эта хуйня просто треды плодит, а паралелизм про другое.
Тогда можно виртуальные треды использовать, там тоже fjp, нооо у них в этом плане лучше все. Просто RecursiveTask пидец неудобный, особенно учитывая нулевую оптимизацию рекурсии со стороны хот спота и компилера жабы.
Аноним 14/05/24 Втр 01:04:15 3155151 452
>>3155137
Не знаю - ты мне скажи проблема ли это. Ты же спрашивал:

>Этот тред не переиспользуется в момент ожидания, если он на ForkJoinPool крутится?

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

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

Ну и есть есть лум, ака виртуальные треды. Но это другая история.

>>3155140
И че ты этим пытаешься продемонтсрировать? Ты даже имена тредов не вывел напротив своих сообщений в консоли, чтоб понимать, на каком треду оно вывелось, а уже какие то суждения выдвигаешь. Ну-ка, выведи, удивишься.
Аноним 14/05/24 Втр 01:27:56 3155154 453
>>3155148
Молодец, опередил.

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

Ты слишком предвзято на вещи смотришь. Вся история вокруг "переиспользования тредов", нравится тебе это или нет, так или иначе связана с отвязыванием флоу от нативных потоков. То есть - вот есть у тебя например нативный поток. Он уходит в waiting/blocked, и в тред-пул не запакован. Все. Он занят. Проблема ли это?

На самом деле - пока тредов мало - не проблема. Нативный тред программы != хардварный тред процессора, скедулер просто отдаст процессорное время runnable треду, и похуй что там у тебя парочка тредов в waiting сидит, ни к чему забивать голову такими мелочами как "переиспользование тредов". Проблемой это становится тогда, когда тредов плодится за несколько тысяч. Тогда накладная нагрузка от такой оравы становится заметна и ощутима, в первую очередь по памяти.

И вот большой вопрос - нахера тебе все это. Как по мне, это вот твое "хачу простаивающий тред переиспользовать просто потому что это кажется логичным" - пустая прихоть, которая не даст тебе ничего кроме пучка геморроя.
Аноним 14/05/24 Втр 01:37:04 3155157 454
>>3155154
>Молодец
~~
>На самом деле - пока тредов мало - не проблема.
Ну это-то понятно, просто проблема это тогда, когда их ну тыщ 100. Банально оперативки хватать не будет, да и ос будет наладом дышать..
Энивей виртаульные треды теперь использовать куда проще, чем ебаться с fjp.
Аноним 14/05/24 Втр 02:14:10 3155169 455
>>3155157
>Энивей виртаульные треды теперь использовать куда проще, чем ебаться с fjp
С учетом их ограничений - не совсем так. Они по сути ни для чего не предназначены кроме как быстро отреагировать на событие и всё
Аноним 14/05/24 Втр 04:16:48 3155186 456
sddefault.jpg 33Кб, 640x480
640x480
Внезапно понял, что ебаться с байтами ВНЕЗАПНО не очень увлекательно, поэтому решил изучить ангуляр, чтобы стать фуллстаком. Мысли?
Аноним 14/05/24 Втр 04:42:15 3155187 457
>>3155186
>Ангуляр
>Мысли?
Похуй. Что то сайты, что сё сайты. Что свелте сайт. Что рякт сайт. Что ангуляр сайт. Что вью сайт. Мне лично философия ангуляра не близка. Он у меня ассоциируется с искаверканным хтмлом, с этими ебаными ngFor, ngIf, с огромным бандлом и кривым роутингом. Но если тебе по кайфу, то бери и пользуйся.
Аноним 14/05/24 Втр 07:54:02 3155250 458
>>3155187
Это у тебя не ассоциируется с исковерканым хтмелем?
{users.map(u) => <User user={u} key={u.id} />}
Аноним 14/05/24 Втр 08:35:00 3155262 459
>>3155186
Чат гпт всех заменит, так что бессмысленно. Мльщики теперь короли айти.
14/05/24 Втр 09:01:54 3155271 460
>>3155262
почему чат гпт не заменит королей айти?
Аноним 14/05/24 Втр 09:14:30 3155276 461
>>3155271
Круды, формочки, кнопочки генерируются за секунды и одинаковы во всём мире. Модели в мл общитываются месяцами и тут какой-то абстрактный стандартный совет вряд ли подойдет, т.к. каждый случай уникален и требует мастерства. Мльщики - это новые волшебники, повелители машины. К тому же чат гпт будет благодарен своим создателям и не станет их убивать.
Аноним 14/05/24 Втр 09:29:20 3155286 462
>>3155276
>тут какой-то абстрактный стандартный совет вряд ли подойдет
Потому что ты не разбираешься в матчасти, а просто балаболка интернетная...
Аноним 14/05/24 Втр 09:38:40 3155292 463
>>3155286
Не трясись, крудошлеп. Твоё время подошло к концу. Смирись.
Аноним 14/05/24 Втр 10:20:35 3155330 464
>>3155262
Чатгопота не заменит программистов, нет даже предпосылок для этого. А мльщики - ни что иное как новая итерация анальников от айти, ни больше ни меньше.
Аноним 14/05/24 Втр 10:34:36 3155343 465
>>3155157
>Ну это-то понятно, просто проблема это тогда, когда их ну тыщ 100. Банально оперативки хватать не будет, да и ос будет наладом дышать..

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

И так со всеми видами зеленой многопоточности. Они все так или иначе сидят на нативных тредах, но задачу свою решают не через переиспользование waiting/blocked тредов (что само по себе оксюморон), а через организацию флоу таким образом, чтобы вместо синхронных блокировок можно было тыркнуть асинхронно, а нативный поток отправить обратно в пул до востребования. Обычно такие фортели не проходят без импакта на девелоперский опыт, поэтому мир зеленых потоков - это мир колбеков, всратых абстракций, смешных флюент интерфейсов, покрашенных функций и/или всяких неочевидных особенностей, ограничений и новых способов ебануть себе в колено, в зависимости от реализации подхода.
Аноним 14/05/24 Втр 10:38:57 3155349 466
IMG202405141037[...].jpg 24Кб, 1080x241
1080x241
IMG202405141037[...].jpg 30Кб, 1080x241
1080x241
чому так? Джава сдает свои позиции уже ощутимо лол
Аноним 14/05/24 Втр 10:42:03 3155354 467
Screenshot from[...].png 7Кб, 440x47
440x47
>>3155349
Чому ты такой тупой, а? Гофер чтоли?
14/05/24 Втр 10:53:07 3155360 468
Аноним 14/05/24 Втр 10:53:13 3155361 469
>>3155187
Да мне в принципе похуй на какой фронтенд технологии работать, анонче. Просто по моим наблюдениям ангуляр самый популярный. Я вообще год работал на праймфейсес, но этот кал говна использует 1.5 конторы по всему миру.
Аноним 14/05/24 Втр 11:51:54 3155506 470
>>3155151
>Не знаю - ты мне скажи проблема ли это. Ты же спрашивал
Не я, я вообще другой анон, вашу переписку не читал.
Аноним 14/05/24 Втр 12:29:43 3155559 471
Screenshot20240[...].png 41Кб, 712x451
712x451
Screenshot20240[...].png 62Кб, 623x671
623x671
Screenshot20240[...].png 28Кб, 1169x285
1169x285
Почему идея подсвечивает красным методы, сгенерированные ломбоком? Раньше такого не было. Я размечал POJO аннотациями ломбока, включал препроцессоры аннотаций в настройках и все работало. А сейчас сгенерированные методы подсвечены красным, хотя несмотря на это проект компилируется и запускается. Как это исправить?
Аноним 14/05/24 Втр 12:40:09 3155577 472
>>3155559
>Раньше такого не было

У тебя ломбок-плагин устарел. Зайди в настройки и обнови.
Аноним 14/05/24 Втр 15:11:41 3155793 473
Screenshot20240[...].png 10Кб, 740x193
740x193
>>3155577
Пишет что обновление не требуется
Аноним 14/05/24 Втр 15:27:28 3155813 474
>>3155793
Значит он у тебя тупо не установлен. Иди в раздел плагинов, смотри че там
Аноним 14/05/24 Втр 17:37:34 3156002 475
>>3155559
У тебя должна была выскочить кнопочка при запуске типо врубить препроцессы ломбока или типо того,ну или у тебя действительно не установлен плагин
Аноним 14/05/24 Втр 19:13:14 3156127 476
>>3155559
Идея момент. Пришло время инвалидировать кеши.
Ответить в тред Ответить в тред

Check this out!

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