Этого треда уже нет.
Это копия, сохраненная 30 марта 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Java #243 thread /java/ 2585661 В конец треда | Веб
Программирование - это не столько про анальное крудошлёпство, сколько про стиль мышления. Высокоуровневая абстракция, поиск сходных черт, оптимизация - всё это высшие интеллектуальные способности, что образуют такой прочный симбиоз с программированием на Java.

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

Пять вопросов из предыдущего треда:
1. Самая базовая и мастхев библиотека/фреймворк джавы, без которой джава вообще не джава (за исключением стандартной библиотеки)?

2. Сап джавовый! Я тот неугомонный который копается в JVM. Хочу сделать следующее, написать приложуху на джабе, прикрутить мониторинг и начать насиловать JVM. Когда найду потолок, начать опциями комбинировать чтобы повысить производительность. Подскажите как это сделать с технической точки зрения. Вижу следующий вариант:
На спринг буте делаю рест хуйню с одним эндпоинтом, когда буду дергать его, спринг будет в цикле создавать n количество объектов (в классе которого ещё будут статические поля).
Норм тема или херню придумал?

3. >https://github.com/neo4j/neo4j/blob/c082e80b792d46ad1b342fbf7f1facb2028344c6/community/kernel/src/main/java/org/neo4j/kernel/info/JvmChecker.java#L33

>Ахахах, реально. Пометил себе neo4j как неюзабельное говно.


Оооо, а вот на хуя они так делают то?

4. Чё нового в мавене 4.0.0?

5. Если без приколов, 8к строк на джаве - это какой проект, маленький, средний или большой?

Предыдущий: >>2574557 (OP)
2 2585669
ЖАБА ГОРАЗДО ХУЖЕ, ЧЕМ ШАРП
3 2585683
>>585669
шарполахта, сьеби
4 2585695
Раскрасил дтохи в розовый цвет, а энтити в голубой. Умом?
5 2585698
>>585695
Хранить все по отдельным пакетам не пробовал?
LogooftheJNA.svg.png219 Кб, 1200x1200
6 2585703
>>2585198 →
Бампну, может кто дельный совет даст.
7 2585710
>>585698
Так они и так в разных пакетах.
8 2585740
>>585710
Надо хранить в разных модулях. А лучше в разных проектах.
9 2585988
кто-то пробовал mjc school? стоит того?
10 2586044
>>585988
Пробовал кислоту, определенно стоит
sage 11 2586048
>>586044
Репорт.
12 2586135
>>585695
Чем раскрашивал?
C!mHBuMJ5MzI 13 2586147
Когда мы вызываем с помощью рефлексии метод другого класса и передаем туда аргументы, он выполняется там где мы его вызвали с помощью рефлексии, или выполняется там откуда вызвали ?
14 2586155
>>586048
Извини пожалуйста
15 2586157
>>586147

Что значит "там"?

Вызванный через рефлексию метод вызовется так же, как и вызванный напрямую. В том же треду, на том же стеке вызовов. Единственное отличие - для java.lang.Method можно задать обьект-инстанс, на котором этот метод будет вызван. Ну и с точки зрения производительности может быть просадка, ибо рефлексия дороже обычного вызова (особенно если работать с рефлексией по тупому).
16 2586224
>>586135
Скоупами в идее
https://youtu.be/lMcbxwJ74P4
17 2586250
>>585661 (OP)
Как там в вашем тестконтейнере почистить все данные в БД после каждого теста? Перезапускать контейнер или дрочить репозитории руками не предлагать.
18 2586334
>>586250
@Sql(scripts = "clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
19 2586361
>>586250
>>586334
@Transactional
20 2586384
>>586361
https://dev.to/henrykeys/don-t-use-transactional-in-tests-40eb

>>586334

>@Sql


Это еще что такое? Ну и это снова руками придется скрипт каждый раз править
21 2586404
>>586384
С ликвибейз и флайвей можно дропать все и перенакатывать схему
22 2586497
>>586384
Да, каждый раз когда добавляешь или удаляешь таблицу меняешь клин-скрипт.
Способ не очень подходит, если ты через свою приложуху динамически меняешь схему.
Поищи по гитхабу, как используется Sql.ExecutionPhase.AFTER_TEST_METHOD для очистки базы.
Это если ты не накатываешь схему на каждый тестовый метод. Миграции по умолчанию накатываются на каждый тестовый класс, потому что каждый раз переподнимается контекст.
23 2586811
Аноны, есть две @Entity, скажем Person, с полями name и age, Payment с полями employeeName и amount. Как мне через JPA получить третий объект, представляющий джоин этих двух энтити?
24 2586816
>>585661 (OP)

>Самая базовая и мастхев библиотека/фреймворк джавы, без которой джава вообще не джава (за исключением стандартной библиотеки)?


Конечно же ЖИДБРЕЙНС АННОТАЦИИ. Ебало тех, кто пишет @NonNull и Validate.nonNull(obj) представили?
25 2586884
Я тот анон из предыдущего треда, которому пришлось ебаться с градлом. Вы бы знали, в какую пизду мне пришлось залезть.

Вопрос по существу - как открыть файловое дерево (то, что слева всегда) в идее 2017?
26 2586887
>>586884

>Вопрос по существу - как открыть файловое дерево (то, что слева всегда) в идее 2017?



Где то в менюшке window должно быть, по логике, не?
27 2586892
>>586887
В том то и юмор, что нихуя.
28 2586894
>>586887
>>586884

>Вопрос по существу - как открыть файловое дерево (то, что слева всегда) в идее 2017?



А, либо в View -> Tool windows -> Project. Вспоминаю по памяти, ибо под рукой идеи нет конкретно щас
29 2586896
>>586894
Спасибо, нашёл!
image.png327 Кб, 1421x1208
30 2586950
Как это говно исправить?
31 2586968
>>586950
Попробуй запустить на 8 джаве.
test.jpg94 Кб, 1200x1173
32 2586985
>>586950
Выкинуть ваадин нахуй
33 2587013
>>586985
И заменить на Blazor.
34 2587130
>>586950
Какая версия ваадина?
35 2587249
Почему валидация List<@Valid CustomObject> может не работать, и когда поле не проходит валидацию выдает код 500 вместо 400? Когда пробую сделать реквест с просто @Valid CustomObject, все отлично. В чем может быть причина?
36 2587266
>>587249
В ебаной магии спрингбута.
37 2587290
Что за хуйня?

Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory

Но класс имеется. Смотрел через winrar.
38 2587304
>>587290
Можно хотя бы как-то класс подгрузить из непосредственно файла .class, если JVM серет и не может?
39 2587309
>>586224
Ебать, делать нехуй? Я завожу пакеты dto и entity
40 2587313
>>586816
Использую аннотации спринга и в хуй не дую. Javax превратился в jakarta? Да и в рот оно ебись! У меня есть спринг, идея провалидирует все параметры.
41 2587363
Пару часов потратил на гугление, но нихуя внятного и понятного не нашел, поэтому прошу помощи у вас. Есть один JMS-канал, откуда летят сообщения. Мне необходимо эти сообщения получать и сразу без каких-либо обработок отправлять в такой-то топик Кафки. Хуйня вопрос, заюзал KafkaTemplate и отправил куда надо и все работает, все понятно. Но сделать это нужно с помощью Spring Integration, которым я впервые пользуюсь и который для меня нихуя непонятен.

На ютубе только гайды от индусов, в которых делается непонятная не нужна мне поебень, которая даже отдаленно не помогает сформировать хоть какой-либо псевдокод у себя в голове. Вся надежда на вас, анончики, прошу любой помощи
42 2587364
>>587290
Бамп
15495652394040.jpg250 Кб, 450x600
43 2587369
Сап, анчоус.
Я один такой еблан, который не может понять принципиальную разницу между Factory Method и Abstract Factory?
Вот два примера:
https://refactoring.guru/design-patterns/abstract-factory/java/example#lang-features
https://refactoring.guru/design-patterns/factory-method/java/example#lang-features

И там, и там есть абстракция - у метода абстрактный класс, у абстрактной фабрики интерфей. И уже конкретный сабкласс создает конретные объекты. Какого хуя?

Получается, ключевое отличие в том, что в случае с Abstract Factory, клиент не знает, какую фабрику получает и какие объекты будут созданы?
Там еще говорится, что Abstract Factory может создавать семейства объектов. А че, разве я не могу создание нескольких объектов засунуть в фабрику, используя Factory Method?
44 2587373
>>587369
Вот здесь, например, иначе объясняется:
https://www.javatpoint.com/factory-method-design-pattern
https://www.javatpoint.com/abstract-factory-pattern

Грубо говоря, с Factory Method мы имеем одну фабрику, которая на основе какой-то переданной переменной будет создавать нужный объект. А c Abstract Factory мы имеем фабрику фабрик.
Так как правльно-то?
45 2587391
>>587290
Бамп
46 2587393
>>587391
Никто на твой вопрос отвечать не будет, хоть 500 раз бампай.
47 2587398
>>587393
Почему?
48 2587401
>>587398
Потому что местные говнокодеры не умеют ни в паттерны, ни в структуры данных.
49 2587402
>>587398
Потому что вопросы задавать не умеешь, вот почему.

Ни предыстории, ни внятного эксепшена, нихуя не дал, и бампает сидит - ну умора. Тут не чат экстрасенсов. По той инфе что ты дал, однозначно сказать можно только одно - у тебя SLF4Jя в класспафе нет. Помогло тебе это? Нет? Ну и хуй с тобой.
50 2587403
>>587401
Причем тут паттерны и структуры данных? У меня проблема с пососом JVM, а не высших абстракций.
51 2587405
>>587369
Ты слишком критичен к себе, и слишком много придаешь значения паттернам. Паттерны это хуйня... Ну то есть как хуйня... На полшишечки хуйня. Ща обьясню.

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

По сути паттерны это просто юз-кейсы, оторванные от базы, ни больше ни меньше. Без базы паттерны - каргокульт. Зубрить различия между ними имеет смысл только чтобы иметь возможность ответить какому нибудь тупорылому уебку на собесе, если он своим скудным мозгом додумается спросить об этом. На практике знание паттернов назубок не дает никакого преимущества, а иногда может навредить. Про фабрику достаточно знать лишь что она позволяет отвязать объект(ы) от процедуры его/их сборки. А уж как это делается - методом или классов - так ли уж важно?
52 2587406
>>587402
Я портирую мод для копрокубов с 1.7.10 на 1.12.2. Это в целом большое приключение из-за говнистости форджа и градла, и мне пришлось уже разрешить (но в основном обойти) дохуя проблем.

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

Я пытался использовать различные версии форджеградла, пользовался разными плагинами для шейдинга, перепробовал с десяток разных способов с стаковерфлоу и вики форджа, мне даже приходилось скачивать идею 2017 года. Всё бестолку. Самое большое, что мне удалось добиться от дегенерадла - добавить все библиотеки вместе с майнкрафтом в итоговый джарник.

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

Запускаю я значит этот мод, и вижу следующую проблему - мод успешно вызывает HikariCP, который был добавлен путём копипасты, а тот пытается получить доступ к LoggerFactory из SLF4J, который тоже был закопипасчен, и это уже не получается. Вылетает java.lang.ClassNotFoundException: org.slf4j.LoggerFactory. Я предположил, что дело в том, что по какой-то причине закопипасченные классы не могут получить доступ к закопипасченным, но написанный в основном коде мода Class.class.getClassLoader().loadClass("org.slf4j.LoggerFactory"); тоже выдаёт NullPointerException.

Вот полный эксепшен со стактрейсом: https://pastebin.com/9dmATw8r

Аноны, прошу, не будьте такими же пидарасами, как стековерфловщики, которые минусуют и удаляют все вопросы сложнее "что такое Class".
53 2587409
>>587406

>Видимо, это происходит из-за того, что фордж как-то анально залезает в процесс сборки градла и ломает там чё-то



Наврядли.

>В один момент я плюнул и решил добавить библиотеки напрямую в .jar



Как конкретно добавлял?
54 2587410
>>587409
1. Открываю джарник с библиотеками, собранными через мавен, и мод, собранный градлом в винраре
2. Выделяю пакеты с библиотеками (в моём случае org и com)
3. Перетягиваю их в окно мода и нажимаю "ОК" в открывшемся окне
4. Запускаю получившегося франкенштейна сервером форджа
55 2587417
>>587406
Ок, с форжем я почти не знаком, ибо в майнкампф не шпилю. Скорее всего ты впоролся в класслодеры, и SLF4J у тебя грузится не-пойми чем.

На твоем месте я б забил на затею с винраром и все таки разобрался бы с добавлением зависимостей в мод. Я чекнул мельком mdk-проект с форжа - выглядит так, будто все должно решаться обыкновенным добавлением зависимостей в dependencies.
56 2587418
>>587417
...обыкновенным добавлением зависимостей в dependencies в build.gradle
57 2587419
>>587418
Я 15 часов убил на попытки добавить зависимость.
58 2587420
>>587419
Ну а так ты еще 500 часов убьешь на то, чтобы понять, как форж класслодерами ворочает. И все равно нихуя работать не будет.
59 2587421
>>587420
Можно как то вручную загрузить класс из файла .class?
60 2587422
>>587405
Да, спасибо. Ты все верно написал, я со всем согласен.
Хочу именно в самом стандартном классическом их виде разобрать паттерны, чтобы дать четкий ожидаемый ответ на собесе.
61 2587423
>>587421
Чел, ты щас на третьей стадии принятия - торг. Давай сразу к принятию.

Отвечая на вопрос: гугли джава класслодинг. Стандартный сет класслодеров подразумевает цепочку "бутстрап класслодер" -> "класслодер расширений" -> "системный класслодер". Последний ищет и грузит классы из класспафа (надеюсь - что такое класспаф не надо обьяснять?) когда ты делаешь класслодер.loadClass().

Но это все стандартная схема. Что у тебя там нахуеверчено - одному богу известно. К примеру, вот этот вот кусок стектрейса:

Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_352]

По нему видно что произошла делегация к какому то хуй пойми какому класслодеру net.minecraft.launchwrapper.LaunchClassLoader, который хуй пойми как работает и хуй пойми откуда классы берет. Ты серьезно щас хочешь лезть в кишку? Просто поверь - разобраться с твоими терками к градлу скорее всего будет проще.
62 2587426
>>587405
Паттерны - антипаттерн, так как подразумевают в себе нарушение принципа DRY.
63 2587436
>>587363
Бамп вопросу
64 2587672
почему так?
65 2587733
>>587728 (Del)
ниче я не проебал. надо было просто обновить мавен проджект
66 2587769
>>587426

