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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 502 33 131
Java Thread №263 /java/ Аноним 02/02/24 Птн 12:36:57 3031296 1
image.png 722Кб, 1024x1024
1024x1024
image.png 1471Кб, 1024x1024
1024x1024
Аноним 02/02/24 Птн 12:53:19 3031312 2
>>3031294 →
>Самый главный кек это написанный лично Владом меседжинг на базе постгреса. Естественно это всё тормозит неимоверно и его пытаются разогнать добавляя новые ноды. Причем этот ЧСВшный мудак и слышать ничего не желает про кафку.
>Рест самописный на базе sparkjava.com
>Для работы с базой Влад написал библиотеку которая выполняет jooq в одной транзакции. Тот ещё Франкенштейн.
>Пробовали Котлин, и даже написали на нём пару сервисов. Но Владу он не зашёл, плюс плохо работал с Франкенштейном и его запретили для новый сервисов.
>Влад лично пишет код, периодически смотрит пул реквесты. Однажды пришёл в мой пул реквест и высрал своё особо ценное мнение.
>В целом очень гоняться за фичами, поэтому качество кода очень низкое. Плюс народ работает год - полтора и сваливает.
Ебаааать. Впрочем, что ещё ожидать от кодомакаки из UBS, выпустившейся из шараги н-цатого эшелона.
Аноним 02/02/24 Птн 13:01:01 3031332 3
>>3031266 →
Наоборот же, the best practices, класс данных не должен наследоваться, это буквально структура без поведения.

> Приватный геттер
Можно, только что проверил. Нельзя создавать getFoo() когда у тебя уже есть val foo, потому что геттер и так автоматически генерируется для каждой переменной.
Аноним 02/02/24 Птн 13:03:56 3031334 4
>>3031144 →
>Через енум - совершенно точно НЕ надо.
Бля, какой енум, какие статик константы для референсных данных?
>А как это надо было реализовать, по-твоему?
Ну, есть же на худой конец стандартный java.util.Currency. Если уж так хотелось вписать своё имя как создателя, могли бы хотя бы тупо оттуда реализацию слизать:
...
private static ConcurrentMap<String, Currency> instances = new ConcurrentHashMap<>();
private static HashSet<Currency> available;
...
Аноним 02/02/24 Птн 14:46:34 3031558 5
>>3031312
>Рест самописный на базе sparkjava.com
Самописный - значит не на спринге или что?
И что не так со спарком?
Аноним 02/02/24 Птн 15:06:10 3031619 6
>>3030921 →
Так ты покажи результаты лучше, если это не предел. Там +-10 тулзов в топе, и все они имеют один и тот же результат в 7 миллионов с разницей в пределах погрешности. Объяснение этому феномену уже дали, это jit.
Аноним 02/02/24 Птн 15:14:02 3031644 7
170687515885222[...].jpg 48Кб, 613x786
613x786
Аноним 02/02/24 Птн 15:26:05 3031664 8
>>3031294 →
Весёлый человек. Всегда хотел быть таким, только наоборот, как рыцарь зла и рыцарь добра, оба весёлые, но первый делает хуйню, а второй нет.
Аноним 02/02/24 Птн 15:42:46 3031674 9
>>3031619
>Так ты покажи результаты лучше, если это не предел.

Ну смотри, ты написал:
>>> предел железа на 7 миллионах ответов в секунду

Каких-ответов? Допустим, если у тебя процессор 3 ГГЦ и одна инструкция занимает один такт (для простоты возьмём 1 клок = 1 операция, хотя на самом деле сейчас это не так и десяток параметров влияет на скорость исполнения инструкций, может быть и десяток тактов, а может быть и несколько инструкций за такт).

Что в остатке? 3 000 000 000 / 7 000 000 = 428 инструкций.

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

И всё это при условии что сеть, железо и операционная система не вносят свои задержки.
Аноним 02/02/24 Птн 16:01:35 3031713 10
Шарпомуху забанили?
Аноним 02/02/24 Птн 16:45:19 3031780 11
>>3031713
И того хуя, который ко всем доёбывался.
Как-то необычно тихо стало.
И градус ебанизма снизился до приемлемых значений.
Аноним 02/02/24 Птн 16:45:44 3031783 12
>>3031674
Ну так посмотри сурсы бенчмарка течемповереда, какие там ответы. Не важно, сколько там инструкций на один ответ тратится, суть в том, что по диаграмме явно видно упирание в предел на 7 миллионах в самых разных языках.
Аноним 02/02/24 Птн 17:15:35 3031852 13
>>3031558
>Самописный - значит не на спринге или что?
Там поверх него накручена авторизация и ещё некоторые плюшки.

>И что не так со спарком?
Кроме того, что Спарк это просто сахар поверх джетти - ничего.
Аноним 02/02/24 Птн 18:00:02 3031925 14
image.png 157Кб, 274x274
274x274
>>3031852
> Спарк это просто сахар

Скорее уже история, а не сахар.
Аноним 02/02/24 Птн 20:00:03 3032065 15
>>3031852
>Спарк это просто сахар поверх джетти
Да, я уже почитал.
Джетти - вещь.
Я на нём делал разное, когда слова REST ещё даже в проекте не было, лол.
Аноним 02/02/24 Птн 20:40:58 3032131 16
Я мастер регулярок, задавайте вопросы.
Аноним 02/02/24 Птн 20:42:11 3032133 17
>>3032131
Нахуя, а главное нахуя?
Аноним 02/02/24 Птн 20:43:29 3032136 18
Регуляркобляди, что вы ими парсите?
Аноним 02/02/24 Птн 21:14:20 3032210 19
>>3032136
Регулярками парсят данные.
Чтобы затем с ними работать не как с текстом, а как со структурами.

А в чём смысл вопроса? Ты сомневаешься в практической полезности этого колдунства или что?
Аноним 02/02/24 Птн 21:16:48 3032216 20
>>3031674
Ты забыл, что у каждого процессора куча ядер, а в сервере может быть куча процессоров.
Аноним 02/02/24 Птн 21:41:31 3032262 21
Значитсс, в моем городе 0 вакансий по java и +- 10 вакансий по 1с. Вопрос, учить ли мне 1с ?
Аноним 02/02/24 Птн 21:44:07 3032268 22
>>3032262
>1с
Лучше учись управлять экскаватором, больше заработаешь
Аноним 02/02/24 Птн 21:52:32 3032279 23
>>3032216
>Ты забыл, что у каждого процессора куча ядер, а в сервере может быть куча процессоров.
Знаю. И ждал этого коммента.

Ну умножай на общее количество ядер и поправочный коэффициент.
Можно ещё несколько сетевух поставить.
Аноним 02/02/24 Птн 22:00:21 3032287 24
>>3032262
>>3032268
1Сники весьма неплохо зарабатывают - те, у кого душа лежит к такому.
На экскаваторе хорошо пока молодой, и ничего не болит.
А 1Сник чем старше - тем дороже стоит.
И девки из бухгалтерии - все твои.
Аноним 02/02/24 Птн 22:12:19 3032307 25
>>3032287
>1Сник
Ну это так, на первое время работа, пока не восстановится рынок (Украина).
Аноним 02/02/24 Птн 22:24:59 3032316 26
>>3032262
Ответ валить из своего города и учить джаву
Аноним 02/02/24 Птн 22:32:34 3032322 27
>>3032287
>И девки из бухгалтерии
Ну возможно когда тебе будет 45+ они в твоих глазах станут девками, на перспективу думаешь
Аноним 02/02/24 Птн 22:41:49 3032332 28
>>3032316
>валить из своего города в Киев
0 вакансий
Аноним 02/02/24 Птн 22:49:21 3032335 29
Аноним 02/02/24 Птн 23:44:43 3032424 30
>>3032136
Advent of code входные данные.
Аноним 03/02/24 Суб 00:25:17 3032465 31
Глупый вопрос Аноним 03/02/24 Суб 00:49:26 3032477 32
Знатоки java, вопрос.

Я понимаю, что вопрос глупый, но он есть

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

Если кратко: Работа любого интерпретора( а виртуальная машина и есть интерпретатор, но в случае java это байт-код) занимает больше времени, чем аналогичная работа напрямую на железе(это даёт прирост в скорости одинаковых алгоритмов на c/c++ в сравнении с java/python/js/p4gl...). Я правильно понимаю, что для большого числа вычислений ради скорости используют нативные методы? Да и для работы с видеокарты тоже используются нативные методы, которые реализованы на си с использованием каких-либо vulkan/opengl?
Аноним 03/02/24 Суб 01:47:37 3032510 33
>>3032477
>есть как минимум одна игра на java
Есть хуева туча игр на java. В том числе в стиме.

Как это отрисовывается - долго рассказывать.
Сама по себе джава вовсе не медленная. Стартует медленно, это да. А потом - всё ОК.
Работа с видеокартой в наше время всегда происходит через драйвер. Который тоже многослойный сам по себе. И нет вообще никакой проблемы дёргать нативные C/C++ библиотеки из джавы. 3d графика в OpenGL на джаве была ещё хуй знает когда вообще.

На практике сейчас игры делают на libGdx.
Пиздуй по ссылке и наслаждайся:
https://libgdx.com
Аноним 03/02/24 Суб 02:22:46 3032525 34
>>3032510
> И нет вообще никакой проблемы дёргать нативные C/C++ библиотеки из джавы.

Фишка в том, что нативные C/C++ библиотеки можно дёргать из всего. Практичкски любой язык это позволяет.

Но чего бы тогда не писать игру на том же языке, на котором написаны эти библиотеки?
Аноним 03/02/24 Суб 02:30:37 3032535 35
>>3032525
>Но чего бы тогда не писать игру на том же языке, на котором написаны эти библиотеки?
А сам-то как думаешь, сынок?
Или ты реально считаешь всех тех, кто пишет на джаве + libgdx глупее себя? Тебе годиков-то сколько? На ассемблере писал когда-нибудь? А opengl на си дёргал?
Аноним 03/02/24 Суб 02:41:42 3032540 36
image.png 115Кб, 800x1378
800x1378
>>3032535
>А сам-то как думаешь, сынок?
Папа, я думаю что ты не пишешь на плюсах.

>На ассемблере писал когда-нибудь?
Какой конкретно тебя интересует? Для какой архитектуры?

>opengl
Не интересуюсь 3D графикой.
Аноним 03/02/24 Суб 02:51:35 3032550 37
>>3032540
Ну, раз ты такой умный, то почему ты такой бедный?
Аноним 03/02/24 Суб 02:53:43 3032552 38
>>3032540
И да, чуть не забыл:
>Папа, я думаю что ты не пишешь на плюсах.
Конечно нет. Я же не ёбнутый.
Аноним 03/02/24 Суб 02:57:45 3032555 39
>>3032550
>Ну, раз ты такой умный, то почему ты такой бедный?
Жена при разводе обобрала.
И?
Аноним 03/02/24 Суб 03:21:57 3032569 40
>>3032555
Это всё фигня. Деньги можно заработать, если есть мозги.
Но, как раз с этим-то у тебя и не очень.
>Но чего бы тогда не писать игру на том же языке, на котором написаны эти библиотеки?
Редуцируя твоё утверждение, мы приходим к тому, что писать игры (и вообще что либо) нужно исключительно в машинных кодах (т.е. даже не на ассемблере). Что есть натуральный кретинизм. Что и требовалось доказать.

прежде чем отвечать - подумай как следует
Аноним 03/02/24 Суб 09:48:47 3032634 41
>>3032262
Если не хочешь переезжать и тебе ОК 1С, то почему бы и нет?
Аноним 03/02/24 Суб 10:13:33 3032648 42
>>3032477
> Java
> Интерпретатор
> Занимает больше времени чем аналогичная работа на железе
Во-первых, жаба использует JIT, который компилирует байт-код в машинные инструкции, тем самым практически нивелируя разницу между жабой и С++. Хотя при холодном старте программы JIT потратит какое-то время на компиляцию.

Во-вторых, любой код выполняется на железе. Хоть пайтон, хоть луи, хоть баш. Разница между интерпретируемыми языками и компилирируемыми состоит в том, что первые не оптимизируются компилятором, а вторые оптимизируются. Что такое оптимизация компилятора? Например, банальное удаление инструкций из кода, которые ни на что не влияют. В интерпретируемом языке каждая инструкция будет выполнена. В компилируемом только необходимые. Тоже самое касается циклов, тоже самое касается условий и так далее. Фактически компилятор переписывает твою программу в другую программу, которая будет делать самый минимум операций, чтобы достичь того же результата. Это и есть секрет почему компилируемые языки быстрее интерпретируемых, а не то что у одних инструкции выполняются на железе (CPU), а у других нет.

В-третьих, если не хватает производительности на жабе, то действительно могут писать бинарники на С и их вызывать через Java API в жабовской программе. Но здесь ровно та же история, что до этого. Ты можешь запустить на С компиляцию с аргументом О1, что даст тебе сверх-оптимизированный код для текущей платформы (и возможно не корректный, так как это уже игра в угадайку со стороны компилятора). На жабе ты настолько оптимизированный код не получишь.
Аноним 03/02/24 Суб 10:38:08 3032659 43
>>3032648
>это и есть секрет
Такое слово как "оверхед" ты когда-нибудь слышал, теоретик мамкин? Интерпретируемый кал медленнен именно из-за него, а не из-за маняоптимизаций. Спарсить строку инструкции, превратить в машинные инструкции и отправить эти инструкции процессору медленнее, чем отправить инструкции процессору сразу.
Аноним 03/02/24 Суб 10:43:12 3032661 44
>>3032477
Нет, неправильно. Нативные методы медленные и каждый вызов занимает микросекунды, а джавовский код легко превращается в нативный житом. Используют их из-за того, что а) уже много кода написано нативно и нет смысла его переписывать на джаву б) мамкины теоретики на менеджерах, вместо того, чтобы спросить у умных людей, заставляют программистов страдать и писать код на нативной говнине, руководствуясь своими личными манявыводами о скорости нативного кода
Аноним 03/02/24 Суб 11:06:45 3032671 45
>>3032661
Расскажи нам, как ты будешь JIT'ом работать с видеокартой.
И чувакам из libgdx тоже расскажи, а то они там ебутся с нативным кодом, как дурачки.
Аноним 03/02/24 Суб 11:09:15 3032673 46
>>3032671
Ну это проблемы реализации. В теории ничего не мешает связать джаву и видеокарту напрямую. Вот вальхалла же как раз про что-то в этом роде.
Аноним 03/02/24 Суб 11:09:58 3032675 47
>>3032673
А нет, перепутал, это панама про это.
Аноним 03/02/24 Суб 12:14:47 3032731 48
Когда будет валхала - победим сишарп по скорости! Вот увидите! У нас будут свои структуры, сможем игры писать. Сейчас нужно просто не бухтеть.
Аноним 03/02/24 Суб 12:49:08 3032763 49
>>3032673
Что значит, блять, "связать джаву и видеокарту напрямую"?
Ты вообще понимаешь, что такое джава и что такое видеокарта?
Вот с помощью libgdx и подобных вещей их и "связывают".

Была, в своё время, официальная Java3D. Ставилась как расширение виртуальной машины. Т.е. работало это на уровне VM. Но, оно так толком не взлетело. Хотя, даже что-то большое и энтерпрайзное на ней делали. Типа визуализации большого склада и т.п.
Аноним 03/02/24 Суб 13:21:34 3032793 50
>>3032569
>Деньги можно заработать, если есть мозги.
А с чего ты решил, что ты богаче? Может у тебя машина новее/мощнее или там... домик в Испании, которого у меня нет?

> мы приходим к тому, что писать игры
Не, моё утверждение гораздо проще - игры писать не надо, их уже написали столько, что даже половину не пройти, если только играть.

И ещё мы приходим к тому, что кто-то всё равно будет писать игры, поэтому у анона всегда будет во что поиграть.

Ах да, тред же про Java. Она хороша там, где похуй на потребление ресурсов, но важны малое время разработки, безопаность и полный контроль над ошибками.
Аноним 03/02/24 Суб 14:11:06 3032848 51
>>3032540
> Папа, я думаю что ты не пишешь на плюсах.
Писать на плюсах это все-равно что жрать с помойки - хуйпойми какой синтансис разбавлен "вкусняшками" std++, qt, boost, а компиляторы это вообще отдельная песня.
Аноним 03/02/24 Суб 14:12:49 3032852 52
>>3032793
> где похуй на потребление ресурсов
С++ на qt жрёт не меньше.
Аноним 03/02/24 Суб 14:26:40 3032869 53
изображение.png 41Кб, 1564x940
1564x940
>>3032731
Хочу посмотреть на ебальнички дурачков связавших свою жизнь с технологиями M$, когда такое покажет студия, венда, ms sql, azure.
Аноним 03/02/24 Суб 14:31:39 3032875 54
>>3032848
>>3032852
Ребяты, С++ это такой ассембьер на стероидах с блэкджеком и шлюхами.

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

