Сохранен 1041
https://2ch.hk/pr/res/2651134.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Java Thread #248 java /java/

 Аноним 24/03/23 Птн 13:59:53 #1 №2651134 
image.png
Программирование - это не столько про анальное крудошлёпство, сколько про стиль мышления. Высокоуровневая абстракция, поиск сходных черт, оптимизация - всё это высшие интеллектуальные способности, что образуют такой прочный симбиоз с программированием на Java.

Вики по вкатыванию в джаву: https://github.com/java2ch/java-thread/wiki

Предыдущий: >>2630498 (OP)
Аноним 24/03/23 Птн 14:30:36 #2 №2651165 
Расскажите, чем так плоха монорепа? Я никогда не сталкивался, но чисто в теории выглядит удобнее, чем отдельные репо под каждый проект.
Аноним 24/03/23 Птн 14:41:23 #3 №2651177 
>>2651165
Придётся писать свою систему контроля версий как Яндекс сделал, тк гит хуево работает с огромными репами когда проектов становится много: хуилион комитетов веток и тд, приходится все эту хуйню клонировать на локальную машину чтоб что-то разрабатывать, нельзя разграничить права доступа на разные сервисы…. Пиздец короче. Но плюсы тоже есть, думаю ты их знаешь, главное чтоб монотонна не разрасталась до абсурда
Аноним 24/03/23 Птн 14:57:12 #4 №2651211 
Мне нужно сделать рест-эндпоинт по которому можно скачать CSV выгрузку из БД.
Как я понимаю есть два варианта:
1) сделать запрос в БД целиком, сконвертировать данные в CSV, отдать
2) вычитывать данные из БД построчно, построчно преобразовывать в CSV-строки и потоком отдавать

Как добиться второго варианта используя Spring/webflux, чтобы не держать огромные данные в оперативной памяти?

Если я объявляю возвращаемое значение эндпоинта как org.springframework.http.ResponseEntity<org.springframework.core.io.Resource> то это какой подход будет 1й или 2й?
Аноним 24/03/23 Птн 18:38:19 #5 №2651533 
Ну что, Loom будет финальным в Java 21. Поэтому подтягиваем свои знания. Изучаем кишочки. Вот вам с конференции видос. Образовывайтесь

https://www.youtube.com/watch?v=kwS3OeoVCno
Аноним 24/03/23 Птн 18:42:12 #6 №2651540 
ЖАБА ГОРАЗДО ХУЖЕ, ЧЕМ ШАРП
Аноним 24/03/23 Птн 19:38:13 #7 №2651592 
>>2651211
Да.
Аноним 24/03/23 Птн 19:39:22 #8 №2651593 
>>2651211
Вычитывать из базы в виде csv.
Аноним 24/03/23 Птн 19:44:15 #9 №2651596 
Нужна бумашка с надписью "Диплом". Есть 2 варианта, заочка или OCAJP. Ваши мысли ?
Аноним 24/03/23 Птн 19:44:54 #10 №2651597 
При коммите проекта в репозиторий нужно включать в коммит папку .idea ?
Аноним 24/03/23 Птн 19:53:05 #11 №2651605 
>>2651596
>>2651596
https://www.vmware.com/learning/certification/spring-certified-pro.html
Аноним 24/03/23 Птн 20:22:22 #12 №2651641 
>>2651533
>Loom
Лет через 50 подтянутся библиотеки и фримверки и можно будет переползать. Но джэва проиграла войну и сейчас просто неумело тащит в себя всякие конструкции из других языков. Только делает это абы как и с характерной для джэвы многословностью и нелогичностью
Аноним 24/03/23 Птн 20:22:47 #13 №2651642 
>>2651597
Нет, не нужно.
Аноним 24/03/23 Птн 20:24:51 #14 №2651644 
>>2651596
Не нужна.
Аноним 24/03/23 Птн 22:43:46 #15 №2651758 
Аноны, что посоветуете почитать посмотреть по Reactor и WebFlux?
Аноним 24/03/23 Птн 23:49:06 #16 №2651801 
>>2651758
Не нужно.
Аноним 25/03/23 Суб 00:15:51 #17 №2651809 
>>2651801
Может и так, но вопрос не в этом
Аноним 25/03/23 Суб 01:34:39 #18 №2651858 
>>2651809
Вопросы не нужны.
Аноним 25/03/23 Суб 05:48:09 #19 №2651918 
>>2651758
Reactor in Action
WebFlux Definitive guide
Аноним 25/03/23 Суб 11:56:06 #20 №2652132 
Как можно хостить петы в облаке, если любой даун после собеса зайдет и закинет тебе порнухи или фанфики про еблю с собаками. И все. Потом абуза и ты уезжаешь на парашу
Аноним 25/03/23 Суб 15:25:58 #21 №2652361 
>>2652132
>Как можно хостить петы в облаке
Ты имеешь ввиду гитхаб, или что-то типа дропбокс ? :/
У меня все репозитории private, а когда начинается сезон собесов, я делаю их публичными.
Аноним 25/03/23 Суб 15:32:11 #22 №2652368 
>>2652132
Держи лайфхак: не показывать петы работодателям.
Аноним 25/03/23 Суб 16:40:51 #23 №2652439 
>>2652132
Шта? Не понял, из-за чего ты уезжаешь на парашу. В чем проблема удалить все что тебе дауны накидали?
Аноним 25/03/23 Суб 16:46:05 #24 №2652454 
>>2651177
>приходится все эту хуйню клонировать на локальную машину
Монорепа обычно монтируется как внешний диск со специальной файловой системой, которая сама подгружает файлы в момент обращения. Никто не выкачивает гигабайты сорцов ради одного пука.

>>2651165
Проще управлять версиями, когда например у тебя есть набор самописных библиотек-велосипедов, которые чуть ли не в каждом сервисе используются. Вот тогда с монорепой жить проще. А так особых преимуществ имхо нет.
Аноним 26/03/23 Вск 02:36:22 #25 №2653021 
Хочу из аннотейшн процессора на этапе компиляции вызвать рефлексию для обработки компайл-тайм аннотаций.
Там вроде отдельный рантайм поднимается.
javax.annotation.processing апишка очень многословная, неприятная и кривая, хуже рефлексии.
Попробовал рефлексией читать содержимое классов, параметры аннотаций, и сигнатуры методов. С рефлексией код попроще, но компилируется медленнее.
Еще почему то в AnnotationValue.getValue() параметр с типом String[] не кастится String[], идея в дебагере пишет, что там под капотом com.sun.tools.javac.util.List<String> вместо массива и пока не нашел как его скастить или сконвертировать.
Какие подводные вызывать рефлексию из аннотейшн процессора? Ну кроме скорости компиляции.
Аноним 26/03/23 Вск 04:56:04 #26 №2653042 
>>2653021
Ты говоришь
>Хочу из аннотейшн процессора на этапе компиляции вызвать рефлексию для обработки компайл-тайм аннотаций.
А я слышу
>Вжж ж вжж-вжж вжж-жж-ж жж жж вж-вж-жж вж-вж-вж жжж вжжжж вжжж-вжжж вжжжжжжж.
Обезумевшие джавамухи, зачем вы обмазываетесь подобными вещами? Разве вам самим не противно этим заниматься? Посмотрите как в нормальных языках программирования решены эти проблемы.
Аноним 26/03/23 Вск 06:33:34 #27 №2653056 
>>2653042
И как?
Ну и я не сказал какая у меня проблема.
Ну кроме вот этих штук с массивами в кривой апишке. Но я думаю я просто пока плохо знаю апиху процессоров.
Кстати при выдергивании значения типа Сlass там бросался эксепшон всегда и надо было его ловить, но значение потом из эксепшона можно вытащить.
Аноним 26/03/23 Вск 11:11:47 #28 №2653153 
>>2652454
>Проще управлять версиями, когда например у тебя есть набор самописных библиотек-велосипедов, которые чуть ли не в каждом сервисе используются. Вот тогда с монорепой жить проще
Сколько ты будешь ждать билда, если монорепа подразумевает зависимость по исходникам, а не по артифактам?
Аноним 26/03/23 Вск 11:29:59 #29 №2653157 
>>2651134 (OP)
https://www.youtube.com/watch?v=yj3sndjLHEA

А зачем вы лезете в Джэву, если там все уже занято молодыми и упругими?
Аноним 26/03/23 Вск 13:26:31 #30 №2653276 
Объясните в чем прикол. Пишу тесты для спринга. называю их test1, test2... Все норм вплоть до test10. Когда он запускается, то обнуляются вся поля тестового класса, и тест фейлится. Переимениоываю в test11 - та же херня. Переименовываю в testA - все работает как надо, поля не обнуляются. Переименовываю в testA1 - снова пизда рулю. Это че за механика блять? Уже второй раз с подобной херней сталкиваюсь, когда метод под определенным именем не хочет работать.
Аноним 26/03/23 Вск 13:50:08 #31 №2653313 
>>2653157
Абсолютно бесполезный доклад.
Аноним 26/03/23 Вск 16:32:38 #32 №2653455 
>>2651211
Пожалуйста объясните мне если возвращаемый тип ResponseEntity<Flux<String>> и в хедерах указыается контент-тайп "text/csv" будет ли все flux построчно отдаваться или сначала соберется полностью в оперативке а затем выплюнется наружу?
Аноним 26/03/23 Вск 17:38:41 #33 №2653514 
image.png
>>2653455
блять, сначала собирает и потом отдает. Как блять сделать потоком это? неужели нужно байтоебить как здесь описано https://stackoverflow.com/questions/62137881/iterator-of-strings-to-inputstream-of-bytes
Аноним 26/03/23 Вск 17:47:31 #34 №2653537 
image.png
>>2651134 (OP)
Сап, джаваны. Что можно дать почитать по жабе ребенку тян 12-13 лет? Относительно современное, при этом хорошо структурированное для самостоятельного изучения. В английский умеет, базовый пистон тоже.
Нет, не либертарианец педофил - просто поддерживаю благие начинания младшей сестры.
Аноним 26/03/23 Вск 17:50:19 #35 №2653543 
>>2653537
Headfirst какой-нибудь
Аноним 26/03/23 Вск 17:51:11 #36 №2653544 
>>2653543
Точно, вспомнил про эту серию книжек. Отзывы слышал разные, надо будет самому посмотреть, спасибо.
Аноним 26/03/23 Вск 18:25:57 #37 №2653567 
LibJdx подойдет для написания калькулятора ? Интерфейс, поле для ввода текста, кнопки там разные...
Аноним 26/03/23 Вск 18:40:42 #38 №2653582 
>>2653567
Для написания калькулятора подойдёт Swing. На этом этапе надо осознать, что джава не предназначена для написания десктопных приложений, и забыть об этом говне.
Аноним 26/03/23 Вск 18:47:06 #39 №2653588 
>>2653582
>предназначена для написания десктопных приложений
с# ?
Аноним 26/03/23 Вск 19:04:15 #40 №2653604 
>>2653588
Или плюсы. В шарпе гуй только для винды.
Аноним 26/03/23 Вск 19:21:27 #41 №2653643 
Какого хуя сообщения о перекате в 247 треде нету?
Аноним 26/03/23 Вск 19:22:49 #42 №2653648 
>>2653643
я забыл, сорян =)
Аноним 26/03/23 Вск 19:24:11 #43 №2653649 
>>2651540
Ты же обещал не срать, если перекаты будут после 1000!
Аноним 26/03/23 Вск 19:26:14 #44 №2653654 
>>2653582
а мне понравилось. Хотел бы делать десктоп на жабе, только нету его
Аноним 26/03/23 Вск 19:26:20 #45 №2653656 
Когда в последний раз вы сталкивались с ситуацией "глаза боятся — руки делают"?
Аноним 26/03/23 Вск 19:26:23 #46 №2653657 
>>2653649
Этот тред был создан, когда в предыдущем не было 1000 постов, так что условие не выполнено.
Аноним 26/03/23 Вск 19:27:21 #47 №2653658 
>>2653657
Да ты охуел, пёс! Я нахуй щас после 500 перекачу!
Аноним 26/03/23 Вск 19:28:54 #48 №2653661 
>>2653658
Не перекатишь.
Аноним 26/03/23 Вск 19:32:09 #49 №2653669 
>>2653661
Верно, назло тебе я шарпоблядей призывать не буду. Но ты всё равно охуевший.
Аноним 26/03/23 Вск 19:33:36 #50 №2653670 
>>2653537
Шилдт
Аноним 26/03/23 Вск 19:37:33 #51 №2653675 
>>2653669
Хих
Аноним 26/03/23 Вск 21:25:45 #52 №2653748 
вы че суки тут устроили?
Аноним 26/03/23 Вск 21:54:46 #53 №2653771 
>>2653537
КАК ЖЕ ЗАЕБАЛ ЭТО Т ПУССИПАСС НАХУЙ БЛЯДЬ!!!!!!!!!!!!!!!!!!!!!! СУКА!!!! МНЕНИКТО НИХУЯ В 12 ЛЕТ НЕ ОБЪЯСГЯЛ Я ВСЁ САМ ИУХАЧАЛ БЛЯДЬ И НЕ В 12 ЛЕТ А УЖЕ В СКУФ ЛЕТ МЕНЯДАЖЕ НА ФОРУМАХ НАХУЙ СЛАЛИ БЛЯДЬ ТОЛЬКО ОДИН — ОДИН РАЗ БЛЯДЬ — ПОМОГЛИ С КОНФИГАМИ ВС!Ё!!!!!!!!!!!!!! А БЛЯДЬ ПИЗДЕ ТУПОЙ СУКА С ДЕТВТВА ОБЪЯСНЯЮТ ВС!Ё ПОМОГАЮТ ЧТОБЫ ОНА СУКА НИХВ НЕ АПРЯГЛАСЬ И ПОШЛА РУБИТЬ БЛЯДЬ СОТЫГИ НАХУй СКОЛДЬКО Я БЛЯДЬ ГЕМОРРОИЛ БЛЯДЬ НАХУЙ И ВСЕ РАВНО БЛЯДЬ ЛЮБАЯ ПИЗДА С РОЖЖДЕНИЯ НАХУЙ ИМЕЕТ ВСЁ БЛЯДЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! А НЕ ОХУИЛЕ ЛИ ОНА БЛЯДЬ!!!!!!!!!!!!!!!!
Аноним 26/03/23 Вск 21:58:02 #54 №2653777 
>>2653771
лол додик на ребенка обозлился
Аноним 26/03/23 Вск 21:58:30 #55 №2653778 
сука завтра опять на РАБоту...
Аноним 26/03/23 Вск 21:58:49 #56 №2653780 
>>2653777
Потому что у этого ребёнка есть всё с рождения. Какого хуя?
Аноним 26/03/23 Вск 22:08:50 #57 №2653790 
>>2653780
а схуяли не должно быть?
Аноним 26/03/23 Вск 22:17:59 #58 №2653795 
>>2653771
Хуя разрыв. Я был в такой же ситуации, собственно, как и ты - почему из-за этого я не могу помочь ей с хорошими материалами для обучения?
Аноним 26/03/23 Вск 22:58:50 #59 №2653812 
>>2653790
А хули у меня нет?
Аноним 26/03/23 Вск 22:59:08 #60 №2653813 
>>2653795
Ты куколдище. Тебя поимели, а ты и рад дальше очко подставлять.
Аноним 26/03/23 Вск 22:59:38 #61 №2653815 
>>2653812
ну ты лох че)
Аноним 26/03/23 Вск 23:00:57 #62 №2653816 
>>2653815
Ну вот поэтому и рванул, маня. У нормискота всегда с логикой проблемы были, знаю.
Аноним 26/03/23 Вск 23:02:11 #63 №2653818 
>>2653816
то есть ты нормискот поэтому у тебя рвануло?)
Аноним 26/03/23 Вск 23:17:06 #64 №2653825 
>>2653582
Иди в писку прогуляйся.
Аноним 27/03/23 Пнд 08:24:10 #65 №2653938 
в гоблине я вижу коротышку омежку, который специально делает грубый голос и пытается играть взрослого серьёзного дядю.
Аноним 27/03/23 Пнд 08:42:42 #66 №2653946 
А ещё я люблю сосать хуи.
Аноним 27/03/23 Пнд 09:14:22 #67 №2653964 
Вот говорили котлин для джависта это просто. А мне нужно было пример на котлине на джаву переписать и я нихуя не понял.
Вообще не понял, как переписать with, also, apply на джаву. Читаю что эти выражения значат, а как переписать на джаву не понимаю.
Аноним 27/03/23 Пнд 09:23:51 #68 №2653971 
>>2653964
Посмотреть в идее, во что это говно транслируется.
Аноним 27/03/23 Пнд 09:31:07 #69 №2653976 
>>2653971
Я пробовал идеевским Kotlin - Show bytecode - Decompile.
Там лапша какая-то выходит невразумительная.
Аноним 27/03/23 Пнд 09:47:48 #70 №2653990 
я хочу это в резюмеху вставить как пет-проект. Покритикуйте пожалуйста. И инглиш наверняка косяки. А я пока в басик схожу

https://github.com/cray33/jnom
http://jnom.fvds.ru:8080
Аноним 27/03/23 Пнд 10:32:25 #71 №2654007 
>>2653990
не работает
Аноним 27/03/23 Пнд 10:58:06 #72 №2654024 
>>2653990
Карты и ГИС интересная тема.
Только вот автокомплит во время поиска названия города, улицы, дома тупит очень сильно. Я бы это еще пофиксил раз у тебя пет развернут и ты его готов в живом формате показывать.

Плюс я бы еще каких-нибудь фичей накидал, например выводить информацию про найденный объект на фронт, а не просто на карте показывать.
Аноним 27/03/23 Пнд 12:12:39 #73 №2654082 
>>2653313
https://www.youtube.com/watch?v=VTktC3dmjE0&t=169s

Попустился бы, старина. Нормальные ребята в Скэйлу перекатываются и идут в Вертикали
Аноним 27/03/23 Пнд 12:26:57 #74 №2654099 
>>2654082

Скала - это вырвиглазный недохаскель, пригодный только для рисования кошачьих жоп лямбдами.
Аноним 27/03/23 Пнд 13:22:23 #75 №2654174 
OjqF49Qjx7.png
>>2654024
да, тоже заметил тупление. Но тайминги быстрые, хз почему
Аноним 27/03/23 Пнд 13:58:01 #76 №2654214 
>>2653582
На JavaFX вполне себе неплохо пишется, сложновато, конечно, но интересно и работает нормально.
По сравнению с tkinter на питоне так вообще сказка (PySide не пробовал)
Аноним 27/03/23 Пнд 14:08:12 #77 №2654221 
>>2651134 (OP)
Какого хуя ты ссылку на перекат в прошлом треде не запостил блять мудило?
Аноним 27/03/23 Пнд 16:34:13 #78 №2654394 
>>2654174
Не шарю во фронте, но наверное событие изменения текста в поле срабатывает только после какой-то задержки.
Аноним 27/03/23 Пнд 18:47:40 #79 №2654587 
>>2654221
Меня волнует почему тред до сих пор называется Java если все давно свитчнулись на котлин
Аноним 27/03/23 Пнд 18:48:07 #80 №2654589 
Аноны, дайте идей для пет-проекта на кафке. Чтобы кабанам на собесах показывать, типа смотрите, я могу в кафку. У самого с фантазией все плохо, на вас вся надежда, выручайте.
Аноним 27/03/23 Пнд 18:55:50 #81 №2654593 
>>2653818
Хуя се блядь меня приложили стрелочкой нахуй.
Аноним 27/03/23 Пнд 18:58:20 #82 №2654594 
>>2654587
Котлин умер и остался в легаси. Новые проекты пишут на джаве.
Аноним 27/03/23 Пнд 19:03:16 #83 №2654602 
>>2654589
Если проект осмысленно месседж брокер использует, то это уже бизнес идея. Кто тебе бизнес идею просто так отдаст? А так никто тебе не мешает кафку в тудулисте исользовать. Сделай тудулист в виде микросервисов.
1. Фронтенд
2. Апиха для фронтенда
3. Интеграция для телеграмма.
Между апихой и телеграммом может быть кафка.
Аноним 27/03/23 Пнд 19:17:56 #84 №2654618 
>>2651134 (OP)
Как же я проиграл с гадких джавамух, лол. Вы зачем пишите свои помойные интерфейсы, а потом создаете один класс с окончанием импл? Вы идиоты? Зачем вы раздуваете кодовую базу? Какой-то нездоровый дроч на Ункла Бэба и его гнойный СОЛИД, лал. Вы прекращайте херней заниматься, лол. А ваша анемичная модель? Еще в начале 00-х было показано как надо делать. Как же я проорал с ваших гадких контроллер-сервис-репозиторий, ахахахахахахах! А модель - обычный класс с полями, чтобы было что на табличку в базе мапить! Поганые джавамухи! Фу!
Аноним 27/03/23 Пнд 19:20:46 #85 №2654624 
>>2654618
как на первой галере показали так и делаем
Аноним 27/03/23 Пнд 19:46:26 #86 №2654657 
>>2654618
>Еще в начале 00-х было показано как надо делать. Как же я проорал с ваших гадких контроллер-сервис-репозиторий
Ну и как надо делать?
Аноним 27/03/23 Пнд 20:19:04 #87 №2654678 
>>2654589
Морской бой между инстансами микросервиса, писал уже.
Аноним 27/03/23 Пнд 20:20:17 #88 №2654679 
>>2654618
Ты только что петушарп...
Аноним 27/03/23 Пнд 20:20:48 #89 №2654680 
>>2654678
А кафку-то тут нахуя юзать?
Аноним 27/03/23 Пнд 20:22:06 #90 №2654681 
>>2654680
Ты сам с кафкой просил, ебанутый.
Аноним 27/03/23 Пнд 20:22:44 #91 №2654682 
>>2654678
это кстати интересно
Аноним 27/03/23 Пнд 20:24:51 #92 №2654685 
>>2654681
Я не просил, мимо проходил. Да и тот анон, очевидно, реквестировал что-то адекватное, для чего использование кафки оправдано.
Аноним 27/03/23 Пнд 20:29:01 #93 №2654687 
Использование кафки не оправдано.
Аноним 27/03/23 Пнд 20:31:15 #94 №2654688 
>>2654685
тогда ему нужно владеть инфраструктурой уровня линкедина или подобного. Только тогда это будет оправдано
Аноним 27/03/23 Пнд 20:47:21 #95 №2654702 
Че такое camunda и нахуя ее используют? В гугле вообще не понятно написано, я так и не понял, почему без нее нельзя обойтись и какие конкретные задачи решает
Аноним 27/03/23 Пнд 21:19:32 #96 №2654726 
>>2654702
Беги оттуда, заставят программировать мышкой диаграммы для аналитиков.
Аноним 27/03/23 Пнд 22:35:29 #97 №2654791 
>>2654726
Блин я уже оффер принял, че реально душнина какая-то? Я просто во многих вакансиях ее видел, думал дефолт кейворд
Аноним 28/03/23 Втр 00:56:36 #98 №2654827 
>>2654791
Мне на одном собесе один чел посоветовал подтянуть эту херню, тк везде нужна. Я чет тогда кекнул прям.
Ну в целом вроде вещь полезная, хотя и не очень интересная.
Аноним 28/03/23 Втр 09:38:19 #99 №2654940 
>>2654602
>>2654678
Интересные предложения, но хотелось бы что-нибудь такое, где несколько продюсеров, минимум 2 топика, и несколько консюмеров...

Я уже написал один пет, где есть 1 прод + 1 конс.

А может и не нужен вообще отдельный пет по кафке в таком случае?
Аноним 28/03/23 Втр 09:50:03 #100 №2654942 
>>2654940
ты ебланище
Аноним 28/03/23 Втр 11:02:47 #101 №2654965 
>>2654942
Дай идею на несколько продов, топиков и консов, заебал.
Аноним 28/03/23 Втр 11:39:58 #102 №2655008 
kafka-enterprise-architecture.jpg
>>2654965
Воссоздай это.
Аноним 28/03/23 Втр 12:20:38 #103 №2655070 
С чего начать структурированный вкат в джаву? Только не надо советовать всякие справочники и документации, где все написано для знающих и понимающих, что им нужно. Мне бы что-то с полного нуля.
Аноним 28/03/23 Втр 12:40:38 #104 №2655091 
Говно не увидело шапку, но уже умничает.
Аноним 28/03/23 Втр 12:47:16 #105 №2655095 
>>2655091
В говношапке ничего толкового не написано. Там просто все обсирается и говорится, что нужно все самому учить.
Аноним 28/03/23 Втр 13:22:35 #106 №2655125 
>>2655095
Ну а как по другому-то? Только самостоятельно двигаясь ты чего-то сможешь достичь по-настоящему.
Аноним 28/03/23 Втр 13:39:05 #107 №2655142 
>>2655091
Все что написано в шапке
> Где брать информацию по Java?\nГугл и книги.
>>2655125
Так если я совсем нулевой, то откуда мне знать что откуда брать?
Аноним 28/03/23 Втр 14:02:25 #108 №2655166 
>>2655070
Если знаешь ангельский, то hyperskill, поглощаешь все что там есть по джаве, далее строишь свои пет проекты, по-ходу восполняя проблемы в знаниях, что не дал гиперскилл.
Аноним 28/03/23 Втр 14:05:03 #109 №2655168 
>>2655125
Если ты самостоятельно начнешь двигаться с нуля, то с высокой вероятностью ебанешься, сгоришь и пошлешь все нахуй. Нужна какая-нибудь база, где тебе скормят с ложечки основы. Даже если это какой-нибудь джава-раш.
Аноним 28/03/23 Втр 14:18:04 #110 №2655178 
>>2655168
мне например понравилось программировать на турбопаскале в путяге. Пошел в библиотеку взял книгу по турбопаскалю.
Потом ковырялся с модным php/js/css. Потом прочитал книгу по плюсам. Ужаснулся.
Потом ради интереса решил прочитать про модную жабу - очень зашло своей простотой и дуракоустойчивостью по сравнению с плюсами. Потом была проблема вкатиться, кое-как сделал тестовое задание. Так и вкатился. Щас такое наверно не прокатит
Аноним 28/03/23 Втр 19:42:03 #111 №2655540 
>>2655168
ты в любом случае все дропнешь нахуй маня
3 (три) месяца регулярного(!!!) изучения макакинга или иностранного языка или занятия спортом и т.д и т.п это АБСОЛЮТНЫЙ МИНИМУМ чтобы говорить о том, что ты что-то там выучишь или куда-то там вкатишься и что-то тебе серьезно советовать
три месяца
Аноним 28/03/23 Втр 19:47:51 #112 №2655542 
>>2655540
Я уже где-то 9 полных месяцев задрачиваюсь почти без выходных, ты мимо.
Аноним 28/03/23 Втр 19:49:18 #113 №2655544 
>>2654940
Два основных паттерна простого использования кафки без стримов это уведомления и репликация.
Сервис А реплицирует половину таблиц своей базы в сервис Б через достаточно большой объект, около мегабайта. Это первый топик
Сервис А и Б отправляют уведомления о изменении в их сущностях в сервис В в виде коротких уведомлений. Это второй топик.
Аноним 28/03/23 Втр 19:55:04 #114 №2655548 
>>2655166
Двачую гиперскил.
Инфа для очень нулевых, тысячи простых задачек и очень простой инлиш, написанный русскими.
Там еще есть бесплатные триалы? Года два назад проходил полгода бесплатного триала и прошел 2/3 трека по жабе. В целом понраилось.
А сейчас мне дали лычку мидла уже.
Аноним 28/03/23 Втр 20:01:28 #115 №2655554 
>>2655544
Спасибо. Звучит как именно то, что надо.

Короче, сервис А - хранилище кулинарных рецептов, с апи для юзера. Сервис Б - резервное хранилище, туда иногда отправляется таблицы из сервиса А. Все они шлют уведомления на сервис С - это админский сервис, где админ мониторит в логах консоли обо всем произошедшем. Норм же? Или что добавить/поправить можно? Завтра приступаю.
Аноним 28/03/23 Втр 20:06:59 #116 №2655557 
>>2655548
Есть бесплатные триалы по рефералке где-то на 3.5 месяца, без нее меньше. Я несколько аккаунтов сменил лол. Прошел вообще все курсы что есть по джаве, где-то 40 проектов их сделал в сумме. Доволен как слон и вообще не жалею. Читается легко и приятно, проекты под разные аспекты языка и спринга.
Аноним 28/03/23 Втр 20:25:02 #117 №2655572 
>>2655554
Ну второй сервис это какой то мусор.
Нужны два настоящих сервиса, чтобы ты понял зачем нужна репликация. Они используют частично одинаковые данные, но у них разный функционал и разные апи.
И тебе должно хотеться соеденить их синхронно по ресту. Типа когда приходит запрос на один сервис он обращается во второй за частью данных. Но так плохо, это распределенный монолит. Если первый упадет - второй тоже не будет работать.
А тебе нужно чтобы функционал был тот же, но без хождения по ресу, а репликации нужной части.
Ну типа есть сервис рецептов и сервис ингредиентов. В сервисе ингредиентов там есть подробная инфа о продукте. Его кбжу, нутриеты, лактоза, глютен, клетчатка, страна производства и еще что-то. На сервису рецептов нужно только айдишник, наименование и калорийность. И ты три эти колонки реплицируешь кафкой в сервис с рецептов.
Аноним 28/03/23 Втр 20:32:35 #118 №2655575 
>>2655554
>>2655557
А уведомление это типа такой нормализованный эвент
1. Тип сущности (строчка) - рецепт/ингредиент
2. Айдишник сущности (лонг/юид)
3. Наименование сущности(опциональный, но для наглядности) - (строчка) - лазанья/морковка
4. Енум из действий. - добавлен/удален/изменен/итд.
Аноним 28/03/23 Втр 20:53:31 #119 №2655585 
>>2655572
>А тебе нужно чтобы функционал был тот же, но без хождения по ресу, а репликации нужной части.
>Ну типа есть сервис рецептов и сервис ингредиентов. В сервисе ингредиентов там есть подробная инфа о продукте. Его кбжу, нутриеты, лактоза, глютен, клетчатка, страна производства и еще что-то. На сервису рецептов нужно только айдишник, наименование и калорийность. И ты три эти колонки реплицируешь кафкой в сервис с рецептов.

Не понял как сделать, чтобы не было распределенным монолитом. Если на сервисе рецепты три колонки, а всё мясо на сервисе ингридиентов, то если один упадет, то вся приложуха перестанет работать. Или на сервисе ингридиентов должно быть все вместе? Гугл на "kafka replication" выдает про фактор репликации, разжуй, плиз.
Аноним 28/03/23 Втр 20:59:46 #120 №2655590 
>>2655585
Нет времени особо пояснять подробнее.
https://libgen.is/book/index.php?md5=392B994975B53BC21EDB7F7BA26AEB86
Страница 33-61.
Аноним 28/03/23 Втр 21:04:44 #121 №2655594 
>>2655590
Спасибо, прочту.
Аноним 28/03/23 Втр 21:22:27 #122 №2655615 
Я чет запутался. В кафка консьюмере есть метод poll чтобы считать сообщения. Но также я видел что люди делают метод consume,вешают на него аннотацию кафка листенер и также читают данные. Что когда использовать?
Аноним 28/03/23 Втр 21:23:43 #123 №2655619 
>>2651641
Вкатун не палится
Аноним 28/03/23 Втр 21:29:18 #124 №2655621 
>>2655615
Poll это кафка клиент.
Аннотация это спринг кафка, аннотация это обертка над методом poll.
Аноним 28/03/23 Втр 21:29:38 #125 №2655624 
>>2655619
И в чём он не прав?
Аноним 28/03/23 Втр 21:30:52 #126 №2655626 
>>2655621
То есть метод полл читает вручную когда я его вызову,а листенер нон стопом сам чекает топик на наличие новых сообщений? Посоветуйте че почитать по кафке в связке с бутом
Аноним 28/03/23 Втр 21:31:26 #127 №2655627 
>>2655624
В том что его сообщение не имеет ничего общего с реальностью
Аноним 28/03/23 Втр 21:36:37 #128 №2655631 
>>2655626
Всю доку спринг кафки и читай. Там не так много.
Аноним 29/03/23 Срд 00:17:59 #129 №2655726 
Есть у кого реферальная ссылка на https://hyperskill.org/
?
Аноним 29/03/23 Срд 07:27:50 #130 №2655817 
>>2655726
https://invitation.codes/hyperskill