И в каком конкретном месте паттерны нарушают DRY?
16386992070450.jpg61 Кб, 716x1024
67 2587801
>>585661 (OP)
Объясните по простому что такое forkjoinpool и как его использовать
68 2587817
https://spring.io/guides/tutorials/rest/ сижу эту хуйню читаю
блядь как же мне хуево чисто физически
я не привык, когда происходят в коде вещи, о которых я ничего не знаю
эта залупа сама что-то делает, я даже не понимаю что ей для этого надо
тонны блядь каких-то методов хуй пойми для чего
обертка над оберткой над оберткой над апи фреймвокра
69 2587861
>>587801
Обычные пулы исполняют монолитные раннаблы и коллаблы. А форкджойн пул, помимо раннаблов и коллаблов, умеет выполнять forkjointaskи. А форкджойн таски имеют уникальную особенность - их можно не только выполнить (compute), но и побить на подтаски (createSubtasks), этой особенностью форкджойн пул активно и пользуется. Там есть еще всякие внутренние нюансы работы этого пула типа job-спиздинга, но ты просил по вершкам. За деталями иди к Шипилеву в блог.

Напрямую его обычно редко используют. Он сидит под капотом у комплитабл фьюч.
70 2587916
>>587817
Исходники диспетчер сервлета и реквестмаппингхэндлера лежат в открытом доступе, бери читай.
71 2588006
>>587916
да я не про это даже
почему я нигде не создаю объекты, но это говно знает какой и где объект создать?
а если она однажды не тот объект мне создаст?
как использовать разные конструкторы?
я не понимаю как это все там внутри работает
а смотреть исходники проекта этого я ебал того в рот
кто в здравом уме туда полезет? чтобы скакать от одной зависимости к другой часами?
ты сам можешь вообще имагинировать такое?
72 2588015
а еще уровень статьи где говорят вот если ты Employee возвращаешь, то это не REST
а вот если ты EntityModel<Employee> возвращаешь, то это REST
ахуенное блядь объяснение, я теперь пытаюсь про это жижу нагуглить что-то получше, но нигде не упоминают подобное - про все эти линки блядь какие-то
ахуенно, хочешь разобраться в чем-то - тебя только запутывают больше и говна за шиворот накидывают

я всегда блядь раньше считал, что REST это обычный подход к менеджеру какими-то ресурсами, которые могут быть запакованы в условный жсон
но теперь я блядь не уверен и не могу больше ничего подобного нагуглить, что в той статье сказано
(а как же не гуглить? ведь это сами разрабы спринга меня запутали. они то дядьки умные. это я хуй с горы не понял их гениальную идею просто)
спасибо дядя спрыня покодил блядь
73 2588016
>>587817
Ну так ебашь на сокетах хттп сервер. Джава позволяет и такое.
74 2588019
>>588016
нет, с такими скиллами даже на собес не позовут, а мне туда надо срочно
75 2588173
ой почитал дальше да ну вас нахуй короче, джава маньки, пиздец вы кал жрете
лучше в питон буду вкатываться снова
76 2588185
>>588006

>а если джава однажды неправильно мне память аллоцирует и память мне не так освободит?


>кто в здравом уме в код jvm полезет?

77 2588188
>>588173
Нахуя тебе петухон? Вкатывайся в шарп.
78 2588282
>>587861
Ок, спасибо за объяснение
79 2588659
>>588015
Про spring data rest почитай, уже давно все решено и сделано за тебя, попроще к этому относись и не заморачивайся надо всем. я хз как ты вообще в проге двигаешься без умения делать что-то не понимая (по крайней мере первое время)
80 2588685
Какие зависимости добавлять для Hibernate ?!?!?! Добавляю hibernate-core, на тебе ошибка, добавляю ещё один, на ещё ошибку ! ! ! ! ! ! Добавляю все возможные библиотеки для hibernate, опять ОШИБКИ !! ! !
81 2588705
>>588685
Блин(
82 2588713
>>588685
Говнохибернейт правильно не добавлять. Тогда и ошибок не будет.
83 2588724
>>588713
Я проект доделываю.
84 2588733
>>588724
Доделываешь, а говнохибернейт понадобился только сейчас, значит, его не было.
85 2588773
Нужно ли знать как работать с hibernate через Jpa ?
На собеседованиях спрашивают ?
86 2588780
>>588773
Да бля, в чём вопрос вообще, этому за пару часов можно научиться по первой попавшейся мурзилке.
87 2588863
>>588773
Спрашивают. Полезно знать, что такое persistence unit и context, как оное связано в entity manager'ом и сущностями, какие состояния бывают у сущностей (transient, persisted, detached, removed) и что они означают в контексте разговора о persistence context'е.

Если на этом этапе ты понял что в гробу видел все это знать - поздравляю. Ты теперь стал чуть ближе к ORM-скептикам.
88 2588864
>>588685
Че хоть за ошибка то?
89 2588865
Как же мне повезло, что на текущем проекте люто ненавидят хибер. Программирую на SQL каждый день и кайфую.
90 2588868
>>588865
Плюсую.
91 2588870
>>588865
Я тоже сперва радовался. А потом заставили писать километровые выборки с 5+ джойнами, динамическими фильтрами и рекурсивными cte.
92 2588876
>>587769
Лол, ты буквально повторяешь то, что уже было сделано. Надо не повторять, а писать код, который заменит паттерн.
93 2588877
Decision decision = Decision.builder()
.id("loan_qualifier")
.name("Loan qualifier")
.hitPolicy(HitPolicy.COLLECT)
.expressionType(ExpressionType.FEEL)
.withInput(in -> in
.name("age")
.type(ValueType.INTEGER)
.build())
.withInput(in -> in
.name("activeLoansNumber")
.description("Number of active loans on user's account")
.type(ValueType.INTEGER)
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.build())
.build())
.withInput(in -> in
.name("startDate")
.type(ValueType.DATE)
.build())
.withOutput(out -> out
.name("loanAmount")
.description("Loan amount in Euro")
.type(ValueType.DOUBLE)
.build())
.withOutput(out -> out
.name("loanTerm")
.description("Loan term in months")
.type(ValueType.INTEGER)
.build())
.withRule(rule -> rule
.description("Loan for 18 years")
.withInputEntry(in -> in
.name("age")
.evaluationMode(EvaluationMode.INPUT_COMPARISON)
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(18)
.build())
.build())
.withInputEntry(in -> in
.name("activeLoansNumber")
.evaluationMode(EvaluationMode.INPUT_COMPARISON)
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(0)
.build())
.build())
.withInputEntry(in -> in
.name("startDate")
.withExpression(ex -> ex
.type(ExpressionType.FEEL)
.value("[date and time("2019-01-01T12:00:00")..date and time("2019-12-31T12:00:00")]")
.build())
.build())
.withOutputEntry(out -> out
.name("loanAmount")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(10000)
.build())
.build())
.withOutputEntry(out -> out
.name("loanTerm")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(12)
.build())
.build())
.build())
.withRule(rule -> rule
.withInputEntry(in -> in
.name("age")
.withExpression(ex -> ex
.type(ExpressionType.FEEL)
.value(18)
.build())
.build())
.withInputEntry(in -> in
.name("startDate")
.withExpression(ex -> ex
.type(ExpressionType.FEEL)
.value("[date and time("2019-03-01T12:00:00")..date and time("2019-03-31T12:00:00")]")
.build())
.build())
.withOutputEntry(out -> out
.name("loanAmount")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(15000)
.build())
.build())
.withOutputEntry(out -> out
.name("loanTerm")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(6)
.build())
.build())
.build())
.withRule(rule -> rule
.withInputEntry(in -> in
.name("age")
.withExpression(ex -> ex
.type(ExpressionType.FEEL)
.value(">18")
.build())
.build())
.withOutputEntry(out -> out
.name("loanAmount")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(20000)
.build())
.build())
.withOutputEntry(out -> out
.name("loanTerm")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(12)
.build())
.build())
.build())
.build();
93 2588877
Decision decision = Decision.builder()
.id("loan_qualifier")
.name("Loan qualifier")
.hitPolicy(HitPolicy.COLLECT)
.expressionType(ExpressionType.FEEL)
.withInput(in -> in
.name("age")
.type(ValueType.INTEGER)
.build())
.withInput(in -> in
.name("activeLoansNumber")
.description("Number of active loans on user's account")
.type(ValueType.INTEGER)
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.build())
.build())
.withInput(in -> in
.name("startDate")
.type(ValueType.DATE)
.build())
.withOutput(out -> out
.name("loanAmount")
.description("Loan amount in Euro")
.type(ValueType.DOUBLE)
.build())
.withOutput(out -> out
.name("loanTerm")
.description("Loan term in months")
.type(ValueType.INTEGER)
.build())
.withRule(rule -> rule
.description("Loan for 18 years")
.withInputEntry(in -> in
.name("age")
.evaluationMode(EvaluationMode.INPUT_COMPARISON)
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(18)
.build())
.build())
.withInputEntry(in -> in
.name("activeLoansNumber")
.evaluationMode(EvaluationMode.INPUT_COMPARISON)
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(0)
.build())
.build())
.withInputEntry(in -> in
.name("startDate")
.withExpression(ex -> ex
.type(ExpressionType.FEEL)
.value("[date and time("2019-01-01T12:00:00")..date and time("2019-12-31T12:00:00")]")
.build())
.build())
.withOutputEntry(out -> out
.name("loanAmount")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(10000)
.build())
.build())
.withOutputEntry(out -> out
.name("loanTerm")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(12)
.build())
.build())
.build())
.withRule(rule -> rule
.withInputEntry(in -> in
.name("age")
.withExpression(ex -> ex
.type(ExpressionType.FEEL)
.value(18)
.build())
.build())
.withInputEntry(in -> in
.name("startDate")
.withExpression(ex -> ex
.type(ExpressionType.FEEL)
.value("[date and time("2019-03-01T12:00:00")..date and time("2019-03-31T12:00:00")]")
.build())
.build())
.withOutputEntry(out -> out
.name("loanAmount")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(15000)
.build())
.build())
.withOutputEntry(out -> out
.name("loanTerm")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(6)
.build())
.build())
.build())
.withRule(rule -> rule
.withInputEntry(in -> in
.name("age")
.withExpression(ex -> ex
.type(ExpressionType.FEEL)
.value(">18")
.build())
.build())
.withOutputEntry(out -> out
.name("loanAmount")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(20000)
.build())
.build())
.withOutputEntry(out -> out
.name("loanTerm")
.withExpression(ex -> ex
.type(ExpressionType.LITERAL)
.value(12)
.build())
.build())
.build())
.build();
94 2588885
>>588876

Кек.

Окей, два вопроса.
1. Но ведь dry - don't repeat Yourself. Паттерны жеж не твои, ты не себя повторяешь
2. А что делать если ты такой пишешь код, никого не трогаешь и БАЦ - случайно переизобрел один из паттернов? Переписывать?
95 2588892
>>588885

>Кек


Хотелось перестать читать, но всё же обоссу порриджа.

>1. Но ведь dry - don't repeat Yourself. Паттерны жеж не твои, ты не себя повторяешь


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

>2. А что делать если ты такой пишешь код, никого не трогаешь и БАЦ - случайно переизобрел один из паттернов?


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

>Переписывать?


Как я уже говорил, сделать запрограммированную абстракцию, которая бы включала в себя этот паттерн, а не повторять код.
96 2588899
Очередное бугаенкоподобное шизоуебище вышло из дурдома?
97 2588907
>>588899
Причина анальной боли?
98 2588935
>>588892
"Сделать абстракцию" - это и есть паттерн
99 2589008
>>588877
Я думал, в Яндексе не пишут на Java
100 2589012
>>588877
Чё ты высрал, даун?
101 2589015
>>589012
Твою мамку в помойку высрал.
102 2589017
>>588935
Давно фундаментальное логическое понятие в паттерны записали?
103 2589082
>>588892
Ты че порвался то? Высрал полотно так, будто я какой то защитник паттерного мышления, бля. Выше я уже пояснил что паттерны хуйня, поэтому я в душе не ебу, охоту на каких ведьм ты тут развёл.

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

ЯОБЯЗАТЕЛЬНОВКАЧУСЬ
105 2589217
>>589178
На девопс-стажера?
106 2589221
>>589217
Да вроде джаву учил со спрингом до этого, но если че без рофлов, я пока так и не устроился
107 2589234
>>588870
а представь что надо было бы добиваться этого от хибера через знание его кишочков. Чтобы он не 100500 запросов лепил, а один с 5 джойнами
изображение.png41 Кб, 1174x823
108 2589235
не писал никогда микросервисы
учить спрингу не на своем проекте не интересно
хочу попробовать сделать небольшой аналог кинопоиска
накидал структуру на пике
планирую с этим проектом потом идти на собес
база или кринж?
109 2589243
>>589235
юзеры и мувисы это разные микросервисы? Как юзеры будут знать про мувисы? Что делать если мувис надо удалить? Что насчёт тракзакций? Что делать если умрут мувисы при живых юзерсах?
110 2589244
>>589243
забыл про консистентность бд
111 2589250
>>589017
"Паттерн представляет собой не какой-то конкретный код, а общую
концепцию или пример решения той или иной проблемы.
Паттерн — это высокоуровневое описание решения, реализация
которого может отличаться в двух разных программах."
В этом значении паттерн - абстракция.
112 2589256
>>589250
Ну так вот это и надо реализовать в виде кода, а не словами.
113 2589258
>>589243
есть 2 микросервиса REST API (RestController), каждый из которых управляет своей базой данных
1 база - фильмы
2 база - клиенты
есть 3 микросервис, который при обращении клиента (4 микросервис) к REST API клиентов, получает запрос регистрации/аутентификации клиента и отправляет ему ответ

если клиенты отвалятся - можно будет смотреть только какие фильмы есть
если отвалятся фильмы, то только регистрироваться/логиниться
юзеры про мувисы знать не будут (я чет даже и не задумывался об этом, не хотел чтобы юзер мог давать даже оценку фильмам, лол)
получается не особо аналог КП, да?
ну хз, а как можно связать две независимые БД между собой?
114 2589260
>>589243
Я не тот же анон, если че

> Как юзеры будут знать про мувисы?


А зачем им знать про них? Допустим можно сложить мувисы против айди юзера в другой бд

> Что делать если мувис надо удалить?


А что мешает это сделать в микросервисе мувисов по айди юзера и айди мувиса

> Что насчёт тракзакций?


Разбивать на несколько в пределах одного микросервиса или есть что-то типо распределенных, на сколько я знаб

> Что делать если умрут мувисы при живых юзерсах?


Выдавать сообщение об ошибке при неудачном запросе
115 2589266
>>589260
я думал кинопоиск это поиск подходящих фильмов для каждого юзера. Типа ластфм.
Это чо, теперь ещё нужен третий микросервис, хранить связи юзеров и мувисов?

И это надо ещё прикручивать кафку - чтобы мувисы и юзеры могли подписаться на события изменений
116 2589267
Микросервисы - глобальный наёб и торжество сойдева. Реальный опыт корпораций по работе с микросервисами показывает, что в любом случае микросервисы превратятся в очень сильно тормозящий монолит, в котором каждый из тысяч микросервисов связан с каждым другим микросервисом (опыт гейфликса).