А вот про другие языки так сказать нельзя. В других языках это знание не обязательно (но приветствуется).
Аноним 03/02/24 Суб 15:05:35 3032917 55
>>3032671
>>3032477
>>3032510
Мало того что куча игр на джаве, так еще больше игр на Юнити, который C#, который по сути та же джава и это почему-то никого не смущает.
Если кратко, то после старта программы виртуальная машина обнаруживает часто используемые участки кода и держит кэш его машинного представления, по сути в моменте являясь программой на С.
Посмотри например как быстро работает Rust (игра) - вот это игра на виртуальной машине.
Аноним 03/02/24 Суб 15:43:18 3032945 56
>>3032875
Да да оптимизировать все goto как вы любите и кичиться этим "какой я крутой программист".
Аноним 03/02/24 Суб 16:21:57 3032995 57
>>3031558
На самом деле был охуенный фремворк. Но он уже помер вроде. На замену Javalin.
Аноним 03/02/24 Суб 16:24:48 3033000 58
>>3032131
Mah respectung. Мастером себя не считаю, но хватило силушек забыдлокодить регулярку чтобы детектить один спецефический формат скушек.
Аноним 03/02/24 Суб 17:44:59 3033125 59
Доброго вечера, дорогие анонсы.
Аналитик данных в одном красном банке (не том, что первое место в рейтинге работодателей, скорее, на последнем), стек - python (pd + np + sns + scipy) / excel (vba / прочая ересь) / sql. Хочу свичнуться в джуву, начав с самых низов (и потеряв процентов 50 в ЗП) - ибо тут развития нет, да и загорелся что-то мыслью.
Штудирую Хорстмана - "базовый курс java se 8", потом в планах - Крейг Уоллс : "Spring в действии". Думаю, для попадания на стажировку достаточно.
Сегодня наткнулся на рекламу Javarush, где со всеми скидками предлагают год за 30% от фулл прайса. Как считаете, аноны, оно того стоит? Или лучше не терять время и деньги, идти тем путем, что распланировал выше? Спасибо)
Аноним 03/02/24 Суб 17:48:41 3033132 60
>>3033125
Конечно покупай, лучше всего кредит возьми под это потребительский))) Пото станешь 600к на изичах после курсов зарабатывать)))) Сам после такси сразу на сеньку устроился))))))
Аноним 03/02/24 Суб 18:23:18 3033185 61
>>3033125
Курсы редко стоят своих денег. Я бы продолжал двигаться в том направлении, что ты выбрал + начал бы выполнять слитые тестовые задания на Java разработчика в Sping, чтобы применять теоретические знания на практике.
Аноним 03/02/24 Суб 18:27:53 3033191 62
>>3033125
Имхо быстрее будет взять питоний джанго/фласк/фастапи и попробовать перейти в бэкенд внутри компании.
Аноним 03/02/24 Суб 18:36:57 3033206 63
>>3033191
Не, компания деревянная в плане разработки - своей команды магов-программистов нет, всё исполняется на аутсорсе. Поэтому развития в компании и не вижу.
Спасибо за ответы, буду придерживаться прежнего пути + добавлю практики из заданий с собесов
Аноним 03/02/24 Суб 18:54:15 3033223 64
>>3033125
У джавараша стоит покупать только курс по мавену. И Collection API. Тонкостей оптимизации конструкций вроде linkedList += ("Hello, world") тебе нигде больше не объяснят. А на собесе спросят.
Аноним 03/02/24 Суб 19:42:18 3033328 65
>>3033223
Зачем заниматься оптимизацией если попадаешь в целевые цифры по перформансу?
Аноним 03/02/24 Суб 21:18:11 3033423 66
>>3032477
Вот хороший пример, как это делается:
https://github.com/CaffeineMC/sodium-fabric
Это не пример хорошего кода и практик, тупая чсв пизда на разработчике в последнее время только гадит, практически не улучшая или даже ухудшая перформанс и ломая совместимость со всем, с чем только можно, но это пример того, как в принципе можно рендерить очень много и сложного на чистой джаве.
Аноним 03/02/24 Суб 23:13:36 3033570 67
>>3033125
>>Аналитик данных в одном красном банке
Красный это типа подментованый? втб что ли?

>>Хочу свичнуться в джуву
Внутри конторы свичайся. Пока мидлом не станешь будешь наравне с тысячами таксистов после курсов биться за вакансию.

>>Думаю, для попадания на стажировку достаточно.
ты студент чтоб на стажировку попадать? алгосы еще порешай, чтоб не обосраться на конкурсе.

>>Как считаете, аноны, оно того стоит?
знание языка это от силы 20% из того что тебе надо для вката в джаву.

>>3033206
>>компания деревянная в плане разработки - своей команды магов-программистов нет, всё исполняется на аутсорсе.
фарми стаж пока учишься, без опыта ты нахуй не нужен даже с знаниями. С годом опыта уже сможешь дойти до техсобеса.
Аноним 03/02/24 Суб 23:32:55 3033582 68
>>3033125
Прочитай шапку, там вся инфа.
Аноним 04/02/24 Вск 01:48:24 3033677 69
>>3033570
Тебя на banki.ru забанили? Красный, это - альфа, mts или unicredit.
Аноним 04/02/24 Вск 09:14:49 3033816 70
>>3033328
Затем, что целевые цифры могут быть приемлемы для того, кто их нарисовал, но вызывать налезание глаз на жопу у всех остальных, или у некропукашеров, или у триллионзапросоввнаносекундщиков, или у 360-герцмониторщиков.
Аноним 04/02/24 Вск 10:00:40 3033833 71
>>3033816
Тогда это косяк манагера или кто там рисовал цифры в ТЗ. Тратить время на оптимизацию если по ТЗ всё ОК это тратить время в пустую задерживая сдачу проекта.
Аноним 04/02/24 Вск 10:12:01 3033838 72
>>3033833
Нахождение программистов в капиталистическом рабстве и невозможность ими высрать хоть какое-то своё мнение на большинстве оплачиваемых должностей вообще много чего портит. Я говорю про подход, зачем нужна сильная оптимизация.
Аноним 04/02/24 Вск 10:19:10 3033843 73
>>3033838
Я понимаю тебя и уважаю твой подход. Тем не менее при разработке ПО нужно выбирать или качество или скорость разработки. И то и другое задаётся техническим заданием, согласовывается всеми сторонами работы и если с той стороны оказался некомпетентный человек, то это его проблемы. Если его проблемы это ваши проблемы (например, при разработке продукта), то тогда с вашей стороны менеджеры должны вписать требования к качеству.

В общем, когда разработчик на стендапе докладывает о работе, которой его никто не просил заниматься и при этом его таски никуда не двигаются, это повышает шанс того, что сроки будут профуканы, клиенты уйдут в другое место и вся команда не получит премию/пойдет на улицу.
Аноним 04/02/24 Вск 10:29:01 3033849 74
>>3033843
Так я и не спорил со всем этим. Ты сказал, что нет смысла пересекать планку по оптимизации, но во-первых само по себе наличие планки не совсем правильно и скорее артефакт строгих сделок чем что-то к чему надо стремится, во-вторых большинство высеров про ненужность оптимизации идут в ответ на претензию в использовании медленных подходов которые и в скорости разработки никакого преимущества не дают и просто являются тупыми оправданиями.
Аноним 04/02/24 Вск 10:53:28 3033863 75
>>3033849
> во-первых само по себе наличие планки не совсем правильно и скорее артефакт строгих сделок чем что-то к чему надо стремится
Не стремится, но использовать как индикатор нужно/не нужно выделять время на работы по оптимизации решения.
> во-вторых большинство высеров про ненужность оптимизации идут в ответ на претензию в использовании медленных подходов которые и в скорости разработки никакого преимущества не дают и просто являются тупыми оправданиями
Они дают преимущество в скорости разработки, потому что разработчик пишет как хочет один раз алгоритм и идёт дальше. Он не тратит ни секунды времени на то, чтобы обдумать как написать алгоритм оптимизированным и это есть экономия времени.

Если ты решал когда-нибудь задачки на литкоде, то тебе должно быть это знакомо когда придумываешь какой-то алгоритм, так чтобы он просто корректно работал, получаешь результаты перформанса и видишь, что даже в топ 50 % не попал. Напрягает мозги, и через 30 минут рождаешь алгоритм, который входит по перформансу в топ 10 %.

Вот эти 30 минут помноженные на каждую фичу за год просуммируются в недели работы. Никакой проджект менеджер подобное не может позволить разработчику. Поэтому не важно оптимизированный или не оптимизированный алгоритм был написан, главное что он корректный, что он был написан быстро и что он попадает в требования по перформансу. Это оптимальный подход в разработке коммерческого продукта.
Аноним 04/02/24 Вск 11:04:39 3033868 76
>>3033863
> Не стремится, но использовать как индикатор нужно/не нужно выделять время на работы по оптимизации решения.
Есть ещё такая вещь как последствия изначально неверно сделанного вывода. Часто нельзя руководствоваться планкой, т.к. ещё никаких результатов цельной работы программы нет, а алгоритмы уже пишутся, и если будет написано говно, оно будет вонять вечно.

> Они дают преимущество в скорости разработки, потому что разработчик пишет как хочет один раз алгоритм и идёт дальше. Он не тратит ни секунды времени на то, чтобы обдумать как написать алгоритм оптимизированным и это есть экономия времени.
> Если ты решал когда-нибудь задачки на литкоде, то тебе должно быть это знакомо когда придумываешь какой-то алгоритм, так чтобы он просто корректно работал, получаешь результаты перформанса и видишь, что даже в топ 50 % не попал. Напрягает мозги, и через 30 минут рождаешь алгоритм, который входит по перформансу в топ 10 %.
Я скорее про более глобальные выборы, что не суммируются и прошивку человека, сразу задумывающегося про комплексити и долбоёба, шлёпающего поиск по еррей листу вместо хешмапы. При выборе языка нет оправдания "зато нашлёпаим быстра)))" скриптопараше, и в любом случае время на выбор языка тратится. Когда человеку говорят поменять лист на хешмапу, не надо копротивляться за маняскорость разработки и заявлять про то, какая ты верная псина своему кабану и как много фич успеваешь нашлёпать, или ещё чё-нибудь нерелейтед придумывать, а просто произвести оптимизацию дела 5 секунд.

> Вот эти 30 минут помноженные на каждую фичу за год просуммируются в недели работы. Никакой проджект менеджер подобное не может позволить разработчику. Поэтому не важно оптимизированный или не оптимизированный алгоритм был написан, главное что он корректный, что он был написан быстро и что он попадает в требования по перформансу. Это оптимальный подход в разработке коммерческого продукта.
Ну и нахуй тут эти передёргивания? Неделя в год не стоит умножения скорости в десяток раз? И я уже говорил если т.н. бизнес требует здесь и сейчас и ему неделя не стоит, это проблема самого подхода бизнеса, когда программистов заставляют делать хуйню, и это не оправдание по теме.
Аноним 04/02/24 Вск 11:58:33 3033909 77
>>3033868
> неделя в год
Недели в год. Помноженные на 10 разработчиков и уже будет полгода разработки потраченного на оптимизации того чего никто не просил оптимизировать.
> поиск по листу вместо хэшмапа
Я про это по сути и говорил. Если у тебя этот список используется для хранения 10 элементов, то абсолютно всё равно какую структуру используешь. Аргумент, что хэшмапа ускорит алгоритм на 50 % когда латенси 2 микросекунды интересен лишь в спортивном программировании, но не в коммерческой разработке.
> требование здесь и сейчас это проблема бизнес подхода
И как твои успехи в объяснении этой мысли кабану/менеджеру/тимлиду?
Аноним 04/02/24 Вск 12:05:48 3033912 78
>>3033677
Я каждую финтех парашу еще по логотипу что ли должен знать?
Напиши прямо че за банк или вообще не пиши. А то ебать нагнал таинстсвенности "красный банк".
Аноним 04/02/24 Вск 12:20:24 3033917 79
>>3033909
>>Недели в год. Помноженные на 10 разработчиков и уже будет полгода
10 недель это 2 с небольшим человеко-месяца, а не полгода. Просто одна фича из сотни ненужных.
К тому же в энтерпрайзе это не выбор между оптимизация vs фича, это выбор между оптимизация vs дунасинг.
Аноним 04/02/24 Вск 12:22:37 3033918 80
>>3033917
> дунасинг
У меня в бэклоге 96 задач. Я смогу делать дунасинг примерно никогда.
Аноним 04/02/24 Вск 12:44:49 3033929 81
>>3033909
> Недели в год. Помноженные на 10 разработчиков и уже будет полгода разработки потраченного на оптимизации того чего никто не просил оптимизировать.
А если подсчитать, сколько все жители планеты стоят на светофоре...

> Я про это по сути и говорил. Если у тебя этот список используется для хранения 10 элементов, то абсолютно всё равно какую структуру используешь. Аргумент, что хэшмапа ускорит алгоритм на 50 % когда латенси 2 микросекунды интересен лишь в спортивном программировании, но не в коммерческой разработке.
Ну ты даун значит, что сказать, раз копротивляешься за говнокод из-за своей спеси.

> И как твои успехи в объяснении этой мысли кабану/менеджеру/тимлиду?
Может по делу что-то высрешь?
Аноним 04/02/24 Вск 12:47:56 3033933 82
>>3033909
Дауну уже объяснили, что всё что он высирает вытекает из того, что его кабан тупое дегенеративное хуйло, а он рабская скотопидорашка, которая делает всё чтобы побольше фич ему запилить, и что все аргументы основанные на этом никакого отношения к теме необходимости оптимизации и программирования в целом не имеют, но он продолжает талдычить одно и то же, барин сказал, барин сказал. Энтерпрайз головного мозга, хули.
Аноним 04/02/24 Вск 12:49:56 3033935 83
>Сап двач, сегодня я пришёл к очевиднейшей и непоколебимой истине вселенского масштаба: оптимизация не нужна. Вот мой аргумент: мой кабан сказал, что оптимизировать не надо.
Аноним 04/02/24 Вск 13:18:31 3033959 84
Почему вы еще не перекатились на Котлин?
Аноним 04/02/24 Вск 13:41:10 3033984 85
Аноним 04/02/24 Вск 14:14:39 3034038 86
Аноним 04/02/24 Вск 14:38:24 3034091 87
>>3034038
Нихуя себе аргументированный ответ энтерпрайз господина.
Аноним 04/02/24 Вск 15:14:17 3034164 88
image.png 1283Кб, 900x1200
900x1200
Почему, мистер шарпоеб, почему? Во имя чего? Что вы делаете? Зачем, зачем несете хуйню? Зачем продолжаете щитпостить? Неужели вы верите в какую-то миссию, или вам просто страшно признать свою неправоту? Так в чем же миссия, может быть, вы откроете? Это дуднет, аспнет, может быть, шарп, или вы боретесь за майкрософт? Иллюзии, мистер шарпомух, причуды восприятия. Хрупкие логические теории слабого шарписта, который отчаянно пытается оправдать свой ЯП — бесцельны и бессмысленны! Но они, мистер шарпоеб, как и Матрица, столь же искусственны. Только индус из майкрософт может выдумать скучное и безжизненное понятие «.NET»! Вам пора это увидеть, мистер шарпоеб, увидеть и понять! Вы не можете победить, продолжать борьбу бессмысленно. Почему, мистер шарпомух, почему вы упорствуете?
Аноним 04/02/24 Вск 15:17:53 3034176 89
>>3034164
>пик
Груви тут лишнее. Это базовое говнецо от базового апача.
Аноним 04/02/24 Вск 15:30:18 3034195 90
>>3034164
Смотрю на твою картину и вспоминаю что ноги Windows NT растут из VAX и OpenVMS.