Выбирай.
Аноним 29/03/23 Срд 07:55:55 #131 №2655821 
>>2655624
В том, что кроме лума подобные механизмы в языке есть только у го и эликсира/эрланга насколько я знаю
Аноним 29/03/23 Срд 14:20:07 #132 №2656132 
>>2655821
У говна даже эксепшенов и дженериков нет, куда ему до лума-то?
Аноним 29/03/23 Срд 17:15:42 #133 №2656404 
>>2655817
Нихуя, не знал что есть такой сайт. СпасибО!
Аноним 29/03/23 Срд 17:45:54 #134 №2656464 
>>2656132
>>2655821
Вы упоролись чтоли? Или вас шарписты с вкатунами настолько заебали что кругом враги джавы мерещатся?

Дохуя уже где зеленые потоки есть, включая гоу с горутинами.
Аноним 29/03/23 Срд 20:58:55 #135 №2656656 
Подскажите плиз, что гуглить чтоб найти инфу про построение рисунка символами? Например для решения таких задач:
https://www.codewars.com/kata/5f70c883e10f9e0001c89673

В 3д тож интересно
Аноним 29/03/23 Срд 21:03:58 #136 №2656659 
>>2656656
Гуглить методы System.out.println и String.format(), цикл for, массивы char[].
Аноним 29/03/23 Срд 21:08:11 #137 №2656663 
>>2656659
Спасибо
Аноним 29/03/23 Срд 22:00:20 #138 №2656697 
>>2656656
Чекни apache lanterna. Может оверкилл конечно, но мало ли.
Аноним 29/03/23 Срд 22:51:21 #139 №2656732 
>>2656656
https://github.com/vdmeer/asciitable
Аноним 29/03/23 Срд 23:55:11 #140 №2656778 
>>2656697
Выглядит как говно из 90-х в отличие от https://github.com/Textualize/textual
Аноним 30/03/23 Чтв 01:52:09 #141 №2656838 
>>2656778
Выгладишь как говно сейчас - ты, со своими бессмысленными выебонами.
Аноним 30/03/23 Чтв 02:40:58 #142 №2656861 
Creating-Maven-project-using-command-prompt6.jpg
Каким образом в Java выводится в консоль кроссплатформенно цветной текст? Например, как это делает Maven?
В Linux/Mac есть ANSI-коды (через ESCAPE), но как оно работает под Windows?
Аноним 30/03/23 Чтв 03:02:53 #143 №2656869 
>>2656861
Исходники Мавена открыты же, можешь сам посмотреть.
Мавен использует библиотеку Jansi, которая смотрит, в какой среде запускается JVM, для юниксовых терминалов выводит ANSI-коды, для виндовой командной строки дёргает WinAPI, в остальных случаях ничего не раскрашивает.
Аноним 30/03/23 Чтв 05:36:24 #144 №2656893 
>>2656132
>эксепшенов
Те самые эксешпоны, которые из лямбды не прокинуть и нужно либо тупо проглотить в трай кетче, либо лепить свои умные интерфейсы которые кидают эксепшоны)))))))))))))))))))))))))))))))))))))))))))))
Аноним 30/03/23 Чтв 07:07:49 #145 №2656909 
>Так, по словам депутата, на сегодняшний день в стране наблюдается нехватка врачей, учителей и IT-специалистов.

Согласны???
Аноним 30/03/23 Чтв 07:42:00 #146 №2656912 
Это нормально на спринге, что при включенном csrf, на локалхосте, когда пытаешься ауфентицироваться, он возвращает 403? Когда на сайт задеплоишь, работать будет или нужно что-то подшаманить?
Аноним 30/03/23 Чтв 08:10:30 #147 №2656929 
>>2656893
может проблема в лямбдах?
Аноним 30/03/23 Чтв 08:37:48 #148 №2656939 
>>2656912
Конечно нормально. Это же спринг...
Аноним 30/03/23 Чтв 08:54:34 #149 №2656948 
>>2656893
Нет, те самые эксепшены, которые из лямбд кидаются без трай/кетча и своих умных интерфейсов. Благо, что легаси чекед эксепшены остались в нулевых.
Аноним 30/03/23 Чтв 08:58:23 #150 №2656951 
>>2656929
Проблема в старых пердунах, которые дизайнят помойную джэву
Аноним 30/03/23 Чтв 08:59:22 #151 №2656952 
>>2656948
>Благо, что легаси чекед эксепшены остались в нулевых.
Аннотации в спринге настроил? контроллер, сервис, репозиторий - анемичная модель. Сервис уже написал на несколько тысяч строк? Все хорошо? Все хорошенько?!
Аноним 30/03/23 Чтв 09:01:06 #152 №2656954 
>>2656912
Не нормально, нужно шаманить.
Аноним 30/03/23 Чтв 09:02:16 #153 №2656956 
>>2656952
При чём тут спринг?
Аноним 30/03/23 Чтв 09:12:43 #154 №2656963 
Есть тут хуесосы из джетбрейна? А то хочу смачно харкнуть каждому из вас в лицо. Какого хуя вы все еще там работаете? Вам больше нравится хуй во рту или в жопе? Имейте хоть какое-то уважение к себе, а если не к себе, так к другим разрабам
Аноним 30/03/23 Чтв 09:19:01 #155 №2656965 
>>2656954
Что сделать можно попробовать, чтобы на локалхосте со включенном csrf робило?

В application.properties стоит server.port=8080.
Аноним 30/03/23 Чтв 09:37:15 #156 №2656976 
>>2656778
Ну джава как яп общего назначения использовалась буквально пару лет в 90ые/нулевые, упор в экосистеме идет на энтерпрайз. Естественно для питона пизже либы будут, там и комьюнити больше всех остальных языков вместе
Аноним 30/03/23 Чтв 11:10:01 #157 №2657036 
>>2656963
Для тех кто не понял, джетбрейнс больше ничего не продает в Россию, но русские разрабы у них все еще работают, а значит поддерживают джетбрейнс, а значит работают против других русских разрабов, у которых доступа к продуктам нет.
А отдельный пинок по почкам получают те кто пилит непосредственно Intellij Idea
Аноним 30/03/23 Чтв 11:25:03 #158 №2657053 
>>2656861
>31:40
Какие же монореподегенераты дегенераты.
Аноним 30/03/23 Чтв 11:42:25 #159 №2657060 
>>2657036
И че? Jetbrains - монополисты в области разработки IDE. Майки пыжились со своей сраной студией, но та даже не умеет текст анализировать и строить деревья
Аноним 30/03/23 Чтв 12:14:57 #160 №2657071 
Оцените нереальтный рисунок карандашом

/

ЛИЦЕНЗИЯ КТО УКРАДЁТ ТОТ ЛОХ!!!!!

Online Java Compiler.
Code, Compile, Run and Debug java program online.
Write your code in this editor and press "Run" button to execute it.

*****************************************************************************/
import java.util.Scanner;

public class Main
{
public static void main(String[] args) throws InterruptedException {

Scanner sc = new Scanner(System.in);
//int b = sc.nextInt();
String a = "/";
boolean c = true;
System.out.println(a);
while (true) {
if (c) {
for (int i = 0; i < 13; i++) {
a = " " + a;
System.out.println(a);
Thread.sleep(30);
}
c = false;
}
else {
for (int i = 1; i < (2 + 12); i++) { //13 - 14
a = a.substring(1);
System.out.println(a);
Thread.sleep(30);
}
c = true;
}
}
}
}
Аноним 30/03/23 Чтв 12:56:40 #161 №2657114 
>>2657071
И чё? Просто рисует бесконечно лесенку вниз.
Аноним 30/03/23 Чтв 12:57:01 #162 №2657115 
Почему тестах не работают потоки созданные Thread'om ?
Аноним 30/03/23 Чтв 12:57:09 #163 №2657116 
>>2657071
А теперь сделай так, чтобы кривая черта поворачивалась в нужную сторону.
Аноним 30/03/23 Чтв 15:15:32 #164 №2657256 
cxwla0hvwtu51.jpg
>>2656778
Аноним 30/03/23 Чтв 15:32:10 #165 №2657266 
>>2656861
Гугли Jansi
Аноним 30/03/23 Чтв 15:33:16 #166 №2657267 
3352879822140132612165953926165947259681805n.jpg
А это правда что JAVA умирает, и его место занимает GO????
Аноним 30/03/23 Чтв 15:37:32 #167 №2657271 
>>2657267
Говно только рот твоей мамахи занимает.
Аноним 30/03/23 Чтв 15:39:26 #168 №2657273 
>>2657267
Да, нода и го. Но ты живешь в России и тут всем похуй - сидеть на джаве с пыхой будут десятилетиями если уже совсем не прижмет
Аноним 30/03/23 Чтв 15:40:07 #169 №2657274 
>>2657273
Ну семён...
Аноним 30/03/23 Чтв 15:41:17 #170 №2657277 
>>2657274
Ну слепой долбоеб на 8 джаве...
Аноним 30/03/23 Чтв 15:44:55 #171 №2657283 
>>2657277
Почему этого душевнобольного так сильно корёжит именно циферка версии джавы?
Аноним 30/03/23 Чтв 16:08:48 #172 №2657299 
Screenshot 2023-03-30 at 15-04-55 12.000 vacatures voor Java in België (578 nieuw).png
Screenshot 2023-03-30 at 15-08-10 334 vacatures voor Golang in België (16 nieuw).png
>>2657273
Вакансии на Линкедине в Бельгии по Java и GO. Подозреваю подобная ситуация примерно во всех странах Европы.
Аноним 30/03/23 Чтв 16:14:26 #173 №2657306 
>>2657299
РРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРЮЮЮЮЮ
Аноним 30/03/23 Чтв 17:09:46 #174 №2657346 
>>2657036
>>джетбрейнс больше ничего не продает в Россию
С подключением. С начала войны не продают. Для них мировой рынок важнее РФ.

>>русские разрабы у них все еще работают
Полтреда мечтают свалить в асашай или европку на сотыгу (долларов в год).

>>работают против других русских разрабов, у которых доступа к продуктам нет.
Я до войны лицензию купил, все работает. Похуй на модные свистелки и перделки в свежих версиях.
Аноним 30/03/23 Чтв 17:17:30 #175 №2657355 
>>2657036
Порватка, нахуй отсюда.
Аноним 30/03/23 Чтв 17:17:32 #176 №2657356 
Как же ужасно пишут обьяснения к задачам на leetcode...
Аноним 30/03/23 Чтв 17:18:39 #177 №2657358 
В swing есть возможность воспроизводить/останавливать аудиофайлы ?
Аноним 30/03/23 Чтв 18:10:23 #178 №2657411 
>>2657358
Да
Аноним 30/03/23 Чтв 18:36:18 #179 №2657456 
>>2657036
Там работают либерахи-нацпредатели.
После начала СВО всем разрабам предложили либо уехать из РФ, либо увольняться.
Аноним 30/03/23 Чтв 18:38:11 #180 №2657461 
>>2657256
Это больше про Go или JS. Питон это современный Бейсик для тех, кто не умеет программировать на полноценных языках.
Аноним 30/03/23 Чтв 18:38:52 #181 №2657462 
>>2657456
а рвп в загранице они дают? Или крутись как хочешь?
Аноним 30/03/23 Чтв 20:30:51 #182 №2657608 
Работодатель оплачивает курсы
Подскажи годноты, анон

Только не вкатунские курсы
Аноним 30/03/23 Чтв 20:32:38 #183 №2657611 
>>2657608
> Только не вкатунские курсы
Других не бывает.
Аноним 30/03/23 Чтв 20:34:25 #184 №2657615 
>>2657608
Пройди курсы пикапа.

Кабан поймет.
Аноним 30/03/23 Чтв 20:49:23 #185 №2657630 
Ананасы жабоёбы:
на входе строка, там может лежать дата + время в разных видах:
yyyy-MM-dd'T'HH:mm:ss
yyyy-MM-dd'T'HH:mm:ss.SSS
yy-MM-dd'T'HH:mm:ss
dd-MM-yy'T'HH:mm:ss и т.д.,
вопрос в следующем:
Как элегантно, без квадриллиона форматтеров/trycatch привести/спарсить из стринги в UNIX или обработать все возможные варианты для того чтобы положить в Date/Tiestamp?
Аноним 30/03/23 Чтв 20:55:02 #186 №2657637 
>>2657630
> yy-MM-dd'T'HH:mm:ss
> dd-MM-yy'T'HH:mm:ss
Никак. 01-02-03 это 3 февраля 2001 или 1 февраля 2003?
Аноним 30/03/23 Чтв 21:06:44 #187 №2657649 
Начинаю читать Effective java Джошуа Блоха, ужасный перевод... Ваши мысли ?
Аноним 30/03/23 Чтв 21:08:18 #188 №2657653 
>>2657358
Нет
Аноним 30/03/23 Чтв 21:08:48 #189 №2657654 
>>2657649
>Ваши мысли ?
трахаться трахаться трахаться
Аноним 30/03/23 Чтв 21:09:56 #190 №2657656 
>>2657649
Когда же я уже сдохну
Аноним 30/03/23 Чтв 21:13:01 #191 №2657661 
>>2657630
никак. Пендосы вначале ставят месяц, потом день

01/02/2000

в пендосии это 2 января
Аноним 30/03/23 Чтв 21:18:59 #192 №2657664 
>>2657637
>>2657661
Ох пиздец сука бля, получается надо ебать внешку, чтобы прежде чем закидывать ручками дату меняли, либо маппинг динамический делать, ох пиздец
Аноним 30/03/23 Чтв 21:22:28 #193 №2657669 
>>2657664
Пускай хоть локаль присылают, а ты по ней как-нибудь определишь дефолтный формат.
Аноним 30/03/23 Чтв 21:25:49 #194 №2657674 
>>2657664
пусть присылают в ISO 8601 формате. Это сейчас стандарт даты времени
Аноним 30/03/23 Чтв 21:28:57 #195 №2657675 
>>2657669
ну это и есть по сути динамический маппинг, тогда проще чтобы они сами указали формат, а я его уже применил, но пока не первостепенно, буду внешкам мозг ебать, пусть сами там хренью страдают с csv-шкой
Аноним 30/03/23 Чтв 21:29:42 #196 №2657676 
Что писать в резюме где "Образование", если нету диплома ?
Software Engineer, магистратура ?
Аноним 30/03/23 Чтв 21:31:14 #197 №2657679 
>>2657676
я пишу своё пту. И диплом приношу тоже птушный
Аноним 30/03/23 Чтв 21:32:03 #198 №2657680 
>>2657674
так и собираюсь сделать анонче, пощажу и дам вариативность в миллисекундах, но с остальным пусть нахуй идут
Аноним 30/03/23 Чтв 21:32:25 #199 №2657681 
>>2657676
Писать "Среднее общее".
Аноним 30/03/23 Чтв 21:35:20 #200 №2657683 
>>2657681
"Среднее общее, Software engineer. Bachelor", правильно ?
Аноним 30/03/23 Чтв 21:43:10 #201 №2657688 
>>2657683
Да, этой фразой сразу поможешь множеству хрюш.
Аноним 30/03/23 Чтв 21:53:43 #202 №2657696 
>>2657688
Вот так тогда, "Компьютерная инженерия, инженер программист".
Можно ещё добавить "Магистр".
Аноним 31/03/23 Птн 01:20:10 #203 №2657870 
>>2656965
Ты хоть знаешь, что такое csrf и зачем он нужен? Все у тебя должно работать, если ты в браузере дергаешь эндпоинты, а если в постмане или через курл, то не удивительно
Аноним 31/03/23 Птн 01:29:42 #204 №2657876 
>>2657036
Че ты глотку то рвешь - первый год живешь чтоли?

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

>>2657456
Хули теперь бряцать мудями - "нацпредатели-нацптеродактили". У тебя теперь под носом целый анклав с вполне обоснованным общественности казусом-белли наголо, желающий помножить все твои патриотические устремления на ноль; вдобавок к обществу, для которого ты - не более чем пушечное мясо, которое если надо пойдет под нож в государственных интересах; и правительству, которое тебе параноидально не доверяет, но само сделать не в состоянии ничего. О каком патриотизме здесь может идти речь? Тем более, для состоявшегося разраба.
Аноним 31/03/23 Птн 06:00:16 #205 №2657920 
Перенёс в очередной раз проект на 100к строк на новую Java (сейчас 20). В этот раз поздновато, обычно в первый день релиза ставлю.

Ни одного конфликта, перенеслось за 5 минут!
Аноним 31/03/23 Птн 07:11:43 #206 №2657939 
>>2657870
Знаю, и что такое цсрф и что такое постман, и что нужно отключать первое когда тестишь через второе. Когда в браузере тыкаю на ссылки требующе ауфа, он выдает 403 со включенной защитой.
Аноним 31/03/23 Птн 09:43:28 #207 №2657983 
>>2657939
А с выключенной не выдает? Попробуй посмотреть в браузере, есть ли у тебя в форме цсрф атрибут. Ты его как-то донастраивал сам или просто в конфиге сделал энейбл? Мб дело не в нем все-таки?
Аноним 31/03/23 Птн 10:28:24 #208 №2657996 
>>2657983
С выключенной csrf.disable() все работает. В формах ничего связанного с цсрф не доделывал, дополнительно сейчас посмотрел - там ничего и нет к хтмл-коде выданной страницы. То есть просто включенное цсрф четыристатрёшит попытки аутефентикацироваться на локалхосте. Звучит как полный булщит.
Аноним 31/03/23 Птн 10:34:34 #209 №2657997 
Spotbugs дико орет от дженерик проекта с хибернетом. Поля, в которые никто не пишет. Раскрытие деталей имплементации через коллекции. И так далее и так далее. Вывод: хибернет — вредное говно.
Аноним 31/03/23 Птн 10:44:48 #210 №2658001 
>>2657983
>>2657996
Все, я даун и разобрался. Надо же токены прописывать в формах, а я думал просто без них все работает с родного сайта.
Аноним 31/03/23 Птн 10:45:24 #211 №2658002 
>>2657996
А ты фронт с помощью шаблонизатора делаешь? У тебя там обязательно в форме должен быть атрибут _csrf, таймлиф сам его подставляет, если ты без него делаешь, то должен сам скорее всего прописать
Аноним 31/03/23 Птн 12:56:18 #212 №2658119 
Подскажите пожалуйста, какую книгу по java можно почитать с нормальным переводом ?
P.S. - не для новичков.
Аноним 31/03/23 Птн 13:04:26 #213 №2658142 
Это вообще нормально, что в проекте значимая часть кода это копипаст из другого, с минимальными изменениями?
Аноним 31/03/23 Птн 14:13:43 #214 №2658215 
>>2658119
Хорстманн
Аноним 31/03/23 Птн 14:42:39 #215 №2658254 
>>2658001
Ну то что ты даун видно невооруженным взглядом
Аноним 31/03/23 Птн 14:46:43 #216 №2658260 
>>2658142
Не приемлемо !
Аноним 31/03/23 Птн 14:47:54 #217 №2658262 
>>2658215
А какой том ?
Аноним 31/03/23 Птн 15:31:50 #218 №2658303 
>>2658142
Это необходимо
Аноним 31/03/23 Птн 15:53:32 #219 №2658331 
>>2658262
Третий
Аноним 31/03/23 Птн 16:09:40 #220 №2658354 
Хули у меня месячный триал идеи закончился, а я все равно могу ей пользоваться как и пользовался. Так и должно быть? Что вообще окончание триала подрезает?
Аноним 31/03/23 Птн 16:34:41 #221 №2658385 
>>2658142
Так бывает. Этот подход к разработке ПО называется имбецилокодинг.
Аноним 31/03/23 Птн 17:02:21 #222 №2658459 
>>2658119
"Чистый код" вроде ничего в плане перевода.

>>2658331
Нету третьего тома.
Аноним 31/03/23 Птн 17:11:12 #223 №2658480 
>>2658459
>"Чистый код"
очень вредная книга. Лучше совершенный код макконела
Аноним 31/03/23 Птн 17:14:04 #224 №2658483 
>>2658142
Так бывает. Накидали кода из других проектов, чтоб побыстрее стартовать, потом постепенно допиливается под проект. ну или оставляется как есть по принципу "работает - не трожь"
Аноним 31/03/23 Птн 20:49:35 #225 №2658761 
>>2657997
Это проблема спотбага, лагованное дерьмище, куда 17 жабу как-то забыли добавить и прочие приколы
Аноним 31/03/23 Птн 21:17:13 #226 №2658776 
Скажите, почему есть те, кто до сих пор использует maven ? Я просто сука не понимаю, это такая ёботь с XML, пишешь одно и тоже каждый раз. Создал новый модуль, так тебе надо его сначала в главный pom написать, потом ещё создать pom этого модуля и там прописать от кого он наследуется. В градле же создать новый модуль это одна строчка в settings.gradle.kts. И таких моментов просто дохрена, поэтому я искренне не понимаю, нафига вы юзаете мавен
Аноним 31/03/23 Птн 21:26:33 #227 №2658783 
>>2658776
Ты небось по 10 модулей в день создаёшь, раз тебя так напрягает XML.
Аноним 31/03/23 Птн 21:48:00 #228 №2658798 
>>2658776
толсто еблан
Аноним 31/03/23 Птн 21:49:22 #229 №2658799 
>>2658776
>В градле же создать новый модуль это одна строчка в settings.gradle.kts
и еще один build.gradle.kts где хуй пойми какие плагину и зависимости наследуются ага) плавали знаем больше к хуядлу ни ногой
Аноним 31/03/23 Птн 22:07:00 #230 №2658816 
>>2658783
Как ты узнал ?
Аноним 31/03/23 Птн 22:08:08 #231 №2658817 
>>2658799
Как же вы надоели. Ни одного нормального аргумента не приводите. Слишком сложно, ага, нормально разобраться, нафига, можно же просто говном полить и всё
Аноним 31/03/23 Птн 22:10:46 #232 №2658820 
>>2658799
Нет чтобы просто один раз почитать чем отличается api от implementation, неееет, нам лишь бы поныть на то, какой градл плохой
Аноним 31/03/23 Птн 22:40:02 #233 №2658841 
>>2658820
нахуй мне это читать если мавен просто работает, ммм, уеба?
Аноним 31/03/23 Птн 22:46:19 #234 №2658848 
>>2658841
Так градл тоже работает, только делается там всё в разы проще, без ущербного XML, и кучи дублирования
Аноним 31/03/23 Птн 22:53:26 #235 №2658852 
>>2658848
настолько проще что надо учить разницу между api и implementation)))
Аноним 31/03/23 Птн 22:56:41 #236 №2658853 
>>2658852
Я просто реально не могу понять, что в этом сложного
api это точнейшая копия compile из maven, implementation же просто не подключает зависимости автоматом, если кто то использует модуль.
Те implementation юзаем, когда мы не хотим палить реализацию, например мы сделали модуль для парсинга XML, а тот кто этот модуль будет юзать, ему впринципе поебать какая либа там юзается
Api же надо юзать, когда твой код отдаёт или использует классы из либы, и эту либу надо толкнуть выше

Всё довольно просто. Но опять же, если мозгов понять не хватает, достаточно просто юзать api и всё
Аноним 31/03/23 Птн 23:43:38 #237 №2658878 
>>2658853
Поюзал твою мать, проверяй
Аноним 01/04/23 Суб 02:44:58 #238 №2658959 
>>2658848
Не вижу никакой проблемы ни в дублировании, ни в громоздких хмлях.
А грудл 4 раза ломал обратную совместимость и куча советов на стеке просто не актуальна.
Для меня, как для человека, который даже мавен не знает особо это важно, хотя у меня опыта больше 2 лет. Мавен просто работает, как автомат калашникова.
Когда рыщешь по гитхабу за примерами какой-нибудь хуйни и попадаешься на код с грудлем без врапперов - то просто выяснить скомпилить проект будет дольше, чем разобраться в нужной тебе фиче.
Аноним 01/04/23 Суб 05:25:00 #239 №2658982 
Не разговаривайте с градлодебилом, это местный шизик-петушарпер под прикрытием, который регулярно притворяется то петухлинщиком, то говношером, то градлодебилом.
Аноним 01/04/23 Суб 05:34:27 #240 №2658983 
xml {
хуйня {
то {
ли {
дело {
скобки {
ебучие {
}}}}}}}}}}}}}}}}}}}}}
Аноним 01/04/23 Суб 08:56:47 #241 №2659027 
>>2658142
It's simply Java, bruh...
Аноним 01/04/23 Суб 08:57:39 #242 №2659028 
>>2658480
>очень вредная книга
Это чуть ли не единственная книга с которой носятся джавамухи. Еще они любят потрясывать томиком JCIP, хотя сами всю карьеру аннотации спринга раскидывали
Аноним 01/04/23 Суб 09:09:51 #243 №2659033 
>>2659028
Так джавамухи со своим бобом как раз таки спринг не любят. Не тру ооп, не по клинкоду. Особо упоротые и на ломбок бочку катят.
Хотят наверное писать абстрактные фабрики, интерфейсы для единственной реализации и простыни текста, как в шарпе.
Аноним 01/04/23 Суб 09:53:59 #244 №2659044 
>>2659033
Джавамухи буквально обмазываются книжкой Ункл Бэба, чел... Они дрочат на СОЛИД и создают интерфейсы под каждый сервисный класс в своих помойных приложениях на спринге. Прямо обмазываются этими МайСервис, а затем лепят единственную имплементацию МайСервисИмпл. И это вершина айсберга, т.к. догматичные правила Ункл Бэба приправляются отборной шизофренией джавамух и выходит эдакий монстр Франкенштейна...
Аноним 01/04/23 Суб 10:18:38 #245 №2659061 
>>2659044
>МайСервисИмпл
То ли дело IZalupa!
Аноним 01/04/23 Суб 10:26:41 #246 №2659070 
>>2659061
Бро,так уже лет 8 никто не пишет и это считается антипаттерном. Попустись!
Аноним 01/04/23 Суб 10:32:43 #247 №2659076 
image
>>2659070
)))))))))
Аноним 01/04/23 Суб 10:44:17 #248 №2659085 
>>2659044
Иронично что в шарпе таких мух еще больше. Если в джаве уже можно встретить сервисы без имплементаций, фабрик и прочего олдфажного говна, то в шарпе это считают чуть ли не золотым стандартом и продолжают называть переменные _peremennaya, а интерфейсы IService.
Аноним 01/04/23 Суб 13:44:07 #249 №2659224 
>>2659044
>затем лепят единственную имплементацию МайСервисИмпл ДефолтМайСервис
Аноним 01/04/23 Суб 14:14:17 #250 №2659249 
Я в интерфейс выношу большую часть аннотаций. А в единственной имплементации - логика.
Так легче читать.
Аноним 01/04/23 Суб 14:24:36 #251 №2659254 
image.png
image.png
image.png
image.png
Анон подскажи пожалуйста как настроить правильно блядский хибер. Есть 2 класса на скринах. Хочу получать appeal по id user с пагинацией. Так то он выдает то что я хочу, но при просмотре логов я вижу что хибер зачемто еще и вытягивает самого user, по факту делает лишние запросы. Еще возникает пробоема при парсинге json в виде бесконечной рекурсии. Понятно что можно поставить @JsonIgnore , но мне кажется что это неправльное решение и я просто тут наговнокодил.
Аноним 01/04/23 Суб 14:31:26 #252 №2659259 
>>2659254
>как настроить правильно блядский хибер
Никак. Использовать хубирнейт в 2к23 - антипаттерн и признак говношараги
Аноним 01/04/23 Суб 14:32:00 #253 №2659261 
>>2659249
>Я в интерфейс выношу большую часть аннотаций. А в единственной имплементации - логика
Это ерунда и не работает в спринге. Руками пиши контроллеры и обвешивай их аннотациями
Аноним 01/04/23 Суб 14:35:25 #254 №2659267 
>>2659259
Бро . я сыглы. Я его блять ненавижу. Но мне на 2 места скинули тестовое и в обоих это обязательное условие.
Аноним 01/04/23 Суб 14:37:01 #255 №2659270 
>>2659254
посмотрел на это и мгновенная ментальная боль. Сижу в гепчике с нового года. Может сменить работу?
Аноним 01/04/23 Суб 14:37:25 #256 №2659272 
>>2659254
Пропиши энтити граф.
Аноним 01/04/23 Суб 14:38:16 #257 №2659273 
>>2659267
а искать по userId, а не UserEntity, пробовал?
Аноним 01/04/23 Суб 14:40:57 #258 №2659277 
>>2659273
Не дает. Но по сути он ожидает как бы класс userEntity на вход , но он возьмет из него только айди по факту. Это видно из запросов которые он генерит.
Аноним 01/04/23 Суб 14:41:54 #259 №2659281 
>>2659277
а написать вручную запрос без этой злоебучей магии?
Аноним 01/04/23 Суб 14:42:51 #260 №2659283 
>>2659281
При использовании хибера считается плохой практикой. Так бы я все в пизду послал и на JDBC сделал
Аноним 01/04/23 Суб 14:44:09 #261 №2659285 
>>2659283
можно же через @SQL писать запросы на hql синтаксисе
Аноним 01/04/23 Суб 14:46:50 #262 №2659289 
>>2659285
Дак да , я знаю. Просто мне кажется что в задании от меня требуют знание конфигурирования это говна. Я уверен что можно его настроить правльно. В конце концов задача не пиздец какая сложная, полюбому можно.
Аноним 01/04/23 Суб 16:11:18 #263 №2659379 
>>2659272
Спасибо анон за подсказку. Проблема доп запросов решена. Осталось решить проблему бесконечной рекурсии json и сделать так что бы он не грузил не нужные поля.
Аноним 01/04/23 Суб 16:12:11 #264 №2659381 
Мужики, идею 2023.1 уже кто-нибудь ставил?
Аноним 01/04/23 Суб 16:15:52 #265 №2659385 
>>2659381
Пробовал. Слетел ключ. Откатился обратно на 2022.
Аноним 01/04/23 Суб 16:29:20 #266 №2659396 
>>2659254
А потом говорят что сложно вкатиться.
Чудище не осиливает орм настроить на 2 энтити и в жсон положить.
Пиздец.
Аноним 01/04/23 Суб 16:30:20 #267 №2659399 
Че делать если докер контейнер с кафкой не видит bin/sh kafka-topics? Не хочу локально эту хуйню пердолить,хочу сразу в контейнере нормально настроить
Аноним 01/04/23 Суб 16:49:47 #268 №2659425 
>>2659396
Тут такое дело, чел... Как-бы тебе сказать.... Хубирнейт, чуть ли не единственный орм где возникают такие проблемы. Там буквально с самых простых кейсов все переусложнено. Про текущие абстракции я вообще молчу. Если есть возможность не использовать хубирнейт, то ей нужно воспользоваться.
Аноним 01/04/23 Суб 16:56:26 #269 №2659434 
>>2659254
2 секунды в гугле.