Единственная по настоящему работающая архитектура - иерархический монолит.
117 2589275
>>589267
аминь

>иерархический монолит


где-то про это можно почитать?
118 2589276
>>589275
Нечего читать, это когда ядро зависит от каких-то либ, эти либы от чего то ещё, и так до фундаментальных ни от чего не зависящих.
119 2589283
>>589256

вот тут шиз с DRY писал
>>587426
120 2589287
>>589266
Ну я скорее рассуждаю с позиции, работоспособно ли это, а оптимальность архитектуры, это уже следующий вопрос, тут я с тобой не могу не согласиться
изображение.png61 Кб, 1655x821
121 2589296
>>589260

>А зачем им знать про них? Допустим можно сложить мувисы против айди юзера в другой бд


ты имеешь ввиду создать 3 БД, которая была бы связана со всеми REST API? пик
122 2589329
>>589235
Почитай книгу microservices in action, там все разжевано для полных ебанатов.
123 2589331
Что означает сущность в hibernate ? Это класс POJO ?
124 2589339
>>589296
Я думаю, нет смысла продолжать с этой архитектурой изощряться, иначе говоря: хуйня, переделывай
125 2589347
>>589331
Это класс помеченный аннотацией @Entity с обязательным полем айди, представляющий собой обьектное представление таблицы в твоей субд
126 2589354
>>589347
Спасибо.
127 2589404
На днях буду изучать spring, после буду проект писать для интервью.
Скажите, на spring только сайты пишут ? Или можно лаунчер для майнкрафта написать ?
128 2589413
вчера вкатился в жава. написал привет мир в консоль. сегодня дописываю пузырек иду на собес. мысли?
129 2589419
>>587423
По итогу я сделал патч, который прямо в ядро инжектит либы и исправил эту хуйню.
130 2589421
>>589413
Как там в 2014?
131 2589422
>>589413
Урааааа, собеееесы
132 2589426
>>589404
На спринге не пишут "сайты". Вообще забудь это слово.
133 2589428
>>589421
а че так можно было в 2014? а я в 2015 только поступил в вуз, но пузырек освоил уже на 3 занятии по информатике. получается я мог уже тогда искать работу?
134 2589432
ну все скоро буду писать сайты затем на собес показывать
135 2589434
>>589428
Да, вполне можно было.
136 2589435
писал сайты на жава еще до того как это стало мейнстримом
137 2589442
здравствуйте, я новичок, пришел писать на java
138 2589446
>>589432
Тоже хотел пройти его курс, но у меня нет идеи ультимейт
139 2589470
>>589234
Там это нереально, особенно сте. Просто бы посетовал на ограничения платформы и не делал бы.
140 2589471
>>589442
Открывай рот.
141 2589573
Тред захвачен петушарперами.
142 2589645
Шарперы чем-то напоминают хохлов. Им нужно всегда заявить о себе, помахать флагом, прийти в тред джавы и высраться, короче, комплекс младшего брата. У джавистов такого нет. Джава просто работает, не надо ничего никому доказывать
изображение.png78 Кб, 939x397
143 2589729
а че в смысле это получается спринг кор такой большой https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#validation
а мне вон там показывают ролики по 10 минут я че зря курс купил? меня че не возьмут
144 2589809
Подскажите пожалуйста, что означает связь OneToMany, ManyToOne и ManyToMany ?
145 2589816
>>589809
я не знаю
я к собесу готовлюсь
146 2589838
>>589809
Насколько я понимаю, в OneToMany родитель использует Коллекцию с дженерик типом класса дочернего. В методе main(); создаем обьект класса родителя и дочернего, устанавливаем через конструкторы значения. А затем просто добавляем в коллекцию наш дочерний класс и всо. Зачем только ?
147 2589839
>>589816
мне дошло, спс
148 2589841
Как сделать так, чтобы мавен не плодил мусорные файлы в корне проекта? У меня есть файлы в resources, и мавен их все копирует в корень при сборке.
149 2589846
>>589258

>ну хз, а как можно связать две независимые БД между собой?



А в этом и фокус, чел. По сути, разбитие на микросервисы в конечном счете и сводится к разбитию единой модели данных (именно модели - здесь речь еще даже не о конкретных СУБД идет) на контексты. Но разбивается она не совсем на независимые БД. Физически БДшки независимые, но пересматриваются связи между ними.

То, что реляционки - одни из первых кандидатов на звание бутылочного горлышка в системе, люди понимали еще в эпоху хайпа по nosql. Тогда и пришло понимание что какими то гарантиями консистенции данных в модели можно пожертвовать в угоду масштабируемости. Так популяризировалось понятие eventually-consistent - мы допускаем что данные в двух физически независимых БД придут в согласованность не прямщаснахуй, а рано или поздно. И методы обеспечения такой консистентности получаются более щадящие - вместо анального foreign key constraintа ты можешь для согласования моделей использовать, например, event sourcing средствами кафки.

Ну а дальше, можно бить монолит так, что те же юзеры дублируются в разных моделях разных микросервисов и существуют в этих моделях в разной роли. При этом eventually согласовываются между собой. Например, в сервисе авторизации юзер будет из себя представлять табличку с логином и инфой для сверки креденшелов. В сервисе "клиенты" юзер будет существовать как сущность с перечнем закладок и предпочтений, и. т. д. В мире микросервисов такое зовут "разделением доменной области на ограниченные контексты (bounded context)".

И кстати - ментальность типа "юзеры про мувисы знать ничего не будут" - типичная и часто распространенная ошибка при проектировании микросервисов. Много контор, угоревших по микросервисному хайпу, зафакапилось на этом.
150 2589849
>>589841
В смысле? Это именно то, что он должен делать - копировать ресурсы в корень класспатха.
151 2589850
>>589849
Ну так пусть он в джарник их копирует, а не сурцы засоряет.
152 2589866
>>589846
хуй знает что за кафка, мне бы спринг освоить сначала епта

у меня была идея просто добавить в бд с пользователями нужные столбцы (в зависимости от функционала) и хранить в них айдишник фильма

например: фэворит пул фильмов для пользователя
пользователь жмет на звездочку, имея уже на клиенте id фильма (потому что если он его видит, значит запрос уже был отправлен на бд с фильмами и фильм был дернут за анус от туда)
так вот, когда он это делает, этот id просто посылается в нужный столбец БД с юзерами
и если я захочу глянуть любимые фильмы, то я:
1. отправляю запрос на БД юзера, получаю id от туда
2. затем делаю второй запрос на БД фильмов и получаю уже по этим айдишникам названия фильмов
минус в том, что запрос выходит долгим, через клиента

какие есть еще минусы в моем варианте? (я еще пока ничего не пишу, думаю над архитектурой + спринг учу)
153 2589869
>>589846

> угоревших по микросервисному хайпу


и еще, мне на микросервисы вообще похуй, я не хайпую. мне просто один знакомый сказал, что запилить микросервис в качестве пет проекта - это норм, аргументируя тем, что за этим будущее.
но похуй за чем там будущее, мне просто деньги платите я буду писать вам любой кал
154 2589882
там ии код пишут, вот за этим будущее
вы больше не нужны
ХАХА
155 2589889
>>589866

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



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

Пойди от фильмов. На клиенте у тебя уже известен юзер, так как ты авторизован. На стороне фильмов заводишь табличку "юзер" и связанную с ней табличку "фавориты". В табличке "юзер" у тебя - айди. В табличке "фавориты" - фильмы, которые юзер отметил для себя.

А дальше, нажатие на звездочку обрабатывается ОДНИМ запросом к "фильмам" типа "добавь фаворида для юзера А", который под капотом просто инсертит новый фаворит в табличку. И тогда тебе останется лишь решить для себя, как юзер попадет в табличку "юзер" на стороне "фильмов". Если не хочется связываться на первых порах с эвент сорсингом, можешь просто условиться, что юзер попадает в базу фаворитов при первом добавлении фаворита.

И еще раз - тот факт что "фильмы" теперь имеют на своей стороне "юзеров" - это нормально. Это делает сервис фаворитов самодостаточным: он останется рабочим даже если ты положишь все остальное. Для его работы у него есть все что ему нужно.
156 2589955
>>589432
Курс говнище кстати
157 2589957
>>589955
почему
158 2589970
Как искать первую работу, если работодателю нужен опыт от 2-3 лет? Притом на каждую вакансию
159 2589976
>>589957
Сходи на собес пройдя его полностью,тебя ждет неприятный сюрприз
160 2589980
>>589976
ну давай мне один вопрос хотя бы который сюрпризом для меня окажется на себе. че мне твои пуканья в лужу
161 2589997
>>589980
что будет, если в шедулере выполняется код, а жвм отдала команду на терминейт
162 2589998
>>589980
Ну расскажи мне на основе курса про лецзиинит эксепшн, из-за чего он возникает и как его избежать на примере например сущностей Доска,Тред и Ответ
163 2590001
>>589997
>>589998
это не вопросы на джуна
когда я приду у меня спросят максимум что такое бин компонент и как его объявить/получить из контекста
licensed-image.jpg344 Кб, 1601x2400
164 2590004
>>589998
не он
165 2590005
>>590001
Хуй знает братан,я сам недоджун,но это вообще изи вопрос на понимание хибернейта. Также как вопрос про бинфактори и бин пост процессоры
16343116080340.png1,3 Мб, 1080x863
166 2590006
>>590004
Пожалуйста
167 2590009
>>590006
когда есть связанная сущность не загруженная, и из кода идёт обращение к ней за пределами транзакции
168 2590010
>>590005
какой хибернейт епта я спринг учу
до хибернейта я еще не дошел
у меня чичас мвц, жэпэа, рэстфул
вот седня узнал что есть томкат который в спринг бут входит
169 2590013
алсо я стараюсь еще инфу искать в дополнении к курсу
170 2590015
>>590005
ну про фактори и пре/пост методы в курсе он рассказывал
171 2590016
>>590009

> не загруженная


А можно ли ее загрузить? Если да то каким образом?
172 2590022
>>590016
поставить аннотацию игер - хибер будет делать отдельный запрос для получения этой сущности каждый раз.

Ещё хибер может игнорировать лейзи и упорно загружать сущность если посчитает нужным
173 2590024
>>590015
Как бы вы объяснили почему из postProcessBeforeInit возвращается бин,а из postProcessAfterInit возвращается прокси? Можно ли из метода before вернуть не бин,а например нулл или прокси? Что тогда будет?
174 2590028
ПОСТПРОЦЕССОРЫ БИНОВ
@
НЕСКОЛЬКО КОНТЕКСТОВ
175 2590029
>>590024
эти методы могут возвращать любой тип, но получить их значения нельзя. поэтмоу используют void
прокси возвращается тому що после вызовов пост существующие бины не сразу уничтожаются. там че-то с транзакциями прикол какой-то.
я принят?
176 2590031
>>590022

> хибер будет делать отдельный запрос


Получается при загрузки доски с 10 тредами и 50 ответами в каждом мы сделаем 500 запросов? Можно это как-то оптимизировать или все что нам остаётся это отказаться от хибера?

> Ещё хибер может игнорировать лейзи и упорно загружать сущность если посчитает нужным


То есть если я укажу коллекцию вложенных сущностей как ленивую хибернейт все равно загрузит их как жадные? И исходя из вашего ответа сделает кучу доп запросов? Получается lazy всегда игнорируется или есть нюансы?
177 2590043
>>590029

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


Как понять любой тип?
Допустим у нас есть threadBeanPostProcessor ,у него есть метод
public Object postProcessBeforeInitialization(Object bean, String beanName)
Мы можем отсюда вернуть null или обернуть наш бин в прокси и вернуть уже его?

> прокси возвращается тому що после вызовов пост существующие бины не сразу уничтожаются. там че-то с транзакциями прикол какой-то.


Как связано уничтожение бинов и прокси? То есть если бы они уничтожались сразу мы могли бы вернуть просто бин? Зачем если они бы сразу уничтожались?
178 2590044
>>590031

>Получается при загрузки доски с 10 тредами и 50 ответами в каждом мы сделаем 500 запросов?


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

>То есть если я укажу коллекцию вложенных сущностей как ленивую хибернейт все равно загрузит их как жадные?


у меня было что указывал как ленивые, а хибер загружал как жадые

>Получается lazy всегда игнорируется или есть нюансы?


предположу что если он может делать джойн то он его делает и сразу загружает данные. А если джойн не выходит - то оставляет лейзи
179 2590048
>>590043
ты душный не понюхать тебе писечки
180 2590051
>>590043

>Мы можем отсюда вернуть null


да

>обернуть наш бин в прокси


нет

>Как связано уничтожение бинов и прокси?


как-то

>То есть если бы они уничтожались сразу мы могли бы вернуть просто бин?


нет

>Зачем если они бы сразу уничтожались?


затем
181 2590054
>>590044
Отвечу сам,lazy на коллекциях отрабатывает отлично. Подгружаться сущности будут только при попытке обратиться к их полям. Касательно твоего случая возможно ты обращался к полям вложенной сущности в сервисном слое или в мапере. Пример:
Сущность Доска и коллекцией Тредов.
До тех пор пока ты не сделаешь Доска.getТреды() треды не будут загружены,до этого момента у тебя хранится прокси,при обращении к которому будет загружена целевая сущность. Объект называется persistentBag если я правильно помню. То есть если у тебя жадно загружаются ленивые коллекции то ставлю 90% что ты обратился к их поляи,например при маппинге в дто
182 2590055
>>590051

> >Мы можем отсюда вернуть null


> да


Не можем,так как после postProcessBeforeInitialization вызывается инит метод

> >обернуть наш бин в прокси


> нет


Верно,по той же причине

> >Как связано уничтожение бинов и прокси?


> как-то


Не связано

> >То есть если бы они уничтожались сразу мы могли бы вернуть просто бин?


> нет


> >Зачем если они бы сразу уничтожались?


> затем


Вопросы задал чтобы показать неправильных ход рассуждений
183 2590059
>>590055

>Не можем,так как после postProcessBeforeInitialization вызывается инит метод