Интерполирую в "Все на VAX, ибо NT это мутировавший VAX".
Аноним 04/02/24 Вск 16:07:47 3034296 91
>>3033959
Ни к чему, если уж нужен действительно продвинутый инструмент, есть божественная скала.
Аноним 04/02/24 Вск 16:50:21 3034402 92
>>3034195
Там больше вроде OS/2 чем VMS.
Аноним 04/02/24 Вск 16:51:49 3034403 93
>>3034296
Этого нульчую
олдфаг
Аноним 04/02/24 Вск 17:35:53 3034497 94
Посоветуйте материалов по сесурити в спринге.
Жвт токены, корсы, csrf.
Только в оф доку не надо слать. Она большая, много лишнего и примеры такие себе.
Аноним 04/02/24 Вск 17:37:10 3034502 95
>>3033918
Так у тебя разве только ты один в команде?
Аноним 04/02/24 Вск 17:39:43 3034511 96
>>3033918
Что мешает игнорировать открытые задачи?
Аноним 04/02/24 Вск 20:05:06 3034741 97
>>3034502
Эти задачи только на меня одного. Общий бэклог я не знаю какой.
>>3034511
Тимлид, который накидывает следующую порцию после того как сделаю текущую. Пока делаю текущую появляется ещё парочка в бэклоге. Молодой продукт - горе разработчику. Я бы хотел как работники банка сидеть на каком-то древнем легаси и пилить одну тачку в месяц. Но я работаю на технологическом острие в моей заднице в молодом стартапе.
Аноним 04/02/24 Вск 21:38:46 3034922 98
>>3034741
Просто на созвонах говоришь что "задача в процессе, пока разбираюсь" или "жду ответа от другой команды, пока не приходили". У нас так полкоманды делает.
Аноним 04/02/24 Вск 21:49:01 3034941 99
>>3034741
>Эти задачи только на меня одного. Общий бэклог я не знаю какой.
Ничего себе у тебя команда. Вы никогда общий бэклог не просматриваете, не грумите?
Аноним 04/02/24 Вск 21:52:32 3034948 100
>>3034941
Смотрим, но достаточно редко, чаще всего я сам выбираю себе из него задачи + выбирает тимлид. На планинге задачи тимлиду засовывается в спринт + пара моих задач если лид считает, что его задач мало.
Аноним 05/02/24 Пнд 22:45:12 3036837 101
как в джаву вкатиться? что делать - учить?
Аноним 05/02/24 Пнд 23:26:18 3036913 102
Аноним 05/02/24 Пнд 23:32:26 3036924 103
>>3036913
Затем, чтобы получить лучший язык по сумме всех качеств, и просто лучший по возможностям и выразительности.
Аноним 05/02/24 Пнд 23:34:50 3036929 104
>>3036913
получить работу в IT
Аноним 05/02/24 Пнд 23:39:29 3036934 105
>>3036924
От того, что ты выучишь Java, язык лучше не станет.
Аноним 05/02/24 Пнд 23:40:11 3036935 106
>>3036934
А причём тут я или тот кто спрашивал про изучение джавы вообще?
Аноним 05/02/24 Пнд 23:42:01 3036937 107
Аноним 05/02/24 Пнд 23:49:16 3036945 108
>>3036937
чтоб не работать на заводе и гайки крутить?
Аноним 05/02/24 Пнд 23:54:03 3036959 109
>>3036945
Так на заводе лучше, чем в ИТ.
Аноним 06/02/24 Втр 00:08:57 3036990 110
Аноним 06/02/24 Втр 00:10:50 3036994 111
Аноним 06/02/24 Втр 00:19:40 3037006 112
Какой язык программирования может быть полезен в карьере джависта кроме джавы?
Аноним 06/02/24 Втр 00:23:34 3037015 113
Аноним 06/02/24 Втр 00:27:54 3037024 114
>>3037015
А в чем их польза, можно развернуто?
Аноним 06/02/24 Втр 00:35:31 3037032 115
>>3037024
Завтра напишу если никто не ответит.
Аноним 06/02/24 Втр 00:49:50 3037049 116
>>3036959
гайки крутить? мне не хочется
Аноним 06/02/24 Втр 00:54:17 3037054 117
>>3037049
А что тебе хочется?
Аноним 06/02/24 Втр 01:27:55 3037076 118
>>3036837
Учи сам язык, спринг бут, мавен/грэдл, гит и старайся как можно быстрее начать работать где-угодно чтобы нарабатывать опыт
Аноним 06/02/24 Втр 01:30:38 3037077 119
>>3036934
Потому что он уже безупречен
Аноним 06/02/24 Втр 01:48:26 3037085 120
>>3037076
Все сделано. 2 года стажа "хоть где-то" есть. А дальше чего ?
Аноним 06/02/24 Втр 01:57:53 3037092 121
>>3037054
писать код и получать чуть больше среднего в регионе
Аноним 06/02/24 Втр 08:53:35 3037204 122
>>3037092
Сделано, что дальше?
Аноним 06/02/24 Втр 10:16:30 3037267 123
>>3037024
Ни в чём. Говно нахрюки.
Аноним 06/02/24 Втр 10:17:53 3037269 124
>>3037091
Судя по тому как шарподауны ежедневно разрываются у нас в треде на ровном месте, именно их нервы попорчены, и я даже знаю чем. ГЕТСЕTNНNТ
Аноним 06/02/24 Втр 12:16:05 3037386 125
>>3037085
если профильная вышка - учи алгосы + сисдиз и вкатывайся в скотомяс на большие сотыги
Аноним 06/02/24 Втр 16:04:22 3037679 126
Чем кнопочка билд отличается от мавен клин инстал?
Аноним 06/02/24 Втр 21:58:23 3038299 127
>>3037679
Тем, что под кнопочкой может находиться любая взбредшая в больную голову идеи команда вместо слин инсталла, ну или взбредшая тебе в голову, если ты настроишь это.
Аноним 07/02/24 Срд 00:09:25 3038423 128
Как выполнить это условие в задаче?

"Обратите особое внимание проблемам при работе в конкурентной среде (1000 RPS по
одному кошельку). Ни один запрос не должен быть не обработан (50Х error)"

Запросы сохранять в кафку, а потом из кафки их забирать?
Аноним 07/02/24 Срд 00:34:53 3038451 129
>>3038423
>Ни один запрос не должен быть не обработан
Харкнул бы в ебало тому кто это написал.
Аноним 07/02/24 Срд 02:22:35 3038560 130
>>3038299
А по умолчанию он че делает
Аноним 07/02/24 Срд 02:25:42 3038561 131
>>3038423
Классическая "экзектли ванс",сначала пишешь в базу,потом из базы пушишь,на успешную фиксацию от брокера вешаешь колбек на удаление из базы, ещё идемпотентный режим на продюсере включи чтобы о дублировании при ретраях не думать
Аноним 07/02/24 Срд 03:38:16 3038567 132
>>3038423
Это откуда? Какое-то тестовое на работу? Дай ссылку. Жажду вкатиться.
Аноним 07/02/24 Срд 06:02:32 3038586 133
>>3038560
Ну так посмотри чё там в конфиге написано.
Аноним 07/02/24 Срд 10:19:18 3038704 134
>>3037032
Браток, можешь все таки рассказать? Вот хочется что-то выучить, кроме джавы. Но не хочется учить и потом никогда не использовать.
Из того что я сам представляю. Ну это
1. Жс и тс с фреймворками. Ну фрон для бека мочь написать. Но фулстеком быть не хочется.
2. Котлин. Есть вакансии где часть сервисов на котлине. Но выглядит, как просто свистоперделка.
3. Питон. Ну это для сиайки вместо баша использовать или руками запустить скрипт на виртуалке или на локальном линуксе. Такие кейсы были у коллег, но у меня пока не было, чтобы нагугленного скрипта баша не хватило.
Аноним 07/02/24 Срд 11:45:24 3038811 135
>>3038704
Первое можно, а вот 2 и 3 совершенно юзлес навыки.
Аноним 07/02/24 Срд 11:59:21 3038826 136
Аноним 07/02/24 Срд 12:49:54 3038935 137
@Transactional это спринговское понятие или нет? Там же создаётся прокся и все. Если транзакция валится ее нужно роллбекнуть,а ведь не для всех операций можно сделать обратную. Мы ведь не можем вешать жту аннотацию на методы где внутри не происходит доступ к бд. Как это работает?
Аноним 07/02/24 Срд 13:17:00 3038990 138
Убедите меня не скатываться на Nodejs
Аноним 07/02/24 Срд 13:46:11 3039042 139
Аноним 07/02/24 Срд 13:51:53 3039054 140
>>3038935
>@Transactional это спринговское понятие или нет?
Сейчас уже добавили и Jakarta EE.

>>3038935
>Если транзакция валится ее нужно роллбекнуть,а ведь не для всех операций можно сделать обратную. Мы ведь не можем вешать жту аннотацию на методы где внутри не происходит доступ к бд. Как это работает?
Это работает, только для тех операций которые поддерживают JTA. Обычно речь идёт только о базах, но может быть и меседжинг который подтверждает получение сообщения.
Аноним 07/02/24 Срд 16:47:18 3039415 141
>>3039054
Не знаешь в каком классе происходит проверка на "поддержку jta"? И что если не поддерживает,просто не создаётся прокси?
Аноним 07/02/24 Срд 17:23:46 3039457 142
Подскажите пожалуйста, если комментарии пишутся на английском языке, то разработку ПО так же писать на английском языке ?
Аноним 07/02/24 Срд 19:11:04 3039592 143
>>3039457
Kommentarii na dvache tozhe nado pisat na angliyskom yazike.
Аноним 07/02/24 Срд 22:43:07 3039930 144
>>3039618
> лучший президент
Не ври, я ещё не правлю
Аноним 07/02/24 Срд 23:24:37 3040005 145
Аноним 07/02/24 Срд 23:27:18 3040009 146
>>3039042
Херня какая-то. Не могли петшоп потестить и убидится, что постгре сосёт у оркала, а на джаву вообще похер.
Аноним 08/02/24 Чтв 02:07:48 3040074 147
>>3039457
Комментарии на любом языке пишутся. Это названия классов и методов на производном английского.
Аноним 08/02/24 Чтв 11:09:36 3040200 148
Аноним 08/02/24 Чтв 15:10:43 3040420 149
Аноним 08/02/24 Чтв 16:45:04 3040539 150
>>3040200
Привет когда посмотришь
Аноним 08/02/24 Чтв 16:56:32 3040563 151
>>3040539
Щас твою мамашу дозакапываю и посмотрю на могилу.
Аноним 08/02/24 Чтв 17:27:28 3040620 152
>>3040563
Давай,таску на тебя перевел
Аноним 08/02/24 Чтв 18:20:24 3040748 153
>>3031296 (OP)
Здравствуйте, а какие преимущества Java перед C# в 2024 с точки зрения разработчика?
Аноним 08/02/24 Чтв 18:27:29 3040761 154
>>3040748
Никаких. Теперь иди нахуй.
Аноним 08/02/24 Чтв 18:31:36 3040771 155
>>3040761
А какие еще компании помимо Тинькофф начали переходить на сишарп с джавы?
Аноним 08/02/24 Чтв 18:55:32 3040810 156
>>3040748
Дохуя. Система сборки, меньше бойлерплейта (с лобком только правда), скорость, библиотек много, майнкрафт, обратная совместимость, ещё туева хуча всяких более мелких вещей, которые записаны в моей пасте, от которой шарподебилов жопа на луну высылает, но которая у меня на компе, а я с телефона печатаю щас.

Но, как тебе уже сказали, иди нахуй, порвакатор. Для языкосрачей отдельный тред есть.
Аноним 08/02/24 Чтв 20:25:45 3040927 157
Да как блядь написать этот парсер ебучий???
Аноним 08/02/24 Чтв 20:56:29 3040991 158
Аноним 08/02/24 Чтв 21:02:37 3041010 159
>>3040991
Я не могу. Надо распарсить аргументы функции из java сурс кода. Ту часть что между скобками. При этом аргументом может быть строка, символ, обычное число или переменная. Строки могут быть с конкатенацией и аргументы могут быть на нескольких строках.
Аноним 08/02/24 Чтв 21:09:57 3041029 160
>>3041010
Какая-то наркомания, хотя не звучит как что-то сложное. Проверяешь типа аргумента и засовываешь его в соответствующий парсер если я правильно понял проблему
Аноним 08/02/24 Чтв 21:12:04 3041039 161
>>3041029
Хз, третий день не могу написать, всю голову сломал.
Аноним 08/02/24 Чтв 21:13:38 3041041 162
>>3041039
Скинь ТЗ, я в чатгопоту платную засуну
Аноним 08/02/24 Чтв 21:14:18 3041044 163
Аноним 08/02/24 Чтв 21:16:35 3041049 164
>>3041044
Ты это называешь ТЗ? >>3041010
Если да, то у меня для тебя плохие новости
Аноним 08/02/24 Чтв 21:31:51 3041083 165
>>3041049
Закинул в бесплатную чатгопоту, он расписал вроде. Завтра на работе буду пробовать. В твоей помощи я НЕ НУЖДАЮСЬ.
Аноним 08/02/24 Чтв 21:45:07 3041112 166
>>3041083
> ноет в треде
> НЕ ПОМОГАЙТЕ МНЕ
Ладно, ладно
Аноним 08/02/24 Чтв 22:16:29 3041180 167
>>3040771
>А какие еще компании помимо Тинькофф начали переходить на сишарп с джавы?
При Олеге такой хуйни не было.
Аноним 08/02/24 Чтв 23:12:24 3041217 168
>>3041180
Че за пиздеж, с чего вдруг им переходить?
Аноним 08/02/24 Чтв 23:19:18 3041221 169
Аноним 08/02/24 Чтв 23:21:24 3041222 170
>>3041217
Жавистов уже который год не могут под свой днищебюджет найти, вестимо. Не пойму только, почему они думают, что с шарпом такого не будет. Днищебюджет он и в Африке дно, даже шарпомухи на такое говно вряд ли сядут.
Аноним 08/02/24 Чтв 23:39:29 3041232 171
>>3041010
Надо грамматику писать.
Аноним 09/02/24 Птн 00:07:29 3041237 172
>>3041221
То что у них появились проекты или сервисы на шарпе значит что они от джавы отходят?
У них до сих пор куча конф и блогов по джаве. На Хабре ведут дайджест по новинкам джавы.
А вот то, что озон именно переписывал огромную часть логики что была на шарпе на го, они сами много раз писали.
Аноним 09/02/24 Птн 08:15:09 3041352 173
Screenshot from[...].png 7Кб, 319x118
319x118
Задумал освежить в голове алгоритмы. Прочитал про быструю сортировку, идея сама понятна. Посмотрел реализацию на Питоне, вопросов не возникло. А вот реализацию на Java, которая на известных сайтах указана (тут например: https://www.baeldung.com/java-quicksort) я понять не могу. Точнее, один момент прежде всего смущает. Зачем в методе partition(...) в конце всегда свопаются эти элементы, вне зависимости от того, больше они или меньше, чем pivot?
Аноним 09/02/24 Птн 11:20:04 3041499 174
2024-02-0913-16[...].png 71Кб, 802x632
802x632
FPU просто пиздец какие быстрые. Я бы даже сказал, учитывая их скорость, можно сказать, что они работают мгновенно. Сложно представить себе ситуацию, в которой будет упор на FPU. Я думаю это не только потому, что сами вычисления выполняются быстро, но и потому, что нагрузка на FPU обычно не стакается при увеличении абстракций, а вот количество всех остальных инструкций легко может расти экспоненциально от криворукости разработчиков.

Пришёл я к такому выводу, прикидывая наилучшие входные данные для генератора чисел в распределении weibull-length и заметив, что на большом разрешении программка для семплирования подлагивает нехило. Решил добавить небольшой бенчмарк, и оказалось, что сама генерация занимает тут считанные мгновения, а время в основном тратится внутри javafx.
Thymeleaf галлюцинирует? Аноним 09/02/24 Птн 11:38:51 3041526 175
Есть небольшой проект на Spring Boot 3.2.x и Thymeleaf. Когда я запускаю его из IDE, главная страница (localhost:8080) отображается корректно. Когда же я собираю его (mvn clean package) и запускаю через java -jar, по localhost:8080 мне открывается что-то странное и не похожее на index.html внутри jar'а. Где может быть проблема?
Аноним 09/02/24 Птн 16:05:44 3041882 176
Аноним 09/02/24 Птн 16:07:42 3041883 177
Аноним 09/02/24 Птн 17:57:54 3041997 178
>>3041232
Возьми ANTLR там есть грамматика для Java.
Аноним 09/02/24 Птн 18:36:58 3042030 179
Вот что мне выдал chatgpt. Обьясните пожалуйста как это работает, что на выходе получается, и как мне определить что на картинке, например что это цифра 1 ?

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

java
Copy code
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import java.util.Arrays;

public class SimpleCNN {

public static void main(String[] args) {
// Загрузка изображения
BufferedImage image = loadImage("path/to/your/image.jpg");
if (image != null) {
// Преобразование изображения в трехмерный массив
double[][][] input = imageToMatrix(image);

// Параметры сверточного слоя
int inputSize = image.getHeight();
int kernelSize = 3;
int numKernels = 2;

// Создание сверточного слоя
ConvolutionalLayer convLayer = new ConvolutionalLayer(inputSize, kernelSize, numKernels);

// Прямой проход через сверточный слой
convLayer.forward(input);

// Получение выходных данных
double[][][] outputs = convLayer.getOutputs();

// Вывод результатов
System.out.println("Outputs after convolution:");
for (int i = 0; i < numKernels; i++) {
System.out.println("Kernel " + (i + 1) + ":");
for (int j = 0; j < inputSize - kernelSize + 1; j++) {
for (int k = 0; k < inputSize - kernelSize + 1; k++) {
System.out.print(outputs[j][k] + " ");
}
System.out.println();
}
System.out.println();
}
}
}

// Загрузка изображения
private static BufferedImage loadImage(String filePath) {
try {
return ImageIO.read(new File(filePath));
} catch (IOException e) {
e.printStackTrace();
return null;
}
}

// Преобразование изображения в трехмерный массив
private static double[][][] imageToMatrix(BufferedImage image) {
int height = image.getHeight();
int width = image.getWidth();
double[][][] matrix = new double[3][height][width]; // 3 канала для RGB

for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int rgb = image.getRGB(x, y);
matrix[0][y][x] = (rgb >> 16) & 0xFF; // Красный канал
matrix[1][y][x] = (rgb >> 8) & 0xFF; // Зеленый канал
matrix[2][y][x] = rgb & 0xFF; // Синий канал
}
}

return matrix;
}
}