https://www.baeldung.com/jackson-bidirectional-relationships-and-infinite-recursion
Аноним 01/04/23 Суб 17:00:54 #270 №2659439 
Класс, с @ControllerAdvice, в котором кастомная обработка всяких эксепшенов отовсюду, его куда следует помещать, в папку model, или лучше создать отдельную папку exceptions на верхнем уровне и туда его вместе со всем другим связанным с исключениями? Или еще как-нибудь?
Аноним 01/04/23 Суб 17:04:03 #271 №2659442 
>>2659425
Согласен. Я сейчас за 3 часа уже вовсем разобрался. С графами этими, fetch join и пагинациями. Это же пиздец. Почему он изначально делает так много всего о чем его не просят , и что бы заставить этого его НЕ делать нужно дописать дохуя аннотаций и надстроек. Проблема 1 + N это вообще прикол какой-то. Зачем сделали так что , если все зависимые сущности по дефолту выгружаются то надо 2 селекта ебашить.

>>2659434
Я уже разобрался , но всеравно спасибо!
Аноним 01/04/23 Суб 17:04:46 #272 №2659443 
>>2659439
Лучше такой хуетой в принципе не заниматься. Что ты там обрабатывать собрался, лол? 2к23 на дворе, ну елы-палы!
Аноним 01/04/23 Суб 17:07:33 #273 №2659447 
>>2659439
В папку configuration
Аноним 01/04/23 Суб 17:08:07 #274 №2659448 
>>2659443
Почему ? Видел на каком из семинаров что через него обрабатывали ошибки , что бы выдавать инфу об ошибке юзеру и при этом не плодить логику в основных контроллерах.

мимо другой анон
Аноним 01/04/23 Суб 17:12:36 #275 №2659451 
>>2659443
Ошибки валидации, которые вылетают при @Valid и @Validated, если их отдельно не трогать, то они руинят с кодом 500.
Аноним 01/04/23 Суб 17:17:38 #276 №2659457 
>>2659451
Ничего они не руинять. Там из коробки 400 отдается и код ошибки
Аноним 01/04/23 Суб 17:39:30 #277 №2659468 
>>2659457
А если тебе при ошибке валидации надо сделать редирект?
Аноним 01/04/23 Суб 18:07:09 #278 №2659510 
Почему кафка в контейнере ноет что $Path неопределен? Хули эта дура сама файлы не создаст чтобы я мог хотя бы свои топики посмотреть?
Аноним 01/04/23 Суб 18:23:40 #279 №2659524 
>>2659379
https://www.baeldung.com/jackson-bidirectional-relationships-and-infinite-recursion
Аноним 01/04/23 Суб 18:28:44 #280 №2659534 
>>2659439
На верхнем уровне так и называешь сontroller_advice. Там не только эксепшоны можно перехватывать, но и сделать общую обертку для всех ответов например.
Аноним 01/04/23 Суб 18:32:59 #281 №2659538 
>>2659510
Какой еще $Path и файлы?
Аноним 01/04/23 Суб 19:21:12 #282 №2659593 
>>2659538
topics.sh kafka-consumer-console.sh
Аноним 01/04/23 Суб 19:27:58 #283 №2659609 
>>2659442
>Почему он изначально делает так много всего о чем его не просят , и что бы заставить этого его НЕ делать нужно дописать дохуя аннотаций и надстроек

Ну это как раз и есть особенности нацоинального маппинга реляционки на ООП. Без этого - никак. Или так, или твой ORM превращается в очередной диалект SQL на синтаксисе языка. Второе даже - не худший исход. Просто берешь честно учишь SQL и лабаешь на честном JOOQ, и получаешь ровно то, что от них ждешь. А не эти вот все n+1.
Аноним 01/04/23 Суб 19:46:47 #284 №2659670 
>>2658776
А нахуя мне использовать градл? Я мавен знаю в совершенстве, умею лабать на нем пайплайны любой сложности, умею писать для него плагины. Назови мне хоть одну причину обнулять свой опыт и аки вкатун вкатываться в градл? Что там есть такого?

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

Дублирование? Не знаю ничего ни о каком дублировании - в моих помниках его нет и не было. Гони пример.

Тирада про паренты - бред сивой кобылы:
>В градле же создать новый модуль это одна строчка в settings.gradle.kts

Так то и в мавене новый модуль - литералли одна строчка в modules корневого помника. А вот будет ли он наследником кого то или нет, решается уже тегом parent в самом модуле. Иногда полезно модуль намеренно не наследовать ни от кого, либо наследовать от не-корневого модуля. То есть, тэг parent - это нихуя не то же самое что запись в modules. Учил бы матчасть перед тем как набрасывать.
Аноним 01/04/23 Суб 19:52:14 #285 №2659682 
>>2659670
Добавлю. Мавен тащемто есть за что критиковать. Взрослый человек подверг бы критике отсутствие миксинов, из-за чего распространять мавен-профили по нескольким проектам может быть затруднительно. Критиковал бы кривую и местами неочевидную активацию плагинов. Критиковал бы то, что функциональность flatten-плагина не исполняется мавеном по дефолту, и нихуя не очевидно людям понять, что этот плагин зачастую маст-хэвный в работе с мавеном и устраняет кучу ошибок и недетерминированных ситуаций.

Но нет - мавен чихвостят дети, ниасилившие XML.
Аноним 01/04/23 Суб 20:00:14 #286 №2659692 
>>2659682
Взрослый человек просто понимает, что все альтернативы — это пиздец, на фоне которых все хотелки в миксины выглядят... просто несерьёзно.
Аноним 01/04/23 Суб 20:14:34 #287 №2659708 
>>2659044
>>2659085

Обмазываться солидом != понимать солид. Тем временем единственная имплементация на интерфейс - прямое противоречие солиду.

Единичная имплементация - это не совсем джавистское, это скорее культура спрингокульта эпохи разгулья autowired'ов. Сложилась она из-за того, что спринг очень сильно смотрит на декларацию точек инжекций бина - их тип, имя, аннотации... Даже если ты объявишь интерфейс над сервисом, профита этот интерфейс тупо не даст. Если спринг найдет более одного бина-имплементации этого интерфейса на одну точку инжекции, он пошлет спрингосектанта нахуй до тех пор, пока тот не заменит тип точки инжекции на конкретный тип (литералли приколотит один бин к другому) или не обмажет ее уточняющими аннотациями (приколотит один бин к другому на полшишечки). В итоге выходит, что иметь больше одной имплементации на интерфейс для спрингосектанта зачастую тупо не выгодно, и культура инверсии зависимостей тупо срослась со спрингом и извратилась в их мозгах. Культисты конечно могут оправдывать себя, что это все делается для тестируемости, но это все детский лепет и нелепые оправдания.

В теории, сейчас, когда в спринге появились отделенные от бинов Java-конфигурации, эта культура имеет шанс потихоньку отмереть.
Аноним 01/04/23 Суб 20:37:19 #288 №2659733 
>>2659708
>Обмазываться солидом != понимать солид.
чел, там два боба договориться между собой не могут. Какой тут понимание у рядового гребца. Понимать чью версию?
Аноним 01/04/23 Суб 20:38:13 #289 №2659736 
>>2659708
Что за конфигурации такие,отделенные от бинов?
Аноним 01/04/23 Суб 20:42:33 #290 №2659740 
>>2659708
>сейчас, когда в спринге появились отделенные от бинов Java-конфигурации
дядь ты деб?)
Аноним 01/04/23 Суб 20:42:45 #291 №2659741 
>>2659708
>>Тем временем единственная имплементация на интерфейс - прямое противоречие солиду.
В джаве это только для юнит тестов и делается. Тесты такие все равно хуйня, но не все еще до этой мысли дошли.

>>нелепые оправдания.
Как ты при классическом подходе стаб со своей реализацией сделаешь без интерфейса?
Но когда делают интерфейсы, а используют моки - выглядит тупо, это да.
Аноним 01/04/23 Суб 20:43:32 #292 №2659743 
Что лучше сын GOлашник или дочка джавистка??
Аноним 01/04/23 Суб 20:45:23 #293 №2659744 
>>2659736
Вот эти вот хуевины:

https://www.tutorialspoint.com/spring/spring_java_based_configuration.htm
Аноним 01/04/23 Суб 20:46:00 #294 №2659745 
>>2659740
Обоснуй претензии
Аноним 01/04/23 Суб 20:46:23 #295 №2659746 
>>2659744
Так это же буквально объявление бина
Аноним 01/04/23 Суб 20:53:17 #296 №2659749 
>>2659741
>Как ты при классическом подходе стаб со своей реализацией сделаешь без интерфейса?

Так всмысле? Претензии то не к интерфейсам. Разве я сказал что они не нужны?

Просто одно дело когда у тебя - обычный слабосвязанный класс с полями-интерфейсами, и ты в тесте просто собираешь его с фейками от этих интерфейсов. А другое - когда у тебя спринго-бин с аннотированными по самые гланды автоварями, и тебе уже нужно для тестирования собирать ебаный тестовый контекст через спринг-тест. И какбэ ок - с интерфейсами будет проще чем без них, но блять, это сука меньшая из проблем.
Аноним 01/04/23 Суб 21:02:30 #297 №2659754 
>>2659746
Бин можно по разному обьявить. Например раньше было принято класс сервисов аннотировать каким нибудь стереотипом типа @Service, а поля - аннотировать автоварями. Ключевое отличие в том, что в случае с джава-конфигурацией вся инфа о том, что-куда инжектить, находится отдельно от класса-бина, а в случае с автоварями на бине - внутри класса.
Аноним 01/04/23 Суб 21:04:12 #298 №2659757 
>>2659745
>сейчас
Аноним 01/04/23 Суб 21:12:21 #299 №2659770 
>>2659749
>>Разве я сказал что они не нужны?
Тогда я тебя не понял нужны они или нет.

Единственный смысл их существования - можно писать дегенеративные юнит тесты. Но если ты не дегенерат, то и интерфейсы выходит не требуются. Выпиливаю их отовсюду.
Аноним 01/04/23 Суб 21:12:38 #300 №2659771 
>>2659741
>>2659749

И кстати да, ты прав говоря что:
>это только для юнит тестов и делается

Но в этом то вся хуйня и заключается. Если на интерфейсы смотреть лишь как на заглушки для подстановки фейков, то какбэ похую что имплементация одна. Но интерфейсы - больше чем просто заглушки. Интерфейсы - это каноничный способ инверсии зависимостей в джаве. А спектр применения инверсии зависимостей в разы шире, чем просто для тестируемости.
Аноним 01/04/23 Суб 21:17:00 #301 №2659779 
>>2659770
>Единственный смысл их существования - можно писать дегенеративные юнит тесты. Но если ты не дегенерат, то и интерфейсы выходит не требуются. Выпиливаю их отовсюду.

Ок, а тесты тогда как пишешь? Забиваешь на юниты и сразу тестируешь интеграциями?
Аноним 01/04/23 Суб 21:21:54 #302 №2659786 
>>2659743
Боже спаси анона от спиногрыза-айтишника.
Аноним 01/04/23 Суб 21:34:21 #303 №2659814 
>>2659779
Круды - интеграциями.
Сложную логику - отделяю от зависимостей и покрываю юнитами.
В идеале надо такую логику в чистые функции превратить без сайд эффектов и зависимостей, чтоб по сигнатуре было понятно что получает, что возвращает. Тогда это легко тестируется без моков.
Т.е. "тупой" сервис тянет данные от коллабораторов (база, другие сервисы), вызывает такие "умные" функции передавая им данные.
Получается DDD, гексагональная архитектура - вот это вот все.

В общем случае, если нет желания/возможности менять архитектуру и есть только сервисы в которых вперемешку логика и взаимодействие с коллабораторами - то лучше вообще не писать юниты, чем ебаться с их рефакторингом при малейшей правке. Они очень хрупкие и только вредят, замедляя разработку.
Аноним 01/04/23 Суб 23:34:32 #304 №2659936 
>>2659814
А как метод сервиса с кучей зависимостей от других репозиториев и других сервисов с походом во базы, внешние сервисы, кеши, мидлвари, очереди, интерсепторы и прочее говно превратить в чистые функиции, которым не нужны моки?
Аноним 02/04/23 Вск 00:08:57 #305 №2659962 
Что быстрее: contains на ArrayList из 10 элементов или на HashSet из 10 элементов?
Аноним 02/04/23 Вск 00:21:47 #306 №2659992 
>>2659962
Нашел мурзилку с ответом. https://github.com/commonquail/java-hashset-arraylist-contains-benchmark
Аноним 02/04/23 Вск 00:50:48 #307 №2660030 
>>2659962
>>Что быстрее
>>из 10 элементов
До 10к разница в пределах погрешности.
Аноним 02/04/23 Вск 03:31:50 #308 №2660158 
>>2659814
>Т.е. "тупой" сервис тянет данные от коллабораторов (база, другие сервисы), вызывает такие "умные" функции передавая им данные.

Отлично, глаголишь базу. Но вот скажи, разве у тебя не возникает нужды для своих чистых функций лабать функциональные интерфейсы, например? Для нужд функциональной композиции этих чистых функций? Или у тебя пока что всегда логика адекватно убиралась в тушку сервиса?
Аноним 02/04/23 Вск 09:58:46 #309 №2660249 
>>2659814
>Круды - интеграциями.
Не работает в случае монолитов. У тебя только контекст всего приложения будет несколько минут подниматься. Учти, что у тебя есть стейт в приложении и базе и его нужно как-то "сбрасывать".
Аноним 02/04/23 Вск 10:57:33 #310 №2660280 
Что по скале в 2023 году, совсем мертва? Скала-петухов из тинька ещё не выгнали?
Аноним 02/04/23 Вск 11:01:32 #311 №2660283 
>>2660280
теперь из тинька велосипедопетухов пора выгонять
Аноним 02/04/23 Вск 16:10:05 #312 №2660580 
изображение.png
кто читал? прочитал половину книги и понимаю, что вряд ли на джуна хватит этих знаний. или я ошибаюсь?
Аноним 02/04/23 Вск 16:36:28 #313 №2660594 
>>2656952
Этот сломался, несите нового
Аноним 02/04/23 Вск 16:42:37 #314 №2660605 
>>2660580
На джуна хватит.

На миддла нужна уже "Spring! Еще быстрее, блэт!"
Аноним 02/04/23 Вск 16:56:12 #315 №2660622 
изображение.png
изображение.png
изображение.png
>>2660605
там 400+ страниц в книге но инфа часто повторяется + много картинок, словно для дебилов написана. по ощущениям можно ужать до 150-200 страниц надо было походу лучше spring in action читать
Аноним 02/04/23 Вск 17:54:39 #316 №2660724 
>>2660580
Плохая, негодная книга. Она растянута на 400+ страниц, но там из главы в главу кочуют одни и те же картинки и примеры кода. Пересилил себя и дочитал ее до конца. Жалко потраченного времени, т.к. ничего нового для себя не узнал. В целом автор графоман сраный. У него еще есть книга по спринг секьюрити - там тоже самое говно и народ на амазоне плюется от airport english.
Аноним 02/04/23 Вск 18:13:08 #317 №2660755 
>>2660724
т.е. ты, имея базовые знания + возможно более расширенные, читал книжку "спринг за 24 часа" и удивляешься тому, что не узнал ничего нового?
Аноним 02/04/23 Вск 19:06:10 #318 №2660801 
>>2660755
Я, имея за спиной почти 10 лет гребли, читал эту книжку сквозь слезы, т.к. купил ее на сайте издательства. Теперь данный автор у меня в черном списке.
Аноним 02/04/23 Вск 21:28:35 #319 №2660912 
>>2660801
>покупать книги
)
Аноним 03/04/23 Пнд 02:07:57 #320 №2661102 
>>2660801
Не ответил на вопрос.
Аноним 03/04/23 Пнд 03:21:34 #321 №2661120 
>>2660801
10 лет гребли? Че ты вообще пытался там найти? Или ты - перекатун с другого стека?
Аноним 03/04/23 Пнд 05:58:39 #322 №2661161 
>>2660912
Она с большим опозданием появилась на либгене
Аноним 03/04/23 Пнд 05:59:18 #323 №2661162 
>>2661102
Я прорабатываю и читаю книги от корки до корки. На жестком лежит более 10 гб разных книг, которые нужно прочесть и составить по ним конспекты
Аноним 03/04/23 Пнд 05:59:46 #324 №2661163 
>>2661120
Может быть я что-то упустил и нужно было прочесть все от корки до корки
Аноним 03/04/23 Пнд 06:03:40 #325 №2661166 
>>2661163
Там на сайте издательства есть содержания. И по нему ясно, что это книжка для совсем нулевых. Даже слабее pro spring и spring in action.
И опытному разработчику эти книги нафиг не нужны. Ему дока лучше подойдёт.
Аноним 03/04/23 Пнд 06:08:43 #326 №2661168 
>>2661166
Мне понравилась обложка и я купил книгу. А у меня правило, что книги нужно читать от корки до корки, даже если они тебе не нравятся...
Аноним 03/04/23 Пнд 07:46:57 #327 №2661185 
>>2661168
>>книги нужно читать от корки до корки
У тебя ОКР? Код идеальный пишешь? На код ревью доебываешься до кодстайла?
Аноним 03/04/23 Пнд 08:20:45 #328 №2661201 
Работает тред. Мы нажимаем Cntrl+C.
JVM просто останавливает этот тред дез всяких статусов и предупреждений?
Аноним 03/04/23 Пнд 08:23:29 #329 №2661203 
>>2661201
Секунд 10 пытался понять, как ты пытаешься сосачерский тред на ctrl+c остановить.
Аноним 03/04/23 Пнд 08:26:25 #330 №2661206 
qS0kfoi5Ok.png
>>2661201
я думал оно interrupted посылает всем тредам. А оно просто стопает. Тогда кто ставит статус interrupted?
Аноним 03/04/23 Пнд 08:32:38 #331 №2661213 
Вы часто используете в работе хибернетовские аннотации @Formula и @ColumnTransformer?
Аноним 03/04/23 Пнд 08:43:33 #332 №2661220 
>>2661213
Ну я нет, мб кто-то и юзает, вообще имхо хибер для простых и дефолтных операций, в остальных лучше пользоваться чем-то другим
Аноним 03/04/23 Пнд 09:17:29 #333 №2661245 
>>2661213
Нет конечно, я что дебил, чтобы говнохибернейтом пользоваться.
Аноним 03/04/23 Пнд 10:19:12 #334 №2661286 
>>2661185
Ты меня с кем-то спутал
Аноним 03/04/23 Пнд 13:15:58 #335 №2661556 
Аноны, поясните за тестирования в реальный проектах, когда разраб тесты пишет, там должен быть каждый пук протестирован или не обязательно? Это же пиздец полотно нужно прописать чтобы каждый возможный шаг проверить.
Аноним 03/04/23 Пнд 13:27:24 #336 №2661584 
>>2661556
Я только интеграционные пишу от апишки до тестконтнйнера. Реже интеграционные от сервиса, там обычно не база, а кафка или ещё что-то.
Классические юниты пишу только на кастомные валидаторы.
Аноним 03/04/23 Пнд 13:41:38 #337 №2661602 
>>2661584
Мой лид запретил писать какие-либо тесты кроме юнит. Он дрочит команду по ТДД и заставляет прямо выдрачивать каждый класс. Мотивирует это тем, что у нас очень сложная логика (беттинг) и ее можно протестировать либо руками, либо писать 100500 юнит-тестов, которые разваливаются при малейшем рефакторинге.
Аноним 03/04/23 Пнд 14:17:24 #338 №2661638 
>>2661602
>Он дрочит команду по ТДД
ещё один. Сколько же говна нанесли бобы
Аноним 03/04/23 Пнд 15:39:44 #339 №2661775 
>>2661602
Беттинг на жабе? Не знал лол.
Аноним 03/04/23 Пнд 15:44:48 #340 №2661779 
Что вообще отправляться должно в виде респонса? Берется, например, ModelAndView, в нее кладется вью, и добавляется в виде аттрибута жсон. А далее фронтендер уже во вьюхе прописывает куда он сует этот жсон и что с ним делает? Или по-другому?
Аноним 03/04/23 Пнд 16:17:43 #341 №2661808 
>>2661779
ModelAndView - это хуйня для вкатышей, специально созданная для того, чтобы поиграться с шаблонизаторами HTML и никогда в проде не использовать.
Возвращаться должно DTO с данными, Jackson его конвертирует в JSON, фронтендер берёи этот JSON и делает с ним то, что ему захочется. Никаких "вьюх" у фронтендера нет, у него SPA-приложение на реакте.
Аноним 03/04/23 Пнд 16:27:55 #342 №2661815 
>>2661556
Ответь для себя - ради чего существует твой юнит под тестом? В чем его полезное действие? В чем его функциональность?

Вот это и тести.
Аноним 03/04/23 Пнд 16:34:39 #343 №2661819 
>>2661808
Я во фронтенд нихуя не шарю, поэтому извиняюсь заранее если вопрос тупой, но разве если ты отправишь в теле ответа JSON, наример, через ResponseEntity<ObjectDTO> или @ResponseBody/@RestController, то на фронт придет просто несколько строчек этого самого жсона. Ни хтмла, ни жаваскрипта там не будет. Как фронт-эндер это обработает то?
Аноним 03/04/23 Пнд 16:50:50 #344 №2661833 
>>2661819
>Как фронт-эндер это обработает то?
Не переживай. У фронтендщиков уже как тыщу лет есть все средства и для обработки этого джсона, и для отрисовки странички на основе этого джсона.
Аноним 03/04/23 Пнд 16:51:09 #345 №2661834 
>>2661819
>Как фронт-эндер это обработает то?
Тебя это ебать не должно.
Аноним 03/04/23 Пнд 16:55:38 #346 №2661837 
>>2661819
Хтмл и жс будут загружены не через твои рестконтроллеры, а из статики, которая, возможно, вообще раздаётся через nginx. А тебе остаётся только отдавать жсоны, клиент их сам загрузит и обработает через AJAX (или его аналог).
Аноним 03/04/23 Пнд 17:10:34 #347 №2661846 
>>2661602
Но проблема юнитов не только в хрупкости.
Вот есть у тебя некая апишка. И она задевает 15 методов в 10 классах. Ты их все анально отюниттестил.
И как юниты тебе гарантируют, что вся апишка работает правильно? Все 15 слоев юнитов могут быть зелёными, а апишка делает хуй знает что. И юниты ещё и мокать надо дохуя.
Аноним 03/04/23 Пнд 17:20:59 #348 №2661851 
>>2661833
>>2661834
>>2661837
Понял. Последний вопрос, за редиректы фронт или бэк отвечает? Допустим при удачном логине редирект на главную, при неудачном заново на страницу логина. Это бэк должен делать, или бэк просто шлет обратно жсончик, а фронт-макака уже сама но основании него решает что куда редиректить?
Аноним 03/04/23 Пнд 17:38:38 #349 №2661864 
>>2661846
>И юниты ещё и мокать надо дохуя.
Что мы активно и делаем. Мокается все - репозитории, всякие клиенты для других сервисов и т.д и т.п. Прямо задрачиваешь до потери пульса эти моки, а потом их настраиваешь в каждом тесте. Один такой класс может иметь по 7-10 зависимостей, которые нужно замокать.
Аноним 03/04/23 Пнд 17:39:22 #350 №2661866 
>>2661864
нихуя вы чушки
Аноним 03/04/23 Пнд 17:49:34 #351 №2661877 
>>2659259
>>2661245
причина баха? не осилил базовый орм?
Аноним 03/04/23 Пнд 18:32:39 #352 №2661936 
Тут такое дело... Как подготовиться к собеседованию на стажёра за 1 месяц?
Аноним 03/04/23 Пнд 18:48:55 #353 №2661945 
>>2661877
а его можно осилить? Думаю даже авторы хибернейта не знают всех закоулков своих кишочек и что этот хибернейт сгенерирует
Аноним 03/04/23 Пнд 18:49:54 #354 №2661947 
можно ли на собеседовании говорить что я не люблю хибернейт, не люблю микросервисы, не люблю дядю боба и его охуительные идеи, не люблю рест
?
Аноним 03/04/23 Пнд 19:18:53 #355 №2661968 
>>2661851
В SPA есть собственный роутинг, там страница по урлу сама решает, что на ней будет отображаться. Формально не редиректы, но смысл тот же. Соответственно, редиректы для авторизации делаются через эот механизм.
Аноним 03/04/23 Пнд 19:27:41 #356 №2661978 
>>2661947
> не люблю хибернейт
JdbcTemplate
> не люблю микросервисы
Java EE 6
> не люблю дядю боба и его охуительные идеи
Mr. Nagoor Babu
> не люблю рест
SOAP
Аноним 03/04/23 Пнд 20:04:24 #357 №2661997 
Как вы делаете батч в хибернейте? Я вот пытаюсь сделать разными способами и чет нихуя не выходит.

Сам попытался сделать
@Autowired
private EntityManager em;

int batchSize = 50;
int i = 0;
for (Foo foo : foos) {
em.merge(foo);
i++;
if (i % batchSize == 0) {
em.flush();
em.clear();
}
}

К примеру скопипастил https://vladmihalcea.com/the-best-way-to-do-batch-processing-with-jpa-and-hibernate/
Но нихуя.

ЧЯДНТ?
Аноним 03/04/23 Пнд 21:11:20 #358 №2662064 
>>2661947
кабан кабаныч говорите что хотите
Аноним 03/04/23 Пнд 22:43:33 #359 №2662112 
>>2661947
А как же Даг Ли ??!!?!?
Аноним 04/04/23 Втр 01:03:21 #360 №2662189 
>>2661947
Не советую.

И даже не потому, что оно обьективно - говно. А потому что это выдает в тебе токсичного еблана - не то качество которое имеет смысл выпячивать на собесах. Плюс - если ты ляпнешь что что-то не любишь, гарантированным вопросом вдогонку будет вопрос "почему", и в этот момент ты для интервьюеров станешь как открытая книга, они тебя прочитают вдоль и поперек, протыкают во все телесные щели. И скорее всего ты засыпешься, потому что бряцать мудями на двощах - не то же самое что обосновывать свою позицию на интервью.
Аноним 04/04/23 Втр 02:09:56 #361 №2662209 
about-angry-npc-wojak-stencil-head-face-hand-transparent-png-2563152.png
>>2662189
>И даже не потому, что оно обьективно - говно. А потому что это выдает в тебе токсичного еблана - не то качество которое имеет смысл выпячивать на собесах.
Ницше писал о таких как ты. Это процесс причащения к нечистой совести ценностей низших иерархий. Ведь на деле это ты низшее из существ, пытающееся навязать анону свою мораль, а также своим грубым фарсом выставить честную позицию как токсичное мнение. Нечестивейшее из существ попирающее право сильных, обличил я твой яд и уличил в искусности речи твои. Да не будет анон обманут ложью твоей и не разделит морали твоей, ибо пустыня растёт - горе тем кто несёт в себе пустыню!
Аноним 04/04/23 Втр 02:27:58 #362 №2662212 
>>2662209
О, а ты забавный.

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

>честную позицию
На собесах не позицию оценивают, а компетентность и способность пояснить за базар. Если местные балаболки на это способны - ради бога. Только на практике обычно все складывается так, что такой вот мамкин хейтер обычно сильно плывет в предмете хейта, и способен только тупость свою обличить. Собесили, знаем. Да и че далеко ходить - достаточно посмотреть на уровень аргументации местных шизов в этом треде.
Аноним 04/04/23 Втр 08:14:31 #363 №2662257 
>>2662189
ок, давай потренируемся.

Хибернейт - непонятно какую проблему решает, при этом добавляет множество других проблем. Создаёт иллюзию ненужности sql, но это ложная эллюзия. Постоянно требуется проверять что он там генерирует и как это исправить.

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

Дядя боб - в общих словах пишет правильно, как показывает примеры и код - там пиздец. Вместо чистых функций предлагает использовать члены класса. Для меня это зло как глобальные переменные и нарушение инкапсуляции. 100% покрытие тестами - ничего не дает, зато очень дорогое и очень ломучее и затрудняет рефакторинг.

Рест - соап лучше, логичнее и красивее. Рест это для вкатунов, не осиливших соап
Аноним 04/04/23 Втр 12:14:09 #364 №2662394 
>>2662359
Репорт самофорсера.
Аноним 04/04/23 Втр 12:17:35 #365 №2662395 DELETED
>>2662257
>>чистых функций
Вот смотрю все хейтят статик методы. Но при этом дрочат на чистые функции.
А в чем собсно разница делать эти функции статиками или бинами? И то и то тестится без проблем.
Аноним 04/04/23 Втр 12:19:33 #366 №2662398 
>>2662395
В производительности. Статики это норма, но умение пользоваться ими так, чтобы не превращать свой код в лапшу — высшее мастерство.
Аноним 04/04/23 Втр 12:27:23 #367 №2662404 DELETED
>>2662398
А как не превращать в лапшу код по ддд?
Вот у меня есть координатор/контроллер, он собирает всю хуйню и вызывает 2 чистые функции. Это приватные методы.
И че с ними делать то? Выносить каждый в отдельный класс? Сваливать все эти функции в одну свалку? Они по сути и не нужны больше никому кроме этого координатора.
Я уж не знаю что хуже - тестировать приватный класс или наебашить 20 отдельных классов с единственным методом.
Каждый из 20 вызывается один раз и генерит на выходе свою собственную дто.
кек, пока писал осенило, я ж ооп изобрел - в получаемую дто можно саму функцию ее получения ебануть
Аноним 04/04/23 Втр 12:30:52 #368 №2662408 
>>2662404
>Они по сути и не нужны больше никому кроме этого координатора.
Очевидно только в контроллере и должно оно лежать (если не рассматривать тот факт, что контроллеры — антипаттерн).
Аноним 04/04/23 Втр 13:01:21 #369 №2662429 
>>2662395
>Вот смотрю все хейтят статик методы
я не хейчю. Статик функция без обращения к внешним переменным - это идеал. А вот бобу они почему-то не нравятся
Аноним 04/04/23 Втр 14:31:02 #370 №2662497 
Хейчу или хейтю?
Аноним 04/04/23 Втр 14:54:44 #371 №2662512 
>>2662257
>Хибернейт
Несмотря на то, что я с тобой согласен, и тоже считаю ОРМы плохой идеей, в этом месте я б задал тебе парочку вопросов в духе "что такое персистенс-контекст" и "4 аггрегатных состояния сущности в нем". Так, знаешь, чисто чтоб проверить что ты осознанный противник концепции и свой пуд соли сожрал на этом говне. А не промытка, начитавшийся чужих виршей.

>Микросервисы
Здесь ты уже приспособился и перестроился. Не хейтишь втупую, а расписываешь достоинства-недостатки. Это приемлемо. Хотя в этом месте я б попросил тебя раскрыть значение термина "распределенный монолит" и рассказать побольше о том, как его избежать в ситуациях, где микросервисы таки нужны (во имя масштабируемости и других их бенефитов).

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