вообще не понял про что ты
я тебе про лайфцикл бина
у которого можно вызывать инит/пост методы помечая их аннотациями @PostConstruct и @PreDestroy
о каком ините после уничтожения речь?
184 2590062
>>590059
Сначала вызывает BPPbeforeInitialization потом вызывается инит метод, тот самый который ты пометил @PostConstruct если ты вернёшь из первого метода null то в пост констракт у тебя придет нулл и ничего создать не получится
185 2590067
Пачиму нельзя скопировать модуль расширения dashchan встроенной функцией идеи? Выдает ошибку Error adding module to project, причём без какой-либо дополнительной инфы. Зато если в полу-ручном режиме скопировать папку и переименовать там классы с файлами, то всё работает как положено
186 2590068
>>590062
хорошо. посоветуй тогда где можно посмотреть/почитать про спринг, чтобы на всю эту хуйню знать ответы? и вообще мне кажется ты меня специально пугаешь только, чтобы я отказался от затеи идти в жава энтэрпрайз
glqf3KV6Z2A.jpg97 Кб, 1233x357
187 2590085
>>590068
Я лично читал spring in action т смотрел доклады Евгения Борисова. Также полезно копаться в дебагере. Про персистант баг я например узнал оттуда. Вот тебе лайфсайкл как шпаргалка
188 2590103
>>590085
ну а ты сам устраивался куда-то? у тебя это все спрашивали?
189 2590112
>>590103
На практике спрашивали плюс минус. Я так долго сижу без работы что успел и докер поковырять и кафку немного. А вакансий с февраля в моем регионе ноль. Так что если ты не из дс судьба может быть к тебе жестока. Будешь как я своими знаниями на дваче выебываться
190 2590124
>>590112
так найди удаленную блядь хули ты как этот
у тебя знания есть по сравнению со мной
я нахуй 4 года на шее у мамки после вуза висел
ни опыта блядь ни знаний нихуя нет по сути
весь вуз блядь лаба1 лаба 2 лаба3 писал в консольке блядской
пока я сидел дрочил и прокрастинировал стек вырос так блядь что я ахуеваю буквально
а теперь добавь к этому то что если за месяц не освою спринг, не освою жава ЕЕ, не освою хибернейт, не напишу свой маленький микросервис для резюме (мне буквально не хуй показать работадателю, весь мой опыт это лаба 1 на шарпе, лаба2 на кутэ, лаба3 на с++, лаба4 на прологе, лаба5 на ассемблере, лаба6 на андроид, вот и думай бля), не найду работу, то неиронично рискую из КЗ упиздовать в окоп
я даже инглишь не знаю толком, могу только документацию читать и то с переводчиком под рукой
191 2590129
>>590124
Я откликался удаленно,все отказы, даже до собеса не дошло. Некоторые жирным шрифтом пишут тип удаленки нет или джуны только очно. При том что гит с петами имеется
192 2590131
>>590124
Я тоже рискую умирать поехать,че поделаешь
193 2590133
>>590129
создавай резюме на аутсорс биржах, линкедин, датаарт, люксофт, епам
194 2590134
>>590133
Датаарт теперь айтентика,я проходил у них джава школу лол. У них там три собеса тупо чтобы лекции послушать. При том одно это диалог на английском с носителем,ебать я там пропотел
195 2590224
Сап, жависты. Работаю автотестером на жаве.
Есть варинт перекатиться на жава-спринг-хибернейт разраба в кровавом тырпрайзе. Либо пойти дальше по автотестерской стезе развиваться.
Какой стул выбрать?
196 2590231
>>590224
Разрабом заработаешь больше деняк, чем автоматизатором.
197 2590241
>>590231
Ну, в перспективе, да. Но поначалу не уверен.
То есть, я могу стать синиор атомейшеном. Либо перекатиться на джун-мидл разраба. И мидл вероятно будет мой потолок на ближайший год-полтора. И еще надо учитывать, что это галера. Так что по деньгам, в короткой-средней перспективе, мне кажется, лучше автоматизатором быть.
Но тут не только в деньгах вопрос. Мне нравится кодить. Был проект, где было много свободы. И я пилил всякие тулзы по автоматизации, изучал что-то постоянно и т.д.
198 2590252
>>590241
Ну, представь, что будет через 5 лет, а не в короткой-средней перспективе. В любом случае, разрабом до миддла-сеньора дорастёшь быстрее, чем кажется, и там и там одно и то же программирование, просто вместо тестирования надо будет погружаться в предметную область и бизнес-требования, разница не так уж и велика.
199 2590268
>>590224
Те в целом самому как тестировщиком, нормально? К чему душа больше лежит?

Вроде как есть мнение что тестировщикам больше всех на орехи достается от чужого долбоебизма. Ситуация, когда на QA спускается невнятная параша от говнокодеров, которую не пойми как вообще тестировать, довольно распространена. Разрабам в целом немного чиловее живется (что на мой взгляд несправедливо, но похуй). Плюс, по моим наблюдениям, лучшие разрабы получаются именно из бывших тестировщиков: наверное потому что тестировщики знают толк в контроле качества, в отличие от среднестатистических долбоебов.
200 2590292
>>590009
Если не ошибаюсь тут имеет значение именно открытая сессия, а не транзакция
201 2590296
>>590024
А разве на этапе пост процесс афтер еще не факт, что бин будет запроксирован т.к по сути там и создается прокси? Чтобы произвести какие-то манипуляции именно с прокси обьектом правильнее наверн будет написать эвентлисеннер на контекст рефрешед, где уже точно контекст поднят, все бины настроены и запроксированы
202 2590300
>>590112
Плюсую, я уже кубер ковыряю во всю последний месяц, а все без работы, надеюсь, когда разберусь и поставлю еще один кейворд в резюме, офферы, наконец, повалятся

Хотя кого я обманываю…

Бтв, скажите плиз, пример дефолт таски с кубером, может мне уже его достаточно и пора переходить к чему-то другому
203 2590335
>>590252
Всегда казалось, что между мидл разрабом и сеньором прям серьезная пропасть. И, если в тестировании сеньора можно как-то относительно легко залететь, то будучи разрабом надо прям серьезно попыхтеть и прям дофига чего знать. Типа начиная от того, как на базовом уровне устроен язык, заканчивая всеми нюанасми технологии в с которой работаешь (спринг и т.д.).
>>590268
Мне норм. Но душа лежит больше к разрабству. Был проект, где я чисто пилил тестовый фреймворк. Раширял, добавлял новые фичи, фиксил баги. По сути можно сказать был разрабом. Никаких вооще тестов, регрессий, прочей херни. И это было прям круто и интересно. Сейчас пилю автотестики и это скучновато. Хоть и ненапряжно. Но ощущение, что занимаешься какой-то бесполезной хуитой.
У меня вот не то чтобы обратное ощущение. Но вижу часто, что разрабы пыхтят, тужатся, постоянно преодолевают какие-то траблы. А я сижу себе да тестики попиливаю. Поэтому еще и стремаюсь немного - вдруг я слишком тупой и не потяну.
204 2590338
>>590335
Между мидлом и синьором вполне себе осязаемая пропасть - мидл от синьора отличается тем, что мидл имеет достаточный набор компетенций чтобы принимать решения в рамках отдельно взятой бизнес-фичи или компонента. Синьор - человек, способный с нуля стартануть продукт. Синьорность это не совсем про технологии, хотя общая эрудиция тут роляет, да. Синьорность скорее - про вес твоего экспертного мнения и стоимость твоих ошибок.

> Был проект, где я чисто пилил тестовый фреймворк



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

Поэтому не прибедняйся, не считай себя тупым по сравнению с разрабами (ибо это - навязанный разрабами тестерам стереотип, который тупо ложь: как разраб с многолетним опытом говорю), учи новые штуки и пробуй себя, адекватно оценивая свои возможности. Если ты - на галере, и эта галера дает тебе возможность сделать внутренний переход с тестировщика на разраба - пользуйся этой возможностью: пройти этим путем кратно проще чем искать работу вхолодную.
205 2590389
>>590292
спринг и хибернейт может работать и без веба
206 2590587
>>590389
При чем тут вэб, в хибернейте есть свои сессии
207 2590761
обращаюсь к интервьюверам (я знаю, тут такие есть). как вы относитесь к тем, кто закончил вышку в ИТ, но как программист не состоялся? и имею ввиду под этим: не участвовал в открытых проектах, не довел до конца ни один из его собственных проектов, знания на уровне "потрогал то, это, пятое, десятое, но нихуя не разобрался досконально в чем-то одном".

и как относитесь к тем, к кому относится все тоже самое, что и выше, но только теперь он понял: времени было проебано и так много, поэтому надо брать любой популярный стек и учить уже хоть что-то, даже если оно тебе не нравится и по тебе это видно?
208 2590963
>>590761
Нормально относимся.

Мы не любим скакунов, у которых стаж весь - в лоскутах по три месяца длиной. А дальше надо разбираться, что ты имел ввиду под "открытыми" проектами.

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

>учить уже хоть что-то, даже если оно тебе не нравится и по тебе это видно?



Бесполезно. Выгоришь, будет еще хуже.

Тут надо просто пересматривать свои ценности. В идеале самое здоровое отношение к стеку и технологиям - чисто утилитарное. Когда ты, поинмая все его достоинства и недостатки, даже отдавая себе отчет что стек по сути - говно, знаешь как его эффективнее всего применять для достижения целей. А кайф получаешь именно от решения задач и своей роста компетенции.
209 2590977
>>590963

>Неумение доводить дела до конца?


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

>Бесполезно. Выгоришь, будет еще хуже.


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

>у которых стаж весь - в лоскутах по три месяца длиной


что это значит? разве это не

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


о чем я писал ранее?
210 2590986
>>590977

>разве это не говорит о программисте, что он ленивый хуй



Ну ленивый хуй разумеется никому не нужен. Но из твоего описания проблемы я понял что речь не об этом же, так? Насколько я понял, ты просто jack of all trades и никак не остановишься на прокачке в чем то конкретном. И как результат, не можешь растить грейд.

>что это значит? разве это не то о чем я писал ранее?



Трогать пятое-десятое - это не просто нормально, это хорошо. А вот что плохо, так это бросать свои обязательства (которые у тебя неизбежно появляются как только ты трудоустраиваешься). Если ты меняешь работу как носки, это для интервьюеров как раз звоночек, что не имеет смысла в тебя инвестировать свое время и деньги.
211 2591017
>>590986

>ты просто jack of all trades и никак не остановишься на прокачке в чем то конкретном


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

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

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

и я вот как представлю, что после изучении жавы иду на собес, меня там спрашивают про мой опыт, и я отвечаю на каждый вопрос "ну опыт был, да, только сейчас ничего не смогу сделать". мне аж хуево становится и кринжово со всего этого интервью. но в то же время вспоминать это все, чисто чтобы покозырять на собесе, как-то и нахуй не хочется, когда ты пришел на позицию жава девелопера собеседоваться...
212 2591029
>>590986
>>591017
т.е. я хочу понять, насколько ценен тот мой позабытый опыт длиною в условные 6 лет, добавив к этому 1 месяц вкатывания в жаву и завершенный 1 пет проект на ней? при условии, что моя цель - получить работу жава девелопером
213 2591058
>>591029
Ненене, давай разделять вопросы.

Сначала ты спрашивал "как мы относимся к таким". Ответ: нормально относимся.

Теперь ты уже задаешь другой вопрос: "насколько ценен твой позабытый опыт". И ответ уже будет другим. Ну... сам понимаешь - каким. Какой ценностью впринципе может обладать позабытый опыт? Ценностью обладают твои скиллы и навыки решения задач, а окончательно роляет ситуация, когда твои скиллы закрывают потребности потенциального работодателя. Те же скиллы определяют и твой грейд. Если твои скиллы - на уровне джуниора, значит и отношение будет на уровне джуниора.
214 2591078
>>591058
так я вкладывал этот же смысл про позабытый опыт еще сюда

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


ты это понял по своему

>ты просто jack of all trades и никак не остановишься на прокачке в чем то конкретном



я не спорю, что не совсем верно сформулировал свои мысли изначально.

>Какой ценностью впринципе может обладать позабытый опыт?


а разве это не говорит о человеке, что он как минимум способен к обучению? единственное, ему для этого нужно просто определенное количество времени. я лишь хочу понять: стоит ли это хоть чего-то? или лучше потратить еще пол года практики на жаве, написать 5-10 проектов и идти на собес, даже не упоминая о старом позабытом опыте?
215 2591113
>>591078
ты душный, чел
216 2591114
>>591078

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



Сорян тогда. Если че, я не подразумевал под этим чето обидное.

>а разве это не говорит о человеке, что он как минимум способен к обучению?



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

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

>лучше потратить еще пол года практики на жаве, написать 5-10 проектов и идти на собес



ИМХО при любом раскладе лучше идти на собес как можно раньше. Да, первые собесы ты завалишь, но получишь понимание - чего вообще ждать на собесах (и как результат, чего учить). А иначе ты можешь угрохать кучу времени на этих 5-10 петах, выучить хуй пойми что и все равно не пройти.

>даже не упоминая о старом позабытом опыте



Если не хочешь чтобы тебя спрашивали о позабытом опыте, лучше убрать. Но ты подумай - может он не настолько уж и позабытый?
217 2591132
>>591114

>Это здорово, но этого работодатель в первую очередь ожидает от вкатунов, стажеров, интернов и джунов.


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

>Но ты подумай - может он не настолько уж и позабытый?


на уровне синтаксиса точно. да и что вообще можно рассказать об этом? как создавал виджет через Qt4:: обращаясь к объекту <name>? разве что помню основы плюсов, потому что сложнее консольного приложения на них не писал. даже STL далеко не весь потрогал, не говоря уже о boost. козырнуть явно не чем, но и приходить и говорить "здравствуйте, я программист, пишу на жава 1 месяц, вот мой пет проект" как-то тоже...
218 2591153
>>591132

>да и кто лучше протестирует программу, чем сам программист?



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

>а я и не претендую на что-то выше джуна.



Ну тогда я думаю вопрос исчерпан. Добро пожаловать в реалии джуна 2022 года.
219 2591156
>>591153
хз, когда программист пишет приложение, сил писать юниты уже не остается. я и сам не люблю распыляться. если я пишу и сконцентрирован на чем-то, то я и хочу писать это.

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

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

под программистом я подразумевал человека, который знает как работают программы/код, как там все устроено, потенциально шаткие места и т.д.
220 2591162
>>591156

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


Потому что надо делать наоборот.
221 2591171
>>591156
Был период когда я так же думал. Сейчас я считаю иначе.

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

Ну а дальше весь вопрос сводится к тому, как писать юниты хорошо. И вот здесь у программистов все совсем плохо. Часть пытается каким то образом купировать свою некомпетентность посредством введения дополнительных ритуалов, aka test-driven development. По слухам - кому то оно даже помогло (но в основном - нет). Другая часть тупо забила на юнит тесты, и по старинке хайрят QA-команду, которая мейнтейнит высокоуровневый тест-сьют.
222 2591228
>>591171
Я пишу интеграционные тесты на все эндпоинты своего сервиса и считаю их очень полезными. Очень часто на этапе написания теста понимаю, что эндпоинт работает неверно.
С другой стороны не очень представляю, как можно писать по tdd в test-first стилистике. Это надо заранее на 100% понимать, как будет работать твоя апишка на вход и выход и припоминать все сайд-эффекты.
Типа вот есть такой пост запрос - вот три валидных запроса, 5 невалидных, вот ответы на это все, вот такое изменение в базе произойдет, вот тут вызов внешнего сервиса в таком формате, вот тут пук в кафку в таком формате, вот здесь обращение к серверу авторизации в таком формате. После написания эндпоинта я это сделать могу, хоть и времени на все это уходит раза в 2 больше, чем на написание самого эндпоинта. А заранее написать тест - это анрил.
джун+ спринг-крудошлеп
223 2591388
>>590338