// Класс сверточного слоя
class ConvolutionalLayer {
private int inputSize;
private int kernelSize;
private int numKernels;
private double[][][] kernels;
private double[][][] outputs;

public ConvolutionalLayer(int inputSize, int kernelSize, int numKernels) {
this.inputSize = inputSize;
this.kernelSize = kernelSize;
this.numKernels = numKernels;
this.kernels = initializeKernels();
this.outputs = new double[numKernels][inputSize - kernelSize + 1][inputSize - kernelSize + 1];
}

// Инициализация весов (ядер)
private double[][][] initializeKernels() {
// Реализуйте ваш метод инициализации весов
// Здесь просто случайные значения для примера
double[][][] newKernels = new double[numKernels][kernelSize][kernelSize];
for (int i = 0; i < numKernels; i++) {
for (int j = 0; j < kernelSize; j++) {
for (int k = 0; k < kernelSize; k++) {
newKernels[j][k] = Math.random();
}
}
}
return newKernels;
}

// Прямой проход (применение свертки)
public void forward(double[][][] input) {
for (int i = 0; i < numKernels; i++) {
for (int j = 0; j < inputSize - kernelSize + 1; j++) {
for (int k = 0; k < inputSize - kernelSize + 1; k++) {
double sum = 0;
for (int l = 0; l < kernelSize; l++) {
for (int m = 0; m < kernelSize; m++) {
sum += input[0][j + l][k + m] * kernels[l][m]; // Используем только один канал (например, красный)
}
}
outputs[j][k] = sum;
}
}
}
}

public double[][][] getOutputs() {
return outputs;
}
}
Этот пример загружает изображение, преобразует его в трехмерный массив, применяет сверточный слой и выводит результаты. Заметьте, что этот код предназначен для иллюстративных целей и может потребовать доработок и оптимизаций для использования в реальных приложениях.
Аноним 09/02/24 Птн 18:42:54 3042045 180
>>3042030
Ты хочешь реализовать распознавание изображений на жабе не используя сторонних библиотек?

Для твоей задачи есть OpenCV, но он тяжёлый. Думаю проще найти на гитхабе какую-нибудь обученную сетку на распознавание цифр, с бэкэндом в виде тензорфлоу, и жаба апи.
Аноним 09/02/24 Птн 20:38:36 3042264 181
>>3041882
>>3041997
Уже все решил с помощью чатгопоты. Не нужен там антлр.
Аноним 09/02/24 Птн 22:01:58 3042363 182
>>3042045
>хочешь реализовать распознавание изображений на жабе не >используя сторонних библиотек?

Именно.

Неужели настолько сложно переписать свёрточную нейронную сеть в обычный алгоритм ?
Вот например перцептрон -



If (x == 0) {
//then
} else if (x == 1){
//else
}


ChatGPT:
Алгоритм работы сверточной нейронной сети (CNN) можно разделить на несколько этапов: ввод данных, прямой проход (прямое распространение), обратный проход (обратное распространение) и обучение. Давайте рассмотрим каждый из этих этапов подробнее:

Ввод данных:

Изображение: Входные данные для сверточной нейронной сети часто представляют собой изображения. Изображение представляется трехмерным тензором, где размерности соответствуют высоте, ширине и количеству каналов (RGB, например).
Батч данных: Обычно данные передаются в сеть в батчах (наборах из нескольких примеров), что позволяет ускорить обучение и улучшить обобщение.
Прямой проход (Прямое распространение):

Сверточные слои: Сначала входные данные проходят через сверточные слои, в которых применяются фильтры (ядра) к локальным областям данных. Это помогает извлечь различные признаки из изображения.
Активации: Результаты свертки подаются через функции активации (например, ReLU), чтобы добавить нелинейность в сеть.
Подвыборка: Чтобы уменьшить размерность данных и выделить наиболее важные признаки, применяется подвыборка.
Полносвязные слои:

Вытягивание (Flattening): После сверточных слоев данные вытягиваются в одномерный вектор, чтобы передать их в полносвязные слои.
Полносвязные слои: В полносвязных слоях каждый нейрон связан со всеми нейронами предыдущего слоя. Эти слои позволяют модели объединять признаки и делать выводы на основе всего входного пространства.
Выходной слой:

Финальные прогнозы: Выходные данные с полносвязных слоев передаются в выходной слой, который генерирует прогнозы модели (например, для задачи классификации).
Обратный проход (Обратное распространение):

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

Итерации: Процесс прямого и обратного прохода повторяется на нескольких итерациях (эпохах) с новыми батчами данных.
Минимизация функции потерь: Целью обучения является минимизация функции потерь, чтобы модель могла делать точные прогнозы на новых данных.
Аноним 09/02/24 Птн 22:34:23 3042394 183
>>3042363
Нейронная сеть это просто огромная матрица. Её можно написать на любом языке
Аноним 09/02/24 Птн 22:38:44 3042398 184
image.png 2188Кб, 1600x900
1600x900
Аноним 09/02/24 Птн 23:44:36 3042436 185
>>3041237
>То что у них появились проекты или сервисы на шарпе значит что они от джавы отходят?
Это большая копрорация - там будет всё. Есть вещи которые они купили. Условно это для примера, у меня нет инфы купили они права на некий сервис телефонии на .Net и теперь развивают свой телефонный спам на его базе. Понятно же что не будут переписывать на Java, а будут развивать и дальше.
Но дальше будет бодание между .Net и Java командами, на чем начинать писать проект Х. Но в реальности это больше административные вещи, у кого больше аппаратный вес. На технологические преимущества платформ руководству похуй.
Аноним 10/02/24 Суб 10:36:18 3042630 186
>>3042436
Тут еще такой аспект, что на джаве работы много и зп высокие, шарписты подешевле будут, а тинек контора невероятно жадная
Аноним 10/02/24 Суб 11:42:05 3042684 187
>>3042630
Щас любой анальник копеечная шлюха.
Аноним 10/02/24 Суб 13:48:23 3042754 188
>>3042363
>If (x == 0) {
>//then
>} else if (x == 1){
>//else
>}
Перцептроны-то в реальных нейросетях не с бинарными значениями работают, а с диапазонами от 0 до 1
А теперь тебе нужно написать N-слоёв таких ifelse'ов, по M перцептронов в каждом слое, и каждый перцептрон соединить со всеми другими следующего слоя и хранить коэффициенты для каждой связи.
Потом еще такие штуки как LSTM в дело вступают

>Неужели настолько сложно переписать свёрточную нейронную сеть в обычный алгоритм ?
Ну явно сложнее чем взять либу, хотя как говорится бешеной собаке семь верст - не крюк, так что всё можно написать самому.
Аноним 10/02/24 Суб 16:07:40 3042880 189
Держу все старые джаватреды в избранном до того, как они утонут. Это примерно 10 тредов. Вижу все новые посты по джаве и ни одного не пропускаю. В чём я не прав?
Аноним 10/02/24 Суб 16:54:15 3042941 190
Аноним 10/02/24 Суб 17:24:44 3042983 191
>>3042880
Это случайно не ты письма на балабановскую спичечную фабрику пишешь?
Аноним 10/02/24 Суб 21:12:42 3043250 192
Задавайте вопросы пока время есть.
Аноним 10/02/24 Суб 22:43:55 3043336 193
>>3043250
Какова вероятность найти работу на удаленке, если у меня нет профильного образования?
Аноним 10/02/24 Суб 22:58:11 3043342 194
>>3043336
Не знаю, я как устроился после вуза, так там и работаю.
Аноним 11/02/24 Вск 00:07:57 3043409 195
Опыт написания плагинов и модов на майнкрафт уважается у джава-господ или это нерелевантная подзалупина?
Аноним 11/02/24 Вск 00:12:25 3043412 196
3042066536previ[...].gif 1227Кб, 640x546
640x546
>>3031296 (OP)
Какие есть видеоуроки норм на английском?
Хотел курс с юдеми найти самый популярный, а на торрентах нету.
Книги это конечно хорошо, но не хочется буковы читать. Хочется картинки смотреть.
Аноним 11/02/24 Вск 00:40:40 3043432 197
Аноним 11/02/24 Вск 01:29:02 3043448 198
1702420214532.jpg 71Кб, 554x682
554x682
>>3043336
Звучит несложно, но это своего рода зависимость. Если я правильно понимаю суть вопроса, вы проверяете тип аргумента и помещаете его в соответствующий парсер!
Аноним 11/02/24 Вск 02:39:59 3043479 199
>>3043432
Ты ебанулся индусов смотреть?
Аноним 11/02/24 Вск 10:41:34 3043568 200
>>3043409
Уважается, по сути.
Аноним 11/02/24 Вск 12:00:17 3043602 201
>>3043409
Нерелевантная позалупина только если интервьюер не играл в твой мод
Аноним 11/02/24 Вск 16:59:33 3043917 202
image.png 75Кб, 450x315
450x315
image.png 114Кб, 600x600
600x600
Сап джависты. Пришел за советом к сеньорам помидорам. Мне на работе дали в коим-то веке сурьезную задачу. Нужно сделать функционал который будет собирать статистику по потреблению сетевого трафика в терминалах. Проще говоря есть такая хуйня как на пикриле, она работает на дебиане, и в инторнет эта хуйня выходит через модем (смотреть на пик2). И собственно сам вопрос, как мне реализовать такой функционал? Есть одна идея, хочу раз в день отправлять ussd коды которые будут отвечать сообщением аля "осталось 110 мб на 11.02.2023" а на следующий день будет "осталось 60 мб на 12.02.2023". В итоге разница будет 50 мб, что и будет составлять потребление сетевого трафика. НО!

А есть ещё и другие способы? Какие-то новые утилиты ставить нельзя, терминалов куча, а ресурсов у каждого терминала мало.
Аноним 11/02/24 Вск 17:40:41 3043946 203
Аноним 11/02/24 Вск 20:33:40 3044205 204
>>3033959
В 2024-м Котлин стал бессмысленным языком. Всё тоже самое есть в Java. Впрочем, они пилят сейчас Kotlin Script (на замену Groovy). Как допилят - тогда может смысл появится его использовать. И то, иногда.
Аноним 11/02/24 Вск 20:37:09 3044207 205
>>3037077
Я бы так не сказал. Например, очень не хватает возможность использования именованных параметров при вызове метода, вместо фиксированного жесткого порядка (как в Groovy или петоне).
Аноним 11/02/24 Вск 21:40:16 3044269 206
>>3044207
В груви это просто мапа передаваемая первым параметром, делай так же
Аноним 11/02/24 Вск 23:06:19 3044353 207
>>3044205
>В 2024-м Котлин стал бессмысленным языком. Всё тоже самое есть в Java.
И как мне заменить 100500 перегруженных методов, на один с дефолтными параметрами?
Аноним 12/02/24 Пнд 10:01:35 3044547 208
Приходишь на собес по джаве. Ехидный 15-летний тимлид просит назвать возможные состояния виртуального потока и чем PINNED отличается от PARKED. Твои действия?
Аноним 12/02/24 Пнд 10:09:27 3044552 209
>>3044547
Ехидно отвечаю во всех подробностях, ведь я тоже ехидный (почти) 15-летний тимлид.
Аноним 12/02/24 Пнд 10:10:36 3044554 210
>>3044552
Почти в смысле постарее немного, а не помоложе, чтобы не подумали.
Аноним 12/02/24 Пнд 10:39:20 3044590 211
Аноним 12/02/24 Пнд 14:02:02 3045057 212
>>3044554
Пиздючела,кому ты пиздишь,иди скибиди туалетов наверни
Аноним 12/02/24 Пнд 15:01:51 3045200 213
>>3044547
Перед этим интересуюсь какая версия джавы на проекте
Аноним 12/02/24 Пнд 15:35:43 3045237 214
>>3045057
Скуфынь, успокойся, по ту сторону монитора такой же скуф сидит.
Аноним 12/02/24 Пнд 15:51:31 3045249 215
>>3045237
> скибиди доп доп ес ес
Аноним 12/02/24 Пнд 16:59:17 3045329 216
>>3044590
В Котлине я юзаю дефолты и именованные параметры.
Аноним 12/02/24 Пнд 21:36:39 3045931 217
>>3045200
Интересуюсь, какая версия мамкиного борща у умника.
Аноним 12/02/24 Пнд 21:49:39 3045977 218
>>3045200
Отвечаю что пятая,но в ближайшее время планируем переехать на 21,твои действия?
Аноним 12/02/24 Пнд 22:02:24 3046007 219
>>3045931
Сегодняший, завернула как раз мне на работку, c которой вы вызвонили меня на линкеде
>>3045977
Хороший ответ. Остаётся отвечать серьёзно или троллить до конца, почему раньше не переезжали, коллектив старый получается? В ближайшее время это потянуть пока не выйдет 23 LTS?
Аноним 12/02/24 Пнд 22:03:19 3046009 220
>>3045977
Отвечаю, что я программист на скрэтче, но в рабочее время планирую выучить спринг и начать приносить велью кабану.
Аноним 12/02/24 Пнд 22:11:15 3046023 221
>>3046009
Круто!!! Желаю тебе достичь своей цели,мв вам перезвоним
Аноним 12/02/24 Пнд 22:11:45 3046025 222
>>3046007
Расскажем после интервью
Аноним 13/02/24 Втр 18:14:01 3047230 223
9bb066864b0d225[...].jpg 24Кб, 564x564
564x564
О великие эксперты, что можете вы сказать о курсе JavaRush ?
При чем не тот который у них по подписке, а тот который обещает "За 12 месяцев до Junior" ?
Аноним 13/02/24 Втр 19:01:05 3047303 224
>>3045329
>дефолты
Как правило это хуевый подход.
В питоне на большом проекте сейчас много боли из-за возможности в питончкие дефолты повесить.
Ну и у нас еще DI через декораторы, это ужас полный.
Аноним 13/02/24 Втр 19:05:34 3047306 225
>>3041222
>>3042630
Ну они до сих пор ищут скалистов себе. Даже курсы проводят ежегодно.
Правда кому нахуй сейчас нужна скала? ФП в продовом коде с бизнес-логикой полностью провалилась как парадигма.
Аноним 13/02/24 Втр 19:30:31 3047345 226
Аноним 13/02/24 Втр 19:42:37 3047365 227
>>3047230
У них же бесплатные статьи и приложения. Да и в целом, только идиот лоботомированный будет платить за то чтобы за него структурировали информацию
Аноним 13/02/24 Втр 20:09:08 3047417 228
>>3047303
Почему же хуёвый-то?
Аноним 13/02/24 Втр 20:58:59 3047488 229
>>3047303
> В питоне на большом проекте
>язык без ООП.
Вы бы ещё на C пожаловались.
Аноним 13/02/24 Втр 23:45:58 3047686 230
>>3047303
>Как правило это хуевый подход.
Любую технологию можно довести до абсурда, так что это будет треш.