>Рест - соап лучше, логичнее и красивее. Рест это для вкатунов, не осиливших соап
Во, вот эта твоя вирша про рест уже звучит как тот самый кринжовый хейт на собесах. Здесь бы я копнул поглубже на предмет того, что ты вкладываешь в слова "лучше", "логичнее" и "красивее". Дополнительно чекнул бы твою эрудицию на предмет того, знаешь ли ты вообще хоть чето кроме REST и SOAP + чекнул, какие вообще API ты лабал на прошлых местах работы.
Аноним 04/04/23 Втр 15:01:21 #372 №2662517 
>>2662512
>знаешь ли ты вообще хоть чето кроме REST и SOAP
а что бывает кроме реста и соапа? Бинарные протоколы?
Аноним 04/04/23 Втр 15:02:42 #373 №2662518 
>>2662429
Хейт к статик-функциям имел смысл до джавы-восьмерки, потому что до восьмерки не существовало простого способа использовать эти т.н. "чистые" статические методы как first-class citizenы, из-за чего был высок соблазн тупо коллить их одну из другой и тем самым их каплить друг на друга. First-class citizenом в джаве исторически был и остается обьект.

Сейчас, с лямбдами и функциональными интерейсами, стало чуток получше. Теперь хотя бы можно относительно немногословно оформить функцию как обьект.
Аноним 04/04/23 Втр 15:05:25 #374 №2662519 
>>2662517
Кто-то вспомнит graphQL, кто-то - gRPC. Некоторые даже RSocket помянут. Неважно. Это вопрос на эрудицию. А то камон - SOAP в 2023м все же отдает нафталином.
Аноним 04/04/23 Втр 15:37:16 #375 №2662541 
>>2662497
Хейчу.
Аноним 04/04/23 Втр 16:03:29 #376 №2662571 
>>2651134 (OP)
>образуют такой прочный симбиоз с программированием на Java
Каждый раз в голос
Аноним 04/04/23 Втр 16:27:20 #377 №2662583 
Что значит ДДД?
Аноним 04/04/23 Втр 16:36:06 #378 №2662588 
>>2662583
Doomsday Device, устройство судного дня
Аноним 04/04/23 Втр 17:01:42 #379 №2662617 
>>2662583
Это обёртка для идей произвольного содержания.
Аноним 04/04/23 Втр 17:16:56 #380 №2662638 
Сегодня проходил алгоритмическое собеседование. У меня мозг отключился с нулевой секунды, из-за волнения. В итоге, ожидаемо, я обосрался.
Видимо, нужно просто заучивать все эти задачки.
Тяжело…
Аноним 04/04/23 Втр 17:18:15 #381 №2662639 
Это был пост в мвп-тред, сорри за офтоою аноны >>2662638
Аноним 04/04/23 Втр 17:28:32 #382 №2662644 
>>2662617
А по подробнее? Как хоть расшифровывается?
Аноним 04/04/23 Втр 19:29:04 #383 №2662785 
>>2662644
Дебилы Делают Дерьмо.
Аноним 05/04/23 Срд 10:00:56 #384 №2663198 
Сап, явач. Есть задача написать несложное гуёвое приложение на котлине или яве и собрать его в виде исполняемых файлов под винду, линукс и макось. Подскажи плз
1) какой фреймворк лучше взять для рисования гуя?
2) как компилировать приложение под разные ос? Желательно чтобы это была таска гредла. Нужен не jar, а именно exe под винду и тп
Аноним 05/04/23 Срд 10:05:55 #385 №2663203 
>>2663198
Даже не еби мозг и бери электрон js, но если уж так нужно для jvm то сейчас стандарт это https://github.com/JetBrains/compose-multiplatform
Аноним 05/04/23 Срд 10:19:43 #386 №2663208 
>>2663203
Спасибо. У меня просто логика на котлине под андроид, и теперь надо ту же логику сделать под десктопы. Переписать её на js и потом поддерживать две параллельные ветки - так себе идея.
Аноним 05/04/23 Срд 10:57:28 #387 №2663227 
Как бенчмаркать многопоток?
Аноним 05/04/23 Срд 13:07:18 #388 №2663308 
>>2662644
Але пидоры, я вопрос задал
Аноним 05/04/23 Срд 13:15:29 #389 №2663317 
>>2663308
> Але
Хуем по лбу не дало?
Аноним 05/04/23 Срд 13:58:12 #390 №2663342 
>>2662583
Domain Driven Development
Аноним 05/04/23 Срд 15:45:34 #391 №2663410 
>>2663342
И в чем он заключается?
Аноним 05/04/23 Срд 15:50:25 #392 №2663411 
>>2663410
Составляют доменную модель и ведут разработку от неё.
Аноним 05/04/23 Срд 16:08:06 #393 №2663421 
>>2663410
Ты че, охуел, пёс? Ты загуглить не можешь?
Аноним 05/04/23 Срд 17:13:09 #394 №2663489 
Подскажите пожалуйста, возвращение кодов ошибок является хорошей практикой ?
Или так делать нельзя ?
Аноним 05/04/23 Срд 17:34:52 #395 №2663501 
>>2663489
Надо кидать эксепшены.
Аноним 05/04/23 Срд 18:12:41 #396 №2663526 
>>2663489
>>2663501
Любителям делать контрол флоу через эксепшоны посвящается. Заметил тут паттерн.

Всем нормальным разрабам давно известно, что контрол флоу эксепшенами - антипаттерн и оверхед из-за сбора стектрейсов, которые из-за флоу-контрола один хуй никто никогда не увидит. Но некоторые находчивые индивиды придумали занятный костыль: делают наследника класса эксепшена, и стаббят в них метод fillInStackTrace. Заметил такую штуку в нескольких опенсорцных проектах. Как пример - класс Signal в Netty:

https://netty.io/4.0/api/index.html?io/netty/util/Signal.html

https://github.com/netty/netty/blob/ba804498ac1baf4da91275326eeba45552ab6ebf/common/src/main/java/io/netty/util/Signal.java

Каково, а?
Аноним 05/04/23 Срд 18:17:59 #397 №2663528 
>>2663526
>Всем нормальным разрабам
>пук
Аноним 05/04/23 Срд 18:31:38 #398 №2663536 
изображение.png
изображение.png
написал сам примерно за 15 минут вот такой связный список. если бы я такое написал на собеседовании, меня бы похвалили или угандошили? https://pastebin.com/jiq5RzXZ мысли?
Аноним 05/04/23 Срд 18:44:23 #399 №2663549 
>>2663536
>похвалили или угандошили?
Попросили бы сделать его потокобезопасным.
Аноним 05/04/23 Срд 18:59:48 #400 №2663571 
>>2663549
ну синхронайзд впиндюрил бы там где удаление и добавление
Аноним 05/04/23 Срд 19:03:49 #401 №2663580 
>>2663571
Тогда попросили бы побэнчмаркать и ускорить.
Аноним 05/04/23 Срд 19:09:07 #402 №2663584 
>>2663580
>побэнчмаркать
а как? я бы додумался только время замерить на миллионах иттерациях добавления/удаления и тоже самое для уже реализованного в java линкед листе для сравнения

>ускорить
зная длину списка при каждом удалении (length / 2) и индекс, определять с какой стороны быстрее начать пробегать список (head / tail). еще проверку в самом начале добавить, если индекс выходит за границы, то сразу выходить из метода
Аноним 05/04/23 Срд 19:36:56 #403 №2663606 
>>2663584
>я бы додумался...

Почему бы и нет. Плюсом было бы, если б ты это делал каким нить бенчмарк-тулом типа JMH, а не тупо разницей System.currentTimeMillies. Ну и какбэ - мало и необьективно сравнивать только с линкед листом. Есть еще несколько тред-сейф листов из java.util.concurrent

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

Но это все слова. На деле - надо смотреть код и бенчи. Здесь начинается интересное приключение, где ты ищешь косяки с конкарренси, анализируешь и оптимизируешь свое решение, проверяя его эффективность бенчмарками. Интересная задумка на тестовое задание, лол.
Аноним 05/04/23 Срд 19:42:37 #404 №2663611 
>>2663606
такое правда на джуна могут на собесе спрашивать? я смотрю на ютубе всякие "типа собесы", и там вопросы уровня вкатывальщика /b. это наеб все получается?
Аноним 05/04/23 Срд 19:58:31 #405 №2663625 
>>2663611
Не факт что джуна вообще заставят писать коллекции. Но тыж сам пришел с куском кода.
Аноним 05/04/23 Срд 20:01:55 #406 №2663630 
На джуна вообще вакансий в джаве нет. Я в совершенстве знаю алгоритмы, но не могу даже найти собес. Хоть в мерзкую пыху перекатывайся, там по какой-то причине вакансий гораздо больше
Аноним 05/04/23 Срд 20:08:27 #407 №2663636 
>>2663625
ну так одно дело реализовать базовую коллекцию, другое дело прикручивать к ней йоба навороты до посинения. и на тех собесах, мне частенько попадалось где просили написать линкед лист или хеш мапу. даже пару раз дерево было обычное бинарное, но это считай тоже самое что и линкед лист я не против разобраться и потыкать всю эту хуйню, наверняка на практике все равно бы столкнулся рано или поздно, особенно когда уже был бы бэграунд за плечами коммерческой разработки, но только на непосредственно реальных примерах реальных проектов, а не на голом линкед листе
Аноним 05/04/23 Срд 21:35:06 #408 №2663692 
>>2663308
Тебе ответили, дебил. >>2662785
Аноним 05/04/23 Срд 21:54:09 #409 №2663701 
image.png
сеймы в треде?
Аноним 05/04/23 Срд 22:06:58 #410 №2663707 
>>2663636
Ну ок, ладно, наверное от джуна я действительно запросил много.

Вот тебе попроще ремарка. Твой лист - лист интов. Сделай так, чтобы он был дренериковым.
Аноним 05/04/23 Срд 22:07:18 #411 №2663708 
>>2663707
*дженериковым
Аноним 05/04/23 Срд 22:11:45 #412 №2663710 
>>2663701
В джаве не актуальна тема кодстайлов, есть единый стандарт от Sun/Oracle, которому все следуют. Вот в крестах о кодстайлах можно сраться вечно.
Аноним 05/04/23 Срд 22:44:45 #413 №2663730 
>>2663701
Allman тоже mental disorder.
Аноним 05/04/23 Срд 22:48:03 #414 №2663732 
>>2663701
Стоит как-нибудь на собесе на лайвкодинге в хаскелль стайле пописать.
Аноним 05/04/23 Срд 22:51:51 #415 №2663735 
НЕ ОБНОВЛЯЙТЕСЬ НА ИДЕЮ 2023.1
НЕ РАБОТАЕТ НАВИГАЦИЯ К РЕАЛИЗАЦИЯМ И НАСЛЕДНИКАМ КЛАССОВ ИЗ ЗАВИСИМОСТЕЙ
Аноним 05/04/23 Срд 22:54:20 #416 №2663737 
>>2663735
Я даже не планирую слезать с 2019.1. На более новых сломали мавен.
Аноним 05/04/23 Срд 22:56:40 #417 №2663739 
>>2663710
Есть единый стандарт - ctrl+alt+L в идее.
Аноним 05/04/23 Срд 22:57:03 #418 №2663740 
>>2663735
Всё работает.
Аноним 05/04/23 Срд 22:57:15 #419 №2663741 
>>2663737
Авто обновление что ли?
Аноним 05/04/23 Срд 22:58:52 #420 №2663743 
В идее можно включить автоформатирование перед коммитом. Эта настройка сохраняется в настройках проекта в .idea? Можно ли ее закоммитить в гит, чтобы у всех в команде автоформатирование включилось автоматически?
Аноним 05/04/23 Срд 22:59:51 #421 №2663745 
.png
Может, вообще 2017 поставить. Вдруг в 2019 тоже что-то не работает, просто я привык к проблеме и перестал замечать.
Аноним 05/04/23 Срд 23:01:45 #422 №2663746 
>>2663741
Да.
Аноним 05/04/23 Срд 23:02:30 #423 №2663747 
>>2663701
С какого эта хрень зовется хаскель-стайлом? Нихуя не похоже.

Хаскель(или питон-)стайл был на прошлом моем проекте. Там была странная мода делать выравнивание списка аргументов метода (даже если они идут в несколько строк) по уровню открывающей скобки, из-за чего любая цепочка вызовов уезжала пиздецки далеко вправо.

Ебанистика лютая.
Аноним 05/04/23 Срд 23:03:17 #424 №2663748 
>>2663747
Это стандартный стиль идеи.
Аноним 05/04/23 Срд 23:05:55 #425 №2663749 
.png
>>2663747
Похоже. Но в жабе это выглядит так себе.
Аноним 05/04/23 Срд 23:16:55 #426 №2663759 
>>2663749
Бля, точняк. Но как по мне, хаскеллю этот стиль тоже не идет.
Аноним 06/04/23 Чтв 00:57:26 #427 №2663826 
>>2663707
Ну об этом я сразу подумал, когда только начал писать, надо ли его универсальным делать, решил что разницы нет, реализация все равно будет та же. На собесах же важнее показать, что ты алгоритм понимаешь? В крайнем случае можно с интервьювером обговорить этот момент, я думаю
Аноним 06/04/23 Чтв 01:31:44 #428 №2663835 
>>2663826
Мееех, алгоритм-шмалгоритм... Я конечно хз в какой фаанг ты собрался устраиваться джуниором, и всяк анон собесит по своему, но говоря за себя, скажу что на работе листы ты все равно сам писать не будешь, поэтому мне, как интервьюеру, было бы на алгоритм поебать, если честно. Вот другое дело - дженерики. Дженерики пригождаются на практике часто.

И как бы тебе сказать в ответ на "разницы нет". Это на первый взгляд кажется что нет. Простой заменой int на <T> ты бы не отделался.
Аноним 06/04/23 Чтв 09:28:23 #429 №2663921 
>>2663835
лист это как пример структуры данных, я сейчас его переписываю иногда, чтобы лучше закрепить алгоритм в голове. тоже самое и с другими базовыми алгоритмами буду делать. цель - дойти до красно-черных деревьев и написать их самому. а что касается дженериков, почему не обошелся бы простой заменой? какие там приколы еще?
Аноним 06/04/23 Чтв 09:30:09 #430 №2663922 
>>2663835
>>2663921
идти в бэкенд собрался. разве на java что-то пишут другое?... само собой спринг, хибер тоже учу и про сети читаю
Аноним 06/04/23 Чтв 12:37:56 #431 №2664024 
У меня 2 пета. В первом при ошибке валидации формы, cпринг выбрасывает BindException, при валидации рестовых объектов - MethodArguementNotValidEcxeption. Во втором пете в обоих случаях кидает MethodArguementNotValidEcxeption. Все абсолютно идентично в двух проектах. Почему спринг ведет себя по-разному? Объясните, пожалуйтса, аноны, очень важно, обработка ошибок валидации зависит от того какая ошибка выбрасывается.
Аноним 06/04/23 Чтв 12:50:40 #432 №2664040 
>>2664024
Да.

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

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/ExceptionHandler.html
Аноним 06/04/23 Чтв 14:01:59 #433 №2664099 
Нужно ли знать форкджоинпулы? Как часто в них появляется необходимость приведите пример? Выглядит как-то сложновато
Аноним 06/04/23 Чтв 14:25:21 #434 №2664114 
>>2664099
С 21-й джавы будут виртуальные треды, которые крутятся на форкджойнпуле. Это будет базой многопоточки в джаве. Поэтому знать надо. Но т.к. ты скорее всего вкатунец, лучше не трать время. Вакансий на джаву нет для джунов. Вообще.
Аноним 06/04/23 Чтв 14:30:17 #435 №2664117 
>>2664114
Врядли форкджойнпулы будут строгой необходимостью для зеленых ниток в джаве. Те же комплитабл фьючи, хоть и используют FJP по умолчанию, вполне себе можно запустить и заставить работать на обычных пулах.
Аноним 06/04/23 Чтв 14:31:00 #436 №2664119 
>>2664114
Кому не похуй на 21 жабу, много кто с 8 слезть до сих пор не может. да и знать, как под капотом работают виртуальные треды тоже нахуй не надо, как и не надо знать, что под капотом у хэшмапы, чтоб ей пользоваться

и я уже вкатился, так что хуй соси
Аноним 06/04/23 Чтв 14:32:38 #437 №2664123 
>>2664119
>что под капотом у хэшмапы, чтоб ей пользоваться

Ага. А потом ебись с просадкой перформанса из-за чьего то кривого хэша. Или утечек памяти из-за кривого equals.
Аноним 06/04/23 Чтв 14:32:44 #438 №2664124 DELETED
>>2664114
>>будут виртуальные треды, которые крутятся на форкджойнпуле
>>Это будет базой многопоточки в джаве. Поэтому знать надо.
Спринг просто затащит это в себя и все будет работать само из коробки, надо будет только написать @EnableLoom ну и мб еще пару аннотаций в коде.
Многопоточка так и останется темой для сеньоров+
Аноним 06/04/23 Чтв 14:40:29 #439 №2664127 
>>2664123
То, что ты написал, это база. Я имел ввиду скорее хуйню типо, что хэшмапа базируется на массиве, в котором линкед листы для разрешения коллизий, которые преобразуются в красночерные деревья и прочую поебень, которую знать не обязательно, чтобы пользоваться этой самой хэшмапой.
Аноним 06/04/23 Чтв 14:43:24 #440 №2664130 
>>2664099
Никто так и не написал ни одного кейса и не пояснил, база это или нет.
Аноним 06/04/23 Чтв 14:56:00 #441 №2664136 
>>2664130

На прошлом проекте коллега рассказывал - пробовал с помощью FJP разогнать один очень долгий биоинф-релейтед алгоритм. Говорил - еще медленнее стало, в итоге дропнул.
Аноним 06/04/23 Чтв 14:59:28 #442 №2664140 
>>2664136
Ну пон, я так и думал, что это хуйня ненужная, как и линкед лист
Аноним 06/04/23 Чтв 15:09:03 #443 №2664142 
Ну нах с 8 джавы слезать, слишком большие риски для бизнеса. Надеюсь, поддержку продлят до 2050 года.
Аноним 06/04/23 Чтв 19:20:16 #444 №2664401 
>>2663735
Баг-то хоть завели?
Аноним 06/04/23 Чтв 19:34:38 #445 №2664425 
>>2663735
Сугак, сука! Почему ИДЕЯ КРАСНИТ?!!!!!!!
Аноним 06/04/23 Чтв 19:45:58 #446 №2664430 
Кстати баг только в Community, в Ultimate работает.
Аноним 06/04/23 Чтв 19:47:58 #447 №2664431 
>>2664430
Нахуя юзать Community?
Аноним 06/04/23 Чтв 19:48:34 #448 №2664433 
>>2664431
прост)
Аноним 06/04/23 Чтв 21:32:48 #449 №2664577 
>>2664430
Ты слово "контекст" слышал когда-нибудь?
Аноним 06/04/23 Чтв 22:16:29 #450 №2664615 
>>2664577
читай выше лошок
все все поняли
Аноним 06/04/23 Чтв 22:22:09 #451 №2664617 
>>2664615
Не оправдывайся, манька, не умеющая разговаривать.
Аноним 06/04/23 Чтв 22:50:43 #452 №2664637 
>>2664617
нах мне уметь разговаривать если я код пишу?
Аноним 06/04/23 Чтв 23:09:18 #453 №2664649 
>>2664637
Ну ты же расплакался после того, как тебе за тупость предъявили.
Аноним 06/04/23 Чтв 23:17:51 #454 №2664657 
.png
>>2664577
Ебать ты дебил, даже я с 85 IQ понял, что это в тему этого >>2663735 поста.
Аноним 06/04/23 Чтв 23:38:47 #455 №2664662 
>>2664649
>Ну ты же расплакался
орнул, спс)
Аноним 06/04/23 Чтв 23:41:03 #456 №2664664 
>>2664657
Я тоже понял, куклодаун, пусть это говно разговаривает с уважением, а не как в чятике впараше.
Аноним 07/04/23 Птн 00:20:08 #457 №2664680 
.png
>>2664664
Ну да, двач не чятик, тут серьёзные люди сидят.
Аноним 07/04/23 Птн 00:37:07 #458 №2664692 
>>2664680
Стоит хоть чуть-чуть подумать над тем, как твоё сообщение будет прочитано.
Аноним 07/04/23 Птн 01:07:17 #459 №2664699 
>>2664692
лох
Аноним 07/04/23 Птн 04:13:29 #460 №2664724 
https://habr.com/ru/news/727244/
За разработку на жабе начали убивать.
Аноним 07/04/23 Птн 04:24:59 #461 №2664725 
>>2664724
>«Какая трагедия. Я помню код Боба, который генерирует определённые числа. Код Боба написан на Java, но в нём используются умные методы поиска с возвратом для достижения наилучшей производительности среди многих решений на всех языках»
Немного за другое убили.
Аноним 07/04/23 Птн 11:28:20 #462 №2664783 
Как правильно в @Repository прописать поиск с игнором регистра плюс сортировка? Делаю так и так:

findByIgnoreCaseOrderBySurnameAsc

findByOrderBySurnameAscIgnoreCase

Не работает.
Аноним 07/04/23 Птн 11:35:22 #463 №2664786 
>>2664783
@Query(native = true, ...)
Аноним 07/04/23 Птн 11:35:37 #464 №2664788 
Как правильно добавить элемент в список? Делаю так и так:

linkedList() += "мам я долбоеб"
linkedList += ("мам я долбоеб")
Аноним 07/04/23 Птн 11:47:55 #465 №2664800 
>>2664788
орунах
Аноним 07/04/23 Птн 12:07:11 #466 №2664815 
>>2664800
В плюсах второе выражение легально же. Хз почему у вас не сделали перегрузку операторов

мимо
Аноним 07/04/23 Птн 12:14:38 #467 №2664822 
>>2664815
Потому что язык не даунский
sage[mailto:sage] Аноним 07/04/23 Птн 12:56:58 #468 №2664898 
>>2664788
Да как же ты заебал.
Аноним 07/04/23 Птн 14:38:15 #469 №2665024 
Кафку же лучше всего с TestContainers тестить?
Аноним 07/04/23 Птн 14:51:49 #470 №2665046 
>>2665024
Очень долго. Я через embedded-kafka тестю. В тестконтейнере постгрес.
А так в тестконтейнер еще и минио и кейклок если кидать, то полный набор интеграционных тестов для небольшого сервиса в 30к строк будет идти от 20 минут.
Аноним 07/04/23 Птн 14:59:35 #471 №2665055 
>>2665046
> embedded-kafka
Это как? Поднимаешь у себя кафку и прогоняешь тесты? Или там есть какая-то зависимость как в спринг тестах с эмбедед h2
Аноним 07/04/23 Птн 16:02:09 #472 №2665125 
>>2665046
>небольшого сервиса в 30к строк
Аноним 07/04/23 Птн 16:19:54 #473 №2665139 
>>2665125
It's Java, bruh ;)
Аноним 07/04/23 Птн 16:56:23 #474 №2665159 
Чо вы делаете если хотите низкоуровнево вывести картинку на экран? Уровня SDL. В тырнете везде примеры на swing, а биндинг к sdl сдох и старница скачивания ошибку выдает. Хочу лисапедный шутер типа бродилка в лабиринте, с лисапедным трейсингом лучей.
Аноним 07/04/23 Птн 17:12:55 #475 №2665174 
>>2665159
> Чо вы делаете если хотите низкоуровнево вывести картинку на экран? Уровня SDL
Запускаю Visual Studio и создаю проект на C++.
Аноним 07/04/23 Птн 17:17:24 #476 №2665187 
>>2665174
Я так тоже умею. Но надо на жаве с "перламутровыми пугвицами".
Аноним 07/04/23 Птн 17:29:34 #477 №2665213 
>>2665187
Видимо придется lwjgl, хотя это оверхед
Аноним 07/04/23 Птн 17:55:43 #478 №2665251 
>>2665187
Нет, не надо.
Аноним 07/04/23 Птн 18:40:11 #479 №2665307 
Как с хибером делать upsert в один вызов к бд?
Вот приходит мне лист с entity, рандомное кол-во будет уже существующими в бд записями, а другое новыми.
Как я понимаю .merge нужно делать на существующие entity, которые в detached, я не могу делать это одновременно на все entity потому что главный айдишник ведь null и получатся будет всегда insert, который потом в ошибку выпадет ибо бизнес id UNIQUE.
Я не хочу каждый entity грузить из базы заранее и смотреть существует или нет, ибо это доп реквест в базу и не имеет смысла для новых записей.
Аноним 07/04/23 Птн 18:43:00 #480 №2665311 
Что-то на хибернейтовском.
Аноним 07/04/23 Птн 19:10:14 #481 №2665357 
>>2665055
>Или там есть какая-то зависимость как в спринг тестах с эмбедед h2
Да, инмемори эмуляция кафки. Как h2 эмуляция хуже, чем тестконтейнер. Но я в простых тестах на консьюмер/продюсер не заметил разницы c тестконтейнером. Но поднимается быстрее на порядки.
Аноним 07/04/23 Птн 19:12:24 #482 №2665358 
>>2665307
>@Query(native = true, ...)
и апсерт на диалекте твоей бд.
Аноним 07/04/23 Птн 19:16:24 #483 №2665360 
>>2665358
Да это понятно, но я думал можно хибером сделать, чет у меня теряется в него вера.
Аноним 07/04/23 Птн 19:22:13 #484 №2665370 
>>2665360
Это нормально.
Аноним 07/04/23 Птн 19:31:05 #485 №2665381 
>>2665307
Что тебе мешает сделать merge на все entity из коллекции? При вызове merge хибернейт сам решит нужно ему делать запись или обновить существующую
Аноним 07/04/23 Птн 19:36:18 #486 №2665390 
>>2665381
оно тебе сто запростов сделает вместо одного...
Аноним 07/04/23 Птн 20:46:10 #487 №2665519 
Где джун вакансии? Я хочу вкатиться. У меня сильная БАЗА.
Аноним 07/04/23 Птн 20:49:08 #488 №2665523 
>>2665358
>>@Query
А вот и текущие абстракции из вашего ОРМ подъехали, лол.
Аноним 07/04/23 Птн 21:07:07 #489 №2665545 
>>2665523
Если положить хуй на производительность, никакие абстракции течь не будут. Авторов спецификации ведь не беспокоили несуществующие проблемы типа нагрузок, им хотелось побыстрее высрать API для клепания крудов макаками.
Аноним 07/04/23 Птн 23:34:35 #490 №2665660 
>>2653276
пиши нормальные тестовые именя
Аноним 08/04/23 Суб 09:33:33 #491 №2665795 
>>2653276
>Объясните в чем прикол
It's just Java, bruh :)
Аноним 08/04/23 Суб 09:49:25 #492 №2665803 
>>2665795
>>2653276
Ну семён...
Аноним 08/04/23 Суб 11:13:22 #493 №2665829 
>>2651134 (OP)
Как вкатиться в это ваше крудошлепство?
Есть ли книги по джаве где бы конкретно пояснялась работа крудера в энтерпрайзе?
Аноним 08/04/23 Суб 11:35:29 #494 №2665841 
Как вообще правильно кафку тестить? Ведь по идее результат работы находится вообще где-то на другом сервисе. Создать тут-же на месте консьюмер/продюсер для тестирования и проверять, что приходит именно то, что отправилось? Это же херь полная. Как-то со смыслом это можно сделать?
Аноним 08/04/23 Суб 11:40:24 #495 №2665847 
>>2665841
тестишь только что твой пук ушёл в кафку в нужный топик. Всё
Аноним 08/04/23 Суб 11:41:17 #496 №2665848 
Был такой вопрос по спрингу на собеседовании.

Есть 2 либы. Одна моя, другая чужая. И есть пользователь этих либ.
Как мне в своей либе запретить пользователю пользоваться бином из чужой либы?
Аноним 08/04/23 Суб 11:48:25 #497 №2665851 
>>2665841
Протестируй что во время пука в кафку данные всегда корректно маппятся в кишечные газы и пук работает. От неправильного пука жопа целиком не должна рвануть.
Протестируй что делает жопа если некому занюхнуть пук в течение 30 секунд.
Протестируй что ты можешь пукнуть и сразу же занюхать свой пук через противогаз (read-your-write) поведение. Если это нужно.
Аноним 08/04/23 Суб 12:16:25 #498 №2665868 
>>2665841
Нахуя тестировать внешние инструменты?
Аноним 08/04/23 Суб 13:34:01 #499 №2666052 
>>2665848
Кондишн он бин, возможно
Аноним 08/04/23 Суб 13:44:56 #500 №2666067 
>>2651134 (OP)
Работаю уже год джава работягой, в проекте есть кафка, раббит, постгря и монга.
Немного загоняюсь что проект не высоконагруженный и нет saas, так как планирую съебать, а за бугром как я понял все в облаках.
Собственно пришел спросить, на работе есть вариант писать сервисы на котле или иногда ковырять реакт/тайп скрипт, выбрать можно только одно, что перспективней для эмиграции? Я посмотрел вакансии на монстре и индид и у меня какое-то двоякое ощущение, иногда от бэкендера требуется джава, шарп, плюсы и все это сразу, есть и вакансии фуллстеков, непонятно что востребование.
Аноним 08/04/23 Суб 14:55:34 #501 №2666168 
https://habr.com/ru/post/724700/
Гыгык.
Аноним 08/04/23 Суб 15:07:15 #502 №2666176 
>>2666067
>Работаю уже год джава работягой, в проекте есть кафка, раббит, постгря и манга
У меня из этого только джава пятая
Аноним 08/04/23 Суб 16:53:29 #503 №2666249 
Посоветуйте пожалуйста книгу по паттернам проектирования, НО, с хорошим переводом.
Аноним 08/04/23 Суб 17:04:54 #504 №2666258 
Всем приветики. А можно ли cookies клиента хранить без аутентификации с помощью Spring Security?
Аноним 08/04/23 Суб 18:14:31 #505 №2666318 DELETED
>>2665848
Чет не понял нихуя, а как пользователь в твой апи свой бин должен впихнуть?
Ну валидируй тогда, хули. <T extends LibaBean> или чет там у тебя на входе.
Аноним 08/04/23 Суб 18:20:07 #506 №2666324 
>>2666318
я так понял что у себя объявляешь объявляешь бин @Primary и делаешь пустую реализацию
Аноним 08/04/23 Суб 18:25:47 #507 №2666334 
>>2666067
>индид
Аноним 08/04/23 Суб 18:31:08 #508 №2666346 
>>2666258
Всмысле. При чем тут сисурити? Клиент сам куки хранит столько, сколько ему нужно, он твоего разрешения и не спросит даже.
Аноним 08/04/23 Суб 19:36:51 #509 №2666441 
>>2666346
еблан яву с яваскриптом попутал
Аноним 08/04/23 Суб 20:07:02 #510 №2666511 
Подскажите пожалуйста, книга по паттернам проектирования или статьи ?
Аноним 08/04/23 Суб 20:07:23 #511 №2666513 DELETED
>>2666441
а че в яве яваскрипт не запускается что ли? без носорога уже никак?
Аноним 08/04/23 Суб 20:07:56 #512 №2666514 
>>2666511
Да.
Аноним 08/04/23 Суб 20:08:21 #513 №2666516 DELETED
>>2666511
https://refactoring.guru/ru
Аноним 08/04/23 Суб 22:24:52 #514 №2666771 
Рефакторинг запрещён. Разрешено только переписывать заново плохие модули.
Аноним 08/04/23 Суб 22:42:39 #515 №2666798 
>>2666516
Мне кажется, книга лучше чем эти статьи...
Аноним 08/04/23 Суб 23:59:51 #516 №2666838 
>>2666771
Все правильно, это O в SOLID.
Аноним 09/04/23 Вск 00:25:34 #517 №2666854 DELETED
>>2666798
>>книга лучше
По мне так понятные статьи. С объяснением, схемами, кодом, плюсами и минусами и все это компактно.