>пилил этот фреймворк с нуля под ключ не в стол


Пилил не с нуля, конечно. Пришел, когда уже база была. Но добавлял какие-то новые фичи.
Спасибо за поддержку и советы.
224 2591414
>>589970 есть вакансия на копрокубах. Для начала сойдет. Пиши телегу или почту ответом, напишу.
225 2591430
>>591414
Сколько денег, что делать надо, какие технологии?
Если про деньги не хочешь тут отвечать, расскажи про остальное.
226 2591433
>>591414
@ancap_kun
227 2591434
>>589970
Никак.
228 2591465
>>591464 (Del)
Репорт.
229 2591466
Сап, анчоусы, только начал разбираться с ci и тут же вопрос, как я понял, при коммите в условный гитхаб срабатывает скрипт, который билдит твое приложение и запускает тесты, а как быть с датасорсами? Для этого делают отдельный тестовый профиль, в котором нет коннекшенов к базе или там есть какие-то инструменты, которые поднимут контейнер с чем угодно? Если есть то какие?
230 2591474
>>591466
Юниты запускаются на всяких ин-мемори HSQLDB/H2
Автотесты подключаются к полноценной СУБД, аналогичной обычной работе приложения. Ну какие там могут быть инструменты? CI-агент запускает приложение, оно подключается к отдельному серверу с СУБД, и всё.
231 2591477
>>591466

>там есть какие-то инструменты, которые поднимут контейнер с чем угодно? Если есть то какие?



testcontainers.org
232 2591484
>>591474

>>ин-мемори HSQLDB/H2


в них синтаксис будет отличаться и под них нужны свои скрипты миграции, лучше использовать testcontainer
233 2591488
Этим утром я напишу второй спринг.
sage 234 2591490
>>591488
Я просто терминально ебанутый!!!!!!!!!!!!!!!!!!!!!!!!
235 2591525
>>591488
уже шестой есть
236 2591756
>>588019
К счастью вкатился в golang, на работе пишем сервисы на chi, никакой магии энтерпрайз фреймворков и вообще привкуса энтерпрайза, хорошо...
237 2591759
>>589008
Маркет практически целиком на жабе написан, еще некоторые части клауда, толока, бизнес да и много где по мелочи.
Но в основном сейчас Go/C++/Python используют.
238 2591893
>>585661 (OP)
Посоветуйте, пожалуйста, хорошую книгу, чтобы понять ООП и объектный дизайн.
EgorBugaenkoElegantnyeobekty.JavaEdition.jpeg65 Кб, 836x1200
239 2592002
240 2592063
>>592002
Егор, плез...
241 2592211
>>591759
Любопытно, жаль в слив репозитория Яндекса это не попало.

>>591893
Мне понравилась эта
https://www.amazon.com/Object-Oriented-Analysis-Design-Applications-3rd/dp/020189551X/
Плюс книги по шаблонам. На русском есть "Погружение в паттерны проектирования" Швец А. 2021 Страниц: 400
242 2592287
>>592211

>Гради Буч


пон...
243 2592349
Сейчас будет, скорее всего, очень глупый вопрос, но всё же. Как кэшировать объекты на уровне приложения? Есть кэш 1 уровня у Хибернейта (хз, может и у всех, я пока чисто попсу ковыряю) - можно не закрывать сессию и иметь всё под рукой, есть какие-нибудь кэшинг-фреймворки, есть вариант навелосипедить что-то своё под конкретную специфику. Что выбрать? Что анон выбирает?
244 2592351
>>592349
@Cacheable хватит?
.jpg573 Кб, 1080x1204
245 2592359
>>592287
Что не так?
246 2592361
При разработке swing-приложения в Intellij idea его размер такой как надо. Но когда я делаю build и запускаю в папке jar-файл, размер окна и компонентов увеличивается многократно !
Почему так ? Теперь всё переделывать...
247 2592364
>>592361
Идея не поддерживает Swing.
248 2592399
>>592351
Хватит. Но что, только им пользуются? Не держат открытыми сессии, не велосипедят хэшмапы <String, CachedInstance>?
249 2592416
>>592211

>жаль в слив репозитория Яндекса это не попало


Где-то уже есть подробный разбор этого говнокода?
250 2592417
>>592399
Велосипедят конечно, но не от большого ума.
251 2592420
>>592349
ehcache
252 2592434
Так а кафка нужна как вариант быстрой передачи данных в бд или просто уведомление между микросервисами о выполнении того или иного процесса?
253 2592438
>>592434
Кафка уже научилась подключаться напрямую к постгресу?
254 2592450
>>592434
шина данных с писателями/читателями и всевозможными настройками этого процесса
255 2592479
>>592417
>>592420
Хорошо, понял, спасибо. Но всё-таки интересует момент с использованием кэша сессии в Хибернейте. Я щас на работе имею дело с проектом, там вообще никакого кэширования нет, есть только некий Tapestry Hibernate SessionManager, из которого всё время берётся сессия, которая никогда не закрывается. Я так понимаю, она вместо кэша и используется.
256 2592482
>>592479
это внутренний хибернейтовский в попытке снизить количество операций с бд.
Кеш обычно нужен когда например есть дорогие обращения к внешним сервисам, и ты кешируешь возвращаемое ими значение
257 2592501
>>592482
Ну вот меня как раз и интересует: можно ли в приложении, которое активно обращается к БД, кэшировать через Хибернейт таким вот образом? Так ещё и искать удобнее.
258 2592516
>>592501
нет смысла кешировать бд. Оно слишком быстрое (если правильное). Либо тебе нужна некая потокобезопасная мапа, куда ты срёшь из всех потоков
259 2592521
Что посоветуете изучить в дженкинсе джуну, над какими тасками стоит посидеть? Пока пишу простейшие одноклеточные джобы, но хотел бы разобраться как сделать так, чтобы приложение после успешного прохождения тестов собиралось и пушилось в докер реджистри, а потом каким-то образом оказывалось в кубернетисе, допустим с докером вроде изи, я поставил плагин, которое как я понял это сделает, но как это все направить в кластер с использованием чартов пока не разобрался, так что можете прояснить, ну или хотя б на вопрос ответьте
260 2592523
>>592521

>джуну


Вкатышу
Быстрофикс
261 2592532
>>592523
Окатышу.
262 2592533
>>592521
ничего.
это тебе надо девопса изображать.
то есть, ты спрашиваешь штуку, которая зависит от особенностей деплоя в кубер. А с точки зрения Jenkins тут абсолютно нечего изучать. Ты как запускал команды через sh, так и будешь запускать всю жизнь.
263 2592550
>>592521
Джуну надо знать о существовании дженкинса. Миддлу надо уметь нажимать на кнопку "Build Now". Есть ещё кнопка "Build with Parameters", но это уже уровень сеньора.
И я блять серьёзно. Ты разраб, а не девопс, к написанию пайплайнов тебя и на километр не подпустят.
264 2592561
>>592533
>>592550
Просто, почему я решил вообще начать изучать кубер, а теперь дженкинс, периодически видел тут от анонов посты о том, что разраб должен все равно что-то уметь показать в работе с этими вещами, у девопса много своих головняков по администрированию виртуалок изнутри, написанию каких-то скриптов и еще чего-то, чего я пока не знаю, тк не интересовался особо их профессией, или девопса может вообще не быть на проекте, будут говорить что-то про ю билд энд ю ран, да и наверное, с этими знаниями больше шансов пройти собес, чем без них, очень много на ждунов в требованиях пишут кубернетис же
265 2592579
>>592561

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


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

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


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

> девопса может вообще не быть на проекте


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

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


В требованиях это пишут, потому что разрабам приходится минимально в этом разбираться, чтобы локально развернуть сервер. Минимально - это значит знать пару-тройку команд и уметь гуглить, а не писать джобы и пушить образы в registry. Если на собесе один разраб говорит, что разбирается в девопсе, но хуёво решил задачу с алгоритмами, а другой ни черта не смыслит в девопсе, но задачу решил хорошо, возьмут скорее второго, чем первого.
266 2592602
>>592579

>>один разраб говорит, что разбирается в девопсе, но хуёво решил задачу с алгоритмами, а другой ни черта не смыслит в девопсе, но задачу решил хорошо, возьмут


Того кто попросил меньше сотыг, ведь код они писать будут одинаково хуево.
267 2592642
>>592602
Возьмут того, кто хорошо решил задачу, потому что он будет лучше писать код. Запрошенные сотыги роли не играют, потому что вкатыши часто просят намного меньше, чем установлена вилка, в итоге пришлют оффер ровно на столько, сколько стоит кандидат, ему остаётся лишь согласиться или отказаться.
268 2592677
>>592642

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


С чего ты это взял? Как решение алгосов проецируется на решение реальных задач? Или тебя не было в треде последние несколько дней и говнокод компании эталонных алгосодрочеров ты не видел?

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


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

>>ровно на столько, сколько стоит кандидат


Оффер будет ровно на столько сколько он попросит, если это не выше определенной суммы. Готовы дать сотыгу, но попросил 30к - получит 30к.
269 2592694
>>592677

>попросил 30к - получит 30к


Не, нихуя, на собственном примере знаю, когда устраивался на первую работу, просил сотку, а оффер дали на 130
270 2592697
Реально стать джава-господином вкатунишке без технической вышки? Или мой удел в бэкенде - дрочить петухоны и пхп?
271 2592732
>>592697
Реально.
272 2592826
>>591430

Я думал, что на мою пасту никто не откликнется, но раз такое дело, тогда контакт свой оставлю и лично расскажу, если кому интересно > mcdaniel-ra=YksselANUSisggnternetPUNCTUMr#f`u
273 2592827
>>592826
А что тут рассказать не можешь? Мне твоя вакансия неинтересна, а что за проект с майнкрафтом - любопытно.
274 2592847
>>592827
>>591414
Блять, так кубы - это майнкрафт, а не kubernetes. Дно пробито.
275 2592870
>>592063
Моментальный подрыв тупоголового неосилившего ООП.
276 2592943
ПОШЁЛ НАХУЙ, ЕГОР!
277 2592950
>>592943
Да не гори ты так.
278 2592967
Kata Academy обучает наебывать работодателей?
279 2592985
>>592967
Сначала они наёбывают тебя.
280 2592988
>>592967
Дык я ж академий не кончал
281 2592999
>>592827
Не ЦА
282 2593004
Расскажите как у вас в компании принято организовывать pom-ы, делите по секциям (тестирование, персистенс и т.д) или просто лепите подряд? Что в родительском поме?
283 2593006
284 2593024
>>592416
Я не следил за историей дальше раздачи.
285 2593025
>>593004
версии вверху, в пропертисах. Сами зависимости стараются делить по блокам, но в итоге всё смешивается
286 2593138
>>593004
ПООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООООХУЙ.

Мавен не градлопараша. Как ни набросай - всё понятно.
287 2593142
>>593004

В родительском поме - все плагин-биндинги, организованные по профайлам + dependencyManagement и pluginManagement. В дочерних помах - зависимости и только зависимости.

Активация у профайлов настраивается таким образом, чтобы профайл активировался по умолчанию ровно на тех подпроектах, где он нужен. Например, сборка докер образа активируется только в проектах с Dockerfile.
288 2593163
>>593142
>>593004

А, и еще. Самый главный, можно сказать мастхэвный плагин: это maven-flatten-plugin. Он после билда вычищает из помника все что не зависимости, инлайнит все паренты и деливерит такой помник в реп, вместо оригинального. Это устраняет множество корнер-кейсов, в которые можно впороться в вышеописанной мной схеме
289 2593170
Что должен делать РЭСТ эндпойнт вида
POST /resource/{id}
?

Создавать ресурс с заданным айди? Обновлять ресурс? Запускать какую-то операцию на ресурсе?
290 2593172
>>593142

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


Дай пример. Мне по документации показалось что там толком ничего не настроить.
291 2593180
>>593170
Спроси у того кто его написал.
При создании id не указывается - его генерирует приложение/бд.
292 2593182
>>593170
всё что угодно. Скажи спасибо рест сектантам
293 2593190
>>593170
Ебать твою сестру id раз.
294 2593214
activation.png37 Кб, 530x417
295 2593262
>>593172
У каждого профайла есть секция активейшн, через которую можнро сказать, при каких условиях этот профайл должен запускаться. И ее можно по всякиому эксплуатировать если проявить фантазию и придрочиться. Например, можно настроить профайл на проекты с тестами, проверив на существование src/test/java. Или сделать профайл который запускается для всех проектов, проверив на существование pom.xml. Помимо файлов, профайлы можно активировать пропертями, или в зависимости от операционки.

Но есть нюансы. Например, активация activeByDefault - не то, чем оно кажется на первый взгляд: https://maven.apache.org/guides/introduction/introduction-to-profiles.html

>All profiles that are active by default are automatically deactivated when a profile in the POM is activated on the command line or through its activation config.

296 2593270
Required type: capture of ?
Provided type: capture of ?

Это что за хуйня?
297 2593272
>>593270
Дженерики не сошлись.
298 2593389
Почему на плюсах тырпрайз не пишут? В чем проблема написать идеальные отдебаженные и быстрые либы, с которыми было бы удобно и быстро работать?
299 2593391
>>593389
Попробуй.
300 2593401
>>593389

Плюсы слишком больно пиздят за ошибки. Джава в самом начале как раз и вывозила за счет трейдоффа - ты жертвуешь производительностью, получая взамен гарантии безопасности. В начале трейдофф был прям пиздецовый (мемы про хеллоу ворлд за 67 гигабайт - как раз с тех времен), но с введением JITа и современных GC трейдофф выровнялся. Ну и сролял тот факт, что в определенный момент железр стало стоить кратно меньше разработчиков.
301 2593404
>>593391
а что пробывать тут? берешь и пишешь. если команда красноглазиков есть вообще супер, взяли, сели и написали. кабаны просто тупые не согласятся свои легаси менять на не понятно что. а так в теории можно было бы рыночек за 1 день перезагрузить и жава больше не нужна нигде никому кек
302 2593410
>>593401

>Плюсы слишком больно пиздят за ошибки


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


просто сесть, написать все четко, покрыть тестами каждый пук, архитектуру выстроить так, чтобы пользователям не пришлось даже думать о выделении памяти чему-либо. условно аналог спринга можно сделать, где под капотом будут все эти страшные вещи происходить, а ты только как макака вызывать статичные методы
303 2593411
>>593410
На плюсах сделать все вышеперечисленное тупо дороже чем на джаве, вот и все. Не забывай - время разработчика кратно дороже железа (за редкими исключениями в лице эмбеддед, где по железу иной раз тупо альтернативы нет).
304 2593413
>>593411
какая разница будешь ты вызывать метод контроллера на жава или на плюсах. я же сказал, сделать архитектуру библиотеки, похожую на спринг, только со своими нюансами, но не ведущими к увеличению кода.
305 2593416
>>585661 (OP)
Мне вот интересно если я скачал Идею с торрента, активировал по инструкции, она заработала то могут ли как-то узнать что я ее пизднул например когда через нее будут коммиты в профиль гитхаба? Короче сулит ли это проблемами в будущем?