Дефолтные параметры хорошо подходят для случаев когда есть много аргументов большая часть из которых опциональная. Например конфигурирование гсон парсера:
var gson = new GsonBuilder().serializeNulls().setDateFormat("yyyy-MM-dd").create();
в джаве приходится использовать билдеры. А в котлине можно создать один метод или просто конструктор.
Аноним 14/02/24 Срд 02:52:42 3047754 231
>>3047686
>>в джаве приходится использовать билдеры. А в котлине можно создать один метод или просто конструктор.
Дефолтные значения нужны чтоб не создавать несколько перегруженных методов. Билдеры не про это.
Аноним 14/02/24 Срд 08:03:02 3047800 232
>>3047686
Челик, челибосик, реализуй один метод, а тот говнокод с крушением поезда "крушение поезда".
Аноним 14/02/24 Срд 12:09:37 3048041 233
>>3047754
Чееееел ты не понимаешь.
1. Дефолтные параметры без именованных аргументов - говно без задач.
2. И перегрузка методов и билдер могут использоваться для того чтобы инициализировать объект в ситуации когда часть параметров опциональна, но есть свои ограничения. Перегрузку нереально сделать если у тебя десяток параметров тупо все комбинации не перебрать или у тебя есть параметры одного и того же типа. У билдера таких проблем нет, но там сложнее указать какие параметры обязательные. А с дефолтными и именованными параметрами всё просто: обязательные параметры оставил без дефолта, рациональные с и всё.
Аноним 14/02/24 Срд 20:24:56 3048794 234
UzJ7PbcsBCI.jpg 96Кб, 1080x1080
1080x1080
ГикБрейнз. Итоги.
Аноним 14/02/24 Срд 22:22:07 3048932 235
>>3044547
Ехидно спрашиваю как вы это используете в повседневной разработке
Аноним 14/02/24 Срд 22:26:04 3048934 236
>>3044353
method(Object... args)
дальше проверяешь, назначаешь умолчания
Аноним 14/02/24 Срд 22:29:19 3048939 237
Аноним 14/02/24 Срд 22:54:19 3048965 238
>>3048934
Только шарпидора выгнали, так жопоскриптер завелся.
Аноним 14/02/24 Срд 23:33:10 3049031 239
Задавайте вопросы пока я тут.
Аноним 15/02/24 Чтв 00:11:27 3049060 240
>>3049031
Так ты и завтра будешь тут
Аноним 15/02/24 Чтв 11:54:59 3049352 241
>>3048939
Обрати внимание на логотип справа над текстом "гарантированное трудоустройство...".
Аноним 15/02/24 Чтв 12:14:15 3049368 242
Аноним 15/02/24 Чтв 15:03:48 3049558 243
Стикер 0Кб, 512x512
512x512
>>3048934
>method(Object... args)
И весь API переписать в стиле:
>methodA(Object... args) Object
>methodB(Object... args) Object
>methodC(Object... args) Object
Аноним 15/02/24 Чтв 16:39:34 3049683 244
>>3049558
Ну можешь шаблон Стоитель применить, только ты его нихуя не знаешь. А выёбываешься.
Аноним 15/02/24 Чтв 17:42:52 3049835 245
>>3049683
Спокуха ретард. Билдеры уже обсуждили.
Аноним 15/02/24 Чтв 17:44:13 3049840 246
>>3049683
>шаблон строитель
>ты низнаешь!!!!
>будто в этом костыльном говне вообще надо разбираться

Проиграл

мимо фп господин спокойно, но решительно пишет свой функциональный код на скале
Аноним 15/02/24 Чтв 18:01:56 3049918 247
>>3049352
А в чем проблема с гарантией?
Предлагаешь лоху ученический договор. Должен отработать 3 года за зп 50к. Если не справляется с тасками или хочет уволиться досрочно - платит штраф в 3кк (официально - полная стоимость обучения, которую якобы покрыла контора, так что все законно).
Аноним 15/02/24 Чтв 18:09:02 3049931 248
>>3049918
Затраты придется доказывать, обучение проводить реальными оплатами, какая то квалификация должна появиться после обучения. Не все так просто.
Но для гарантии, действительно, достаточно предложить ООО Рога и копыта с переездом в Зажопинск за МРОТ, но и такого не будет.
Аноним 15/02/24 Чтв 18:12:35 3049940 249
>>3049918
Ты совсем что-ли даун? Кто-то про гарантию что-то говорил? Оно использовано лишь для того. чтобы показать, куда смотреть.
Аноним 15/02/24 Чтв 18:34:20 3049995 250
>>3049918
Таких лохов не существует
Аноним 15/02/24 Чтв 19:13:45 3050051 251
>>3049840
>фп господин
Жрёшь поди одно чаппи, с редким китикетом?
Аноним 15/02/24 Чтв 20:41:37 3050178 252
>>3049995
в прошлом году даже скрины кидали как такие лохи жаловались во всяких твитерах что их кинули, но осознали они это слишком поздно
Аноним 15/02/24 Чтв 22:37:27 3050379 253
>>3049918
>Предлагаешь лоху ученический договор. Должен отработать 3 года за зп 50к.
Так тут кругом орут что вката нет, поезд ушёл, 40 тысяч откликов на вакансию, а ты тут на такую манну небесную нос воротишь, пиздец, Первые несколько лет 500 долларов - нормальная зп, в регионах так мидлы уже получают.
Аноним 15/02/24 Чтв 22:39:46 3050385 254
>>3049558
Ну не хотите перегружать методы, не хотите билдеры - пожалуйста
Аноним 15/02/24 Чтв 22:41:13 3050390 255
>>3050051
охуеть ты шутник, сам понял что высрал?
Аноним 15/02/24 Чтв 22:54:19 3050423 256
>>3050390
А ты не понял? Ты точно ФП программист?
Аноним 16/02/24 Птн 09:09:38 3050686 257
>>3050423
Ты просто дегенерат
Аноним 16/02/24 Птн 10:29:56 3050749 258
>>3050686
А может все-таки ты?
Аноним 16/02/24 Птн 12:29:09 3050823 259
>>3050749
Я думаю мы оба дегенераты. Иначе не воняли бы на двощах
Аноним 16/02/24 Птн 12:31:06 3050824 260
Какие же скалисты дебилы, это пиздец. Я херкам сказал, что если у человека есть скала в резюме, сразу отказ.
Аноним 16/02/24 Птн 14:55:00 3051023 261
>>3050824
Ну хоть по ЗЗ и цвету волос не отсеиваешь.
Аноним 16/02/24 Птн 16:23:48 3051188 262
>>3051023
>Ну хоть по ЗЗ и цвету волос не отсеиваешь
С чего ты взял?
Аноним 16/02/24 Птн 21:26:18 3051612 263
>>3050824
Вот именно из-за таких ебланов, которые бегут жаловаться херкам после того, как их унизили на сосаче айти и в пизде (в том числе).
Аноним 17/02/24 Суб 11:40:05 3051998 264
Новый красный флаг:

На гитхабе нет коммитов до 2020 год ( значит начал интересоваться ит только после освящения в СМИ)
Аноним 17/02/24 Суб 12:40:44 3052041 265
image.png 97Кб, 198x254
198x254
>>3051612
>ряяя, скалистов обижают!!1111
Аноним 17/02/24 Суб 16:57:02 3052388 266
>>3051998
>освящения

Какое освящение, чел, Бог с тобой. Айтишка проклята нахуй, в ней нет ничего святого.
Аноним 17/02/24 Суб 17:02:57 3052407 267
>>3051612
Учитывая что херкам поголовно похуй на гражданскую позицию анальников, и анальники это знают не понаслышке, унижаешься на сосаче только ты, коли так смешно порвался и не выкупил откровенный стеб анона выше.

Мимо
Аноним 17/02/24 Суб 19:07:33 3052620 268
Пупуни,спок
Аноним 17/02/24 Суб 21:39:22 3052842 269
>>3052041
Ну и что за перефорс, обиженка?
Аноним 17/02/24 Суб 21:40:47 3052844 270
>>3052407
А ктл сказал, что он обычный анальник? Ну и вообще классическое "yes, epic troll! Im not retard, i was only pretending!"
Аноним 18/02/24 Вск 20:44:07 3053961 271
Head First vs Курсы по синтаксису vs метанит ?
Аноним 18/02/24 Вск 23:59:56 3054069 272
>>3053961
ИМХО в 2024 полезнее всего Molotok и Sverlo.
Аноним 19/02/24 Пнд 05:25:41 3054107 273
Аноним 19/02/24 Пнд 10:48:44 3054196 274
>>3054107
> живите в проклятом мире в котором существуют курсы по мавену
Аноним 19/02/24 Пнд 11:44:19 3054246 275
>>3053961
Если нихуя не знаешь - Head First норм, он именно как учебник написан, а не просто справочник. Даже двачер поймет.
Но если это не первый ЯП - будет слишком много воды.
Аноним 19/02/24 Пнд 12:08:24 3054278 276
Всех градлодебилов нужно принудительно заставлять проходить курсы по мавену.
Аноним 19/02/24 Пнд 12:16:03 3054292 277
Аноним 19/02/24 Пнд 14:41:02 3054499 278
Курс по синтаксису скоро нужен будет. Заебали пердиксы со своими рекордами, свичами и силед классами.
Аноним 19/02/24 Пнд 19:46:51 3054959 279
d9cfae806280fe3[...].jpg 68Кб, 794x798
794x798
>>3054499
> силед классами
Как там в java 5 instanceof ещё не подключили?

> свичами
Пикрелейдед.
Аноним 19/02/24 Пнд 19:49:38 3054963 280
>>3054499
Терпи, скоро еще текстовые шаблоны подъедут с non null типами.
Аноним 20/02/24 Втр 16:57:57 3056259 281
Посоветуйте книгу по многопоточке,асинхронщине и подобной хуйне
Аноним 20/02/24 Втр 18:00:18 3056334 282
>>3056259
Хорстман Java в первом томе мнопоточка, во втором стримы.
Параллельное программирование в JAVA на практике. Брайан Гоетс при участии Тима Перлса, Джошуа Блоха, Джозева Боубира,
Дэвида Холмса и Дага Ли
Аноним 20/02/24 Втр 19:43:02 3056474 283
Как заставить спрингодуру возвращать JSON если Accept и Content-Type не заданы?
Аноним 20/02/24 Втр 21:43:08 3056677 284
Аноним 20/02/24 Втр 23:00:18 3056884 285
image.png 643Кб, 1490x735
1490x735
Пацаны, поясните, нахуя нужны sealed-классы.
Не, я понял идею, но не понимаю, нахуя?
Какой-то костыль на вид. Не понимаю, почему его так помпезно анонсировали как крутую фичу.
Аноним 20/02/24 Втр 23:49:56 3056961 286
чо вы на работе пишите?
Аноним 21/02/24 Срд 00:11:43 3056976 287
Аноним 21/02/24 Срд 00:15:26 3056979 288
>>3054278
>>3054292
Всех, кто не может правильно прочитать даже элементарные английские слова, надо принудительно хуярить словарём по башке.
Аноним 21/02/24 Срд 00:16:50 3056980 289
>>3056884
Как в скале наверное, можно экстендить его только в том же файле
Аноним 21/02/24 Срд 00:58:25 3057026 290
>>3056976
Мне в принципе не нравится гуй писать.
Аноним 21/02/24 Срд 01:02:44 3057034 291
Аноним 21/02/24 Срд 02:27:48 3057084 292
Что сейчас используют все солидные дяди в чёрных костюмах, градл или мавен?
Аноним 21/02/24 Срд 02:33:45 3057087 293
>>3056976
А что уже не пишем? На петухлине уже ведь давненько компиляция в жопаскрипт есть. Опять кто-то где-то петухлинщикам в штаны насрал?
Аноним 21/02/24 Срд 02:34:18 3057088 294
>>3057084
Дегенерадл для тупой школоты.
Аноним 21/02/24 Срд 04:06:42 3057109 295
>>3056976
да вообще GWT уже успели изобрести и забыть, даже до котлина
Аноним 21/02/24 Срд 04:08:02 3057110 296
>>3056884
Единственный случай использования что я пока увидел - это использование таких классов в switch-е непосредственно, по сути как энум из классов
Аноним 21/02/24 Срд 06:08:35 3057130 297
download.png 7Кб, 254x199
254x199
>>3056976
Какой то ноунейм пукнул что гойтлин лучший для ноунейм технологии htmx в котором обычно используется гойланг или пхп
Аноним 21/02/24 Срд 09:30:33 3057193 298
>>3057087
>>3057130
Да не тряситесь вы так. Сразу видно, что даже не поняли суть видоса
Аноним 21/02/24 Срд 09:35:41 3057195 299
>>3056976
Моча ёбаная, выгони этих петухов в своей тред.
Аноним 21/02/24 Срд 11:43:16 3057341 300
Аноним 21/02/24 Срд 13:31:59 3057541 301
>>3057193
На вопрос-то ответишь?
Аноним 21/02/24 Срд 17:35:37 3058071 302
>>3057541
Не, вопрос слишком глупый. Сначала хотел ответить, но передумал.
Аноним 21/02/24 Срд 17:48:40 3058083 303
Аноним 21/02/24 Срд 18:44:52 3058161 304
>>3057109
Есть ли кстати щас аналог гвт на новые версии джавы? Идея-то хорошая.
Аноним 21/02/24 Срд 20:43:43 3058324 305
Аноним 21/02/24 Срд 20:47:58 3058331 306
>>3056884
Этот >>3057034 прав. Я читал книгу где предлагали для этих целей создавать абстрактный класс где мы в конструкторе проверялось бы имя пакета класса наследника и если не совпадало с ожидаемым, то RuntimeException.

Теперь же просто пишешь sealed и кайфуешь от того как легче стала жизнь.
Аноним 21/02/24 Срд 20:51:19 3058340 307
>>3057034
>>3058331
Так вы объясните нахуя нужно запрещать пользователю наследоваться? Для меня силеды это просто енум++, который поддерживает разные наборы данных при разном значении и смысл я в нём вижу только со свичами вместе. Во всех остальных случаях силед-пидорахизм только закладывает бомбу замедленного действия, которую придётся потом в будущем решать другими средствами, например, акцессвайденером.

мимо
Аноним 21/02/24 Срд 20:52:43 3058341 308
>>3058340
К слову, енумы тоже сами по себе бомба замедленного действия. Сколько раз сталкивался с болью от нерасширяемого енума.
Аноним 21/02/24 Срд 21:27:47 3058399 309
>>3058340
>Так вы объясните нахуя нужно запрещать пользователю наследоваться?
Например чтобы никто не строил библиотек поверх твоих библиотек и не ебал бы тебе потом мозг, что ты не можешь выпилить метод из интерфейса, потому что у них все на тебя завязано.
>>3058340
>закладывает бомбу замедленного действия
И в чем же бомба и будущие проблемы?
Аноним 21/02/24 Срд 21:31:20 3058409 310
>>3058399
А в чём проблема библиотек поверх библиотек? Как бы все библиотеки поверх стандартной либы. А они поверх операционки, только которая уже работает напрямую с процессором.

>в чём же бомба
Когда понадобиться необходимость расшириться, это будет невозможно.
Аноним 21/02/24 Срд 21:33:53 3058414 311
>>3058409
С чего бы это невозможно? Добавляешь в интерфейс еще один подкласс и все.
Аноним 21/02/24 Срд 21:34:58 3058417 312
>>3058414
У тебя всегда есть доступ к изменению используемых библиотек, да?
Аноним 21/02/24 Срд 22:08:24 3058486 313
>>3058340
Объясняю на дваче. Написал ты свою либу для двача, например вот такую

Либа v1:

interface Dvach {
fun sendMessage()
}

class Mailach : Dvach {
override fun sendMessage() {
println("Спасибо Абу!")
}
}

class Sosach : Dvach {
override fun sendMessage() {
println("Двач, есть одна тян...")
}
}


Клиент:

fun main(year: Int) {

val dvach = when {
year < 2009 -> throw IllegalArgumentException("Вы молодые, шутливые, лучше сюда не лезьте.")
year < 2016 -> Sosach()
year < 2024 -> Mailach()
else -> MyDvachWithBlackjackAndWhores()
}

welcomeAgain(dvach)
}

fun welcomeAgain(dvach: Dvach) {
dvach.sendMessage()
}

class MyDvachWithBlackjackAndWhores : Dvach {
override fun sendMessage() {
println("МЯУ")
}
}