Но раз хочется книгу - тогда читай пик1, но всем говори что читал пик2. Если хочется почувствовать себя илитарием можешь в самом деле оригинал почитать, кек.
Аноним 09/04/23 Вск 00:47:47 #518 №2666858 
>>2665848
Ну по идее, можно просто бин прописать в своей либе без кондишена и тогда в случае, если кто-то тот же бин продекларирует, то приложение просто свалится. Хотя эту хуйню легко обойти, если просто имя бина изменить
Аноним 09/04/23 Вск 05:44:59 #519 №2666907 
>>2665381
Как что? Я же написал. Primary id у entity нет и потому жопа считает это новым обьектом. Следовательно хибер генерит insert и пытается засунуть, после чего падает с ошибкой. Я пытался через @NativeId но чет залупа какая-то
Аноним 09/04/23 Вск 08:05:21 #520 №2666923 
>>2666854
>Если хочется почувствовать себя илитарием можешь в самом деле оригинал почитать, кек.
Илитарий уровня джавамухи.
Аноним 09/04/23 Вск 08:13:49 #521 №2666924 
>>2666513
Если хотел выебнуться эрудированностью, говорил бы не "носорог", а "грааль".
Аноним 09/04/23 Вск 09:53:20 #522 №2666949 
Насколько вообще важны знания IO Streams в реальной работе?
Аноним 09/04/23 Вск 10:55:07 #523 №2666978 
>>2666949
Не важны, главное спринг бут выучи.
Аноним 09/04/23 Вск 11:43:33 #524 №2666989 
>>2666949
O и I это важные буквы в SOLID.
Аноним 09/04/23 Вск 14:33:14 #525 №2667055 DELETED
>>2666949
Не ебу как они работают, просто делаю byte[] и засовываю его в Resource
Аноним 09/04/23 Вск 22:26:55 #526 №2667655 
Какое же дерьмо этот ваш петухаскель, пиздец просто. Только в Java возможно настоящее функциональное программирование. Да и в принципе только Java — язык программирования, всё остальное это пародия на язык.
Аноним 09/04/23 Вск 22:53:25 #527 №2667670 
Бугаенка типизацию забраковал!
Аноним 09/04/23 Вск 22:58:06 #528 №2667677 
>>2667670
ПРУФ?
Аноним 09/04/23 Вск 23:01:22 #529 №2667681 
2023-04-1001-01-08.png
>>2667677
Аноним 09/04/23 Вск 23:41:46 #530 №2667698 
C35C4412-39BE-4BD1-A35C-58B1FA7E27F4.png
B1DC52C6-B9BE-456F-88F2-9546E5277D93.png
MacOS-аноны, есть в треде?
Поясните, на айос норм работать джависту?

Я 5 лет работал на убунте и был доволен как слон, потом пришёл в другую компании и тут работаю уже почти 2 года на ебучем виндовсе из-за корпоративной политики. Как же сука он меня бесит. Компания может дать мне мак, вот только я абсолютно ничего про него не знаю. У меня из эпла только айфон и айпад - там всё анально ограничено. В маках так же? Какие вообще подводные? Какие у вас впечатления? У меня много коллег джавистов вроде юзают и им норм.
Аноним 09/04/23 Вск 23:49:17 #531 №2667701 
>>2667681
ебать он тупиздень просто?
Аноним 09/04/23 Вск 23:56:56 #532 №2667704 
Шалом, анон.
Объясни как кластеризировать сервак?
Должна быть какая-та балансировка запросов, кеш общий для синхронизации
Это как проворачивается? Спринг-кластер что-то типо того
Или это уровень выше - докеры, кубы? + редис для кеша?
ehcache в кластере может работать. Это как происходит? Тыкал кто в это?
Аноним 09/04/23 Вск 23:58:14 #533 №2667707 
>>2667698
лучше винды. Бери
Аноним 10/04/23 Пнд 01:32:46 #534 №2667749 
>>2667698
Впринципе норм. Есть два подводных:
- будешь по первости путаться с раскладкой (cmd вместо ctrl)
- рискуешь переучиться и стать собачкой Apple
Аноним 10/04/23 Пнд 01:46:25 #535 №2667751 
>>2667698
Я бы на твоём месте оформил срыгос из компании, если бы меня заставляли сидеть на неприятной мне операционке. Для задрота операционка это как ноги.
Аноним 10/04/23 Пнд 04:47:45 #536 №2667768 
>>2667698
На шинде джсоны не перекладываются?
Аноним 10/04/23 Пнд 13:45:59 #537 №2668040 
Я в работе понял, что у меня в знаниях есть большие пробелы по ряду тем, реквестую какие-нибудь книги на этим темы: spring boot(вот прям основы), сертификаты(иногда какие-то манипуляции провожу с jks файлами, но сам толком нихуя не понимаю, просто гуглю и копирую комманды для опенссл и кейстора, а хотелось бы самому начать разбираться), ну и чот для самой жавы, учитывая, что я неуверенный мидл - хочется хотябы уверенным стать и начать двигаться к уровную помидора.
Аноним 10/04/23 Пнд 16:50:24 #538 №2668193 
>>2668040
По спрингу, если ты на нем писал читай доку спринг-кора и сбринг-бута.
Аноним 10/04/23 Пнд 17:11:43 #539 №2668207 
>>2668040
То что ты описал это стажёрские таски лол
Сеньоры обкашливают гига вопросики
Аноним 10/04/23 Пнд 17:28:39 #540 №2668225 
>>2668040

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

Начни с того что перестань реквестировать. Синьор на то и синьор, что самодостаточен, и способен всю инфу собрать сам.
Аноним 10/04/23 Пнд 17:34:23 #541 №2668226 DELETED
>>2668225
Я б пореквестировал и тут, но анон в 99% не знает или даже не поймет вопрос. Все что он может в этом ИТТ треде - отвечать на типовые вкатунские вопросы.

мимо мидл
Аноним 10/04/23 Пнд 17:45:47 #542 №2668239 
>>2668226
Может быть ты просто не умеешь вопросы задавать?
Аноним 10/04/23 Пнд 17:46:39 #543 №2668243 
>>2668239
Двачую.
Аноним 10/04/23 Пнд 18:00:37 #544 №2668266 
Где можно применять паттерн: "Singleton" ?
Аноним 10/04/23 Пнд 18:11:26 #545 №2668275 
>>2668266
На работе
Аноним 10/04/23 Пнд 18:13:12 #546 №2668279 
Ребята есть тут те кто могут объяснить как навигацироваться по сайту документации Spring, я вроде не тупой но заебаться можно
Аноним 10/04/23 Пнд 18:16:22 #547 №2668283 
Разминка ваших нейронов:
Что будет если объявить класс final?
Аноним 10/04/23 Пнд 18:36:16 #548 №2668302 
>>2668266
Практически нигде и только там, где обстоятельства обязывают использовать его.
Аноним 10/04/23 Пнд 18:36:32 #549 №2668303 
>>2668283
Твоя жирная мать умрёт.
Аноним 10/04/23 Пнд 18:40:41 #550 №2668307 
>>2668207
>манипуляции провожу с jks файлами
>То что ты описал это стажёрские таски лол
Ээээээээ..... Нет, чел..... Это не стажерские задачи........
Аноним 10/04/23 Пнд 18:45:15 #551 №2668314 DELETED
>>2668239
>>2668243
Ок, давай попробуем. Подкорректируй вопрос, чтоб он был понятен и на него дали правильный ответ.

В таблице есть колонка типа jsonb (постгрес 12)
В этой колонки хранятся жсоны разных видов. Нужно достать жсоны и удалить из них все атрибуты, в которых значение - UUID.
Пример жсонов (в упрощенном виде, все ююды условно корректные):

1. {adressId: 0000000-0000-0000-0000000000, addresname: adress}

2. {users : [ {userId: 00000000-0000-0000-123456789012, username: user}, {userId: 00000000-0000-0000-123456789015, username: user2} ], group: {groupId:12345678-1234-1234-123456789018, groupname: admin}

нужно что было в итоге

1. {addresname: adress}

2. {users : [ {username: user}, {username: user2} ], group: { groupname: admin}

Сможешь предложить что то лучше/быстрее йоба парсера стринги? (некоторые жсоны это 40к символов)
Аноним 10/04/23 Пнд 18:48:50 #552 №2668320 
>>2668314
А ты не охуел ли свою работу нам передавать?
Аноним 10/04/23 Пнд 19:08:16 #553 №2668349 DELETED
>>2668320
Так а что спрашивать тогда?
Спрошу по систем дизайну что то нетривиальное - тоже скажешь работу на анона скидываю. так наверное и появляются задачи на литкоде
Аноним 10/04/23 Пнд 19:10:31 #554 №2668351 
>>2668314

>Сможешь предложить что то лучше/быстрее йоба парсера стринги? (некоторые жсоны это 40к символов)

PL/SQL?
Аноним 10/04/23 Пнд 20:06:05 #555 №2668396 
>>2668314
я бы через текст и регулярки делал
Аноним 10/04/23 Пнд 20:15:18 #556 №2668400 
>>2668314
1. рекурсивной сте получаешь колонки jsonpath и значения c юидами через jsonb_path_match(jsonb, like_regex)
2. удаляешь по jsonpath нужные элементы через #- или строишь новый
Аноним 10/04/23 Пнд 20:24:35 #557 №2668410 
>>2668314
Ну и упоминание постгреса и версии значит, что ты хочешь это сделать на уровне постгреса, что к java треду не имеет отношения.
В жаве через jsonpath библиотеки это сделать проще. Но придется туда-сюда гонять большие джейсоны.
Аноним 10/04/23 Пнд 20:37:46 #558 №2668428 
>>2668349
А вот по дизайну и архитектуре тут полон тред мастеров советы давать. Это как раз можешь не бояться спрашивать.
Аноним 10/04/23 Пнд 20:40:22 #559 №2668431 
>>2668428
На такую хуйню обычно тут отвечаю я, в лице джуна с годом опыта в помойной галере.
Аноним 11/04/23 Втр 00:01:47 #560 №2668554 
application/yaml или text/yaml
Аноним 11/04/23 Втр 00:08:38 #561 №2668561 
>>2668554
Да.
Аноним 11/04/23 Втр 00:10:10 #562 №2668562 
>>2666854
Приёмы объектно-ориентированного проектирования.

Глава 1. Геттеры.
Глава 2. Синглтон.
Аноним 11/04/23 Втр 09:14:30 #563 №2668685 
>>2651134 (OP)
Приветствую донов джавы. Вопрос от неофита: если еще какие-то адекватные способы получить IntelliJ IDEA Ultimate бесплатно не создавая каждый раз новый аккаунт?
Аноним 11/04/23 Втр 09:19:17 #564 №2668688 
>>2668685
зачем? Комьюнити хватает
sage[mailto:sage] Аноним 11/04/23 Втр 09:24:23 #565 №2668689 
>>2668685
Устроиться на работу.
Аноним 11/04/23 Втр 10:20:33 #566 №2668707 DELETED
>>2668400
Спасибо, попробую

>>2668410
Не обязательно через бд, но мне казалось запрос написать более правильным подходом, чем тащить зависимость для одного случая. Но если либы которые делают это просто и не забьют мне хип - - то конечно гляну.
Аноним 11/04/23 Втр 14:26:34 #567 №2668982 
>>2668707
Легче всего сделать два запроса. Одним сформировать список jsonpath для удаления, вторым сформатировать запрос на удаление: сконвертить jsonpath в формат, который потребляет #- оператор и сделать множественный #-.
Может и в один можно оптимизировать. Почитай про функции для jsonb https://www.postgresql.org/docs/12/functions-json.html

40к символов джейсонка для жаба хипа это посильная задача. А вот туда-сюда в базу несколько раз кидать столько данных это такое себе.
Аноним 11/04/23 Втр 14:50:14 #568 №2669007 
Есть AtomicBoolean, который используется в разных частях программы. можно ли сделать атомарные if statement, тело которых будет выполняться одним потоком(тот, кто в данный момент контролирует переменную) в один момент времени? (если какой-то поток залез в if statement блок, который связан с этой переменной, другие потоки в if statmentы этой переменной не лезут и ждут)
Аноним 11/04/23 Втр 15:53:31 #569 №2669074 
>>2669007
>другие потоки в if statmentы этой переменной не лезут и ждут)
Это задача не для атомик булена. Ты описываешь типичную критическую секцию. Просто заворачиваешь в синхронайзд и все.
Аноним 11/04/23 Втр 16:00:09 #570 №2669087 
>>2669007
>>2669074
>Есть AtomicBoolean, который используется в разных частях программы

Можешь даже в качестве монитора этот атомик булеан заюзать (если я ничего не забыл).

Еще есть всякие getAndUpdate, но с ними надо аккуратней, передаваемая в них лямбда может исполняться больше одного раза за вызов, поэтому если лямбда не стейтлесс, получишь конфуз.
Аноним 11/04/23 Втр 16:20:20 #571 №2669117 
>>2669087
>лямбда
на каждый вызов такой функции будет создаваться объект для исполнения лямбды
Аноним 11/04/23 Втр 16:33:37 #572 №2669135 
>>2669087
Таки объебался - updateAndGet есть в AtomicReference.

>>2669117
Во первых - нет. Есть кейсы, когда обьект лямбды создастся единожды, а не на каждый вызов (в случае, если лямбда не делает никаких замыканий на переменные).

Во вторых - для конкарренси это не имеет ключевого значения. Ключевое значение имеет обьект-монитор, а он в свою очередь вовсе не обязан быть обьектом this. В случае с лямбдами по умолчанию вообще не предусмотрено никаких синхронизаций, ибо дорого и оверкильно. Более того, блокировок нет даже в вышеупомянутом getAndUpdate - оный просто лабает лямбду в цикле до тех пор, пока не опубликуется обновленное значение. Так что непонятно, к чему ты об этом заговорил.
Аноним 11/04/23 Втр 17:16:38 #573 №2669176 
>>2669135
Просто читай спеку, чел... Ты не шаришь...
Аноним 11/04/23 Втр 17:22:43 #574 №2669184 
>>2669176
Критикуешь - давай конкретику. Иначе иди нахуй.
Аноним 11/04/23 Втр 19:18:31 #575 №2669331 
>>2666854
Тяночка...............
Аноним 12/04/23 Срд 08:58:30 #576 №2669788 DELETED
>>2669331
Вот тебе 2д версия.
А вообще все логично, программирование - женская работа.
Аноним 12/04/23 Срд 11:06:07 #577 №2669861 
1200x0.jpg
Катя Сиерра это олдскул вайфу джавы
Аноним 12/04/23 Срд 15:11:18 #578 №2670130 
>>2651134 (OP)
https://youtu.be/YaJcBKjC1ec?t=2350

>Я так и не понял, при чем тут какие-то спецификации :) Ждал, что будет что-то связанное с OpenApi (как проверить реализацию по специализации, да еще и сгенерить это как-то из ямл-схемы)

>Доклад в целом про "модульное" тестирование с разбиением по слоям - делаю всегда так же. Мой типичный шаблон микросервиса - с десяток модулей (rest, service-api, service-impl, data-api, data-impl), и каждый тестируется на моках низлежащего на все тонкие кейсы вдоль и поперек (база - @ДатаДжэПэАТест, веб - на @ВебЭмВисиТест), и сверху интеграционные тесты с простейшими условиями чтобы проверить что всё от контроллера до базы пробегает насквозь

>Но в целом доклад полезный :)

В голосину проиграл с помойных джавамух. Что вы там тестируете на моках, джавамухи? Сначала рест-контроллеры свои помойные на моках дрочите (что вы там тестируете, лол?). Затем базу данных на моках "тестируете". Вы совсем там обезумели, джавамухи? Прямо эталонное вжжжжжжж, лол!
Аноним 12/04/23 Срд 16:00:44 #579 №2670223 
>>2670130
Я и сам частенько в голосину фрустрирую с повадок спрингокульта. Но вот мне интересно - ты сам то свое видение на данный счет поведаешь? Или ссыкло?

Мимо
Аноним 12/04/23 Срд 18:27:54 #580 №2670430 
>>2669087
Есть смысл учить JDBC?
Аноним 12/04/23 Срд 18:54:53 #581 №2670475 DELETED
>>2670130
У нас в проекте тоже есть все эти помойные impl. Спрашиваю нахуя? Вы же даже тесты не пишите? Пук-среньк, привыкли так, как диды завещали, а вдруг напишем тесты (с кучей моков, чтоб это говно регулярно ломалось).
Аноним 12/04/23 Срд 18:56:17 #582 №2670478 DELETED
>>2670430
Смысла нет ни в чем.
Аноним 12/04/23 Срд 18:56:44 #583 №2670480 DELETED
>>2670430
Смысла нет ни в чем.
Аноним 12/04/23 Срд 20:51:28 #584 №2670651 
>>2670480
Хоть и не открытие, но это лучший ответ который я когда-либо слышал на свой вопрос в жизни.

Ну хуй с ним просто пойду упорно учить спринг дальше, воодушевил, спасибо.
Аноним 12/04/23 Срд 21:29:58 #585 №2670670 
Бэк: жаба
Фронт: реакт? Анг? Вью?
Аноним 12/04/23 Срд 21:41:42 #586 №2670679 
>>2670670
Для меня никакой разницы. Видел проекты на жаве на всех трех. Для общего развития я бы выбрал рякт, как раз потому, что он максимально непохож на спринг, попробовал бы другой подход.
Если для работы - желательно беку вообще не лезть во фронт. Современный фронт это не так уж просто, особенно по затратам времени. Вместо этого лучше потратить время на изучения жабы, бд, кафки, микрочеликов, спринга и кучи других библиотек, технологий и паттернов для чистого джависта.
Почти все работы с фулстеком на жабе это плохие проекты и компании.
Аноним 12/04/23 Срд 21:42:34 #587 №2670680 
>>2670670
Фронт: ...
Аноним 12/04/23 Срд 21:50:13 #588 №2670687 
>>2670670
Ряякт индусский, ангуляр умер, вью никому не нужен. Пускай вебмакаки в этом говне копаются, не царское это дело - фронт писать.
Аноним 12/04/23 Срд 21:55:57 #589 №2670695 
>>2670475
Пишу impl всех слоев трехслойки. В контроллере удобно разделить кучу аннотаций между реализацией и интерфейсом. Обычные сервисы и репошки иногда мокаю в тестах(но тесты с моками пишу очень редко).
Прочие компоненты, типа хендлеров, раннеров разных имеют часто несколько реализаций. Сервисы иногда тоже. Контролеры тоже видел пару раз.
Аноним 12/04/23 Срд 23:50:00 #590 №2670749 
>>2670670
Фронт: жаба
Аноним 13/04/23 Чтв 00:28:35 #591 №2670765 
>>2670670
Фронт: ждет
Аноним 13/04/23 Чтв 05:17:59 #592 №2670813 
55 сайтов с инфой о спринге йо-хо-хо
Я открыл один там нет инфы на русском...
54 сайта с инфой о спринге йо-хо-хо
Я открыл один там нет инфы на русском...
...
1 сайт с инфой о спринге йо-хо-хо
Я открыл один там нет инфы на русском...
...
Нет инфы о спринге...
Аноним 13/04/23 Чтв 06:01:20 #593 №2670814 
>>2670813
>нет инфы на русском...
>Нет инфы о спринге...
Зачем ты пошел в программирование, если даже такие базовые вещи не тянешь? Ты понимаешь, что программирования просто не твое? Пошел бы таксовать или грузаном работать в пятерочке - пользы бы от тебя было кратно больше
Аноним 13/04/23 Чтв 08:26:05 #594 №2670839 
>>2670813
У Яндекса есть встроенная функция перевода выделенных слов (иногда косячит), позже я скачал firefox и плагин для того же, но более удобно. Я так очень хорошо вкатился в базовые английские понятия во время чтения docs.oracle , если было туго то смотрел курсы или статьи.
Аноним 13/04/23 Чтв 09:59:34 #595 №2670867 
Аноны, в реальной разработке Docker популярен или нишевая вещь? Часто его в проектах конторы используют?
Аноним 13/04/23 Чтв 10:02:42 #596 №2670871 
>>2670867
Это зависит от стека, обычно в докере запускают всякое питоноговно. Спрингу обычно докер не нужен, хоть он его и умеет
Аноним 13/04/23 Чтв 10:24:37 #597 №2670899 
>>2670867
Его обычно для тестовых/промышленных серверов используют, разрабы чаще локально запускают всё без докера.
Аноним 13/04/23 Чтв 12:09:33 #598 №2670991 
>>2670871
>Спрингу обычно докер не нужен
В шепот с этих "программистов"
Аноним 13/04/23 Чтв 12:11:23 #599 №2670993 
>>2670991
Давай расскажи нахуя спрингу докер
Аноним 13/04/23 Чтв 12:14:31 #600 №2670995 DELETED
>>2670899
>>разрабы чаще локально запускают всё без докера.
Справедливо для фронтов, бекендеры всегда бд/кафку/кейклоки всякие поднимают в докере. Это намного удобнее чем устанавливать что то.
Аноним 13/04/23 Чтв 12:18:35 #601 №2671000 
>>2670995
В шепот с этих «бекендеров»
Аноним 13/04/23 Чтв 12:59:48 #602 №2671037 
>>2670995
>кейклоки
Это говно еще кто-то использует, лол?
Аноним 13/04/23 Чтв 13:12:01 #603 №2671048 
>>2670867
Сейчас для бэкенда его используют буквально всегда. Даже если на проде приложение не контейнеризируется, для тестов тестконтейнеры сейчас индустриальный стандарт.
Аноним 13/04/23 Чтв 15:16:04 #604 №2671159 DELETED
>>2671037
У нас пользуются (правда древней версией, даже не на кваркусе) да и в вакансия часто мелькает.
Аноним 13/04/23 Чтв 15:48:54 #605 №2671196 
https://medium.com/nuances-of-programming/хитрости-объектно-ориентированного-программирования-часть-2-закон-деметры-e415b6408dff

>3. являются экземплярами переменных;
Это как ?
Аноним 13/04/23 Чтв 17:11:57 #606 №2671285 DELETED
>>2671196
>>Закон имярека
Авторка статьи специально выдумал какой то говнокод, чтоб дать ему название. Прям как японцы со своими терминами для каждой извращенной хуйни.
Аноним 13/04/23 Чтв 17:41:28 #607 №2671307 
>>2671000
В чем шепот, дедуля? Берешь делаешь докеркомпос с постргей+кафкой+зукипером+кейклоком+минио. Кое какие конфиги рядом складываешь.
И локальное окружение поднимается одной кнопкой за минуту. А не надо сидеть все руками устанавливать по списку из 40 пунктов.
Удаленное тестовое окружение это еще хуже. Во первых ты там ограничен, не один ты на нем работаешь. Во вторых тебе надо прописывать всякие хосты у себя на машине, чтобы это говно работало.
Ну и тестконтейнеры это вообще топ. С ним можно не писать идиотские юниты и покрывать все подробно интеграционками.
Аноним 13/04/23 Чтв 17:45:22 #608 №2671312 
>>2671307
>зукипером+кейклоком+минио
Прямо буллшит бинго собрал, лол!

>Ну и тестконтейнеры это вообще топ. С ним можно не писать идиотские юниты и покрывать все подробно интеграционками.
А вот и любители интеграционных тестов пожаловали. На каждый покак в базку ты контейнер будешь поднимать, лол? Юнит тесты - это база. Если ты не можешь написать юнит тест на свой код, значит код - говно. Ну и тесты ты свои будешь гонять в лучшем случае полчаса-час, если проект средний по размерам. Когда юнит тесты пробегут за секунды.
Аноним 13/04/23 Чтв 19:12:07 #609 №2671426 
уже бегу писать юнит тест на спринг дату и клауд и кафку
щас только весь мир замокаю
Аноним 13/04/23 Чтв 19:41:44 #610 №2671466 
>>2671312
Что тестирует юнит тест в жабе?
Класс он тестирует. Абстрактно в вакууме. А поведение он не тестирует. Особенно когда у тебя куча логики под капотом у спринга, хибера, жука, любых других библиотек и фреймворков. И твой собственный код одного сценария использования разнесен по 10-15 слоям бинов.

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

А можно написать 5 интеграционных с поднятием контекста и мокать только то что явно мешает. И ты увидишь как работают твои 2 успешных и 3 кейса с ошибкой почти в том же виде, как сервис будет работать на проде.
Аноним 13/04/23 Чтв 20:38:28 #611 №2671517 
>>2671466
>ты должен в голове у себя держать связь между кучей бинов и досконально знать как с твоим кодом взаимодействует спринг.
Просто нормальные юнит тесты пиши. Для таких как ты даже воркшопы сделали - >>2670130
Просто нужно качественно все мокать. А твои "интеграционные" тесты, когда ты все перемокал - нахуй никому не нужны. Хохочу в голосину с таких мокальщиков, которые тащат какой-нибудь моксервер и начинают мокать ответы хуитки, которую они не контролируют и не владеют.
Аноним 13/04/23 Чтв 20:57:45 #612 №2671545 
>>2671517
Тест с таймада в видосе >>2670130 - интеграционный.
Слайсовые тесты спринга, типа @DataJdbcTest - это интеграционные тесты. Как и @SpringBootTest
В них поднимается контекст/часть контекста спринга. Поднимается контекст - уже интеграционный.
А в @DataJdbcTest еще и датасурс к бд.
Юнит тест это @ExtendWith(MockitoExtension.class)
Аноним 13/04/23 Чтв 21:52:38 #613 №2671580 
Почему в джаве так сложно писать прокси для класса? Какая-то ебала через рефлексию с кучей интерфейсов, простыня кода для такой простой вещи.
Как по-простому написать прокладку, которая будет запоминать значения произвольного метода и вызывать его только в случае, если вызова с такими параметрами нет в кэше? Я не хочу тащить фреймворк или библиотеку для этого

типа Object proxyCall(Class clazz, Method method, List<?> parameters);
Аноним 13/04/23 Чтв 21:55:23 #614 №2671585 
>>2671580
Вопрос в другом.

Нахуя вообще лабать прокси через рфлексию, когда написать один декоратор на публичном интерфейсе - дешево и надежно.
Аноним 13/04/23 Чтв 22:00:16 #615 №2671594 DELETED
>>2671307
>>Ну и тестконтейнеры это вообще топ. С ним можно не писать идиотские юниты и покрывать все подробно интеграционками.
Как ими тестят микросервисы? У меня сервис лезет в 3 других чтоб подтянуть данные и изолировано как юнит он очевидно не заработает.
Только в CI вставлять когда все приложение поднято или ебашить моки для всего?
Аноним 13/04/23 Чтв 22:17:29 #616 №2671609 DELETED
>>2671517
>>воркшопы сделали
Есть поадекватнее видео
https://www.youtube.com/watch?v=LkrqqpkKIXE&t=2257s

>>А твои "интеграционные" тесты, когда ты все перемокал
Лучше написать 1 раз интеграционный, чем переписывать сотню раз такой перемоканый тест который тестирует не контракт, а конкретную реализацию. Лучше вообще тесты не писать, чем такие - больше времени на переписывание тестов уйдет, чем на дебаг.
Аноним 13/04/23 Чтв 23:15:07 #617 №2671658 
Мнение?

For example, class String from Java is a good example of a bad design. It has more than 20 utility methods that should have been provided as decorators instead: trim(), toUpperCase(), substring(), split(), and many others, for example. When I want to trim my string, uppercase it, and then split it into pieces, here is what my code will look like:

final String txt = "hello, world!";
final String[] parts = txt.trim().toUpperCase().split(" ");

This is imperative and procedural programming. Composable decorators, on the other hand, would make this code object-oriented and declarative. Something like this would be great to have in Java instead (pseudo-code):

final String[] parts = new String.Split(
new String.UpperCased(
new String.Trimmed("hello, world!")
)
);
To conclude, I recommend you think twice every time you add a new utility method to the interface/class. Try to avoid utility methods as much as possible, and use decorators instead
Аноним 13/04/23 Чтв 23:22:43 #618 №2671664 
>>2671658
Хехехе, я знаю откуда ты это взял)

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

Упускает он лишь один момент - в то время как на каком нить хаскеле декларативная натура хаскеля проходит пучок оптимизаций на пути к преобразованию в императивный машинный код, на джаве это будет тупо лишняя аллокация декораторов. На уровне банальной стринги оверхед будет довольно заметен.
Аноним 13/04/23 Чтв 23:53:24 #619 №2671676 
>>2671658
Бред.
Аноним 13/04/23 Чтв 23:55:32 #620 №2671678 
>>2671658
>It has more than 20 utility methods that should have been provided as decorators instead
Бугаенко писал? Его шизу я сразу узнаю.
Аноним 14/04/23 Птн 04:03:25 #621 №2671747 
есть Handler, в нем Runnable вызывается каждые 5 секунд. в методе run нужно узнать, вызывался ли хоть раз кое-какой каллбек. Была идея AtomicBoolean поставить true в начале каллбека, а в run потом проверить. но чисто технически, проверка в run может попасть в промежуток после вызова калбекка и до присвоения true в самом калбеке. как быть?
Аноним 14/04/23 Птн 05:28:51 #622 №2671755 
>>2671747
Если тебе надо, чтоб колбэк отработал полностью, то ставишь в конце атомик свой. Если просто, что пошел вызов, то можешь в начале. Промежуток там будет это загрузка аргументов метода на стэк в жвм. Это наносекунды буквально. Можешь просто ебануть синхронайзд или лок. Производительность упадет, но паранойи не будет.
Аноним 14/04/23 Птн 07:13:53 #623 №2671769 
>>2671609
Хориков и его книга/выступление это кстати единственное, что я полезного видел с примерами на шарпе.
Аноним 14/04/23 Птн 07:23:12 #624 №2671771 
>>2671609
>Лучше вообще тесты не писать, чем такие - больше времени на переписывание тестов уйдет, чем на дебаг.
Моя позиция такова, что работа на проекте должна быть выстрадана. Должно быть физически неприятно работать с кодом проекта. И я не говорю про какой-нибудь легкий дискомфорт или шероховатости. Здесь речь про невыносимые страдания и истерики, когда ты от бессильной злобы сжимаешь до скрипа зубы. А когда фляга начинает конкретно так свистеть, ты вскакиваешь из-за стола и начинаешь орать во все горло, при этом колотишь со всей дури кулаком в стену
Аноним 14/04/23 Птн 13:41:25 #625 №2671992 
>>2671771
Сцук, ебанаврот, и ведь таких непоследовательных терпил реально в индустрии дохера. Ебануться.
Аноним 14/04/23 Птн 13:55:36 #626 №2672001 
>>2671992
>>2671771

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

А так как айти-образования не существует впринципе как категории (равно как и в целом нормального образования), вы, жертвы ЕГЭ и айтишных курсов, и мечетесь от одной крайности в другую - одни забивают и пинают хуи, а другие выдумывают всякую софт-скилльную ахинею: "терпеть и жрать кактус".
Аноним 14/04/23 Птн 14:23:46 #627 №2672026 
>>2671992
>непоследовательных
В каком смысле? Я тебе расписал как должен выглядеть типичный день разработчика.
Аноним 14/04/23 Птн 14:33:08 #628 №2672039 
>>2672026
Как раз в таком смысле, что ты, напрочь игнорируя и даже не пытаясь искать и понять причины неэффективности практики тестирования в проектах, пытаешься расписывать какую то терпильную софт-скилл-бэйзд ментальность - и кабанам и кодерам.