Как себя представить в линкедине и гитхабе чтоб это было правильно, ну в смысл мне какой-то никнейм себе придумывать рядом с моим именем и фамилией?

Моя основная почта должна быть с моей фамилией или же с никнеймом?

Очень хочу все сделать правильно, чтоб это не сыграло против меня когда начну рассылать резюме. Умудренные опытом аноны, помогите молодому и неопытному советом.
306 2593417
>>593413
А поддерживать эту библиотеку, фичи пилить, интеграции новые, аннотации - по твоему забесплатно будут?

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

Или ты что думаешь - коли есть спринг, человеки ограничиваются лишь шлепаньем аннотаций? Есть стопятцот способов и спринг сломать, так то.
307 2593426
жаву джуну надо знать прям всю? или основные моменты? коллекции, лямбды, потоки? если открыть доку к жаве, там дохулион классов всяких, это кто вообще все знать может даже в теории?
308 2593429
>>593417

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


можно изначально сделать собственную либу для разработки основного фреймворка. лезть в сами кишки придется только, если понадобится добавить что-то абсолютно новое
309 2593430
>>593429

>можно изначально сделать собственную либу для разработки основного фреймворка.



Ну вот считай - джавовый хотспот и есть такая либа. Он аккурат на плюсах и написан.
310 2593436
>>593426
Никто этого и не знает. Есть основные общеиспользуемые классы. Многопоточку даже далеко не все знают, но вот коллекции надо знать короче, не только как с ними работать, но и как они устроены под капотом. Лямды глупо не знать, потому что что там знать вообще?
311 2593443
>>593436

>Лямды глупо не знать, потому что что там знать вообще



Метафактори, бутстрап методы, invokedynamic :)
312 2593448
Можно ли выпросить себе оффер на две с небольшим сотыги будучи джава мидлом? Или это будет скорее исключение и столько только помидоры получают?
313 2593455
>>593436

>но и как они устроены под капотом


зачем? Они эти реализации ещё и меняют постоянно
314 2593488
>>593455
Нет, не меняют.

LinkedList был и остается связным списком, ArrayList был и остается списком на основе массивов, HashMap был и остается хэш-бэйзд мапой. Они могут фиксить там баги и тюнить оптимизацию, но суть их внутреннего устройства была и остается прежней.
315 2593566
JDBC API, Spring Data JBDC, Hibernate, Spring Data JPA, JdbcTemplate
блядь, что учить из этого? нахуя так много одного и того же?
316 2593578
>>593448
Можно. Но скорее всего хахуй пошлют
317 2593592
На каком уровне происходит хэширование пароля? На уровне сервиса, который работает с репозиторием перед тем как сохранить юзера? Прост как мне кажется, это не безопасно, а другие способы в голову не приходят, разве что в фильтре вклиниваться
318 2593631
>>593566
Это легаси, чел... Если тебе на собеседовании говорят, что они используют хубирнейт, то это легаси без каких-либо перспектив
319 2593634
>>593592
Фильтр по определению при прочих равных не может быть безопасней сервисного слоя: оба они - часть одного процесса.

Если юзаешь spring security, то следуй докам: там есть такое понятие как PasswordEncoder, с помощью него и шифруется пароль при добавлении юзера.

Если нет, то все равно как сделаешь.
320 2593647
>>593566
Нахуя ныть об одном и том же? Не интересно учиться, вьеби пива. Хули тебе еще посоветовать.
321 2593662
>>593634
Ну я так и делаю сейчас, инжекчу пассворд энкодер в сервис и делаю энкод пароля перед сохранением. Просто, что мешает при таком исполнении какому-нибудь разрабу написать какой-нибудь аспект, который будет дтошку с незахэшированным паролем отправлять ему на почту?
322 2593668
>>593662
Ничто не мешает. А что мешает разработчику написать фильтр поверх твоего фильтра, и соскрябать пароль до того как ты его заэнкодишь? Что мешает ему впринципе выкинуть твой фильтр?

Ты этому разрабу ничего особо не противопоставишь, кроме пиздюлей на кодревью. Ну может archunitом еще можно запретить менять сорцы определенным образом. Или выделить все сисурити в отдельный модуль, доступ к сорцам которого не давать всем подряд, но это тоже скорее организационные решения проблемы, нежели технические.
323 2593677
>>593566
Учишь вот это : jdbc(учить не так и много, глубоко не надо, можно и вовсе пропустить) -> hibernate(придется поебаться) -> spring data jpa(тут объем тоже небольшой). Каждое последующее - обертка над предыдущим.
Spring Data JBDC - не нужен от слова вообще.
jdbcTemplate - встречается, но не так чтобы много давал поверх голого jdbc.
Еще есть jooq и mybatis.

На собесах надо будет отвечать про устройство хибера, а в тестовых писать на spring data jpa.
324 2593680
>>593668
Ну про фильтр я скорее вкладывал то, что пароль так меньше времени будет находиться незахэшированныи в памяти, тк фильтры идут раньше контроллеров и сервисов. Так же я читал, что пароли полагается хранить в массиве чаров, чтобы потом его можно было пофасту заклирить, в отличие от стринги, до которой гк хуй знает когда доберется. А это означает, что к памяти как-то можно получить доступ и оттуда пароль как-то считать, получается фильтр все-таки чуть лучше будет.
Ну или это все хуйня и похуй, где хранить
325 2593693
>>593680

Я хз насчет того хуйня это или нет, но на твоем месте я б забил и сделал по гайдам, или как получится.
326 2593717
>>593677

>hibernate(придется поебаться)


Еще бы, ведь нормальных книг нет, а документация говна.

>spring data jpa(тут объем тоже небольшой)


Минимум книга на 600 страниц, которую нужно будет проработать в течении полугода.
327 2593718
>>593647
о чем ныть шиз я не помню когда тут ныл последний раз
328 2593719
>>593717
книжный червь, ты? сколько книжек прочитал? какая зп?
329 2593721
>>593631

>легаси


>хубернейт


значения знаешь?
330 2593747
представим вам похуй на зарплату и карьерный рост
вы знаете программирование (язык не важен)
вам нужна работа, но вас не берут никуда
но вам предлагают поработать преподавателем программирования в онлайн школе для детей
вы бы согласились?

алсо, есть у кого опыт работы преподавателем в этих школах? какие плюсы/минусы? сильно напрягает сидеть в конфе с микро челами, да еще и с вебкой?
331 2593751
>>593717
Книга по хиберу есть. Ей лет 10, но устраела она совсем немного. Причем то что там есть, это оверкил для новичка, хватит десяток статей про основные апихи жизненный цикл энтити, методы энтитиМенеджера и кеши. jpql, лейзи инициализация, entity graph. Поебаться придется скорее на практике.
Спринг дату учить почти не надо, тупо открываешь хеловорд на баелдунге и пользуешься. Ну и доку открыть можно. Там дока - 50 страниц из которой половина не нужна.
332 2593757
>>593747
Не согласился бы. А если с дуру согласился, то выгорел бы.
На меня джуно-стажера скинули и когда он тупит - меня это бесит неимоверно. Хотя тупит не то чтобы прям очень.
Просто умение преподавать это отдельный скилл, для которого нужны задатки и который надо качать. Задатков у меня нет, а тратить время на прокачку мне не хочется.
333 2593765
>>593757
а как у тебя с боязнью аудитории? как по мне, это самый главный камень преткновения... я например понимаю, что у меня нет педагогического, и в роли преподавателя я ни разу не был, но я бы согласился попробовать, если бы не знал, что я туплю во время любых выступлений, меян накрывает ебейшее волнение, из-за этого в голове полный крах. как вспомню как диплом защищал, это вообще пиздец тушите свет. казалось бы, тут дети и с ними проще, но нихуя...
334 2593772
>>593765
Ну бывают небольшие коммуникативные проблемы. Если надо что-то коллегам рассказать, моя и так неидеальная речь становится еще немного хуже. Начинаю заикаться и запинаться. Замечания никто не делал, но я по записи и сам слышу.
Но чтобы боязнь и прям жесткое волнение - нет. Мне просто трудно выступать и от этого неприятно это делать. Думаю это все опять же прокачивается. Но я бы не очень хотел на это время тратить.
335 2593784
>>593747

>>школе для детей


Для этого мало знать программирование, надо еще и базовыми навыками дрессировки животных владеть.
336 2593785
На гитхаб проект вместе с логированием заливать ? Или логирование используется исключительно во время разработки для дебага, а затем удаляется ? Подскажите пожалуйста как правильно.
337 2593788
>>593719
лол
338 2593790
>>593785

>>Или логирование используется исключительно во время разработки для дебага, а затем удаляется ?


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

>>вместе с логированием заливать ?


Если ты про конфиг логбэка - то да, с ним.
339 2593797
>>593790
Обычный калькулятор, логирование в консоль идёт. Конфиг отсутствует.
340 2593820
У спринг бута документация - 2000 страниц, которые нужно прорабатывать 2 года.
Вопрос.
Как создать проект?
341 2593822
Сейчас реально попасть на проект с легаси из 1998 - 2003? Есть тут такие? Почувствовали ли в этот момент некую романтику тех времен? Было чувство прикосновения к истории?
342 2593823
>>593820
Ку ку ?
343 2593824
>>593790
То что в консоль пукает, оставлять иди удалить ?
344 2593842
>>593822
Ну а чем легаси 25-летнее будет отличаться от 10-летнего?
Если там версия языка 25-летняя или библиотек, значит это или какой-то совсем кал, что не смогли найти человекочасы на миграцию или изменения вносятся раз в несколько лет.
345 2593843
>>593823
Это шарпоблядь местная срет.
346 2593847
>>593797
Если ты там через system.out выводишь - то не надо такого в коде.
347 2593862
>>593820
800 страниц, из которых треть это перечисление бесконечных пропертей. Зачем ты врешь?
348 2593864
>>593842
Тем, что тогда про код стайл мало кто знал. Либы олдовые с приколами своими, о которых ты даже подумать не мог. Сидишь и представляешь, как кто-то сидел это 20 лет назад писал. Булка хлеба 7 рублей стоила, сникерс 10 рублей. Программирование не было мейнстримом.
349 2593866
Нужно ли для собеседований создавать отдельный гитхаб и заливать туда пару пет-проектов ? Или давать ссылку на основной ?
350 2593870
>>593864
Программирование и 10 лет назад не было таким уж мейнстримом.
351 2593871
>>593870
10 лет назад уже каждая юристо-блядь знала, что надо в ойти вкатываца за баблом.
352 2593875
>>593871
Нет, я 10 лет назад закончил юридический и не было хайпа.
Мои одноклассники, закончившие мухгу на кодеров больше года не могли найти работу. Устраивались тестировщиками, в техподдержку, аналитиками, чтобы им через годик дали перебраться в кодеры.
Двое знакомых пошли на завод. Один дико выебывался, когда через год дошел до 2.5 мрот, когда все остальные получали полтора.
Хайп лет 7 назад начался, а вот прямо нормально лет 5 назад. Тогда очень многие знакомые юристы, экономисты, филологи и журналисты стали вкатываться один за другим.
353 2593900
>>593875

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


Звучит отвратительно ...
354 2593902
>>593900
и жутко ._. Реально вот...
355 2593918
>>593822
Только смежники, там сидят деды предпенсионного возраста, вкатившиеся ещё в те времена, новичков не берут. Романтики на самом деле никакой, один говнокод, который и не развивают даже, а просто поддерживают, чтобы продолжал работать. Хотя та, был одно время восторг от забытых технологий предков.
У самих легаси 2006 года, получилось как ответвление более древней системы, написанной в 90-х. Там и от джавы были только обёртки над веб-сервисами с RPC, вся логика была на PL/SQL, никакой веб-разработки, одни десктопные клиенты на плюсах, делфи и вижуалбейсике. Сейчас уже почти всё переписали на джаву, но с древнего десктопного клиента так и не слезли.
356 2594031
Какой дебил из жидбрейнсов придумал не делать пустую строку между параметрами и зависимостями в генерируемом pom.xml при создании проекта?
357 2594033
>>593416
1. Не должно, но лучше просто активируй триалки.
2. Как хочешь.
3. Как хочешь.
4. Это заметно, этап отбора через тухлодырую хр не пройдёшь.
.png246 Кб, 400x400
358 2594034
359 2594036
>>594034
К чему ты вообще высрал это?
360 2594037
>>594031
Нашел на что порваться. Лишний раз энтер жмакнуть не судьба? Эта ссаная строчка - самое малое из говнищ идейки. У них до сих пор переименование и удаление модулей в проекте не работает нихуя, а ты на какую то строчку бомбишь.
361 2594039
Архитекторы,поясните как лучше хранить информацию о сотрудниках:сделать одну таблицу и в ней дохуилиард полей или разбить на документы. Отдельно таблица с паспортом, отдельно с военником и тд. Второй вариант кажется красивее,но тут возникает вопрос как принимать данные по хттп. Сделать фасад,в который собирать все данные и раскидывать по сервисам сохранения или забить хуй и заставить пользователя заполнить все эти документы и вручную передовать айдишники при создании записи о сотруднике?
362 2594041
>>594039

> Сделать фасад,в который собирать все данные и раскидывать по сервисам сохранения


Ну конечно. Принимаешь одну родительскую DTO-ху с инфой о юзере и вложенными DTO-хами с документами, на уровне сервисов/DAO просто распихиваешь всё по таблицам.

> заставить пользователя заполнить все эти документы и вручную передовать айдишники при создании записи о сотруднике?


Сам потом пожалеешь об этом. Это бесконтрольный нетранзакционный процесс, клиенту надо будет слать несколько запросов с риском, что что-то на полпути пойдёт не так, и надо будет всё откатывать вручную или смириться с тем, что в БД будет копиться мусор. Да и очень сложно уследить за хитрыми пользователями, которые подставят чужие ID и привяжут документы другим пользователям.
363 2594049
>>594041
Понял спасибо,были сомнения не считается ли говнокодом хуячить одну мега дтошку и потом разбирать на сущности
364 2594101
Установил плагин для идеи, который требовал перезапуска. Перезапустил. Теперь при запуске выдаёт критическую ошибку
Internal error. Please refer to https://jb.gg/ide/critical-startup-errors

com.intellij.diagnostic.PluginException: Fatal error initializing '
com.github.kennedyoliveira.ultimatepastebin.component.UltimatePasteBin
' [Plugin: com.github.kennedyoliveira.ultimatepastebin]