___
А потом понадобилось добавить капчу, а то набегают боты.

Либа v2:

interface Dvach {
fun sendMessage()
fun enterCaptcha()
}

class Mailach : Dvach {

override fun sendMessage() {
println("Спасибо Абу!")
}

override fun enterCaptcha() {
println("2 + 2 = 4")
}
}

class Sosach : Dvach {

override fun sendMessage() {
println("Двач, есть одна тян...")
}

override fun enterCaptcha() {
println("666666")
}
}

Клиент:

fun main(year: Int) {

val dvach = when {
year < 2009 -> throw IllegalArgumentException("Вы молодые, шутливые, лучше сюда не лезьте.")
year < 2016 -> Sosach()
year < 2024 -> Mailach()
else -> MyDvachWithBlackjackAndWhores()
}

welcomeAgain(dvach)
}

fun welcomeAgain(dvach: Dvach) {
dvach.sendMessage()
}

// Class 'MyDvachWithBlackjackAndWhores' is not abstract and does not implement abstract member public abstract
// fun enterCaptcha(): Unit defined in ord.example.Dvach

class MyDvachWithBlackjackAndWhores : Dvach {
override fun sendMessage() {
println("МЯУ")
}
}

___
Поздравляю, ты сломал обратную совместимость своей либы и теперь юзеру на той стороны нужно переписывать свою имплементацию, чтобы соответствовать новому интерфейсу. И ему похуй, что в документации ни слова про этот интерфейс и что ты не предполагал его поддержку. Ты дал возможность его имплементировать? Дал. Ты обещал обратную совместимость либы? Обещал. Какого хуя анон тогда? Мы тебе бабки вообще-то платим и не маленькие, а ты такую хуйню учедил.

Как выглядит этот же код при использовании sealed интерфейса. Код либы не изменился кроме добавления модификатора, а у клиента ещё в версии v1 будет такое сообщение:

// Inheritor of sealed class or interface declared in package my.client but
// it must be in package org.example where base class is declared
class MyDvachWithBlackjackAndWhores : Dvach {
override fun sendMessage() {
println("МЯУ")
}
}

И он не сможет прострелить себе ногу, а тебе не придется трястись каждый раз когда нужно изменить интерфейс предназначенный только для имплементации внутренними классами.
Аноним 21/02/24 Срд 22:15:03 3058497 314
>>3058340
> Так вы объясните нахуя нужно запрещать пользователю наследоваться?
Сокрытие внутренней реализации. Чтобы стабилизировать апи, и менять реализацию, как угодно не завися от обратной совместимости.
Аноним 21/02/24 Срд 22:29:33 3058529 315
>>3058486
1. Нахуй ты на котлине написал? Чтобы никто ничего не понял?
2. В большинстве случаев писать sealed чтобы запретить имплементировать интерфейс никто не будет.
Аноним 21/02/24 Срд 22:44:19 3058571 316
>>3058529
> 1. Нахуй ты на котлине написал? Чтобы никто ничего не понял?
Если ты джавист и не понимаешь базовый котлин, то ты какой-то неправильный джавист.
> 2. В большинстве случаев писать sealed чтобы запретить имплементировать интерфейс никто не будет.
Сколько библиотек написал?
Аноним 21/02/24 Срд 22:54:02 3058583 317
>>3058571
>Сколько библиотек написал?
0 не считая тех что на работе, но кода библиотек прочитал достаточно. Показывай где там используют sealed.
Аноним 21/02/24 Срд 23:34:03 3058636 318
Аноним 21/02/24 Срд 23:37:44 3058640 319
Почему котлин медленнее джавы? Там свои коллекторы?
Аноним 21/02/24 Срд 23:38:59 3058644 320
>>3058640
Дегенераты зачем-то решили дюпнуть стандартную библиотеку, и дюпнули её очень хуёво. Плюс дополнительные фичи медленные.
Аноним 21/02/24 Срд 23:44:10 3058652 321
>>3058644
Нахуя так делать,в джаве же кучу всего можно оптимизировать если не поддерживать обратную совместимость и делать язык с чистого листа,я сначала думал они наоборот облегчили джаву и нативных приколов завезли
Аноним 21/02/24 Срд 23:49:46 3058657 322
>>3058652
Ну во первых они не ломали обратную совместимость, у них наоборот было целью её сохранить. Но
>нахуя так делать
Задача стояла не в решении наболевших проблем джавы, а в САЗДАТЬ СВОЙ ЕЗЫГ ПАНРАМИРОВАНИЯ. Как школьники видят шутки в тиктоке и повторяют их, постя другое видео с точно такой же шуткой. Если бы хотели решить проблемы джавы, то оставили бы оригинальный синтаксис джавы. Всё то, что авторы петухлина называют преимуществами, является вторичным и появилось уже после постановки цели создания своего говнеца.
Аноним 21/02/24 Срд 23:54:30 3058660 323
>>3058657
Блядь,а как же бетер джава,понятно что джава бессмертна,но нахуя делать ее кастомную сборку вместо полноценного ремейка
Аноним 21/02/24 Срд 23:57:09 3058669 324
>>3058629
Я уже другой анон, хотя похуй. Вокруг тебя одни слитые, шизоид, продолжай срать под себя.
Аноним 22/02/24 Чтв 21:57:50 3059824 325
Как этот ёбаный спринг учить? Попытался почитать хвалёный Spring in Action, но объяснения в стиле "вот так делай" мне чёт нихуя не нравятся. Есть какой-нибудь вменяемый гайд или книга?
Аноним 22/02/24 Чтв 22:55:53 3059870 326
Аноним 23/02/24 Птн 06:30:14 3059997 327
Аноним 23/02/24 Птн 12:27:07 3060189 328
>>3059824
Попробуй видеокурсы на Udemy, по спрингу там точно видел годноту.
Аноним 23/02/24 Птн 17:26:22 3060663 329
сап с чего начать вкат в 2024 году

мимо инженер на завод_нейм 40к/мес
Аноним 23/02/24 Птн 17:34:03 3060692 330
Как нормально реализовать equals для неабстрактного класса, от которого можно будет наследоваться?
inb4 сделать его final
Нет, практической задачи нет. Я даже не вкатун, просто интересно.
Аноним 23/02/24 Птн 17:56:44 3060738 331
>>3060692
Как для обычного final класса. Класс потомок должен переопределить equals и сначала вызвать equals родителя, если он true, то запускать свои сравнения полей. Если equals родителя выдает false, то возвращать false.

Кури принцип подставки Барбары Липсков.
Аноним 23/02/24 Птн 18:06:39 3060761 332
>>3060738
https://pastebin.com/ZZ7HET8c

Угадай, что будет, если попытаться сделать так:

A a = new A(0);
B b = new B(0, 1);

System.out.println(a.equals(b));
System.out.println(b.equals(a));
Аноним 23/02/24 Птн 18:52:06 3060852 333
>>3060761
По моему в equals должна быть проверка на идентичность классов.
Аноним 23/02/24 Птн 18:56:28 3060860 334
image.png 3Кб, 320x64
320x64
image.png 2Кб, 147x35
147x35
>>3060761
Антон, ну что за пиздец у тебя со стилем? Используй линтеры по полной, не ограничивайся дефолтыми настройками.

Насчет твоего вопроса, ты не сравниваешь классы в equals из-за этого появляется ошибка:

https://pastebin.com/vXufpuL4
Аноним 23/02/24 Птн 19:02:33 3060874 335
>>3060761
p.s.
Вообще погуглил я твой вопрос меченый и выглядит всё так что есть два решения:
1) Сделать как я в прошлом посте, то есть нарушить принцип Липсков, что не есть гуд
2) Не нарушать принцип Липсков и сделать equals final в базовом классе (я лично ставлю лайк этому способу, так как никогда не наследуюсь от классов, только от интерфейсов)

https://pastebin.com/AsXRNQ76
Аноним 23/02/24 Птн 22:54:45 3061262 336
Зачем в 2к24 нужна Java, если есть C# и Котлин?
Аноним 24/02/24 Суб 00:09:48 3061366 337
>>3061262
Зачем в 2к24 нужны C# и Котлин если есть Java?
Аноним 24/02/24 Суб 01:11:57 3061438 338
>>3061262
Зачем вместо нуля писать К? Какой смысл? Или у петлинистов всё через жопу?
Аноним 24/02/24 Суб 01:25:49 3061445 339
>>3058640
пруфы будут? может бенчмарки там?
Аноним 24/02/24 Суб 01:26:57 3061446 340
>>3060663
Ну очевидно с основ программирования, переменные/функции/ циклы
Аноним 24/02/24 Суб 01:48:37 3061459 341
Аноним 24/02/24 Суб 02:24:56 3061467 342
>>3058660
Очевидно потому что главное в дажве - это огромная инфраструктура и наработки сделанные за все время ее существования. Сделай они отдельный язык - был бы еще один никому не нужный раст.
Аноним 24/02/24 Суб 02:49:20 3061470 343
>>3061467
Ну раст так-то активно используется в новых проектах. Но я бы все же выбрал джаву, попривычнее она мне.
Аноним 24/02/24 Суб 03:12:07 3061474 344
>>3061470
>Ну раст так-то активно используется в новых проектах.
Тут главное почаще это вслух повторять, как манифестации, тогда точно станет реальностью
Аноним 24/02/24 Суб 03:16:14 3061475 345
>>3061474
Ты главное вслух почаще повторяй то что высрал, и тогда точно перестанет.
Аноним 24/02/24 Суб 03:20:34 3061477 346
>>3061475
Не рвись манька, в новых коммерческих проектах раст точно не используется
Аноним 24/02/24 Суб 03:21:54 3061478 347
>>3061477
>коммерческих
А вот манька и заднюю дала, ведь запруфать использование в клозед сурс параше сложновато.
Аноним 24/02/24 Суб 03:23:17 3061479 348
>>3058161
да, Vaadin, это по сути и есть ГВТ
Аноним 24/02/24 Суб 03:24:51 3061480 349
>>3061478
Лол, ну так и знал что порвешься, никому не интересно что ты там корябаешь для души в свободное время.
Аноним 24/02/24 Суб 03:25:08 3061481 350
>>3061479
Щас бы гавнадином с платными модулями пользоваться. Да и это вообще другая вещь, она основана не на компиляции джавы в жопу.
Аноним 24/02/24 Суб 03:25:26 3061482 351
>>3061480
Слив принят, манюнь.
Аноним 24/02/24 Суб 07:29:06 3061519 352
>>3059870
А потом мы таких кадров попускаем на незнании спрэнг сакурити или кишочках спринг фримверка
Аноним 24/02/24 Суб 09:37:28 3061556 353
>>3061459
То есть ты взял одну единственную фичу языка: корутины. И в искусственном сценарии обнаружил, что они работают хуже чем треды. После чего ты заявил, что котлин принципиально медленнее чем жаба и срешь этим в треде уже хуй знает сколько времени?

Иди к психотерапевту.
Про AWT Аноним 24/02/24 Суб 11:59:59 3061642 354
В классе Container, что в awt, есть метод remove. Я допустим, что я имею такие строки кода:

Container a1=...,
a2=...;
a2.add(a1);
И теперь вопрос: если использовать строку a2.remove(a1);, то
1) Будет ли существовать объект, на который изначально была ссылка a1? Ведь не было строки вида a1=null;

2) Что будет с объектами, вложенными в a1? Они будут удалены?
Аноним 24/02/24 Суб 12:23:56 3061668 355
>>3061642
Почитай про GC. Объект существует до тех пор, пока ты до него тем или иным образом можешь добраться.
Аноним 24/02/24 Суб 12:29:09 3061679 356
>>3061668
Ну расскажи тогда вот чего - деструктор когда вызывается? Когда сборщик мусора собирсет объекты без ссылок или когда число ссылок на объект обнуляется? Между этими событиями можнт быть значительный интервал времени.
Аноним 24/02/24 Суб 12:32:32 3061687 357
>>3061679
Из C++ что-ли пришёл?
> Когда сборщик мусора собирсет объекты без ссылок
Это. Поэтому финализаторы deprecated и в принципе не рекомендуются к использованию.
Аноним 24/02/24 Суб 13:50:32 3061740 358
>>3061642
> 1) Будет ли существовать объект, на который изначально была ссылка a1? Ведь не было строки вида a1=null;
Да.
> 2) Что будет с объектами, вложенными в a1? Они будут удалены?
Нет.

1. Ссылка существует на стеке, сам объект в куче.
2. Пока ты не сделаешь a1 = null ссылка всё также будет существовать как и объект.
3. Когда ты добавляешь ссылку в список, то создаёшь вторую ссылку на объект. Теперь даже если ты сделаешь a1 = null, то объект никуда не исчезнет, так как осталась ссылка в списке.
4. Когда ты удалишь ссылку из списка и занулишь переменную a1, тогда GC сможет очистить кучу от объекта, так как на него больше нет ссылок.

При этом GC не факт, что сделает это сразу. Это может вообще никогда не произойти, но тебя как разработчика это не должно беспокоить, так как это уже детали реализации GC.
Аноним 24/02/24 Суб 14:05:15 3061748 359
>>3061642
p.s. Если тебе нужно освободить используемые ресурсы объекта в Java/Kotlin, то используй AutoClosable интерфейс

https://pastebin.com/PYq7Sxy4
Аноним 24/02/24 Суб 14:55:02 3061786 360
>>3061748
Зарепортил котлиношизика.
Аноним 24/02/24 Суб 16:55:38 3061896 361
Тут мелькают мнения, что скала - пиздатый язык и лучше котлина. Поясните чем именно лучше и почему тогда всем похуй на скалу в 2к24
Аноним 24/02/24 Суб 17:06:47 3061927 362
Аноним 24/02/24 Суб 17:08:17 3061933 363
Аноним 24/02/24 Суб 17:16:00 3061951 364
Аноним 24/02/24 Суб 17:16:26 3061954 365
>>3061896
хз это все проекции комунити что где-то там что-то умерло итд, пишу код на скалке, ФП стек cats effect, http4s не представляю как вообще перекатываться на что-то другое теперь. Хайп безусловно ушел, но в любой технологии так.

Котлин выглядит как костальная поделка после скалы. Мало какой язык сравнится с экспресивностью и элегантностью скалы. Правда порог вката высокий.

Котлин мне видится Го в мире жвм лол, сделали простой удобный язык, но джава догоняет и хз нахуй он нужен по итогу.
Аноним 24/02/24 Суб 17:37:06 3061986 366
>>3061556
Это нинужно или врёти? В целом по языку можешь посмотреть на течемповереде, как все это замедления вместе влияют.
Аноним 24/02/24 Суб 18:28:16 3062054 367
>>3061954
Ну так скажи конкретно чем скала лучше котлина, в чем скала хороша то?
Назови что-нибудь, что есть в скале, но нет в котлине.
Такое чувство, что ты не пробовал котлин и просто воздух гоняешь
Аноним 24/02/24 Суб 19:02:46 3062091 368
Скоро жаба 22 выходит, все в курсе?
Аноним 24/02/24 Суб 19:06:28 3062102 369
>>3062091
Самое главное в джаве 22 — стрим газонюхи. Наконец-то можно будет использовать стримы для операций длиннее 2 строк. А ещё выражения до super().
Аноним 24/02/24 Суб 19:29:04 3062134 370
Аноним 24/02/24 Суб 19:32:05 3062139 371
Аноним 24/02/24 Суб 21:25:04 3062305 372
>>3062054
сильная система типов, high kinded типы, имплиситы, нормальный паттерн матчинг, иммутабельность по дефолту, в целом поддержка ФП лучше чем в котлине (не в ущерб ООП). Я правда не понимаю зачем котлин нужен, когда есть современная джава. Корутины, лол?
Аноним 24/02/24 Суб 21:35:55 3062338 373
>>3062091
>Скоро жаба 22 выходит
Ура, лет через 30 перейдем на неё.
Аноним 24/02/24 Суб 22:38:43 3062426 374
tempupload.jpg 93Кб, 650x463
650x463
Френдзона
Аноним 24/02/24 Суб 22:52:21 3062430 375
>>3062305
На джаве мобильные приложения не попишешь никак.
Я к чему спрашиваю: мне предлагают по книге скалу выучить и вкатиться, наверное, в гос контору в бэк джуном
Аноним 24/02/24 Суб 23:17:43 3062443 376
>>3062430
Какой же ты дегенерат,уму непостижимо
Аноним 24/02/24 Суб 23:27:34 3062448 377
>>3062443
На жабе работать не буду, соси
Аноним 25/02/24 Вск 01:11:10 3062506 378
>>3062448
Тебе только дворником работать,косолобый
Аноним 25/02/24 Вск 01:57:41 3062539 379
>>3062305
> Я правда не понимаю зачем котлин нужен, когда есть современная джава.
Ну начнём с
> Корутины, лол?
А что, джавистов корёжит от моих базированных корутин?
Дальше по тексту:
- Nullable типы (нет, @NonNull не подходят, не врите себе)
- Дефолтные значения для аргументов методов
- Нормальные, не кастрированные лямбды
- Scope-функции
- Свойства (ну зачем же нам нужна такая бесполезная штука, у нас в современной джаве есть ломбок)
- Нормальный : вместо дурацких extends и implements
- Отсутствие дурацкого throws
- Не нужно создавать отдельный класс, в который ты будешь писать статические методы
- Уже много лет как есть интерполяция строк