Последовательность решения любой проблемы, начиная от айтишной баги, продолжая этими пиздострадамиями вокруг тестирования, и заканчивая государственными проблемами, всегда начинается с поиска root cause'а. Поэтому у тебя последовательности нет.

Если че - я мимокрокодил, и комментил конкретный коммент >>2671771, так что если я заблуждаюсь - гони ссылки для последовательного разьеба.
Аноним 14/04/23 Птн 14:39:10 #629 №2672044 
>>2672039
>всегда начинается с поиска root cause'а
А Кабану похуй на твой рут коз. Лиду поебать, что ты там не можешь или не хочешь. Есть таска, есть срок - вперед из песней. Улучшениями практик и рефакторингами будешь заниматься у себя в пет-проектах.
Аноним 14/04/23 Птн 14:56:46 #630 №2672062 
>>2672044
Разумеется похуй, кто бы спорил. На этот счет к вышесказанному мне добавить нехуй. Им похуй ровно по той же причине, по которой похуй тебе: они непоследовательные, необразованные, подменившие рационализм софт-скиллами ебланы, которые за деревьями леса видеть не хотят. Результат налицо - эффективные менеджеры не видят смысла тратить дорогой человекоресурс на написание автотестов и оптимизируют расходы. А айтишнички промываются ТДД-евангелистами и придумывают терпильные карго культы.
Аноним 14/04/23 Птн 15:55:06 #631 №2672128 
Как же заебали токсичные бляди в ойти.
Аноним 14/04/23 Птн 16:07:27 #632 №2672136 
>>2672062
>не видят смысла тратить дорогой человекоресурс на написание автотестов и оптимизируют расходы
Правильно делают. Нормально делай - нормально будет. Сейчас бы закладывать написание каких-то там тестов, лол. Фитчи нужно катить - заказчик ждет.
Аноним 14/04/23 Птн 16:16:37 #633 №2672143 
>>2672136
>Нормально делай - нормально будет.

Эта цитатка - детектор идиота с архиважным мнением. Обычно если такое говорит, например, спикер на конференции, можно сразу дропать доклад, потому что он гарантированно будет дерьмом, проверено неоднократно.

Не надо так.
Аноним 14/04/23 Птн 16:42:35 #634 №2672198 
>>2672143
Просто пойми, что Кабану похую на налаженные процессы и прочие штуки. Его интересуют только фитчи. Он ебет лида, а лид ебет команду. Все!
Аноним 14/04/23 Птн 16:46:20 #635 №2672205 
>>2672198
Всмысле - пойми. Я спорю чтоли? Как это противоречит с тем что я сказал выше? Что доказать то пытаешься?
Аноним 14/04/23 Птн 17:10:39 #636 №2672234 
>>2672205
Да.
Аноним 14/04/23 Птн 17:48:59 #637 №2672289 
>>2672234
Нет?
Аноним 14/04/23 Птн 18:07:35 #638 №2672309 
>>2672289
Дяди Боба ответ.
Аноним 14/04/23 Птн 18:10:02 #639 №2672311 
>>2672309
Бугаенки аргумент
Аноним 14/04/23 Птн 21:39:15 #640 №2672479 
>>2672473 →
>Заебали ныть. Хочется документацию как в жабе или шарпе - пишите на жабе или шарпе.

Когда в следующий раз будет ныть, что документация не очень. Вспомните про Говнокодеров и скажите спасибо, за то что есть.
Аноним 15/04/23 Суб 04:40:59 #641 №2672683 
Документация — антипаттерн.
Аноним 15/04/23 Суб 05:07:42 #642 №2672686 
image
Аноним 15/04/23 Суб 07:39:37 #643 №2672709 
>>2672686
Ну тогда выбираем:
- Орков(Питухон)
- Тау (Голованг)
- Эльдаров (?)
- Некронов (Си)
- Тиранидов(?)
Аноним 15/04/23 Суб 08:38:01 #644 №2672719 
ебало вахадауна вкатусосика имагине
Аноним 15/04/23 Суб 10:12:48 #645 №2672761 
>>2672686
а хорус кто? Скала?
Аноним 15/04/23 Суб 13:24:28 #646 №2672883 
PostgreSQL или Oracle?
Аноним 15/04/23 Суб 13:27:09 #647 №2672885 
>>2672883
По задачам.
Аноним 15/04/23 Суб 14:34:59 #648 №2672922 
>>2672885
какие задачи у оракли кроме откатов?
Аноним 15/04/23 Суб 14:35:51 #649 №2672924 
>>2672922
Это у тебя надо спросить.
Аноним 15/04/23 Суб 16:13:11 #650 №2672970 
>>2672924
ну я слышал что там есть технология шифрования, чтобы даже dba не могли читать содержимое таблиц. Что ещё?
Аноним 15/04/23 Суб 16:35:44 #651 №2672985 
Какая версия спринга самая используемая по вакансиям?
Аноним 15/04/23 Суб 18:53:59 #652 №2673073 
>>2672985
Четвёртая, без бута и с XML-конфигом.
Аноним 15/04/23 Суб 19:44:45 #653 №2673153 
>>2653537
Я бы дал наверное Программирование на Java для детей, родителей, дедушек и бабушек, сам читал, неплохие задания для начала, но там 1 часть про аплеты, хз сейчас скипать можно, но я поигрался, и эклипс рекомендуют)
Аноним 15/04/23 Суб 20:16:03 #654 №2673195 
>>2672719
Я кода написал больше, чем вся твоя галера, сынок.
Аноним 15/04/23 Суб 20:20:29 #655 №2673205 
Сап, как вкатиться в спринг? Посоветуйте уроки, статьи, видосики плиз
Аноним 15/04/23 Суб 20:48:40 #656 №2673234 
>>2673195
не сомневаюсь, опарыш литкодный
Аноним 15/04/23 Суб 21:05:19 #657 №2673249 
>>2673234
Да не плачь, анальник-крудошлёп. Подумаешь, есть люди, которые занимаются программированием, а не вечными миграциями с одной базы данных на другую.
Аноним 15/04/23 Суб 21:08:07 #658 №2673250 
>>2673205
Дока + курс от отуса со скуфами
Аноним 15/04/23 Суб 21:37:06 #659 №2673261 
>>2673250
>курс от отуса со скуфами
а есть ссылка?
Аноним 15/04/23 Суб 21:55:36 #660 №2673273 
Почему геттеры и сеттеры нарушают оопшность ?
Аноним 15/04/23 Суб 22:19:23 #661 №2673284 
>>2673273
Не нарушают.
Аноним 15/04/23 Суб 22:19:42 #662 №2673285 
Бугаенко такой жалкий чмошник,как же я ору с него
Аноним 15/04/23 Суб 22:20:42 #663 №2673287 
>>2673261
Ебанат беспомощный,научись сначала интернетом пользоваться,а потом в айти лезь
Аноним 15/04/23 Суб 22:36:43 #664 №2673294 
>>2673195
Как хочешь ты трудись;
Но приобресть не льстись
Ни благодарности, ни славы,
Коль нет в твоих трудах ни пользы, ни забавы.

Крестьянин на заре с сохой
Над полосой своей трудился;
Трудился так крестьянин мой,
Что градом пот с него катился:
Мужик работник был прямой.
Зато, кто мимо ни проходит,
От всех ему: спасибо, исполать!
Мартышку это в зависть вводит.
Хвалы приманчивы, — как их не пожелать!
Мартышка вздумала трудиться:
Нашла чурбан, и ну над ним возиться!
Хлопот
Мартышке полон рот:
Чурбан она то понесет,
То так, то сяк его обхватит,
То поволочет, то покатит;
Рекой с бедняжки льется пот;
И наконец она, пыхтя, насилу дышит:
А всё ни от кого похвал себе не слышит.
И не диковинка, мой свет!
Трудишься много ты, да пользы в этом нет.
Аноним 15/04/23 Суб 22:44:58 #665 №2673301 
>>2673273
Парадигмы - миф. Нельзя нарушить того, что не существует.
Аноним 15/04/23 Суб 23:12:38 #666 №2673312 
Подскажите пожалуйста, есть 2 метода, один может воспроизводить музыку, а второй звук. Их вынести в один общий класс "AudioPlayer" или создать два класса "SoundPlayer" и "MusicPlayer" ?
Аноним 15/04/23 Суб 23:23:47 #667 №2673315 
>>2673312
Классы, имена которых заканчиваются на "er" это антипаттерн.
Аноним 16/04/23 Вск 00:53:37 #668 №2673371 
.png
>>2673312
В один класс. Всё равно никто в здравом уме не поймёт, чем музыка отличается от звука.
Аноним 16/04/23 Вск 00:54:06 #669 №2673372 
>>2673315
Пошёл нахуй, бугаенкер.
Аноним 16/04/23 Вск 01:59:59 #670 №2673413 
>>2673315
Ты че долбоёб?
Аноним 16/04/23 Вск 06:06:04 #671 №2673451 
>>2673312
Ты даун?
Аноним 16/04/23 Вск 07:58:49 #672 №2673462 
>>2673371
В майнкрафте разница в том, что звук проигрывается в конкретной локации, а музыка транслируется прямо в голову игроку. Но это должно быть два класса реализующих интерфейс Sound/Audio, а не эта хуйня с двумя плеерами, что он там напридумывал.
Аноним 16/04/23 Вск 08:08:58 #673 №2673463 
Где на 10-й винде хранятся образы докера?
Аноним 16/04/23 Вск 08:11:04 #674 №2673465 
>>2673273
Потому что ими не умеют пользоваться. Проблема не в геттерах, это следствие. Надо чётко разделять внутренние пакеты и логику. Для первых геттеры это норма (хотя я предпочитаю record-style), как и сеттеры в исключительных случаях, для вторых моветон.
Аноним 16/04/23 Вск 08:54:33 #675 №2673481 
>>2673261
nnmclub точка to/forum/viewtopic.php?t=1474084
Аноним 16/04/23 Вск 11:08:20 #676 №2673561 
Откуда образ должен грузиться для докера, с гитхаба или докерхаба, что предпочтительнее?
Аноним 16/04/23 Вск 12:10:57 #677 №2673588 
>>2673561
С порнхаба.
Аноним 16/04/23 Вск 13:04:16 #678 №2673616 
При использовании дефолтного хибернейта, он использует возможности ORM ? Или это только когда мы через entity manager делаем взаимодействие с бд ? ?
Аноним 16/04/23 Вск 13:07:45 #679 №2673622 
>>2673616
Нейросети пишут более связно, чем ты
Аноним 16/04/23 Вск 14:57:45 #680 №2673757 
>>2673616
Убей себя
Аноним 16/04/23 Вск 15:12:28 #681 №2673769 
>>2673622
>>2673757
Боты пришли... Напишите ещё что-то о войне.
Аноним 16/04/23 Вск 16:44:33 #682 №2673851 
>>2673769
Пошел нахуй, хохлина.
Аноним 16/04/23 Вск 16:56:16 #683 №2673862 
>>2673616
Чего? Хибернейт - это и есть ORM.
Аноним 16/04/23 Вск 21:12:45 #684 №2674096 
>>2673616
При использовании дефолтной мастурбации мы используем свой член? Или это только когда мы через руку взаимодействуем с хуем?
Аноним 16/04/23 Вск 21:38:48 #685 №2674114 
>>2674096
Кто-то использует член, кто-то влагалище. А у хибернейта половой орган только одного вида.
Аноним 16/04/23 Вск 22:10:13 #686 №2674155 
Что сегодня просят на стажёра? Есть тут кто-нибудь из недавно вкатившихся?
Аноним 16/04/23 Вск 22:10:22 #687 №2674156 
>>2673851
Пидорашка спок
Аноним 17/04/23 Пнд 05:08:35 #688 №2674296 
>>2674155
Java 8/11
микросервисы
Spring
Java Core
паттерны
Git
Docker
Kubernetes
kotlin
maven
PostgreSQL
Jenkins
Agile (Scrum)
Messaging
Gradle
RabbitMQ
REST
SOAP
XSD
WSDL
XSLT
JSON
Protobuf
Hibernate
Flyway
Kafka
OpenAPI 3
Linux
Spring Cloud
Scala
SQL
Алгоритмы и структуры данных
ООП
Cassandra
Elastic Search
Redis
Junit
Mockito
Многопоточка
Spring Batch
ELK
Spring Data
Spring Security
Spring MVC
Spring Boot
Bat/sh
Postman
Spring Core
SOLID
JMS
SOA
JPA
Stream API
Collections API
Testcontainers
Kafka Streams
Prometheus
Grafana
gRPC
ClickHouse
PL/PgSQL
Spring Web Flux
Netty
Groovy
Spring 5
TDD
DDD
Selenium
NoSQL
ActiveMQ
nginx
UML
Java EE
системный дизайн
Liquibase
MongoDB
Tomcat
Jboss
Jackson
облачные технологии
Аноним 17/04/23 Пнд 05:31:34 #689 №2674300 
>>2674296
Сука, я со всем этим шлаком знаком. Какие же ублюдки, я мог бы это место в голове занять чем-нибудь более полезным.
Аноним 17/04/23 Пнд 13:09:52 #690 №2674521 
>>2674155
3 года опыта, профильное высшее образование, идеальное знание джавы, спринга, алгоритмов, паттернов, кафки, многопоточки
Аноним 17/04/23 Пнд 20:30:34 #691 №2674885 
>>2674155
Откуда вы блять беретесь...

На двочах есть - нюфаг тред, есть хрюшетред, можно в конце концов открыть стажерскую вакансию и почитать че там требуют. Какой смысл задавать его здесь? Или что, вкатуны сегодня настолько остекломоенные, что реально ожидают, будто один анон щас им распишет за всех? Как в ваших куриных мозгах это работает?
Аноним 18/04/23 Втр 04:48:05 #692 №2675076 
>>2674296
Так много????

А если я учу Java 17, то нужно переучиваться?
Аноним 18/04/23 Втр 06:27:15 #693 №2675087 
Аноны, как сохранять файлы внутрь докеровского контейнера? Multiparftile.transferTo бросает FileNotFoundException, хоть вне докера все отлично работает. Подскажите, плиз, в чем проблема может быть.
Аноним 18/04/23 Втр 08:08:15 #694 №2675109 
>>2675087
копируешь файл внутрь твоего линукса в докере и из жабы работаешь с этим файлом по пути в линуксе
Аноним 18/04/23 Втр 08:41:31 #695 №2675125 
>>2675076
Да, лучше иди учить пхп. Там знаний синтаксиса хватит для трудоустройства даже в мухосрани.
>>2675087
не забудь в докере вольюм создать еще
Аноним 18/04/23 Втр 08:47:04 #696 №2675130 DELETED
>>2675125
А без вольюма использовать систему как буфер получится?
Аноним 18/04/23 Втр 09:07:46 #697 №2675142 
>>2675130
Ну тебе всё равно как-то систему маунтить придется, если ты хочешь читать файл на винде или где-то еще.

Можно без вольюма, тогда тебе придется сначала залить на сервер файл через апи, потом сохранить его внутрь контейнера, потом сможешь его раздать. Но после перезапуска контейнера, его содержимое сохранено не будет и надо будет по новой.
Аноним 18/04/23 Втр 17:19:15 #698 №2675526 
>>2674114
>у хибернейта половой орган только одного вида.
Это ORM ?
Аноним 18/04/23 Втр 17:25:15 #699 №2675532 
>>2675526
Да.
Аноним 18/04/23 Втр 17:29:39 #700 №2675535 
>>2674885
>один анон щас им распишет за всех
>>2674296
Аноним 18/04/23 Втр 18:00:16 #701 №2675573 
>>2675535
>Java EE
>JBoss
Ну сидите, дрочите EJB тогда.

К 90 годам может и закроете этот список, а там глядишь и на пенсию пора. Дети блять.
Аноним 18/04/23 Втр 22:29:56 #702 №2675777 
Как
Аноним 18/04/23 Втр 22:40:37 #703 №2675784 
>>2675777
Никак.
Аноним 19/04/23 Срд 08:56:57 #704 №2675952 
Как юнит-тестировать методы из jspf-ок?
Ну то есть есть lib.jspf которая инклюдится в другие странички.
И в ней есть методы на жяве.
Как на них написать тесты?
Аноним 19/04/23 Срд 09:27:18 #705 №2675974 
>>2675952
Раз уж ты раскопал древнее и никому не нужное говно мамонта, о нормальных тестах можешь забыть. Максимум можно взять встраиваемую реализацию JSP, рендерить страницы в строку и сравнивать с эталоном.
А вообще там не должно быть сложной логики,, которую надо тестировать. Всё это должно быть написано нормальными классами и тупо вызываться из вьюх.
Аноним 19/04/23 Срд 11:50:31 #706 №2676079 
А правда то что говорят в мвпаче, что доля рынка у жабы на западе и в целом в мире меньше, чем в РФ?
Аноним 19/04/23 Срд 12:41:32 #707 №2676111 
>>2676079
Думаешь, здесь не сидят шизы из мвп, которые ответят то же самое?
Аноним 19/04/23 Срд 12:56:12 #708 №2676135 
>>2675974
Ну от меня требуется добавить санитайзинг и валидацию входных параметров через ESAPI либу.
Ну и нужно обернуть все request.getParameter("name") в мои библиотечные методы.
Но хочется тестики.
Аноним 19/04/23 Срд 12:58:20 #709 №2676138 
>>2676135
Ну и да.
Это некролегаси на jsp без бинов без нихуя, вся логика внутри самих jsp.
Аноним 19/04/23 Срд 14:55:36 #710 №2676238 
изображение.png
Аноним 19/04/23 Срд 15:10:55 #711 №2676252 
>>2676238
Массивы для байтоебов.
Используй коллекции.
Аноним 19/04/23 Срд 15:35:59 #712 №2676269 
>>2673315
Это почему же ?
Аноним 19/04/23 Срд 16:10:06 #713 №2676287 
>>2676079
Западная экономика уничтожена, так что уже неактуально. Посмотри на Азию, почти везде джава
Аноним 19/04/23 Срд 16:12:08 #714 №2676289 
>>2676269
Потому что так сказал автор книжки с зелёным кактусом.
Аноним 19/04/23 Срд 16:32:56 #715 №2676300 
изображение.png
не понимаю нихуя почему хибернейт не создает таблицы в бд
- java 11
- spring boot 2.7.0
- драйвер postgresql в зависимостях
- подключение к бд есть
Аноним 19/04/23 Срд 16:46:20 #716 №2676305 
>>2676289
Spring ?
Аноним 19/04/23 Срд 16:46:47 #717 №2676306 
>>2676300
Потому что он это делает только в embedded базах?
Аноним 19/04/23 Срд 16:49:09 #718 №2676308 
>>2676306
и что мне алтимейт идеа нужна что ли?
Аноним 19/04/23 Срд 16:58:23 #719 №2676313 
>>2676305
Скорее Takes.
Аноним 19/04/23 Срд 16:59:58 #720 №2676315 
>>2676306
Нет, он делает это в любых базах.
Аноним 19/04/23 Срд 17:48:55 #721 №2676358 
Назовите топ САМЫХ часто используемых вами паттернах проектирования.
Аноним 19/04/23 Срд 18:56:00 #722 №2676431 
>>2676358
Использую паттерн "процедурная параша с 10 вложенными if-ами".
Аноним 19/04/23 Срд 20:04:16 #723 №2676465 
>>2676358
Сингльтон
Аноним 19/04/23 Срд 20:38:11 #724 №2676502 
Что сдешние аноны думаю про Cata academy ?
Аноним 19/04/23 Срд 20:50:40 #725 №2676517 
Аноны, какое у вкатуна должно быть соотношение отказов к приглашениям на собесу? Или соотношение разосланных резюме к приглосам. Я раз 60 в сумме тыкнул, меня 7 раз отказали, остальные не отреагировали. Понимаю, что это херня по сути, и нужно дальше тыкать на вакансии на хх, но все же хотелось бы знать как оно должно быть в норме, чтобы если что в будущем задумать, может я что-то делаю не так.
Аноним 19/04/23 Срд 20:53:24 #726 №2676519 
>>2676517
Я когда вкатывался(1.5 года назад)
Было 7 собесов и 4 оффера
Аноним 19/04/23 Срд 21:11:43 #727 №2676545 
>>2676358
Адаптер.
Фасад.
Наблюдатель.
Фабрика.
Мож еще что но сразу не вспомню.
Аноним 19/04/23 Срд 21:27:51 #728 №2676563 
>>2676517
Нет никакой нормы, здесь как повезёт.
Аноним 19/04/23 Срд 21:33:17 #729 №2676574 
.png
>>2676502
Здесь иногда бегает менеджер по продажам из этой шараги, его посты трут в течение дня. Я по фану зашёл на их сайт, увидел пикрил и охуел, это ж насколько надо отчаяться, чтобы подписаться на такое. Куча книг и курсов лежит в открытом доступе, с нуля за полгода можно вкатиться, если есть интерес, и никому платить не надо.
Аноним 19/04/23 Срд 21:54:03 #730 №2676616 DELETED
>>2676517
>>какое у вкатуна должно быть соотношение отказов к приглашениям на собесу?
100 : 0 потом обратно на кассу
Аноним 19/04/23 Срд 21:56:53 #731 №2676621 DELETED
>>2676574
Интересно как они эти 17% собираются оформлять с точки зрения закона.
Аноним 19/04/23 Срд 22:13:18 #732 №2676642 
>>2676621
Видимо, как частное агентство занятости, наверняка в одном из законов или постановлений правительства есть подходящие пункты.
Аноним 19/04/23 Срд 23:20:35 #733 №2676675 
Расскажите плиз, в чем заключается DDD, в гугле не понятно
Аноним 20/04/23 Чтв 00:21:14 #734 №2676700 
>>2676675
В джаве нет DDD.
Аноним 20/04/23 Чтв 00:23:34 #735 №2676701 
>>2676675
Никому не понятно, максимально расплывчатый и бесполезный термин. Просто модно говорить про него.
Аноним 20/04/23 Чтв 00:27:47 #736 №2676702 
>>2676517
Как это, отказы без собеседования ??
Аноним 20/04/23 Чтв 02:19:25 #737 №2676713 
>>2676545
Нахуя тебе адаптер и визитор?
Аноним 20/04/23 Чтв 03:35:05 #738 №2676724 
>>2676358
Билдер
Стратегия
Фабрика
Аноним 20/04/23 Чтв 06:15:45 #739 №2676741 
>>2676713
Импорт-экспорт файлов в разные форматы и потоки
Аноним 20/04/23 Чтв 07:28:05 #740 №2676757 
>>2676675
give a way to a fool
Аноним 20/04/23 Чтв 14:37:52 #741 №2677054 
Screenshot2.png
>>2656861
Вот кстати как это выглядит в дженкинсе
Аноним 20/04/23 Чтв 15:07:52 #742 №2677096 
Как происходит вкат если нет друзей программуль? Вот осваиваю курс по какому либо языку, и ведь по идее нужно хоть что-то склепать самостоятельно, приложение игру и тд?
Аноним 20/04/23 Чтв 15:12:09 #743 №2677103 
>>2677096
> что-то склепать самостоятельно
Причем здесь >друзья програмули ?
Аноним 20/04/23 Чтв 15:17:31 #744 №2677107 
В книге "Head first" описано, как реализовать паттерн builder. На данном веб-сайте https://refactoring.guru/ru/design-patterns/java, совсем по другому описана реализация данного паттерна. Так какую же реализацию мне использовать ?
Аноним 20/04/23 Чтв 15:21:30 #745 №2677110 
>>2677103
Потому что есть дальние знакомые которых по связям просто после курсов взяли в компанию джуном. Очевидно если таких связей нет после курсов то нужно что-то сделать.
Аноним 20/04/23 Чтв 15:23:19 #746 №2677112 
пиздец какие же вкатуны дегенераты сука тупые я ахуеваю блядь
Аноним 20/04/23 Чтв 15:28:44 #747 №2677120 
почему постман такое говно тяжеловесное? сука аж трисет
Аноним 20/04/23 Чтв 15:29:55 #748 №2677123 
почему идеа такое говно тяжеловесное? сука аж трисет
Аноним 20/04/23 Чтв 15:40:34 #749 №2677130 
>>2677110
>по связям просто после курсов взяли в компанию джуном
Гомно.
Аноним 20/04/23 Чтв 15:54:43 #750 №2677140 
>>2677120
Curlык curlык
Аноним 20/04/23 Чтв 18:07:09 #751 №2677266 
>>2677120
перепиши на свин г и апаче хттп компонентс
Аноним 20/04/23 Чтв 18:22:07 #752 №2677297 
>>2677120
Юзай jmeter как ч.
В нем и автоматизация есть вполне норм.
А вот soapui так нихуя я замены не нашел
Аноним 20/04/23 Чтв 20:27:33 #753 №2677446 
Аноны, что про вот эту вакуху думаете:

https://hh.ru/vacancy/75529244

Наебалово какое-то с разводом на платное обучение или норм?
Аноним 20/04/23 Чтв 20:29:50 #754 №2677450 
>>2677446
как я понял это и есть платное или может даже бесплатное обучение без последующего трудоустройства. В епаме было подобное
Аноним 20/04/23 Чтв 20:57:30 #755 №2677468 
>>2677123
Тому что написана на джэве
Аноним 20/04/23 Чтв 21:00:07 #756 №2677471 
>>2677123
Потому что в жидбрейнсе нет программистов
Аноним 20/04/23 Чтв 21:23:04 #757 №2677487 
.png
>>2677468
Надо добавить в божественную вижуалстудию поддержку жабы, тогда про злоебучую идею можно будет забыть.
Аноним 20/04/23 Чтв 21:33:56 #758 №2677496 
Мне нужно каждые 20 секунд дергать рест пока я не получу что надо, при этом программа не должна заниматься только этим процессом, какой вариант лучше всего для этой задачи?
Аноним 20/04/23 Чтв 21:39:10 #759 №2677498 
image.png
>>2677496
Для этой задачи лучше дергать письку.
Аноним 20/04/23 Чтв 21:55:47 #760 №2677510 
>>2677487
О, а это интересно...
Аноним 20/04/23 Чтв 21:56:25 #761 №2677513 
Если я использую паттерн Декоратор, нужно использовать в названии класса Decorator ?
Аноним 20/04/23 Чтв 22:00:49 #762 №2677514 
>>2677496
Создай отдельный тред под это йопта. И дергай в нем что-угодно и как часто.
Аноним 20/04/23 Чтв 22:09:49 #763 №2677520 
>>2677513
Классы, имена которых заканчиваются на "er" это антипаттерн.
Аноним 20/04/23 Чтв 22:11:57 #764 №2677523 
>>2677496
Можешь сконфигурировать @Scheduled, выделив ему свой пулл тредов. Либо бери Quartz. Вариантов много.
Аноним 20/04/23 Чтв 22:14:42 #765 №2677528 
>>2677514
Проблема в том, что результат дерганья должен быть обработан и если не получено что надо дергаться с интервалом дальше, имеет место быть рекурсия. Кроме того, тот кто вызвал этот метод он не может все время ждать и держать соединение, т.е. типа по апи пришел вызов, создался отдельный поток который его выполняет и если я из этого потока созда другой, то это хуйня идея, основной завершится по таймауту. Отправлять запрос по расписанию тоже не вариант, запрос содержит параметры поступающие из основного потока и при получении нудной иинфы должен завершится.
Аноним 20/04/23 Чтв 22:37:33 #766 №2677546 
>>2677528
> Отправлять запрос по расписанию тоже не вариант, запрос содержит параметры поступающие из основного потока и при получении нудной иинфы должен завершится.
А в чём проблема? В основном потоке кладёшь параметры в общее хранилище, например, в БД, причём указываешь статус "ожидает обработки", а из потока, который крутится по расписанию, запрашиваешь эти параметры из хранилища с таким же статусом, дёргаешь REST, если успех, обновляешь статус на "обработано" (либо без статусов просто удаляешь параметры), если не успех, статус не трогаешь.
Аноним 20/04/23 Чтв 22:53:28 #767 №2677571 
>>2677546
пиздец
Аноним 20/04/23 Чтв 22:55:02 #768 №2677573 
>>2677546
>а из потока, который крутится по расписанию, запрашиваешь эти параметры из хранилища с таким же статусом, дёргаешь REST
Да, как вариант, я ограничен по кол-ву потоков, но я могу из БД получить все записи в ожидающем статусе и отправить их рестом. Спасибо, наверное это самое оптимальное, а то я уже начал думать как нагородить какую-то очередь
Аноним 21/04/23 Птн 08:10:32 #769 №2677701 
>>2677496
>какой вариант лучше всего для этой задачи?
Перестать заниматься программированием. Очевидно, что это просто не твое, если у тебя настолько простые задачи вызывают проблемы. Устройся грузаном или начни таксовать. Иными словами - найди занятие, которое соответствует твоему уровню интеллекта
Аноним 21/04/23 Птн 08:48:22 #770 №2677711 
>>2677546
Очередь на бд есть смысл делать только если задача обсчитывается самой бд. Например хранимка делающая закрытие опердени или еще что.
Иначе лучше хранить стейт инмемори в приложении(дистрибутед инмемори кеш если кластер с раундробином на балансере)
sage[mailto:sage] Аноним 21/04/23 Птн 08:59:13 #771 №2677714 
Аноны, ни у кого не сохранилось конспекта книги по многопоточности в формате хранилища Obsidian.md, который постили в /b/ на прошлой неделе?
Аноним 21/04/23 Птн 08:59:56 #772 №2677715 
>>2676358
Интерфейс.

Серьёзно, никакие паттерны не нужны, если ты умеешь пользоваться интерфейсами.
Аноним 21/04/23 Птн 09:00:02 #773 №2677716 
>>2677711
Если и инмемори, надо ещё обязательно проверить, что сообщение сразу сохранилось на диск при создании задачи, а не где-нибудь потом через 10 минут.
sage[mailto:sage] Аноним 21/04/23 Птн 09:01:47 #774 №2677718 
image.png
image.png
>>2677714
Картинка для привлечения внимания к такой важной проблеме.
Captcha: ярлык.
Аноним 21/04/23 Птн 09:03:18 #775 №2677719 
>>2677711
что случится с твоей очередью в случае рестарта приложения?
Аноним 21/04/23 Птн 09:03:41 #776 №2677721 
>>2677715
>если ты умеешь пользоваться интерфейсами.
>интерфейс МайСервис, класс МайСервисИмпл имплементс МайСервис!
Книжечку Ункла Бэба уже навернул, джавамуха?
Аноним 21/04/23 Птн 09:05:49 #777 №2677723 
>>2677721
Я не понял, а че тебя так разворотило-то?
Аноним 21/04/23 Птн 09:21:43 #778 №2677736 
>>2677723
>вжж-жжж-вж-вж-жжжж?
Говорите громче! Вас не слышно!
Аноним 21/04/23 Птн 09:25:45 #779 №2677741 
>>2677736
Да я тебе просто личину в глаз отложу, чтоб детки тебя сожрали заживо. Благо череп не занят, будет где им поселиться.
Аноним 21/04/23 Птн 09:37:33 #780 №2677752 
>>2677736
Ебанутый...
Аноним 21/04/23 Птн 09:54:52 #781 №2677755 
,
Аноним 21/04/23 Птн 11:44:47 #782 №2677807 
>>2676300
У тебя с @Entity никаких ошибок нет?
Аноним 21/04/23 Птн 14:58:50 #783 №2677918 
>>2677721
>Книжечку Ункла Бэба
Какую ещё книжечку ?
Аноним 21/04/23 Птн 14:59:20 #784 №2677919 
Подскажите пожалуйста, что такое "Выходные аргументы функции" ?
Аноним 21/04/23 Птн 15:00:14 #785 №2677921 
>>2677919
Это возвращаемое значение на скуфо-байтоёбском.
Аноним 21/04/23 Птн 15:21:07 #786 №2677942 
>>2676724
Этого двачую, только фабрика бесполезное говно, нахуя он нужен?
Аноним 21/04/23 Птн 15:44:54 #787 №2677968 
>>2677919
Выходные это суббота-воскресенье.
Аноним 21/04/23 Птн 15:58:01 #788 №2677986 
>>2677919
Это тот микрочел который стоит между скобочкой и 44 аннотациями
Аноним 21/04/23 Птн 18:44:38 #789 №2678114 
>>2677701
>Перестать заниматься программированием
Зачем? Мне нравится получать две сотыги
Аноним 21/04/23 Птн 19:36:43 #790 №2678149 
>>2677701
Пчел, тут вопрос про архитектуру, а не о том, какую волшебную аннотацию хуйнуть, чтобы было заебись.
Аноним 21/04/23 Птн 20:39:49 #791 №2678209 
Хочу замапить в хибере две сущности, чтобы у дочерней был форин кей на родительский филд и это еще и был ее айди. Как такое провернуть в хуйбернейте?