Чё делать в таком случае? Я даже удалить плагин не могу.
365 2594202
>>594101
Сносить идею, накатывать новую.
366 2594319
Три года работаю с Java в европе. Вроде все норм, чиловайя работа, сижу на двачах, слушаю подды, хуй пинаю итд все довольны моей работай. Но как же скучно. Сейм у когото? Хочется в фронт-энд ворваться чтобы хоть видеть что я програмигую
367 2594363
package lessons4;

class Student {

int ticket;
String firstname;
String lastname ;
int studing;
int math;
int economic;
int lang ;
String course ;

Student (int t1 , String firstname1 , String lastname1 , int studing1 , int math1 , int eco1 , int lang1, String course1 ) {

int ticket = t1 ;
String firstname = firstname1 ;
String lastname = lastname1 ;
int studing = studing1 ;
int math = math1 ;
int economic = eco1 ;
int lang = lang1 ;
String course = course1;
}

Student (int t2 , String firstname2 , String lastname2 ,String course2 ) {
this (t2 , firstname2 , lastname2 , 0, 0 , 0, 0, course2 ) ;

}
}

public class StudentTest {

public static void main(String[] args ) {

Student student1 = new Student (1 , "petr" , "iriiri" , 45 , 5, 5 , 8, "hhjL" );
Student student2 = new Student (2 , "ivan", "kokokoko" , 0, 0, 0, 0 , "literatura") ;

System.out.println(student2.firstname) ;

}
}

Почему компилятор вдаёт null ? когда должен выдавать ivan.

компилятор также не выдаёт никакой ошибки ю нихуя не понятно
367 2594363
package lessons4;

class Student {

int ticket;
String firstname;
String lastname ;
int studing;
int math;
int economic;
int lang ;
String course ;

Student (int t1 , String firstname1 , String lastname1 , int studing1 , int math1 , int eco1 , int lang1, String course1 ) {

int ticket = t1 ;
String firstname = firstname1 ;
String lastname = lastname1 ;
int studing = studing1 ;
int math = math1 ;
int economic = eco1 ;
int lang = lang1 ;
String course = course1;
}

Student (int t2 , String firstname2 , String lastname2 ,String course2 ) {
this (t2 , firstname2 , lastname2 , 0, 0 , 0, 0, course2 ) ;

}
}

public class StudentTest {

public static void main(String[] args ) {

Student student1 = new Student (1 , "petr" , "iriiri" , 45 , 5, 5 , 8, "hhjL" );
Student student2 = new Student (2 , "ivan", "kokokoko" , 0, 0, 0, 0 , "literatura") ;

System.out.println(student2.firstname) ;

}
}

Почему компилятор вдаёт null ? когда должен выдавать ivan.

компилятор также не выдаёт никакой ошибки ю нихуя не понятно
368 2594365
>>594319
Вообще не сейм. Вкатился в джаву, потому что не хочу на фронт.
Правда не три года, а полтора.
Хотел петик написать, чтобы потрогать кое-какие технологии на джаве. Но потом понял, что нормальному пету нужен фронт, а я пиздец как его не хочу писать.

>в европе


Правда, что в европе джава это не второй язык на беке, после пхп, как в рф? Тут кто-то приносил, что джаву и шарпы и нода и питон обгоняют.
369 2594382
manga guide.png299 Кб, 378x499
370 2594387
>>594319
Разве сложно ворваться во фронт, имея навыки Java?
371 2594402
>>594363
У преподавателя своего спрашивай, хули к нам свое говно принес?
372 2594411
>>594365

>нормальному пету нужен фронт


Кафка, эластик серч и идея ржут над вкатуноидом
373 2594418
>>594387
Можно только вкатиться яйцами в твою мамашу.
374 2594433
Блядь, ПШП тред мёртв по этому спрошу у вас.
Как организовать лучше ветки в учёбном репозитории гита?
У меня два источника задачек(курсы/книги) которые я решаю и хочу закидывать в две разные папки в один реп.. Все просто скидывать в мейн? Или для каждой папки создать свою ветку, а потом, когда все задачки решу, слить в мейн? Как правильнее или лучше не заморачиваться?
vizit.png149 Кб, 567x462
375 2594435
>>594418
катись нахуй ,сиротка
376 2594469
>>594435
К чему твой пикрил, долбоеб?
377 2594477
>>594402
>>594402

System.out.println("забыл тебя хуесоса спросить , мать твоя шлюха а ты пидарас хуесос членодевка насадка для хуя пидарас ебал твою кошку " ) ;
378 2594525
>>594433
мастер - то что сейчас на БОЕВОМ сервере
девелоп - главная ветка разработки
release/1.0 - релизы
feature/..
bugfix/... - ветки по таскам
379 2594526
>>594411
Так я и хотел именно что-то такое и сделать. На с 3-4 сервиса, с кафкой, дискавери сервисом, апи гейтвеем, секурити провайдером, метриками в прометеусе, логами в эластике, трейсами в зипкине и распределенными кешами в редисе, потом кубер подрубить. Но с фронтом на сваггере это уныло очень. Нужно хотя бы пару табличек, три кнопочки и формочка. И с этого надо начинать.
Наверно начну и без фронта, как засяду за книжку по спринг секурити.
380 2594527
>>594411
Так я и хотел именно что-то такое и сделать. На с 3-4 сервиса, с кафкой, дискавери сервисом, апи гейтвеем, секурити провайдером, метриками в прометеусе, логами в эластике, трейсами в зипкине и распределенными кешами в редисе, потом кубер подрубить. Но с фронтом на сваггере это уныло очень. Нужно хотя бы пару табличек, три кнопочки и формочка. И с этого надо начинать.
Наверно начну и без фронта, как засяду за книжку по спринг секурити.
.jpg69 Кб, 610x476
381 2594528
382 2594537
>>594525
Понятно. Значит непринципиально т-к. решённую задачу можно как "боевую". Но чисто ради посмотреть как работает/попрактиковаться, можно считать, что решённой задачей считается прохождение всей книги.
Думал мб там с коммитами какая путаница
383 2594632
>>594433
Мастер - прод ветка. Там рабочий и протестированный код.
Дев - ветка разработки там код тоже рабочий, но не протестированный и возможны баги.
Некоторые шизы вроде этого >>594525 угорают по гитфлоу, остальные просто делают ветку от дева на каждую фичу и вливают ее в дев.

На учебном можешь оставить мастер, делать отдельные ветки на фичу и мержить их в мастер. Тогда и CI себе настроишь минимальный, и ебаться с ветками не придется.
384 2594647
>>594363

>Student (int t1 , String firstname1 , String lastname1 , int studing1 , int math1 , int eco1 , int lang1, String course1 ) {


>


>int ticket = t1 ;


>String firstname = firstname1 ;


>String lastname = lastname1 ;


>int studing = studing1 ;


>int math = math1 ;


>int economic = eco1 ;


>int lang = lang1 ;


>String course = course1;


>}



Потому что ты в конструкторе наобьявлял бессмысленных локальных переменных, а в аттрибуты класса нихуя не присвоил. Переписывай.
385 2594731
Обязательно ли необходимо модульное и интеграционное тестирование к своему пет проекту?
386 2594738
>>594731
В пет-проекте ничего не является обязательным.
387 2594861
>>594731

Обязательно. Иначе не научишься.
388 2594884
В пет-проекте обязательно юзать asp.net. Иначе не научишься.
389 2594934
>>594861
Я пару раз в предыдущих проектах написал и забил, в новых петах скипаю написание этих тестов унылых, пиздец можно со скуки сдохнуть пока этим занимаешься. На каждый метод по несколько сценариев, умножить это на количество классов, потом еще апишку протестить, базу и это минимум, пиздец короче.
390 2595094
Что спрашивают на собесе у мидлов по секьюрити?
391 2595095
>>594934
Если ты для себя все уже решил, зачем спрашиваешь?
392 2595096
>>595095
Я другой анон
393 2595117
КАКОЙ НАХУЙ 1000$ ЗА ИДЕЮ ВЫ ЧЁ ЁБНУТЫЙ?????????????
394 2595125
Что делает, если мавен очень долго инициализируется? Я нажимаю install, и проходит 9 секунд перед тем, как мавен тупо начнёт собирать, и эти 9 секунд тупо консольная строка висит в идее. У меня проект маленький, и эти 9 секунд это много, тестить неудобно.
395 2595187
>>594934
Для пета который будешь демонстрировать они нужны, хотя бы для виду. Чтоб показать что хуе-мое чистый код, идеальная архитектура.

На реальном проекте то конечно похуй на них - только если заставляют писать. Да и то я ебал все кейсы покрывать - 100% покрытие есть и ладно, дальше пускай тестировщики ебутся и все проверяют.
idfead.JPG49 Кб, 878x743
396 2595188
>>595117
Где ты там 1000$ увидел?
397 2595197
>>595117
С таким отношением только Эклипс!
398 2595307
>>595188
Мне 944 доллара показывало с НДС.
399 2595337
Аноны, какой стек нужен чтобы можно было идти на работку? Понятно что везде разные требования, но минималка должна ж быть какая то?

Какие у меня шансы?

Java Core,
PostgreSQL,
HIbernate
Spring ( MVC, Boot ) - Security в процессе, REST еще не начал.

Что еще надо обязательно выдрочить, чтоб на собес идти?
400 2595358
>>595337
Java 8-17 (Collections, Stream API, Concurrent)
Maven/Gradle
JUnit, Mockito
Git
SQL
JDBC
POSTGRES
JDBC Template
Lombok
Hibernate
DB Migration (Liquibase, Flyway)
Spring Framework (Core, MVC, Boot, Data, Security (oAuth2), Test, Validation, AOP)
OpenAPI (API First)
Docker (Testcontainers)
K8ts
MB (Kafka)

И это я только технологии перечислил, еще надо знать паттерны и алгоритмы (хотя бы на базовом уровне).
401 2595367
>>595358
Еще в обязательных забыл Jackson

А в найс ту хэв добавил Jooq и MapStruct

если че, дополняйте список аноны, может что-то забыл вписать
402 2595378
Талмуд на тыщу страниц про Lombok.
403 2595382
>>595378
Ну меня как-то спрашивали про то, как он работает под капотом и некоторые редкоиспользуемые аннотации

Еще один раз спросили как его тестировать, лол
404 2595430
>>595382
Устройство сетей и монга
405 2595507
>>595367
Ну его можно и не выделять, это основная библиотека с которой работаешь при работе с Spring MVC.

Ну и по моему для сваггера скорее не api-first, а springdoc-openapi. api-first это типо круто и хороший тон, но с помощью аннотаций к готовому контроллеру сваггер прикручивают чаще.
Ну и кубер нужен не везде.
406 2595538
Как получить юникс время сегодняшнего дня в условные 5 часов?
407 2595548
>>595538
Чат гпт ответил.

Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
calendar.set(Calendar.HOUR_OF_DAY, 5);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
long unixTime = calendar.getTimeInMillis() / 1000;
System.out.println("Unix time of today at 5 o'clock: " + unixTime);

Пиздец, я же с этой хуйнёй совсем думать разучусь.
408 2595574

>с помощью аннотаций к готовому контроллеру сваггер прикручивают чаще


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

>кубер нужен не везде


Ну и не требуется знать его на уровне девопса и уметь по памяти написать любой манифест, я думаю достаточно посмотреть курс от адвита на ютубе и задеплоить свой пет в кубер хотя бы локально.
Хотя для меня интереснее было в клауде, у мэила вроде неплохой клауд, только там регистрация 500р, у яндекса вообще интерфейс не понравился и гайды хуевые хуй знает для кого делались, но там регистрация бесплатная и он в целом дешевле.
409 2595579
410 2595598
>>595378
Зачем он вообще нужен? Он только тормозит и баги всякие из-за него. Неужели так сложно сгенерировать геттеры и сеттеры!?
411 2595641
Я считаю, что к списку >>595358 нечего добавить, скорее надо убавить немного. Разве что по диаганали почитать про монгу, кликхаус и редис, чтобы говорить в чем отличие nosql баз.

>>595574
Ну кубер я бы из обязательного убрал, на совсем последнем месте поставил в твоем списке. И если нужны хотя бы поверхностные знания кубера, значит нужно еще понимание вообще микросервисной архитектуры и ее паттерны(service discovery, circuit breaker, распределенные транзации) - ну и пользоваться всякими штуками - например в api-gateway эндпоинты знать как и зачем прокидывать.

Spring Security может или не быть(вместо него какой-нибудь keycloak) или он есть, но к нему новичка не допустят. А если на тестовом будет авторизация, то хватит и http basic.

Concurrent в жава-коре не мастхевная тема, много где не спрашивают. Мастхев к коллекциям и стримам это иерархия исключений.

JDBC Template это тонкая обертка над jdbc, я бы не стал отдельно выделять.
412 2595685
>>595598
Ломбок дает тот сахар, который не хотят дать разработчики языка. Как видишь, раз ломбок так популярен, значит спрос на этот сахар имеется.
413 2595690

>вместо него какой-нибудь keycloak


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

На счет кубера не согласен, на поверхностном уровне лучше знать, как и то, что ты написал далее, давно уже мода на микросервисы, не стоит отсеивать немалую часть проектов, потому что лень почитать книгу по ним и покрутить кубер месяц максимум.
414 2595693
>>595641
>>595690
Да блять
415 2595704
>>595641
Что вообще про секьюрити нужно знать?
416 2595726
>>595382
Тестировать тул?

Вау.

Ну что тут сказать... Если сами джависты тулу не доверяют, это говорит многое о его качестве.
417 2595731
>>595690
Ну конечно совсем лишним не будет, но это с одной стороны будет увеличивать time to vkat. А с другой стороны отнимет время у выучивания наизусть устройства хешмапы, принципов ооп, уровней изоляции транзакций, жизненных циклов бина и энтити хибера. И у написания петов.
Челика без опыта по куберу и микросервисным паттернам гонять не будут, даже если они на проекте во все поля. А вот по ооп в джаве и гоф-патернам - вполне.
Твой список скорее для собеседующегося на мидла, который до этого на легаси сидел или писал бек на другом языке.
418 2595810
>>595726
Ну много же челов ноют про баги при использовании лобка, может у тех накипело.

Ну или я вопрос не так понял, хотя вроде переспрашивал.

Или мб вообще вопрос с подвохом.
ответом на него был харчок в камеру и дисконект из конфы, в последствии дают оффер сразу на мидла
419 2595814
>>595810

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


Как было на самом деле: ты промямлил "эээ ну а зачем тестировать ломбок? эээ ну не знаю ээээ" и тебе пообещали перезвонить.
420 2595815
>>594526
Блядь чел, если тебе не лень поднимать всю описанную тобой парашу ради круда, то не найти силенок накидать простейший фронт - ну это хуй знает кем надо быть.
421 2595821
>>595814
Ну да, я имел ввиду, каким был правильный
422 2595844
>>595810
Не, ну ты понимаешь курьез ситуации? Тестировать. Тул. Внешний. Не свой. Тул, которому ты делегируешь поставленную перед ним задачу. Но при этом не можешь ему доверять, из-за чего тратишь время и тестируешь его высер. Но в то же время не можешь и выкинуть этот негодный тул потому что "ну еба, вы че, этож ломбок, ну как это можно - без ломбока в 2023м, пацаны ж засмеют".