А нахуя я собственно это пишу, джависты всё равно скажут, что нинужно.
Аноним 25/02/24 Вск 02:16:42 3062548 380
>>3062430
>На джаве мобильные приложения не попишешь никак.
Всмысле, а на чем же их писали до Котлина?
Аноним 25/02/24 Вск 02:18:07 3062550 381
Аноним 25/02/24 Вск 02:32:22 3062554 382
Аноним 25/02/24 Вск 05:03:50 3062582 383
image.png 5Кб, 469x46
469x46
В вашей современной джаве даже uint'а нет, приходится проверять положительность числа в рантайме...
Аноним 25/02/24 Вск 06:57:11 3062593 384
>>3062582
Смысл в uint если всё равно на входе будут int, которые ты для своей части программы будешь также конвертит в uint с проверкой на положительность входного int?
Аноним 25/02/24 Вск 08:23:06 3062624 385
>>3062338
Всё ещё раньше чем шарподебилы с нет фреймворка сдриснут.
Аноним 25/02/24 Вск 08:24:28 3062625 386
>>3062582
А хули не ноешь, что нет even и odd? Разных ограничений числового пространства можно дохуя понапридумывать. На все типы не понаделаешь. Разве что нормальную компайл-тайм типизацию ебашить, но такого пока ни в одном языке не сделали.
Аноним 25/02/24 Вск 08:44:22 3062630 387
>>3062539
> А что, джавистов корёжит от моих базированных корутин?
Твоих? Ты к их созданию ни пальца не приложил. Ты просто залётный школьник, потребитель контента, уровня зрителя тиктока.

> нет, @NonNull не подходят, не врите себе. Яскозал!

> - Дефолтные значения для аргументов методов
Доказывай, что нужно.

> - Нормальные, не кастрированные лямбды
А что в джаве кастрированное? Явность лямбд? Пиздец, наглость перефорса на уровень шарпопетушни.

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

> - Нормальный : вместо дурацких extends и implements
> - Отсутствие дурацкого throws
> - Не нужно создавать отдельный класс, в который ты будешь писать статические методы
> - Уже много лет как есть интерполяция строк. Питухлиноссия — родина слонинтерполяций!
Ну тут вообще шизофрения попёрла, долбоёб начал сгребать в кучу все отличия языков чтобы только побольше пунктов в своём говне было. Буквально всё это сделано разработчиками джавы специально в отличии от того, что было в древних плюсах, например, и что петухлинщики возродили из говнопепла, и является преимуществом.

А теперь что есть у джавы, чего нет у петухлина, даже учитывая его паразитирование на jvm:
1) Скорость
2) Нормальный синтаксис extends и implements вместо ебучего :
3) Нормальный синтаксис в принципе, а не обмазанное сокращениями говно с лишними словами
4) Универсальная интерполяция строк, а не нашлёпанное за 5 секунд говно не поддерживающее что-то больше дебаг мессаджей
5) Нормальный синтаксис лямбд
6) Проверяемые исключения
5) Как и в сравнении с петушарпом, отсутствие гетсет-клоунады
Аноним 25/02/24 Вск 08:50:52 3062633 388
>>3062630
Ну, то есть преимуществ нет. Ясно.
Аноним 25/02/24 Вск 08:51:48 3062634 389
>>3062633
Преимуществ у петухлина перед джавой? Ну по сути серьёзных нет, хотя я конечно бы методы расширения потрогать хотел нативно, без лобка.
Аноним 25/02/24 Вск 11:06:33 3062706 390
>>3062548
Раньше на джаве не писали, а говнокодили, это разные вещи
Аноним 25/02/24 Вск 11:49:21 3062749 391
>>3062539
>А что, джавистов корёжит от моих базированных корутин?
я не джавист, я на скале пишу же

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

Но несмотяр на всё то, что ты высрал - котлин это всего лишь надмножество джавы которое фиксит её проблемы, понимаешь? Когда джава реализует всё что ты написал (а она частично уже это сделала), то что будет делать котлин потом? Какая будет его selling-feature?
Аноним 25/02/24 Вск 14:02:52 3062885 392
>>3062749
> в скале есть только лучше
Пруфы-то будут?
Аноним 25/02/24 Вск 14:09:34 3062889 393
>>3062582
А лонг использовать не пробовали?
Аноним 25/02/24 Вск 14:13:09 3062891 394
>>3062749
>Какая будет его selling-feature?
Компиляция под WASM/Native/JS/iOS
Тут к сожалению скала и джава дрищут в штанишки
Аноним 25/02/24 Вск 14:14:35 3062893 395
>>3062891
Дрищут разве что тебе в ебальник жиденьким непереваренным. Грааль вм всё это делает и даже больше.
Аноним 25/02/24 Вск 14:18:00 3062897 396
>>3062893
Хуй там, покажешь как там грааль в WASM компилирует? Под iOS? В JS?
Только без верчения жопой пожалуйста
Аноним 25/02/24 Вск 14:19:57 3062900 397
Аноним 25/02/24 Вск 14:28:08 3062906 398
>>3062900
ОЙ, а чего это ссылок 3, а на грааль только одна ? :D
А что случилось?
Аноним 25/02/24 Вск 14:28:59 3062908 399
>>3062885

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

> Nullable типы (нет, @NonNull не подходят, не врите себе)
наллабл типы это хуйня на постном масле которая делает систему типов менее sound
Инт это инт, никакого null там быть недолжно, null вообще быть недолжно, сам Hoare это признал. Скала использует Option. java интероп понимает нулы ибо jvm, но в скале они не используются

>- Нормальные, не кастрированные лямбды

в скале ультра лямбды которые поддерживают Eta expansion, это когда ты метод можешь сделать лямбдой например, использовать их взаимозаменяемо

- Scope-функции
какой-то сахарок бессмысленный, в скале есть мощные implicits, которыми можно добавить этот сахар через extension methods, но это самый простой юзкейс, вся мощь имплиситов раскрывается в либах типа cats, библиотеке тайпклассов (которые в котлине нормально и не сделать к слову)

Мне продолжать? Или может погуглишь сам, чмондельс?

Что вообще на петухлине хорошего написано? погугли либы в скалке типа cats, zio, shapeless, akka есть что-то подобное у вас? Или хоть что-нибудь кроме КОРУТИН лол

Котлину далеко до скалы, а скоро будет и до джавы далеко
Аноним 25/02/24 Вск 14:29:28 3062909 400
>>3062906
Просил без верчения жопой, а сам вертится как уж. Петухлинщики что-ли как шарподебилы не принимают всё что не с лопаты скормлено, а сделано комьюнити?
Аноним 25/02/24 Вск 14:31:32 3062915 401
>>3062891
ты сам в курсе о чем пишешь вообще? Скала жс давно уже в проде юзается, есть скала натив, ты вообще тупой?

>>3062900
вот джава анон тебе еще в ротешник поссал

Вопросы?
Аноним 25/02/24 Вск 14:32:14 3062917 402
>>3062909
Я просил показать где грааль это делает, но жопа у тебя завертелась со страшной скоростью и из 3х ссылок на грааль была только одна.
Почему так?
Аноним 25/02/24 Вск 14:32:58 3062920 403
>>3062917
Ну мало ли ты что там попросил показать, ты ещё попроси показать как твоя мамаша не блядует, я тоже не смогу. По теме что-то будет или сливаешься?
Аноним 25/02/24 Вск 15:35:22 3062977 404
>>3031296 (OP)
Почему на жаве выходит такой многословный код? Банальные вещи требуют тысячи строк кода, которые выдавливаешь из себя целый месяц, а потом два месяца дебажишь нюлы..
Хваленные фримверки делают только хуже и код мало того что сложно читать (его дохуя выходит) так еще он и тормозит. Смешно говорить, но дернуть хатэтэпе ручку через спрэнг - 100-150 мс на локалхосте, лал))
Аноним 25/02/24 Вск 16:51:30 3063092 405
>>3062977
Толстовато,вряд ли наберёт много ответов
Аноним 25/02/24 Вск 17:48:55 3063173 406
>>3062977
Много кода, потому что жаба - старый язык, а если менять его кардинально, то сломается совместимость.
Скорость у жабы нормальная, не пизди
Аноним 25/02/24 Вск 19:15:05 3063276 407
>>3062908
>>Инт это инт
>>null вообще быть недолжно
>>Скала использует Option.
А в чем принципиальная разница? Что опцион, что нул - все равно надо проверить есть ли там содержимое или нет.

мимо
Аноним 25/02/24 Вск 19:22:40 3063282 408
17040578326353.png 532Кб, 748x328
748x328
Чем петухам на котлине и шарпомухам не нравится джава? Ведь относительно других ЯП именно джава объективно великолепна с минимум недостатков и богатой экосистемой.
Аноним 25/02/24 Вск 19:28:01 3063289 409
Что сейчас используют для длительного ознакомления с intellij idea - постоянный сброс триала или поиск ключей?

мимо нищий кодер, даже не программист
Аноним 25/02/24 Вск 19:29:03 3063290 410
>>3063276
НЕЕЕЕЕТ, null ГОРАЗДО ХУЖЕ ЧЕМ OPTION!!!!!!
Аноним 25/02/24 Вск 19:29:06 3063291 411
Аноним 25/02/24 Вск 19:45:43 3063310 412
Аноним 25/02/24 Вск 19:49:58 3063312 413
>>3063290
Почитай про type safety и type system soundness. Если у тебя каждый тип может быть наллбл сложнее рассуждать о программе как о типобезопасной. Но котлинмакакам думаю не до таких материй, у них же есть КОРУТИНЫ!
Аноним 25/02/24 Вск 19:57:24 3063324 414
>>3063312
>soundness
Это когда железные штуки в письку суют?
Аноним 25/02/24 Вск 19:58:35 3063330 415
Аноним 25/02/24 Вск 20:00:03 3063336 416
Аноним 25/02/24 Вск 20:02:05 3063340 417
Мне гораздо интереснее, а че будут делать с null в яве, когда введут !.
Аноним 25/02/24 Вск 20:33:03 3063419 418
image.png 47Кб, 1088x309
1088x309
Как такое на Java написать?
Аноним 25/02/24 Вск 20:37:40 3063430 419
Аноним 25/02/24 Вск 20:39:47 3063436 420
>>3063430
Функция которая умеет принимать сколько угодно параметров вида int, string, int, string ....
Например, dup(1, std::string("aboba"), 2, std::string("xyz"), 3, std::string("a"))
выведет abobaxyzxyzaaa
Аноним 25/02/24 Вск 20:46:51 3063448 421
>>3063436
Пиздец, такое говно ни на каком языке писать не стоит
Аноним 25/02/24 Вск 20:52:07 3063454 422
>>3063448
Нинужна?) Ладно, я шучу. Меня с теоретической точки зрения возможность написания такого интересует. Так можно или нет?
Аноним 25/02/24 Вск 20:55:13 3063457 423
>>3063419
Через объекты. Принмаешь список объектов/рекордов, хуячишь туда свои инты, строки, небо и Алллаха.
Аноним 25/02/24 Вск 20:56:15 3063460 424
>>3063457
Ну такая хуйня же не тайпчекается. С тайпчеком никак?
Аноним 25/02/24 Вск 21:11:16 3063486 425
>>3063436
А какого хуя она так делает? Где информация о том что T это int, string?
Аноним 25/02/24 Вск 21:12:41 3063488 426
Аноним 25/02/24 Вск 21:13:49 3063491 427
>>3063486
T... - шаблонный варарг. В месте вызова инстанцируется по переданным параметрам
Аноним 25/02/24 Вск 21:17:03 3063495 428
>>3063460
у тебя например record YobaObjectRecord (int n, String s)
и ты передаешь List<YobaObjectRecord>

Если захочется оопшно - можно даже метод dup засунуть в сам рекорд и вызывать его

list.stream().map(YobaObjectRecord::dup).collect(Collectors.joining())
Аноним 25/02/24 Вск 21:18:56 3063500 429
>>3063495
Ненене. Это уже другое. Суть моего плюсового кода в том, что в момент вызова тип T определяется. В Java так нельзя получается?
Аноним 25/02/24 Вск 21:32:28 3063517 430
>>3063491
И? T - один параметр типа, int и string - два типа.
Аноним 25/02/24 Вск 21:32:40 3063518 431
Не джавист, но выглядит as simple as передать просто тайп параметр и всё, не? В скале по крайней мере изи
%%или в джава дженерики както иначе работают?%
Аноним 25/02/24 Вск 21:33:11 3063519 432
Проебался с разметкой соре аноны
Аноним 25/02/24 Вск 21:37:14 3063521 433
1708886233533.jpg 81Кб, 322x575
322x575
Эволюция джависта
Аноним 25/02/24 Вск 21:38:08 3063523 434
>>3063521
Пупуня соскуфилась😭
Аноним 25/02/24 Вск 21:40:15 3063527 435
>>3063517
T... - parameter pack, а не просто типовой параметр
>>3063518
Ну вот в Java просто varags сахар над передачей массива, на сколько я знаю. В плюсах нет. В плюсах он как бы раскрывается.
Аноним 25/02/24 Вск 21:41:33 3063530 436
>>3063527
>T... - parameter pack, а не просто типовой параметр
Но тип-то у него один.
Аноним 25/02/24 Вск 21:46:08 3063540 437
>>3063282
жабадебилам уже over 99999 раз объясняли почему...
Нет смысла, одни и те же маняврирования. Одно "нинужна", другое "уже есть в жабе, жаль только, что с хуевым синтаксисом и только с n-ой версии, когда в котлине сразу всё есть с нулевой"
Я готов согласиться с единственным аргументом - жаба побыстрее.
Аноним 25/02/24 Вск 21:48:10 3063541 438
>>3063312
ахах, ебать ты дегенерат, мда
Аноним 25/02/24 Вск 21:49:02 3063543 439
>>3063530
Мне кажется ты не понял что такое параметр пак
Аноним 25/02/24 Вск 21:51:01 3063549 440
Конченые ублюдки блядь больные ебанаты используют сука интерфейсы для доменных моделей. Конченые блядь олигофрены предлагают сука ебануть блядь ебаный интерфейс shape и реализовывать его в сущностях круг и квадрат. Конченые блядь ебанаты ебаные ублюдки почему они свободно выкладывают это на ютуб мрази твари уроды
Аноним 25/02/24 Вск 21:57:40 3063553 441
>>3063543
Типа это не параметр типа варарга, а параметр типа типа варарга? Ну это хуйня какая-то, в джабе нет такого. Только Object args...
Аноним 25/02/24 Вск 21:59:40 3063559 442
>>3063540
Забыл упомянуть про то, что любят оправдывать отсутствие свойств ломбоком, который не является частью джавы. Это просто костыль, который можно для любого языка запилить, но никто этого не делает, т.к. там блять ЕСТЬ эти самые свойства и всякие хуёмбоки и guava там просто без надобности, всё это есть в самом языке.
Когда мне пришлось в говне ковыряться на джаве, я охуел с того, что для нормальной работы с языком нужно минимум 3 библиотеки добавлять, это пиздец
Аноним 25/02/24 Вск 22:00:17 3063561 443
>>3063553
Типо T... != список аргументов типа T. Оно буквально раскрывается в другие типы
Аноним 25/02/24 Вск 22:12:28 3063569 444
>>3063559
Ну и конечно кайфанул с того, что я не могу нормально с коллекциями работать, т.к. версия жабы старая, и её нельзя было поднимать. Плюс проблемы были с тем, что нет опциональных параметров именованных и нормальной проверки null. Какой же кайф везде проставлять аннотации, писать без экстеншнов в 2 раза больше кода, чем обычно, вот это копиум.
И в этом же проекте можно было писать на котлине без проблем, с лямбдами, экстеншнами, коротким синтаксисом, со всеми удобствами...
Аноним 25/02/24 Вск 23:00:33 3063615 445
>>3063500
В Java нельзя. В котлине можно через reified, но это котлин.
Аноним 26/02/24 Пнд 00:57:25 3063737 446
>>3063521
> Эволюция джависта
То что манька пересказала букварь хид ферст, не делает её джавистом.
Аноним 26/02/24 Пнд 01:31:14 3063766 447
Аноним 26/02/24 Пнд 01:47:35 3063772 448
java.PNG 19Кб, 435x260
435x260
Аноним 26/02/24 Пнд 02:09:15 3063783 449
>>3063772
Почитал про этот параметр пак, по-моему такого в джаве нет
Аноним 26/02/24 Пнд 02:55:16 3063813 450
>>3063540
>>3063559
>>3063569
>гет спт гет сет гет сет
Это обоссаный по фактам петухлинщик решил так перекрыть свой слив, или чё?
Аноним 26/02/24 Пнд 02:59:10 3063815 451
>>3063276
Я так понимаю, суть в том, что опцион прилетает редко и там, где чётко заявлено в сигнатуре метода, в рамках стандартной логики программы, а нулл вылезает как прыщ на жопе там где его не ждёшь совершенно. В этом есть по сути логика, хоть и опционы имеют опасность той же проблемы, что и проверяемые исключения, со временем оказаться renundant.
Аноним 26/02/24 Пнд 03:01:51 3063817 452
Аноним 26/02/24 Пнд 03:05:20 3063819 453
>>3063436
А нахуя? Это как минимум нарушение сингл респонсибилити. На джаве просто делаешь dup(1, "aboba")+dup(3, "govno") немного не так будет, на джаве строки иммутабельные и такое совмещение перформанс убъёт, надо это через стринг билдер делать, но для примера сойдёт.
Аноним 26/02/24 Пнд 07:40:06 3063896 454
Аноним 26/02/24 Пнд 08:42:50 3063907 455
>>3063559
>>любят оправдывать отсутствие свойств ломбоком, который не является частью джавы
Частью джавы являются рекорды, где можно получать поля по одноименному методу.

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