Только давайте без советов выпилить хибер из проекта, если бы я мог…
Аноним 21/04/23 Птн 20:42:08 #792 №2678211 
>>2678209
OneToOne отношение. Погугли как в хибере оформить
Аноним 21/04/23 Птн 20:43:01 #793 №2678213 
>>2677716
>>2677719
Все норм будет.
Данные ж в мемкаше иши редиче или что там ща модно как инмемори дистрибутед кеш
Аноним 21/04/23 Птн 20:44:03 #794 №2678216 
>>2678211
Я понимаю, что ван ту ван, мне нужно, чтобы дочерняя именно через свой айдишник ссылалась на родительскую
Аноним 21/04/23 Птн 21:01:44 #795 №2678230 
>>2678216
нах?
Аноним 21/04/23 Птн 21:01:49 #796 №2678231 
>>2678216
Ну ебать, че ответить не можете
Аноним 21/04/23 Птн 21:04:51 #797 №2678232 
>>2678230
Ну мне такую схему нарисовали, я ебу шоль
Аноним 21/04/23 Птн 21:05:51 #798 №2678235 
>>2678232
скажи что схема хуйня пусть переделываютч
Аноним 21/04/23 Птн 21:10:17 #799 №2678240 
>>2678235
Ну по сути у дочерней сущности айдишник свой айдишник как будто лишний
Аноним 21/04/23 Птн 23:35:53 #800 №2678324 
Когда я делаю построение проекта и запускаю его с консоли, по отладке видно, что jvm не заходит в блок try catch который определён в конструкторе, почему так ?
Аноним 22/04/23 Суб 00:06:57 #801 №2678331 
>>2678324
Быть такого не может, ты либо запускаешь не ту сборку, либо эксепшен кидается раньше, чем ожидаешь.
Аноним 22/04/23 Суб 00:41:41 #802 №2678338 
>>2678324
>Когда я делаю построение
Ты в армии что ли?
Аноним 22/04/23 Суб 06:48:36 #803 №2678385 
1676820083521465.png
>>2677718
https://www.youtube.com/watch?v=baKCC2uTbRc
Аноним 22/04/23 Суб 10:50:07 #804 №2678432 
>>2677807
нет. манипуляции с созданной вручную бд проходят успешно
Аноним 22/04/23 Суб 10:53:52 #805 №2678435 
>>2678385
Двачую. Сам храню все свои заметки в .txt/.yml файлах.
sage[mailto:sage] Аноним 22/04/23 Суб 11:00:27 #806 №2678438 
>>2678209
Соотношения и foreign keys — антипаттерн. Запрещено перекладывать логику на БД и ORM.
Аноним 22/04/23 Суб 11:00:42 #807 №2678439 
>>2678438
Уголь прилип.
Аноним 22/04/23 Суб 11:18:23 #808 №2678444 
>>2678432
вернее с созданными таблицами*
Аноним 22/04/23 Суб 12:02:26 #809 №2678475 
>>2678385
Сейчас бы в 2к23 не прорабатывать книги и документацию, лол. Если ты просто читаешь, то ты так ничему не научишься и не запомнишь. Нужно составлять интерактивные конспекты и карточки в Anki, а затем это все повторять с разной периодичностью.
Аноним 22/04/23 Суб 12:16:20 #810 №2678485 
>>2678438
Чево бля? Мне просто нужно сделать дефолт ван ту ван, только, чтобы у дочерней ссылка была еще и айдишником
Аноним 22/04/23 Суб 12:40:31 #811 №2678500 
>>2678209
Иди доку почитай,ты что совсем дегенерат? У меня создаётся впечатление что залетухи используют этот тред вместо гугла,скоро будут спрашивать как переменную объявить
Аноним 22/04/23 Суб 13:18:19 #812 №2678540 
>>2678500
Пиздатый совет, долбоеб тупой, если сам нихуя не знаешь, так не пиши ничего. А то высрал хуйню и считаешь себя охуенно умным.
Аноним 22/04/23 Суб 13:39:12 #813 №2678563 
>>2652132
А как же Open Source репозитории на гитхаб ? Им тоже собак накидывают в ветку ?
Аноним 22/04/23 Суб 15:38:02 #814 №2678651 
В энтерпрайзе реально используются спринг дата репозитории? Это же раздувающаяся тысячами методов хуйня без задач.
Аноним 22/04/23 Суб 15:45:27 #815 №2678659 
>>2678651
А минусы будут?
Аноним 22/04/23 Суб 15:46:10 #816 №2678660 
Добрый день всем. Недавно начал изучать жабу, поэтому сильно не кидайтесь калом. Пишу проект (что-то вроде приложения, где ученики делают задания, которые выдает преподаватель). Реализовал все как хотел. Но теперь у меня появилось желание добавить фичу, которая есть например на литкоде и кодварсе, то есть автоматическая проверка кода, который отправляет ученик преподу. Как это реализовать? Помоги, анонче
Аноним 22/04/23 Суб 15:47:47 #817 №2678661 DELETED
>>2678651
Да, в вакансия часто пишут про орм.
Аноним 22/04/23 Суб 15:50:55 #818 №2678667 
>>2678651
>Это же раздувающаяся тысячами методов хуйня без задач.
тыскозал?
sage[mailto:sage] Аноним 22/04/23 Суб 16:04:43 #819 №2678681 
image.png
>>2678385
Ну да, да.

Видео не смотрел.
sage[mailto:sage] Аноним 22/04/23 Суб 16:08:21 #820 №2678689 
>>2678660
Есть такая хуйня как JUnit или что. Или assert метод. То есть ученик скидывает тебе залупу на воротник. А ты такой сравниваешь его залупу с эталонной залупой. Если заебись, то заебись. Ну а нет, так пидора ответ. Можешь через (otvet == input) делать или как. Типа главное чтобы что? Чтобы эта хуйня компилировалась. То есть он шлёт тебе код, а ты компилируешь у себя на компе. Затем ты... что там... А, ну да. Затем ты обращаешься к его методам с помощью тестов как раз. И если тесты пройдены, то заебись, ну да. Понятно? Он присылает, ты проверяешь. Ничего сложного.
sage[mailto:sage] Аноним 22/04/23 Суб 16:10:02 #821 №2678691 
>>2678689
Ебать я спизданул...
Аноним 22/04/23 Суб 17:59:50 #822 №2678746 
Так че, как замапить дочернюю сущность через поле айди?
Аноним 22/04/23 Суб 18:00:54 #823 №2678747 
>>2678651
Лол,ебать ты эксперт
Аноним 22/04/23 Суб 18:01:48 #824 №2678749 
>>2678746
Лет ми гугл фо ю
Аноним 22/04/23 Суб 18:45:16 #825 №2678774 
>>2678746
ты ебланище
Аноним 22/04/23 Суб 18:51:56 #826 №2678781 
Есть линкус на флешке, при запуске приложения на swing которое использует несколько дочерних потоков для отображения интерфейса, оно начинает тупить. Хотя на windows всё нормально работает. Это из-за слабой флешки ?
Аноним 22/04/23 Суб 18:55:20 #827 №2678785 
>>2678781
да у флешки мало ядер
Аноним 22/04/23 Суб 19:14:41 #828 №2678799 
>>2678774
Почему
Аноним 22/04/23 Суб 19:19:17 #829 №2678801 
>>2678747
По факту есть что сказать?
Аноним 22/04/23 Суб 20:07:58 #830 №2678826 
>>2678781
Это из-за неактуальности swing. Сейчас стандарт UI это Avalonia на сишарпе
Аноним 22/04/23 Суб 20:15:19 #831 №2678828 
>>2678826
Стандарт UI - это веб.
Десктопные гуи - это какая-то хуйня из 2008.
Аноним 22/04/23 Суб 20:46:29 #832 №2678843 
>>2657060
>но та даже не умеет текст анализировать и строить деревья
Чё ебанулся, долбаеб? В студии просто на голову выше автокомплит в виде интелисенса, который за тебя бойлерплейты пишет из коробки
Аноним 22/04/23 Суб 21:31:18 #833 №2678859 
>>2678826
>>2678828
Вы ошибаетесь, стандарт, это lwjgl 3 !
Аноним 22/04/23 Суб 23:58:16 #834 №2678917 
У меня есть сущность, в которой есть уникальное поле (не айди) и еще одна сущность. Как в хибере связать эти сущности не через айди, а именно через этот уникальный филд?
Аноним 23/04/23 Вск 00:03:11 #835 №2678921 
>>2678917
Ух как ты заебал со своим хибернейтом, раз у тебя так много вопросов по нему, прочитай талмуд на 1000 страниц вместо того, чтобы срать вопросами.
Аноним 23/04/23 Вск 00:07:02 #836 №2678923 
>>2678921
Не зря все говорят, что хибер говно тупое
Аноним 23/04/23 Вск 03:18:19 #837 №2678975 
>>2678923
Так и есть. Ждбс твой бро
Аноним 23/04/23 Вск 06:38:36 #838 №2678980 
>>2678917
referencesColumnName
Аноним 23/04/23 Вск 11:19:12 #839 №2679075 
>>2678651
Так говоришь, как будто энтерпрайз это и не есть раздутая бесполезной тысячей методой хуйня.
Аноним 23/04/23 Вск 11:23:33 #840 №2679081 
>>2678826
>>2678828
Как же вы заебали, шизофреники ёбаные. Анон разве спрашивал про стандарты?
Аноним 23/04/23 Вск 16:11:07 #841 №2679293 
Подскажите пожалуйста, почему НЕЛЬЗЯ переопределять статические методы ?
Аноним 23/04/23 Вск 17:12:01 #842 №2679330 
>>2678917
OneToMany\ManyToOne и JoinColumn читай.
А вообще открываешь чат гпт и задаёшь ему вопросы, профит
Аноним 23/04/23 Вск 17:15:34 #843 №2679335 
>>2679293
Статическмх методов вообще не должно быть, потому что они не вписываются в ООП, и хуй знает, как их наследовать и переопределять. Вместо них должны быть функции.
Аноним 23/04/23 Вск 19:27:31 #844 №2679478 
>>2679335
Статические функции ? Так почему нельзя их переопределить, помимо того, что они принадлежат классу ?
Аноним 23/04/23 Вск 19:45:55 #845 №2679502 
>>2679478
Как ты функцию собрался переопределять? Может, тебе ещё и int переопределить?
Аноним 23/04/23 Вск 20:22:29 #846 №2679532 
>>2679502
Никто не знает...
Аноним 23/04/23 Вск 20:31:29 #847 №2679536 DELETED
>>2679335
>>Вместо них должны быть функции.
А чистая функция это и есть статический метод.
Аноним 23/04/23 Вск 20:35:03 #848 №2679540 
>>2679536
Статический метод - это костыль, потому что Ораклу лень добавить функции.
Аноним 23/04/23 Вск 20:48:51 #849 №2679552 
>>2679335
>потому что они не вписываются в ООП
придумали ООП с наследованием и объектами и теперь пытаются впихнуть в каждую дырку, даже если не впихивается
Аноним 23/04/23 Вск 20:52:40 #850 №2679555 
>>2679552
Запилили язык в те времена, когда ООП было на вершине хайпа, считалось, что это серебряная пуля и единственная парадигма, которая останется в будущем. Хорошо ещё, что не все языки на это повелись.
Аноним 23/04/23 Вск 20:53:55 #851 №2679557 
>>2679555
Так фактически так и есть. Что, если не ООП?
Аноним 23/04/23 Вск 20:55:13 #852 №2679558 
>>2679557
процедуры и чистые функции
Аноним 23/04/23 Вск 20:58:15 #853 №2679563 
>>2679558
Ну-ка, ёбни мне вот это на процедурах и чистых функциях, манька.

https://pastebin.com/7HNv32KK
Аноним 23/04/23 Вск 20:58:39 #854 №2679564 
image.png
image.png
image.png
блять, почему тупорылый хибернейт пытается все равно смапить с айдишником персона, а не стринговым полем, как я ему и указал в референсколумпнейме?

или это я тупорылый? если да, объясните, че делаю не так
Аноним 23/04/23 Вск 21:17:03 #855 №2679584 
>>2679564
Пиздуй читать книги, сука.
Аноним 23/04/23 Вск 21:24:08 #856 №2679587 
>>2679563
что должно делать это говно?
Аноним 23/04/23 Вск 21:30:16 #857 №2679591 
>>2679584
да нет в книгах нихуя, в ином случае, мне такие читатели талмудов как ты уже давно бы все подсказали
Аноним 23/04/23 Вск 21:49:44 #858 №2679602 
>>2679564
Нахуя ты лепишь @PrimaryKeyJoinColumn в этой ситуации
Ты вообще задумываешься над своими действиями или просто пробуешь все аннотации подряд?
Аноним 23/04/23 Вск 21:58:03 #859 №2679606 
>>2679587
Ровно то, что написано в декларативном коде, который объясняет сам себя.
Аноним 23/04/23 Вск 22:01:20 #860 №2679608 
>>2679587
Да Бугаенкер его знает.
Аноним 23/04/23 Вск 22:08:08 #861 №2679617 
>>2679602
Потому что мне нужно, чтобы айди у аплоадинг был равен вторичному филду у персона, я дохуя всего перепробовал, в доку залез - там нихуя, гопота не понимает или не знает, че от нее хотят
Аноним 24/04/23 Пнд 00:09:51 #862 №2679654 DELETED
>>2679540
Так в чем разница спринг бина с методами от статических методов?
Аноним 24/04/23 Пнд 00:30:37 #863 №2679661 
>>2679654
Ни в чем, причем тут спригохуйня?
Аноним 24/04/23 Пнд 00:32:14 #864 №2679662 
.png
>>2679654
Нет разницы. Всё равно, на чём писать процедурщину, хоть на спринге, хоть в статиках.
Аноним 24/04/23 Пнд 00:34:13 #865 №2679663 DELETED
>>2679661
>>спригохуйня
Егор это ты? Узнал тебя по твоим шизоидным высерам.
Аноним 24/04/23 Пнд 00:35:25 #866 №2679664 
>>2679663
Моментальный триггер спрингокультиста, лол.
Аноним 24/04/23 Пнд 01:03:09 #867 №2679675 DELETED
>>2679664
В современном мире только Егорка и его культисты цепляются за дидовый ООП из джавы 7.
Аноним 24/04/23 Пнд 01:09:35 #868 №2679679 
>>2679675
Че?
Аноним 24/04/23 Пнд 07:10:16 #869 №2679710 
>>2679654
Бин не обязательно имеет один экземпляр, он «статический» по умолчанию, но можно настроить чтоб создавался каждый раз
Аноним 24/04/23 Пнд 07:43:49 #870 №2679714 
>>2679591
Нахуя тебе подсказывать.
Макака должна страдать.
Пиздуй на завод
Аноним 24/04/23 Пнд 12:22:03 #871 №2679835 DELETED
>>2679710
Речь о синглтоне, а бин с дефолтным скоупом как пример.
Аноним 24/04/23 Пнд 14:21:36 #872 №2679949 
>>2679714
Я тебя вздрючу
Аноним 24/04/23 Пнд 14:31:50 #873 №2679956 
>>2679591
Ебанат безмозглый,никто не будет тебе объяснять элементарные вещи,ты настолько никчёмный что даже загуглить не в состоянии,ни то что книгу прочитать. Возвращайся на кассу в кб где тебе самое место
Аноним 24/04/23 Пнд 14:32:33 #874 №2679960 
>>2679617
Какой же ты тупой,надеюсь это троллинг
Аноним 24/04/23 Пнд 14:53:06 #875 №2679990 
>>2679956
Обьяснил твоей мамаше за щеку сегодня, еблан тупоголовый. Ты же нихуя сам не знаешь, дегенератина

Ссылку в тред в течении 5 минут на решение проблемы или клеймо пиздабола на тебе до конца жизни, уеба)
Аноним 24/04/23 Пнд 14:56:47 #876 №2679996 
>>2679990
Конечно конечно,уже бегу гуглить за тебя,залетуха пустоголовая
Аноним 24/04/23 Пнд 15:35:19 #877 №2680030 
image.png
>>2677714
MUBP VORPOSE
Аноним 24/04/23 Пнд 17:41:44 #878 №2680154 
Подскажите пожалуйста, паттерн прокси заключается в том, что-бы использовать промежуточный класс, внутри которого результат работы функций смежного класса заносится в кеш ?
Аноним 24/04/23 Пнд 17:42:48 #879 №2680156 
image.png
>>2680154
прокси это когда к сайту не можешь подклюбчится и врубаешь прокси
Аноним 24/04/23 Пнд 17:49:06 #880 №2680163 
>>2680156
Да.
Аноним 24/04/23 Пнд 17:54:37 #881 №2680169 
>>2680154
Нет, кеш тут ваще не при чём.
Аноним 24/04/23 Пнд 18:41:04 #882 №2680231 
>>2679949
Мне два бигтейсти и пирожок с вишней. И американо
Аноним 24/04/23 Пнд 20:06:54 #883 №2680308 
>>2680154
Прокси это когда надо на лету добавить новые процедуры в процедурный сервис процедур.
Аноним 24/04/23 Пнд 20:10:12 #884 №2680312 
>>2680231
Чипсы и коко колу пожалуйста.
Аноним 24/04/23 Пнд 23:13:25 #885 №2680454 
>>2680231
>>2680312
Ты так не налегай на фастфуд и так жирная свинья, скоро по кнопкам уже попадать не сможешь, чтоб очередной круд за две недели состряпать
Аноним 25/04/23 Втр 00:27:36 #886 №2680480 
Вопрос с собеса. Есть класс А, который содержит метод addBlock(String value),
класс В вызывает метод addBlock и нужно положить туда значение. Я хочу вынести значение в константу, где обьявить константу, в классе А или В ?
Ваши мысли ?
Аноним 25/04/23 Втр 00:46:35 #887 №2680484 
.png
>>2680480
Что такое A, что такое B, что за значение? Что делает метод addBlock(), что за блоки? Где ещё может понадобиться эта константа? Нихуя не понятно. С такой постановкой задач я бы им сам не перезвонил.
Аноним 25/04/23 Втр 01:09:50 #888 №2680489 
>>2680480
Вынес бы в интерфейс, где обьединил бы все связаные с бизнес-логикой или доменом константы
Аноним 25/04/23 Втр 10:22:11 #889 №2680608 
Есть список залуп в одном микросервисе и характеристики залуп в другом.
Как сортировать залупы по характеристикам для передачи на фронт?
Делать эндпоинт на гейтвее, в котором ходить сначала за залупами, потом за их характеристиками, объединять вместе и отдавать?
Аноним 25/04/23 Втр 12:58:37 #890 №2680750 DELETED
>>2680608
Надо написать микросервис залуп, который будет ими заниматься,
Аноним 25/04/23 Втр 15:31:41 #891 №2680898 
>>2680480
Спросить встречный вопрос: "Нахуя? Чтобы что? Какую проблему решаем?"

Решить для себя по ответу - стоит ли продолжать собес, или дропать.
Аноним 25/04/23 Втр 15:39:54 #892 №2680910 
>>2680608
При такой постановке задачи адекватно отсортировать можно только на фронтенде. На худой конец - как ты описал, на гейтвее, но перегружать гейтвей логикой - хуевое решение.

Один хуй проблема архитектурная - микросервисы скорее всего раздроблены там, где не надо было. Почему характеристики залуп отделены от самих залуп?

Еще такая дилемма возникает тогда, когда люди впадают в крайность типа "микросервисы не должны дублировать никакие данные". Типа, что если характеристики залуп есть в одном сервисе, они ни в коем случае не должны дублироваться в другом. Это - хуевая ментальность. Дублирование данных между микросервисами - это обыденность и неизбежность. Избегать ее любой ценой == попадать вот в такие вот ситуации, когда логически нужно сделать джойн, а нет ни данных ни SQLя. Одни зашоренные ресты.
Аноним 25/04/23 Втр 16:09:28 #893 №2680959 
Почему когда я пишу над классом import static java.lang.Math.*;
Строка исчезает просто :/
Установлена Intellij idea.
Аноним 25/04/23 Втр 21:41:31 #894 №2681271 
>>2680959
Community или Ultimate?
Аноним 25/04/23 Втр 23:18:58 #895 №2681338 
>>2681271
Community. Там была включена функция удаления неиспользуемых импортов.
Аноним 25/04/23 Втр 23:22:49 #896 №2681343 
>>2681338
Скучно, что нет функции автоматического удаления неиспользуемого кода. Не успел создать класс, а дохуя умная ИДЕ его уже удалила.
Аноним 26/04/23 Срд 00:06:46 #897 №2681375 
А как модельки с pytorch переносят на джаву? Какой метод самый православный?
Аноним 26/04/23 Срд 00:23:24 #898 №2681394 
>>2681375
Спрашивай в треде машоба, здесь одни бэкендеры сидят.
Аноним 26/04/23 Срд 05:29:14 #899 №2681477 
>>2680959
>>2681338
А зачем ты импорты прописываешь вручную? Вводишь допустим тип переменной и жмёшь alt+enter
Аноним 26/04/23 Срд 09:11:33 #900 №2681540 
>>2681343
Надо ещё оптимизировать эту функцию, чтобы не постоянно на неиспользуемость проверяла, а раз в 30 минут.
Аноним 26/04/23 Срд 09:21:42 #901 №2681549 
Аноны, как вкатуну попасть на онлайн собес вообще? Не устроиться, а хотя бы начать попадать на собесы? Я уже много времени каждое утро прокликиваю новые вакансии на хх, ни разу не позвали. 32 года, неоконченное гуманитарное высшее, не работал в технической сфере ни разу, живу в сибирском полумиллионнике, работы для джависта здесь нет. В резюме стоит, что готов к переезду. Что мне можно наврать, чтобы приглашать стали, может выдумать техническую вышку, выдумать что работал всякими сис. админами или инженегром? Поставить что живу в Москве? Занизить возраст? Или это все не имеет значения? Пока задача только ходить на собесы, чтобы знать что там и как и набить скилл по их прохождению. Посоветуйте, поделитесь опытом, плиз.
Аноним 26/04/23 Срд 09:30:21 #902 №2681552 
>>2651134 (OP)
>Just stop wasting time with Java and any of its many derivatives. Leave it where it belongs: poorly educating students in uni with terrible OOP practices that’ll take 5-10 years to unwind.
>sbt, gradle has left me with bad memories, working on jvm is a stain on my life

Немного базы
Аноним 26/04/23 Срд 09:31:00 #903 №2681553 
>>2681552
>sbt, gradle has left me with bad memories
Причем тут Жаба?
Аноним 26/04/23 Срд 09:32:23 #904 №2681554 
>>2681549
>32 года, неоконченное гуманитарное высшее, не работал в технической сфере ни разу, живу в сибирском полумиллионнике, работы для джависта здесь нет

аххххххапххапахх
Аноним 26/04/23 Срд 09:32:23 #905 №2681555 
>>2681552
Да я в рот ебал жабу, но альтернативы ещё хуже, либо работы нет.
Аноним 26/04/23 Срд 09:37:42 #906 №2681556 
>>2681552
>>2681554
Опять ты на связь выходишь?
Аноним 26/04/23 Срд 10:45:17 #907 №2681603 
Техлид. Написал ~150к строк кода. 2 года опыта. Только сейчас узнал о ReadWriteLock (слышал и раньше, но не вдавался в подробности, что это такое). Почему этой базище не рассказывают при скачивании JDK?
Аноним 26/04/23 Срд 10:55:28 #908 №2681607 
>>2681552
Коллега, это вы hacker news читаете? Последние годы там аудитория резко сменилась на соевых реддиторов, так что мнение комментаторов имеет низкую ценность. Хотя тут конечно сыглы с челом
Аноним 26/04/23 Срд 11:06:44 #909 №2681615 
Открыл вики треда для редактирования всеми.

уже давненько ушедший на пенсию оп-хуй
Аноним 26/04/23 Срд 11:45:53 #910 №2681639 
>>2681603
Вкатун. Написал пару тыщ строк кода. Узнал о ReadWriteLock еще на своих первых говнокурсах.

Вообще, у меня, вкатыша, ощущение, что большинство из того что есть в базовых либах жабы/спринга нахер никогда не понадобится.
Аноним 26/04/23 Срд 12:21:02 #911 №2681657 
>>2681639
Не думай так больше. Стандартную библиотеку Java надо увеличить в 10 раз минимум.
Аноним 26/04/23 Срд 12:32:03 #912 №2681666 
>>2681603
потомучто
Аноним 26/04/23 Срд 12:49:34 #913 №2681689 
>>2681657
Но сначала отрефакторить и выбросить обратную совместимость нахуй иначе язык не доживет до 2025
Аноним 26/04/23 Срд 12:52:22 #914 №2681694 
>>2681689
Я уверен, кто-то так говорил про 2005.
Аноним 26/04/23 Срд 12:59:45 #915 №2681706 
>>2681694
Нет, в то время говорили:
>Нахуй нам эта ваша неизвестная джава без экосистемы если есть делфи, плюсы и бэйсик? Через пару лет хайп спадет и разработчиков не найдем
Это как сейчас скуфы твердят о ненужности котлина, голанга и шарпа, а эти языки всего за пару лет откусили огромный кусок от рынка джавы
Аноним 26/04/23 Срд 13:01:07 #916 №2681714 
>>2681706
Это говорили в 1996.
Аноним 26/04/23 Срд 13:25:58 #917 №2681746 
>>2681706
>эти языки всего за пару лет откусили огромный кусок от рынка джавы
лол
Аноним 26/04/23 Срд 13:35:37 #918 №2681756 
>>2681706
Нука клоун показывай банковские опердени на говне..
Аноним 26/04/23 Срд 14:11:54 #919 №2681781 
Кто прочитал книгу "Эффективное программирование" в русском переводе, ваши мысли ?
Аноним 26/04/23 Срд 15:21:25 #920 №2681852 
>>2681781
Хуета
Аноним 26/04/23 Срд 15:42:00 #921 №2681909 
>>2681603
Сейчас большинство так называемых сеньоров и миддлов - самозванцы, которые занимают рабочие места. Наверное, таких 90%. В то время как по-настоящему умные люди, которые в совершенстве знают алгоритмы, многопоточку, математику, архитектуру, как я, не могут устроиться на работу. Единственная надежда, что всех этих так называемых сеньоров мобилизуют на фронт и их места займут достойные
Аноним 26/04/23 Срд 15:45:12 #922 №2681912 
>>2681603
>Техлид
>2 года опыта
:)
Аноним 26/04/23 Срд 16:02:08 #923 №2681936 
>>2681909
Верно. Только я не из таких.

>>2681912
Мне повезло найти кабана, который как бизнес-практику использует риск. В моем случае он тоже рискнул.
Аноним 26/04/23 Срд 16:03:51 #924 №2681941 
>>2681936
>В моем случае он тоже рискнул
Да, я уже заметил. "Техлид" с двумя годами опыта что-то там наговнокодил на полторы тысячи строк говнокода и узнал про ReadWriteLock, лол. Зачем ты туда полез, чудо?
Аноним 26/04/23 Срд 16:05:43 #925 №2681943 
>>2681941
Не 1,5к, а 150к. Полез потому что кушать хочется.
Аноним 26/04/23 Срд 17:14:30 #926 №2682001 
>>2681941
Мне кажется или об этом "ReadWriteLock", пишут в книге "Многопоточность на практике" ?
Аноним 26/04/23 Срд 17:53:12 #927 №2682019 
>>2682001
Хм!.. А глянь-ка сюда: (>>2677714).
Аноним 26/04/23 Срд 18:45:45 #928 №2682039 
>>2682019
В чем смысл конспекта по книге если:
а) ты не читал эту книгу
б) конспект написан не тобой
А вообще ты не залетный гуманитарий случайно? Конспекты по программированию это какой то рофл
Аноним 26/04/23 Срд 18:46:29 #929 №2682041 
>>2682039
я например прочитываю книгу через силу и забываю прочитанное через пару недель
Аноним 26/04/23 Срд 18:49:28 #930 №2682044 
>>2682041
Это бесполезная трата времени тогда раз знания на практике не применяешь после прочтения
Аноним 26/04/23 Срд 19:03:02 #931 №2682056 
>>2682044
Ну применил ты один раз и че дальше.
Забудешь через 3 недели, а не через 2.
Аноним 26/04/23 Срд 19:44:35 #932 №2682072 
>>2682041
Школьник, ты?
Аноним 26/04/23 Срд 19:45:29 #933 №2682074 
Что вообще средний джава-разраб разрабатывает? Что-то вроде кастомного 1С для местных кабанизде?
Аноним 26/04/23 Срд 19:58:44 #934 №2682085 
>>2682074
Очко твоей мамки.
Аноним 26/04/23 Срд 21:33:43 #935 №2682133 
>>2682074
Очко себе.
Аноним 26/04/23 Срд 21:34:51 #936 №2682134 
>>2682074
Очко шарпобляди.
Аноним 26/04/23 Срд 21:48:04 #937 №2682137 
>>2682085
>>2682133
>>2682134
Короче, консенсус в том, что жависты глиномесы, и их хлебом не корми дай поразрабатывать очко кому-нибудь?
Аноним 26/04/23 Срд 21:52:59 #938 №2682140 
>>2682137
Как будто что-то плохое.
sage[mailto:sage] Аноним 26/04/23 Срд 22:06:35 #939 №2682148 
>>2682039
А в чём смысл книг? А в чём смысл лекций? А в чём смысл энциклопедий? А в чём смысл баз знаний? А зачем читать, на опыте нельзя что ли всё понять, всё смастерить?
Аноним 26/04/23 Срд 23:49:27 #940 №2682202 
.png
>>2682148
Аноним 26/04/23 Срд 23:50:20 #941 №2682203 
>>2682039
Я тоже пишу конспекты по книге, только по своему.
Аноним 27/04/23 Чтв 10:54:38 #942 №2682415 
>>2682148
Без книг, лекций, энциклопедий, ты таааакое говнище будешь мастерить... И либо пойдешь за инфой в вышеперчисленное, либо пойдешь нахуй.
Аноним 27/04/23 Чтв 12:31:29 #943 №2682516 DELETED
>>2682074
Билинги опсосов кроме мтс - там шарпомухи, банковский софт, софт для страховых, госуслуги и тому подобное. 1С на жаве тоже есть, но там своя атмсофера.
Аноним 27/04/23 Чтв 13:16:54 #944 №2682570 
>>2682516
https://getmatch.ru/vacancies/9332-senior-net-developer
https://getmatch.ru/vacancies/12423-senior-c-developer-logistika-trekingovaia-integratsiia
https://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7/