Ебаный в рот, как же я порой кринжую с айтишки.
423 2595884
>>595685
Почему любители сахара не идут в котлин или сишарп?
424 2595892
>>595884
А почему ненавистники сахара не пишут на голом си?
Лобок есть в большинстве проектов на жабе. Это просто данность. И это не такой уж сахарный сахар, как в котлине.
425 2595897
>>595884
Потому что это петушиное недоработкосодержащее поделие "Язык программирования".
426 2595991
>>595892
Потому что Си - не ООП язык и сложно писать большие программы, а также не кроссплатформенный, нет сборщика мусора и безопасности при работе с памятью.
427 2596022
>>595892
>>595991
Странное сравнение вообще, может и сайты на ассемблере писать?
Си и жаба - языки для разных областей применений.
Си хорош для низкоуровневых вещей, для небольших библиотек, которые должны быть быстрыми, для системного программирования, вроде WinAPI или системных вызовов POSIX.
На жабе пишут крупные системы, где важнее поддерживаемый код, чем скорость.
Когда необходимо, си легко подключается к жабе через JNI.
Вот C++ непонятно зачем нужен - никто его толком не знает, по сравнению с сишкой много оверхеда, а по сравнению с жабой/шарпом недостаточно прост.
428 2596026
>>595884
Зачем убогий котлин, если есть Scala со всем необходимым?
429 2596031
>>595307
Это налог на тупость. Переключи с корпоративной на частную
430 2596038
>>595337
В общих чертах круды умеешь писать - значит годен на ждуна. Дальше зависит от степени ебанутости собеседующего и качества конкурентов. Чем больше ты знаешь - тем выше шансы.
Вместо изучения новых слов, лучше углуби знания в перечисленном тобой. А то окажется что твой постгрес - это селект с джойном написать, а спринг - 3 аннотации поставить.
431 2596042
>>595337
Какой смысл об этом спрашивать на двощах? Сходи на собес, да узнай, будь мужиком блять.

Те щас один портянку по рофлу выкатит такую что охуеешь учить, второй скажет "намана, бля" и ты потом все равно проебешься и разочаруешься.
432 2596062
>>595358
Еще можно добавить grpc и soap сервисы сюда же, но это опционально уже, но повысят шансы прилично.

Еще периодически спрашивают про планировщик запросов, я сам его скипнул пока, так что хз, какой там обьем инфы надо знать, может аноны, которые с этим знакомы подскажут
433 2596091
Как называется паттерн, когда у тебя есть объекты в памяти в и базе данных одновременно, и когда ты читаешь, то читаешь из оперативы, а когда пишешь, то пишешь и туда, и туда?
434 2596098
Начинаю изучать Spring, отпишусь когда закончу !
435 2596113
>>596098
Лол, я три года работаю, от спринга знаю только несколько волшебных аннотаций.
436 2596116
>>596091
Active Record что ли???
437 2596117
>>596113
Думаешь начинать розсылать резюме ? :/
1 вакансия блеат.
438 2596130
>>596091
кеш
439 2596136
Вопрос уровня хибер,могу ли я вообще не загружать связанные сущности. Не лениво,а вообще не загружать. При этом в энтити указать связь?
440 2596141
>>596117
Напиши пет-проект на спринге и рассылай.
441 2596149
>>596141
Ты безусловно прав.
442 2596162
>>596141
А если я половину напишу пет-проекта, можно рассылать резюме ?
443 2596165
>>596136
Что означает "лениво" ?
444 2596166
>>596162
Если чувствуешь уверенность, что понял основные принципы и можешь без особых трудностей закончить. Смысл написания такого пет-проекта в том, чтобы закрепить знания на практике, и не более.
445 2596167
>>596165
Значит FetchType.LAZY. Загружать связанные сущности в тот момент, когда обратишься к списку, а не сразу при загрузке основной сущности.
446 2596226
Как лучше организовать связь между таблицами: есть сотрудник,специальность и военный билет. В военном билете хранится ссылка на специальность,это обязательно. Пока у меня сотрудник имеет ссылку на военный билет где лежит ссылка на специальность. Я считаю что нелогично хранить ссылку на специальность только в военном билете и подумываю добавить ссылку на специальность напрямую в сотрудника. Но тогда возникает проблема что у сотрудника может быть ссылка на одну специальность,а в военном билете ссылка на другую. Как бы вы разрешили эту ситуацию?
447 2596240
>>596226
А вообще ебать,я так подумал,я же могу всегда держать специальность нулевой,не запрашивать ее у пользователя и тупо брать с военника,все равно в базу за ним лезть. Че скажете?
448 2596281
>>596226
Что понимается под специальностью? Только военно-учётная специальность, или может быть учебная или какая-нибудь рабочая в зависимости от должности? Может ли быть специальность при отсутствии военного билета? В любом случае ссылки могут быть разные, ещё и специальностей может быть несколько, может же человек два образования получить (хотя насчёт военно-учётной хз, может ли их быть несколько), но для такого случая лучше сделать таблицу связок (многие ко многим) с ID сотрудника и ID специальности.
449 2596284
>>596240
Скажем, что нужно больше инфы о контексте. Что конкретно разрабатываешь, какую задачу твоя система будет решать? Пока нет ответа на этот вопрос, любые предположения - твои и анонов - будут гаданием на кофейной гуще.

Любая модель данных всегда строится от бизнеса. Нефункциональные требоваения, вроде производительности выборок, имеют определенную свою роль в моделировании, но без биснес-контекста нет смысла даже начинать рассуждать.
450 2596288
>>596281
Гражданская специальность. Табличка с айди и названием пока.О ее отсутствии не подумал. Будет null по дефолту
451 2596289
>>596284
Система учета данных сотрудников
452 2596293
>>596226

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



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

На практике, иногда от нормализации отходят в угоду производительности, а консистентность (твой констрейнт, что специальность сотрудника должна быть равна специальности в военном билете) гарантируют иными средствами (или забивают и не гарантирують вовсе). Но денормализацию делают когда налицо пиздец с производительностью. Заранее ее делать - плохая идея.
453 2596306
>>596289

Ну так коли у тебя есть "военник" с ВУС, может имеет смысл пойти в том же направлении, и добавить "диплом" с гражданской специальностью?

В любом случае,

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



...пока что в этой идее не просматривается ничего логичного.
454 2596311
>>596306
Бля точняк, гражданская специальность и военная это ведь не одно и то же. Короче думаю да,добавлю еще одну сущность отдельно для военной специальности
455 2596315
Нормальная ли тема в дто реквесте принимать айди дочерней сущности? На фронте ведь все равно дернут эндпоинт и им прилетит сущность с айди,откуда они сами по имени в реквест воткнут айдишник. Или нужно принимать что-то более человекочитаемое? Например имея сущности книги и авторы, нормально ли при создании книги прочить айдишник автора,тк на фронте эти данные есть и пусть сами ебутся с формированием запроса или же нужно сделать эту работу за них и дать им формат реквеста с именем автора и уже на бэке сходить в базу по имени и если есть присвоить,а если нет создать? Фронтендеры же все равно пидорасы хуйней занимаются весь день,пусть сами формируют запрос,да или нет?
456 2596318
>>596315
По всякому.

>На фронте ведь все равно дернут эндпоинт и им прилетит сущность с айди,откуда они сами по имени в реквест воткнут айдишник



Лично я думаю что терпимо, хотя знаю мнение что айдишник сущностей в БД через АПИ палить некошерно, и нужно вдовесок к первичному плодить еще и суррогатный ключ.

>Или нужно принимать что-то более человекочитаемое? Например имея сущности книги и авторы



С человекочитаемыми ключами есть одна засада: рано или поздно этот человекочитаемый ключ тебе придется использовать в запросах к БД. И может так оказаться, что индекс на этот человекочитаемый аттриут будет отрабатывать в разы говенней или занимать в разы больше места, чем на какой нить числовой айдишник. Проебешь производительность.

Плюс - никто ж тебе не гарантирует что этот человекочитаемый аттрибут у тебя не изменят из под ног в какой нить параллельной транзакции.
457 2596320
>>596318
Вот и я также подумал,во первых доп обработку этой хуйни делать,во вторых хуй знает сколько по этому имени будет результатов,в третьих эти пидоры и так нихуя там не делают,аниме смотрят и капчу двачуют суки
458 2596328
>>596315
Смотря как клиент эти данные использует.
Если дочерние сущности клиенту нужны сразу, а не при нажатии на какую-нибудь кнопку, я бы их сразу в ДТО передал. А то клиент при открытии страницы будет отправлять кучу запросов, в итоге и страница будет медленнее грузиться, и нагрузка на сервер возрастёт. Ещё можно передавать не всю дочернюю сущность, а добавить в ДТО нужные поля и заполнять их в конвертере при формировании ответа, к примеру, не класть AuthorDTO в BookDTO, а просто добавить в BookDTO поля authorId (для последующих запросов при нажатии на кнопки) и authorName (для отображения имени автора рядом с книгой). Но это только один из вариантов.
459 2596331
Бывает ли такое, что создают несколько дто под одну энтити?
460 2596334
>>596331
Бывает
1. В энтити 50 полей, а нужно только три
2. Несколько разных потребителей - веб-клиент, мобилка, интеграции с другими системами.
461 2596342
>>585661 (OP)
Пришел на проект, а там дтошки гоняются туда-сюда. И ладно на выход просто передаются id связанных сущностей, а вот на вход прилетают эти же id и там в маппере начинается анал-карнавал с обращением в базу по каждому id, чтобы собрать объект воедино со всеми его полями/объектами. Это вообще норм? Как такую проблему решают?
462 2596401
>>596331
Это норма
463 2596404
>>593721
Чееееееееееел.... Никто на новом проекте не будет использовать хубирнейт. Сейчас эра микросервисов и клауд-нейтив приложений
464 2596412
>>596404
Почему тогда на всех курсах учат кибернейт?
465 2596413
>>596412
Чтобы было кому поддерживать легаси.
466 2596414
>>596412

>курсах


...
467 2596420
>>596414
Книг нет, поэтому приходится курсы смотреть.
image17 Кб, 920x237
468 2596436
Какая мразь вот эту хуйню сделала??? Это что вообще такое нахуй?
469 2596439
>>596436
git blame включи
470 2596442
>>596439
Чего? Это класс String.
471 2596449
>>596442
ты еблан?)
472 2596453
>>596449
Псина ебливая, ты что сказать-то хотел? Причем тут гит блейм?
473 2596455
>>596453
а че для jdk не гит используется еблуша?
474 2596458
>>596455
Причем тут гит вообще? Я про неперенесённую на новую строку скобку с точкой с запятой.
475 2596459
>>596342

>норм?



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

>как решают?



Грамотным построением sql запросов.
476 2596461
Дежурно напоминаю, что баз кроме SQLite существовать не должно, и на одну JVM должна быть только одна база данных.
477 2596462
не пынямаю. если jpa это спецификация только, а hibernate - реализация этой спецификации, то что такое spring data jpa???
478 2596464
>>596462
Это надстройка над спецификацией и реализацией, которая за тебя круды шлёпает.
479 2596465
>>596458
а че в гит блейм зайти посмотреть нельзя??? и спросить у автора по почте???
480 2596466
>>596464
что значит надстройка? ты хочешь сказать spring jpa использует под капотом hibernate?
481 2596467
>>596466
Это троллинг тупостью?
482 2596468
>>596462
сладкий шлебушек для автогенерации запросов по названию методов

getOrderByIdSortedByName - и оно это автоматом преобразует в hql

зумеры от этого прутся, по мне это чушь и говно
483 2596471
>>596467

>пук


по делу есть что сказать?
image23 Кб, 671x213
484 2596472
>>596471
Пожалуй скину это и сольюсь с этой жирноты.
485 2596473
>>596468
а че лучше строку передавать с запросом шириной 120+ символов?
486 2596477
>>596472
т.е. если я подключаю spring jpa, мне hibernate не надо подключать? а зачем тогда hibernate нужен?
487 2596480
Не отвечайте ему, это очевидный троллинг тупостью. Наверняка из петушарп-треда прибежал опущенец.
488 2596482
>>596473
да, лучше писать нормальные запросы, а не надеяться на магию
489 2596483
>>596480
я на петушарпе не пишу, я пишу на ява
490 2596487
>>596482
Заебали со своей мантрой "магия". Никакой магии не существует. Существует только работающий код и не работающий.
491 2596489
>>596482
а зачем тогда спринг использовать? он весь на магии работает.
492 2596490
>>596489
спринг это элементарное управление зависимостями и всё. Можно и на фабриках сделать, ничего страшного.

А что это хуйня сгенерирует - хуй его знает
493 2596493
>>596490
Что написано в названии метода - то и сгенерирует.
494 2596496
>>596490
так он в консоль генерируемый запрос пишет, можно проверить
495 2596504
>>596496
обфусцированный, и то только если специально настроишь логирование
496 2596519
а че тут за шиз шарпистов под кроватью ищет постоянно? кто его проткнул так
497 2596599
>>596458
Я тоже так пишу.
498 2596631
>>596490

>спринг это элементарное управление зависимостями и всё


Нет. На изучение всех особенных случаев и кишочков уйдет несколько лет. Если ты не понимаешь глубоко как работает он под капотом и как инициализирует бины, то тебя даже близко нельзя подпускать к разработке на спрэнг фримверке.
image126 Кб, 1024x769
499 2596654
>>596599
Я надеюсь, твое кресло когда нибудь сломается и ты повторишь судьбу сидящего на кресле с пикрила.
500 2596656
>>596631
Шарпоблядь обнаружена.
501 2596670
502 2596714
ПЕРЕКАТ >>2596713 (OP)
ПЕРЕКАТ >>2596713 (OP)
ПЕРЕКАТ >>2596713 (OP)
503 2596873
>>596714
Ураааа
504 2609210
>>596462
Spring Data JPA автоматически конфигурирует и настраивает JPA за тебя.
Писал как-то проект без Spring (десктопное JavaFX приложение), так заебался просто подключать там JPA, миграции Flyway просто не брались.
В Spring просто прописал в пропертях пару строк, и все работает.

>>596468
Spring не просто так используется - сравни сколько кода получается с ним, и сколько без него.
Можно, конечно, REST сервисы писать чисто на Empedded Jetty + Jersey JAX-RS, самому настраивать Hibernate и т.д.
Но заебешься с этим всем.
Для мазохистов-пердоликов существует C++, а в Java должно быть все просто и понятно, чтобы было легко поддерживать.
505 2612923
>>594033
Пошел нахуй
506 2656863
>>588892

- - - - 3. Аноны, есть две @Entity, скажем Person, с полями name и age, Payment с полями employeeName и amount. Как мне через JPA получить третий объект, представляющий джоин этих двух энтити?

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

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

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