Повторяют ошибки джавы из 90-х, когда в нее тащили хайповое говно типа гоф паттернов. Мода на гет/сет пройдет, а у них останется этот кусок говна в языке.
Или сломают обратную совместимость, чем обрекут код на легасность. Переписывать надо будет так много, что проще будет остаться без обновлений а если переписывать - то уже на го.

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

Можешь еще поискать паскаль и жквери для полноты ощущений программирования начала 00-х
А то что тебе дали ковырять какой то копролит и не позволили что то менять - многое говорит о тебе как о специалисте.
Аноним 26/02/24 Пнд 08:50:13 3063916 456
>>3063521
Почему именно в джаве полно быдловкатунов за 30?
Аноним 26/02/24 Пнд 09:18:02 3063925 457
image.png 479Кб, 688x617
688x617
>>3063916
Студент омежка отложил кирпичей, когда его попросили пояснить за ревью?
Аноним 26/02/24 Пнд 09:22:58 3063929 458
>>3062977
Поищи проблемы в прокладке между монитором и сидушкой.
Аноним 26/02/24 Пнд 10:02:11 3063963 459
>>3063925
Да ты просто сравни чатик котлина (kotlin_lang) и чатик javastart с залетной гречневой быдлятиной. Хуже я видел только в чате начинающих питонистов.
Аноним 26/02/24 Пнд 10:09:57 3063978 460
>>3063963
Зашёл в калфу петухлина, увидел анальные правила для утешения чувства собственной неполноценности у пидорашей мочерации, в которых даже запрещено спрашивать вопросы если они имеют хоть какое-то отношение к джаве (лол) и ещё простыню всяких запретов и нипущаний, посмотрел на аву главпетуха, увидел заплывшего скуфа-чурку, пролистал безмерный список всяких субчатов, увидел "флудилку-курилку", лол, блядь, ахаха.

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

Что сказать-то хотел?
Аноним 26/02/24 Пнд 13:09:55 3064198 461
>>3063907
ну да, когда надо, так ломбок дохуя крутой и нужен, КРУЧЕ ШАРПА, но когда вас ткнули носом в то, что ломбок - костыль для джавы, так сразу ломбок говно и вообще "НИНУЖНА", вот это маняврирования, ещё скажи, что guava никто не пользуется.

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

>А то что тебе дали ковырять какой то копролит и не позволили что то менять - многое говорит о тебе как о специалисте.
Хуя ты высрал. Даа, именно поэтому...
Аноним 26/02/24 Пнд 14:28:16 3064329 462
Стикер 0Кб, 512x512
512x512
>>3062977
>Почему на жаве выходит такой многословный код?
Очень жырно.
Аноним 26/02/24 Пнд 14:29:18 3064333 463
>>3062908
>в скале есть мощные implicits, которыми можно
любой код сделать нечитабельным.
Аноним 26/02/24 Пнд 15:34:07 3064393 464
>>3064198
Кого ты там ткнул, маня? Что за маняфантазии? Ломбок продолжает ебировать в рот и в жопу петушарпоговно.
Аноним 26/02/24 Пнд 15:34:46 3064394 465
>>3064333
Вот петухлинщик бы за нечитаемость не высирался, ей-богу.
Аноним 26/02/24 Пнд 15:35:39 3064396 466
>>3064333
пофиксили, щас имплиситы делаются через given/using
но в целом да, проблема такая была во второй скале
Аноним 26/02/24 Пнд 15:36:04 3064397 467
>>3063559
>который можно для любого языка запилить
но почему-то ни для шарпоговна, ни для петухлина не запилили, и шарподебилы продолжают шлёпать бойлерплейт...
Аноним 26/02/24 Пнд 16:47:04 3064481 468
Аноны, приветствую. Пост по теме и одновременно нет. Суть изложу кратко, имеем игру на жаве именуемой Project Zomboid. Пытался сам в джаву, но не смог, поэтому ищу энтузиастов по созданию и развитию одного проекта. Приветствуются аноны, кто имел дело с майнкрафтом. Не на добрых началах, все обсудим в телеге
@kokdilla
Аноним 26/02/24 Пнд 17:59:01 3064603 469
>>3064198
Ну так ломбок сейчас нужен, а потом станет не нужен.
С появлением рекордов уже от многих его фич отказался.

>>guava никто не пользуется.
У нас апач комонс вместо гуано. В петушарпе выбора не дадут - жри что дали.

>>Угадай откуда спиздили
Взяли @Value из ломбок и довели до ума. Никаких гет/сет там уже нет.

>>версию, с которой я смогу этим пользоваться плиз.
17+. Если на завязан на специфичных либах - то 11 легко апается до 17 или 21. С 8 - могут быть проблемы (а могут и не быть)

>>Хуя ты высрал. Даа, именно поэтому...
Любой джавист просто апнет версию хотя бы до 11. А шарпомухе видимо по кайфу ковыряться в протухшем говне.
Аноним 26/02/24 Пнд 20:31:15 3064943 470
>>3064329
А что жирного? Ответ прост: потому что макаки не могут в архитектуру.
Надо читать Буча, GoF и другие умные книги, как правильно писать код с использованием ООП.
Для сокращения кода есть все необходимое в Lombok (а чего нет, можно самому описать аннотациями).
Аноним 26/02/24 Пнд 20:37:05 3064959 471
>>3064481
Посмотрел в википедии:
>После произошедшей эпидемии огромная часть населения округа заразилась неизвестным вирусом и превратилась в зомби
Когда сценарий писали анальники, у которых абсолютно отсутствует фантазия...
У меня бы, например, в зомби превращались зумеры под влиянием соцсетей.
Аноним 26/02/24 Пнд 20:40:51 3064971 472
>>3064959
Да там и игра 2013 года выпуска так-то
Аноним 26/02/24 Пнд 21:24:07 3065059 473
Аноним 26/02/24 Пнд 21:27:13 3065068 474
>>3064943
>>Надо читать Буча, GoF и другие умные книги, как правильно писать код с использованием ООП.
другое дело, так намного тоньше
Аноним 26/02/24 Пнд 21:44:56 3065105 475
java-csharp-547[...].jpeg 156Кб, 700x1369
700x1369
Майкрософто-лахта что-то совсем больше не старается. Где вбросы про async/await, где табличка с соснули.рф?
Асинхронность в Спринге включается @EnableAsync
Аноним 27/02/24 Втр 01:50:54 3065392 476
Изучаю сокеты на примере парсинга сайтов (GET запросы к страницам).

https://pastebin.com/AA9ZAnZ5

В методе readResponse, когда убираю вызов readBodyData (59 строка) и раскомментирую строки 49-58 - не хочет выводить тело Web-страницы. Как исправить, чтобы работало корректно с учетом нужной кодировки?
Аноним 27/02/24 Втр 02:17:52 3065403 477
Зачем нужны всякие AbstractList/AbstractSet/прочие? Костыль со времён когда жаба не поддерживала дефолтные реализации методов в интерфейсах?
Аноним 27/02/24 Втр 02:31:34 3065406 478
>>3065403
Да, это со 2й джавы.
На самом деле это дефолтные методы - костыль. Интерфейсы должно задавать правила взаимодействия с объектом, а не логику.
Аноним 27/02/24 Втр 02:53:00 3065415 479
>>3065406
> Интерфейсы должно задавать правила взаимодействия с объектом, а не логику.
Потому что тыскозал?
Аноним 27/02/24 Втр 05:10:15 3065445 480
Аноним 27/02/24 Втр 09:18:08 3065507 481
>>3065415
Потому что нарушает Single Responsibility Principle
Аноним 27/02/24 Втр 10:52:40 3065574 482
Шарпобактерии ебаные
Аноним 27/02/24 Втр 12:45:07 3065676 483
Аноним 27/02/24 Втр 16:56:09 3065979 484
>>3065507
1. Каким хуем?
2. Даже если, и что?
Аноним 27/02/24 Втр 17:08:19 3065995 485
>>3065979
1. Тем, что теперь твой интерфейс это и интерфейс и абстрактный класс
2. Любишь вместо существующего языка использовать выдуманный язык? Потому что именно так это выглядит со стороны когда разработчик вместо конвенционального способа проектирования программы начинает изобретать свои собственные. И конвенция говорит, что интерфейсы не содержат в себе имплементацию.

Я так понимаю твой код никто никогда не ревьюрил, потому что такие вещи не знают только программисты-одиночки.
Аноним 27/02/24 Втр 17:11:24 3066003 486
>>3065995
> и интерфейс и абстрактный класс
Ты еблан, лол? По такой логике кроссплатформенность тоже нарушает мантру, ведь и шинду поддерживает и пердоликс. Или там иерархия классов, и Shape и Rectangle и Square.

> Любишь вместо существующего языка использовать выдуманный язык? Потому что именно так это выглядит со стороны когда разработчик вместо конвенционального способа проектирования программы начинает изобретать свои собственные. И конвенция говорит, что интерфейсы не содержат в себе имплементацию.

> Я так понимаю твой код никто никогда не ревьюрил, потому что такие вещи не знают только программисты-одиночки.
То есть из твоих аргументов только "здесь так принято" и "ты не программист"?
Аноним 27/02/24 Втр 17:14:01 3066006 487
>>3065995
>>разработчик вместо конвенционального способа проектирования программы начинает изобретать свои собственные.
спринг так и поступает, за чистым ООП на джаве - это к бугаенке.
Аноним 27/02/24 Втр 17:22:21 3066014 488
>>3066003
> Ты еблан, лол? По такой логике кроссплатформенность тоже нарушает мантру, ведь и шинду поддерживает и пердоликс. Или там иерархия классов, и Shape и Rectangle и Square.
Ты хуйню какую-то лишённую логики спизданул. Попробуй ещё раз.
> То есть из твоих аргументов только "здесь так принято" и "ты не программист"?
Почему ты пишешь на русском языке? Говори на идише, иди против системы. В коде же ты идёшь против "здесь так принято", так давай, здоровайся с людьми носом, переходи дорогу на красный и ходи задом - следуй своему инженерному чувству анон, нахуй эти правила.
Аноним 27/02/24 Втр 17:23:37 3066019 489
>>3066014
> Ты хуйню какую-то лишённую логики спизданул. Попробуй ещё раз.
Слив принят.

> Почему ты пишешь на русском языке? Говори на идише, иди против системы. В коде же ты идёшь против "здесь так принято", так давай, здоровайся с людьми носом, переходи дорогу на красный и ходи задом - следуй своему инженерному чувству анон, нахуй эти правила.
То есть ты подтверждаешь что аргументов у тебя помимо "здесь так принято" нет и объяснить зачем это нужно ты не в состоянии?
Аноним 27/02/24 Втр 17:28:31 3066024 490
>>3066019
Иди нахуй просто, ещё на говнодебилов время тратить
Аноним 27/02/24 Втр 17:29:09 3066026 491
>>3066003
Пиздец порвало беднягу в клочья от открытия принципов организации программ
Аноним 27/02/24 Втр 17:34:41 3066034 492
>>3065392
Ты используешь BufferedReader для паркинга хедера. Но проблема в том, что BufferedReader буфферизирует чтение кто бы мог подумать, да?. Соответственно он почти гарантированно вычитает лишние байты из SocketInputStream. И дальше твой ридер для тела запроса будет читать его с середины.

Тебе надо отказаться от ридера для заголовка. Читай побайтово пока не встретишь \n дальше байты в строку и парсить. Когда закончишь с заголовком, можно будет создавать ридер поверх того стрима из которого ты читал.
Аноним 27/02/24 Втр 18:15:57 3066109 493
>>3065445
Мне кажется это Влад Яценко, СТО Революта
Аноним 27/02/24 Втр 18:42:36 3066149 494
>>3066014
>>здоровайся с людьми носом, переходи дорогу на красный и ходи задом
Тебе скажут что это нерушимые принципы - и ты будешь так делать. Адекваты пошлют нахуй эти правила и будут делать так как удобно им, пока ты будешь визжать что это неправильно и так делать нельзя, ведь бог накажет!!!!
Аноним 27/02/24 Втр 18:44:48 3066154 495
>>3066149
> и будут делать как удобно им
> буквально первое, что написано в любом руководстве как писать хороший код: пишите так, чтобы другие легко могли понять написанное
Что ты забыл в программаче?
Аноним 27/02/24 Втр 21:19:56 3066390 496
purple square.jpg 2Кб, 351x316
351x316
Предстоит увольнение с текущей работы, на которой проработал 3 года (была первая работа в ИТ) как разработчик. Дайте советов мудрых, как подготовится к миддл собеседованию. Возможно есть у кого полезные ссылки. Я погуглил, но как-то по крупицам всё разбросано.
Аноним 27/02/24 Втр 21:48:43 3066434 497
>>3066154
>>первое, что написано в любом руководстве как писать хороший код: пишите так, чтобы другие легко могли понять написанное
Я про это и написал, принципы идут нахуй если они идут вразрез с удобством и понятностью. Иногда они просто устаревают, но долбоебы вроде тебя продолжают дрочить на какую то книжку из 90-х.
Аноним 27/02/24 Втр 22:08:57 3066449 498
Давно в треде не задавал вопросы.

Как профилировать джаву? Вот например у меня есть игра на джаве (копрокубы), и при рендеринге каждый 5-10 кадр рендерится в 4 раза дольше, чем нормальные кадры. Меня это немного доебало и я хочу избавиться от этого. Я могу например найти метод рендера кадра, и после сборки данных профилировки фильтровать результаты, чтобы сравнить, чем занят движок в те микростататтеры, и чем при нормальном рендеринге, и попытаться это как-то распараллелить. Но как собрать данные профилировки, чтобы была выдача, что подметод залупа тратит 70% времени исполнения профилируемого метода, говно 25%, анус 5%?
Аноним 27/02/24 Втр 23:08:04 3066492 499
Давайте добивайте тред, мне завтра некогда будет перекатывать
Аноним 27/02/24 Втр 23:11:59 3066498 500
Аноним 27/02/24 Втр 23:37:44 3066514 501
>>3066449
Самый распространенный профайлер - VisualVM
В IDEA можно запускать в профилированием
Саму джаву можно запускать с FlightRecorder
Аноним 28/02/24 Срд 02:14:44 3066581 502
>>3066434
Нет, ты сказал если тебе конвенции становятся неудобными, то и пусть тогда идут они нахуй. Про других ты ничего не говорил.
Ответить в тред Ответить в тред

Check this out!

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