На самом деле все это пишут уже на сишарпе или переводят проекты с джавы на сишарп. Кабаны поняли, что держать ораву настройщиков аннотаций в спринг фримверке попросту невыгодно - те могут годами ссать в уши как у них все сложно и как они трудятся не покладая рук. Но разработка на C# быстрее минимум на порядок, не требует раздутого штата отдела разработки, а конечные сервисы и продукты работают в несколько раз быстрее, надежнее и потребляют значительно меньше ресурсов.
Аноним 27/04/23 Чтв 13:36:34 #945 №2682587 
>>2682570
Бесплатный евангелист, спок.
Аноним 27/04/23 Чтв 13:47:46 #946 №2682593 
>>2681909
Бери выше. Все айти было обречено с самого начала.

Айти-образования не существует как класса. Инженерные скиллы развиваются лишь отдельными индивидами на чистом энтузиазме, и таких индивидов год от года все меньше и меньше. А в массе своей все айти - это сборище терпильных гибких софт-скилльных лицемерных пидарасов, обученных быть рабами. Все их скиллы и навыки заточены лишь на то, как бы продать свою жопу подороже. Разумеется, в такой экосистеме термины "миддл" и "синьор" не могли не потерять свой изначальный смысл - сейчас это просто лычки, которые пидарасы повыше в иерархии раздают пидарасам пониже, чтобы купировать в последних желание искать, куда подороже пристроить свое очко.
Аноним 27/04/23 Чтв 13:49:54 #947 №2682594 
>>2682415
Молодец, что понял, анончик.
Аноним 27/04/23 Чтв 13:52:21 #948 №2682596 
>>2681706
Ну шарп действительно как заменитель джавы не нужен. Хуй на хуй менять - только время терять. Если уж менять мейнстрим, то в сторону развития (Rust, Scala, Haskell, возможно - F#), а не в сторону застоя.
Аноним 27/04/23 Чтв 14:07:55 #949 №2682611 
>>2682596
>то в сторону развития (Rust, Scala, Haskell, возможно - F#)
В шарпе уклон в функциональщину уже много лет
Аноним 27/04/23 Чтв 14:16:41 #950 №2682614 
>>2682611
В каком месте?
Аноним 27/04/23 Чтв 14:29:43 #951 №2682618 
>>2682593
>>2682594
Аноним 27/04/23 Чтв 14:31:45 #952 №2682623 
>>2682596
Да, я тоже думаю что-то изучить ещё... Или С++ или что-то из новенького.
Аноним 27/04/23 Чтв 14:33:31 #953 №2682624 
>>2682623
Go изучай. Все остальное мертворожденное.
Аноним 27/04/23 Чтв 14:38:40 #954 №2682628 
>>2682623
>>2682587
Аноним 27/04/23 Чтв 14:40:02 #955 №2682629 
>>2682624
>>2682587
Аноним 27/04/23 Чтв 14:40:05 #956 №2682630 
>>2682623
Kotlin для кого сделали нахуй?
Аноним 27/04/23 Чтв 14:40:43 #957 №2682631 
>>2682593
>Айти-образования не существует как класса
>Инженерные скиллы развиваются лишь отдельными индивидами на чистом энтузиазме
Какая связь между клепанием крудов на спринг фримверке и инженерией? С чего ты вообще решил, что можешь называть себя инженером? Ты не проектируешь мосты и не запускаешь ракеты в космос. А расставлять аннотации и грузить жысоны, как выяснилось, может и курсовой вкатыш
Аноним 27/04/23 Чтв 14:43:57 #958 №2682633 
>>2682630
>Kotlin
За пределами экосистемы Android он нигде не прижился. На сервере доминируют Java (уже идет на спад, т.к. все переписывают на C#) и C# (новые проекты стартуют именно на этом языке)

Один из создателей прямо сказал, что разрабатывали Котлин, чтобы продать побольше лицензий на Intellij IDEA:

https://blog.jetbrains.com/kotlin/2011/08/why-jetbrains-needs-kotlin/
>The next thing is also fairly straightforward: we expect Kotlin to drive the sales of IntelliJ IDEA.
Аноним 27/04/23 Чтв 14:46:56 #959 №2682635 
>>2682631
>клепанием крудов

Круды - миф. За 10+ лет в джаве не встречал ни одного чистого тривиального круда, везде была своя специфика.

>С чего ты вообще решил, что можешь называть себя инженером?

О себе я не говорил ни слова. Не приписывай мне того, что я не говорил.

>расставлять аннотации и грузить жысоны, как выяснилось, может и курсовой вкатыш

Как это противоречит с вышесказанным? Расставлять аннотации и грузить джсоны - это по канону и есть уровень джуна (делать небизнесовые мелкие манипуляции с кодом).
sage[mailto:sage] Аноним 27/04/23 Чтв 15:40:41 #960 №2682672 
>>2682618
Книги ускоряют процесс.
Аноним 27/04/23 Чтв 15:46:33 #961 №2682678 
>>2682672
Их некогда читать - нужно клепать круды и развешивать аннотации
Аноним 27/04/23 Чтв 15:59:53 #962 №2682694 
Ни одной книжки не прочитал
Изучал все на практике с встроенной докой в идее
Сотыжку имею
Все равно информацию выше джуновского уровня в свободных источниках не найти
Аноним 27/04/23 Чтв 16:21:44 #963 №2682718 
>>2682635
>Расставлять аннотации и грузить джсоны - это по канону и есть уровень джуна (делать небизнесовые мелкие манипуляции с кодом)

Курьезный расклад, если подумать. Честные вкатуны не могут вкатиться, потому что вакансии на джунов - всё. А под вакансии синьоров по факту набирают ровно тех же джунов-кнопкокрасов-крудошлепов, у которых единственное отличие от вкатунов зачастую лишь в том, что они успели набить своим очком стажа на синьорную лычку.
Аноним 27/04/23 Чтв 16:21:55 #964 №2682723 
image.png
>>2682629
Если бы. На работе переписывают все микросервисы на го в срочном порядке. Java все...
Аноним 27/04/23 Чтв 16:23:10 #965 №2682726 
>>2682723
Чем мотивируют сей движ?
Аноним 27/04/23 Чтв 16:27:08 #966 №2682733 
>>2682723
Охуенная новость. Я вкатываюсь в джаву только чтобы попасть в большую компанию и внутри перейти в голанг. + мораль
Аноним 27/04/23 Чтв 16:38:49 #967 №2682747 
16813261594430.jpg
ДжейБосс Друлз старое поносное дедовское говно
Аноним 27/04/23 Чтв 16:51:15 #968 №2682765 
>>2682747
Нихера себе какую ты хтонь раскопал.
Аноним 27/04/23 Чтв 17:00:11 #969 №2682776 
image.png
>>2682726
Меньше ресурсов жрет.
Аноним 27/04/23 Чтв 17:04:17 #970 №2682781 
>>2682776
>Меньше ресурсов жрет
Не просто меньше, а на порядок меньше. Где джава будет отжирать гигабайты и десятки гигабайт памяти, поднимая по несколько минут контекст спринга, гоулэнг умудряется выдавать кратный прирост в производительности и потребляет десятки или в худшем случае сотни мегабайт. Пока помойная джава с гнойным спрингом начинает кряхтеть на нескольких сотен запросов в секунду, гоулэнг даже не поморщившись обрабатывает десятки тысяч запросов в секунду. При этом тебя не надо нанимать Шипилева для тюнинга JVM и не нужны супердорогие сеньоры, которые наизусть выучили доклады Борисова
Аноним 27/04/23 Чтв 17:05:46 #971 №2682782 
>>2682781
Всегда знал, что петушарперы, говнодебилы и прочий скам дешевле 10 гб оперативки.
Аноним 27/04/23 Чтв 17:06:51 #972 №2682783 
>>2682776
У вас просто не было нормальных джавистов.

>>2682781
Евангелист диванный - спок
Аноним 27/04/23 Чтв 17:07:30 #973 №2682786 
>>2682782
Бабах через 3... 2... 1...
Аноним 27/04/23 Чтв 17:14:00 #974 №2682797 
ПРИШЛО ВРЕМЯ ОПТИМИЗИРОВАТЬ АЛГОРИТМЫ
КОД САМ НЕ ОПТИМИЗИРУЕТСЯ
ДОБАВЬ ХЕШМАПУ, ДОБАВЬ КЕШИ
ЗАЧЕМ МНЕ НУЖЕН SRPING, У МЕНЯ НЕТ КОМПЬЮТА ЧТОБЫ ЕБАТЬСЯ С НИМ
ЛУЧШЕ ЕЩЕ РАЗ ПООПТИМИЗИРУЮ КОД
Я ОПТИМИЗИРУЮ КОЛИЧЕСТВО БАЙТКОД ИНСТРУКЦИЙ ПО 3 РАЗА В ДЕНЬ
КАЖДАЯ ОПТИМИЗАЦИЯ ЗАНИМАЕТ ДВАДЦАДЬ МИНУТ
Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ
Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ИГРАЮ В ИГРЫ
А ПОСЛЕ ЭТОГО ОПТИМИЗИРУЮ КОД УДАЛЯЯ СТРИМЫ
ТУПЫЕ СПРИНГОДЕБИЛЫ ОДЕРЖИМЫ ЗАПУСКОМ JVM
А Я СВОБОДНЫЙ ОТ ЗАДРОТСТВО ЧЕЛОВЕК
СКОЧАТЬ БЕЗПЛАТНО И БЕЗ РЕГИСТРАЦИИ МОКРЫЕ ПИСЕЧКИ
КРЯК УЛЬТИМАТ КЕЙГЕН РАЗБЛОКИРУЙ IDEA
ЛУЧШЕ Я ПООПТИМИЗИРУЮ ЕЩЕ РАЗ ПОТОКИ
И СЛОМАЮ ИХ НАХУЙ ЛУМОМ, СТАБИЛЬНОСТЬ НЕ НУЖНА
Я НЕ ОПТИМИЗИРОВАЛ КОД НЕДЕЛЮ
ПОЙДУ ПООПТИМИЗИРУЮ
В JAVA ВСЕ ПРОСТО И ПОНЯТНО
ААААААААААА
ОШИБКА OUT OF MEMORY ERROR ЭТО ЖЕ ОЧЕВИДНО КАК ЕЕ РЕШИТЬ
ПРИШЛО ВРЕМЯ ОПТИМИЗИРОВАТЬ КОД
ККОКОКОКОКОКОКО
ЖМУ/ПИНУС, ШВАБОДКА, ПИТУХИ,
КОКОКОКОКОКОКО
Аноним 27/04/23 Чтв 17:28:09 #975 №2682822 
>>2682783
>У вас просто не было нормальных джавистов
Кхе-кхе, ну как-бы тебе объяснить, чел... То, что спринг приложение поднимается за несколько минут и только на старте жрет минимум гигабайт памяти, нужно сказать "спасибо" разработчикам этого поделия
Аноним 27/04/23 Чтв 17:38:34 #976 №2682832 
Загадка, на которую я не нагуглил, почему при попытке сохранить в бд наследника, hibernate сохраняет только поля родительского класса? Дебагер показывает что сущность наследника создается как надо, проблема возникает именно на последнем шаге сохранения через стандартный метод save в jpa репозитории
Аноним 27/04/23 Чтв 17:50:15 #977 №2682840 
Как тестировать методы private и protected ?
P.S.- они используются внутри класса другими методами.
Аноним 27/04/23 Чтв 18:02:47 #978 №2682856 
>>2682822
При всей моей нелюбви к спрингу, все таки сам по себе он стартует нихуя не несколько минут. Несколько минут он может стартовать если в него навернуть с десяток тяжелых стартеров, ОРМ, и насовать в бины какой нибудь тяжелой хуйни в постконстракты или конфигурации. На пиздеже я тебя конечно щас не поймаю, ибо не был свидетелем того, что у вас там с ним за приключения были, но при своем мнении останусь - ваши джависты скорее всего были просто криворукими спрингокультистами.

Ну в целом но оффенс - если на гоу вам лучше, это здорово.
Аноним 27/04/23 Чтв 18:05:05 #979 №2682860 
>>2682840
Никак. Сначала рефакторить так, чтобы они не были приватные, а потом уже тестить.

Есть способы подлездь к ним через всякие повермоки, но лучше тогда вообще не тестить, чем тестить ТАК.
Аноним 27/04/23 Чтв 18:26:24 #980 №2682891 
Помогите пожалуйста найти курс Язык программирования Java (Java SE10). Уровень 1. Базовый курс (бауманка) в интернетах, не гуглится, а другие кушать не хочу, говном измазаны, лишь этот прекрасный и все хвалят.
Умею жабировать, но надо систематизировать знания, сейчас на уровне "берем вот это, копируем, гуглим по аналогии задачу, делаем вот так вот"
Аноним 27/04/23 Чтв 19:15:47 #981 №2682934 
Пишу процедурный код на ООП языке.
Пишу HTTP апи где клиент ломается от любого изменения и говорю что это RESTful.
Пишу тест который поднимает базу, кафку, редис и говорю что это юнит тестирование.
Аноним 27/04/23 Чтв 19:19:26 #982 №2682940 DELETED
>>2682593
>>пидарасы повыше в иерархии раздают пидарасам пониже, чтобы купировать в последних желание искать, куда подороже пристроить свое очко.
Разве это не наоборот работает? Если меня называют ждуном - мне сотыга в радость. А когда выдали лычку сеньки - то уже и двух мало. Даже если я по скилу не сильно вырос.
Аноним 27/04/23 Чтв 19:19:29 #983 №2682941 
>>2682934
Тебе 40 лет?
Аноним 27/04/23 Чтв 19:19:50 #984 №2682942 
Как же заебали диванные эксперты пиздец,ну невозможно же быть такими тупыми
Аноним 27/04/23 Чтв 19:48:58 #985 №2682979 
>>2682940

Так еще б стояла цель тебе не платить. Основная цель - чтобы ты не свалил соискательствовать на Юрьев день.

Цимес рабства не в том, чтобы раб голодал и был перманентно избит и унижен - голодный полудохлый раб это просто тушка, от которой никакой пользы и один вред. Опытный рабовладелец даст рабу баланду и внушит идею о том, что "работать и терпеть - большая честь", за что раб в лепешку ради него расшибется. А рабам, которые для него представляют ценность, даст больше баланды и внушит мысль о том, что они - его синьоры любимчики.
Аноним 27/04/23 Чтв 19:51:49 #986 №2682983 
Как работать с гитфлоу, если нужно несколько веток релизов? Я не придумал.
Аноним 27/04/23 Чтв 19:59:06 #987 №2682988 
>>2682983
ты раб что ли в этом разбираться
Аноним 27/04/23 Чтв 20:04:10 #988 №2682992 
>>2682983
Очевидно, создать несколько веток релизов. Не?
Аноним 27/04/23 Чтв 20:06:26 #989 №2682997 
image.png
>>2682992
Это не натягивается на гитфлоу. Что это за слово блядь
Аноним 27/04/23 Чтв 20:19:54 #990 №2683005 
>>2682997
Что конкретно не натягивается на гитфлоу?

Гитфлоу говорит четко: стартанул релиз - делай ветку. Зарелизил релиз - мерж ветку и вешай тэг. Что значит твой вопрос тогда? Если нужно несколько веток релизов - делай несколько веток релизов.
Аноним 27/04/23 Чтв 20:27:36 #991 №2683010 
>>2683005
Ты тупой походу, не отвечай мне больше.
Аноним 27/04/23 Чтв 20:49:05 #992 №2683018 
>>2683010
Да ты тоже неумный. Сука, стремишься помочь человеку, а вместо человека гнилой анальник, паскуда выебанная - анон у него виноватый за то, что не может свой вопрос сформулировать. Пиздуй нахуй с треда, здесь вообще джава.
Аноним 27/04/23 Чтв 21:03:42 #993 №2683027 
>>2651134 (OP)
В треде есть те, кто проводит собеседования?
Аноним 27/04/23 Чтв 21:17:07 #994 №2683034 
>>2683027
Да.

Ебать у вас тут цирк говнарнй и шарпоклоунов
Аноним 27/04/23 Чтв 22:46:05 #995 №2683060 
>>2683034
Поделись в таком случае. Что спрашиваешь, насколько глубоко. Как оцениваешь кандидата. Скорее всего придется менять работу, а я последний раз проходил собесы 2 года назад.
Аноним 28/04/23 Птн 15:11:04 #996 №2683528 
Подскажите пожалуйста, что означает:
1."Программируйте на уровне интерфейсов",
2."Предпочитайте композицию наследованию"
?
Аноним 28/04/23 Птн 15:19:18 #997 №2683540 
>>2683528
> 1."Программируйте на уровне интерфейсов",
Твои классы имплементировать интерфейсы,когда тебе в коде понадобится твой класс, например ты будешь передавать этот класс как параметр метода,то ты передаешь (используешь) интерфейс вместо конкретной реализации. Это помогает тебе обеспечить слабую связанность между классами тк реализаций может быть дохуя
> 2."Предпочитайте композицию наследованию"
Когда тебе нужен функционал какого-то класса ты не наследуешься от него,а создаёшь в своем классе поле private TargerClass target и используешь необходимый функционал вызывая методы у target
Аноним 28/04/23 Птн 15:56:05 #998 №2683583 
>>2683528
1. Говно
2. Хуйня
Аноним 28/04/23 Птн 16:55:39 #999 №2683612 
image.png
>>2683528
1. Твой код не должен быть хуже, чем в интерфейсах стандартной библиотеки Java (в java.util.Map и т.д.)
2. Слушайте музыку, а не ебитесь.
Аноним 28/04/23 Птн 17:02:36 #1000 №2683614 
>>2683540
Это так же применимо и к другим языкам программирования ?
Аноним 28/04/23 Птн 18:56:21 #1001 №2683727 
>>2683614
Это применимо к литералли всем реальным и будущим языкам программирования, в которых есть/будет такое понятие как переиспользование кода в каком то виде.
Аноним 28/04/23 Птн 18:57:13 #1002 №2683729 
>>2683727
Впрочем, в парадигмах отличных от ООП, эти два принципа могут называться по другому.
Аноним 28/04/23 Птн 20:13:01 #1003 №2683818 
Че-то походу джава всё. Я почитал, везде хвалят сишарп, и у нас, и на западе, и за ним будущее. Ну так-то если подумать, то шарп постоянно развивается, на нём можно писать, что угодно. Игры, машин лёрнинг, бэкенд, фронтенд. Какие у шарпа вообще минусы есть? Думаю перекатываться из джавы в него.
Аноним 28/04/23 Птн 20:16:09 #1004 №2683825 
>>2683818
Ого,тоже перекачусь. Какая из крупных компаниях использует его как основной язык бэка и какую систему они на нем написали?
Аноним 28/04/23 Птн 20:41:32 #1005 №2683855 
>>2683825
Майкрософт и Бинг.
Аноним 28/04/23 Птн 20:43:00 #1006 №2683857 
>>2683818
Че-то походу сишарп всё. Я почитал, везде хвалят JS, и у нас, и на западе, и за ним будущее. Ну так-то если подумать, то JS постоянно развивается, на нём можно писать, что угодно. Игры, машин лёрнинг, бэкенд, фронтенд. Какие у JS вообще минусы есть? Думаю перекатываться из сишарпа в него.
Аноним 28/04/23 Птн 20:52:57 #1007 №2683866 
>>2683857
Какой нахуй JS? Будущее есть только у GO.
Аноним 28/04/23 Птн 20:53:29 #1008 №2683868 
>>2682983
Бамп
Аноним 28/04/23 Птн 21:05:11 #1009 №2683883 
.png
>>2683866
Go никогда не позиционировал себя как язык для всего и претендовал исключительно на микросервисные апишки и серверное ПО. В отличие от JS и шарпа, которые в каждой бочке затычка.
Аноним 28/04/23 Птн 21:16:24 #1010 №2683891 
>>2682983
Не мержить фич-ветки в develop, пока не будет выпущен предыдущий релиз. Больше никак.
Аноним 28/04/23 Птн 21:18:36 #1011 №2683892 
>>2683883
>и претендовал исключительно на микросервисные апишки и серверное ПО
хуйню несешь)
https://freshman.tech/snippets/go/cross-compile-go-programs/
Аноним 28/04/23 Птн 21:34:17 #1012 №2683901 
>>2683892
Ты свою ссылку вообще открывал? Там всего лишь сказано, как компилировать goвно под разные платформы.
Аноним 28/04/23 Птн 22:01:53 #1013 №2683923 DELETED
>>2683528
1 - для каждого класса Zalupa надо еще сделать интерфейс Zalupa , а класс переменовать в ZalupaImpl. На спринге так пишут только дегенераты.

2 - наследование в коде нахуй не нужно, оно не читается. Просто впихни в в поля объекта все что тебе нужно.
Аноним 28/04/23 Птн 22:05:48 #1014 №2683927 DELETED
>>2683818
Все так, джава умирает, уебывай.
Аноним 28/04/23 Птн 22:12:19 #1015 №2683937 
>>2683901
там написано что ты пидар читай внимательнее
Аноним 28/04/23 Птн 22:13:34 #1016 №2683943 
>>2683937
То, что я пидор, никак мне не мешает рассуждать о Go.
Аноним 28/04/23 Птн 22:32:09 #1017 №2683976 
>>2683883
Как то раз я столкнулся с одним шизом в телеге. Он два часа пытался мне продать, что Go - это прежде всего идея, а не язык, и типа что именно ради идеи следует изучать гоу. Скорее всего имел ввиду Goйную ортогональность и минималистичный тулинг, я хз.

Из забавного - упорно агитировал меня к тому чтобы я почитал биографию разработчиков Go, типа "пока я не ознакомлюсь с биографией, я не пойму идею".

Мимо.
Аноним 28/04/23 Птн 22:38:35 #1018 №2683985 
>>2683976
В го вообще дохуя сектантов. Развитую экосистему других языков они называют ненужным легаси, которое не позволяет реализовать нужные решения. Т.е. мешает им писать велосипеды и костыли, лол.
Аноним 28/04/23 Птн 22:45:03 #1019 №2683991 
>>2683985
Ну блять. А ведь теплилась надежда что если придурки-евангелисты окажутся правы и джава в конечном итоге умрет, то тогда хотя бы утащит за собой в могилу ублюдочный (спринго)культизм. Хуй там.
Аноним 28/04/23 Птн 22:51:20 #1020 №2683994 
>>2683991
Сейчас не те времена. Будь евангелисты хоть десять раз правы, жаба продолжить жить и процветать.
Аноним 28/04/23 Птн 23:02:38 #1021 №2684005 
Куда засунуть слой маппинга данных из между рест контроллером и сервисом?
Аноним 28/04/23 Птн 23:09:21 #1022 №2684013 
>>2684005
Положить конвертер рядом с контроллером, там и превращать энтити в дтохи и обратно.
Аноним 28/04/23 Птн 23:09:32 #1023 №2684014 
>>2684005
В жопу се засунь
Аноним 28/04/23 Птн 23:15:14 #1024 №2684023 
>>2683901
>компилировать goвно под разные платформы.
лол
Аноним 28/04/23 Птн 23:20:35 #1025 №2684030 
>>2684023
Ну да. Удобно, если, к примеру, разработка ведётся на маке, а сервера на винде.
Аноним 29/04/23 Суб 00:14:26 #1026 №2684065 
>>2683855
Ну а че нибудь что в повседневной жизни используется или хотя бы какие-нибудь технологии для разработчиков известные
Аноним 29/04/23 Суб 01:47:36 #1027 №2684087 DELETED
>>2684030
>>сервера на винде
А там есть какие то аналоги докероного линукса? Такая же консольная поебень с вырезанным всем?
Аноним 29/04/23 Суб 01:57:09 #1028 №2684088 
.png
>>2684087
Да, докерный Windows Server.
Аноним 29/04/23 Суб 03:40:55 #1029 №2684098 
>>2684005
>>2684013
Я все в сервисе делаю. У меня контроллеры и репошки максимально тупые, они про сервис нихуя не знают, контороллер не знает какие у меня доменные модельки, только дтошки. А сервисы знают все.
Но мне и тут и тимлидец доказывал, что я не шарю. Уже не помню что тут говорили, может просто потому что потому. А вот тимлид начал ко-ко-ко про ддд, адаптеры и что сервисы дохуя на чебя берут.
Пока вообще не помнимаю на какие я могу грабли наступись, если мапплю в сервисе.
Аноним 29/04/23 Суб 07:15:13 #1030 №2684111 
>>2684098
>А сервисы знают все.
Отличный пример анемичной модели данных и программиста на спринг фримверке, лол. А потом удивляются, почему это проекты на спринг фримверке такое неподдерживаемое говно, лол.
Аноним 29/04/23 Суб 11:32:48 #1031 №2684208 
>>2684111
Ну да, я такой. Можешь объяснить в чем проблема? Я пока не столкнулся с неподдерживаемостью.
Аноним 29/04/23 Суб 11:52:39 #1032 №2684221 
>>2683923
1. В 99% случаем потом понадобиться создать класс BolshayaZalupa, и, чтобы не ломать обратную совместимость, надо изначально делать интерфейсы. А вместо ZalupaImpl называть BaseZalupa.

2. Что конкретно не читается? extends Hui? Ты олигофрен?
Аноним 29/04/23 Суб 11:58:57 #1033 №2684227 
>>2684226 (OP)
>>2684226 (OP)
>>2684226 (OP)
Аноним 29/04/23 Суб 13:45:38 #1034 №2684326 DELETED
>>2684221
>>В 99% случаем
второй имплементации не будет никогда
>>понадобиться создать класс BolshayaZalupa
вот тогда и выделишь интерфейс
>>чтобы не ломать обратную совместимость
Надо использовать DI.
>>А вместо ZalupaImpl называть BaseZalupa.
вместо класса Zalupa будет вызывать интефрфейс Zalupa, код даже не изменится

>>2684221
>>Что конкретно не читается?
Внезапно появляются поля и методы, которых в классе нет, но есть в одном из предков. Когда там дохуя предков - над ходить под это иерархии и держать памяти всю хуйню что наворачивали каждый раз. Можно еще и модификаторов private/protecrted добавить, чтоб еще хуже было
Аноним 29/04/23 Суб 16:15:22 #1035 №2684447 
>>2683528

Много же тебе говна накидали, я ебал эту петушиную кодлу.

Единственный адекватный ответ - вот этого анона: >>2683540

От себя добавлю.

> 1."Программируйте на уровне интерфейсов"

Этот принцип еще имеет второе название: dependency inversion principle. если обьяснять его смысл на пальцах, то проблема формулируется так: если класс A использует напрмую класс B, то изменения в классе B неизбежно будут приводить к регрессиям (поломкам) в классе A, из-за чего класс B править становится сложнее и рискованнее. Выход - выделить новую сущность C таким образом, чтобы нужды ее менять было как можно реже, и уже на нее завязывать классы A и B. В джаве такой сущностью является интерфейс - один класс его имплементирует, второй - держит на интерфейс референс.

Каплинг получается A -> C <- B, вместо A -> B. Но важно понимать, что работать такой дизайн будет только если интерфейс C остается неизменным почти всегда. Об последнем спрингокультисты обычно не парятся, поэтому у них вместо правильного интерфейсного дизайна всегда выходят пары ServiceInterface <- ServiceImpl, к которым они быстро теряют интерфейс (профиту никакого, а писанины дохуя) и просто откатываются на прямой каплинг Service1 -> Service2. Дебилы, короче.

> 2."Предпочитайте композицию наследованию"

Есть два понятия: сабтайпинг и наследование. Сабтайпинг - это база, и основа для любого полиморфного поведения.

В джаве для нужд сабтайпинга есть два инструмента: наследование и имплементация интерфейсов. Проблема в том, что наследование - довольно посредственный инструмент. Дает слишком уж много свободы. Из-за этого, и еще из-за привычки со времен c++, люди по непониманию очень часто используют наследование не для сабтайпинга, а для переиспользования кода. Кончается это плохо. И вот для таких людей придумали чихвостить наследование в хвост и в гриву - пусть лучше они вообще не будут использовать наследование, чем будут использовать ТАК.
Аноним 29/04/23 Суб 18:22:22 #1036 №2684541 DELETED
>>2684447
>>я ебал эту петушиную кодлу.
>>петушинный текст из учебника

>>C остается неизменным почти всегда. Об последнем спрингокультисты обычно не парятся
И что ты предлагаешь делать, чтоб не менять интерфейс? Мне даже интересно стало.

>>просто откатываются на прямой каплинг Service1 -> Service2.
>>не понимаю как спринг работает, но они дебыли, короче
Аноним 29/04/23 Суб 20:32:30 #1037 №2684594 
>>2684447
> A -> C <- B, вместо A -> B.
Это так же применимо и к абстрактным классам ?
Аноним 29/04/23 Суб 23:09:21 #1038 №2684709 
>>2684594
Интерфейс, абстрактный класс, или вообще какой нить тайпкласс из ФП - неважно. Это лишь разница в форме. Суть всегда одна - вместо того чтобы делать две конкретные (и как результат, волатильные, изменчивые) сущности зависимыми друг на друга (а зависимость конкретик - всегда и во всех языках и парадигмах источник рисков, регрессий и багов), выделяется некая общая (стабильная) суть этих вещей, и выносится в т.н. абстракцию.

Абстрактный класс тоже может выступать в роли абстракции. Но нужно понимать и отдавать себе отчет в том, что не каждый абстрактный класс и даже не каждый интерфейс уместно звать абстракцией. Абстракция - это в первую очередь сущность, максимально отделенная от конкретной логики, и описывающая конечную выполняемую задачу языком типов и деклараций. Если в абстрактном классе окажется слишком много конкретики, он перестанет быть абстракцией.
Аноним 30/04/23 Вск 15:01:09 #1039 №2685030 
>>2684709
Разве интерфейс не определяет "что класс умеет делать" ?
А абстрактный класс "чем класс является".
Получается, нельзя использовать интерфейс в качестве абстракции...
Аноним 02/05/23 Втр 07:03:57 #1040 №2686210 
>>2685030
>Разве интерфейс не определяет "что класс умеет делать" ?
>А абстрактный класс "чем класс является".

С чего бы вдруг?

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

По совести - должно быть так: абстракция опредаеляет - "какую задачу решаем, что делаем". Конкретика определяет - "как конкретно решаем задачу". Абстракции удобнее лабать интерфейсами, конкретику - их имплементациями. Что впрочем не означает что интерфейсы и их имплементации - единственный способ лабать абстракции и конкретику.
Аноним 05/05/23 Птн 22:54:56 #1041 №2689540 
>>2684326
Двачую этого. Пока не будет пары-тройки классов, не нужно над интерфейсами/наследованием заморачиваться. Это стоит делать когда уже явным образом вырисовываются сходные места и появляется понимание, как удобно всем этим будет пользоваться.

А на ранней стадии заебёшься в нескольких местах править.
comments powered by Disqus

Отзывы и предложения