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

Java #105 thread /java/

 Аноним 17/09/21 Птн 10:26:23 #1 №2159705 
iih7wtrf4ywz.png
Актуальная шапка: https://github.com/EightM/JavaBackendStartGuide

Предыдущий: >>2116244 (OP)
Аноним 17/09/21 Птн 10:29:35 #2 №2159707 
И сразу вопрос

https://junit.org/junit5/docs/current/api/org.junit.platform.commons/org/junit/platform/commons/logging/Logger.html

Подключил этот хуев логгер, как теперь туда ложить?

Делаю logger.error("hui pizda djugurda")

Конпелятор говорит: incompatible types: java.lang.String cannot be converted to java.util.function.Supplier<java.lang.String>
Аноним 17/09/21 Птн 10:30:11 #3 №2159708 
ШАПКА НЕ НУЖНА
Аноним 17/09/21 Птн 10:30:37 #4 №2159709 
>>2159705 (OP)
Мертвый тред мертвого языка. Напомню, что сишарп уже догнал джаву по вакансиям, желающим работать с ООП языками теперь нет смысла учить что-то кроме дотнета
Аноним 17/09/21 Птн 11:14:28 #5 №2159727 
В HelloWorld.java делаю import hui.pizda.djugurda

Собираю мавеном. Запускаю. Как понять какая версия hui.pizda.djugurda у меня подцепилась и в какой директории искать этот пекедж?
Аноним 17/09/21 Птн 11:20:26 #6 №2159728 
>>2159707
Напиши () -> "hui pizda ..."
Там нету метода, который принимает строку. Только саплаер
Аноним 17/09/21 Птн 11:34:18 #7 №2159732 
>>2159728
Говорит lambda expressions are not supported

Без бампа версии логгер теперь никак не подключить чтоле?
Аноним 17/09/21 Птн 11:50:34 #8 №2159740 
>>2159732
java.util.logging то ещё говнище
Юзай log4j2
Аноним 17/09/21 Птн 12:09:53 #9 №2159750 
>>2159740
>log4j2
А в реальных проектах что для логгирования используют кроме этого?
Аноним 17/09/21 Птн 12:18:30 #10 №2159753 
>>2159750
Только logback.
Аноним 17/09/21 Птн 12:20:09 #11 №2159755 
>>2159709
Всё так.
мимо джава господин
Аноним 17/09/21 Птн 12:48:51 #12 №2159778 
>>2159732
Supplier появился в 8-ке, там же и лямбды появились. Ты что-то перемудрил с language level. Если билдишь Мавеном пропиши корректный language level. Если IDEA ругается, исправь в свойствах проекта.
Аноним 17/09/21 Птн 13:39:56 #13 №2159800 
Как сделать конвертер из дто в юзера и обратно, в юзере есть поле Set<Role> role; Role это два поля id и name.
sageАноним 17/09/21 Птн 14:34:14 #14 №2159833 
>>2159800
roles.stream()
.map(RoleMapper::toDto)
.collect(toSet());

Ну и в маппере ролей просто перегонять одну роль в дтошную
Аноним 17/09/21 Птн 15:35:52 #15 №2159874 
>>2159778
Версия JDK не принципиальная, просто начал с hello world отсюда

https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

Всё равно ложить через лямбду это дичь какая-то ящитаю

>>2159740
Такс, какой выхлоп пошел, спс, но идет только на уровне error. Как теперь теперь ему ещё логлевел настроить, желательно через аргументы вызова мавена или его конфиг? Мне собственно нужно ложить из тестов, которые вызываются через mvn test
sageАноним 17/09/21 Птн 15:41:44 #16 №2159876 
>>2159874
> Такс, какой выхлоп пошел, спс, но идет только на уровне error. Как теперь теперь ему ещё логлевел настроить, желательно через аргументы вызова мавена или его конфиг? Мне собственно нужно ложить из тестов, которые вызываются через mvn test
Скорее всего тебе нужно сделать конфиг, который будет подтягиваться для тестов. Тут тебе нужно будет самому поискать
Аноним 17/09/21 Птн 15:50:21 #17 №2159879 
>>2159876
Ок и на том спасибо
Аноним 17/09/21 Птн 16:14:21 #18 №2159891 
мм, спасибо нахуй, идея отказывается запускать мавен проект на 16 версии жабы, пишет что ей нужна 9
куча результатов в гугле и нихуя не работает
Аноним 17/09/21 Птн 16:23:35 #19 №2159899 
>>2159874
>Всё равно ложить через лямбду это дичь какая-то ящитаю
Так это и не для тебя писалось, ты в JavaDoc видел что написано:
>@API(status=INTERNAL, since="1.0")

Возьми нормальный логгер и используй его.
Аноним 17/09/21 Птн 17:18:27 #20 №2159941 
>>2159891
Ну а что ты хотел, либо используешь вымирающие технологии, либо переходишь на гредл.
Аноним 17/09/21 Птн 17:53:31 #21 №2159973 
>>2159941
Градл еще сырой пруф ми вронг
Аноним 17/09/21 Птн 18:12:03 #22 №2159993 
>>2159973
По мавену новости какие то были после анонса 4,0? Лет 10 еще будут делать?
Аноним 17/09/21 Птн 18:20:09 #23 №2160004 
>>2159973
Что именно в нем сырое?
Аноним 17/09/21 Птн 18:20:26 #24 №2160006 
Язык программирования, который контролирует мировые финансы: 240 миллиардов строк кода на JAVA
https://habr.com/ru/company/itelma/blog/577736/
Аноним 17/09/21 Птн 18:25:58 #25 №2160014 
>>2159993
Да, там 3.х.х версии херачат как из пулемета.
Аноним 17/09/21 Птн 18:39:23 #26 №2160027 
>>2160006
Новый КОБОЛ, лол
Аноним 17/09/21 Птн 18:52:43 #27 №2160061 
>>2160006
> 240 миллиардов строк кода на JAVA
100 миллиардов сеттеров и 100 миллиардов геттеров?
Аноним 17/09/21 Птн 21:22:27 #28 №2160203 
>>2160006
Мне страшно это читать.
Аноним 17/09/21 Птн 21:30:46 #29 №2160213 
Пытался тут изучить котлин, но не смог осилить ебучие говносистемы сборки для яваговна. Это же пиздец. Как вы это говно жрете? Импортирование либ в CMake проект на с++ по сравнению с этим посто как два пальца.
В итоге, роутер сообщений из c++ в Рабит написал на дотнете за 30 минут, где все из коробки работает и все пакеты доступны в пару кликов
Аноним 17/09/21 Птн 21:32:14 #30 №2160214 
>>2160203
Как в свое время ты кекал с кобол девелоперов, так сейчас студенты говноеды гоферы кекают с тебя
Аноним 17/09/21 Птн 21:34:25 #31 №2160220 
>>2160213
>пррр пук среньк
Аноним 17/09/21 Птн 21:52:27 #32 №2160251 
Всё так. Чтобы писать в джава мире, нужно обладать нехилыми интеллектуальными способностями.
Аноним 17/09/21 Птн 21:56:18 #33 №2160262 
>>2160214
Не хочу огорчать, но

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


Да и java это не питон, чтобы вечно сидеть на чем-то древнем, мне кажется.

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

С кого не кекают, я просто не в теме и интересно
Аноним 17/09/21 Птн 22:08:39 #34 №2160279 
ВЫШЕЛ ВЫШЕЛ ВЫШЕЛ
https://maven.apache.org/guides/mini/guide-multiple-modules-4.html
Аноним 17/09/21 Птн 22:41:04 #35 №2160303 
kek.png
Ява топ-3 язык по фронтенду, а вы ноете, обогнала даже сисишарп.
Аноним 18/09/21 Суб 05:36:21 #36 №2160435 
Приветствую уважаемых джавистов. Как у вас с гринтредами? Слышал что-то про project loom, так и не завезли?
Аноним 18/09/21 Суб 06:18:09 #37 №2160439 
>>2160435
не шарю в канкуренси. Вот что нашел

>рассмотрение потоков с их моделей исполнения:

>1:1 (потоки исполнения на уровне ядра)
>В этом случае потоки исполнения соответствуют соответствующим потокам операционной системы и могут исполняться параллельно на различных ядрах.

>В Java модель исполнения 1:1, соответственно потоки могут исполняться на разных ядрах процессора параллельно, что является большим плюсом, из минусов — создание, удаление, переключения контекста и блокировки стоят сравнительно дорого. В итоге приложение будет тратить больше времени на создание и удаление потоков, чем на обработку непосредственного запроса. Потоки занимают значительное количество памяти, соответственно при создании большого количества потоков JVM может начать пробуксовывать.

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

>M:N (смешанная потоковость)
>Самая сложная модель, в ней некоторое количество потоков на уровне пользователя отображаются на некоторое количество потоков ядра.
>Плюс — быстрые переключения контекста
>Минус — возможна неоптимальная работа из за дорогой координации между планировщиком виртуальной машины и планировщиком ядра

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

Зеленые потоки это N:1? А лум?
Аноним 18/09/21 Суб 10:20:25 #38 №2160495 
>>2160439
N:1 частный случай M:N. В луме это M:N со всеми вытекающими ограничениями и отсутствием нормального синтаксиса и апи чтобы их решать. По сути говно без задач.
Аноним 18/09/21 Суб 11:36:12 #39 №2160536 
Есть какой-нибудь ресурс, типо codewars, чтобы набить руку именно на stream API?
Аноним 18/09/21 Суб 11:51:29 #40 №2160542 
>>2160536
https://stepik.org/course/1595/promo#toc
Аноним 18/09/21 Суб 11:55:37 #41 №2160544 
>>2160536
https://stepik.org/lesson/12781/step/1?unit=3128
Аноним 18/09/21 Суб 12:30:13 #42 №2160554 
>>2160542
>>2160544
Владыкинский курс у меня пройден пару лет назад как, вторая какая-то простоватая на первый взгляд.
Аноним 18/09/21 Суб 13:19:18 #43 №2160580 
>>2160554
а на кодварсах типа сложное что-то на работу стандартных либ бывает? Там сложное, если только алгосы изъебистые.
Аноним 18/09/21 Суб 14:33:16 #44 №2160623 
Caused by: java.lang.IncompatibleClassChangeError: class converter.UserMapperImpl can not implement converter.UserMapper, because it is not an interface (UserMapper is in unnamed module of loader org.springframework.boot.devtools.restart.classloade

Что это значит? Класса/интерфейса UserMapperImpl у меня нет, снесен очень давно. Если рефактор->переименовать UserMapper будет ошибка UserMapper не найден. Чё он хочет?
Аноним 18/09/21 Суб 14:59:10 #45 №2160641 
>>2160214
>студенты говноеды гоферы кекают
Кекают, а потом идут учить пхп, жс, 1с, сишарп и жаву, так как на Го для студентов работы в принципе нет.
Аноним 18/09/21 Суб 16:51:25 #46 №2160697 
>>2160623
Попробуй mvn/gradle clean и удалить кэш идеи в проекте
Аноним 18/09/21 Суб 21:07:33 #47 №2160784 
Хочу стопать @KafkaListener по определенному событию (в спринге), а потом по другому событию запускать, и чтобы консюмер продолжал считывать сообщения с последнего прочитанного. Это сложно сделать? Это нужно делать или это оверинжениринг?
Аноним 18/09/21 Суб 21:44:23 #48 №2160796 
Field error in object 'userDto' on field 'roles': rejected value [USER]; codes [typeMismatch.userDto.roles,typeMismatch.roles,typeMismatch.java.util.Set,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [userDto.roles,roles]; arguments []; default message [roles]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Set' for property 'roles'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'com.amr.project.model.dto.RoleDto' for property 'roles[0]': no matching editors or conversion strategy found]


Как пояснить фронту, что я хочу получить Set<Role> у себя в контроллере? Как приводить типы? Я так понимаю на фронте есть какой-то json, а че с ним дальше делать? Как перегнать одно в другое и наооборот? Может у таймлифа есть какие-то возможности ?
Аноним 18/09/21 Суб 22:32:09 #49 №2160839 
Почему Future в жабе такие убоги, что на них нельзя даже повесить коллбек? Почему AsynchronousFileChannel в методах write и read возвращает Future, а не CompletableFuture? Почему нет нормального синтаксиса async-await как в C#?
Аноним 18/09/21 Суб 22:40:38 #50 №2160844 
Такое чувство, что разработчики джавы специально делают так, чтобы мы использовали потоки вместо асинхронности. Почему они так делают? Даже те же сервлеты до сих пор, в 2021 году, для каждого запроса выделяют отдельный системный поток. Такой подход уже давным давно безнадежно устарел. Тогда почему его до сих пор используют. Та же нода с ее одним потоком, но с сильно продвинутой асинхронной моделью не сильно уступает обычному томкату в производительности.
Аноним 18/09/21 Суб 22:45:20 #51 №2160849 
Я понимаю, что Loom, возможно, решит разом все проблемы, но мне начинает казаться, что он либо никогда не выйдет, либо только к концу этого десятилетия, когда на жабе уже мало кто будет писать новые проекты.
Аноним 18/09/21 Суб 22:56:02 #52 №2160858 
чел лум уже готов скачай до посмотри
я вот не пойму нахуя нужны рекорды когда скоро будут вэлью типы
Аноним 18/09/21 Суб 23:01:35 #53 №2160868 
>>2160858
>чел лум уже готов
И в какой LTS он будет? Вон, леха шипилев обещает лум только через одну LTS, а это какой год будет? 2025? В итоге только к концу десятитлетия дай бог увидим лум на проде.
Аноним 19/09/21 Вск 00:02:36 #54 №2160911 
А ведь в самых древних версиях жабы, примерно во времена 1.1 были green threads. Правда от них потом отказались в пользу системных потоков. А ведь если бы тогда гении из sun microsystems сделали верный шаг и, вместе с поддержкой системных потоков и впоследствии обновленной JMM, оставили бы грин треды, то как бы сильно изменился жабий мир? Только представьте, аналог современных горутин и корутин в конце 90-х - начале 2000-х...
Аноним 19/09/21 Вск 10:27:44 #55 №2161020 
Джавы не существует
Аноним 19/09/21 Вск 11:01:23 #56 №2161031 
посадили на груви кодить, то еще говнище, с переменными творится то о чем билли не фантазировал
я читаю из yml файла:
HUITA:
-a1:b1
c1:d1
-e1:f1
g1:h1
оно выдает
print(HUITA)
>"[{a1=b1, c1=d1}, {e1=f1, g1=h1}]"
print(HUITA.getClass())
>java.lang.String
как из этой хуиты теперь достать значения без пердолинга с говнокодом, за который меня уволят нахуй
Аноним 19/09/21 Вск 11:17:33 #57 №2161039 
image.png
Почему так, то, блять?
allMatch должен просмотреть все элементы стрима и сказать, соответствуют ли они предикату, как он понимает, что стрим бесконечен ?
Если "матчи" умеют определять бесконечен ли стрим, то почему anyMatch этого не понимает и продолжает бесконечно искать элемент соответствующий предикату?
Аноним 19/09/21 Вск 11:21:23 #58 №2161042 
>>2160839
Котлин.
Аноним 19/09/21 Вск 11:26:01 #59 №2161045 
>>2160849
Всё так. После десятилетия разработки вымученно выдреснут в прод как и jpms, и это станет последим гвоздем в крышку гроба жабы позорной. Мир вздохнет с облегчением.
Аноним 19/09/21 Вск 11:27:47 #60 №2161048 
>>2161039
потому что двоичная логика, allmatch завершается после первого false, потому что от дальнейших значений результат не зависит. anymatch ждет первого true
Аноним 19/09/21 Вск 11:31:40 #61 №2161051 
>>2161045
Я бы ушел в дотнет, но там нет нормальной работы - одни стремные предприятия с CRM, серверами, экселями от мелкомягких. А Го просто васянство из прошлого века
Аноним 19/09/21 Вск 13:31:43 #62 №2161157 
>>2161051
Ну и на чем писать бекенд-то, ептыть?

Java как-то медленно развивается. Ну и разработчики JDK хуесосы еще те, надо же было надрачивать на обратную совместимость в тот момент, когда ее нужно было сломать (дженерики), а потом сломать эту же совместимость позже, но уже в другом месте, лол. Работы всякой полно, но как правило везде унылый энтепрайз, где нужно грузить джейсоны в офисе с утра до вечера.

Сишарп - язык хорош, но тулинг хуета, опенсорс решений не от MS нет, нормальной работы нет, везде какой-то кал уровня винформочек, wpf, .net framework 4, MSSQL, Sharepoint, юнити, etc.

Голанг - вроде перспективно и молодежно, а вроде и хуйня на деле. Есть горутины, рейс детектор, в целом выглядит заебись при первом знакомстве, но в деталях понимаешь, какой же кал сотворил роб пайк. А тут еще дженерики завезут, наверняка получится кал уровня жабы, и оставят возможность писать interface{} там где не нужно. Хотя похуй. Надеюсь хотя бы дженерики у них стираться не будут.

Раст - ну вроде интересно, но работы нет от слова совсем. Какие-то мутные блокчейн стартапы. IDE для раста тоже нет. В общем мутная хуета, но может лет через 5-10 взлетит.

С++ - есть интересная работа, но сам язык просто ужасный. Помимо интересных вакансий с линуксом, сетью и хайлоадом, куча всякого говна на Qt, WinAPI, MFC.

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

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

Питухон - вроде как подох в бекенде. Хотя фласк и фастапи до сих пор живы. Но больше популярен у аналитиков.
sageАноним 19/09/21 Вск 13:37:53 #63 №2161162 
>>2161157
Котлин/жс/го, если хочешь молодежно
Аноним 19/09/21 Вск 13:54:27 #64 №2161170 
>>2161162
А в чем преимущества молодеждных языков по сравнению с древней жабой? На жабе работы больше имхо (если не считать жс фронтенд)
Аноним 19/09/21 Вск 14:07:39 #65 №2161181 
>>2161157
>Голанг
Он заебись в плане многопоточности и производительности, у нас пишут микросервисы которые работаю с видео/аудио стримами и все шустро и стабильно. Но блядь сам язык и то что его окружает это отдельная история, хуй с ним с синтаксисом и отсутствием чего либо +/- привыкнуть можно я даже одну апишку за вечер накидал почти без боли, изучая язык с нуля, но то что там нет никаких практик написания приложений, каких нибудь фреймворков и ОРМ которые устоялись бы, наоборот там все стараются писать код на голом языке и сука каждый пишет как душа ляжет, объемы говнокода на гитхабе просто зашкаливают, в итоге получается стиль написания как в пхп в начале нулевых еще щепотку говна и будет битрикс

>Раст
Он пока только взлетает, даже более менее рабочий для бекенда фреймфорк пока еще 0.5 версии https://rocket.rs/ и активно пилится, но в целом потыкался, прикольный язык лучше плюсов на мой взгляд Короче да, тут пока только ждать
>IDE для раста тоже нет
Для любой иде жыдбрейнса можно установить плагин и будет работать

>JS - вроде есть огромный рынок, но для бекенда вроде только нода и экспресс. Честно не уверен, что они популярны у нас.
Там много чего есть для бэка и typescript можно прикрутить, но там подход другой, на каждый чих ставится библиотека, куча всякой хуйни в зависимостях, если проекту больше года, то запуск npm i споряжен с еблей с зависимостями, все живет максимум пару лет имел "удовольствие" поебаться, не понравилось и плюс часто нужны фулстеки. А так если нужно поднять быстро мелкую апишку экспресс.жс идеальный вариант. А так работы дохуя.

>Пыха
Попробуй symfony наблюдаю как джависты на него перекатываются и вроде довольны. А так пыха уверенным шагами идет в сторону жабы, сейчас еще активно развивается https://www.swoole.co.uk/ и мне кажется со временем заменит php-fpm который каждый реквест запускает запрос и умирает
Остальное смотреть не советую, поскольку:
>но опять же куча 1С, битриксов, мутных мелких работодателей
Сам из-за этой причины съебался в рельсы, смотришь на вакансии и большая часть это студии ебучие пусть студенты там работают за 30к

>Питухон
Попробуй джангу, авось зайдет
sageАноним 19/09/21 Вск 14:37:15 #66 №2161201 
>>2161170
Так ты же сам сказал, что жава - хуета. Я кинул альтернативы.
За жс/го не скажу, но в котле просто много сахарочка. Ну, про него ты сам почитаешь.
Преимущество молодежный языков в том, что они быстрее развиваются, так как не обременены миллиардами строк легаси говна. Втф решения старых языков пересматриваются и создаются новый втф решения
Аноним 20/09/21 Пнд 09:04:33 #67 №2161717 
>>2161181
А что на счет elixir?
Аноним 20/09/21 Пнд 09:10:16 #68 №2161720 
>>2161157
>Java как-то медленно развивается
вершина развития - смерть. Что есть "развитие"? Количество фишечек и сахарочка?
Аноним 20/09/21 Пнд 10:00:02 #69 №2161747 
>>2161717
Я как русбист в нем разочаровался, там синтаксис похож, но пропал весь шарм ООП который есть в руби, но есть те кому нравится. Феникс мне показался какой-то хуитой многословной после рельс.
А так это функциональный язык для виртуальной машины эрланга, который мегаотказоустойчивый за это его и полюбили где-то видел статью в кторой написано что на нем добивались девять девяток 99.9999999%
Аноним 20/09/21 Пнд 10:11:45 #70 №2161758 
>>2160006
> «Вы могли подбирать людей на улице», — говорит Джон Пайк, британский программист, изучавший COBOL в 1960-х годах, — «и в целом учить их, как это делается».

Каждый раз в голос с этой фразы. После создания Java вы могли подбирать индусов с улицы обозначенной для сранья, и в целом учить их как это делается.
Аноним 20/09/21 Пнд 11:27:44 #71 №2161806 
>>2161747
Ну вот как раз отказоустойчивость его основная фишка.
Давно рассматриваю его в качестве языка для реализации микросервисов на нем внутри моего рабочего проекта.
Что там на счет разнообразия либ?
Аноним 20/09/21 Пнд 11:36:07 #72 №2161814 
>>2161747
>который мегаотказоустойчивый за это его и полюбили
Это все пока у тебя можно без последствий дропать реквесты. А вот если у тебя запросы которые нельзя дропать например финансовые транзакции, то ты заебешься на нем делать рековери после каждого let it crash.
Аноним 20/09/21 Пнд 14:47:39 #73 №2161991 
>>2161806
>Что там на счет разнообразия либ?
хз, я на нем поплевался пару дней и забил, спроси лучше в элексиротреде
Аноним 20/09/21 Пнд 18:07:01 #74 №2162145 
16280840179450.jpg
>>2161181
>Попробуй symfony наблюдаю как джависты на него перекатываются и вроде довольны.
Аноним 20/09/21 Пнд 20:44:06 #75 №2162249 
Как из джаваскрипта передать Set<Role> на контроллер? Сейчас Bad Request 400. Failed to convert property value of type 'java.lang.String' to required type 'java.util.Set'. Это ошибка клиента, я эту хуйню даже продебажить не могу.
Аноним 20/09/21 Пнд 20:48:57 #76 №2162251 
>>2162249
У меня есть диалоговое окно, в нем бутстрап селект, для выбора роли, он как я понимаю отдает String
sageАноним 20/09/21 Пнд 20:49:03 #77 №2162252 
>>2162249
Кидай тело запроса + свою дтоху
Аноним 20/09/21 Пнд 20:53:21 #78 №2162255 
>>2162252
>тело запроса
А где его взять? Как посмотреть?
sageАноним 20/09/21 Пнд 20:54:09 #79 №2162258 
>>2162255
Пусть фронт скажет. Либо в браузере, если сам фронт пишешь
Аноним 20/09/21 Пнд 20:56:42 #80 №2162263 
>>2162255
в браузере "инспект элемент", или как там на русском. И там вкладка "нетворк". Вот там смотришь свой запрос
Аноним 20/09/21 Пнд 21:02:19 #81 №2162268 
1.jpg
2.jpg
3.jpg
4.jpg
>>2162263
Это бэк
Аноним 20/09/21 Пнд 21:06:39 #82 №2162272 
6.jpg
7.jpg
>>2162268
Это js.
Аноним 20/09/21 Пнд 21:08:35 #83 №2162274 
>>2162272
в браузере это работает?
Аноним 20/09/21 Пнд 21:12:03 #84 №2162280 
8.jpg
9.jpg
>>2162272
Аноним 20/09/21 Пнд 21:14:25 #85 №2162281 
>>2162274
работает до момента сейв
Аноним 20/09/21 Пнд 21:21:10 #86 №2162292 
>>2162281
нажми на красную строку. Появится инфо, вкладка Preview будет с текстом запроса
Аноним 20/09/21 Пнд 21:34:01 #87 №2162308 
10.jpg
11.jpg
12.jpg
13.jpg
>>2162292
Аноним 20/09/21 Пнд 21:56:57 #88 №2162320 
>>2162308
ты html можешь редактировать? Попробуй сделать в селекте name="roles[0]"
Аноним 20/09/21 Пнд 22:03:19 #89 №2162323 
14.jpg
>>2162320
>="roles[0]"
Аноним 20/09/21 Пнд 22:18:06 #90 №2162328 
15.jpg
>>2162320
Вот тут двумя алертами я выкидываю данные о роли и они вроде выскакивают те которые есть. Птом в закомнеченом пытаюсь их вот так засунуть в форму, но в этом случае модалка не открывается.
Аноним 20/09/21 Пнд 22:47:24 #91 №2162343 
>>2162328
>модалка не открывается.
т.е. откывается когда поменял на let role={}; но при save все то же>>2162323
Аноним 20/09/21 Пнд 22:55:44 #92 №2162344 
>>2162343
Ошибка теперь серверная, а дебажить я ее все равно не могу, все падает до метода save.
sageАноним 20/09/21 Пнд 23:05:22 #93 №2162351 
>>2162308
У тебя на фронте roles - стринга. А на бэке ты ожидаешь set<RoleDto>
Аноним 20/09/21 Пнд 23:07:14 #94 №2162353 
>>2162351
и как это исправить?
sageАноним 20/09/21 Пнд 23:08:38 #95 №2162354 
>>2162353
а) отдавать с фронта сет дтошек
б) принимать стрингу на бэке
Аноним 20/09/21 Пнд 23:09:58 #96 №2162355 
>>2162354
>а) отдавать с фронта сет дтошек
КАК??????
Аноним 20/09/21 Пнд 23:27:12 #97 №2162362 
>>2162355
ХУЯК!!!!!
sageАноним 20/09/21 Пнд 23:41:07 #98 №2162366 
1632170466987.jpg
>>2162355
Аноним 20/09/21 Пнд 23:51:47 #99 №2162371 
>>2162272
А зачем нужен таймлиф и жс одновременно?
Аноним 21/09/21 Втр 00:05:24 #100 №2162387 
image.png
Почему у ArrayList большой оверхед по памяти? Вот, например, пытаюсь записать 100 миллионов интов в лист. Казалось бы, 100_000_000 x 4 / 1024 / 1024 = 382 мегабайта. Но лист сжирает чуть ли не в 10 раз больше, примерно 4 гигабайта! Даже если передать аргументом в конструктор эти 100 миллионов, ничего не происходит, лист не резервирует внутри себя место.
Хотя если использовать обычный массив интов вместо листа оверхед становится совсем небольшим - примерно 630 мегабайт против 382, всего лишь почти в 2 раза!
Может кто объяснить, куда сжирается столько памяти? Ладно хуй с ними, с массивами, там оверхед небольшой, но сука куда делись три с половиной гигабайта? Я даже ума не могу приложить, что может хранится в этой памяти. Такое чувство, что взяли огромный кусок памяти и заполнили его нулями или другой рандомной информацией.
Аноним 21/09/21 Втр 00:16:14 #101 №2162391 
>>2162387
Сейчас запускал с ключом -Xmx. Массивы действительно работают как нужно. -Xmx390m хватило сполна. А вот лист работает только если ему дать минимум 2гб памяти. Все что меньше - валится с OutOfMemoryError.
Аноним 21/09/21 Втр 00:20:37 #102 №2162395 
>>2162371
Я не специалист по фронту, хуярю как умею, всеми технологиями. Огонь из всех орудий. Посмотри требования в вакансиях, надо знать всё. Бутерброд технологий, кайф же
Аноним 21/09/21 Втр 00:22:27 #103 №2162397 
>>2162395
Так зачем одновременно то? Один пет напиши на шаблонах. второй на жс.
Аноним 21/09/21 Втр 00:22:52 #104 №2162398 
>>2162391
Сейчас в голову пришла мысль, что большой оверхед не в листе (ведь внутри него по сути обычный массив сидит), а в классе Integer. Например, 100 миллионов Byte спокойно умещаются в 400 мегабайт памяти, а Integer'ам нужно чуть более чем в 4 раза больше, что в целом ожидаемо.
Вопрос, какова хуя эти классы обертки так много жрут?

UPD. Протеститровал Integer[] и понял, что все-таки виноваты обертки. Хули им нужно так много памяти. Это какое-то наебалово от разработчиков джавы? Примитивы в коллекциях использовать нельзя, значит нужно идти покупать оперативную память? Че за хуйня?
Аноним 21/09/21 Втр 00:27:56 #105 №2162400 
>>2162397
Пет не про фронт. У меня конкретная проблема и конкретный вопрос, на который хер кто ответил. Как с фронта бросить сет ролей в бэк, хоть таймлифом, хоть жэсом, хоть чем.
Аноним 21/09/21 Втр 00:29:59 #106 №2162403 
>>2162391
Во первых Integer обертки занимают раза в 3 больше, чем int.
Во вторых у листа есть capacity. То есть там по сути там массив под крышкой. И его размер выше, чем размер до конца массива.
Только засчет этого может быть разница в 3-5 раз.
Может еще какие то причины, просто самые очевидные
Аноним 21/09/21 Втр 00:30:30 #107 №2162404 
image.png
>an object with one int field (including a boxed Integer) will also take up 16 bytes

Аноним 21/09/21 Втр 00:32:04 #108 №2162405 
>>2162403
Да уже разобрался, спасибо.
Вопрос, когда наконец выйдет вальхалла, то вместо List<Integer> я смогу написать List<int>, чтобы создать списко, который будет под капотом держать не массив жирных 16 байтовых оберток, а массив 4 байтовых примитивов?
Аноним 21/09/21 Втр 00:32:23 #109 №2162406 
>>2162400
Жсом берешь и создаешь объект с массивом объектов, идентичным содержанию твоего енума, потом сериализуешь и отдаешь. Шаблонами - я хз.
Аноним 21/09/21 Втр 00:40:25 #110 №2162408 
>>2162406
>создаешь объект с массивом объектов
let set = {{}};
let role = {id:1, name:"admin"};
set.add...??
Так?
А зачем нужен js-овский сет?
let set = new Set();
sageАноним 21/09/21 Втр 00:46:38 #111 №2162410 
>>2162408
Сет нужен, чтобы были уникальные элементы. Для жсона достаточно массива
Аноним 21/09/21 Втр 00:47:06 #112 №2162411 
>>2162408
Хз. Потыкай в свой контроллер хттп клиетом идеи/постманом Наугад подбери нужный ему формат запроса. Потом в таком же виде делай фронт.
Я тоже не шарю в спринге особо, особенно на шаблонизаторах. Но делал бы так.
Аноним 21/09/21 Втр 00:56:36 #113 №2162416 
>>2162398
>Это какое-то наебалово от разработчиков джавы?
Именно так. Ну а хули ты хотел? Хочешь производительность - используй массивы.
Аноним 21/09/21 Втр 01:03:10 #114 №2162418 
>>2162398
>>2162416
https://habr.com/ru/post/134102/
>Итак, давайте попробуем подсчитать сколько же будет занимать объект класса Integer в нашей 32-х разрядной HotSpot JVM. Для этого нужно будет заглянуть в сам класс, нам интересны все поля, которые не объявлены как static. Из таких видим только одно — int value. Теперь исходя из информации выше получаем:

Заголовок: 8 байт
Поле int: 4 байта
Выравнивание для кратности 8 : 4 байта
Итого: 16 байт

Разница в 4 раза,на 64-битной и побольше может быть.
Аноним 21/09/21 Втр 10:37:16 #115 №2162648 
>>2162398
>>2162416
>>2162418
Зуммеры, для вас JOL сделали https://github.com/openjdk/jol

Берете и получаете результат с точностью до байта, хоть на 32, хоть на 64, хоть со сжатыми указателями, хоть без. Можно вообще сложный DTO засунуть и получить объем всего дерева объектов.
Аноним 21/09/21 Втр 11:25:48 #116 №2162703 
У меня в удаленном репозитории есть мастер ветка, которую обновляю не я. Моя задача на моей ветке. Как обновить мастер ветку, только лишь? Я ее залил к себе, а как дальше мердж делать? Тогда получиться что две ветки у меня сольються в одну? Или нужен ребейз? Или что нужно?
Аноним 21/09/21 Втр 11:45:50 #117 №2162711 
>>2162703
Нужно съебаться из джава треда с такими вопросами, и побыстрее.
sageАноним 21/09/21 Втр 12:01:28 #118 №2162719 
>>2162703
Спуливаешь мастер к себе.
Мержишь изменения из мастера себе в ветку.
Мержишь свою ветку в мастер.
Аноним 21/09/21 Втр 13:51:26 #119 №2162794 
Как с фронта передать Set<Roles> на мой UserDto? Метод контроллера ожидает public User toEntity(UserDto userDto). В json-e нет типа Set. В самом дто поле выглядет так private Set<RoleDto> roles;
Аноним 21/09/21 Втр 14:00:30 #120 №2162801 
>>2162794
метод контроллера такой public String save(UserDto dto) .там метод маппера.
Аноним 21/09/21 Втр 14:09:44 #121 №2162811 
>>2162794
Как ты заебал, даун.
Аноним 21/09/21 Втр 14:36:02 #122 №2162831 
>>2162811
ну ответь, макака, и я свалю
sageАноним 21/09/21 Втр 14:47:48 #123 №2162841 
>>2162811
Джвачая

>>2162831 -> >>2162354
Аноним 21/09/21 Втр 14:55:16 #124 №2162849 
>>2162841
мне кажется ты не понимаешь меня
Аноним 21/09/21 Втр 14:57:59 #125 №2162855 
>>2162841
и отвечаешь хуй знает зачем
sageАноним 21/09/21 Втр 15:29:37 #126 №2162885 
>>2162855
Пока тесты гонятся, чому нет
Аноним 21/09/21 Втр 15:31:42 #127 №2162886 
>>2162885
иди хуй дрочи, или соси
sageАноним 21/09/21 Втр 16:50:33 #128 №2162934 
>>2162886
Злой ты какой-то. На жаву 7 закинули что-ли?
Аноним 21/09/21 Втр 17:05:30 #129 №2162945 
>>2162934
Тон дискуссии задан двумя участниками сверху, я спросил вопрос. Получил два ответа >>2162811
>>2162362
Аноним 21/09/21 Втр 17:06:53 #130 №2162949 
>>2162945
А нахуй ты его спросил? Заставляет задуматься...
Аноним 21/09/21 Втр 17:11:51 #131 №2162964 
>>2162949
Кого его? Вопрос без ссылки на другие посты. Или его это этот тред?
Аноним 21/09/21 Втр 17:35:34 #132 №2163030 
>>2162366
Java 18?
sageАноним 21/09/21 Втр 18:06:20 #133 №2163092 
>>2163030
GWT
Аноним 21/09/21 Втр 19:03:29 #134 №2163181 
А есть на ютабе каналы на которых что-то интересное на спринге делают с разбором, если есть поделитесь.
Аноним 21/09/21 Втр 19:07:56 #135 №2163185 
>>2163181
На спринге делают только скучное, поэтому за него и плотят.
Аноним 21/09/21 Втр 19:32:14 #136 №2163217 
>>2163181
Никто не будет заморачиваться с спрингом на ютабе, нужно угодить подпивасным зрителям и высрать КЛОН ТВИТТЕРА НА РЕАКТ НОДА ЗА ЧАС (дольше никто смотреть не будет)
Аноним 21/09/21 Втр 19:45:58 #137 №2163241 
>>2163217
Ну вот клот твиттера на 5 табличек это не про спринг и упрощение.
Опиши в паре абзацев, какой проект был бы адекватен настоящему спринговому стеку.
Аноним 21/09/21 Втр 20:28:13 #138 №2163289 
Господа ананасы, помогите.

Как мне в контроллере через @RequestBody передать enum таким образом, чтобы он сериализовался как объект:

{
"status": "ACCEPTED"
}

Сам enum выглядит следующим образом

@Getter
@RequiredArgsConstructor
public enum Status {

IN_PROGRESS("В работе"),
SUBMITTED("Отправлена"),
ACCEPTED("Принята"),
COMPLETED("Выполнено"),
NOT_ACCEPTED("Не принята"),
DELETED("Удалена");

private final String value;

}

Если запихнуть прямо @RequestBody Status status, нихуя не пашет, сваггер говорит (и говорит правильно), что нужно отправлять просто один из вариантов статуса, без кавычек, без нихуя, не объектом.
sageАноним 21/09/21 Втр 20:39:53 #139 №2163304 
>>2163289
class SomeDto {
Status status;
}
Аноним 21/09/21 Втр 23:10:47 #140 №2163414 
Котлин прям копия питон по синтаксису
Аноним 21/09/21 Втр 23:15:28 #141 №2163417 
dbconfigs.PNG
Короче ебаный спринг, ебаная шлюха козьмина. Прохожу книжку prospring5. И там глава по jdbc. И код из книги выдает ошибку.
Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Cannot create PoolableConnectionFactory (Access denied for user 'Karasik'@'localhost' (using password: YES))
Какой нахуй карасик? Это имя пользователя на моей винде, а имя пользователя mysql prospring5. Оказывается эта мразь каким то образом держит в переменной пропертей username(пик) имя моего пользователя. И никак его не меняет. И нужно было изменить имя переменной.
И я тыкался 3 дня. У этой ошибки миллион причин. Пока на третий день не дошел до второй страницы выдачи гугла, где это описано про эту книгу.
Как это говно работает? @Value берет pathvariable винды? Нахуя?
Только без виндосрача, пожалуйста, джава же ран евривере.
Аноним 21/09/21 Втр 23:15:44 #142 №2163418 
>>2163414
Даа, а нахуя ты это в джава треде пишешь, ебланоид?
Аноним 21/09/21 Втр 23:18:04 #143 №2163421 
>>2163417
>@Value берет pathvariable винды? Нахуя?
Не только винды. Куда ты лезишь в спринг нахуй, если не можешь прочитать, как аннотация работает?
Аноним 21/09/21 Втр 23:23:42 #144 №2163423 
>>2163418
Чтобы ты в свой рот принял информацию конечно же, мань.
Аноним 21/09/21 Втр 23:28:03 #145 №2163426 
>>2163421
да ладно, понятно зачем, я просто не сталкивался с явным использованием переменных среды из джавы.
Но козьмина могла догадаться так переменную в пропертях не называть. Еще книги пишет, сука.
Аноним 21/09/21 Втр 23:29:09 #146 №2163429 
>>2163426
А нахуй ты книжки читаешь? Толку ноль все равно. Читать надо мурзилки.
Аноним 21/09/21 Втр 23:44:17 #147 №2163441 
>>2163429
Я прочитал одну и еще несколько до половины. Но чувство, что я знаю фрагментарно очень меня очень гнетет. Может микрзилки были говно конечно.
А тут охват, в одном контексте, да и по нашему еще пишут.
Я как главу про jdbc прочту пойду читать Java Persistence API и Hibernate.
А че ты из мурзилок посоветуешь такому бестолковому? Баелдунг? Я читал штук 7 статей, когда писал кое-что.
Думал тупо доку почитать. Но я насчитал в нужных кусках доки 3.5 ляма символов. То есть 1500 страниц. Но на ингише(скорость чтения у меня в 5 раз медленее) и с только кусочками кода, без полных программ. И язык потяжелее баелдунга.
Аноним 22/09/21 Срд 03:25:21 #148 №2163515 
>>2159705 (OP)
Про Шилдта
У него есть 2 книги
"Шилдт Г. - Java. Руководство для начинающих" и "Шилдт Г. - Java. Руководство для начинающих" и "Шилдт Г. - Java. Полное руководство". Это книги которые следует учить друг за другом? Или первая это для тех, кто хочет освоить быстро основные положения Java core а вторая для тех, кто хочет освоить Java более углубленно?
???
Аноним 22/09/21 Срд 04:06:09 #149 №2163519 
>>2159709
Полноценно с linux на C# не поработаешь
Аноним 22/09/21 Срд 05:37:03 #150 №2163530 
Привет, аноны.
Пытаюсь запустить сервлет Java 8 с JBDC на tomcat 9.
В pom.xml подключил зависимость на mysql-connector-java. Стартую сервер, при отправке запроса на сервлет выдаёт ошибку:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mydb...
Заметил, после добавления драйвера в зависимость, в консоли томкэта появился варнинг:
INFO [RMI TCP Connection(2)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Не очень понимаю, что это означает. В war-файл драйвер упаковался.
В чём может быть проблема?
ОС: macOS Catalina 10.15.7
Tomcat 9.0.53
Аноним 22/09/21 Срд 05:59:40 #151 №2163533 
>>2163530
Короче, убрал зависимость в мавене и положил вручную джарник с драйвером в tomcat/libs. Заработало. Само собой, не самое лучшее решение. Хотелось бы, чтобы подтягивался драйвер из war-ника.
Аноним 22/09/21 Срд 07:51:03 #152 №2163562 
>>2163519
Полноценно это как?
Аноним 22/09/21 Срд 09:00:35 #153 №2163602 
>>2163530
>>2163533
Ты как Datasource инициализируешь? В своем приложении какой нибудь Hikari стартуешь или в Tomcat JNDI Datasource поднимаешь?
Аноним 22/09/21 Срд 09:57:09 #154 №2163630 
image
"...covers Java 1.4 and contains 193 complete, practical examples: over 21,900 lines of densely commented, professionally written Java code, covering 20 distinct client-side and server-side APIs."
Есть ли какая-нибудь более свежая альтернатива этой книге? Нужно для обучения. Хочется почитать примеры, но не из 2004 года.
Аноним 22/09/21 Срд 10:01:53 #155 №2163633 
>>2163630
Когда у орейли кончатся животные?
Аноним 22/09/21 Срд 14:44:25 #156 №2163920 
Приветствую. Работаю java-программистом чуть менее полутора лет. Одна из особенностей работы в моей компании заключается в том, что на большинстве проектов не используется Spring и Hibernate. Соответственно, знаний по тому и другому у меня почти нет, что будет являться проблемой, если я захочу уйти в другую компанию. Так что вот пытаюсь освоить это сам. Попытаюсь потом еще конечно менеджера попросить, чтобы параллельно с текущими проектами закинули меня на какой-то проект, где Spring и Hibernate, но не факт, что получится.
Собственно, вопрос. Когда я буду пытаться куда-то еще устроиться, будет ли проблемой, что у меня не будет именно продакшн опыта на этих технологиях, а только какие-то пет-проекты (планирую запилить 2-3 штуки для практики)?
Аноним 22/09/21 Срд 15:05:44 #157 №2163943 
>>2163920
А что использовал за полтора года?
Аноним 22/09/21 Срд 16:09:26 #158 №2163996 
>>2163943
Я не тот анон, но у нас тоже нет ни хибера ни спринга. Вместо них Guice, jOOQ, gRPC, Apollo.
Аноним 22/09/21 Срд 16:40:53 #159 №2164017 
>>2163633
Красная Книга становится всё толще, так что с этим проблем не будет.
Аноним 22/09/21 Срд 20:29:52 #160 №2164343 
>>2163530
>Пытаюсь запустить сервлет Java 8 с JBDC на tomcat 9.
Ты ебанутый?
Аноним 22/09/21 Срд 20:30:58 #161 №2164347 
>>2163996
>Вместо них Guice, jOOQ, gRPC, Apollo.
Ну вы и ебанутые, небось еще и на го пишете.
Аноним 22/09/21 Срд 20:43:17 #162 №2164362 
>>2164347
Микросервисы да, а что?
Аноним 22/09/21 Срд 21:37:31 #163 №2164429 
>>2163602
>Ты как Datasource инициализируешь?
А вот про это вообще не знал, спасибо. Думал, и так заработает. Просто только изучаю J2EE.

>>2164343
>Ты ебанутый?
>изучаю J2EE
Аноним 22/09/21 Срд 21:38:31 #164 №2164431 
>>2159705 (OP)
Короче, хочу себе JRE на андроид. Эксперименты в этой области были и весьма успешные:
https://github.com/PojavLauncherTeam/PojavLauncher - позволяет запускать Minecraft Java Edition причем актуальных версий. Также, позволяет запускать установщики модов, тоже на джаве. Но, как вы поняли, он заточен чисто под кубач, а я хочу запускать вообще любые программы на жаве с гуем. Ну например Open Rockets, Xmind.
https://github.com/MasterDevX/Termux-Java это ставит джаву из под термукса ну и тут ограничиваемся консольными приложениями
Гуглится вообще сложно тема, поэтому спрашиваю тут, может есть уже готовые приложения, которые могут запускать жары на ведре?
Аноним 22/09/21 Срд 22:04:05 #165 №2164456 
>>2164429
>>изучаю J2EE
Ну, то есть да.
Аноним 23/09/21 Чтв 01:05:01 #166 №2164546 
>>2164456
Я не виноват, что это требуют работодатели. Да и вроде для понимания работы спринга полезно знать будет.
Аноним 23/09/21 Чтв 03:28:08 #167 №2164577 
>>2164546
Лучше для понимания работы спринга читай доки спринга
Аноним 23/09/21 Чтв 06:19:53 #168 №2164586 
Подскажите, пожалуйста, чем лучше отсылать параллельные get/post запросы на локалхост? Может есть какая тулза, хорошо подходящая для этих нужд. Хочу протестировать работу логики под многопоток.
sageАноним 23/09/21 Чтв 08:48:11 #169 №2164618 
>>2164586
Есть jmeter. Но это больше по нагрузочное тестирование
Аноним 23/09/21 Чтв 10:37:50 #170 №2164686 
>>2164347
>Ну вы и ебанутые, небось еще и на го пишете.
Нормальный стек, легче, более шустрый и без магии, чем дефолтный спринговый.
Аноним 23/09/21 Чтв 12:31:10 #171 №2164833 
Сап, программач.

Как в гибернейте смапить поле типа BLOB у ебучей DB2?

Пробовал
@Column(name = "DATA")
private byte[] data;

и
@Column(name = "DATA")
private Blob data;

в результате при попытке достать сущность из базы выходит одна и та же ошибка:
Exception in thread "main" org.hibernate.UnknownEntityTypeException: Unable to locate persister: ru.huita.db.entity.ProcessInstanceData
Аноним 23/09/21 Чтв 13:00:52 #172 №2164857 
>>2164833
@Lob

А потом эти любители магических аннотаций критикуют jOOQ и Guice
Аноним 23/09/21 Чтв 13:02:09 #173 №2164858 
>>2164833
>DB2?
Ебануться! Ее кто-то использует! В ЦБ что ли работаешь?
Аноним 23/09/21 Чтв 13:04:03 #174 №2164862 
>>2164857
C @Lob ситуация аналогичная.
Аноним 23/09/21 Чтв 13:06:42 #175 №2164865 
>>2164858
Нет, в телекоме.
Понапокупают хуйни, потом ебись с ней.
Аноним 23/09/21 Чтв 13:12:15 #176 №2164869 
>>2164862
А если колонку вообще убрать ошибка исчезнет?
sageАноним 23/09/21 Чтв 13:14:31 #177 №2164875 
>>2164865
Ебать у вас там веселье творится

мимо руты искали
Аноним 23/09/21 Чтв 13:38:33 #178 №2164892 
>>2164869
Ебать я затупил, элементарно же проверить можно было.
Убрал поле, снова получил ошибку, понял где накосячил - не добавил класс сущности в конфигурацию.

Добрй тебе, анон.
Аноним 23/09/21 Чтв 14:52:19 #179 №2164993 
image
Если создать булеан-массив, заполнить его false, потом под случайным индексом менять false на true, пока все элементы не станут true. От чего будет зависеть, сколько понадобится итераций на каждый элемент массива? У меня получается count/arr.length == ~15, но непонятно откуда эта цифра и зависит ли она от чего-нибудь.
Аноним 23/09/21 Чтв 17:19:35 #180 №2165099 
>>2164618
Спасибо, посмотрю
Аноним 23/09/21 Чтв 17:40:38 #181 №2165115 
>>2164993
>От чего будет зависеть, сколько понадобится итераций на каждый элемент массива?
От генератора случайных чисел. В принципе для генератора с нормальным распределением можно рассчитать матожидание.
Аноним 23/09/21 Чтв 20:58:21 #182 №2165270 
Суп. Хочю вкатиться в блокчейн на джаве. Подводные?
Аноним 23/09/21 Чтв 22:48:22 #183 №2165356 
>>2163996
У тебя еще норм стек. Я вот каким-то хуем устроился в инфобез 2 года назад писать разные хуевины на ANTLR, так до сих пор и сижу там. Куда перекатываться хуй знает, так как я вообще бекендом никогда в своей жизни не занимался. А в джетбрейнсе меня нахуй шлют.
Аноним 23/09/21 Чтв 23:36:45 #184 №2165383 
бля, аноны, помогите, бога ради, третий день мучаюсь
Добавил hibernate validator 6.2.0.Final, добавил валидацию - проект работает, валидации не было. Решил добавить еще validation-api, и все, пиздец, кидает
java.lang.AbstractMethodError: Receiver class org.hibernate.validator.engine.ConfigurationImpl does not define or inherit an implementation of the resolved method 'abstract javax.validation.ParameterNameProvider getDefaultParameterNameProvider()' of interface javax.validation.Configuration.

И ни в какую обратно вернуть ничего не могу, локальную историю поднимал, удалял .м2, убрал всю валидацию и ничего, все та же ошибка. Насколько я понял, что проблема с javax и jakarta, но я в душе не ебу, как это можно пофиксить
Аноним 23/09/21 Чтв 23:57:11 #185 №2165393 
>>2165383
ебать, пофиксил. Внукам: сделал mvn clean в 1000 раз, сменил на hibernate validator 6.1.6 - заработало.
Аноним 24/09/21 Птн 01:56:01 #186 №2165431 
>>2165270
Такое существует?
Аноним 24/09/21 Птн 05:20:40 #187 №2165453 
В комментах много где встречал мнение, что спринг бут медленный.
Это бут медленный или спринг? И почему?
Аноним 24/09/21 Птн 13:15:10 #188 №2165674 
>>2165453
медленный по сравнение с чем?с питоном или с? или с джавой?
Аноним 24/09/21 Птн 13:45:39 #189 №2165709 
>>2165356
>писать разные хуевины на ANTLR
Мне кстати нравилось с ANTLR работать. В разы приятней чем DLS на котлине, грувях или XML.
Аноним 24/09/21 Птн 14:29:58 #190 №2165739 
>>2165674
Я не до конца понял из контекста. Думаю и с другими стеками джавы сравнивали и с шарпом/го.
Аноним 24/09/21 Птн 19:31:24 #191 №2166025 
>>2165453
Бут долго стартует в дефолтной конфигурации. Чтобы его ускорить надо отключать автосканы и ненужные компоненты.
Аноним 24/09/21 Птн 19:37:54 #192 №2166033 
>>2166025
а в рантайме не медленный?
sageАноним 24/09/21 Птн 19:39:10 #193 №2166034 
>>2166033
Нет. Больше всего времени кушают запросы в базу + другие сервисы
Аноним 25/09/21 Суб 13:18:01 #194 №2166719 
>>2166033
Если не злоупотреблять спринговой магией, нет.
Аноним 25/09/21 Суб 13:20:18 #195 №2166721 
>>2166719
можно примеры магии.
sageАноним 25/09/21 Суб 13:53:31 #196 №2166755 
>>2166721
Аспекты
Аноним 25/09/21 Суб 14:00:05 #197 №2166761 
>>2166755
А где они применяются, кроме логирования? И в чем там магия?
sageАноним 25/09/21 Суб 14:18:40 #198 №2166775 
>>2166761
Они работают долго. В основном логирование, аудит и тд, да
Аноним 25/09/21 Суб 21:15:36 #199 №2167098 
>>2166721
Транзакции, особенно всякие пре/пост коммит хуки. Йоба валидаторы. Всякие автоматические конверторы. Хибернейт если злоупотреблять связями. Всякие аутентификаторы хитрые, которые под капотом в базу могут писать.
Аноним 26/09/21 Вск 10:47:42 #200 №2167311 
Может кто проходил собесы на middle/senior в последние годы? Что спрашивают, какие подводные есть?
Сам 3+ года опыта, уволился, в октябре предстоит прохождение собесов. Что там сейчас на повестке у интервьюеров?
Аноним 26/09/21 Вск 11:33:48 #201 №2167329 
Вот я пишу маленький нубо-бэк на спрингбуте. И мне нужно, чтобы после каждого изменения кода приложение пересобиралось, перезапускалось (в докер-контейнере) и для апи гонялись тесты. Всё это должно происходить локально. Как такое принято реализовывать? Может, даже где-то уже гайд есть?
sageАноним 26/09/21 Вск 11:41:38 #202 №2167334 
>>2167329
Можешь ручками sh файл написать.
Мб в градле какие-то плагины есть
Аноним 26/09/21 Вск 11:52:31 #203 №2167339 
>>2167329
integration test
Аноним 26/09/21 Вск 13:57:10 #204 №2167419 
На сколько хорошо жабист должен знать js, ajax, jQuery, bootstrap-ы верстку, всю хуйню. Надо ли изучать angular, react, vue, node, и зачем они вообще нужны? И что такое знание sql? Есть те, кто базы не хибернетом делает?
sageАноним 26/09/21 Вск 14:02:34 #205 №2167423 
>>2167419
Жс нинужон. Только чтобы самому понимать, что там наверху творится.
Базы хибером никто не делает. Все миграции пишутся ручками. Ну и кроме знания самого sql надо хоть немного понимать, что происходит в базе
Аноним 26/09/21 Вск 14:09:14 #206 №2167430 
>>2167423
Т.е. хибер тоже нинужон? И как получить знания sql, читать книги? Выдумывать самому незнамо чё? В моем пете 4 операции криейт, райт, апдейт, делит. Что я ещё должен сделать?
Аноним 26/09/21 Вск 15:12:57 #207 №2167499 
>>2167419
>>js, ajax, jQuery, bootstrap-ы верстку, всю хуйню
Хуйня без задач.
>>angular
Будет плюсом, если на галеру идешь, Джон Боров оценит 2 по цене одного.
>>react, vue
Для интерпрайза не особо популярно.
>>И что такое знание sql?
Умение написать запрос в @Query и прочитать его. Там дальше агрегации обычно не заходит. Оптимизация запросов через индексы практикуется не так часто. Тебя скорее выебут за n+1.
>>Есть те, кто базы не хибернетом делает?
Миграции пишут всегда.
>>2167430
>>Т.е. хибер тоже нинужон? И как получить знания sql, читать книги?
Сейчас везде либо хибер, либо ждбцТемплейт. В первом надо писать query либо уметь применять спецификации, во втором - чистый сиквель.
>>В моем пете 4 операции криейт, райт, апдейт, делит. Что я ещё должен сделать?
Для этого стандартные методы подойдут. А когда тебе надо будет найти всех анонов старше 30лет, имя которых начинается на С или В, мать - шлюха, упорядочить список по степени шлюховатости матери по мнению Ашота, потом по возрасту анона то придется или писать супердлиный метод или писать @Query с hql/sql или таки освоить Specification


sageАноним 26/09/21 Вск 17:13:00 #208 №2167626 
>>2167430
Хибер нужон. Но его используют как орм, а не как тулу для миграций
Аноним 26/09/21 Вск 17:34:01 #209 №2167646 
>>2167626
>Хибер нужон. Но его используют как орм, а не как тулу для миграций
Двачеры совсем ебанулись, использовать хибер как тулу для миграции базы.
Для вас, мудаков, ликвибейз и флайвей завезли. А вы пидоры все хибером ебашите.
Аноним 26/09/21 Вск 17:56:57 #210 №2167682 
В тред призываются опытные сериализаторы и десериализаторы xml и json
Братцы, есть ли какие-нибудь альтернативы аннотации @XmlAnyElement(lax =true) в библиотеке json?
Я не очень опытный програмутор, в гугле ничего не нашёл.
Суть дела такова. На проекте есть готовый фреймворк, который был создан для десериализации XML. Но теперь вместо XML ответов мы начали получать абсолютно аналогичные ответы на JSON. Мне поручили переписать готовый фреймворк так, чтобы он одновременно мог обрабатывать и старые XMLки и новые Jsonы
И вот хз, какой аналог может быть @XmlAnyElemet? Мб кто-нибудь знает?
4ые сутки мучаюсь, работа стоит
Аноним 26/09/21 Вск 17:57:29 #211 №2167683 
Как мигрировать NoSQL?
Аноним 26/09/21 Вск 17:58:14 #212 №2167684 
>>2167682
Скажи, что они ебаные пидорасы и перепиши все на Jackson.
Аноним 26/09/21 Вск 17:59:12 #213 №2167687 
>>2167684
Соблазн велик, но тогда я буду уволен, очевидно)
Аноним 26/09/21 Вск 18:04:01 #214 №2167691 
>>2167687
Наоборот же, проявишь себя самостоятельным и независимым работником, умеющим решать сложные задачи.
В jackson то, что тебе нужно, как раз есть https://www.baeldung.com/jackson-annotations#3-jsonanysetter
Аноним 26/09/21 Вск 18:07:14 #215 №2167694 
>>2167691
Спасибо, буду пробовать
Если получится - наконец то перестану работать в выходные и рубану в дьяблу
Аноним 26/09/21 Вск 18:28:24 #216 №2167711 
>>2167694
>наконец то перестану работать в выходны
Хртьфу блядь, чтоб я еще раз помогал кому-то в этом треде. Не дай бог окажется таким же чмошником как и ты.
Аноним 26/09/21 Вск 18:41:46 #217 №2167733 
>>2167711
Жесть чел, а ты не подумал, что я не за бесплатно в выходные работаю?
Если твой совет мне поможет - то мне заплатят 300к/наносек просто за то что я задал вопрос на дваче.
Так что я не чмошник
Аноним 26/09/21 Вск 18:43:03 #218 №2167736 
>>2167733
Тем более блядь.
Аноним 26/09/21 Вск 18:43:30 #219 №2167737 
>>2167733
>я вот сосу хуй НО НЕ ЗА БЕСПЛАТНО ЖЕ
Аноним 26/09/21 Вск 18:45:53 #220 №2167746 
>>2167737
ууу, абстрактные, ни на чём не завязанные примеры. Ни одного аргумента.
Ты слит маня, съебал с треда
Аноним 26/09/21 Вск 19:09:04 #221 №2167767 
>>2167311
>Что там сейчас на повестке у интервьюеров?
Многопоточка, асинхронщина и распределенные системы.
Должен знать на зубок как работают внутри конкурентные коллекции, уметь написать свою Lock-Free очередь, досконально знать JMM и как работает GC. Понимать, как работает под капотом NIO и NIO.2 (epoll, kqueue) и всякие каналы, селекторы.
По распределенкам тут уже сложнее, но базу вроде paxos и raft нужно знать. Микросервисная архитектура туда же.
Всякий спринг и хибер раньше спрашивали плотно, сейчас уже не так часто, так как сейчас идет тренд чтобы по максимуму отказаться от них в будущих проектах.
Аноним 26/09/21 Вск 19:13:33 #222 №2167771 
>>2167746
>я не за бесплатно в выходные работаю
Твои слова.
Аноним 26/09/21 Вск 19:15:02 #223 №2167773 
>>2167767
>>по максимуму отказаться от них в будущих проектах.
И писать свои велосипеды вместо проверенных технологий? Зачем в такое говно идти вообще?
Аноним 26/09/21 Вск 19:16:10 #224 №2167776 
>>2167773
>И писать свои велосипеды вместо проверенных технологий?
Да, причем на го.
Аноним 26/09/21 Вск 19:19:51 #225 №2167778 
>>2167773
Да, потому что это faang-style разработка.
sageАноним 26/09/21 Вск 19:23:10 #226 №2167780 
>>2167646
А меня за что?
Аноним 26/09/21 Вск 20:21:39 #227 №2167834 
>>2167778
Для этого нужны faang-style программисты с faang-style зарплатой, который будет непеша пилить и поддерживать велосипеды для тысяч программистов, а не чинить баги на проде под вопли "мы обещали, Сычев".
Аноним 26/09/21 Вск 20:42:59 #228 №2167852 
Что спросят у джуна на собесе?
Аноним 26/09/21 Вск 20:51:30 #229 №2167858 
>>2167778
>faang-style разработка.
Для этого нужны и ресурсы как у FAANG. А то будет как ебучем Революте, когда разрабы перегружены раскраской кнопочек, решением проблем клиентов и прочей бизнес хуетой, а по вечерам должны сапортить самописные велосипеды Влада.
Аноним 26/09/21 Вск 21:04:23 #230 №2167867 
>>2167858
Че за револют?
Аноним 26/09/21 Вск 22:16:51 #231 №2167928 
>>2167852
Погугли вопросы для джуна, на ютуте есть тестовые собесы, вопросы почти всегда одни и те же для ждуна.
Аноним 27/09/21 Пнд 00:11:55 #232 №2168025 
А можно параллельно изучению языка пытаться на основе теории, на основе каждой пройденой темы писать свою маленькую программу? Или этого недостаточно для усвоения материала и надо дрочить задачки и гуглить их?
Аноним 27/09/21 Пнд 00:24:42 #233 №2168033 
>>2166034
Сейчас вот заканчиваю с тутором по jdbc и перехожу к хиберу. Читаю статью по пулу соединений. Ну и везде краеугольная тема, это то, что подключение к базе это дорогой ресурс, это медленно, ресурсозатратно и т.п.
Но нигде не написано почему.
Тот кто шарит на более низком уроне может рассказать вкратце в чем суть тяжести соединений к базе?
Аноним 27/09/21 Пнд 14:43:53 #234 №2168375 
Подскажите, кто нибудь делал конфигурацию scheduler в Camel через классы а не через строку в .from()?
Аноним 27/09/21 Пнд 15:03:00 #235 №2168386 
Screenshot1.png
Screenshot2.png
Screenshot3.png
Двач помоги.Почему я не могу вивести окна?????
sageАноним 27/09/21 Пнд 15:13:15 #236 №2168389 
>>2168386
Скорее всего у тебя Window из java.awt тянется
Аноним 27/09/21 Пнд 21:57:17 #237 №2168666 
Скажите в чем может быть проблема, при запуске проекта все зависает минут на 10 вот на этой строке INFO org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect. Я каждую минуту правлю и запускаю, и это просто пиздец с такими интервалами.
Аноним 27/09/21 Пнд 22:08:56 #238 №2168678 
>>2168666
Запусти под профайлером и смотри что там. Ну или ходя бы dump stacktrace.
Аноним 27/09/21 Пнд 22:12:29 #239 №2168682 
>>2168678
Я не знаю что такое профайлер dump stacktrace.
Аноним 27/09/21 Пнд 22:14:45 #240 №2168684 
>>2168666
Дебаг логи включи, дурачок
Аноним 27/09/21 Пнд 22:19:03 #241 №2168686 
>>2168682
>Я не знаю что такое профайлер dump stacktrace.
https://hh.ru/employer/49357
Аноним 27/09/21 Пнд 22:20:18 #242 №2168687 
>>2168684
Я не знаю что такое дебаг логи и где их включать. Мне надо над самим проджектом думать, а не незнамо че гуглить сейчас.
Аноним 27/09/21 Пнд 22:21:16 #243 №2168689 
>>2168687
Посмотри ссылку, которую анон выше скинул, там то, что тебе надо.
Аноним 27/09/21 Пнд 22:22:47 #244 №2168691 
>>2168684
>>2168686
Ну и идите нахуй
Аноним 27/09/21 Пнд 22:23:42 #245 №2168692 
>>2168689
мвахахахахахахаххахахахаахаха
Аноним 28/09/21 Втр 00:56:17 #246 №2168801 
Есть ли в CRUDRepository готовый метод для обновления записи? У меня есть объект с айди 10 в базе, есть второй объект. Я хочу записать второй объект в базу с айди 10.
Я могу перезаписать поля геттерами и сеттерами у имеющегося объекта, могу JPQL запрос написать. Но CRUD же должен простой метод для обновления уже сам иметь, разве нет?
Аноним 28/09/21 Втр 08:11:36 #247 №2168864 
>>2168801
save()
С тебя логика апдейта - с него только сохранение.
Аноним 28/09/21 Втр 10:12:20 #248 №2168894 
>>2168033
если в двух словах и не выебываться: чем больше абстракций над железом, тем медленнее это работает и больше ресурсов требуется.
Аноним 28/09/21 Втр 11:02:15 #249 №2168910 
В каком-то из прошлый тредов кто-то поднимал вопрос генерации однотипных контроллеров. Я не нашел эти сообщения, но может кто-то помнит, есть нормальное решение для этой задачи?
Аноним 28/09/21 Втр 12:26:07 #250 №2168956 
image.png
Анон, не понимаю как решить проблему при сборке нативного кваркус-приложения.
Из требований - обязательно должна быть поддержка Consul через consul-client но про него пишут:
> Well, that’s a problem with the consul-client library. It probably does not support GraalVM since it uses proxies. You can as well replace it with your own code that just calls Consul REST API to work with the native image builds

Однако само приложение говорит что можно работать, но для жтого надо чтобы я на этапе сборки воспользовался конфигурацией
>To define proxy classes use -H:DynamicProxyConfigurationFiles=<comma-separated-config-files> and -H:DynamicProxyConfigurationResources=<comma-separated-config-resources> options.

Собираю так:
mvn clean package -Pnative -DskipTests -Dquarkus.native.container-build=true -Dquarkus.native.additional-build-args=-H:EnableURLProtocols=http\\,https,--enable-all-security-services,--allow-incomplete-classpath,-H:DynamicProxyConfigurationResources=proxy-config.json

в proxy-config.json прописал интерфейсы consul-client и теперь на этапе сборки меня посылает нахуй
>com.oracle.svm.core.util.UserError$UserException: Class .... not found

Два дня уже ебусь с этим, пиздец просто. Что делать?
Аноним 28/09/21 Втр 13:11:13 #251 №2168995 
>>2168956
Да там вообще пидарасы этим консулом занимаются, завел issue на гитхабе, а они месяц молчат уже.
Аноним 28/09/21 Втр 13:23:12 #252 №2169011 
>>2168894
Типа потому что база это отдельный процесс(если она на той же машине)?
Аноним 28/09/21 Втр 13:33:16 #253 №2169016 
>>2168692

А чем у них плохо работать то?
https://hh.ru/vacancy/45222933
https://hh.ru/vacancy/46706058
Аноним 28/09/21 Втр 13:39:09 #254 №2169018 
>>2169016
даже для джунов есть.
https://hh.ru/vacancy/47862414
Аноним 28/09/21 Втр 15:45:47 #255 №2169166 
>>2168666
Очевидно, не настроил доступ к базенке своей.
Подними в докере свой мускуль (гугли докер композ);
Потом настрой проперти файл со строками подключения;
Потом запускай свою программулину (не избирательную лул).
Аноним 28/09/21 Втр 18:34:05 #256 №2169315 
image.png
Собираюсь вкатываться в ойти, читая Шилдта в оригинале и попутно делая пет-проджект, какие подводные?
Аноним 28/09/21 Втр 18:56:28 #257 №2169343 
>>2169315
Никаких, я так и вкатился, только на русском читал
Аноним 28/09/21 Втр 19:14:23 #258 №2169384 
>>2169315
Шилдт не ок
Аноним 28/09/21 Втр 19:19:23 #259 №2169395 
>>2169384
А кто ок, курсы от Нетологии или от Практикума?
Аноним 28/09/21 Втр 19:23:10 #260 №2169401 
>>2169018
>>Знание Java SE (не ниже версии 7,
>>Знание технологии из стека Java EE (JMS, JAX-WS/RS, JTA).
>>умение писать bash скрипты.
>>Ты получишь уникальный опыт
Работа мечты прям. Жаль зп не указана.
Аноним 28/09/21 Втр 19:35:56 #261 №2169421 
2007.mp4
>>2169018
>Знание Apache Camel (routing).
>Знание Apache ActiveMQ (JMS).
>Знание языка запросов SQL Oracle. Владение языком pl/sql.
Аноним 28/09/21 Втр 20:49:00 #262 №2169462 
>>2169395
Ok это книга Selikoff & Boyarsky OCA/OCP. Эта книжка, если ты не просто будешь ее читать, а экспериментировать, даст тебе больше, чем Шилдт .

OCA настроит мозги на нужный лад.
OCP даст крепкие знания и ты сможешь реализовать свои сервисы для портфолио и удовольствия ради. Я гарантирую это.
Аноним 29/09/21 Срд 00:54:39 #263 №2169683 
Что почитать, посмотреть, годного, по интеграционному и юнит тестированию?
Аноним 29/09/21 Срд 00:59:53 #264 №2169687 
>>2169462
И плюс ко всему получим сертифицированного джависта на выходе, благородного жаба господина.
Аноним 29/09/21 Срд 02:52:47 #265 №2169723 
>>2169687
Экзамен дорого стоит, а выхлопа от него мало. Зачем он вкатунцу?
Аноним 29/09/21 Срд 08:21:16 #266 №2169752 
>>2169723
Спроси у того кто ему oca/ocp советует
Аноним 29/09/21 Срд 15:41:37 #267 №2170059 
Сап туч, хочу в строке находить определенный символ Х и начиная от него забирать все символы до других определенных символов У,Й. Есть какие библиотечные методы которыми можно это сделать? Или только в цикле по строке двигаться от символа Х до тех пор пока не наткнусь на один из символов У,Й?
Аноним 29/09/21 Срд 15:57:39 #268 №2170065 
У Microsoft сервера есть .mdf .ldf файлы. Есть что-нибудь подобное у постгреса? Я нахуячил курсач и теперь хуй знаю как преподу базу сдать
sageАноним 29/09/21 Срд 16:47:02 #269 №2170104 
>>2170059
А чем тебе решение с циклом не устраивает?
Аноним 29/09/21 Срд 18:22:18 #270 №2170172 
Зачем gradle постоянно ломают обратную совместимость? Мне для новых туториалов пришлось ставить 7 версию, для книжки 2017 года 4ую. Сейчас опять начал тутор с сорцами, опять не пашет из-за версии. Такая фигня с jsными сборщиками была.
С мавеном такого не было.
Аноним 29/09/21 Срд 18:26:16 #271 №2170173 
>>2170065
Сделай дамп бд и скриптецкий для создания базы. Гугли pg dump
Аноним 29/09/21 Срд 18:30:00 #272 №2170178 
>>2170065
Ну и зачем ты тогда Postgres выбирал, тебе нужна встраиваемая БД.
Типа SQLite, Firebird, HSQLDB (последняя лучше заточена под JPA/Hibernate).
Postgres и MySQL должны быть установлены там, где будет запускаться приложение. А сама база на них создается с помощью миграций - см. Flyway и Liquibase.
Аноним 29/09/21 Срд 18:37:13 #273 №2170185 
>>2170059
У String есть методы indexOf и substring, для твоей задачи их достаточно. Но с циклом будет работать быстрее.
Аноним 29/09/21 Срд 18:40:40 #274 №2170189 
>>2169421
Хорошее время было, до б-гомерзких соцсетей и гейфонов. В IT были молчаливые бородатые сычи, а не женоподобные хипстеры.
А еще была куча вакансий на божественной Delphi.
Аноним 29/09/21 Срд 18:45:39 #275 №2170190 
>>2169683
Бамп. Или в этом треде никто не сталкивался с такими понятиями?
Аноним 29/09/21 Срд 18:52:57 #276 №2170192 
>>2170190
https://javarush.ru/groups/posts/605-junit
https://habr.com/ru/post/120101/
https://www.baeldung.com/junit-5
Это про JUnit. Интеграционным не занимался, это Selenium штоле?
sageАноним 29/09/21 Срд 19:32:48 #277 №2170215 
>>2170192
Интеграционное = юнит с настоящей базой
Аноним 29/09/21 Срд 20:23:51 #278 №2170260 
>>2170172
Потому что грейдл для пориджей, мавен для гречневых.
Аноним 29/09/21 Срд 20:34:00 #279 №2170268 
>>2170178
Я вообще не задумывался о таких мелочах,когда начинал делать. Постгресс мне понравился из-за функционала,да и более опытные ребята посоветовали,типо мастхэв. О том что я столкнусь с невозможностью тупо скинуть файлики на флешку я не подозревал
Аноним 29/09/21 Срд 20:50:40 #280 №2170281 
>>2170268
Бд можно создавать при запуске и накатывать все ликвибейсом
Аноним 29/09/21 Срд 21:02:57 #281 №2170290 
>>2170268
А ты от MS SQL Server'a файлы собирался передавать?
Если да, то хорошенько подумай и никогда так не делай.
Передаются обычно бэкапы, желательно с предварительной проверкой их работоспособности.
Аноним 29/09/21 Срд 21:07:17 #282 №2170293 
>>2170290
На лабах по бд я скидывал преподу .mdf .ldf файлы и ему хватало чтобы отъебаться от меня. Вот и подумал что в постгресе есть такая же возможность
Аноним 29/09/21 Срд 21:57:23 #283 №2170318 
>>2170190
Если тебе поверхностно - посмотри на баелданге как написать простенький тест с junit5 + mockito. Можешь TestContainers попробовать. Для теста рест апи - Rest Assure. Для е2е - селениум. По каждой из этих тем дохуя инфы.
Аноним 30/09/21 Чтв 11:36:50 #284 №2170571 
>>2170190
Ты же не уточнил, что тебе надо: как писать тесты библиотеки инструменты, подход к тестированию в целом какие тесты надо писать, сколько из должно быть, что надо тестировать, а что нет и т.д.
Для второго читай книги по теории тестирования что-то типа https://temofeev.ru/info/articles/fundamentalnaya-teoriya-testirovaniya/
Аноним 30/09/21 Чтв 12:10:19 #285 №2170598 
Читаю гайд по хиберу, чтобы потом перейти к spring data jpa. Нужно больше времени уделить управлению хибером через jpa или через его собственное апи? Чем дальше читаю, тем там больше разницы вижу.
sageАноним 30/09/21 Чтв 14:22:31 #286 №2170706 
>>2168956
Решил проблему: нахуй нужен этот consul-client от orbitz, накатил поделку от vertx, у него нет этих ебучих мозг проксей.
Хотя можно было бы и просто put-реквестами самому разрулить
Аноним 30/09/21 Чтв 15:57:54 #287 №2170805 
>>2170598
Хибер это реализация ЖПА. На практике надо знать JDBC и JPA. Остальное можно прям по ходу дела изучить.

Если любишь pure sql, зацени jacoco
sageАноним 30/09/21 Чтв 16:06:49 #288 №2170810 
>>2170805
Jacoco - это же плагин для покрытия тестами
Аноним 30/09/21 Чтв 19:10:05 #289 №2170932 
Анон, а как обычно хранят картинки в базе? Я вот подумал и придумал, что в таблице надо хранить записи с полями: путь, контрольная сумма и размер. А на самом деле как?
sageАноним 30/09/21 Чтв 19:11:10 #290 №2170935 
>>2170932
Чексумму с размером можно не хранить. Только если для верификации какой-нибудь
Аноним 30/09/21 Чтв 20:10:16 #291 №2170986 
>>2170932
>>в таблице надо хранить записи с полями:
Обычно это массив байтов + инфа о самом файле - название, размер, ссылка на владельца и тп.
Аноним 30/09/21 Чтв 20:11:11 #292 №2170987 
>>2170986
Нахуя хранить файлы как записи?
Аноним 30/09/21 Чтв 20:16:51 #293 №2170991 
>>2169421
Есть на работе один проект на кэмэле и jms, шо, сильно неактуальное говно?
Аноним 30/09/21 Чтв 20:46:17 #294 №2171017 
>>2170991
https://ru.wikipedia.org/wiki/Apache_Camel
>2008
Аноним 30/09/21 Чтв 20:48:43 #295 №2171018 
>>2170987
Чтоб можно было этот блоб в базу впихнуть, забэкапить, шардить и реплицировать? Да и тестировать такое проще.
Аноним 30/09/21 Чтв 20:50:32 #296 №2171022 
>>2171018
Чел, с файлами все, что ты описал, делается гораздо проще.
Аноним 30/09/21 Чтв 21:48:18 #297 №2171077 
>>2170810
Опечатался. Мозги уже набекрень. Jooq жи
Аноним 30/09/21 Чтв 22:23:44 #298 №2171109 
>>2171017
Так можно и год появления спринга или самой джавы вспомнить. Проблема кэмэла даже не в том, что он старый, а в том, что он говно без задач.
Аноним 30/09/21 Чтв 22:46:03 #299 №2171140 
>>2171022
Проще не встречал - всегда был массив байтов.
Аноним 30/09/21 Чтв 22:46:28 #300 №2171141 
3 недели с лтса прошло. Кто-то уже поигрался?
Аноним 30/09/21 Чтв 22:48:14 #301 №2171143 
>>2171141
Через год спринг 6 выйдет - вот там и поиграемся.
Аноним 30/09/21 Чтв 22:58:24 #302 №2171153 
>>2171143
А спринг6 ты прям сразу будешь играть, как 6.0.0.RELEASE выйдет, в тот же день?
Даже какая нибудь 13 версия, которую никто не собирался тащить в прод выходила с большим интересом.
Аноним 01/10/21 Птн 00:40:29 #303 №2171213 
>>2171153
У него требования жава17, поэтому только что играться в петах. Со спрингом я напрямую взаимодействую - поэтому интересно. Опять же спринг не побоится сломать обратную совместимость ради новых фич. А в самой джаве там опять что то оптимизировали/ускорили в жвм, добавили немного плюшек - ничего особенного.
Аноним 01/10/21 Птн 04:39:26 #304 №2171239 
>>2171213
А что годного появилось в спринге из самого последнего?
Внутри пятерки были новые фичи?
Что ожидается?
Аноним 01/10/21 Птн 12:36:56 #305 №2171435 
>>2170991
> Camel
Не то, чтобы прям говно говна, но сам подход к проблеме это энтрепрайз из начала 2000х. Со всеми этими EJB, ESB, MQ и прочим SOAP. Сейчас предпочитают или написать микросервис для интреграции двух систем или через очереди работать. А от подхода универсальный интегратор всех сервисов - отказываются.


>JMS
Идея универсального адаптера к мессенджигу себе изжила. В том виде в котором API JMS сейчас - он не дает нормально использовать все возможности Kafka или RabbitMQ или еще кого современного. А идея, что ты можешь легко заменить реализацию, если работаешь через универсальное API - миф.
Если у вас нет и не предвидится больших нагрузок, но при этом персистентность очень важна и есть надежная СУБД с репликацией и бекапами, то какой нибудь ActiveMQ не самый плохой выбор. Все необходимое на месте и настраивать проще чем Kafka или RabbitMQ.
Аноним 01/10/21 Птн 12:39:46 #306 №2171436 
>>2171140
Просто пиздец.
Аноним 01/10/21 Птн 19:53:16 #307 №2171779 
>>2171436
Либо база, либо на диск, других путей нет.
sageАноним 01/10/21 Птн 20:04:45 #308 №2171788 
>>2171779
Цдн ещё есть
Аноним 01/10/21 Птн 20:55:29 #309 №2171803 
>>2171788
>>Цдн ещё есть
Как это работает, если я хочу допустим сохранять картинки, который пользователь заливает?
sageАноним 01/10/21 Птн 21:50:58 #310 №2171835 
>>2171803
Заливать все картинки, которые тебе приходят, в сидиэнку. Из нее же и раздавать
Аноним 01/10/21 Птн 23:50:17 #311 №2171893 
>>2171835
Как ты будешь хранить картинки внутри сдн?
sageАноним 02/10/21 Суб 00:56:25 #312 №2171917 
>>2171893
Меня это не волнует. Это забота цдн. Все, что я храню - ссылку на пикчу + метаданные
Аноним 02/10/21 Суб 01:47:29 #313 №2171936 
>>2171917
Так ты не решаешь вопрос хранения данных, ты просто отдаешь его на аутсорс. Для сайта пицерии - норм решения, для корпоративной энтерпрайз поебени (которую часто и пишут на джаве), спрятанной за впнами - не всегда приемлемо.
sageАноним 02/10/21 Суб 03:10:07 #314 №2171964 
>>2171936
Ceph есть. Если ты про это
Аноним 02/10/21 Суб 06:14:35 #315 №2171981 
Что лучше возвращать в методе Spring REST-контроллера, если мне нужно установить только Http-статус, без body? Сейчас отдаю ResponseEntity<Void>, это нормальная идея? Или нужно использовать что-то другое, например, протягивать какую-то сущность из сервлета?
Аноним 02/10/21 Суб 11:42:24 #316 №2172080 
>>2171981
@ResponseStatus(HttpStatus.I_AM_A_TEAPOT)
public void teaPot() {
}
Аноним 02/10/21 Суб 12:02:47 #317 №2172088 
>>2171981
@PostMapping("dvach/huemoe")
public ResponseEntity<Object> huemoe(){
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
sageАноним 02/10/21 Суб 12:11:14 #318 №2172089 
>>2171981
> Сейчас отдаю ResponseEntity<Void>, это нормальная идея?
Да
Аноним 02/10/21 Суб 19:25:57 #319 №2172375 
>>2172089
Спасибо

>>2172088
А зачем пустой object передавать?

>>2172080
Вот тоже о чём-то таком думал. В чём преимущества, перед ResponseEntity? По идее, на создании объекта может быть экономия.
Аноним 02/10/21 Суб 19:28:30 #320 №2172381 
>>2172375
> преимущества, перед ResponseEntity?
Ну, само собой, в тех редких случаях, когда метод всегда один статус отдаёт, допустим если это ExceptionHandler какой-нибудь
Аноним 02/10/21 Суб 23:43:05 #321 №2172508 
>>2171435
спасибо за ответ
Аноним 03/10/21 Вск 00:41:44 #322 №2172535 
К нам в IT отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные шарпогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:
- Это же Абстрактная фабрика! На чём ты кодил до этого?
- На Джаве.
- Жабапидор! - в один голос заорали все 20 человек.
- Жабапидор! Жабапидор! Жабапидор!
Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать джавапидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев:
- Жабапидор!
В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и джавапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох джавапидор даже дело заводить не стали.
sageАноним 03/10/21 Вск 00:44:34 #323 №2172538 
>>2172535
Вот поэтому в тред стоит писать с сажей
Аноним 03/10/21 Вск 13:07:48 #324 №2172704 
>>2172535
К нам в IT отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные жабогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:
- Это же линкью! На чём ты кодил до этого?
- На Шарпе.
- Шарпопидор! - в один голос заорали все 20 человек.
- Шарпопидор! Шарпопидор! Шарпопидор!
Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать шарпопидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев:
- Шарпопидор!
В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и джавапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох шарпопидор даже дело заводить не стали.
sageАноним 03/10/21 Вск 21:44:06 #325 №2173118 
Там котлин тред утонул
Аноним 03/10/21 Вск 22:06:14 #326 №2173130 
Я хз как сформулировать. Поясните, как делать дто, когда в дтоОбъекте много слоев вложенности, например, есть поле Адрес, внутри него есть поле Кантри, в кантри есть лист ситей. Я не могу понять как реализовать такое, примеры которые я вижу в них, например, два стринг поля и всё отлично гоняется в обе стороны мапстрактом.
sageАноним 04/10/21 Пнд 00:50:44 #327 №2173199 
>>2173130
Просто берешь и делаешь. Маппишь ручками
Аноним 04/10/21 Пнд 05:23:01 #328 №2173227 
Подскажите, пожалуйста, как правильнее формировать JSON для тела ответа в @RestController, если я хочу вернуть одиночное значение?
Я сейчас делаю примерно вот так:

@GetMapping("/path")
public ResponseEntity<?> get(){
return new ResponseEntity<>(Collections.singletonMap("Varable", Value), HttpStatus.OK);

Нормальный ли вариант со складываем в singleton-мапу? Или лучше как-то руками сформировать json-строку?
}
sageАноним 04/10/21 Пнд 09:16:16 #329 №2173276 
>>2173227
ResponseEntity<Smth>
...
return new ResponseEntity (smth, OK);
return ResponseEntity.ok(smth);
sageАноним 04/10/21 Пнд 14:04:42 #330 №2173584 
>>2173118
То, что мертво, умереть не может.
sageАноним 04/10/21 Пнд 14:44:14 #331 №2173627 
>>2173584
А я бы на нем хотел бек пописать. Вроде как много прикольного сахара
Аноним 04/10/21 Пнд 15:45:22 #332 №2173659 
>>2173627
>А я бы на нем хотел бек пописать
Что мешает?
sageАноним 04/10/21 Пнд 16:54:12 #333 №2173711 
>>2173659
То, что я не отец на проекте. А котлин пока что только в далёких планах
Аноним 04/10/21 Пнд 17:00:57 #334 №2173719 
>>2159705 (OP)
Сап харкач у меня есть два платиновых вопроса с подвопросами на которые гугл выдает херню с хабра и т.п., где в комментах срач и батхерт, что автор не прав и ничего не понимает. Но вы то тут гении)0
1.1) Как писать микросервисы
1.2) Является ли обычный сервер на спринге, допустим, выдающий хэлоу ворлд и не передающий ничего другим серверам микросервисом.
1.3) Как могут обмениваться микросервисы между собой информацией без кафки и прочих рабитмкью?
2.1) Как засунуть микросервис в докер
2.2) Зачем кубернейтс, если есть докер композ?
sageАноним 04/10/21 Пнд 17:08:38 #335 №2173728 
>>2173719
> 1.1) Как писать микросервисы
Руками. У каждой тимы есть своя пачка сервисов, над которыми они работают
> 1.2) Является ли обычный сервер на спринге, допустим, выдающий хэлоу ворлд и не передающий ничего другим серверам микросервисом.
Если он крутится рядом с другими микрухами, да
> 1.3) Как могут обмениваться микросервисы между собой информацией без кафки и прочих рабитмкью?
Рест, gRPC, брокеры, кеши, база, файлы
> 2.1) Как засунуть микросервис в докер
Написать докерфайл
> 2.2) Зачем кубернейтс, если есть докер композ?
Кубер позволяет разворачиваться на нескольких нодах и не ебать себе мозги + куча всего остального, о чем я не знаю

Вот почитать: https://microservices.io/book
Аноним 04/10/21 Пнд 17:26:08 #336 №2173768 
>>2173728
Спасибо, а по лямбда выражениям книженции не посоветуешь?
sageАноним 04/10/21 Пнд 17:29:13 #337 №2173774 
>>2173768
Авс лямбды? Не, не шарю в них

Жавовские? Там учить нечего. Гуглишь и пишешь
Аноним 04/10/21 Пнд 18:22:25 #338 №2173848 
Сап, джавач.
Такой вопрос: пишу запросы к базе данных, которые традиционно имеют километровую длину. Собственно, есть необходимость некоторую заранее вставленную в запрос метку заменять на действительное значение. Вроде как
SELECT....FROM....WHERE SOME_VAL = #mark#
Я вижу два пути. Самое простое это тупо запихнуть запрос в String, а потом вызвать у него replaceAll с заменой метки на Value. Смущает в этом всем то, что запрос большой, точек замены может быть много, а строка финальная, соотвтетственно довольно сильно будет засираться память.
Второй подход в том, чтобы создать StringBuilder, приаппендить к нему запрос, найти индекс метки, вызвать replase, передав ему индекс начала метки, индекс конца (начало + длина метки), и само значение Value. СтрингБилдер вроде мутабельный, и все эти упражнения вроде как не должны перерасходовать ресурсы, но зато реализация чуть сложнее (индексы нужно получать сначала).
Как вообще лучше делать в этой ситуации?
Аноним 04/10/21 Пнд 18:35:46 #339 №2173866 
>>2173848
А ты не можешь на строне базы сделать шаблон?
По-моему, такое можно сделать через Prepared Statements.
sageАноним 04/10/21 Пнд 18:36:09 #340 №2173867 
>>2173848
Почитай про sql injection и юзай PreparedStatement
Аноним 04/10/21 Пнд 18:36:16 #341 №2173869 
>>2173848
куда скармливаешь запросы? Там наверняка есть prepared statement - специально для этого придуманная штука
Аноним 04/10/21 Пнд 18:44:58 #342 №2173886 
>>2173866
>>2173867
>>2173869
Я долбоеб-самоучка. Что первое нашел рабочее, то и юзаю. Сейчас почитаю про препаред стейтмент. Всем спасибо.
Аноним 04/10/21 Пнд 19:00:00 #343 №2173909 
>>2173869
MS SQL и Firebird, через JDBC с драйверами
Аноним 04/10/21 Пнд 19:08:12 #344 №2173922 
81PibBGcRg.png
>>2173909
Аноним 04/10/21 Пнд 19:16:19 #345 №2173934 
1434035730496.gif
Сап. Решал намедни задачу по обновлению статусов в режиме реального времени (типа last seen в телеге). Зацените решение:

1) В базе данных создаётся таблица user_activity (user_id, status, last_seen);
2) Для этой таблицы создаётся функция-триггер, которая рассылает уведомления об изменениях в этой таблице;
3) В коде создаётся слушатель этих самых уведомлений (событий);
4) Каждый клиент во время подключения к веб-сокету передаёт свой id/username на веб-сокет контролер;
5) Каждый раз, когда приходит обновление из соответствующей таблицы (users_activity), мы делаем:
— достаём у каждого подключённого клиента список его контактов;
— смотрим у кого в контактах есть пользователь, по которому пришло обновление с базы данных, и отправляем клиенту по веб-сокету соответствующий JSON, например

{
    "username" : "username",
    "status" : "online",
    "last_seen" : 1152359098263742
}

Полная хуйня, или может быть?

Java 11, Spring 5, PostgreSQL
Аноним 04/10/21 Пнд 19:19:33 #346 №2173939 
>>2173934
я бы делал всё в коде. В базу такую таблицу как дублирование только на случай ребута - чтобы приложуха при старте читала из этой таблицы состояние. Ещё флаг "обработано" не забудь
Аноним 04/10/21 Пнд 19:29:24 #347 №2173948 
>>2173939
> В базу такую таблицу как дублирование
> флаг "обработано" не забудь

Детальнее можно, пожалуйста, что ты имеешь ввиду?
sageАноним 04/10/21 Пнд 19:40:47 #348 №2173964 
>>2173934
Двачую этого анона >>2173939 .
Я бы в фильтре доставал SecurityContext и обновлял бы user_activity.
Если производительность страдает, то можно было бы забить на вебсокеты, и просто с фронта спрашивать инфу о user_activity раз в 10 секунд, например
sageАноним 04/10/21 Пнд 19:43:25 #349 №2173968 
>>2173934
>>2173964
Я бы ещё не хранил status.
Просто ласт сеен, а уже фронт сам решал бы, это онлайн, или нет.
И тогда это замечательно уходит в кеш, скорость возрастает до небес, база говорит спасибо
Аноним 04/10/21 Пнд 19:43:43 #350 №2173969 
>>2173948
всё это делаешь в коде. Возникает проблема - что при рестарте приложухи ты потеряешь текущее состояние. Для ликвидации дублируй изменения в таблицу в базу. И при старте приложухи читай состояние из этой таблицы

Флаг "обработано" - прочитал ты из базы состояние. Как узнать, ты уже оповещал по этой записи или ещё нет? Вот добавляешь флаг. Отослал все оповещалки - поставил флаг в true.
Аноним 04/10/21 Пнд 19:45:34 #351 №2173970 
>>2173934
разве такую хуиту не лучше в редиске хранить, вместо реляционки?
Аноним 04/10/21 Пнд 19:45:48 #352 №2173971 
>>2173964
> SecurityContext и обновлял бы user_activity.
Вот это хороший совет, спасибо.
> Если производительность страдает
Вот тут тоже есть вопрос, ну будем тестить.
>>2173968
Тоже хорошая идея.
>>2173969
Ну сейчас в базе всегда актуальное состояние хранится, типа записи не копятся. Один юзер = одно поле в user activity.
Аноним 04/10/21 Пнд 19:47:05 #353 №2173974 
>>2173964
> Я бы в фильтре доставал SecurityContext и обновлял бы user_activity
А нельзя просто при подключении/отдключении к вебсокету обновлять запись?
sageАноним 04/10/21 Пнд 19:47:14 #354 №2173975 
>>2173971
Пожалуйста :3
sageАноним 04/10/21 Пнд 19:49:43 #355 №2173976 
>>2173974
Наверное, можно. Почти не работал с вебсокетами. Поэтому и не советовал. Но идея очень годная. Вроде как с помощью вот этого реализуется: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/messaging/support/ChannelInterceptor.html
Аноним 04/10/21 Пнд 20:03:06 #356 №2173994 
Как под капотом работает volatile и что обеспечивает видимость актуального значения во всех потоках?
JVM тупо дает понять процессору, что мол "не кэшируй значения, а доставай их постоянно из памяти"? Или задействуется механизм синхронизации кэша (https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B3%D0%B5%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BA%D1%8D%D1%88%D0%B0), который щас вроде как везде встроен в проецссоры? Или ключевое слово не дает JIT компилятору провести оптимизации, а-ля расчет некоего значения в регситрах?

Есть тут хардкорные джависты, которые знают как под капотом hotspot работает?
Аноним 04/10/21 Пнд 20:11:40 #357 №2174000 
>>2173994
а разве "под капотом" не меняется в каждой версии? И нет смысла заучивать конкретные реализации в конкретной версии
Аноним 04/10/21 Пнд 20:18:28 #358 №2174003 
>>2174000
Ну по идее да, java-разработчиком нужно абстрагироваться от конкретной реализации jvm и пользоваться только тем, что говорит JMM. Но все же интересно какие механизмы используются для обеспечения volatile, хоть для любой реализации (хотя мне кажется везде +-одинаково, по крайне мере для linux-x86)
Аноним 04/10/21 Пнд 20:57:23 #359 №2174045 
>>2173994
>Как под капотом работает volatile и что обеспечивает видимость актуального значения во всех потоках?
По разному, в зависимости от хардвары. Но если кратко то:
1. JIT не делает оптимизации по изменению порядка кода или пропуск записи в память.
2. После записи и перед чтением ставит рид врайт барьеры специальная команда процессора.
Аноним 04/10/21 Пнд 21:02:20 #360 №2174049 
>>2174045
Ну тоесть по факту получается доступ к некоему куску памяти блокируется, при этом не важно где он находится - в кэше или в оперативе (уже тонкости на уровне процессора, не видимые jvm)?
Аноним 04/10/21 Пнд 23:24:04 #361 №2174147 
изображение.png
Ребята,почему вылезает исключение,почему я не могу создать контекст,но не использовать его.Когда удаляю xml контекст все работает четко
Аноним 04/10/21 Пнд 23:25:12 #362 №2174150 
Анон с сажей вносит много импакта итт, но все-равно почему-то пишет с сажей.
sageАноним 04/10/21 Пнд 23:49:24 #363 №2174158 
maxresdefault.jpg
>>2174147
>>xml контекст
Переходи на спринг бут.
Аноним 05/10/21 Втр 02:07:58 #364 №2174202 
>>2173276
То есть, лучше использовать свой кастомный DTO-контейнер на каждый ответ, для маппинга на json? В чём преимущество?
Просто если мы отдаём какой-нибудь "something" String, например, то его просто размапит в одиночную строку, а не вложенный объект, а в body будет просто ответ вида "somestring", а не
{
"field": "somestring"
}

Как предполгагет гайдлайн JSON.
sageАноним 05/10/21 Втр 09:58:08 #365 №2174299 
>>2174150
Я не один с сажей. Про сажу в предыдущем тебе почитай
sageАноним 05/10/21 Втр 09:59:49 #366 №2174301 
>>2174202
Вообще насрать. Как вам с фронтом удобнее. Просто так более понятно, что "something" - это "field", а не что-то рандомное
sageАноним 05/10/21 Втр 10:00:59 #367 №2174302 
>>2174147
У тебя musicPlayer не может создаться. С ним разбирайся
Аноним 05/10/21 Втр 11:23:10 #368 №2174369 
>>2174049
Блокировки нет, там на уровне кешей решается. Ядру надо просто кеш линию с этими данными перевести в эксклюзивный режим. После чего все остальные ядра должны будут инвалидировать свои копии если есть и прочитать новую версию у владельца эксклюзивных прав.
https://en.wikipedia.org/wiki/Cache_coherency_protocols_(examples)#MESI_protocol
Аноним 05/10/21 Втр 11:35:30 #369 №2174378 
>>2174049
>(уже тонкости на уровне процессора, не видимые jvm)?
Не совсем не видимые. У JVM есть модель памяти JMM которая дает гарантии видимости данных. И у процессора есть модель памяти, причем у разных процессоров разные модели. А дальше JIT при генерации нативного кода, вставляет нужные инструкции для конкретной платформы чтобы выполнить требования JMM.
Аноним 05/10/21 Втр 13:16:01 #370 №2174458 
Поясните, что такое: вторая линия поддержки различных серверов приложений (в основном на Java с базами данных Oracle) .
разработка (SQL запросы для отчетов по запросам, процессы Talend, печатные формы и проверки на Drools) – не более 30%
Там будет программирование или слово JAVA там просто байт и нужно будет составлять отчетики по данным из БД? Из этой вакансии реально стать джуном или ну её, куда вообще из неё карьерный рост?
Аноним 05/10/21 Втр 13:37:54 #371 №2174465 
>>2174458
сама вакансия https://hh.ru/vacancy/47886958
Мне просто интересно, я не первый раз вижу вакансии 1,2 линия поддержки всегда их скипаю, в моем понимании это чел на телефоне который записвает проблему и передает программистам, не?
Ещё интересно узнать про всякие Pega, Low-Code это типа программирование с помощью картинок кек? Стрелоку перенес, цикл сам написался и т.п.
Аноним 05/10/21 Втр 14:25:49 #372 №2174504 
>>2174465
Вака не оч. Программеры на такую не откликнутся. Уровень подай/принеси отчет для белых господ, а затем пошел нахуй.

Лучше сразу идти в разрабы, пускай джуном, пускай даже интерном. Вокруг тебя будут квалифицированные коллеги и если не будешь лениться, за год- полтора выстрелишь до мидла. Через еще год крепкий мидл. Актуально для дотнет/жаба.
Аноним 05/10/21 Втр 15:12:40 #373 №2174539 
>>2174369
>>2174378
Спасибо
Аноним 05/10/21 Втр 15:15:59 #374 №2174541 
>>2174458
>Поясните, что такое: вторая линия поддержки различных серверов приложений (в основном на Java с базами данных Oracle) .
Каждая контора понимает это по своему, но обычно это: человек который отвечает на саппорт тикеты, которые не смогла решить девочка на телефоне. Тут надо знать как система работает какие там есть внутренние сущности, как и где они хранятся, как части системы взаимодействуют, базовые знания программирования чтобы читать логи и хорошие SQL чтобы чекать базу.
Это позиция не предполагает программирование, но если ты сможешь посмотреть код и понять как он работает это будет плюсом.
Аноним 05/10/21 Втр 15:33:01 #375 №2174566 
Поясните как правильно парсить массивы из джейсона? Вот у меня поле в дто List<User>. В рест контроллере метод для приема объектаДто с таким полем внутри, как должен выглядеть код js, чтобы упаковать всё это на клиенте?
sageАноним 05/10/21 Втр 15:33:53 #376 №2174567 
>>2174566
Массив из жсона парсится в массив, лист, сет
Аноним 05/10/21 Втр 15:42:18 #377 №2174584 
>>2174567
У меня не парситься, как бы я его не написал на скрипте, всегда ошибки. Может пример приведешь?
Аноним 05/10/21 Втр 15:48:06 #378 №2174591 
>>2174465
>>Стажер департамента IT
>>возможности профессионального роста
Рост до мануального тестировщика?
>>2 линия поддержки
Видимо несущественные баги решать(серьезные дев команда решит), отчеты джаспера править (отступ слева 3 пикселя поправить на оступ в 2 пикселя).
>>преимущества работы в РН Банке.
Кек, это ж частный корпоративный банк не работающий с физиками, какие преимущества то?

Хуйня вакансия, если совсем никуда не берут - можешь попробовать - стаж набивать, но лучше выучи спринг бут и иди в джуны на галеру.
Аноним 05/10/21 Втр 16:12:14 #379 №2174605 
А какие задачи будут поставлены джуну в первый рабочий день?
Аноним 05/10/21 Втр 16:34:55 #380 №2174618 
>>2174301
Спасибо за ответ!
sageАноним 05/10/21 Втр 17:57:16 #381 №2174693 
>>2174584
[{"id":1,"username":"1"},{"id":2,"username":"2"}]
sageАноним 05/10/21 Втр 17:58:34 #382 №2174695 
>>2174605
Сидеть, хер пинать. Заполнить какие-нибудь бумажки. Занять рабочее место
Аноним 05/10/21 Втр 18:06:58 #383 №2174701 
>>2174695
Я имею ввиду не конкретно первый день, а первые задачи, рабочие, которые дадут жуну?
Аноним 05/10/21 Втр 18:13:41 #384 №2174703 
>>2174701
Переписать apache druid с джавы на скалу.
Аноним 05/10/21 Втр 18:14:54 #385 №2174704 
>>2174693
И во что это сконвертиться в таком методе - public void getUsers(@RequestBody List<User> list) {? Или как это надо получать, какая будет сигнатура у рест метода?
Аноним 05/10/21 Втр 18:17:43 #386 №2174706 
>>2174703
Нихуясе, у тебя руководство неадекватное
sageАноним 05/10/21 Втр 18:20:15 #387 №2174711 
>>2174704
Здесь он принимает список юзеров и ничего тебе не отдает. Остальной твой пост не понял
Аноним 05/10/21 Втр 18:33:18 #388 №2174718 
>>2174711
Есть дто. UserDto, поля - Long id, String name, List<Item> list. Как отправить такой объект из фронта в рест контроллер, например аяксом? Как сделать такой объект жаваскриптом, чтобы он спарсился рест контроллером?
Аноним 05/10/21 Втр 19:03:32 #389 №2174763 
Анонче помоги, нужна тема для диплома. Проблема в том, что преподавателю ненужно очередное web-app, необходимо что-то исследовать, а точнее разработать своё, какой-то алгоритм кекус или какую-то систему построенную на матане. Мне естественно охота набить руку и на бут спринге crud, со всякими liquibase и rabbitMQ, но препод ни в какую. Чего делать? Чего можно такого придумать?
Аноним 05/10/21 Втр 20:43:30 #390 №2174851 
Сап двач, вопрос, насколько хуево отсутствие код ревью практики в компаниях по вашему мнению?
sageАноним 05/10/21 Втр 20:50:22 #391 №2174865 
>>2174851
Очень хуево. Никто не укажет на твои ошибки + все будут на +- похуй срать в репу.
Аноним 05/10/21 Втр 21:05:00 #392 №2174886 
>>2174851
нормально. Никто не доёбывается по названию переменных и точек в комментариях
Аноним 05/10/21 Втр 22:38:01 #393 №2174957 
>>2174851
Хуево - люди плохо знают, кто над чем работает и что конкретно накодил. Такие как >>2174886 ебошат говнокод с именами переменных a, b, c, форматируют его на отъебись и некому дать таким говнокодерам по щщам..
Аноним 05/10/21 Втр 23:53:43 #394 №2175010 
>>2174851
Зависит от адекватности ревьювера. Если он норм, то значительно ускоряется адаптация новичков, если долбоёб с имитацией деятельности, то задача на пару дней растягивается на неделю из-за неубранного лишнего импорта и лишней пустой строки с пропущенными при этом критическими багами.
Аноним 06/10/21 Срд 00:17:36 #395 №2175023 
Хочу воспользоваться классом StringUtils из библиотеки Apache Commons Lang. Как подключить эту библиотеку в IntellijIdea? Проект на Maven.
Аноним 06/10/21 Срд 00:23:01 #396 №2175026 
>>2175010
>долбоёб с имитацией деятельности
Как бороться с таким? Если ниже в иерархии находишься.
Аноним 06/10/21 Срд 01:10:46 #397 №2175069 
>>2175023
Добавляешь запись в файл pom.xml.
Аноним 06/10/21 Срд 02:10:24 #398 №2175098 
>>2175023
>>2175069
Решил проблему. Надо зайти в Project Structure -> Project Settings -> Libraries, затем добавить Maven-репозиторий и ввести там org.apache.commons:commons-lang3:3.3.2.
(Но это версия 14-го года, выше просто не ищутся. Странно...)
Аноним 06/10/21 Срд 07:42:24 #399 №2175150 
>>2175098
неправильно. Надо >>2175069
Аноним 06/10/21 Срд 11:12:29 #400 №2175336 
Яутебянепервый.png
>>2174504
>Лучше сразу идти в разрабы, пускай джуном, пускай даже интерном.
Я пытаюсь и к моему большому сожалению не я один. Может в сопроводительном писать "Готов работать полгода бесплатно и платить Вам каждый месяц по 30к"?
Аноним 06/10/21 Срд 11:19:21 #401 №2175341 
Яутебянепервый.png
52.png
>>2175336
Мне кажется в какой-то момент там может быть и 100. Вот вам и дефицит IT кадров, вкатунов столько, сколько нет уже ни в одной специальности, наверное.
Аноним 06/10/21 Срд 11:29:12 #402 №2175351 
>>2175341
А мог бы учить не мертвую оверрейтед джаву, а няшный шарфик где разрабов в два раза меньше даже с учетом индии
Аноним 06/10/21 Срд 11:39:45 #403 №2175360 
>>2175351
Я его знаю хуже, у меня в резюме есть и он, как и .net crud mvc в репе. По вакансия с C# я сразу отказы получаю, возможно из-за того что у меня был небольшой опытом java тестировщиком, видно это оскорбляет С# господ. Пока 0 приглашений, ищу с сентября, держу в курсе.
despair++;
Аноним 06/10/21 Срд 13:11:31 #404 №2175472 
upd Предлагают работу автотестировщиком, но я хочу программистом щито делать? Это проклятие и теперь поработав тестировщиком >>2175360 мне будут предлагать только тестировщика?
Аноним 06/10/21 Срд 13:19:12 #405 №2175490 
>>2175472
Да, это зашквар.
Аноним 06/10/21 Срд 13:21:27 #406 №2175491 
>>2175490
Я в отчаянии, может поработав год автотестировщиком меня возьмут джава джуном?
Аноним 06/10/21 Срд 13:22:10 #407 №2175493 
>>2175491
После такого ты уже никогда не отмоешься.
Аноним 06/10/21 Срд 13:30:26 #408 №2175504 
>>2175491
В нормальных компаниях - если придти к начальнику и сказать о своем желании, тебе пойдут навстречу и дадут шанс.
Аноним 06/10/21 Срд 13:34:30 #409 №2175511 
Как в идее отсоединить файл от проекта, чтобы он в гит не коммитился? Нужно срочно, я не могу сейчас гуглить спасите помогите!
Аноним 06/10/21 Срд 13:36:20 #410 №2175513 
>>2175504
Тогда вопрос тебе и другим анонам, как более опытным. У меня есть приглашения от IT галеры, двух банков и продуктовой компании(продукт веб приложение). Куда перспективнее? Сразу скажу, не хочу бегать от компании в компанию, хочу засесть лет на 5 в одном месте и расти до джава мидла во влажных синьора
Аноним 06/10/21 Срд 13:37:42 #411 №2175515 
>>2175150
То есть неправильно, у меня всё заработало
Аноним 06/10/21 Срд 13:49:06 #412 №2175531 
>>2175511
Надо удалить папку .git и заново закоммитить что надо.
Аноним 06/10/21 Срд 13:56:33 #413 №2175550 
>>2175511
файл .gitignore
Гугли
Аноним 06/10/21 Срд 13:56:51 #414 №2175552 
>>2175513
расти лучше в галере
Аноним 06/10/21 Срд 14:03:07 #415 №2175560 
>>2175513
Какие где деньги дают? И какие проекты? Что за галера?
Аноним 06/10/21 Срд 14:28:10 #416 №2175574 
>>2175513
>>Куда перспективнее?
>>расти
галера
>>хочу засесть лет на 5
продукт
Аноним 06/10/21 Срд 14:41:56 #417 №2175595 
>>2175513
На галере у тебя будет больше возможностей пощупать разные технологии и разные проекты. И в целом переход на другой проект проще. конечно если это крупная галера, а не Вебстулия Сокол.
sageАноним 06/10/21 Срд 14:53:18 #418 №2175612 
>>2175595
На вебстул Сокол можно посадить целую команду разработки
Аноним 06/10/21 Срд 15:03:19 #419 №2175621 
>>2175560
Деньги практически одинаковые. Галера тоже отправит грести в банк. Не топовая, короче не епам и не люксофт.
>>2175595
Мне вот тоже кажется на галере будет больше технологий, из минусов только что это будут технологии тестировщика, типа какой-нибудь селеноид, апачи-хуячи и прочи жметры. Надеюсь это не сильно повлияет на свободное время, так как по моей страте после работы я буду тренить пет проекты на джава джуна в этой же компании.
Аноним 06/10/21 Срд 15:12:09 #420 №2175624 
>>2175621
На крупной галере, если ты сильно захочешь и попросишь, тебе почти со 100% вероятностью дадут себя попробовать в разработке. У них проектов и людей много, они постоянно их туда-сюда двигают.

А вот в продуктовой - тебе могут сказать, что разработчики сейчас не нужны, а как раз нехватает QA. Подожди пока еще 2-х QA наймем, тогда и поговорим.
Аноним 06/10/21 Срд 15:38:26 #421 №2175640 
>>2175624
А галеры работают удаленно, сейчас? И если да, то какое может быть развитие? Ведь спросить ничего нельзя, только если приебаться к кому-то в скайпе, это мне кажется наглым надо быть.
Аноним 06/10/21 Срд 15:50:49 #422 №2175649 
>>2175640
Галеры разные бывают, кто-то работает удаленно, кто-то в офисе. Опять же тебе могут дать проект где команда не в твоем городе, так что все равно надо будет по слаку спрашивать.
Аноним 06/10/21 Срд 16:35:52 #423 №2175684 
Как в идее сделать мердж реквест в гитлаб?
Аноним 06/10/21 Срд 16:38:03 #424 №2175688 
>>2175684
коммитишь в свою ветку, и в гитлабе мышкой нажимаешь на создание пул реквеста
Аноним 06/10/21 Срд 16:40:17 #425 №2175689 
>>2175684
$ git push feature-branch-name
Аноним 06/10/21 Срд 16:48:00 #426 №2175699 
>>2175688
Я не вижу такого, там есть new merge request, но нет моей ветки
Аноним 06/10/21 Срд 16:54:14 #427 №2175708 
>>2175699
Чел, в меню git > push если ты коконсоли боишься
Аноним 06/10/21 Срд 16:58:01 #428 №2175711 
>>2175708
Я хочу не пушить, а именно сделать мердж реквест своей ветки. Пуш, я так понимаю заливает всё на гит без предпросмотра
Аноним 06/10/21 Срд 17:00:00 #429 №2175715 
>>2175711
Не тупи. У тебя будет ссылка для создания реквеста после пуша.
Аноним 06/10/21 Срд 17:02:10 #430 №2175720 
>>2175715
После пуша своей локальной ветки, естественно.
Аноним 06/10/21 Срд 17:04:23 #431 №2175724 
>>2175711
Ты наверное непонимаешь, что реквесты это фича не гита, а гитлаба/гитхаба
Аноним 06/10/21 Срд 17:13:34 #432 №2175736 
Сбер смотрит мои резюме и молчит. Подумал, что он как тяночка стесняется и с ним нужно заговорить первым, скинул резюме, а он прислал отказ. И опять смотрит мои резюме...
Аноним 06/10/21 Срд 17:25:45 #433 №2175739 
>>2175724
Я первый раз этим всем пользуюсь и далек от полного понимания гита
Аноним 06/10/21 Срд 17:26:29 #434 №2175740 
>>2175736
У меня тоже так, забей. Видимо, они их автоматически обходят кандидатов по ключевым словам, когда новую вакансию публикуют.
Аноним 06/10/21 Срд 17:29:48 #435 №2175742 
>>2175736
>>2175740
Ваши судьбы в руках курицы-эйчарки
Аноним 06/10/21 Срд 19:32:57 #436 №2175856 
Что лучше трогать во время изучения хибера для дальнейшего изучения spring data jpa Session или EntityManager?
sageАноним 06/10/21 Срд 19:54:11 #437 №2175877 
>>2175856
Session - чисто хибернейтовская абстракция. Разбирайся лучше с EntityManager
Аноним 06/10/21 Срд 21:04:31 #438 №2175961 
>>2175739
Оно и видно, дебил.
Аноним 06/10/21 Срд 21:05:09 #439 №2175963 
>>2175856
Хибер лучше не трогать в принципе.
Аноним 06/10/21 Срд 21:56:28 #440 №2176042 
>>2175877
А дополнительные функции которые в Session есть по сравнению с EntityManager не очень нужны?
sageАноним 06/10/21 Срд 23:28:17 #441 №2176217 
>>2176042
Если будет нужно что-то хиберовское, ты сделаешь entityManager.unwrap(Session.class)
Аноним 06/10/21 Срд 23:37:05 #442 №2176224 
Как указывать относительный путь до файлов, развёртывая приложение на Tomcat? Файлы деплоятся томкатом, и путь берётся из него. Как сделать, чтобы такого не было?
Аноним 07/10/21 Чтв 09:39:10 #443 №2176454 
>>2176217
пасиба.
Аноним 07/10/21 Чтв 11:16:17 #444 №2176527 
>>2176217
критерию трогать или только jpql?
sageАноним 07/10/21 Чтв 11:33:53 #445 №2176557 
>>2176527
Критерия - круто, но используется редко. Сначала jpql, потом можешь критерию
Аноним 07/10/21 Чтв 12:39:28 #446 №2176614 
До какого кю нужно дойти в Codewars, чтобы взяли на галеру?
Аноним 07/10/21 Чтв 13:20:42 #447 №2176653 
>>2175098
Чел ты
Аноним 07/10/21 Чтв 14:15:25 #448 №2176709 
>>2176614
110 айкю хватит, если код писать умеешь.
Аноним 07/10/21 Чтв 14:58:05 #449 №2176753 
>>2176709
Ты не понял, я про кю, а не про IQ
Аноним 07/10/21 Чтв 15:01:04 #450 №2176756 
>>2176653
Что я? (
Аноним 07/10/21 Чтв 16:40:42 #451 №2176848 
>>2175856

Рекомедую вот это - https://en.wikibooks.org/wiki/Java_Persistence

В свое время помогло сильно обновить знания перед собесом
Аноним 07/10/21 Чтв 18:04:10 #452 №2176916 
>>2176848
кстати вообще относительно джава/джакарта ее стандартов.
>What is new in JPA 2.1?
>JPA 2.1 was approved as final on 22 May 2013.
между тем
>The JPA was renamed as Jakarta Persistence in 2019 and version 3.0 was released in 2020.
последние джава ее - первые джакартовские стандарты вообще кого то волнуют? Тот же хибер вроде соответствует последнему стандарту, но в статьях о джакартовских стандартах почти не пишут. Че там в других стандартах? Я даже с сервлетами не понял.
Аноним 07/10/21 Чтв 18:22:33 #453 №2176931 
>>2176916

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

А так я думаю что основа jpa актуальна, в 2.2 они едва ли там все ПЕРЕДЕЛАЛИ.
Аноним 07/10/21 Чтв 18:52:40 #454 №2176953 
Может кто делает опен сорс проект и кому-то нужен помощник, вкатываюсь в джаву и хочется практического опыта на каком-нибудь проекте, было бы круто так сказать работать с ментором, помогать буду в чём смогу по мере возможностей
Аноним 07/10/21 Чтв 19:00:03 #455 №2176962 
>>2176953
Опенсорс на джаве, лол, завтра оракл очередной раз поменяет лицензию и сдерет с тебя бабки
Аноним 07/10/21 Чтв 19:27:08 #456 №2176988 
>>2176962
>Опенсорс на джаве, лол, завтра оракл очередной раз поменяет лицензию и сдерет с тебя бабки
Шарпидор, иди нахуй! OpenJDK уже давно под GPL2.
Аноним 07/10/21 Чтв 19:32:41 #457 №2176995 
Как в Java парсить строки?
Есть простая строка типа "(3 4)(5 8)" и из неё я хочу получить четыре числа. Но морочиться с split, substring и так далее я не хочу - это кажется мне некрасивым. Есть ли такой метод, типа:
YobaUtils.parse(str, "(%d %d)(%d %d)"),
который вернёт int[] или какой-нибудь YobaParseObject?
Аноним 07/10/21 Чтв 19:44:38 #458 №2177013 
>>2176995
Регулярки
Pattern pattern = Pattern.compile("\\((\\d+)\\s(\\d+)\\)\\((\\d+)\\s(\\d+)\\)");
Matcher matcher = pattern.matcher("(3 4)(5 8)");
if(matcher.find()){
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
System.out.println(matcher.group(3));
System.out.println(matcher.group(4));
}
Аноним 07/10/21 Чтв 20:02:26 #459 №2177032 
>>2177013
Спасибо, но блин, это же некрасиво. В Java даже сырых строк нет
Аноним 07/10/21 Чтв 20:06:23 #460 №2177036 
>>2177032
В 17 версии есть.
Аноним 07/10/21 Чтв 20:09:48 #461 №2177040 
>>2177036
У меня 17-я, но raw string не ставятся
Аноним 07/10/21 Чтв 20:17:28 #462 №2177047 
В чем может быть проблема, стою на мастер ветке, хочу спулить к себе ремоут мастер ветку, идея пишет All files are up-to-date, но в самом гитхабе всё другое, всё изменено.
Аноним 07/10/21 Чтв 20:22:45 #463 №2177053 
>>2177040
Извращенец? Зачем тебе бета-версия джавы?
Аноним 07/10/21 Чтв 20:25:43 #464 №2177056 
>>2177053
Все выше 8 для пориджей и хипстеров
Аноним 07/10/21 Чтв 20:28:10 #465 №2177058 
>>2177053
Разве 17я версия пока только бета? Вроде она релизнулась
Аноним 07/10/21 Чтв 20:44:00 #466 №2177066 
>>2177040
Language level проверь.
Аноним 07/10/21 Чтв 20:53:59 #467 №2177072 
>>2177066
17
Аноним 07/10/21 Чтв 21:01:19 #468 №2177078 
>>2177058
Действительно ошибся. 17 еще и LTS, но использовать её, на мой взгляд, рановато.
Аноним 07/10/21 Чтв 21:04:02 #469 №2177080 
>>2176953
Я не знаю что за долбоеб тебе сказал, что в опен сорс берут вкатунов. Опенсорс это обычно инструменты для разработчиков. Сделать удобный молоток сложнее, чем забить гвоздь.
Напиши пару крудов, подучи теорию и вкатывайся на галеру. Ментором станет тимлмд, который будет режектить твои пулреквесты. Просто так тебе объяснять никто ничего не будет, это сложно и за это не платят (или ты готов платить по ставке 50 баксов в час?).
>>помогать буду в чём смогу по мере возможностей
Это еще надо найти подходящую задачу чтоб ты смог принести пользу и ничего не сломать. Мне проще было бы самому такую таску выполнить, чем объяснять ее тебе. Особенно если ты даже не джун, а стажер, за которым еще все переделывать.
Аноним 07/10/21 Чтв 21:06:08 #470 №2177082 
>>2177078
Вообще у меня тут в системе Java 11, но в идее поставил 17. Зато узнал, что switch expression есть в 17, но нет в 11
Аноним 07/10/21 Чтв 21:09:06 #471 №2177086 
>>2177058
>>2177078
>>Действительно ошибся
Я то думал ты как настоящий джавист считаешь бетой все чему меньше 5 лет.
Аноним 07/10/21 Чтв 21:15:17 #472 №2177092 
>>2176916
В JPA 3.0 только переименование пакетов, изменений по существу не было
Аноним 07/10/21 Чтв 21:16:16 #473 №2177093 
>>2176953
Ой ты хетрец, это как бы типа "готов работать за бесплатно" завуалировал под опенсорс, типа ты такой идейный, зачет, возьму на вооружение.
мимо предлагавший лиду половину зп, если возьмет джуном
Аноним 07/10/21 Чтв 21:20:07 #474 №2177103 
>>2176995
Чел ты... это ведь только ввод входных данных в тестовом, а ты уже застрял, может ну его и лучше почитать про substring и indexof? Они все равно не возьмут, там будет кукарек, что надо было делать в хэшмапе или дереве, что не по солиду и это только вершина айсберга
Аноним 07/10/21 Чтв 21:33:45 #475 №2177113 
Помогите понять. Что делает кнопка гит->апдейт в идее? У меня две ветки мастер и фича_бренч, что будет если я в одной из веток сделаю мердж инто куррент? Какое будет состояние у обеих веток после этого? Если я в мастер мерджу, фича ветка исчезнет? Или наооборот если мерджить в фича ветку, что будет с мастером? Если ч хуево смерджил, например, и делаю фичу в мастере, как в этом случае пушить на гитхаб? Или можно, например из мастера ещё сделать один бренч, и так запушить, на гитхабе тогда изменения с какого момента будут видны. Я смотрел на Ютубе хуйню какую-то, но не понял, я не собираюсь использовать консоль и линуксы, совсем другим хотелось бы заниматься. Может внятное какое-то описание есть?
Аноним 07/10/21 Чтв 21:51:57 #476 №2177131 
what do you mean galleys?
Аноним 07/10/21 Чтв 22:03:22 #477 №2177138 
>>2177093
>>предлагавший лиду половину зп, если возьмет джуном
Потом кабан об этом узнает и лид идет искать сотыги в другом месте. 20-30к стоит того как думаешь? Взятка должна быть большая, чтоб ее размер перебивал риск наказания.
Аноним 07/10/21 Чтв 22:06:50 #478 №2177140 
>>2177131
outsource/outstaff
Аноним 07/10/21 Чтв 22:16:26 #479 №2177146 
>>2177140
and why go to such a thing in Moscow? or do they take everyone there?
Аноним 07/10/21 Чтв 22:18:19 #480 №2177149 
>>2177086
Я ещё смешарик
Аноним 07/10/21 Чтв 22:19:25 #481 №2177150 
>>2177103
Чел, это не задача с собеса )
Аноним 07/10/21 Чтв 22:30:31 #482 №2177157 
Какие паттерны и алгоритмы должен знать джун?
Аноним 07/10/21 Чтв 22:33:53 #483 №2177159 
>>2177146
there are offices all over the country, many employees work remotely (including me)
Аноним 07/10/21 Чтв 22:59:57 #484 №2177178 
изображение.png
Почему мой код по нахохдению числа в обратном порядке не работает? Он даже не завершается
Аноним 07/10/21 Чтв 23:00:56 #485 №2177179 
>>2177178
Потому что твой код - говно.
Аноним 07/10/21 Чтв 23:09:41 #486 №2177187 
>>2177178
Значение inputNumber никогда не меняется
Аноним 07/10/21 Чтв 23:10:45 #487 №2177188 
>>2177179
>>2177178
Кстати да. Нельзя было число перевести в строку и уже её реверсировать?
Аноним 08/10/21 Птн 12:39:21 #488 №2177426 
>>2177072
Ну хрен его знает, в 17 raw strings уже даже не в превью. Должны работать без танцев с бубном.
Аноним 08/10/21 Птн 12:41:08 #489 №2177428 
>>2177188
Он не хочет мусорить.
Аноним 08/10/21 Птн 12:46:44 #490 №2177433 
В чем разница между антматчерз и мвсматчерз? И что делает аннотация @Secured?
Аноним 08/10/21 Птн 16:59:23 #491 №2177595 
>>2177428
Но с другой стороны, алгоритм с реверсом строки проще и очевиднее
Аноним 08/10/21 Птн 17:18:01 #492 №2177633 
>>2177426
При поиске в интернете по запросам "java raw string" и т.д. не выдаются статьи по типу "Виды строковых литералов в Джава" или ссылки на документацию. Выдаются только вопросы на форумах, типа "Есть ли в Джава сырые строки", "Как красиво составить регексп" и т.д., а также JEP 326: Raw String Literals (Preview), имеющий статус Closed / Withdrawn.
Аноним 08/10/21 Птн 18:18:58 #493 №2177682 
>>2177633
>Please note: This was intended to be a preview language feature in JDK 12, but it was withdrawn and did not appear in JDK 12. It was superseded by Text Blocks (JEP 355) in JDK 13.
Ну ошибся с названием фичи, не Raw String Literals а Text Blocks.
Аноним 08/10/21 Птн 23:53:41 #494 №2177853 
Всем привет. Пробую учить Java по курсу со stepik, вроде интересно, несложные задачки в конце тем, но когда время доходит до следующего выходного, когда снова можно продолжать, забываю многое. На работе нет возможности учить, максимум раз в день полстатьи прочесть какой нибудь без возможности практики. Вопрос следующий: имеет ли смысл искать ментора/репетитора(доверия к объявлениям на авито нет почему-то), и сколько это может стоить? Я рассуждаю так: хороший кодер может здорово помочь новичку, особенно если есть затуп в каких то базовых вещах, который мешает идти дальше. Но зачем хорошему кодеру продавать себя на авито за гроши(по меркам средних зп, которые этот кодер мог бы получать), и тратить кучу времени на тупых вкатунов?
sageАноним 09/10/21 Суб 00:14:33 #495 №2177863 
>>2177853
> Но зачем хорошему кодеру продавать себя на авито за гроши(по меркам средних зп, которые этот кодер мог бы получать), и тратить кучу времени на тупых вкатунов?
Максимум - статью/доклад на широкую публику написать
Аноним 09/10/21 Суб 02:11:48 #496 №2177921 
>>2177682
Но увы, блоки не помогут писать регекспы красиво (
Аноним 09/10/21 Суб 08:07:55 #497 №2177947 
PXL20211009050044118~2.jpg
Приветствую. Появился у меня вот такой нетбук. Я конечно понимаю что он слаб, но всё же потянет ли он Intellij IDEA? Оперативкa съёмная, могу свапнуть на 8Gb, поставлю SSD вместо винта. Проц распаян: Амуде 2 ядра, 2 потока, макс частота 1.33Ghz. Я только учу джаву и большие проекты конечно не пишу. Так что с учётом апгрейда пойдёт ли он для Intellij?
Аноним 09/10/21 Суб 10:01:01 #498 №2177992 
>>2177947
На учебные проекты хватит. Только оперативку увеличить и SSD поставить.
Аноним 09/10/21 Суб 10:17:08 #499 №2178003 
>>2177863
Получается, хороших менторов не найти?
Аноним 09/10/21 Суб 10:24:07 #500 №2178006 
>>2177853
>хороший кодер может здорово помочь новичку
Сколько ты репетиторам не заплати, пока ты не сядешь и не начнешь учить, как английский язык, теорию, практику, ничего не выйдет. Без преувеличений, тебе понадобится минимум 6 месяцев по 8 часов ежедневно разбирать только базовые библиотеки, core, lambda, concurrency, ты даже не коснешься спринг бута. Еще пол года ты потратишь после того как узнаешь, что помимо этого тебе надо знать не мало вещей из девопса и тебе придется в этом разбираться. Потом ты узнаешь, что знаний бэка недостаточно, тебе в любом случае придется разбираться в верстке, жс и т.д. Я уже молчу про БД, SQL, NoSQL про всякие хранимые процедуры, индексы, нормализацию и т.д. Если ты не поридж до 22 лвл, то никто тебя не возьмет с минимум знаний. А бумеру 30+, даже зная всё это, нужно быть готовым, что его резюме не просмотрит 70% работодателей, они даже не откроют его просто посмотреть на позицию джуна. Но ты можешь мне не верить, думать, что тут тебя отговаривают конкуренты, пожалуйста, твое право. Можешь открыть эксель и протянуть 120 строчек (10 лет) свой текущий оклад, с учетом прибавки зп, при карьерном росте, и рядом колонку твоего вкатунства, где ты скорее всего 2 года будешь сидеть без зп, а потом полгода получать 60к, потом год 80-120к, потом го 120-160 к. Проссумируй всё и сравни, ещё не забудь вспомнить как ты 2 годы будешь превозмогать и готовься что придется часто читать про новые фичи, а потом уже принимай решение.
>Пробую учить Java по курсу со stepik
А степик это просто чушь. Ты проанализируй, как я тебе посоветовал выше, может какой-то сертификат по текущей работе тебе принесет больше профита.
Аноним 09/10/21 Суб 10:46:19 #501 №2178021 
>>2178006
По текущей точно нет. Почему stepik чушь? Вроде отзывались многие неплохо, по крайней мере лучше цыган из скилбоксов. Да, я понимаю, что учить очень и очень много, но это единственный путь развития, который вижу, из того, что вообще интересует. Про репетитора спросил не для того, чтобы за месяц куда то вкатиться, а чтобы в идеале более качественно понимать, а не зубрить.
Аноним 09/10/21 Суб 12:07:09 #502 №2178132 
>>2177992
А по процу он вытянет?
Аноним 09/10/21 Суб 12:53:18 #503 №2178194 
>>2178132
Я думаю нет. Чтобы изучать джава-стек тебе же надо кроме идеи еще браузер запускать и базу держать запущенной.
А этот проц хуже самого слабого десктопного интеловского селерона 10-тилетней давности.
Если все запустится, то будет боль.
Этот проц разве что с голой джавой без иде играться. А для этого тебе память не обязательно покупать.
Аноним 09/10/21 Суб 13:04:54 #504 №2178212 
>>2178194
разве что найти идею 7-летней давности(какую-нибудь самую первую с поддержкой джава 8), но все равно будет боль.
sageАноним 09/10/21 Суб 13:07:58 #505 №2178218 
>>2178194
Может попробуй вс код. Он вроде как меньше всего кушает
либо эклипс, упаси б-г
sageАноним 09/10/21 Суб 13:08:24 #506 №2178221 
>>2178218 -> >>2178132

Аноним 09/10/21 Суб 14:40:20 #507 №2178318 
>>2178218
да с этим процом ему только нотпад++
Аноним 09/10/21 Суб 16:33:00 #508 №2178430 
>>2178132
я начинал изучать жабу на АМД Duron 850 МГц. Идея не тянула, поставил какую-то легкую редактировалку, которая могла запускать жабу. Ну норм
Аноним 09/10/21 Суб 18:32:24 #509 №2178507 
>>2176756
Вкратце: лучше делать проекты ide- независимыми и не полагаться на "магию". Возможно твои действия как раз и делают запись в pom.xml, но лучше понимать наверняка что ты делаешь
Аноним 09/10/21 Суб 18:35:56 #510 №2178511 
jdbcTemplate.PNG
jpaTransfer.PNG
Короче когда шел по jdbc сделал схему, как на пик1. Табличка аккаунтов и табличка переводов, ссылающаяся на аккаунты в 2 своих полях. Объединялось это вместе в аккаунты с историей переводов(дтошкой, а не классом сущности), как справа на 1 пике + экстрактор.
Ну и мне надо на хибер это перевести(только пока лист не дтошек, а самих сущностей) и я даже хз где я проебался. Он вместо списка сохраняет в только первый перевод.
То ли @OneToMany не так прописал, то ли что-то еще, то ли там что-то нужно типа joincolumn вместо mapped by. Прочитал. Еще одно-направленные, двунаправленные связи. Я чем дальше мурзилки читаю, тем дальше запутываюсь.
Аноним 09/10/21 Суб 21:40:46 #511 №2178769 
>>2178132
IDE вытянет спокойно. Запуск будет немнго притормаживать, но можно и потерпеть
У тебя нет постоянной высокой нагрузки. Есть маленькая, эпизодическая нагрузка. Хеловорды вытащит спокойно.
Аноним 09/10/21 Суб 22:39:38 #512 №2178822 
Как думаете, о чём конкретно идёт речь, когда java-приложение описывается как:
>Standalone, то есть состоящее из одного выполняемого компонента верхнего уровня
Хотелось бы услышать вашу интерпретацию данного определения.
Аноним 09/10/21 Суб 23:46:32 #513 №2178880 
Нужны инсайды. На носу собес, приглос пришел на понедельник, какие могут дать задачи на нем джуну? FizzBuzz, что еще? Где смотреть? В гугле их слишком много. Обосраться не имею права.
Аноним 10/10/21 Вск 00:01:32 #514 №2178895 
>>2178880
Накидать, например, парсер css на лайвкодинге.
Аноним 10/10/21 Вск 00:07:09 #515 №2178907 
>>2178895
Сложно.
Аноним 10/10/21 Вск 00:20:38 #516 №2178922 
>>2178507
Спасибо, буду знать
Аноним 10/10/21 Вск 01:04:44 #517 №2178949 
>>2178895
И как это делать? Регулярками через pattern/matcher?
Аноним 10/10/21 Вск 01:13:07 #518 №2178952 
>>2178949
Нет. Регулярки в джаве довольно медленные.
Аноним 10/10/21 Вск 02:37:06 #519 №2178977 
>>2178952
А как?
Аноним 10/10/21 Вск 06:36:52 #520 №2178990 
>>2178511
бамп вопросу.
Аноним 10/10/21 Вск 19:42:14 #521 №2179631 
>>2178822
Райффайзен? Имеют в виду, что нужен не war для деплоя в томкат, не библиотечный jar и т.п., а исполняемый файл. Обычный исполняемый jar, который cобирается спрингбутом.
Аноним 10/10/21 Вск 20:20:50 #522 №2179675 
>>2178511
Не до конца может понял, что ты хочешь, но ты что ли надеешься на то, что по mappedBy="transfer_id" (схуяли вообще transfer_id?) хибер сам догадается про джойн и по "from" и по "to"? Не будет такого, но можешь сделать две отдельный связи. И не ставь никогда FetchType.EAGER на подобные коллекции.
Аноним 10/10/21 Вск 20:26:29 #523 №2179681 
>>2178511
В mappedBy должна быть колонка владеющая отношением. В твоём случае, либо fromAccount, либо toAccount. Вместо transferHistory, тебе нужно два поля, каждый из которых связан с from и to соответственно. А при необходимости объединять списки на уровне самой джавы.
Аноним 10/10/21 Вск 21:37:39 #524 №2179762 
twoLists.PNG
>>2179675
>>2179675
Ну это понятно, что не ставить, а только когда нужен объект с вложенным списком. И в jdbc-ишном проекте в репозитории у меня было 2 метода:
Optional<Account> findById(Long id) с простым запросом. Optional<Account> findByIdWithTransfers(Long id) с экстрактором.
А как сделать второй с jpa?

>>2179681
Я просто достаточно бездумно копипастнул код с мурзилки. Так пока и не разобрался в этих ваших связях.
Спасибо за совет. Сам думал о двух листах. Получилось вот так. Все работает. Но нельзя как то поизящнее с одним листом?
Аноним 10/10/21 Вск 21:52:44 #525 №2179781 
>>2179762
>а только когда нужен объект с вложенным списком
Вот именно, а с EAGER он у тебя будет всегда со списком, а не только когда он нужен.

>Получилось вот так. Все работает. Но нельзя как то поизящнее с одним листом
Ты не показал, что именно у тебя получилось, но ты подумай о том, что тебе не обязательно совершенно идти от account и доставать transfer как его связь. Можешь сделать запрос к transfer, где from_account или to_account равны тому, что тебе нужны. В реальной жизни как раз может оказаться так, что никакого смысле в такой коллекции у account нет, потому что тебе никогда не понадобятся сразу все transfer одного account, только с какими-то еще условиями, допустим с датой в определенном диапазоне.
Аноним 10/10/21 Вск 23:00:10 #526 №2179827 
>>2179781
Ну когда я себе этот проектик придумывал еще для изучения jdbc(сперва rawjdbc, потом jdbctemplate) там весь функционал -
первая страничка: список акков, потом создать аккаунт,
вторая сразу отображает всю инфу с сущности одного аккаунта, всю историю переводов, удалить аккаунт, перевести сумму.
И хотелось бы фронт и контроллеры вообще не менять.
Есть общий интерфейс репозиториев и 4 реализаций, хотел только имплементации репозиториев менять. Вот теперь еще два вида доменных моделей - jdbc-шная и хиберовская(по сути раньше у переводов были поля типа Long from_account_id, теперь Account from_account ).
>потому что тебе никогда не понадобятся сразу все transfer одного account, только с какими-то еще условиями
Мне нужен аккаунт с List<TransferDto> transferHistory(тот же transfer, но без айдишников). И раньше я аккаунт с листом дтошек прямо из базы дергал и ничего не меняя джейсоном отдавал на фронт. Теперь наверно два лист из настоящих трансферов придется в один лист дтошек где-нибудь в репозитории(по уму наверно в сервисе надо, но я уже написал себе контракт с интерфейсами AccountRepo и TransferRepo).
Аноним 10/10/21 Вск 23:19:19 #527 №2179848 
>>2179827
Для учебных задач, кажется мне, довольно глупый подход - "уже написал себе контракт", теперь вынужден с ним ебаться, но дело твое.

Вариант с двумя EAGER листами не очень хорош еще тем, что в результате получится такой селект с джойнами, у которого будет сильно раздутое, избыточное количество строк на выходе. Лучше либо делай два селекта - самого счета и его переводов - либо делай селект по переводам, от которых уже будет джойн к счетам. Счет будет заведомого один и тот же у всех, так что вытащишь нужный из любого перевода.
Аноним 11/10/21 Пнд 00:41:31 #528 №2179882 
Как подключить OpenFeign к проекту на спринге? У меня не видит GsonDecoder, хочу запустить пример с гитхаба. Помогите плиз
Аноним 11/10/21 Пнд 01:26:12 #529 №2179902 
>>2179848
да я не хотел EAGER делать, мне он и не подходит. У меня будет запрос к аккаунту без листа переводов и потом с ним. Просто пока не понял, как с LAZY работать. Не увидел этого в мурзилке/не дочитал.
Аноним 11/10/21 Пнд 01:34:53 #530 №2179906 
>>2179631
>Райффайзен?
Да, он самый :)
Тоже кинул заявку?

>Обычный исполняемый jar, который cобирается спрингбутом
В целом, я примерно о том же самом и подумал, спасибо за ответ. Только откуда инфа про спрингбут?
Было бы странно собирать стендалон jar'ник в именно в буте, вроде же вся его идея как раз в том, что он инкапсулирует в себе компоненты, в том числе контейнер/сервер embedded tomcat, и сам представляет собой некий верхнеуровневый "standalone", грубо говоря.
Аноним 11/10/21 Пнд 01:56:36 #531 №2179909 
>>2179906
>Тоже кинул заявку
Нет, самому мне туда не надо (уже есть свои 600кк/нсек), но попадались на глаза эти их носки.

> откуда инфа про спрингбут
Ну а какие еще варианты, если это самый дефолт и мейнстрим, и если они сами пишут в задании, что желателен Spring(Boot) Framework.

>он инкапсулирует в себе компоненты
И вот именно поэтому результирующий джар и можно назвать standalone, все сходится
Аноним 11/10/21 Пнд 02:13:32 #532 №2179912 
>>2179909
>Нет, самому мне туда не надо
Обознался, извиняюсь

>и если они сами пишут в задании, что желателен Spring(Boot) Framework.
А что за задание? Просто я довольно внимательно всё изучил, и нигде не увидел упоминания спринга, кроме стека команд хотя да, логично, что он будет. Если поделишься какой-то инфой по заданию - буду очень благодарен самому интересно быстрее глянуть, что там

>И вот именно поэтому результирующий джар и можно назвать standalone, все сходится
Действительно, ну я и херню сморозил, хотя выше сам себе ответил. В момент затупа почему-то подумал, что компоненты бута будут не в одном джарнике уже спать пора, походу
Аноним 11/10/21 Пнд 02:27:47 #533 №2179913 
>>2179912
>А что за задание?
То, из которого ты взял эту формулировку про standalone. Если не из задания, значит, штош, я ошибся.
Аноним 11/10/21 Пнд 02:37:49 #534 №2179914 
>>2179913
Я её взял из FAQ их телеграмм бота, пару дней назад.
Ну ладно, если у тебя какие-то конфиденциальные данные - то обойдусь.
Аноним 11/10/21 Пнд 02:40:27 #535 №2179915 
>>2179914
Вбей эту фразу в поисковик
Аноним 11/10/21 Пнд 02:47:10 #536 №2179917 
>>2179915
Тысячи тон нефти тебе, анон. Я это, само собой, делал, но поисковик попался протухший.
Аноним 11/10/21 Пнд 09:54:28 #537 №2179968 
Ребята, как javax validation опеределяет локаль (язык, на котором пишет ошибки валидации)?

Хочу чтобы писал
"bar.foo must be greater than or equal to 1"
А получаю
"bar.foo должно быть не меньше 1"
Аноним 11/10/21 Пнд 11:05:08 #538 №2180052 
1296983102235.jpg
rootBPDExecutionContext.png
Сап, программач.
Есть энтерпрайзное говно на джаве. В рантайме энтерпрайзное говно сериализует объекты и складывает их в БД. Мне нужно из этих сериализованных объектов достать определенные атрибуты.
В либах энтерпрайзного говна мне удалось найти нужный объект и десериализовать его, но один атрибут достать не могу - геттер там хитровыебанный и выплевывает ошибку хотя сам атрибут инициализирован и в нем есть данные, это видно в дебаге - localSymbolTable.data

Подскажи, программач, могу я как-то достать нужный атрибут?
Аноним 11/10/21 Пнд 11:38:13 #539 №2180087 
>>2180052
Либо рефлексией вытащить либо ручками разобрать сериализованый формат. Что там за формат кстати, джавовская сериализация или что-то еще?
Аноним 11/10/21 Пнд 11:52:08 #540 №2180111 
des.png
>>2180087
В джаве я хуй простой, поэтому слабо понимаю о чем ты.
> Либо рефлексией вытащить
Это как-то так - https://stackoverflow.com/questions/1196192/how-to-read-the-value-of-a-private-field-from-a-different-class-in-java ?

> либо ручками разобрать сериализованый формат. Что там за формат кстати, джавовская сериализация или что-то еще?
В БД лежит byte array сжатый gzip.
На всякий десериализация в прикрепленном пике.
Аноним 11/10/21 Пнд 13:19:15 #541 №2180180 
>>2180111
>Это как-то так
Да.


>В БД лежит byte array сжатый gzip.
>На всякий десериализация в прикрепленном пике.
Да, это джавовская дефолтная сериализация.
Аноним 11/10/21 Пнд 17:18:52 #542 №2180378 
Помогите.Есть кто работал с vaadin?
Есть ссылка на элемен(страницу) она работает если проходишь по пути,обнавляешь(ф5), она пустая.
В чем может быть проблема? Как решить.
Аноним 11/10/21 Пнд 17:49:42 #543 №2180410 
В чем может быть проблема? Есть проект, делал не я. В нем есть интеграционные тесты, которые не запускаются. Вылетает туча эскуэль эксепшенов. Failed to load application context. Я не очень понимаю в тестировании. Что ему можнт не хватать? Последнее сообщение Access denied for user 'root'@'localhost' (using password: YES). Сами тесты вроде простые, просто на каждый метод контроллера проверка всякой хуйни.
Аноним 11/10/21 Пнд 18:07:30 #544 №2180436 
master piece.PNG
Я смог в клин-код?
sageАноним 11/10/21 Пнд 18:16:44 #545 №2180451 
>>2180410
К базе подключиться не может
Аноним 11/10/21 Пнд 18:33:47 #546 №2180464 
>>2180451
А как тест должен подключаться к базе?
sageАноним 11/10/21 Пнд 18:35:28 #547 №2180465 
>>2180464
В тестовом Datasource конфиге, если спринг. С помощью ApplicationContextInitializer в спринг Буте. Ну и база в тестконтейнерах
Аноним 11/10/21 Пнд 18:40:31 #548 №2180466 
>>2180465
А где всё это искать, в буте?
sageАноним 11/10/21 Пнд 18:42:44 #549 №2180468 
>>2180466
Не понял вопроса
Аноним 11/10/21 Пнд 18:45:56 #550 №2180470 
>>2180468
Если тест не может подключиться к базе, значит ему не хватает каких-то настроек бд? Для обычной бд есть класс applicatio.properties. Где искать аналог этих проперти для тестовой базы?
sageАноним 11/10/21 Пнд 18:59:12 #551 №2180483 
>>2180470
Зависит от того, как на проекте заведено.
Я их загоняю вместе со стартом тестконтейнера в ApplicationContextInitializer
Аноним 11/10/21 Пнд 19:17:45 #552 №2180492 
>>2180483
Я нашел, просто не смог сообразить что приложение работает с двумя базами. А как обычно бывает на производстве? Вот закончил ты пилить логику проекта, и начинаешь хуярить тесты, сам их придумывая, и делая объем работы равный или больший нахуяренной логики?
sageАноним 11/10/21 Пнд 19:26:23 #553 №2180505 
>>2180492
Если повезет, и на проекте так заведено, то да. Лично я накидываю кучу работающего говна, покрываю тестами, а потом рефакторю это же говно с их помощью
Аноним 11/10/21 Пнд 19:43:23 #554 №2180534 
>>2180052
в постгре можно хранить json и в запросах манипулировать атрибутами
Аноним 11/10/21 Пнд 19:44:38 #555 №2180537 
>>2180505
Это TDD?
sageАноним 11/10/21 Пнд 19:47:30 #556 №2180545 
>>2180537
Что-то типа того
Аноним 11/10/21 Пнд 20:22:38 #557 №2180568 
public Address toEntity(AddressDto addressDto) {
City city = cityService.findByName(addressDto.getCity());
city.setCountry(countryDao.findByName(addressDto.getCountry()));
return Address.builder()
.id(addressDto.getId())
.city(city)
.index(addressDto.getIndex())
.street(addressDto.getStreet())
.house(addressDto.getHouse())
.build();
}


Как такую логику реализовать в мапстракте?
Аноним 11/10/21 Пнд 20:25:02 #558 №2180570 
Вообще думать в концепции хибера сложно или просто я такой тупой? С голым сикулем на jdbc у меня таких затупов не было.
Аноним 11/10/21 Пнд 20:28:50 #559 №2180572 
>>2180570
Сейчас тебе расскажут, что хибер говно и выкини его вообще
Аноним 11/10/21 Пнд 20:32:57 #560 №2180573 
>>2180572
Может они такие же тупые, как я просто?
sageАноним 11/10/21 Пнд 20:33:09 #561 №2180574 
>>2180568
https://www.baeldung.com/mapstruct-multiple-source-objects
Аноним 11/10/21 Пнд 20:37:11 #562 №2180578 
>>2180573
если инструмент приносит только проблемы и головную боль, то зачем кушать этот кактус?
Аноним 11/10/21 Пнд 20:47:15 #563 №2180591 
>>2180573
>Может они такие же тупые
Вполне может быть. На самом деле инструмент действительно непростой, им нужно учиться пользоваться, понимать ограничения и подводные, затупы вполне естественны. И уже только когда хорошо разобрался и освоился, тогда и начинается какой-то от него профит.
Аноним 11/10/21 Пнд 20:51:32 #564 №2180599 
>>2180591
когда научился скакать мимо расставленных граблей. Но всё-равно бывает наступаешь. Ради сомнительной выгодны
Аноним 11/10/21 Пнд 20:58:01 #565 №2180608 
>>2180578
Я не знаю, я только начал. Может дело во мне.
Но же популярный. Почти все вакансии на спринговом стеке его требуют. Да и во всех мурзилках тоже про него.
>>2180591
Может еще от размера схемы зависит? Вот я читаю мурзилку, переделываю ее. И тамошний пример на 3-4 табличке с jdbc сильно понятнее. Ну а сам я базы больше 15 табличек не видел никогда пока(из какого-то учебника по sql уже не начального, а среднего уровня) и мне уже было тяжеловато. А реальная база на джава-стеке это наверно от 50 и до нескольких сотен(я так предпологаю). Может там профиты?
Аноним 11/10/21 Пнд 21:03:43 #566 №2180619 
>>2180608
причина - хибер делает ощущение магии и ненужности sql (ложное ощущение)
Аноним 11/10/21 Пнд 21:10:01 #567 №2180629 
>>2180619
ощущения ненужности sql не почувствовал. Вроде многое делается через jpql, который абстракция поверх sql.
Думаешь реально плохо знать sql и хорошо знать хибер?
Аноним 11/10/21 Пнд 21:13:28 #568 №2180633 
>>2180608
> Может еще от размера схемы зависит
Зависит, да. Хелловорды с тремя таблицами вообще без разницы на чем писать. Профит от хибера ощущается на больших проектах, где много сущностей (таблиц) и много логики, которая ими манипулирует, и соответственно много простых и однотипных crud-запросов. Хибер позволяет не тратить свою жизнь на то, чтобы писать и поддерживать их руками. Но сначала нужно один раз вложиться в то, чтобы научиться обходить его грабли.
Аноним 11/10/21 Пнд 21:15:50 #569 №2180638 
>>2180629
по-умолчанию везде Eager. С ним всё будет работать. Но медленно
>Вроде многое делается через jpql
круды можно без запросов лепить, через все эти merge, save
Аноним 11/10/21 Пнд 22:04:16 #570 №2180688 
image.png
>>2180633
>Но сначала нужно один раз вложиться в то, чтобы научиться обходить его грабли.
Проблема в том, что грабли хибера обширны, а разработчики приходят и уходят. Причем проблема может вылезти в совершенно другом месте. Добавил в одном месте ленивое поле, а в другом пошла по бороде производительность из-за ломбоковского toString().

С чистым SQL ты хотя бы видишь запрос и что он грузит из базы. Никто лениво ничего не тянет. Если не делать select * то новые поля старые запросы не замедлят. SQL это хорошо, SQL это надежно.
Аноним 11/10/21 Пнд 22:17:39 #571 №2180698 
>>2180688
как боженька расписал
Аноним 12/10/21 Втр 00:05:43 #572 №2180770 
Подскажите, пожалуйста, по JDBC Template:
Если в Java JDBC я сам получаю Connection'ы из DriverManager, которые потом могу засунуть в свой ConncetionPool, то как быть с DataSource в Spring JDBCTemplate? Темплейт сам принимает DataSource и делает у него getConnection.
1) Как тогда реализовать свой пул коннекшенов в JDBC Template? Тупо сделать пул DataSource'ов? Но ведь тогда все-равно каждый раз будут выполнятся новый getConnection у датасурса, что ломает всю идею предназначения пула, с постоянно открытыми конекшенами.
2) Нужно ли закрывать какие-то ресурсы за собой? Если да, то как? У DataSource и JDBCTemplate нет никаких методов close() и имплементации Autocloseable, судя по докам. Где происходит закрытие стейтментов и конекшенов в темплейтах?
Аноним 12/10/21 Втр 00:08:28 #573 №2180773 
@SdelatZaebis
Аноним 12/10/21 Втр 00:14:55 #574 №2180783 
>>2180770
https://easyjava.ru/data/pool/nastrojka-hikaricp/
все популярные пулы дают реализацию DataSource, ну и ты тоже наверно инкапсулируй все в свою реализацию.
Аноним 12/10/21 Втр 00:25:55 #575 №2180792 
>>2180783
Ну я понял, типа принято реализовать свой DataSource, связанный с пулом и который будет отдавать пул. Это понял.
Остался только вопрос с пониманием механизма закрытия ресурсов.
Аноним 12/10/21 Втр 11:54:16 #576 №2181105 
Если мне нужен какой-нибудь функционал, какого-нибудь фреймворка. Буквально пару строчек надо. Что мне надо я в этот момент не знаю. Мне говорят читай документацию. Вопрос насколько это правильный ответ? Документация обычно очень большая. Правильно ли тратить время на чтение её всей? Запомнить при этом хоть что-то определенно не получится. Или отвечающий как бы говорит отъебись от меня, и больше это ничего, кроме этого не значит?
Аноним 12/10/21 Втр 12:16:04 #577 №2181128 
>>2181105
Документация, как и большая часть людской писанины, чаще всего содержит вводную часть - от 1 абзаца до пары страниц - объясняющую вкратце что это за велосипед. Полезно в том числе чтобы быстро дропнуть то, что тебе не нужно и идти дальше. Так что совет вполне дельный.
Аноним 12/10/21 Втр 12:25:39 #578 №2181143 
>>2181105
А если речь про конкретный функционал конкретного фреймворка, то вбиваешь в гугол фреймворкнейм и суть вопроса. Тебя выкинет на документацию к фреймворку напрямую или через со, я гарантирую это. Читать документацию целиком полезно, но при наличии норм ревью кода необязательно. А частоиспользуемые фичи сами запомнятся.
Аноним 12/10/21 Втр 17:27:20 #579 №2181432 
Аноны мне для лаб нужно сделать пользовательский интерфейс. Одна лаба обычное консольное приложение на текущий момент, другая веб сервер к которому надо прикрутить поля и кнопку. Что использовать, чтобы опыт использование потом пригодился (жс не осилю, я дибил)
Аноним 12/10/21 Втр 18:03:51 #580 №2181478 
Какие практики написания thread-safe DAO используют для Spring JDBC template?
Сами template, как я понял, потокобезопасны из коробки.

Принято ли реализовать свои read/writeнапример, с помощью ReentrantReadWriteLock блокировки? Либо, для операций на запись, всё делают на транзакциях, с выставлением нужного Isolation level?

В случаях с использованием одних лишь транзакций на запись, по идее, можно получить сайд-эффекты в виде неактуальных селектов, до тех пор, пока не пройдёт транзакция на запись. Такое вообще допустимо?
Аноним 12/10/21 Втр 18:16:19 #581 №2181487 
Ананасы, столкнулся с диллемой – каким уровнем логировать бизнесовые ошибки, WARN или ERROR?

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

В мою пользу еще сентри, например, ругается на error – говорит, что это ошибка и ее надо исправлять как-то.
Аноним 12/10/21 Втр 18:21:33 #582 №2181489 
Кому тоже интересен вопрос >>2181478 , нашёл такую статью: https://easyjava.ru/spring/spring-data-access/izolyaciya-i-rasprostranenie-tranzakcij-v-spring/
В последних абзацах есть немного о практиках построения. Коротко говоря, транзакции разумнее размещать в слое логики.
Насчёт блокировок и сайд-эффектов - вопрос ещё открытый.
Аноним 12/10/21 Втр 18:31:07 #583 №2181501 
>>2181432
>другая веб сервер к которому надо прикрутить поля и кнопку. Что использовать, чтобы опыт использование потом пригодился (жс не осилю, я дибил)
Eсли это EE на сервлетах, то можешь в через request/response передавать и принимать атрибуты на JSP-страницах. Для спринга, можно дописать контроллер, который будет мапить модель на JSP-страницу.
Правда, вряд ли тебе сейчас где-то опыт работы с JSP пригодиться. Но это самый простой и легкий вариант.
Консольное приложение я бы тоже разобрал веб-контроллерами обмазал тупо, а дальше по схеме выше.
Аноним 12/10/21 Втр 20:11:08 #584 №2181655 
>>2181432
Самый простой способ - использовать на спринге шаблонизатор типа thymeleaf. Его освоить за пару часов можно, но опыт не пригодится.
Пригодится ангуляр, но это не пару часов, а пару дней (для твоей задачи) и вообще дикий оверхед для одной кнопки. Вью тоже не намного проще.
Аноним 12/10/21 Втр 21:19:14 #585 №2181737 
>>2181432
Осиль голый жс. Он простой(мне показался проще фримаркера/таймлифа), для кнопки его достаточно и может много где пригодиться.
Можешь просто погуглить, как сделать таблицу на жс и кнопку с рест запросами через fetch. Думаю за вечер прочитав один-два примера разберешься.
Аноним 12/10/21 Втр 23:36:38 #586 №2181917 
У меня из дто с фронта прилетает массив айдишников ролей. Потом я хочу в конверторе в цикле переберать эти роли, создавая по одной, а потом сложить всё это в сет ролей, и этот сет сбилдить вместе с остальной частью дто в юзер объект. Как это реализовать в мапстракте?
sageАноним 12/10/21 Втр 23:45:19 #587 №2181935 
>>2181917
Никак. Мапстракт - калл
в 99% случаев
Аноним 13/10/21 Срд 00:09:22 #588 №2181968 
>>2181917
>>создавая по одной
Ты создаешь новую роль? зачем тебе айди из дто тогда? Или ты достаешь роль по айди из базы, а не создаешь?

В общем в мапере юзера добавь аннотацию @Mapper(uses = {MapperUtil.class})

над методом toEntity(user, roles) поставь аннотацию
@Mapping(target = "roles", source = "roles", qualifiedByName = {"getRolesFromDto"})

MapperUtil.class - это класс где есть метод getRolesFromDto() который принимает дто, возвращает роли (как он их создает/достает - тебе виднее)


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

List <Role> roles = dto.getIds.stream().map(id -> this.createRole(id)).collect(Collectors.toSet);

createRole(Long id) - это например приватный метод в этом же классе который создает/достает роль по айди.
Аноним 13/10/21 Срд 00:56:07 #589 №2182016 
>>2177853
цель просто жаву изучить или работу найти?
Аноним 13/10/21 Срд 02:15:17 #590 №2182053 
>>2182016
Я другой анон и хочу перестать просто изучать и нацелиться на работу. Раньше учил так(учебники, онлайн-тренажеры, ютуб, видеокурсы с торрентов), для развлечения скорее.
Вот думаю может денег занять и ментора нанять. Что ты думаешь по этому поводу анон? И сколько это может стоить?
Открываю какую-то биржу менторов из гугла и там 2.5-4к за час. Биржи эти адекватные и адекватна ли цена? Ну часов 20-30 мне нужно наверно.
Ну вот я бы у него попросил проинтервьюировать меня, найти слабое в джавакоре и дать направление, как и что учить из фреймворков, а то в них конца и края не видно, даже в основных. Ну и проектик помочь наметить и проверить потом раза 2.
Ну это 100к надо.
Аноним 13/10/21 Срд 03:17:04 #591 №2182060 
>>2162387
В ArrayList ты не можешь записать int, только Integer, думаю тут ещё оверхедиков добавилось.
Потом когда ты его наполняешь - он каждый раз создаёт новый с размером ~1.5 когда заполняется до края, соответственно старый в мусор.
Аноним 13/10/21 Срд 09:28:10 #592 №2182118 
>>2181968
Я не создаю роль, она в базе. Можно подробнее про , qualifiedByName = {"getRolesFromDto"})
и
MapperUtil.class?
Я этот класс должен сам написать? Может есть пример какой?
Аноним 13/10/21 Срд 10:30:18 #593 №2182163 
>>2182118
>Я не создаю роль, она в базе
Вот и доставай ее из базы по id, нахуй тебе тут mapstruct
Аноним 13/10/21 Срд 10:46:26 #594 №2182185 
>>2182118
>>MapperUtil.class?
>>Я этот класс должен сам написать?
Да это самый обычный класс, ты его в маппере указываешь, чтоб к его методам можно было обращаться. Назвать можешь как угодно.

Но конкретно под твою задачу - проще все же достать из базы роли в сервисе и добавить их к уже преобразованному юзеру, а не пытаться воткнуть логику в мапер.
Маппер должен выполнять одну роль - преобразование энтити в дто и обратно.
Аноним 13/10/21 Срд 10:49:17 #595 №2182190 
1297836541143.jpg
>>2180180
Вариант с reflection api не сработал - при попытке сделать
Field f = rootBPDExecutionTreeNode.getClass().getDeclaredField("localSymbolTable");
получаю исключение:
java.lang.NoSuchFieldException: localSymbolTable
Хотя поле в классе есть.
ЧЯДНТ, анон?
Аноним 13/10/21 Срд 11:20:17 #596 №2182222 
>>2182190
Скорее всего это поле объявлено не в этом классе, а в его предке.
https://pastebin.com/iUwMVViL
Аноним 13/10/21 Срд 12:50:05 #597 №2182308 
>>2181487
Error - что-то явно работает неправильно, нужно заводить тикет и исправлять. Warn допустимо, но требует повышенного внимания к событию.
Аноним 13/10/21 Срд 14:26:57 #598 №2182364 
Можно ли стримами конвертировать строку типа "1 0 X\n0 1 ?\n0 0 0"
в char[][] {{'1', '0', 'X'},{'0', '1', '?'},{'0', '0', '0'}} ?
У меня ничиво не получаицца, я чет путаюсь в трех соснах
Аноним 13/10/21 Срд 17:37:03 #599 №2182571 
>>2182364
Stream.of("1 0 X\n0 1 ?\n0 0 0".split("\\n")).map(String::toCharArray).toArray(char[][]::new);
Аноним 13/10/21 Срд 18:13:24 #600 №2182606 
>>2182571
но ведь надо еще split(" ") а потом String[] преобразовать в char
вот моя нерабочая версия
String[] rows=board.split("\n");
return Arrays.stream(rows)
.map(i->Arrays.stream(i.split(" ")).map(t->t.charAt(0)).toArray())
.toArray(s->new char[rows.length][s/ rows.length]);
Аноним 13/10/21 Срд 18:40:03 #601 №2182638 
>>2182606
так, ну вот с Chatacter[][] получилось, как char[][] сделать
String[] rows = board.split("\n");
return Arrays.stream(rows)
.map(i -> Stream.of(i.split(" ")).map(t -> t.charAt(0)).toArray(Character[]::new))
.toArray(s -> new Character[rows.length][]);
Аноним 13/10/21 Срд 18:54:02 #602 №2182674 
>>2182606
>>2182638
Непонятно что делать если будет больше одного символа подряд, но можно сделать так:
Stream.of("1 0 X\n0 1 ?\n0 0 0".split("\\n"))
.map(s -> s.replaceAll("\\s+", "").toCharArray())
.toArray(char[][]::new);
Аноним 13/10/21 Срд 19:17:08 #603 №2182699 
>>2182674
спс, промапать в char легким путем получается нельзя.
Аноним 13/10/21 Срд 21:32:16 #604 №2182805 
Есть два целочисленных стрима {a, b, c, ...} и {x, y, z, ...}, нужно из них получить стрим {(a, x), (b, y), (c, z), ...}, где (a1, a2) - пара двух чисел из библиотеки Apache Commons Lang 3.
Аноним 13/10/21 Срд 21:52:10 #605 №2182836 
А транзакции jdbc и транзакции внутри базы это одно и тоже? setAutoCommit(false) вызывает begin tranaction у postgres? Или оно как то ещё работает?
Аноним 13/10/21 Срд 21:54:54 #606 №2182839 
>>2182699
Можно сконкатенировать все и перегнать в char[]
Stream.of("1 0 X\n0 1 ?\n0 0 0".split("\\n"))
.map(s -> String.join("", s.split("\\s+")).toCharArray())
.toArray(char[][]::new);
Аноним 13/10/21 Срд 21:56:33 #607 №2182841 
>>2182805
Streams.zip()

https://guava.dev/releases/21.0/api/docs/com/google/common/collect/Streams.html#zip-java.util.stream.Stream-java.util.stream.Stream-java.util.function.BiFunction-
Аноним 13/10/21 Срд 21:57:42 #608 №2182844 
>>2182836
Да.
Нет, это отключает автоматический коммит после выполнения любого DML.
Аноним 13/10/21 Срд 22:29:30 #609 №2182897 
>>2182844
Не понял. А разве на уровне интерфейса базы данных есть какой то отдельный синтаксис для транзакций кроме:

BEGIN;
INSERT INTO accounts(name,balance)
VALUES('Alice',10000);
COMMIT;
Или он начинает транзакции на уровне базы но не через интерфейс бд, такие команды как BEGIN?
Аноним 13/10/21 Срд 23:15:00 #610 №2182931 
>>2182897
>разве на уровне интерфейса базы данных есть какой то отдельный синтаксис
Да, на уровне jdbc вообще есть много всякого, чего ты не увидишь в "синтаксисе" текстового терминала. PreparedStatement, батчи...
Аноним 13/10/21 Срд 23:24:13 #611 №2182935 
>>2182931
Но я был уверен, что при препейред стейтмент на уровне джавы выполняется и подставляет там значения с проверкой. А базе отдает уже готовые строчки запросов.
Аноним 13/10/21 Срд 23:33:50 #612 №2182940 
>>2182935
>Но я был уверен
А реальность оказалась куда более жестокой
Аноним 13/10/21 Срд 23:39:32 #613 №2182941 
>>2182940
Короче я ещё сильнее нихуя не понимаю, чем до того, как задал вопрос.
Аноним 14/10/21 Чтв 11:46:10 #614 №2183269 
>>2182897
>А разве на уровне интерфейса базы данных есть какой то отдельный синтаксис для транзакций кроме:
Все сильно зависит от базы. Обычно если ты выполняешь некий DML у тебя автоматом начинается транзакция её не нужно явно стартовать. Можно начать явно START TRANSACTION. В некоторых базах есть READONLY TRANSACTIONS, которые стартуют на любой SELECT. А еще есть savepoint, если произойдет ошибка, то транзакция откатится только до savepoint.

>>2182935
>Но я был уверен, что при препейред стейтмент на уровне джавы выполняется и подставляет там значения с проверкой. А базе отдает уже готовые строчки запросов.
Зависит от драйвера и СУБД, но обычно в современных СУБД он отдает выражение с подстановочными параметрами и сами параметры отдельно. Это нужно для улучшения перформанса.
Аноним 14/10/21 Чтв 18:36:04 #615 №2183633 
Создал обычный проект на Java в IDEA, в качестве сборщика проекта выбрал Maven. Решил добавить стороннюю библиотеку в проект. Создал файл pom.xml в корне проекта, нашёл на сайте mvnrepository.com библиотеку, скопировал и вставил в pom.xml какую то фигню. Но библиотека по прежнему не доступна, она не импортируется. Что делать?
Аноним 14/10/21 Чтв 18:51:32 #616 №2183656 
Простейший ХеллоВорлд Тест, не запускается. Что он хочет?

java.lang.NullPointerException: Cannot invoke "org.springframework.test.web.servlet.MockMvc.perform(org.springframework.test.web.servlet.RequestBuilder)" because "this.mockMvc" is null

Само тело теста, что в нем не правильно?

this.mockMvc.perform(post("/page/add")
.content(objectMapper.writeValueAsString(category))
.contentType(MediaType.APPLICATION_JSON))
.andDo(print())
.andExpect(status().isOk())
.andReturn();
Аноним 14/10/21 Чтв 18:53:39 #617 №2183660 
>>2183633
рефреш мавена, там круглешок выскакивает справа вверху
Аноним 14/10/21 Чтв 18:55:04 #618 №2183664 
>>2183633
Или правой кнопкой Run Maven -> Reimport
Аноним 14/10/21 Чтв 18:59:15 #619 №2183670 
>>2183660
>>2183664
Не помогает. У меня во вкладке файла pom.xml написано, что он Unknown, может быть в этом проблема?
Аноним 14/10/21 Чтв 19:18:43 #620 №2183706 
>>2183633
попробуй создать maven проект
sageАноним 14/10/21 Чтв 19:20:03 #621 №2183707 
>>2183656
Тебе надо mockMvc собрать.
@AutoconfigureMockMvc либо MockMvcBuilders
Аноним 14/10/21 Чтв 19:21:39 #622 №2183710 
>>2183706
Не помогло
Аноним 14/10/21 Чтв 19:40:35 #623 №2183734 
>>2183707
Вроде есть я наследуюсь от абстрактного класса вот с такими аннотациями.

@SpringBootTest(
webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT,
classes = ProjectApplication.class)
@ExtendWith(SpringExtension.class)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@AutoConfigureTestEntityManager
@AutoConfigureMockMvc
@DBRider
@DBUnit(caseSensitiveTableNames = true, allowEmptyFields = true, schema = "test_base")

Плюс в своем Автоварю MockMvc
sageАноним 14/10/21 Чтв 21:01:26 #624 №2183860 
>>2183734
Ну вроде как должно работать. Может быть DEFINED_PORT не работает с автоконфигурацией мок мвс. Попробуй ручками собрать
Аноним 15/10/21 Птн 00:40:29 #625 №2184018 
>>2183633
Проблема, кажется, решена. В поиске по Maven-репозиториям в окне Project Structure->Project Settings->Libraries можно добавлять в проект библиотеки из этих репозиториев. Моя проблема была в том, что там не высвечивались новые версии библиотек. Но я решил её так: File->Settings->Build, Execution, Deployment->Compiler->Java Compiler->Per-module bytecode version сменить на последний (у меня вообще стоял 1.5, и я этого не замечал)
Аноним 15/10/21 Птн 17:53:38 #626 №2184584 
>>2178006
Бля нахуй ты сочиняешь эти пол года по 8 часов, это не нормально и так никто не учится. Да и главным все равно будет качество а не кол-во.
Аноним 15/10/21 Птн 21:16:49 #627 №2184800 
image.png
image.png
Помогите пожалуйста , 2й день бьюсь не могу заставить thymeleaf подружить с css файлом. Приложуха на spring mvc , репозиторий для вьющек настроил брать из web-inf, все отображается. Но стилей нет.
Аноним 15/10/21 Птн 21:27:41 #628 №2184808 
>>2184800
Похоже что стили он ищет в /views/styles. Попробуй поменять путь на ../styles/style.css
Аноним 15/10/21 Птн 21:41:07 #629 №2184818 
>>2184808
Пустая страница выдается , просто белый фон.
Аноним 15/10/21 Птн 22:06:16 #630 №2184833 
>>2184818
у тебя тут на первом скрине есть окошко с браузерами что бы открыть вью, по ней тоже белое открывается? попробуй полный путь прописать.
Аноним 15/10/21 Птн 22:10:58 #631 №2184834 
>>2184818
<link rel="stylesheet" type="text/css" th:href="@{/css/main.css}"/>
так делал?
Аноним 15/10/21 Птн 22:11:05 #632 №2184835 
image.png
>>2184833
Тоже , уже наверное все попробовал. Пытаюсь этот метод переопределить , но тоже бестолку. Не понимаю относительно чего этот метод определяет директорию ресурсов. Кто то пишет что все должно лежать в папке resources , кто пишет что эта папка должна быть в webapp.
Аноним 15/10/21 Птн 22:12:41 #633 №2184836 
>>2184835
когда я делал без бута, все лежало в вебапп и через мавен можно было дерикторию менять, если не выбирать web при иницилизации проекта. а буте все лежит в ресурсах да.
Аноним 15/10/21 Птн 22:26:28 #634 №2184842 
>>2184836
дак я не юзаю бут. Но при инициализации веб выбрал , при том что thymleafe все формы сука обрабатывает , а конкретно стили не хочет подтягивать.
Аноним 15/10/21 Птн 23:10:12 #635 №2184864 
image.png
image.png
Кароче , спустя 5 часов гугла я залез в документацию для пятого спринга и нашел это решениехз почему я этого не сделал ранее. Оно правда не использует thymeleaf. Если кто знает как через него это реализовать просьба все же подсказать. Решение было просто перенести папку ресурсов в webapp с таким конфигом.
Аноним 15/10/21 Птн 23:29:02 #636 №2184875 
>>2184864
>Оно правда не использует thymeleaf
Только не говори, что тебе кажется, будто thymeleaf отвечает за применение стилей к странице
Аноним 16/10/21 Суб 02:21:29 #637 №2185030 
Объясните, нахуя каждая вторая контора требует знание докера и умение деплоя в нем? Я, блять, сколько книжек по жаве не читал, все в один голос говорят что это такое неебаться преимущество что написано один раз - запускается везде, просто блять божья роса эта жава машина. Какой нахуй от нее смысл, если деплоят также в докере, как и на других языках? Сука, этот вопрос не дает мне покоя уже месяца полтора.
Аноним 16/10/21 Суб 02:31:46 #638 №2185035 
>>2185030
У нас базы на докере
Аноним 16/10/21 Суб 12:40:23 #639 №2185182 
>>2185030
>написано один раз - запускается везде, просто блять божья роса эта жава машина
Пиздежь. Вот докер это точно обеспечивает.
sageАноним 16/10/21 Суб 12:45:59 #640 №2185187 
>>2185030
В конце 20го века докеров не было + маркетинговый ход: наша жава везде крутится, в отличие от вашего ЯЗЫК_НЕЙМ.
А докер - вещь хорошая. Тебе даже не надо жвм ставить. Собрал контейнер, и все работает
Аноним 16/10/21 Суб 13:25:37 #641 №2185206 
>>2185030
>>что написано один раз - запускается везде
Там имеют ввиду, что код на джаве в принципе можно и на винде и на маке запустить, в отличие от плюсов. Это не значит, что в процессе не придется ебаться с установкой жвм, мавена, БД.
Аноним 16/10/21 Суб 14:15:37 #642 №2185236 
>>2185030
JVM и Docker решают разные проблемы.

JVM решает проблему переносимости кода между разными ОС и процессорами. Ты можешь разрабатывать приложение на MacOS ARM, а запускать на Linux x64.

Docker решает проблему единого окружения для запуска приложения. И плюс виртуализация.
Аноним 16/10/21 Суб 15:16:11 #643 №2185260 
Сап гайс. Есть кто нормально волокущий в JDBC?
Вопрос такой: можно ли ResultSet, как-то разобрать на массивы сразу поатрибутно, а не дрочиться с пойнтером? Например, мне приходит набор из десяти записей, у каждой из которых пусть три атрибута. Я вызываю что-то вроде getIntAttrArray(1) и получаю сразу готовый массив int[], в котором 10 элементов. А еще лучше массив массивов сразу со всеми ячейками.
Впрочем, можете нахуй послать, потому что написать такое самому раз плюнуть, но может есть че готовое.
Аноним 16/10/21 Суб 16:00:04 #644 №2185285 
>>2185260
JdbcUtils
Аноним 16/10/21 Суб 16:18:14 #645 №2185294 
>>2177178
Потому что ты ебонавт.
Ему дали дебаггер, но нет, он лучше будет жрать говно на двачах
Твое условие никогда не станет false, ты забываешь обновлять inputNumber и оно у тебя всегда заходит в проверку одинаковым.
Аноним 16/10/21 Суб 17:12:57 #646 №2185324 
Энтерпрайз-гении, подскажите какие-нибудь логгеры которые используются в серьезных проектах? Не писать же в файл ручками все
Аноним 16/10/21 Суб 17:17:28 #647 №2185327 
>>2185324
slf4j
Аноним 16/10/21 Суб 17:24:30 #648 №2185331 
>>2185324
logback, все остальное залупа
sageАноним 16/10/21 Суб 17:35:33 #649 №2185339 
>>2185331
Двачую
Аноним 16/10/21 Суб 18:48:41 #650 №2185382 
>>2184875
мне так не кажется, но в примерах откуда я инфу смотрел работало с ним. У меня ток без него, не выкупаю почему
Аноним 16/10/21 Суб 20:04:03 #651 №2185423 
У меня есть контроллер. Есть метод delete, который по айди из сервиса тянет юзера. Если юзер null то ResponseEntity.notfound().build(); потом без условия его удаляю и return ResponseEntity.noContent().build(). Всё работает, всё ок. Теперь я хочу протестировать эту хуйню. this.mockMvc.perform(delete("delete?id="+id)).and(print).andExpect(status().isNoContent()); или .isNotFound(); Но прилетает 405 и хуй пойми что с стектрейсе. Может я не правильно понимаю смысл тестирования? Контроллер должен отдать noContent, ведь юзер удаляется, значит и ретурн контроллрр делает.
Аноним 16/10/21 Суб 20:06:42 #652 №2185426 
>>2185331
а у него только хмл-конфиг бывает?
Аноним 16/10/21 Суб 20:07:43 #653 №2185428 
>>2185423
Я просто сижу гадаю, чё там должно прилететь. И подставляю всё подряд что есть в этом перформе - isForbidden, isBadGateway, isBadRequest... Это и есть тестирование? Я должен угадать?
sageАноним 16/10/21 Суб 20:21:06 #654 №2185438 
>>2185423
Не пиши параметры в урле.
.delete("delete").param("id", id)

И эндпоинт кривой какой-то. Лучше будет DELETE /users/{id}
Аноним 16/10/21 Суб 20:47:58 #655 №2185452 
>>2185426
Еще груви конфиг есть.
Аноним 16/10/21 Суб 20:52:14 #656 №2185455 
>>2185438
>.delete("delete").param("id", id)
Это, что-то неправильное. Можешь полностью написать?
Аноним 16/10/21 Суб 20:57:29 #657 №2185457 
>>2185438
>>2185438
Хотя вот такая штука this mockMvc.perform(get("/get_one?id=" + user.getId())) работает как надо, не в этом дело кмк.
sageАноним 16/10/21 Суб 22:55:39 #658 №2185520 
>>2185457
Потому что при get параметры запроса в урле, с делит так не работает
>>2185455
https://stackoverflow.com/questions/17972428/mock-mvc-add-request-parameter-to-test
Аноним 16/10/21 Суб 22:58:39 #659 №2185524 
Сука, блядский грейдл, локально все компилится, на гитхабе мразь не находит дефолтный метод у интерфейса, хотя версия jdk правильная. Как же заебало.
Аноним 16/10/21 Суб 23:07:05 #660 №2185536 
>>2185452
ну хмл, так хмл
Аноним 17/10/21 Вск 00:38:00 #661 №2185635 
>>2185520
А что такое sessionAttr? И где брать userClientObject? Я ничего подобного в контроллере не использую. У меня return ResponseEntity.ok().build(). А без этого не работает, всё подчеркнуто красным.
Аноним 17/10/21 Вск 00:50:08 #662 №2185642 
>>2185520
post метод тоже работает.
this.mockMvc.perform(post("/add_user")).
sageАноним 17/10/21 Вск 00:57:48 #663 №2185651 
>>2185635
>>2185642
Погугли/почитай доки
Аноним 17/10/21 Вск 10:06:43 #664 №2185751 
>>2159705 (OP)
Посоны, такой вопрос. Есть жабовый бэк (аутентификация, роле бэйсед доступ, логирование, вся хуйня). Хочу прикрутить к нему фронтецкий.

Что взять? Я не хочу изучать ни JS дрысню, ни ios/android. Помимо vaadin есть что годное?
Аноним 17/10/21 Вск 11:35:45 #665 №2185774 
>>2185751
Переписывай на .net + blazor (cutting edge стек бтв)
Аноним 17/10/21 Вск 12:19:56 #666 №2185794 
>>2185751
Swing/AWT
Аноним 17/10/21 Вск 17:13:12 #667 №2185970 
Почему не стоит читать bullschildt?
Аноним 17/10/21 Вск 17:39:03 #668 №2185991 
>>2185970
Потому что читать надо мурзилки.
Аноним 17/10/21 Вск 19:13:19 #669 №2186055 
>>2185991
После мурзилок ощущение что знаю только малую толику инструмента и шаг вправо-влево можно наткнуться не просто на новые классы и методы, а на какие-то новые концепции, о которых после мурзилки не подозревал.
Аноним 17/10/21 Вск 19:33:19 #670 №2186073 
>>2185751
Если фронта мало - тимлиф, если много - учи жс.
Аноним 17/10/21 Вск 19:54:48 #671 №2186116 
>>2185794
Насколько сложно будет замутить рестуху на свинге?
Аноним 17/10/21 Вск 19:55:48 #672 №2186118 
>>2185970
кто тебе такое сказал? шилдт прекрасен
Аноним 17/10/21 Вск 20:43:34 #673 №2186214 
>>2175336
>>2175341

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

Нужно заходить на сайты энтерпрайзных контор (сбер, телекомы, всякие галеры вроде нетсракера, ебама, ланита, крока, и прочей параши) отправлять им резюме и ждать результата. Хедхантер уже морально устарел. Спецы с минимальным опытом на линкедине находятся, джунам нужно искать вакансии вручную.
Аноним 17/10/21 Вск 20:46:46 #674 №2186220 
И да, вкатиться в джаву, как показала практика, довольно просто, особенно если ты студент вуза на старших курсах или только что выпустился. Остальным посложнее, но в целом не сильно сложно.
В сбер часто берут любых дегенератов, чем вам не айти? Правда потом тяжело будет на другую работу перекатиться.
Аноним 17/10/21 Вск 20:50:59 #675 №2186228 
>>2185751
>Что взять?
HTML + tymeleaf + CSS (опционально).
Но JS так или иначе на минимальном уровне придется выучить для фронта рано или поздно.
Аноним 17/10/21 Вск 22:08:09 #676 №2186293 
>>2186228
Двачую.
Лично я полгода назад задавался тем же вопросом.
Неделю сидел над таймоифом, потом еще дня три над фримаркером, что-то не пошло. Потом решился и чуть больше чем за месяц прошел основную часть жс (сам жс, дом, работа с аджаксом) и даже кое-что лишнее. Без лишнего за 2 недели часов по 15 в неделю реально весь нужный жс пройти.
Аноним 18/10/21 Пнд 00:34:17 #677 №2186393 
>>2186118
Пацаны говорят, что он просто копипастит официальное руководство разбавляя его графоманией и говнокодом.
Аноним 18/10/21 Пнд 00:37:10 #678 №2186397 
>>2186393
А про Хорстмана че пацаныс раена говорят?
Аноним 18/10/21 Пнд 00:38:32 #679 №2186399 
>>2185991
Что такое мурзилки?
Аноним 18/10/21 Пнд 00:44:40 #680 №2186404 
>>2186397
Говорял, что Хорстман чоткий пацан. Нечётким пацанам "Чемпиона по Java" не дают.
Аноним 18/10/21 Пнд 00:48:33 #681 №2186405 
>>2186404
он типа отпиздил предыдущего чемпиона?
Аноним 18/10/21 Пнд 00:53:59 #682 №2186412 
priklucheniyamurzilki199002[1].jpg
>>2186399
Аноним 18/10/21 Пнд 00:56:18 #683 №2186413 
изображение.png
>>2186405
Да.
Аноним 18/10/21 Пнд 01:03:08 #684 №2186417 
>>2186404
https://blogs.oracle.com/java/post/new-java-champions-holly-cummins-aleksey-shipilev-and-david-heffelfinger
>Java Champions: Holly Cummins, Aleksey Shipilev, and David Heffelfinger
Типа сан-оракл дают медальки за заслуги известным членам сообщества?
Аноним 18/10/21 Пнд 02:17:37 #685 №2186442 
Вопрос по Spring JDBC:
Чтобы у меня получилось корректная thread-safe конфигурация, я должен шарить один экземпляр DataSource между всеми темплейтами? Или лучше сделать его статическим бином?
Аноним 18/10/21 Пнд 08:59:46 #686 №2186497 
Я что-то не понял? В хибере можно удалить сущность по ид только через hql? Но тогда это удаление проебывается в кеше. А если удалять, как пишут везде нужно сперва лишний селект делать.
Зачем так сделано?
Аноним 18/10/21 Пнд 09:02:14 #687 №2186499 
>>2186214
А на галеру без вышки берут?
Аноним 18/10/21 Пнд 11:18:31 #688 №2186540 
>>2186497
>Но тогда это удаление проебывается в кеше
Ты про кэш сессии? Если в нем что-то проебывается, значит, сущность в нем уже есть, значит, можно ее удалять, не опасаясь лишнего селекта.
Аноним 18/10/21 Пнд 11:54:58 #689 №2186565 
>>2186540
Про кеш фабрики сессий, т.е. второго уровня. Или он по другому взаимодействует с hql ?
Ну и вообще почему нет метода у сессии с удалением по ид? Там какой то сакральный смысл?
Аноним 18/10/21 Пнд 12:43:00 #690 №2186609 
>>2186565
>второго уровня
Ничего в нем не проебывается при удалениях/апдейтах через hql

>почему нет метода у сессии с удалением по ид
Вот такой дизайн. Если хочешь кидать как бы запросы напрямую в бд, подобно голому sql, пишешь запросы. Не хочешь - работаешь с сущностями, где применяется все это отслеживание состояний, кэш сессии и прочее. Удаление по id не является каким-то особым важным случаем, чтобы для него делать исключение.
Аноним 18/10/21 Пнд 13:10:51 #691 №2186637 
>>2186497
>В хибере можно удалить сущность по ид только через hql?
> void delete(Object object) throws HibernateException
> Remove a persistent instance from the datastore. The argument may be an instance associated with the receiving Session or a transient instance with an identifier associated with existing persistent state.
Создаешь пустой энтити, сетишь айди и удаляешь.
Аноним 18/10/21 Пнд 14:14:29 #692 №2186713 
Сколько примерно займет времени вкатиться в java spring backend не с нуля? До этого изучил фронтенд на неплохом уровне
Аноним 18/10/21 Пнд 14:42:19 #693 №2186728 
Есть абстрактный класс Person,в нем два поля,его наследуют два класса. При переопределении хэш кода должен ли я плюсовать туда хэш родительских полей или нет? Я думаю в абстрактном классе переопределить хэш,потом переопределить по полям в ребенке и тупо приплюсовать + туда хэш код родителя. Это будет правильно?
Аноним 18/10/21 Пнд 15:04:46 #694 №2186738 
>>2186713
>>времени вкатиться
Тебе в МВП тред, все эксперты там.
sageАноним 18/10/21 Пнд 15:11:07 #695 №2186743 
image.png
image.png
Это можно как-то адекватно реализовать?
Кроме изменения сигнатуры на doSmth(A a) + апкаста внутри метода
Аноним 18/10/21 Пнд 18:55:01 #696 №2186939 
>>2186743
>Это можно как-то адекватно реализовать?
Нет, потому что ты пытаешься сделать нелегальную операцию. Вот пример, ты в B2 пытаешься передать не A2 который он поддерживает, а A1.
https://pastebin.com/srQ1wVJW

Более того, если у тебя есть метод с параметром <T> и в объявлении T указан как <? extends ...> то ты такой метод вообще ни с каким аргументов вызвать не сможешь.
sageАноним 18/10/21 Пнд 19:02:45 #697 №2186944 
>>2186939
Да, я это прекрасно понимаю. Вопрос был в том, чтобы сделать это красиво. Сейчас я проверяю класс и кащу до нужного. Появляется простыня из ифок/свитч. Хотелось бы автовайрить List<? extends B>, и строить мапу: класс А - объект B, но так не работает из-за того, что у меня "? extends"
Аноним 18/10/21 Пнд 19:17:19 #698 №2186953 
image
Читаю про Safe publication в Java concurrency in practice 16.2.4.
Про пикрил Брайан Гоец пишет, что это антипаттерн, потому что "possible for a thread to see a partially constructed Resource".
Как получить этот partially constructed Resource? Как я ни ебался, так у меня ничего и не вышло. new Resource() блокирует, пока объект не будет до конца создан.
К тому же Гоец сам потом добавляет, что если добавить volatile к resource, то всё становится ок. Каким образом изменение переменной на волатильную предотвратило бы partially constructed Resource?
Шипилёв тоже пишет, что с DCL всё в порядке, если переменная volatile (https://shipilev.net/blog/2014/safe-public-construction/).
Так как же получить не до конца построенный объект, которым пугает Гоец?
Аноним 18/10/21 Пнд 19:36:11 #699 №2186970 
deleteByIdJpaRepository.PNG
>>2186609
>Удаление по id не является каким-то особым важным случаем
удаление по ид достаточно частый случай, как мне кажется. Или чаще с фронта приходит сущность с одним айдишником?
>>2186637
жесткое костыление. В реализации spring crudRepository делают таки через селект + делит. Им не жалко селекта.
Аноним 18/10/21 Пнд 19:45:59 #700 №2186974 
>>2186944
>Появляется простыня из ифок/свитч. Хотелось бы автовайрить List<? extends B>, и строить мапу: класс А - объект B, но так не работает из-за того, что у меня "? extends"
Засунь это все внутрь базового класса. https://pastebin.com/1uHyY3gq
sageАноним 18/10/21 Пнд 19:52:54 #701 №2186979 
>>2186974
Да, все замечательно. Странно, что не смог до этого додуматься. Спасибо :3
Аноним 18/10/21 Пнд 19:56:37 #702 №2186985 
>>2186970
>удаление по ид достаточно частый случай, как мне кажется
Такое, чтобы откуда-то извне прилетел id, и ты, не глядя, кидаешь в бд для него delete, это только в простом случае прокатит. А довольно часто, действительно сначала нужно посмотреть на запись, которую удаляешь. Например, чтобы проверить, имеет ли право юзер удалять именно вот эту вещь. Или чтобы записать в лог/аудит, что удаляем вот такую херню, у которой были вот такие параметры. И тогда получается, что нет смысла плакать о "лишнем" селекте.
А если все же нужен именно строго один delete, не такая большая проблема написать пару строк с hql.
Аноним 18/10/21 Пнд 19:58:18 #703 №2186989 
>>2186970
>Им не жалко селекта.
Им надо ошибку выбросить.
Аноним 18/10/21 Пнд 23:53:11 #704 №2187228 
Пацаны,как из коллекции сделать стрим и засунуть в новуюмтолько тех,у кого зарплата выше среднего значения?
sageАноним 18/10/21 Пнд 23:55:02 #705 №2187229 
>>2187228
За 2 прохода устроит?
Аноним 18/10/21 Пнд 23:59:14 #706 №2187239 
>>2187228
А нахуя тебе стрим делать?
Аноним 19/10/21 Втр 00:05:30 #707 №2187246 
>>2187239
Задание такое.
Я сделал просто вывод среднего. list.stream
.mapToDouble(emp–> emp.getSalary())
А как это в сравнение засунуть я хз
Аноним 19/10/21 Втр 00:05:52 #708 №2187248 
>>2187229
Мне бы хоть как сделать
Аноним 19/10/21 Втр 00:09:40 #709 №2187252 
>>2187246
Ну вообще тот анон прав, в два прохода только можно.
sageАноним 19/10/21 Втр 00:12:43 #710 №2187255 
>>2187248
var averageSalary = people.stream().mapToDouble(Person::getSalary).average().orElseThrow();
var middleClass = people.stream().filter(person -> person.getSalary() > averageSalary).collect(toList());
Аноним 19/10/21 Втр 00:15:52 #711 №2187260 
>>2187255
Спасибо,тоже так хотел,но подумал,что в один получится
Аноним 19/10/21 Втр 00:23:37 #712 №2187266 
>>2187260
В один тоже можно, через NavigableMap. Но не нужно.
Аноним 19/10/21 Втр 03:21:34 #713 №2187300 
Хочу хоть немного подтянуть английский на слух.
Можете посоветовать видосы по spring/hibernate с условиями:
1. Хорошее произношение. Индусы не подойдут.
2. Компетентные. Не инфоцигане.
3. Свежие видосы по свежим версиям технологий.
Опционально, но желательны неавтогенерируемые субтитры на английском.
Пока вроде одного нашел, подходящего по 1 и 3 пунктам.
https://www.youtube.com/watch?v=8SGI_XS5OPw
Но насчет компетентности не уверен пока. Он норм?
Аноним 19/10/21 Втр 11:25:10 #714 №2187412 
>>2187266
>В один тоже можно, через NavigableMap.
Там сложность O(n*log(n)) + память O(n), уж лучше 2 прохода.
sageАноним 19/10/21 Втр 12:07:35 #715 №2187437 
>>2187266
Так это же мы возьмем всех, кто выше медианной, а не средней. Или я неправильно понял, что ты хочешь сделать?
Аноним 19/10/21 Втр 12:16:29 #716 №2187440 
>>2187437
За один проход считаем среднее и складываем в мапу. А затем берем из мапы все, что выше среднего.
sageАноним 19/10/21 Втр 12:57:50 #717 №2187465 
>>2187440
Можешь написать код?
Аноним 19/10/21 Втр 13:03:10 #718 №2187470 
>>2187465
Могу, а можешь заплатить?
sageАноним 19/10/21 Втр 13:58:31 #719 №2187503 
1634641109821.png
>>2187470
Авансом
Аноним 19/10/21 Втр 15:47:37 #720 №2187582 
>>2187503
https://ideone.com/PHvRfF
sageАноним 19/10/21 Втр 16:06:00 #721 №2187587 
>>2187582
Так тут тоже 2 прохода. Отдавай фантик
Аноним 19/10/21 Втр 16:14:30 #722 №2187593 
>>2187587
Где ты там два прохода увидел, показывай.
sageАноним 19/10/21 Втр 16:24:15 #723 №2187600 
>>2187593
for + tailMap
Аноним 19/10/21 Втр 16:27:20 #724 №2187604 
>>2187440
>За один проход считаем среднее и складываем в мапу.
>один проход
>складываем в мапу
>в мапу
Проиграл с этого computer scientist-а.
У тебя поди и поиск медианы через Arrays.sort() + array[mid] будет константной.
Аноним 19/10/21 Втр 16:29:23 #725 №2187605 
>>2187600
>tailMap
Где там второй проход, показывай.
Аноним 19/10/21 Втр 16:30:54 #726 №2187606 
>>2187604
>пук
Аноним 19/10/21 Втр 16:38:58 #727 №2187614 
>>2187605
>>2187606
Кретин, ты даже не понимаешь как под капотом работает TreeMap.

Хватит позориться, иди лучше почитай про красно-черные деревья и поиск в сбалансированном дереве.
sageАноним 19/10/21 Втр 16:39:45 #728 №2187616 
>>2187605
Ты берешь values() и складываешь в лист
Аноним 19/10/21 Втр 18:13:31 #729 №2187757 
>>2187300
>>Он норм?
Разве можети нигга мусульманин научить плохому?

2 и 3
Индус с хорошим звуком и почти нормальным произношением (единственный на весь ютюб) https://www.youtube.com/watch?v=I0poT4UxFxE

1 и 3
Инфоцыган с юдеми, но объясняет просто и понятно, с картинками. На торрентах его очень много.
https://www.youtube.com/watch?v=pTFZFxd4hOI

Ну а вообще смотри в сторону юдеми - там полно курсов хорошего качества на английском. Лучшие выложены на торрентах. Сабы там тоже у многих есть.
Аноним 19/10/21 Втр 20:07:06 #730 №2187939 
.png
Привет, джавач! Время для очередного графика в экселе по постам в день за последние 5 (пять) тредов.
sageАноним 19/10/21 Втр 20:16:16 #731 №2187953 
>>2187939
inb4: жава мертва
Аноним 19/10/21 Втр 20:30:10 #732 №2187965 
.png
>>2187953
Ок. Выводы делайте сами, моё дело построить.
sageАноним 19/10/21 Втр 20:39:42 #733 №2187981 
>>2187965
У тебя по всем языкам есть стата?
Аноним 19/10/21 Втр 20:47:20 #734 №2187991 
image.png
>>2187965
мертвый язык
Аноним 19/10/21 Втр 21:07:40 #735 №2188022 
>>2187981
Нет, но я могу за несколько минут её выгрузить, прогнать через скрипт и загрузить в эксель.
Аноним 19/10/21 Втр 21:28:07 #736 №2188056 
Аноны, приветствую! Надеюсь сюда по теме пишу.
В общем, имеется сайт с паролем, для чека пароля используется проверка в виде правила регулярного выражения :

/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{1,5}|[0-9]{1,3})(\]?)$/

Можно ли исходя из этого выражения самостоятельно генерировать пароли ? Если да, то как ? Спасибо заранее за ответ!
Аноним 19/10/21 Втр 21:31:53 #737 №2188059 
>>2188056
>/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{1,5}|[0-9]{1,3})(\]?)$/
Жесть, почему вместо явных диапазонов не стоят буквы, типа \d для цифр?
И что значит >для чека пароля ?
Аноним 19/10/21 Втр 22:22:10 #738 №2188106 
>>2187614
Ну и как же он работает? Вот залезь в исходники и покажи мне второй проход там внутри.
Аноним 20/10/21 Срд 00:30:23 #739 №2188206 
Почему одна таска грейдла использует неправильную версию ждк?
Аноним 20/10/21 Срд 02:14:56 #740 №2188261 
>>2187991
>visual basic +1.27%
>classic visual basic +1.06%
>go +0.13%
Да и почему питухон в топе, а жса/пхп втрое меньше чем плюсов?
Аноним 20/10/21 Срд 12:49:08 #741 №2188449 
>>2188106
>Ну и как же он работает?
>Inserting a value in Red Black tree takes O(log N) time complexity and O(N) space complexity.
> https://iq.opengenus.org/red-black-tree-insertion/
А поскольку вставок N, то будет O(N log N).

Ты дурачок думаешь, что если ты сам проитерировался один раз, то у тебя однопроходный алгоритм. И не понимаешь, что под капотом дерево дает тебе большую сложность, чем 2 раза пройтись по массиву.
Аноним 20/10/21 Срд 13:23:15 #742 №2188480 
>>2188449
Внутри tailMap дополнительных проходов нет, твердо и четко.
Аноним 20/10/21 Срд 15:37:09 #743 №2188584 
Что аноны скажут за книгу "Core Java" Сау S. Horstmann("Java Библиотека профессионала" Кей Хорстманн).
Аноним 20/10/21 Срд 16:26:25 #744 №2188655 
>>2188480
>Внутри tailMap дополнительных проходов нет, твердо и четко.
В глаза порешься?
>>2188449
>>Inserting a value in Red Black tree takes O(log N) time complexity and O(N) space complexity.
>А поскольку вставок N, то будет O(N log N).
Где тут про tailMap? Тут про map.compute() в цикле.

Да и tailMap имеет сложность совсем не константную, но на фону map.compute() это уже мелочи.
Аноним 20/10/21 Срд 16:33:43 #745 №2188673 
>>2188261
Питухон сейчас на первом месте по запросам. Студенты, школьники,
хайп датасайнса и етц делают своё дело. Бейсик - мб ретро вейв(соскучились люди по говну).
Аноним 20/10/21 Срд 17:01:39 #746 №2188697 
Я новичок в джава, может кто поможет... Если я могу найти какие-то сторонние либы, которые нужны моему проекту, только в виде ссылок на мавен репозиторий, то как мне их получить себе в проект в идее? У меня нет никакой специально подключенной системы сборки, все собирается средствами самой Intellij Idea. Как-то можно не подключая мавен скачать все что нужно и чтобы идея добавила это в classpath проекта?
Аноним 20/10/21 Срд 17:07:54 #747 №2188708 
>>2188655
>>2187600
Вот тут про tailMap.
Аноним 20/10/21 Срд 17:46:43 #748 №2188758 
image.png
>>2188708
Я не писал про tailMap(), я тебе про заполнения мапы пишу.
sageАноним 20/10/21 Срд 18:14:22 #749 №2188803 
>>2188697
Да. Нужно скачивать жарку с либой и подключать ее ручками. но проще притянуть мавен/градл
Аноним 20/10/21 Срд 18:23:15 #750 №2188823 
>>2188758
Похуй, все равно никто такой хуйней заниматься не будет.
Аноним 20/10/21 Срд 18:30:25 #751 №2188840 
>>2188584
классика
Аноним 20/10/21 Срд 18:31:30 #752 №2188842 
>>2188697
почитай про мавен, возьми шаблонный пустой мавен проект. В идее есть интеграция с мавеном, оно будет подтягивать все либы
Аноним 20/10/21 Срд 18:45:03 #753 №2188855 
>>2188803
>Нужно скачивать жарку с либой и подключать руками
Но я не знаю где взять ее просто в виде жарки. Есть только ссылка мавен.
>В идее есть интеграция с мавеном, оно будет подтягивать все либы
Конечно будет, только у меня сугубо плохой опыт пытаться навернуть мавен на уже готовый большой рабочий проект. Из-за моей рукожопости и слабого знания темы, конечно, а не из-за самого мавена. Но все же рисковать не хочу.
Аноним 20/10/21 Срд 18:46:15 #754 №2188857 
>>2188842
Возможно, ты имел ввиду создать пустой проект, выкачать туда нужные либы, и потом найти их физически на диске и спереть в целевой проект. Если так, то звучит довольно реализуемо, спасибо.
sageАноним 20/10/21 Срд 18:56:00 #755 №2188867 
1634745357776.jpg
>>2188855
На mvnrepository можно скачать жарку
Аноним 20/10/21 Срд 19:03:19 #756 №2188883 
Всем привет!
У меня проблема, есть строка, типа:
"""00000000: 1d c4 15 25 91 e6 09 59 04 99 15 29 0a 45 21 29 ...%...Y...).E!)
00000010: 26 8e 74 a0 1a be 75 68 06 dd 70 33 a4 77 7a 5d &.t...uh..p3.wz]
00000020: b1 ba 22 a7 cf cc f7 ef b1 e3 13 ed f1 89 ad ad .."............."""
И нужно перевести двузначные шестнадцатеричные числа в byte[]. Я составил регулярку, которой соответствует каждое число: " ([0-9a-f]{2})" Есть ли такой метод в классе String или Matсher, чтобы в него передать такую регулярку, и она выдаст {"1d", "c4", "15", ..., "89", "ad", "ad"}? Типа, найти первую пос-ть символов, соответствующую регулярке: " 1d". Сохранить группу: "1d". И так далее.
Аноним 20/10/21 Срд 19:18:24 #757 №2188902 
>>2188883
В Котлине - есть, а в Яве ебись с while(matcher.find())

И в регулярке замени пробел на \b
Аноним 20/10/21 Срд 19:19:33 #758 №2188904 
>>2188883
Может я конечно дебил, но почему просто не сплитануть это все с использованием пробела, и не отсеять мусор по принципу if(arr.length != 2){мусор}?
Аноним 20/10/21 Срд 19:32:30 #759 №2188924 
>>2188904
Отличная идея, спасиба! ^-^
Вот не зря же говорят, что одна голова хорошо, а две лучше)))
Всё же свежий взгляд на проблему важен :D
Аноним 20/10/21 Срд 19:37:45 #760 №2188926 
>>2188883
А ты уверен, что тебе на вход должна приходить строка?
Аноним 20/10/21 Срд 19:40:33 #761 №2188927 
>>2188926
Уверен, там строка, в которой много строк. Многострочная строка
Аноним 20/10/21 Срд 19:42:07 #762 №2188932 
>>2188927
А вот я уверен, что это вывод рандомного hex-редактора и можно скармливать проге на джава не вывод, а ввод этого редактора.
Аноним 20/10/21 Срд 19:46:15 #763 №2188935 
>>2188932
Это задачка из codewars, там нужно реализовать две функции: массив байтов -> такой текст и наоборот.
Аноним 20/10/21 Срд 19:48:19 #764 №2188938 
>>2188935
Ясно, хуйней страдают.
Аноним 20/10/21 Срд 19:50:37 #765 №2188940 
>>2188857
нет. Пустой проект, где в корне есть pom.xml файл. Открываешь проект в идее, открываешь вкладку с интеграцией с мавеном, нажимаешь кнопку "обновить", и оно выкачивает все либы автоматически
Аноним 20/10/21 Срд 19:50:48 #766 №2188942 
>>2188938
Зато со стримами сочно поебался
Аноним 20/10/21 Срд 19:58:27 #767 №2188949 
>>2188584
Единственный минус это не очень нужный свинг(гл.11 т.1), но без понимания свинга будет сложно с примерами кода из других тем, например из многопоточки(гл.12 т.1), потому что там код с участием свинга.
Если совсем зеленый, как был я, когда начинал читать, то смело пропускай:
- жаба fx(гл.13 т.1)
- модули(гл.9 т.2)
- и еще свинг(гл. 13 т. 2)
Это это не нужно почти всем.
Опционально:
- знакомство со свингом(гл.11 т.1)
- работа с хмл из голой жабы(гл.3 т.2)
- интернационализация(гл.7 т.2)
- безопасность(гл.8 т.2)
- платформенно-ориентированные методы(гл.12 т.2).
Остальное мастхев, хотя в некоторых главах тоже не особо нужные подпункты.
Аноним 20/10/21 Срд 20:33:27 #768 №2188975 
>>2188949
>Не очень нужный свинг
Я тоже так думал...
Аноним 21/10/21 Чтв 00:00:02 #769 №2189118 
>>2188975
А что нужен оказался? Ну можно попасть в те пару процентов мест, где он нужен. Тогда и доучить можно. Там вроде ничего сложного, просто объемно достаточно для необязательной темы и муторно.
Аноним 21/10/21 Чтв 01:53:32 #770 №2189159 
>>2188949
>Если совсем зеленый
Я после долгого переыва решил вернуться к своему проекту, который на самом деле как лоскутное одеяло состоит из спижженых кусков кода с разных сайтов. Как итог костыль на костыле и жором ОЗУ и ресурсов ЦП. Удивительно что вообще работает. Сейчас хочется системное понимание этой вашей жабы получить, чтобы переписать код в труъ рабочее состояние. Сам работаю прогером 1С, принимаю соболезнования.
Хз, считать меня зеленым или нет. Наверное буду читать всё.
Аноним 21/10/21 Чтв 02:26:39 #771 №2189175 
>>2189159
Там крутых советов по перфомансу нету все равно, про кишки тоже. Там основы.
Да и для префоманса, мне как челику тоже плохо разбирающемуся кажется нужно знать не язык, а комьютер саенс. Алгосы, архетиктура пк и операционки.
К тому же на основе хорстмана ты ничего особо не напишешь. Чтобы написать что-то дельное, нужно читать много отдельных книг и кучу статей и документации. Причем объемом, как 10 Хорстманов.
Голая джава мне кажется очень мало что умеет. Жс или питон из коробки сильно больше дают на мой взгляд.
Что за проект?
Аноним 21/10/21 Чтв 14:08:03 #772 №2189386 
>>2168386
что за редактор?
Аноним 21/10/21 Чтв 14:08:51 #773 №2189388 
>>2189386
Эклипс конечно.
Аноним 21/10/21 Чтв 14:11:16 #774 №2189392 
>>2189388
у меня там другой интерфейс
Аноним 21/10/21 Чтв 19:52:46 #775 №2189758 
>>2189386
>>2189392
Это intellij idea
Аноним 22/10/21 Птн 02:19:47 #776 №2190031 
image.png
image.png
Заебался настраивать этот JPA через код. Знающие люди , подскажите плез что надо сделать что эта залупа заработала.
Аноним 22/10/21 Птн 05:54:39 #777 №2190064 
springJpaConfig.PNG
>>2190031
Тоже сегодня начал тему jpa уже со спрингом, до этого с хмлками играл без спринга. Тоже не сразу смог настроить.
Не вижу у тебя @ComponentScan
Аноним 22/10/21 Птн 07:01:35 #778 №2190075 
Посоветуйте, плиз, по части говнокодия новичку.
Задача:
Мне нужно сделать некоторое логирование работы класса. Поскольку опыта с логгерами у меня нет, пока что это будет простой FileWriter. Так вот, я его создаю в точке запуска программы, и мне надо как-то его связать с логируемым классом. Сам класс, само собой, написан до решения что-то логировать, и высирает просто эксепшены, и иногда что-то в конслоль.
Я вижу два решения:
1)Включить в логируемый класс объект FileWriter как дополнительный член, и передавать его туда конструктором или просто через public-доступность для внешнего кода. В этом меня смущает, что этот сраный Writer не имеет отношения к бизнес-логике, и выглядит там чужеродным мусором.
2) В запускаемый класс (держащий main) включить его как публичное static поле, тогда его можно будет легко дергать из любого места в коде. В таком подходе смущает, что нельзя будет создать несколько логгеров, да и вообще статик поля периодически подбрасывают проблем когда-то в неизвестном будущем.
Что из этого лучше? Как вообще делают нормальные люди?
Аноним 22/10/21 Птн 10:23:53 #779 №2190124 
>>2190075
>Как вообще делают нормальные люди?
Аоп. Но для этого нужна какая-никакая инфраструктура в приложении, может тебе это будет оверкилл и проще действительно руками вкрутить.
Аноним 22/10/21 Птн 11:24:40 #780 №2190162 
>>2190075
>Что из этого лучше? Как вообще делают нормальные люди?
@Slf4j над классом пишут.
Аноним 22/10/21 Птн 11:29:33 #781 №2190165 
>>2190064
А для чего он нужен в конфиге JPA ? Ты так пометил где у тебя интерфейсы репозиторий лежат ? Просто я в гайдах встречал @EnableJpaRepositories , но с это аннотацией у меня конфиг вообще не запускается.
Аноним 22/10/21 Птн 11:36:56 #782 №2190177 
>>2190162
Ломбокобляди - это не нормальные люди.
Аноним 22/10/21 Птн 11:48:19 #783 №2190188 
>>2190064
Покажи еще зависисмости. Ты кроме хибернет-кор и data-jpa что-нибудь подключал ?
Аноним 22/10/21 Птн 13:53:45 #784 №2190270 
>>2190188
>>2190165
Ещё пару дней не буду у компа. Это я приколхозил с книги проспринг5, глава8. Только там h2. Скачай код, посмотри. Зависимости не помню, не свои, не там. Тоже крутил конфиги с разных мест, как дебил, с этим вроде заработало.
Аноним 22/10/21 Птн 14:41:43 #785 №2190316 
>>2190165
Ну да. РЕПО Этож бины. Их же надо откуда то брать. Хотя если у тебя Бут с его классом main, то там над ним в одной из аннотаций есть автосканилка бинов. У меня просто модельки, репо, тестик и конфиг.
До Бута я и спрингдаты ещё не дошел. Но когда смотрел видосы с практикой, читал спрингинэкш там вообще как то без конфигов на самых простых крудах все работает. Пока выглядит, как магия.
Аноним 22/10/21 Птн 15:28:42 #786 №2190340 
>>2190316
>>2190270
У меня не спринг бут , я по хардкору спринг мвс учу. Бут насколько я понял сам все необходимые бины создает для настройки JPA , ему тока в проперти надо вписать параметры для DataSource
Аноним 22/10/21 Птн 18:31:02 #787 №2190547 
>>2190177
Это ты поехавший дебил.
Аноним 22/10/21 Птн 18:34:09 #788 №2190551 
>>2190547
Нет конечно, ведь я не ломбокоблядь.
Аноним 22/10/21 Птн 18:53:10 #789 №2190569 
Почему декларация import не работает, если в ней нет ни одного пакета? Пытаюсь импортировать внутренний класс:
import somefolder.Outer.Inner; - работает
import Outer.Inner; - не работает, "package Outer does not exist", хотя папки я соблюдаю.
Как импортировать внутренний класс, не помещая ради этого всё в пакет?
Аноним 22/10/21 Птн 18:55:11 #790 №2190571 
>>2190569
Потому что нет относительных импортов, надо писать полный путь от корня.
Аноним 22/10/21 Птн 19:40:12 #791 №2190636 
image
image
>>2190571
Так у меня там вообще нет пакетов, и ни в одном из классов нет строки package.
Попробуй сделать импорт внутреннего класса без использования пакетов, нихуя не выходит.
Аноним 22/10/21 Птн 19:43:08 #792 №2190640 
>>2190270
В общем с учетом добавления аннотации @EnableJpaRepositories(basePackages = {"proj"}) твой конфиг рабочий. Только я не понимаю зачем у тебя написано factoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter()) , если ты уже создал бин который создает этот адаптер и логичнее было бы вписать jpaVendorAdapter(). или я чего то не понимаю
Аноним 22/10/21 Птн 21:09:13 #793 №2190725 
Сап, джаваны. Посмотрел вот эту серию из двух видео https://www.youtube.com/watch?v=BmBr5diz8WA про Спринг. Понравилось тем, что представляет из себя нечто, что пригодно для обучения с нуля, но при этом захватывает ещё и внутреннюю кухню, причём в адекватном объёме, без слишком уж мелких деталей. Есть ли ещё что-нибудь похожее про другие популярные технологии? Тот же Спринг МВЦ, Хибернейт, что-нибудь типа JAX-RS... Чтоб после просмотра оставалось не просто понимание, как делать, но и что при этом происходит.
Аноним 22/10/21 Птн 22:28:08 #794 №2190830 
>>2190340
Ну в той книжке без бута большая часть. Единственный большой минус книжки, что там не просто градл, а древняя его версия 2017 года. В новых туториалах хеловордах более свежий градл поприятнее.
>>2190640
Это опечатка книжки походу. Я потом убрал это.
Я погуглил. Твоя аннотация нужна для работы через интерфейсы наследуемые от crud repository, а я пока не дошел до спринг дата жпа. И пользуюсь синтаксисом обычного jpa. И там достаточно компонент скана.
Аноним 22/10/21 Птн 22:31:33 #795 №2190834 
>>2190725
Раньше тоже смотрел. Типерь думаю зря. Все эти постбин аннотейшн процессоры ищ головы вылетели, ибо тоже нулевыц как и ты. Если зашло, что что мешает всего Борисова посмотреть? У него как минимум спринг Бут и спринг дата есть.
Аноним 22/10/21 Птн 22:41:42 #796 №2190854 
>>2190830
Слушай , а поделись названием книжки пожалуйста.
Аноним 22/10/21 Птн 22:48:30 #797 №2190863 
>>2190854
Pro Spring 5 я же писал. Первый автор Козьмина. Есть на русском.
Аноним 22/10/21 Птн 23:19:10 #798 №2190896 
Кстати я вам пару месяцев назад рассказывал, что собираюсь сделать учебный круд с 5 реализациями репозиториев(rawjdbc, jdbctemplate, springdatajdbc, rawjpa, springdatajpa). Ну по ходу изучения. А все остальное чтобы одинаковое.
Ну короче сегодня решил сдаться. Ну от springdatajdbc я отказался раньше, ибо меня тут убедили, что это ненужная технология.
А вот на реализации rawjpa я понял, что объектная модель jdbc и в jpa разная. В пером ссылка через лонг айдишников, во втором через экземпляр объекта на который ссылаются. Можно было сразу догадаться.
Попробовал короче сделать модели с наследованием от интерфейса, в котором реализация геттеров/сеттеров всего, кроме различающихся полей. Там поколхозил с явным даункастингом и тесты заработали.
А вот с сериализацией через jackson на фронт проблема хз насколько решаемая. Вроде можно настроить jackson на несколько реализаций (но я не уверен, что смогу), но выглядит уж совсем еботней ради еботни.
Буду мутить второй проект с raw jpa + springdatajpa. Но хотелось бы на той же базе. Как настроить jpa/hibernate на уже готовую базу, тем более, что хибер в тестовой базе мне генерирует в постгрессе не всегда такие же типы, что я себе сам написал? Или это очередная глупая идея?
Аноним 22/10/21 Птн 23:43:16 #799 №2190930 
Тест
Аноним 23/10/21 Суб 00:05:19 #800 №2190959 
>>2190863
Там пиздец кривой перевод. мимокрокодил
Аноним 23/10/21 Суб 00:15:32 #801 №2190982 
А вы тоже ржете с местных окатышей, которые пытаются учить спринг без спринг бута?
Аноним 23/10/21 Суб 00:18:29 #802 №2190991 
>>2190959
Да, это так. И еще слишком бездумно распечатывают листнинги, с повторениями, многое не нужно, причем все равно часть кода не распечатывают и без кода перед глазами не все ясно. Я думал там пиздец толмуд 1100 страниц, если вырезать листинги будет 500, если их грамотно редактануть и убрать лишние куски листингов будет страниц 900.
То есть по факту книга очень поверхностная оказалась для реального объема текста на 500 страниц и охвата тем.
sageАноним 23/10/21 Суб 00:23:19 #803 №2191001 
>>2190982
Думаю, если бы я начинал с голого Спринга, то дропнул бы жаву
про ее молчу
Аноним 23/10/21 Суб 00:28:37 #804 №2191009 
6017432188[1].jpg
>>2190982
Ну а что смешного? Сперва чистый спринг, потом с бутом. Я и книжечку скачал на русском.
Круды свои ксати пишу с бутом.
Иногда подрубаю стартеры бутовские, а пишу с обычными спринговскими контекстами и конфигами.
Я так то смотрел несколько курсов с практикой на буте, спринг дате и прочитал половину spring in action. Магия какая то. В общих чертах ясно что и для чего. Переделать чужие программы под себя я могу. А если с нуля писать для меня магия. По баелдунгам тоже как то очень обрывочно все понимаешь. Там темы в кучу, их миллион и не ясно, какая базовая, а какая для специфических случаев.
Аноним 23/10/21 Суб 00:29:13 #805 №2191011 
>>2191009
ХА ХА ХА ХА ХА ХА ХА ХА, ОКАТЫШ
Аноним 23/10/21 Суб 01:03:57 #806 №2191079 
>>2191011
EE я бы тоже хотел подучить. Но ссыканул. Потом заточу какую-нибудь книжку. В одном ряду с Java Concurrency in Practice.
Аноним 23/10/21 Суб 01:09:09 #807 №2191083 
>>2191079
Мне страшно за людей, которые тратят свою жизнь на всяякую бесполезную хуйню.
Аноним 23/10/21 Суб 01:20:53 #808 №2191094 
>>2191083
Можно поподробнее? Типа мне надо написать круд в стиле стековерфлоу девелопмент, не зная что вообще творится под капотом, походу пройти баелдунгов по самым самым непонятным встречающимся темам, задрочить топ100 вопросов к собесам на джуна и через месяц идти по собесам?
Аноним 23/10/21 Суб 01:34:28 #809 №2191103 
>>2191094
ДА.
Аноним 23/10/21 Суб 01:45:17 #810 №2191113 
>>2191103
Бля, это стрессово очень. Хочу размеренно учиться. Работа она ведь в лес не убежит.
Аноним 23/10/21 Суб 01:50:38 #811 №2191118 
>>2191113
Учишься такой, учишься, а потом тебе 30 лет и ты нахуй никому не нужен.
Аноним 23/10/21 Суб 01:55:01 #812 №2191122 
>>2191118
Так мне и так 30 лет. Какая разница работодателю приду я к нему в 30 или в 32? Я и так в конце списка. Так хоть получше подучу.
Аноним 23/10/21 Суб 01:56:20 #813 №2191124 
>>2191122
>Так мне и так 30 лет.
А, ну так с тобой уже все, делай что хочешь.
Аноним 23/10/21 Суб 02:00:52 #814 №2191125 
>>2190896
>Ну от springdatajdbc я отказался раньше, ибо меня тут убедили, что это ненужная технология
Зря отказался. Напиздели.

>Или это очередная глупая идея?
Наоборот, в коммерческих задачах никто не генерирует скрипты для базы хибером. Вообще базу делает разработчики баз данных, а не бэкендеры, а ты получаешь готовую схему.
Поэтому учись настраивать хибер на уже готовой схеме.
Аноним 23/10/21 Суб 02:03:44 #815 №2191127 
>>2190982
>которые пытаются учить спринг без спринг бута?
Сам в томкат задеплоить своё говно и пару бинов ручками прописать не можешь, что ли?
Аноним 23/10/21 Суб 02:04:27 #816 №2191128 
>>2191125
Я понял, ты теперь надо мной издеваешься.
Аноним 23/10/21 Суб 02:05:08 #817 №2191129 
>>2191128
С чего ты так решил?
Аноним 23/10/21 Суб 02:13:46 #818 №2191135 
>>2191129
Ну я про springdatajdbc не только тут почитал, о ней везде неоче отзываются и вакухах ее нету.
Аноним 23/10/21 Суб 02:27:09 #819 №2191140 
>>2191135
Ну хз, анон, как знаешь. Я обратную инфу в треде читал, от местных, когда такие вопросы заходили. Просто не уверен, что ORM-подход прям в 100% случаев используют. В вакухах я вообще редко видел, чтобы какие-то компоненты спринга перечисляли. Обычно просто обобщают в что-то типа "знание Spring".
Аноним 23/10/21 Суб 02:34:04 #820 №2191142 
>>2191140
Так если ты не тролишь, расскажи чем эта спринговская недоорм, как я видел в нескольких местах ее называют хороша. Может ее чисто по кайфу поучу, а не ради вакух.
А про компоненты часто вижу boot, mvc, datajpa, иногда security. И это только в джуновских. В мидловских еще 3-4 подфреймворка могут упомянуть.
Аноним 23/10/21 Суб 03:54:23 #821 №2191152 
>>2191142
>Так если ты не тролишь
Конкретно итт троллингом не занимаюсь, пишу серьёзно.

>расскажи чем эта спринговская недоорм, как я видел в нескольких местах ее называют
Я не могу назвать себя опытным в java-бэке, но мне кажется, если "её" Spring JDBC так называют, то, скорее всего, уже не совсем понимают, о чём речь идёт.
ORM - это объектно-реляционное отображение. Например, ты подключаешь хибер, и он сам тебе вычитывает из твоей реляционной базы данных сразу готовые объекты - часть работы делают за тебя.
Spring JDBC - это всего лишь удобная надстройка над Java JDBC. Грубо говоря, это стандартный API, который позволяет получать доступ к БД и производить взаимодействия с ней. Там ты вручную пишешь Statement'ы В Spring JDBC - темплейты, где прописываешь обычные SQL-запросы, и на них получаешь набор ответов, как бы указатели на строки и колонки таблицы - ResultSet в Spring JDBC можешь получать объекты через имплементацию RowMapper. То есть в случае с JDBC, ты просто прогаешь SQL-запросы и получаешь результаты их выполнения. А вот построение объектов из них - это уже твоя задача в DAO-слое.
То есть, этот подход как бы на один уровень абстракции ниже, чем ORM-подход. Их нельзя сравнивать между собой, на мой взгляд.
Аноним 23/10/21 Суб 04:05:28 #822 №2191154 
>>2191152
чел, springjdbc это и есть jdbctemplate(точнее jdbctemplate это самое используемое из springjdbc). Это я уже прошел. Поиграл с роумапперами и экстракторами. Прикольно.
Я имел ввиду springdatajdbc.
https://docs.spring.io/spring-data/jdbc/docs/2.2.5/reference/html/#reference
https://habr.com/ru/post/423697/
Это новый подфреймворк подфреймворка по сути надстройка над jdbctemplate, чтобы апиха репо-слоя выглядела, как у springdata.
Аноним 23/10/21 Суб 04:59:52 #823 №2191160 
>>2191154
>Я имел ввиду springdatajdbc
А, ну я проебался, когда читал вопрос и зря простыню катал. Тогда да, хз, где это используют.
Аноним 23/10/21 Суб 05:23:33 #824 №2191161 
otusSpringCourse.PNG
>>2191160
Это еще одна проблема спринга, что он блядь просто бесконечный и многие даже работающие на нем не знают что в нем есть, кроме того, что они используют.
А уж как нам вкатунам отбросить зерна от плевел это хз. А еще ведь правда есть java ee. И куча сопутствующих технологий.
Вот курс полугодовой на 80 часов видосов за овер 200к для вкатунов. Все ли это нужно? Я очень хз.
Spring in action такой же +- по содержанию.
sageАноним 23/10/21 Суб 09:52:30 #825 №2191205 
>>2191161
Просмотрел бегло. Вроде как все норм
Аноним 23/10/21 Суб 11:21:45 #826 №2191256 
>>2191205
Webflux, integration, cloud нужны джуну?
sageАноним 23/10/21 Суб 11:41:06 #827 №2191271 
>>2191256
Клауд точно нужен. Хотя бы знать, что это такое, и как это работает. Реактивщина - от проекта зависит
Аноним 23/10/21 Суб 19:23:21 #828 №2191683 
image.png
image.png
Решал задачку по проге и пришел к решению просто блять создать дохрена бинов , которые делают одно и то же , но с разными значениями у возвращаемого объекта. Вопрос в том , можно ли это как то сделать не создавая дофига однотипных бинов вручную ?
Код рисует из символов шахматные доски используя эти бины.
Аноним 23/10/21 Суб 19:32:53 #829 №2191686 
>>2191683
Чего блядь? Кинь задание.
sageАноним 23/10/21 Суб 19:36:02 #830 №2191689 
image.png
>>2191686
Ну держи задание
Аноним 23/10/21 Суб 19:36:56 #831 №2191690 
>>2191689
Ты охуел сагать? Пошел нахуй, даже читать теперь не буду.
Аноним 23/10/21 Суб 19:39:06 #832 №2191691 
>>2191690
Забыл я офнуть ее, че такой токсичный\.
Аноним 23/10/21 Суб 22:51:49 #833 №2191808 
image.png
>>2159705 (OP)
Написал это чисто для проверки работы переменных в цикле.
Что блядь не так? Почему все вылетает?



Scanner input = new Scanner(System.in);
String a;
int b;
do {
a = input.nextLine();
b = input.nextInt();
} while (b!=6);
Аноним 23/10/21 Суб 22:52:41 #834 №2191809 
>>2191808
Scanner input = new Scanner(System.in);
String a;
int b;
do {
a = input.nextLine();
b = input.nextInt();
} while (b!=6);
Аноним 24/10/21 Вск 19:30:24 #835 №2192453 
>>2190834
Про Бут и Дату не знал, спасибо за наводку, добавил на посмотреть.
Аноним 24/10/21 Вск 21:06:29 #836 №2192534 
image.png
image.png
image.png
Бля, мужики, помогите. Пытаюсь добавить spring security, и он вообще не реагирует ни на какую конфигурацию, которую я ему задаю. А если его вызывать явно, через AbstractSecurityWebApplicationInitializer
То он отображается, и даже сравнивает креды, но, опять таки, форма логина не конфигурируется, выбивает при переходе по любому запросу, что .permitAll, что нет - все похую. А также не различает роли, то есть залогинившись даже с ролью юзер я все равно могу перейти на hasRole(ADMIN). Готов скинуть на пиво 150 рублей, только поясните, какого хера у меня ничего не выходит
Аноним 24/10/21 Вск 21:26:11 #837 №2192555 
>>2192534
Зависимости показывай
Аноним 24/10/21 Вск 21:32:48 #838 №2192557 
image.png
image.png
image.png
image.png
>>2192555
Знаю, много мусора, но по-идее там ничего не должно мешать. Пытался и бутом, один и тот же результат.
Аноним 24/10/21 Вск 21:33:59 #839 №2192559 
image.png
>>2192557
Аноним 24/10/21 Вск 22:10:05 #840 №2192578 
>>2192557
>>2192534
лог при попытке с пермишеном User зайти на hasRoleAdmin
org.springframework.security.web.context.HttpSessionSecurityContextRepository - Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=peter, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[USER]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=0677E115B7894183BC916F48070E9A60], Granted Authorities=[USER]]]
22:06:01.849 [http-nio-8080-exec-1] DEBUG org.springframework.security.web.context.SecurityContextPersistenceFilter - Set SecurityContextHolder to SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=peter, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[USER]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=0677E115B7894183BC916F48070E9A60], Granted Authorities=[USER]]]
22:06:01.850 [http-nio-8080-exec-1] DEBUG org.springframework.security.web.access.intercept.FilterSecurityInterceptor - Authorized filter invocation [GET /proj/wheel] with attributes [authenticated]
Аноним 25/10/21 Пнд 12:32:33 #841 №2193008 
Подскажите плиз, как можно в проект в идее добавить исходники другого проекта? Именно в виде исходников, а не откомпилированных классов. Можно ли просто прям в проводнике ОС запихать в каталог проекта каталог с исходным кодом, чтоб он стал пакетом, или как-то это надо делать изнутри идеи, чтоб ничего не наебнулось в проекте?
Аноним 25/10/21 Пнд 12:35:10 #842 №2193012 
>>2193008
Ответь на вопрос: ты используешь мавен/градл как нормальные люди или ебёшься со "встроенными" в идею проектами?
Аноним 25/10/21 Пнд 12:44:23 #843 №2193023 
>>2193012
Я ебусь с двумя собственными проектами, которые были запилены давно и независимо друг от друга, без всяких мавенов и градлов (во первых, они начинались как песочницы, во вторых я нуб в системах сборки). Один из проектов теперь превратился в рабочий (работает в реальной пользовательской среде как своего рода микросервис), но мне в нем нужна функциональность другого проекта. Я бы мог второй проект откомпилить и подключить как библиотеку, но вероятность того, что там будет кровавая адаптация, очень велика, и я хочу его иметь именно в составе исходников, чтоб иметь возможность все редактировать прям на месте, без перекомпиляции каждые 5 наносекунд.
Аноним 25/10/21 Пнд 17:46:48 #844 №2193283 
Вопрос к флибустьерам. Как вы обходите ограничение правильной редакции версии 2021 года у самой популярной IDE для Java?
А то я вчера скачал саму свежую версию, пришлось аккаунт создавать.
Аноним 25/10/21 Пнд 17:56:23 #845 №2193288 
>>2193283
Поставил из AUR прошлую версию
Аноним 25/10/21 Пнд 18:12:04 #846 №2193301 
>>2193283
Не обновляюсь.
Аноним 25/10/21 Пнд 18:23:36 #847 №2193311 
>>2193283
Прохожу курсы на степике. Раз в 3 месяца абужу степик в курсах, где дают сертификат. За 3-7 дней дают ключик на 3 месяца.
Аноним 25/10/21 Пнд 19:14:53 #848 №2193373 
>>2191808
Нажимая enter, чтобы отправить число, ты отправляешь так же и символ пропуска строки. nextLine() поглощает этот символ, а nextInt() - нет, оставляя его потомкам (в твоём случае - следующему вызову nextLine).
Аноним 26/10/21 Втр 03:28:24 #849 №2193634 
>>2193283
Там нужно просто кое-какие файлы и директории стереть, чтобы триал сбросить. В интернете куча готовых скриптов по первому же запросу. Не ленись и пойди загугли.
Скрипт на сброс триала всех продуктов жидбренса для macOS могу кинуть в тред, если кому надо
Аноним 26/10/21 Втр 03:50:09 #850 №2193638 
Вопрос по хиберу и Spring JPA, каким образом он понимает связи?
Допустим, у меня есть две таблицы: компании и сотрудники.
Сотрудники хранят внешний ключ на id компаний. Схему создаю сам, хибер выполняет только validate.
Соответсвенно, в самом классе "сотрудники" стоит аннотация на связь ManyToOne (без cascade) и JoinColumn на внешний ключ.
Так вот, я делаю компании и кладу их в void компанииДАО.
Потом создаю сотрудников, добавляю им компании и кладу в void сотрудникиДАО.
Для первичного ключа у меня GenerationType.IDENTITY.
Все методы дао работают в своих транзакциях, т.е. у EntityManager всегда разные сессии.
Так каким образом хибер понимает, что компании в новых объектах сотрудников, которых я положил ВНЕ его сессии (а сессия есть только в пределах транзакции, как я понимаю) - это те самые компании, которые и отослал в компанииДАО ранее??
По итогу, он отлично разруливает, что и куда я положил.
Но как он это делает? У него же нет никаких первичных ключей, потому что в МОИХ объектах, которые я создал руками, они тупо не заданы.
То есть в сотрудникиДАО уходят сотрудники со вложенными компаниями, у которых не заданы первичные ключи в объекте, но они уже были добавлены в базу ранее, через компанииДАО. Как он их связал?
JpaRepository имеет аналогичное поведение.
Аноним 26/10/21 Втр 04:10:25 #851 №2193642 
Всё, забейте, не читайте это >>2193638
Последствия ночного затупа.
Все первичные ключи там на месте, их в объект неявно entityManager.persist возвращает, когда туда объект передаётся по ссылке. То же самое и репозиторий делает, по-видимому.
Аноним 26/10/21 Втр 06:56:10 #852 №2193655 
>>2159705 (OP)
Набросал несколько примитивных проектов на спринге на гитхаб. Думаю, что для портфолио хватит. Осталась теория для собеседования. Что посоветуете почитать до конца выходной недели? У меня из теоретических знаний только поверхностный университетский курс по джаве.
Аноним 26/10/21 Втр 09:09:44 #853 №2193666 
>>2159705 (OP)
Дали рабочий МАК, на котором нихуя не понятно. Как-то можно стартовать пробный период Ultimate версии без регистрации аккаунта? Если нельзя, то скрипты помогут обновить пробный период или данные о времени останутся на аккаунте?
Аноним 26/10/21 Втр 10:03:54 #854 №2193695 
>>2193666
Хуй с ним, скачал старую версию.
>>2193634
Поделись, пожалуйста, скриптами на macOS.
Аноним 26/10/21 Втр 11:59:52 #855 №2193770 
>>2193655
https://github.com/enhorse/java-interview
За неделю реально прочесть. Тут текста на 200 страниц где-то.
Аноним 26/10/21 Втр 12:00:28 #856 №2193771 
>>2193023
В Idea можно несколько проектов в одном открыть как модули. Как это делать не знаю, но коллега таким пользовалась.
Погугли intellij idea multiple projects
Аноним 26/10/21 Втр 12:07:53 #857 №2193777 
>>2193771
Сделал гораздо проще. Просто скопировал каталог с исходниками внутрь проекта. Идея без проблем все это увидела и вкючила в проект. Единственное что пришлось сделать, это подправить в каждом классе package defenition в начале файла исходника. Пока что каких-то проблем с таким примитивным подходом не нашел. Если бы мне нужно было например интегрировать это вместе с историей git-репозитория, был бы геморрой, а так все вроде норм.
Аноним 26/10/21 Втр 12:10:40 #858 №2193780 
>>2193777
Чел. За время пока ты задавал этот вопрос, щелкал наугад что иде съест, а что нет, ты уже бы с мавеном разобрался.
Аноним 26/10/21 Втр 12:21:49 #859 №2193784 
>>2193780
Да я просто забил сюда 4 строчки, чтобы кто-то мне сказал насколько так делать можно и нет ли подводных камней, потом еще минут 10 потратил на то чтоб попробовать.
С мавеном мне бы пришлось разбираться на каком-нибудь песочном проекте, потом тащить этот опыт в рабочий с риском все наебнуть. Короче, куча времени бы ушло. Я понимаю что тут полно гениев которые изучают спринг за 2 дня и кор за 21 час, но я не из таких видимо.
Аноним 26/10/21 Втр 12:31:41 #860 №2193794 
>>2193784
А что у тебя за проект? Сколько своих классов, сколько внешних библиотек подключено?
Если там 20 классов и нет внешних зависимостей, то что там можно мавеном то наебнуть?
Просто я до того как освоил мавен пилил хеловорды меньше 10 классов на стандартной либе и их даже проектами язык не поворачивается назвать.
Аноним 26/10/21 Втр 15:05:29 #861 №2193949 
>>2193634
Я этим способом и пользовался до 2021 года . Теперь же они аккаунт требуют. Не может быть, что до сих пор можно сбросить удалив те же файлы и ветку в реестре.
Аноним 26/10/21 Втр 15:50:54 #862 №2193981 
>>2193794
Ну, тот куда надо добавить, содержит в качестве внешних библиотек два драйвера баз данных, библиотеку связи с продуктами MS_Office, и мой собственный утилитный джарник. Сам состоит из штук 10 пакетов классов по 5 в среднем каждый.
А тот который надо докинуть - просто минипроект из 8 классов и без зависимостей.
Аноним 26/10/21 Втр 17:26:01 #863 №2194099 
Знает кто-то, можно ли как-то явно инициировать запись в файл через FileWriter до закрытия потока? По дефолту никакие обновления в файл не идут до вызова .close, а хотелось бы делать что-то вроде коммитов, ничего не закрывая на полпути.
Аноним 26/10/21 Втр 17:34:56 #864 №2194113 
>>2194099
вроде сам нагуглил, надо тупо вызвать .flush.
тупая привычка сначала высираться на двачи, а потом что-то делать, сорян гайс
Аноним 26/10/21 Втр 19:17:41 #865 №2194245 
Короче позвали на вакансию. Написано джава 8 и вот это https://n2oapp.net/docs/
Что это за фигня?
Аноним 26/10/21 Втр 20:27:32 #866 №2194311 
Что такое неизменяемый ссылочный тип? Это final класс?
Аноним 26/10/21 Втр 20:38:32 #867 №2194327 
>>2194311
Чтобы класс был иммутабельным, он должен соответствовать следующим требованиям:

Должен быть объявлен как final, чтобы от него нельзя было наследоваться. Иначе дочерние классы могут нарушить иммутабельность.

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

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

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

Для полей-коллекций необходимо делать глубокие копии, чтобы гарантировать их неизменность.
Аноним 26/10/21 Втр 21:41:50 #868 №2194387 
>>2194245
Жесть какая то, типа фулстек фреймворк.
Типа реакт внутри проекта спрингбута. А поверх реакта собственный DSL, основанный на XML. И фронт пишется на на этом DSL-xml.
Что-то я сомневаюсь вообще идти ли на собес.
Аноним 26/10/21 Втр 21:44:58 #869 №2194391 
>>2194387
>>2194245
Напоминает GWT, JSF и подобное говно. Нахуй это.
Аноним 26/10/21 Втр 21:55:06 #870 №2194397 
>>2194391
Только я не понимаю почему они тогда не пилят на нормальных старперских технологиях. Зачем нужен обрезок с ограниченным функционалом поверх рякта. Может они сами запилили эту шляпу?
Но на собес я схожу. Нужно тренировать собесы.
Аноним 26/10/21 Втр 22:29:47 #871 №2194410 
Освежите вашу JAVA: почему на язык 30-летней выдержки вдруг резко возник спрос?
https://habr.com/ru/post/585318/
Аноним 26/10/21 Втр 22:34:27 #872 №2194412 
>>2194410
Хуябр.
Аноним 26/10/21 Втр 23:18:18 #873 №2194433 
>>2194410
А спрос разве резко возник? Вроде был всегда последние лет 20.
Аноним 26/10/21 Втр 23:25:11 #874 №2194440 
>>2193949
Только вчера триал скинул - всё работает.

>>2193695
https://pastebin.com/MN7FqJgq
Сохрани в .sh, выстави права на исполнение и запусти из терминала.
Аноним 27/10/21 Срд 06:01:21 #875 №2194547 
Когда завезут подобие горутин из го или акторов из скалы (акка) / эликсира?
Аноним 27/10/21 Срд 06:19:42 #876 №2194554 
>>2194547
пиздуй в шарп, там есть
Аноним 27/10/21 Срд 07:16:24 #877 №2194561 
>>2194554
А у вас почему нет и когда будет?
Аноним 27/10/21 Срд 08:01:14 #878 №2194566 
>>2194561
Никто не заинтересован в развитии языка
Аноним 27/10/21 Срд 08:01:14 #879 №2194567 
>>2194440
Спасибо
Аноним 27/10/21 Срд 08:03:43 #880 №2194568 
>>2194547
Существует project loom, поиграться можно уже сейчас, но хуй знает, когда в основную ждк подольют, много лет уже ждём.
Аноним 27/10/21 Срд 08:17:55 #881 №2194571 
>>2194547
>>2194568
Зачем нужны зеленые треды в джаве? Всякие пулы подключений к базе делать и хттп соединения?
То есть это минимум два года надо ждать это в лтс джавы, а потом еще ждать чтобы во всякие томкеты и хикари добавили?
Аноним 27/10/21 Срд 09:46:15 #882 №2194596 
>>2194566
Я хз, думаю потому что нет необходимости. Не то, чтобы я охуеть энтерпрайзер, но ни разу не было нужно это при работе с джава. А в шарпе только когда прогал в Unity. Чем тебя не устраивают обыкновенные треды?
Аноним 27/10/21 Срд 18:01:23 #883 №2195288 
>>2194571
>>2194596
А зачем нужны горутины в го и акторы в акке и эликсире?
Аноним 27/10/21 Срд 19:33:29 #884 №2195349 
>>2195288
А сам то как думаешь?
Аноним 27/10/21 Срд 19:52:24 #885 №2195376 
>>2195349
А вы сами как думаете, раз задаёте вопросы типа
>Зачем нужны зеленые треды в джаве
>Чем тебя не устраивают обыкновенные треды
Аноним 27/10/21 Срд 20:08:33 #886 №2195390 
>>2191161
Что за курс, откуда взял, поделись?
Аноним 27/10/21 Срд 20:16:36 #887 №2195403 
>>2195390
Это похоже на отус, ищи на торрентах. Там просто двухчасовые лекции на каждую тему. Научить толком не научат - просто будешь знать что это и зачем.
Аноним 27/10/21 Срд 20:49:31 #888 №2195425 
>>2195390
да, отус. На nnmclub лежит.
Пока первые 5 вебинаров отсмотрел, полет нормальный, неплохо системетизировал, что уже читал. В том же проспринг куча неактуальщины оказалось. И в многих других гайдах тоже.
Норм на самом деле. Единственные минус из-за того, что это вебинары - много воды. А некоторые лекторы не умеют разговаривать и там воды больше половины.
Думаю после этого курса прочитаю спринг ин экшон(бросил его после трети прочтения первый раз) и норм будет. Как раз новое издание выйдет через 2 месяца.
>>2195403
А кто научит?

Аноним 27/10/21 Срд 21:41:42 #889 №2195464 
У кого-нибудь итт получилось сделать индексы на MySQL базе через ChangeLog'и liquibase?
Вчера почти 4 часа возился - и ни в какую. Выплевывает какой-то экспепшон непонятный на стадии верификации, якобы у меня не указаны имени колонок. Ошибка не гуглится. Все доки перерыл уже.
Даже sql-скрип инклюдил в файл - всё равно не работает.
Отпишитесь, пожалуйста, у кого оно работает.
Аноним 28/10/21 Чтв 00:48:14 #890 №2195638 
>>2195425
>>вебинары - много воды
Меня бесят все эти "меня видно? эммм ну вот, понятно?". Особенно после юдеми, где тебе столько же информации выдадут за 15-20 минут с картинками и схемами.
>>А кто научит?
Я через петы учился. Сначала пару раз почти прямо по гайдам (юдеми), потом свои проекты с гуглением отдельных моментов. Когда вкатился оказалось что мои петы были не так уж и далеки от реальности, кек. Масштаб меняется, а принципы те же самые.
Аноним 28/10/21 Чтв 02:33:46 #891 №2195688 
Анонимус, скажи, за какую ЗП ваши фирым готовы брать джунов без опыта?
Если я все технологии, которые указаны в вакансии изучил?
Только город укажите, а то в этих ваших ДС'ах рейты повышены.
Аноним 28/10/21 Чтв 04:55:17 #892 №2195704 
>>2195688
>>за какую ЗП ваши фирым готовы
Я зп других разрабов то не знаю, откуда мне знать сколько кабан готов платить? В вакансиях на джунов и вилок то обычно нет. 20-120к в зависимости от упругости.
Аноним 28/10/21 Чтв 09:20:41 #893 №2195729 
>>2195688
Если прям вообще опыта нет, то на 30к рассчитывать можно на какой-нить сбер хуестажировке. Я на пет проектах посидел, без опыта в резюме встал на 80к. Это в Новосибе
Аноним 28/10/21 Чтв 12:41:51 #894 №2195912 
>>2195638
ну мне кажется будет норм этот отус + спринг ин экшон + 2-3 пета. А что ты хорошее на юдеми смотрел?
Аноним 28/10/21 Чтв 13:05:02 #895 №2195951 
>>2194245
>>2194245
Короче сходил. Собеса не было.
40 минут директор с кучей ненужных подробностей рассказывал, что они поддерживают миллион говна для гос органов. И им отдали на поддержку говнолегаси монстра инф систему для медиков. Им нужен базист на оракле с plsql и джавист.
Джависту придется работать с ораклом, постгресом, джавой8, спрингом 4.2, но с бутом, миллионом интеграций другими гос системами и кучей баз, очередями и тем странным фреймворком для фронта. Во фронте тоже походу придется ковыряться джависту.
Дали тестовое. Какая-то несложная шляпа с базой, веб-мордой и небольшим парсингом регулярками. Думаю опытный челик за час сделал. Мне 3-7 дней придется копаться.
Думаю таки сделаю тестовое чисто для себя.
Если вдруг возьмут, насколько такой опыт плох?
Аноним 28/10/21 Чтв 13:29:06 #896 №2195986 
>>2195951
>Если вдруг возьмут, насколько такой опыт плох?
А у тебя на руках уже есть 5 офферов или с чего ты решил перебирать офферами?

Глубоко ничего не изучишь, но получишь представление о большом количестве разного говна, будет о чем в резюме написать. И в целом лучше год тут отработать, чем потратить его на поиск работы мечты.
Аноним 28/10/21 Чтв 13:54:20 #897 №2196012 
>>2195986
Двачую этого.

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

Да и всякие около/госконторы обычно работают довольно размеренно (хотя с уебанским управлением часто всякие факапы будут случаться наверняка), а значит можно учиться всякой хуйне и в рабочее время.
Аноним 28/10/21 Чтв 14:06:52 #898 №2196017 
>>2195986
По описанию кабан-кабаныча(реально оказался очень подходящим под стеретип) это прям легаси в худшем его понимании. Это говно под которое они нанимают написали другие такие же рога и копыта из другого региона лет 7 назад и оно уже сменило 2-3 компании сопровождения.
И на одно слово про технологии десять, как он много работает с местными бюрократами, с федеральными, выигрывает тендеры и т.д., что по каким законам.
Ну и хоть частники, но так много рассказывал об этом, что на меня снова пахнуло запахом(неприятным) госслужбы.
Аноним 28/10/21 Чтв 14:24:28 #899 №2196038 
>>2196017
И? Ты хочешь услышать, что это не работа мечты? Да это херовая работа, но это все равно лучше чем ничего.

Тебя же никто к батарее пристегивать не будет, через год обновишь резюме и будешь неспешно искать новую работу уже в приличной компании имея и опыт и зарплату на текущем месте. Можешь неспешно выбирать интересное предложение.
Аноним 28/10/21 Чтв 14:41:35 #900 №2196050 
>>2196038
хз, может вы мне еще подводные камни таких шараг накидаете. Понятно, что я сам буду думать. У меня в этом из знакомых просто никто вообще не разбирается, есть только один фронтендер. Хочется с кем то обсудить.
Я кстати все еще жду начала курса епама, нацеленную на удаленный найм на джуна в питерский офис. Мне уже сказали, что курсы епама это хоть какой-то вариант, но далеко не 100%. И логично, что у сегодняшнего варианта шансов стать первой ступенькой для вката больше.
Короче вопрос: написать тестовое на spring-jdbc или на spring-data-jpa. У меня есть проект на spring-jdbc, но там велосипед по загрузке скриптов sql для создании базы(я не нагуглил как это правильно делается). А spring-data-jpa я почти не трогал еще, но выглядит, что там все чуть-ли само делается.
Аноним 28/10/21 Чтв 16:16:06 #901 №2196154 
>>2196050
>хз, может вы мне еще подводные камни таких шараг накидаете.
Нормальных процессов там не будет и ты привыкнешь делать так, как там "принято". Я реально работал с сеньорами которые не понимали зачем нужны пул реквесты, код ревью и прочий CI/CD. Так он еще и активно сопротивлялся внедрению всего этого - типа 15 лет кодил так и все норм было.
Работа может быть организована через жопу. В начале года пока бюджетов нет работы мало, а в конце года когда нужно освоить бюджет куча задач которые надо сделать вчера.
Ты офис то посмотрел? Прилично выглядит? Чай-кофе-печеньки есть?


>Короче вопрос: написать тестовое на spring-jdbc или на spring-data-jpa. У меня есть проект на spring-jdbc, но там велосипед по загрузке скриптов sql для создании базы(я не нагуглил как это правильно делается). А spring-data-jpa я почти не трогал еще, но выглядит, что там все чуть-ли само делается.
Иди по пути наименьшего сопротивления. Идешь https://start.spring.io и генерируешь себе проект с JPA, H2 и прочими необходимыми вещами. Дальше напихиваешь туда требуемые вещи. Я обычно в корень проекта добавляю README.md с коротеньким описанием как собрать и запустить.
Аноним 28/10/21 Чтв 16:36:43 #902 №2196178 
>>2195912
>>хорошее на юдеми смотрел?
Мне Mosh понравился, amigoscode. Батыршинов (JavaBegin) и Алишев тоже пойдет. Они и на ютюбе есть (но там не все само собой).
Книги читал только по патернам/архитектуре/алгоритмам. По фреймворкам - хуита. Устаревают быстро.
Аноним 28/10/21 Чтв 16:42:03 #903 №2196190 
>>2196178
>Книги читал только по патернам/архитектуре/алгоритмам
какие?
Аноним 28/10/21 Чтв 16:56:29 #904 №2196226 
>>2196154
>Ты офис то посмотрел? Прилично выглядит? Чай-кофе-печеньки есть?
там совок. 5-10 кабинетов по соседству с кучей других компаний, в советском административном здании, переделанном под офисы.
И подход очень совковый у всех, госслужбисткий.
Но просто это в моей мухосрани в 20 минутах ходьбы от сычевальни. У нас в мухосрани есть еще адовые местные галеры. в 2\3 из них вообще нет спринга, а в остальных вакансии бывают раз в год. Может самому написать им в соцсети?(Знакомый фронт начинал с одной из этих галер и перекатился в епам на удаленку и сказал по организации процессов земля и небо, плюс переработки прям сразу)
>Иди по пути наименьшего сопротивления.
да, уже энтити накидал, вроде сохраняется. Правда всегда боюсь с jpa что-то напутать в связях типа manyToMany. Сейчас сервис с регулярочкой буду пилить, а потом контроллер и фронт.
Аноним 28/10/21 Чтв 16:56:50 #905 №2196227 
>>2196190
По алгосам - для начала и грокаем алгоритмы пойдет, Седжвика понемногу читаю (у него курс на курсере есть) но пока времени маловато. Это больше на вырост, щас я джейсоны перекладываю.
Паттерны, архитектура - Фаулер + мельком про DDD (Миллет). GoF пишут сложно и непонятно, но внезапно есть Head First Design Patterns в котором все это пересказано человеческим языком с примерами (другие книги серии не рекомендую, но эта - ок).
Но паттерны/архитектуру со временем и так понимать начинаешь и книги лучше читать когда уже не нулевой и писать что то осмысленное умеешь.
Аноним 28/10/21 Чтв 17:20:37 #906 №2196288 
>>2196227
Ну грокаем это по сути просто перечисление общего смыла алгосов, после них деревья не покрутишь.
Блоха советуют уж очень многие и Чистый код. думаешь стоит читать?
Аноним 28/10/21 Чтв 17:40:01 #907 №2196324 
>>2196288
Так этого и так хватает. На собесе про О(n) ответить сможешь, а деревья крутить джуна не отправят.
>>Чистый код
Если нравится фантастика. Это работает до первого изменения требования перед дедлайном.
>>Блоха
Я читал местами перед самим вкатом, чтоб подтянуть то что слабовато знал. А так лучше время потратить на практику и спринг.
Аноним 28/10/21 Чтв 17:52:17 #908 №2196337 
>>2196226
>Может самому написать им в соцсети?
Напиши, хуже не будет ни в какие черные списки тебя не внесут, а так может что и выйдет.

Аноним 28/10/21 Чтв 18:26:40 #909 №2196379 
1633374028110.png
7 месяцев уже работаю на удалёнке. И вот казалось бы мечта уже исполнилась, но откуда не возьмись появилась другая проблема: мне лень даже из дома выйти в последний месяц. Я тупо утром просыпаюсь, сажусь за комп, работаю, вечером закрываю рабочий ноут, сажусь за пека, играю, ложусь спать, и так дальше по кругу.

Сэймы есть?
Аноним 28/10/21 Чтв 18:34:46 #910 №2196390 
>>2196379
Сколько кило нажрал?
Аноним 28/10/21 Чтв 18:37:20 #911 №2196394 
>>2196390
Хз
Аноним 28/10/21 Чтв 18:41:57 #912 №2196402 
>>2196390
Живу также как анон, за полгода не изменился вес. Все что нажираю теряю при очередном стрессе/депрессии.
Аноним 28/10/21 Чтв 18:43:26 #913 №2196406 
>>2196402
Как блять разбавить эту рутину ебаную? Вечером хотелось бы покодить что-то интересное, и вроде хочется, и сил нет.
Аноним 28/10/21 Чтв 20:09:27 #914 №2196508 
>>2196406
Всего-то надо иметь какую-то жизнь кроме кода
Аноним 28/10/21 Чтв 20:19:05 #915 №2196524 
>>2196226
>5-10 кабинетов по соседству с кучей других компаний
это ГОРАЗДО ЛУЧШЕ модного аквариума опенспейса. Уж поверь
Аноним 28/10/21 Чтв 21:01:42 #916 №2196564 
>>2196508
Как в нее вкатится то, в эта вашу жизнь кроме кода?
Аноним 28/10/21 Чтв 21:23:13 #917 №2196580 
>>2196564
купи машину, к ней гараж. Это для начала
Аноним 28/10/21 Чтв 21:28:34 #918 №2196584 
>>2196564
Мне тоже интересно
Аноним 28/10/21 Чтв 21:36:32 #919 №2196596 
>>2196564
Вернуться с удалёнки в офис, начать активно общаться с какой-нибудь тяночкой-QA.
Аноним 28/10/21 Чтв 22:56:34 #920 №2196689 
Что прочитать небольшое по объему по гарбеж котлектарам, и загрузчикам классов, чтобы адекватно ответить на собесе на эти темы.
Аноним 28/10/21 Чтв 23:01:22 #921 №2196692 
>>2196689
Книги по кору.
Аноним 28/10/21 Чтв 23:02:02 #922 №2196693 
>>2196692
там нет
Аноним 28/10/21 Чтв 23:05:36 #923 №2196698 
>>2196693
Есть. Бля буду.
Аноним 28/10/21 Чтв 23:22:28 #924 №2196730 
>>2196698
все книги по кору, предлагаешь прочитать?
Аноним 28/10/21 Чтв 23:27:59 #925 №2196741 
>>2196730
Читай первую.
Аноним 28/10/21 Чтв 23:45:33 #926 №2196749 
>>2196741
первой как известно был Брюс Эккель Thinking in Java. там этого нет, ты ошибся.
Аноним 28/10/21 Чтв 23:46:59 #927 №2196750 
>>2196749
Нет, не Первую, а первую.
Аноним 28/10/21 Чтв 23:55:44 #928 №2196758 
>>2196750
"Первую".equalsIgnoreCase("первую");
true
Это одно и то же.
Аноним 29/10/21 Птн 00:01:06 #929 №2196762 
>>2196758
ЖАБА ТЕПЕРЬ БЕЙСИК? РЕГИСТРРНЕЗАВИСИМАЯ?
Аноним 29/10/21 Птн 00:07:40 #930 №2196767 
>>2196762
Да, ты слишком долго спал. В java 8 добавили регистронезависимость и лямбды. В семнашке ещё строгую типизацию вроде убрали.
Аноним 29/10/21 Птн 00:13:04 #931 №2196770 
>>2196767
ЭТО ХОРОШО! ДОГНАТЬ И ПЕРЕГНАТЬ!
Аноним 29/10/21 Птн 01:27:27 #932 №2196798 
>>2196689
>>по гарбеж котлектарам
https://www.freecodecamp.org/news/garbage-collection-in-java-what-is-gc-and-how-it-works-in-the-jvm/
Аноним 29/10/21 Птн 01:53:47 #933 №2196820 
Как познавать хибернейт? Книга Java persistence api и hibernate — круто? И стоит ли его одновременно со спрингом изучать?
Аноним 29/10/21 Птн 05:45:07 #934 №2196854 
>>2196596
Они же тупые все.
Аноним 29/10/21 Птн 07:07:08 #935 №2196865 
Объясните, плиз. Какой смысл делать поля private, если все равно через getter/setter можно значения получать/изменять?
Аноним 29/10/21 Птн 11:11:18 #936 №2197020 
>>2196854
Тогда с тяночкой-аналитиком, они поумнее.
Аноним 29/10/21 Птн 13:43:53 #937 №2197184 
>>2196865
На самомм деле в модификаторах доступа вообще смысла нет. Ведь к любому полю можно получить доступ через рефлексию.
Делать доступ к полю напрямую без геттеров\сеттеров это детские грабли.
Если сделать геттер и сеттер, то это оставит больше возможностей для изменений в будущем. Ты сможешь добавить логику для этих методов.
Аноним 29/10/21 Птн 13:47:02 #938 №2197190 
>>2197184
Да, здорово потом ебаться с геттерами, которые лезут в базу своими селектами пару раз и апдейты видел
Аноним 29/10/21 Птн 13:57:37 #939 №2197198 
>>2196820
круто, но ты в ней утонешь на несколько месяцев.
Аноним 29/10/21 Птн 15:19:05 #940 №2197267 
>>2197198
Окей, спасибо. Как тогда не утонуть? Что вообще нужно знать из хибера джуну?
Аноним 29/10/21 Птн 15:28:21 #941 №2197280 
>>2197267
> Как тогда не утонуть?
Читать мурзилки.
> Что вообще нужно знать из хибера джуну?
Знать инфу из пары туториалов и суметь написать круд на жпа.
Аноним 29/10/21 Птн 15:41:16 #942 №2197284 
У нас было я знаю джава кор, с большей частью стандартной либы (включая всякие типа "сложные" закоулки, вроде дженериков, стрим апи, рефлексию, етц) низкоуровневое коннективити к базам данных, sql конечно же, немного опытен в свинге (хотя это тоже по большому счету станд.либа), и очень хорошо умею абстрагировать предметную область в какую-то программную архитектуру. Я могу с таким багажом уже стать джуном, или смело могу пойти сразу нахуй доучиваться?
Аноним 29/10/21 Птн 15:49:46 #943 №2197289 
>>2197284
Можешь.
Аноним 29/10/21 Птн 16:06:13 #944 №2197297 
>>2197284
>я знаю джава кор, с большей частью стандартной либы (включая всякие типа "сложные" закоулки, вроде дженериков, стрим апи, рефлексию, етц) низкоуровневое коннективити к базам данных, sql конечно же, немного опытен в свинге (хотя это тоже по большому счету станд.либа), и очень хорошо умею абстрагировать предметную область в какую-то программную архитектуру.
Набор студента, перешедшего на второй курс. Пока сам не напишешь круд, покрытый тестами и упакованный в контейнер, шансы на вкат минимальны даже на стажировку
Аноним 29/10/21 Птн 16:26:25 #945 №2197312 
>>2197297
Проигрываю с местных экспертов-крудошлепов, которые из мультипарадигмального языка общего назначения сделали средство шаблонного крудошлепия, и не только этим гордятся, но еще и других через это мерило оценивают. Кринж нахуй. Ни дать ни взять, макаки забивающие микроскопом гвозди.
мимо
Аноним 29/10/21 Птн 16:34:59 #946 №2197317 
>>2197312
Проигрывай дальше
>из мультипарадигмального языка общего назначения сделали средство шаблонного крудошлепия, и не только этим гордятся, но еще и других через это мерило оценивают.
Абсолютно во всех прочих задачах c# лучше, а дополнительно мои хотелки закрывает rust. Я больше не пишу на джаве вне РАБоты
Аноним 29/10/21 Птн 16:37:32 #947 №2197320 
>>2197312
Если 80% вакансий такие, а на джунов-джавистов, которых нанимают открыто по объявлениям за 90%, то остальное просто статистически незначимо.
Так что для вкатунца по факту джава и является
>средство шаблонного крудошлепия
Это сложившееся в сообществе мнение.
Аноним 29/10/21 Птн 16:39:33 #948 №2197323 
>>2197317
В чем прикол раста в сравнении с Си например? Что он может такого особенного?
Аноним 29/10/21 Птн 16:40:35 #949 №2197324 
>>2197284
>включая всякие типа "сложные" закоулки, вроде дженериков
Никто не знает дженерики.
Сделай Builde дженерик, так чтобы код компилировался https://pastebin.com/CnSRGQhY
Аноним 29/10/21 Птн 16:44:27 #950 №2197329 
>>2197317
Согласен про шарп на 107%. Хотя с одним но: Intellij лично для меня лучше VS, кроме своего мегаублюдочного конструктора форм (которые в Java все равно не нужны) Хотя есть решарпер и райдер, конечно, но я не пробовал.
Почему ты тогда не найдешь работу на шарпе?
Аноним 29/10/21 Птн 17:21:00 #951 №2197382 
genify.jpg
>>2197289
Благодарю за надежду :3
>>2197297
Окей, буду пока учиться еще
>>2197324
Легко. Ну что, берешь на работу, лол.
В классе Бэ там аналогичный прием, только
public <T extends B.Builder>T bar(String bar) {...}
Аноним 29/10/21 Птн 17:38:15 #952 №2197408 
jpaDtoElementCollection.PNG
Знатки jpa, помогите. Есть документ, у него есть коллекция "кодов", коды я засунул в @ElementCollection(fetch = FetchType.EAGER), потому что они всегда нужны.
Но на фронт мне нужно отдавать лист дтошек, все без основного текста.
Долгим перебором и подбором я дошел до выделенного jpql запроса, но он все равно не работает и я не понимаю почему.
Аноним 29/10/21 Птн 17:42:38 #953 №2197411 
Screen Shot 2021-10-29 at 16.40.44.png
>>2197382
>Легко. Ну что, берешь на работу, лол.
Мы вам перезвоним.
Аноним 29/10/21 Птн 18:05:03 #954 №2197433 
>>2197284
В голосину с этих сложных закаулков, хотя если под знанием стримов ты подразумеваешь написание кастомных сплитераторов, тогда вопросов нет
Аноним 29/10/21 Птн 18:10:09 #955 №2197441 
>>2197433
А знание спринга - это постпроцессоры бинов @ несколько контекстов.
Аноним 29/10/21 Птн 18:19:07 #956 №2197455 
>>2197411
Ну, ты ж не сказал что надо именно класс билдера дженерезировать. Можно и так попробовать
>>2197433
От чего тут в голосину? Так уж видимо сложилось, что все навыки 95% прогающих на джаве сводится в дженериках к List<String> list, в стримах к какому-нибудь Array.toStrim.max, а рефлекшен это что-то что лучше вообще не трогать потому что нарушает какую-то там безпасность и медленно. Ну либо у меня в окружении одни дебилы, я не уверен.
Аноним 29/10/21 Птн 18:30:55 #957 №2197472 
genify2.jpg
>>2197411
Ну хз, мусора всякого так побольше, чем если только целевые методы дженеризировать. Но для любителей кучи скобочек и брейнфакинга конечно лучше
https://pastebin.com/BTQAPYTX
Аноним 29/10/21 Птн 18:32:12 #958 №2197476 
Есть проект на буте,он запускается,но грейдл все равно мне подсовывает значок "load gradle changes". Когда я туда нажимаю в Build: Sync вылезает имя проекта:failed. Почему так и нахуя он так делает. Повторюсь, проект работает без нареканий
Аноним 29/10/21 Птн 18:33:36 #959 №2197484 
>>2197476
Грейдл хуйня.
Аноним 29/10/21 Птн 18:41:19 #960 №2197499 
>>2197484
Сыглы,а фиксить как?
Аноним 29/10/21 Птн 18:42:31 #961 №2197501 
>>2197499
Используй мавен.
Аноним 29/10/21 Птн 18:42:37 #962 №2197502 
>>2197499
Переделывать на мавен, где таких проблем нет.
Аноним 29/10/21 Птн 18:51:59 #963 №2197518 
>>2197501
>>2197502
Ага,прям сейчас побегу переписывать весь проект на мавен
Аноним 29/10/21 Птн 18:55:21 #964 №2197521 
>>2197455
>Ну, ты ж не сказал что надо именно класс билдера дженерезировать. Можно и так попробовать
Очевидно же что: .<C.Builder>.bar() - это говно. Хорошо когда в API сами дженерики не отсвечивают вообще.
A a = A.builder().foo(1).build();
B b = B.builder().foo(1).bar("abc").build();
C c = C.builder().foo(1).bar("abc").baz(0.5).build();


>>2197472
Much better! @SuppressWarnings("unchecked") только добавить, чтобы глаза не мозолило.
Аноним 29/10/21 Птн 19:02:45 #965 №2197531 
>>2197521
Ну, ты прав, конечно.
В основном в том, что многословность самого внутреннего кода - всего один раз, а клиентские многословные вызовы - многократные.
Хотя интуитивность даже дженерик-методов хорошая, как по мне - сразу видно что дженерик значит.
Короче согласен во всем.
Аноним 29/10/21 Птн 19:24:08 #966 №2197561 
>>2197518
Давай-давай.
Аноним 29/10/21 Птн 19:37:39 #967 №2197565 
Сап. Поясните, чем джава принципиально и нишево отличается от PHP? вроде и то и то - серверный бэкэнд.
Аноним 29/10/21 Птн 19:49:28 #968 №2197574 
>>2197565
Принципиально - ничем, все языки программирования более-менее взаимозаменяемы, если опустить ряд особенностей вроде типизации или многопотока.
Нишево - сложилось так, что жабу в основном юзают в очень больших проектах, а пхп - в маленьких и средних. Из-за этого экосистема развивается по-разному, и заменить одно на другое сложно. Жабашарпы отдельно, питонопыхожиесы отдельно.
Аноним 29/10/21 Птн 19:55:58 #969 №2197582 
>>2197574
А руби и нода это та же ниша, что питон с пыхой?
Аноним 29/10/21 Птн 19:56:24 #970 №2197583 
>>2197574
Ну вообще странно. Это значит, джава умеет поддерживать бОльшую сложность, чем пхп. Почему тогда она не вытеснила его и из малых проектов?
Аноним 29/10/21 Птн 19:58:17 #971 №2197586 
>>2197582
Да.
>>2197583
Не всё так просто. Жаба может поддерживать сложность, а вот простоту не может. Попробуй без удобных пыхо-CMS и фрейморков сделать какой-нибудь интернет-магазин на жабе - ёбнешься. Пыхоплеяда тем хороша, что небольшие проекты на ней очень быстро пишутся.
Аноним 29/10/21 Птн 20:18:46 #972 №2197603 
>>2197476
Пиздец, теперь эта долбоебина вообще не стартует. Все классы помечены красным значком j. При этом в Edit Configuration он мейн класс не видит,ебанат блять
Аноним 29/10/21 Птн 20:20:08 #973 №2197604 
>>2197603
Мавен, мавен, мавен.
Аноним 29/10/21 Птн 20:43:32 #974 №2197613 
А можно как то в спринге в теле хттп-запроса передавать обычные стринги?
Вот мне нужно передать с фронта пост запросом 2 поля объекта и еще 4 сфомировать на беке. И сперва я 4 поля забивал нулями. Но это как то не очень. Я например не хочу, чтобы фронт знал все поля настоящего энтити.
Ну самый разумный ответ - дтошка с этими двумя полями.
Но нелья ли просто две строчки передать в теле (ну вот лень мне писать дтошку например) без обертки? Если нельзя, то почему?
Аноним 29/10/21 Птн 20:55:20 #975 №2197623 
>>2197613
Можно аннотациями Jackson, но это ебучая магия.
https://stackoverflow.com/questions/16019834/ignoring-property-when-deserializing
Аноним 29/10/21 Птн 21:19:13 #976 №2197639 
>>2197604
Уже перекопировал блять,спасибо дядь вов. А вообще,я посмотрел что изменилось и сраный грейдл тупо проебал все стартеры,хотя они записаны в файле конфигурации,и не хотел билдиться потому что не может найти файлы, которые он сам должен был скачать и внедрить. Долбоеб блять,хуй я больше когда к этой залупе притронусь
Аноним 29/10/21 Птн 21:20:48 #977 №2197641 
>>2197639
Я ведь хотел сегодня блять день посвятить изучению спринга,постгрес в докер закинуть и подключить к проекту,а вот хуй там,с двух часов,а это уже блять 9 с половиной часов,9 сраных часов я пытался починить эту шайтан машину. Пошел нахуй дибил ебучий сука зла не хватает
Аноним 29/10/21 Птн 21:37:26 #978 №2197657 
>>2197184
>>это оставит больше возможностей для изменений в будущем
А потом в каждый проект тащишь ломбок, пишешь @Getter @Setter и не видишь этих геттеров больше никогда.
Аноним 29/10/21 Птн 21:40:25 #979 №2197662 
Какая разница какой ждк использовать? В чем разница например между амазоновским,оракловским и либерикой?
Аноним 29/10/21 Птн 21:42:23 #980 №2197665 
>>2197639
>Долбоеб блять,хуй я больше когда к этой залупе притронусь
Вот и правильно. Больше джаву не трогай.
Аноним 29/10/21 Птн 21:44:30 #981 №2197667 
>>2197662
С либерикой ты можешь претендовать на включение в реестр отечественного ПО, а с ораклом нет
sageАноним 29/10/21 Птн 21:46:45 #982 №2197670 
D4OyIsvW0AE0fZl.jpg
>>2197641
Аноним 29/10/21 Птн 22:32:25 #983 №2197689 
>>2197657
Ну а ты как хотел? Один костыль, чтобы замести следы за другим. Минус на минус дают плюс. А два костыля совершают работу, результирующая которой, стремится к нулю. Зато соломка подстелена. Все выиграли.
Аноним 29/10/21 Птн 22:45:52 #984 №2197690 
>>2197689
Все выиграли, кроме шарпоблядей, у которых сделано нормально, но всем похуй, все юзают жабу позорную.
Аноним 29/10/21 Птн 23:28:00 #985 №2197700 
В идее во вкладке VCS среда видит гит и показывает версию,а когда пытаюсь использовать через терминал пишет что гит не является командой. Что делать?
Аноним 29/10/21 Птн 23:33:59 #986 №2197703 
>>2197700
Ну так идея умная и знает, где искать гит, нашла его по стандартному пути в Program Files, а терминал тупой и сдаётся, если не нашёл чего-то в PATH.
Аноним 30/10/21 Суб 01:19:02 #987 №2197767 
>>2197284
Вот примерно такое ты должен уметь написать для джуна:
https://github.com/Raiffeisen-DGTL/cib-interns-test-task
Аноним 30/10/21 Суб 01:28:52 #988 №2197771 
>>2197613
>Если нельзя, то почему?
Можно, но все просто пишут DTO-шку для этих целей, потому что мапперы вполне себе хорошо их сериализуют.
Плюс объект DTO можно легко валидировать, расставив аннотации для Validation Api в нём, и он сразу отрыгнёт экспепшеном в контроллере, если фронт невалидного говна прислал.
Аноним 30/10/21 Суб 02:00:58 #989 №2197777 
>>2197767
Если не считать того, что будет плюсом, то довольно простое задание для пары вечеров.
Только я не понял, что означает
standalone - состоять из одного выполняемого компонента верхнего уровня
и
Схему БД желательно хранить в репозитории в любом удобном виде.
Кто-нибудь может пояснить?
Аноним 30/10/21 Суб 02:01:16 #990 №2197778 
>>2197771
Помоги по-братски сделать дтошку. Или разубеди ее делать.
Короче хотел деркать дто прямо из базы. Но у меня не получается:
>Есть сущность "документ", у него есть коллекция "кодов", коды я засунул в @ElementCollection(fetch = FetchType.EAGER), потому что они всегда нужны. Из сущности выделяется дто, все поля кроме текста.
Нужно сформировать метод для репозитория springDataJpa и запросом jpql, который возвращает лист с теми DTO, сет кодов которого содержат определенный код. https://pastebin.com/ztsB90Dp
Тут мне вместо сета в конструктор дтошки передается один лонг.
И еще вся проблема в том, что мне нужен не просто лист дто, а с пагинацией.
Так вот я разобрался, как забрать page сущностей, а потом их форматнуть в page dto на ходу. Но там будет грузиться каждый раз самое большое поле из базы. За это могут предъявить.
И мне еще по этим кодам потом фильтровать надо будет.
Сейчас уже думаю лучше бы на jdbc пилил тестовое это. Правда там с пагинацией еще больше проблем.
Аноним 30/10/21 Суб 02:06:40 #991 №2197779 
>>2197703
Ебать даун внатуре,и на эту хуйню дрочат красноглазики
Аноним 30/10/21 Суб 02:30:19 #992 №2197785 
>>2197777
>standalone - состоять из одного выполняемого компонента верхнего уровня
Грубо говоря - всё запаковано в один джарник. Без каких-нибудь томкатов рядом, в которые ещё нужно это всё задеплоить. Ну, в общем-то, это как раз джарник спрингбута и будет.

>Кто-нибудь может пояснить?
Обычное описание sql-запроса на создание схемы базы данных в файле.
Аноним 30/10/21 Суб 02:30:51 #993 №2197786 
>>2197777
>standalone - состоять из одного выполняемого компонента верхнего уровня
Ожидают, что ты не будешь выебываться и твое приложение будет состоять из одного сервиса.
>Схему БД желательно хранить в репозитории в любом удобном виде.
Выложишь вместе с приложением дамп своей БД.
Аноним 30/10/21 Суб 02:33:00 #994 №2197787 
>>2197778
Анон, я завтра отпишу тебе, если никто раньше не ответит бошка болит пиздец и шевелить мозгами сложно
Аноним 30/10/21 Суб 07:58:49 #995 №2197830 
>>2197767
Хуёво. Я такое легко могу сделать, но не в вебе. Да ладно, я уже и так понял, да и раньше знал, что без веба практически некуда лезть
Аноним 30/10/21 Суб 09:56:04 #996 №2197874 
>>2197586
>Попробуй без удобных пыхо-CMS
на жабе тоже есть cms
Аноним 30/10/21 Суб 09:57:40 #997 №2197876 
>>2197583
>Почему тогда она не вытеснила его и из малых проектов?
потому-что пыхпыхеры тоже хотят кушать
Аноним 30/10/21 Суб 10:27:14 #998 №2197891 
>>2197767
Мне тестовое в "рога и копыта" выдали посложнее. Через неделю(как выполню или сдамся окончательно) выложу суда.
Аноним 30/10/21 Суб 11:08:09 #999 №2197917 
>>2197767
Посмотрел пул реквесты и почему-то все вкатыши напрочь игнорируют существование в этом мире составных ключей. Их вообще не смущает, что генерируемый id не используется фактически никак, а все выборки осуществляются фактически по двум колонкам, которые у них не ключевые, ещё и без индексов.
Аноним 30/10/21 Суб 11:24:43 #1000 №2197926 
>>2197917
Чел, я с гитом пока на вы. А как удобнее их смотреть в гитбаше/идее? Склонировать проект, в идее есть еще git -> github -> view pull requests. И виден код. Как этот код запустить или скопировать себе этот код с пулреквеста? Я вообще это могу сделать, как не владелец репозитория?
Ну и раз смотрел вкатунские пулреквесты, скинь пожалуйста ссылку на лучшее из худшего, что видел.
Аноним 30/10/21 Суб 13:25:45 #1001 №2197998 
>>2197787
короче с Interface-based Projections https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections все работает без jpql, чисто на методах спрингдаты.
А с обычными дто я ебался весь день вчера.
И пагинация, и само отделение дто(проекции) и фильтрация по элементам коллекции.
Это практически все задание и есть. Сейчас на постгрес вместо h2 только накину. И только контроллеры с фронтом останутся.
Аноним 30/10/21 Суб 13:27:20 #1002 №2198000 
>>2197876
Хрень полная. Какие-нибудь паскалисты тоже хотят, однако все они сдохли, и считанные выжившие единицы сидят в петушином углу
Аноним 30/10/21 Суб 14:05:58 #1003 №2198025 
image.png
Сап тред. Есть вопрос. На прикреплённой пикче выдержка из документации к PostConstruct. Если исходить из написанного, то получается, что обработка Inject происходит перед PostConstruct.

Вопрос: почему так? Ведь тогда получается, что впрыскивание происходит раньше, чем запускается postInit у BPP. То есть при такой логике впрыскивается неактуальный бин (например, без прокси). Как понимать такое?
Аноним 30/10/21 Суб 14:17:03 #1004 №2198031 
>>2198025
А зачем понимать такое?
Аноним 30/10/21 Суб 14:18:50 #1005 №2198034 
>>2196798
>Описывают пермген, который выпилили в JDK 8.
>Свежатина!
Аноним 30/10/21 Суб 14:26:21 #1006 №2198045 
>>2198031
Как я буду пользоваться Спрингом, если не знаю до конца, как происходит создание объекта и как я могу на это повлиять?
Аноним 30/10/21 Суб 14:34:46 #1007 №2198048 
>>2198045
Это называется абстракция.
Аноним 30/10/21 Суб 14:37:21 #1008 №2198051 
>>2198025
>почему так?
Потому что нахуя тебе на практике PostConstruct-метод, в котором ты не можешь использовать зависимости бина.

>Ведь тогда получается, что впрыскивание происходит раньше, чем запускается
Действительно так, на этапе вызова PostConstruct не вся инициализация из BPP уже отработала, и что-то может быть еще "неауктуальным". На практике чаще всего этот эффект заметен в виде неработающих @Transactional.
Аноним 30/10/21 Суб 14:39:13 #1009 №2198055 
>>2198025
Я надеюсь ты не из тех вкатывальщиков, кто решил сначала досконально изучить теорию спринга, прежде чем попытаться на нем что-то написать.
Аноним 30/10/21 Суб 14:47:38 #1010 №2198061 
>>2198055
Так это правильный подход. Сначала учишь C, потом C++, потому джаву, причём задрачиваешь сокеты, свинг, треды и прочее, потом сервлеты с ЕЕ, потом спринг, потом спринг бут. По каждому читаешь минимум одну книгу на 1000 страниц.
Аноним 30/10/21 Суб 14:57:59 #1011 №2198073 
>>2198061
>начинать с высокоуровневого языка
Лоускилльный вкатыш, плз
Аноним 30/10/21 Суб 15:00:25 #1012 №2198076 
>>2198073
Так ассемблеры - это БАЗА, туда же вышмат, информатика и прочее. Это изучается само собой, но началом вката ещё не является.
Аноним 30/10/21 Суб 15:02:36 #1013 №2198078 
>>2198045
Ну ты же не понимаешь досконально как работают процы от интела и амд, изготовленные за последние 5 лет, на которых и будут работать твои серверные программы под спрингом. И ничего.
Аноним 30/10/21 Суб 15:20:07 #1014 №2198102 
>>2198061
Ну си и ассемблер куда ни шло. Но зачем тут плюсы? И си с ассемблером учится во время изучения архитектуры эвм, операционок и сетей. Там талмуды типа Таненбаума и после каждого талмуда горы спецификаций последних версий железа/операционок/сетевых протоколов. Ведь талмуды пишутся с задержкой 5-20 лет.
Ну и куда после синтаксиса джавы в сервлеты сразу? А спецификация jvm как же? Там тоже гора абстракций, которую абстракционист-перфекционист должен задрочить.
Аноним 30/10/21 Суб 15:24:22 #1015 №2198105 
>>2198102
C++ - это мост в промышленные языки из C.
Ассемблер учится параллельно с архитектурой, но не C.
Спецификации надо читать сеньорам, для вката достаточно учебных талмудов по EE.
Аноним 30/10/21 Суб 15:27:56 #1016 №2198108 
>>2198048
>>2198055
Ну всё равно же полезно знать, как оно работает, хотя бы в общих чертах.

>>2198051
Спасибо, понял. А как тогда быть, если нужно впрыснуть проксированный объект? Свой костыль городить как-то через Listener?
Аноним 30/10/21 Суб 15:48:25 #1017 №2198121 
>>2198108
Хотя прокси ведь в поле для обычного класса и не впрыснешь... Ладно, отложу пока этот вопрос.
Аноним 30/10/21 Суб 15:56:58 #1018 №2198128 
Посоветуйте схему вката в спринг, плиз. С чего начать и по каким материалам, желательно не курсы а книги/видеоролики в свободном доступе или на торрентах
Аноним 30/10/21 Суб 16:04:47 #1019 №2198135 
>>2198128
Мурзилки по спрингу в свободном доступе.
Аноним 30/10/21 Суб 16:08:21 #1020 №2198140 
Перекат будет когда Loom вольют в LTS версию языка. Иначе перекатывать разрешается только с аниме тяночкой в оп-посте.
Аноним 30/10/21 Суб 16:13:28 #1021 №2198148 
.png
.png
.png
.png
>>2198140
1234
Аноним 30/10/21 Суб 16:13:48 #1022 №2198149 
.png
.jpg
.png
.png
>>2198140
5678
Аноним 30/10/21 Суб 16:14:44 #1023 №2198150 
.png
>>2198140
9
Аноним 30/10/21 Суб 16:14:58 #1024 №2198151 
>>2198149
>3
Это эклипсоуебище не ставить
Аноним 30/10/21 Суб 16:15:07 #1025 №2198152 
>>2198148
>>2198149
Не канон, ни на одной нет обвеса из 10 аннотаций
Аноним 30/10/21 Суб 16:20:34 #1026 №2198158 
>>2198128

Отус
>>2195425
вот другой чел советовал. Я только алишева смотрел. Основы наверно лучше ди популярнее всего разжеваны
>>2196178
Еще prospring5 читал. С нуля подойдет, но много неактуального в примерах. Почти все примеры без бута и на хсл кофнигах. И самое уебищное это градл, причем древний, у которого нет обратной совместимости с нынешним.
Ну и по примерам - книга spring in action и на ютубе letscode два плейлиста хороших.
Аноним 30/10/21 Суб 17:48:16 #1027 №2198257 
>>2197917
>составных ключей
огромное зло. Ты реально такое применяешь в проде?
Аноним 30/10/21 Суб 17:49:17 #1028 №2198259 
>>2198000
пхп позволяет делать веб-приложухи, а паскаль нет
Аноним 30/10/21 Суб 17:58:38 #1029 №2198276 
>>2198259
Паскаль позволяет делать и веб-приложухи, и десктоп, и многое другое, а пхп только веб.
Аноним 30/10/21 Суб 18:00:50 #1030 №2198283 
Грузить все реализации какого-либо интерфейса через ServiceProvider в одном и том же приложении норм идея?
Аноним 30/10/21 Суб 18:08:24 #1031 №2198289 
>>2198259
Паскаль общего назначения язык, на нем что угодно можно, просто он нахуй никому не нужен, никаких ниш не смог занять, фреймворков нет, даже рад-студия пидорское ПО, которое стоит дохуя а пиратнутое стучит в офис разрабам
Аноним 30/10/21 Суб 18:10:32 #1032 №2198291 
>>2198283
Нет, это очень хуёвая идея. Делай как все нормальные люди через DI.
Аноним 30/10/21 Суб 18:13:43 #1033 №2198296 
>>2198108
>А как тогда быть
1. Убедиться, что проблема не умозрительна, а реально существует - ты в ситуации, когда нужно использовать в PostConstruct нечто, что не успевает подцепиться.
2. Использовать любой подходящий workaround, например, вместо @Transactional брать напрямую TransactionManager
Аноним 30/10/21 Суб 18:25:20 #1034 №2198321 
>>2198291
Нахуй DI, если сканирование класспаса дороже сервис провайдеров?
Аноним 30/10/21 Суб 18:25:43 #1035 №2198322 
>>2198257
Речь-то не о проде, а о задаче
Аноним 30/10/21 Суб 18:27:39 #1036 №2198326 
>>2198321
И насколько часто надо этот класспатх сканировать, м?
Аноним 30/10/21 Суб 18:29:04 #1037 №2198330 
>>2198326
При каждом запуске.
sageАноним 30/10/21 Суб 18:49:08 #1038 №2198348 
>>2198257
А в чем проблема составных ключей?
Аноним 30/10/21 Суб 20:49:59 #1039 №2198483 
>>2197917
>>2198257
Вообще, для таких задач просто индексы нужно прописывать на нужные поля.
Другое дело, что в том же liquibase, у меня ни в какую не получилось индексы прописать. Ни через ченджлоги, ни через инклюд sql-скриптов напрямую. Была как-то такая задача - провозился в этой парашей 4 часа, и нихуя не заработало.
Может быть, в этом и причина, почему многие так сделали схему.
Аноним 30/10/21 Суб 21:53:56 #1040 №2198534 
>>2198348
1) Как ты будешь ссылаться на эту таблицу из других таблиц? Там тоже делать дублирующие поля для составного ключа?
2) Может измениться структура, правила заполнения этих полей, обязательность, возможность дублирования и так далее. Всё это создаст огромные проблемы если использовать их в качестве ключей
3) Производительность и сложность индексирования. Ключ по текстовому полю - плохая идея
Аноним 30/10/21 Суб 21:56:08 #1041 №2198536 
>>2198534
4) Поля могут меняться. Как их менять, если они выступают в качестве ключа?
Аноним 30/10/21 Суб 22:26:31 #1042 №2198548 
Как именно спринг бут запускает веб сервер?
Аноним 30/10/21 Суб 22:29:52 #1043 №2198551 
You can close all the open tool windows at once and thus enlarge the split screens. Place the cursor in an editor tab and press Ctrl+Shift+F12 or just double-click the tab. IntelliJ IDEA hides all the open tool windows so all the space is shared by split screens.

Как блять это говно ёбаное отключить? Каждый 3 раз при переключении вкладок у меня эта поебень срабатывает. Уже клавиатуру пополам почти сломал.
Аноним 30/10/21 Суб 22:36:20 #1044 №2198553 
>>2198548
он содержит в своем составе встроенный
Аноним 30/10/21 Суб 22:40:23 #1045 №2198559 
idea-tabs.png
>>2198551
Таки нашёл. Почти час искал.
Аноним 30/10/21 Суб 22:46:54 #1046 №2198562 
>>2198548
AnnotationConfigWebApplicationContext aactx = new AnnotationConfigWebApplicationContext();
aactx.register(YourAppConfig.class);
DispatcherServlet dispatcher = new DispatcherServlet(aactx);
Tomcat tomcat = new Tomcat();
tomcat.setBaseDir(System.getProperty("java.io.tmpdir") + "tomcat_embed");
tomcat.setPort(8080);
Context rootCtx = tomcat.addContext("", new File(".").getAbsolutePath());
Tomcat.addServlet(rootCtx, "DispatcherServlet", dispatcher);
rootCtx.addServletMappingDecoded("/", "DispatcherServlet");
tomcat.start();
tomcat.getServer().await();

Но реально это размазано на 100500 классов.
Аноним 30/10/21 Суб 22:58:01 #1047 №2198567 
>>2198562
>tomcat.start();
>tomcat.getServer().await();
В каком классе эти методы вызываются?
Аноним 30/10/21 Суб 23:05:47 #1048 №2198572 
>>2198567
https://github.com/spring-projects/spring-boot/blob/47516b50c39bd6ea924a1f6720ce6d4a71088651/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/tomcat/TomcatWebServer.java
Аноним 30/10/21 Суб 23:39:30 #1049 №2198590 
>>2198572
Хм, прямо в конструкторе эти методы вызываются? То есть томкат стартует сразу после создания бина спрингом?
sageАноним 31/10/21 Вск 00:25:33 #1050 №2198604 
>>2198534
А, ты про это. А если составной ключ для Many to many связей?
Аноним 31/10/21 Вск 00:47:22 #1051 №2198618 
Привет, народ! Интересно узнать, кто что думает... скоро в университете иннополис стартует третий поток для обучения разработке корпоративных приложений на java (чуть ранее стартовало уже два, в каждом, как я понял, по 1000 мест). Самый прикол в том, что половину обучения платит государство, половину какая-то конторка Тим Форс, обещая после завершения обучения - собеседование и, возможно, трудоустройство. При этом, если последует офер, должен на них отработать год... так сказала менеджер. Сам курс стоит в районе 95к, итого на каждого вкатуна они раскошелятся на ~45к... Что-то не могу понять, какой профит с их стороны, платить чумовые деньги на обучение этой оравы, чтобы принять n джунов? Хм, не проще ли закинуть объявление на hh и брать тех же джунов за еду? Какие подводные могут быть?
P.S. сам курс ни о чем, за два месяца предполагается объять необъятное.
Аноним 31/10/21 Вск 00:52:27 #1052 №2198619 
>>2198618
Просто забей и не связывайся с этим.
Аноним 31/10/21 Вск 01:04:56 #1053 №2198623 
>>2198619
Сам планирую вкатиться, а тут такой сыр... есть вероятность, что придется пахать за МРОТ
Аноним 31/10/21 Вск 01:07:25 #1054 №2198624 
>>2198623
Кто-нибудь вообще сталкивался/работал в этом Тим Форс?)
Аноним 31/10/21 Вск 01:43:53 #1055 №2198632 
Всем привет, проходил собес на джуна на джаву, сказали что вроде норм, но сказали что писать буду на Scala, кинут - разберусь. Приступаю через неделю. Внимание вопрос: "А что делать-то, епта?". Яж так сильно в функциональщину не погружался, я круды на спринге клепал. Сказали конечно что всему научат, но тем не менее, я за недельку решил сам начать что-то изучать. Что на этой вашей Scala делают? Посмотрел как там REST делается на Баделунге и ахуел немного, но тем не менее язык нравится. Наставьте на путь истинный.
Аноним 31/10/21 Вск 01:48:36 #1056 №2198635 
>>2198632
Почему бы тебе не спросить в скала-треде?
Аноним 31/10/21 Вск 07:45:53 #1057 №2198684 
>>2198632
Охуенно подфартило же. Тут наоборот как не спросишь, что надо джуну знать, так говорят что если ты не знаешь спринг то вероятность успеха равна нулю, а тебе сказали что разберешься по пути. Заебись же.
Аноним 31/10/21 Вск 10:13:51 #1058 №2198727 
Приветствую аноны. Насколько я знаю, java очень изолирована от системы. Я вкатыш пока что, поэтому хочу поинтересоваться, а насколько сильно она от системы изолирована? В чём это выражается?
Аноним 31/10/21 Вск 12:01:00 #1059 №2198789 
>>2198727
По моему это пиздежь просто. Я сам вкатыш, но всегда, когда требовалось каким-то образом провзаимодействовать с чем-то вне программы, гуглилось это за минуты и делалось тоже. Например всякие там создания директорий, файлов, чтение/запись реестра, переменных среды и т.п. Есть куча встроенных в джаву классов которые для тебя все это абстрагируют
Аноним 31/10/21 Вск 12:04:00 #1060 №2198793 
>>2198727
Это значит, что у тебя нет прямого доступа к системному API (winapi, posix и прочее), но и его можно получить через системно-зависимые обёртки. Больше никакой изолированности нет.
Аноним 31/10/21 Вск 12:05:23 #1061 №2198797 
>>2198727
Если ты волокешь например в C, то можешь просто написать свою реализацию любой системщины, и вызвать ее из java с использование JNI.
Аноним 31/10/21 Вск 12:07:37 #1062 №2198799 
>>2198632
На Скале не обязательно писать в фунциональном стиле. Можно продолжать писать в императивном стиле используя синтаксический сахар Скалы.

В целом если ребята не сильно угорели по типам, то освоишься легко.
Аноним 31/10/21 Вск 12:14:17 #1063 №2198803 
>>2198727
Ну типа нельзя взять мусор из оперативки, вывалившись за пределы массива, как в сишечке.
Аноним 31/10/21 Вск 15:08:20 #1064 №2198962 
>>2198635
Дэк его либо нет, либо 2 с половиной человека
Аноним 31/10/21 Вск 16:08:30 #1065 №2199056 
Джунам на собеседовании дают задачки с литкода или что-нибудь еще?
Аноним 31/10/21 Вск 16:18:13 #1066 №2199083 
>>2199056
Не обязательно с литкода.
Аноним 31/10/21 Вск 16:24:33 #1067 №2199092 
Как подключиться к сраному постгресу в докере? Че вбивать и куда,нихуя не работает
Аноним 31/10/21 Вск 17:42:42 #1068 №2199159 
А вам на работе премиум идею оплачивают?
Аноним 31/10/21 Вск 17:43:29 #1069 №2199160 
>>2199159
чем коммунити не устраивает?
Аноним 31/10/21 Вск 17:51:55 #1070 №2199175 
>>2199159
Да, через корпоративный сервер лицензий.
>>2199160
Тебе и вскода хватит.
Аноним 31/10/21 Вск 18:02:19 #1071 №2199185 
>>2199159
У нас только фронтендерам.
Аноним 31/10/21 Вск 19:59:10 #1072 №2199256 
>>2199160
плагины для:
- баз
- жс и фреймворков
- хибера и жпа
- хттп клиент
- спринга
И это я только вкатываюсь.
На комьюнити этого или вообще не будет или придется пользоваться клиентами баз и постманом каким-нибудь.
Интересно как с этим в SpringToolSuite или вскоде. Сейчас пишу тестовое для компании, где очень нарядли будут оплачивать идею.
Аноним 31/10/21 Вск 20:07:14 #1073 №2199267 
>>2199256
>SpringToolSuite
Самое смешное, что для идеи этого нет.
Аноним 31/10/21 Вск 20:08:36 #1074 №2199270 
>>2199267
В идее поддержка спринга из коробки.
Аноним 31/10/21 Вск 20:09:53 #1075 №2199273 
>>2199270
В ультимейте только.
Аноним 31/10/21 Вск 20:11:38 #1076 №2199276 
>>2199273
А зачем юзать коммунити?
Аноним 31/10/21 Вск 23:50:13 #1077 №2199422 
>>2199092
Почитай про Docker Compose.
Аноним 01/11/21 Пнд 04:16:04 #1078 №2199499 
>>2199256
А чо там за хттп клиент?

мимо на ультимейте
Аноним 01/11/21 Пнд 07:47:35 #1079 №2199513 
>>2199499
https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html

Ничего особенного, но тыкнуться в свеженаписанную апишку не отходя от кассы много времени экономит.
Аноним 01/11/21 Пнд 16:33:43 #1080 №2199787 
Начал читать главу Хорстманна Java Networking и не осилил. Какие ещё есть книги на эту тему?
Аноним 01/11/21 Пнд 17:35:28 #1081 №2199828 
Пацаны,у меня идея не предлагает валючить авто импорт и в подсказки не выдает в докерфайле и при указании пути например. Где можно этот контекст включить?
Аноним 01/11/21 Пнд 17:39:09 #1082 №2199833 
>>2199828
> идея не предлагает валючить авто импорт
Пидоры из жидбрейнс ломали-ломали функцию автоимпорта, наконец-то доломали.
> и в подсказки не выдает в докерфайле и при указании пути например
Купить ультимативную идею или попробовать поискать плагин.
Аноним 01/11/21 Пнд 17:43:13 #1083 №2199838 
>>2199833
И так ультимейт,а чем там с автоимпортом? У меня кстати еще когда создаю вручную файл типо application context среда не отмечает его как спринг файл,он тупо висит как обычный, соответственно подсказок там тоже нет
Аноним 01/11/21 Пнд 17:53:11 #1084 №2199851 
>>2199787
а че ты там не понял?
Аноним 01/11/21 Пнд 19:07:04 #1085 №2199906 
фаст вопрос:
Есть ли сейчас Spring in Action на русском языке в нормальном издании, где не будут допотопные технологии описываться, желательно спизжено с торрентов чтоб все это было?
Аноним 01/11/21 Пнд 19:11:45 #1086 №2199910 
У меня докер запускается буквально 15-20 минут,как исправить? Тупо висит в docker engine is starting
Аноним 01/11/21 Пнд 19:18:10 #1087 №2199913 
>>2199851
Он просто перечисляет какие есть классы и какие методы в них вызывать, но общего представления у меня от этого не возникает. Как будто предполагается, что я уже писал сетевые приложения на другом языке и хорошо знаю, как работает этот ваш инторнет.
Аноним 01/11/21 Пнд 19:20:29 #1088 №2199919 
>>2197641
> докер
>>2199092
> докер
>>2199828
> докер
>>2199910
> докер
Слушай, анон, мы может и понимаем, что раз ты учишь сопутствующие к жабе технологии, то тебе кажется логичным про всё это спрашивать в жаба-треде, но скажи, если у тебя сломается винда или надо будет починить принтер, про это ты тоже здесь спросишь?
Аноним 01/11/21 Пнд 19:21:17 #1089 №2199920 
>>2199906
Нет конечно. И вряд ли будет. Читай на инглише с автопереводом, там язык очень простой, даже я все понял.
Можешь прям 6ое издание начинать. Там первые 5-7 глав уже вышли, а вся книга выйдет через месяц.
Аноним 01/11/21 Пнд 19:27:31 #1090 №2199926 
>>2199906
Читай Pro Spring 5 на русском.
Аноним 01/11/21 Пнд 19:32:13 #1091 №2199932 
>>2199913
Ну мне все понятно было
https://www.youtube.com/playlist?list=PLtPJ9lKvJ4oiNMvYbOzCmWy6cRzYAh9B1
вот плейлист поверхностный-ознакомительный по сетям. Посмотри 5-10 видосов про ip, tcp, сокеты и http.
Я когда эту главу читал написал первое учебное приложение сам. Типа чатик в cmd на tcp-сокетах по локалке, с двумя потоками. Помню было два джарника: клиент и сервер, на клиенте пришлось захардкодить ип сервака. Поставил на второй комп в другой комнате и тнусом переписывался.
Аноним 01/11/21 Пнд 19:32:44 #1092 №2199933 
>>2199919
Ладно там кубер, но докер. Он сейчас даже в тестовых на стажёра, не то, что джуна. Это как с вопросом по гиту в отдельный тред отсылать.
Аноним 01/11/21 Пнд 19:33:02 #1093 №2199934 
>>2199926
Там много допотопщины.
Аноним 01/11/21 Пнд 19:33:42 #1094 №2199935 
>>2199933
> Это как с вопросом по гиту в отдельный тред отсылать.
Да, нюфаг-тред называется.
Аноним 01/11/21 Пнд 19:34:16 #1095 №2199937 
>>2199934
Скипай допотопщину.
Аноним 01/11/21 Пнд 19:36:33 #1096 №2199939 
>>2199937
А как понять что является допотопщиной если ты полный вкатыш?
Аноним 01/11/21 Пнд 19:36:38 #1097 №2199940 
>>2199935
Тогда все вопросы по спрингу туда же, у нас тут жаботред, а спринготред
Аноним 01/11/21 Пнд 19:37:22 #1098 №2199943 
>>2199940
а не
fix
Аноним 01/11/21 Пнд 19:37:44 #1099 №2199945 
>>2199940
Не надо крайностей. Спринг есть только в жвбе. Докер и гит есть везде.
Аноним 01/11/21 Пнд 19:38:57 #1100 №2199949 
>>2199945
Схуяли только в жабе, котлин уже отменили?
Аноним 01/11/21 Пнд 19:40:40 #1101 №2199952 
>>2199939
Читать всё. Вдруг ты вкатишься в древнее легаси с вебсферой, антом, шестой жабой, DB2, на спринге (третьем) только пара модулей, остальное на ЕЕ.
Аноним 01/11/21 Пнд 19:41:54 #1102 №2199957 
>>2199949
Его отменили, он только на мобилках, в котлине свои фреймворки, и т.д. Выбирай, какая причина больше нравится.
Аноним 01/11/21 Пнд 19:46:20 #1103 №2199968 
>>2199957
В последнее время я скорее больше проектов на котлине с вебфлаксом видел, чем с жабой. И gradle тоже нужно из жаботреда увольнять, жаба для него всего лишь один из возможных плагинов.
Аноним 01/11/21 Пнд 19:50:35 #1104 №2199980 
>>2199937
Но при этом там многое упущено. Например по тем же базам. На один пример с современными автоконфигами бута - 5-10 старых с хмл/ддава конфигом. Про бут, стартеры, хуяртеры придется отдельно читать.
Аноним 01/11/21 Пнд 20:57:28 #1105 №2200031 
>>2159709
Как написать кроссплатформенное десктопное приложение?
Аноним 01/11/21 Пнд 22:22:40 #1106 №2200103 
>>2200031
На js-говне, типа electron.
Аноним 01/11/21 Пнд 23:07:16 #1107 №2200158 
>>2199920
Сосачую этого.
Кстати, кто каким софтом пользуется для перевода? Лет 15 назад был годный Babylon, который мог моментально перевести слово под курсором. Сейчас уже канул, наверное.
sageАноним 02/11/21 Втр 00:28:49 #1108 №2200229 
Скалатред тоже умер. Из жвм осталась только жаба
Аноним 02/11/21 Втр 02:12:00 #1109 №2200274 
>>2200158
https://quest-app.appspot.com/
Аноним 02/11/21 Втр 02:40:32 #1110 №2200281 
>>2200274
Тоже его скачал 3 часа назад. Попробовал почитать Spring in Action 5 [2019], и оказалось что переводить там практически ничего не нужно.
>>2200158 - кун
Аноним 02/11/21 Втр 03:28:21 #1111 №2200288 
Джуны в небольших городах и говномиллионников,какая у вас стартовая зарплата была после вычета налогов?
Аноним 02/11/21 Втр 08:01:14 #1112 №2200314 
>>2200103
Зачем тогда нужен шарп?
Аноним 02/11/21 Втр 09:05:56 #1113 №2200332 
>>2200158
тоже кутранслейт, только недавно яндоксовский движок перестал на нем работать. Приходится пользоваться гуглом. яндекс по моим ощущениям с английского на русский был чуть лучше.
sageАноним 02/11/21 Втр 09:14:59 #1114 №2200334 
>>2200288
500 Минск
Аноним 02/11/21 Втр 09:48:33 #1115 №2200346 
javaimageviewer.jpg
Привет, ребята!
Я перекатился из треда по шарпу в джаву, потому что шарп не может в кроссплатформенные графические приложения.
Аноним 02/11/21 Втр 10:07:08 #1116 №2200365 
>>2200346
Охуенная попытка, зеленый (нет)
Аноним 02/11/21 Втр 10:09:27 #1117 №2200369 
>>2200365
.Net Core может только в консольные и веб приложения. А если хочешь графические, то только Windows. Кроссплатформенность .Net Core - это обман.
Аноним 02/11/21 Втр 10:18:46 #1118 №2200374 
>>2200346
В шарпе есть авалония. Но это всё равно нахуй никому не сдалось, гуй сейчас в основном в виде веб-параши, хоть в жабе, хоть в шарпе.
Аноним 02/11/21 Втр 10:21:51 #1119 №2200376 
>>2200369
И что? Ты хочешь сказать что джава с ее инструментами работы с UI это типа то чем стоит заниматься по жизни? Серьезно?
Аноним 02/11/21 Втр 10:45:05 #1120 №2200383 
Если я использую Spring+Hibernate, какие есть способы сделать кастомный запрос к БД?
- Использовать аннотацию @query

Какие-то еще способы есть?\

Аноним 02/11/21 Втр 10:46:09 #1121 №2200385 
>>2200374
По ней нет литературы, чтобы понять как ей пользоваться.

>>2200376
Мне интересно делать красявые графические приложения.
Аноним 02/11/21 Втр 10:58:12 #1122 №2200395 
>>2200383
Есть. Написать DAO, которая будет работать в обход хибернейта.
Аноним 02/11/21 Втр 11:12:46 #1123 №2200411 
>>2200383
А что нельзя просто напрямую сделать запрос через драйвер базы с использованием низкоуровневого jdbc?
Аноним 02/11/21 Втр 12:00:12 #1124 №2200469 
deepl.png
>>2200332
А как тебе DeepL?
Аноним 02/11/21 Втр 12:18:02 #1125 №2200475 
>>2200469
все, кроме гугла и яндекса неудовлетворительно.
Аноним 02/11/21 Втр 12:47:36 #1126 №2200504 
Боль Джуна в 2к21:


Нужно изучить технологию
@
Гуглишь статью/видос
@
Вникаешь, радуешься
@
Случайно позже натыкаешься на статью "yoba-технология теперь устарела, надо использовать ололо-Api"
@
Ловишь бугург
Аноним 02/11/21 Втр 12:51:35 #1127 №2200507 
>>2200504
Не тот тред?
Аноним 02/11/21 Втр 13:04:11 #1128 №2200518 
>>2200507
А чё, тут побугуртить незя?
Аноним 02/11/21 Втр 13:10:25 #1129 №2200525 
>>2200504
> yoba-технология теперь устарела, надо использовать ололо-Api"
Не надо. Даже если кто-то считает, что устарела, это ещё не повод учить ололо-апи, если на нём нет работы.
Аноним 02/11/21 Втр 13:17:57 #1130 №2200531 
>>2200525
В итоге нужно знать и древние 20-тилетние технологие и попсовые 10-летние и модные-молодежные 5-летние.
Аноним 02/11/21 Втр 13:54:37 #1131 №2200584 
>>2200525
>>2200531

Простой пример:

Учишь как пилить CRUD'ы на Spring'e.
@
Чел показывает тебе аннотацию @RequestMapping
@
Радуешься
@
Знакомый мид/синь засерает тебя, говоря что нужно использовать @GetMapping/@PostMapping и др
@
Грустишь
Аноним 02/11/21 Втр 14:03:32 #1132 №2200594 
>>2200584
> @GetMapping/@PostMapping
Не всё так однозначно. Понадобилось на рабочем проекте мне как-то покопаться в рест-контроллерах, а то в основном с соапом ебусь. Вижу везде @RequestMapping, с учебных крудов вспомнил про @GetMapping, попытался заменить, идея его не нашла, и выяснялось, что четвёртый спринг их не поддерживает.
Аноним 02/11/21 Втр 14:05:05 #1133 №2200595 
>>2200594
>попытался заменить
получи по рукам что трогаешь лишнее без спроса
Аноним 02/11/21 Втр 14:11:36 #1134 №2200604 
>>2200595
Нет, со спросом. Тебе отдают хуйню и говорят переделывать половину механизма, можно делать что угодно, лишь бы фронт мог вызвать.
Аноним 02/11/21 Втр 17:17:59 #1135 №2200788 
Нормально ли в качестве первичного ключа использовать класс UUID? Получение по id получится пиздец муторным
Аноним 02/11/21 Втр 17:18:28 #1136 №2200790 
>>2200334
Как работается? Что на собесе спрашивали?
Аноним 02/11/21 Втр 17:28:04 #1137 №2200799 
>>2200788
Использовать можно, но подумай, что на стороне СУБД это потом нужно будет индексировать.
Аноним 02/11/21 Втр 17:30:01 #1138 №2200801 
>>2200788
Не нормально. Чего там муторного в автогенерации id?
Аноним 02/11/21 Втр 17:38:28 #1139 №2200808 
>>2200801
Uuid выглядит модно,подумал может это тру и супер
Аноним 02/11/21 Втр 17:39:20 #1140 №2200809 
Скалист в треде. По сложившейся ситуации выше в треде описывал, вынужден писать на Scala. В связи с этим возник вопрос. Как часто приходится иметь дело с каррированием и функциями высшего порядка,
Аноним 02/11/21 Втр 17:46:06 #1141 №2200818 
.png
>>2200808
Если хочешь модно, бери монгу, там уже из коробки вместо автоинкремента ID хуй знает что, тебе понравится. Правда, не совсем уже модно.
Аноним 02/11/21 Втр 18:14:52 #1142 №2200843 
>>2200788
нормально. В случае если надо будет сливать несколько баз в одну - это единственный вариант
Аноним 02/11/21 Втр 18:39:59 #1143 №2200865 
>>2200809
Я помню раньше были сухарики с курицей карри, прикольные.
Аноним 02/11/21 Втр 18:41:52 #1144 №2200867 
Кто-нибудь делал свои скоупы для спринга?
Аноним 02/11/21 Втр 19:50:13 #1145 №2200959 
Изучал Java в 2006-2007 в универе. Писал даже свой ftp-сервер/клиент. После универа уже не программировал и не интересовался Java.
Сложно ли будет вкатиться сейчас в язык?
Аноним 02/11/21 Втр 19:52:41 #1146 №2200965 
>>2200959
Что значит вкатиться в язык? Что ты собираешься на нем писать?
Аноним 02/11/21 Втр 20:05:27 #1147 №2200987 
>>2200965
Свой ftp-сервер/клиент.
Аноним 02/11/21 Втр 20:10:45 #1148 №2201001 
>>2200987
Да хоть в 2056-2057 его пиши.
Аноним 02/11/21 Втр 20:10:50 #1149 №2201003 
>>2200987
А ftp за 15 лет чем-то поменялся?
Аноним 02/11/21 Втр 20:34:47 #1150 №2201037 
>>2200965
Десктопные приложения
Аноним 02/11/21 Втр 21:06:39 #1151 №2201072 
>>2201037
Тогда несложно. Джава в десктопах мало развилась с 2007. Свинг вообще +- тот же.
Аноним 02/11/21 Втр 21:12:35 #1152 №2201078 
>>2201072
Отлично. Значит напишу новый ftp-сервер, возможно даже клиент.
Аноним 02/11/21 Втр 21:33:44 #1153 №2201106 
>>2201078
А потом обратно на завод?
Аноним 02/11/21 Втр 21:50:00 #1154 №2201118 
image.png
Аноним 02/11/21 Втр 22:21:51 #1155 №2201132 
>>2201003
>А ftp за 15 лет чем-то поменялся?
Ог умер.
Аноним 02/11/21 Втр 22:33:59 #1156 №2201153 
>>2200594
> и выяснялось, что четвёртый спринг их не поддерживает.
О, познавательно, спасибо
Аноним 02/11/21 Втр 22:35:49 #1157 №2201157 
>>2201153
Молись, чтобы это знание тебе никогда не пригодилось.
Аноним 02/11/21 Втр 22:36:52 #1158 №2201159 
Аноны, поясните тему исключений.

Конструкцию try-catch-finally я понял.

А что дает нам запись "throws" в сигнатуре метода?
Че-то там типа пробрасывается "наверх"..
Получается, что этот метод сам с исключением не работает и если оно возникает, то оно будет обрабатываться в том месте, где текущий метод вызывается?
Типа вместо результата текущего метода исключение придет?
Аноним 02/11/21 Втр 22:41:37 #1159 №2201166 
>>2201159
Это ошибка в дизайне языка, суть которой в делении исключений на непроверяемые (unchecked) и проверяемые (checked). И если ты кидаешь проверяемое исключение или вызываешь метод, который кидает такие исключения, ты обязан либо поймать его в этом же методе, либо пометить свой метод throws, заставляя всех, кто использует твой метод, проделывать то же самое.
Аноним 02/11/21 Втр 22:53:28 #1160 №2201179 
>>2201166
И всё это описано в главе про исключения в КАЖДОЙ БЛЯТЬ книге про джавакор.
Аноним 02/11/21 Втр 23:01:42 #1161 №2201191 
>>2201179
Да слышал я сто раз объяснения, но не понял сути. Поэтому и переспросил, чтобы мне объяснили на говне и палках
Аноним 02/11/21 Втр 23:01:43 #1162 №2201192 
.jpg
>>2201179
Да, если бы все здесь перед тем, как спросить, сначала RTFM, активность постинга была бы на уровне /rm/. Но мне по фану отвечать.
Аноним 03/11/21 Срд 00:29:04 #1163 №2201280 
Нахер нужен Guice, когда есть Dagger?
Аноним 03/11/21 Срд 00:35:09 #1164 №2201286 
>>2201280
Спроси в андроид-треде. Здесь разве что расскажут, зачем нужен Spring IoC, когда есть CDI/EJB.
Аноним 03/11/21 Срд 00:42:55 #1165 №2201294 
>>2201286
Так Guice в андроиде не применяется вроде.
Аноним 03/11/21 Срд 04:26:06 #1166 №2201350 
>>2200383
>>2200395
>>2200411

>драйвер базы с использованием низкоуровневого jdbc?
А как это сделать? Надо какой-то синтаксис jdbc учить?
Дайте ссылку, плиз

> какие есть способы сделать кастомный запрос к БД?
А можете, плиз, все способы перечислить?
Хочу понимать варианты
Аноним 03/11/21 Срд 06:11:38 #1167 №2201361 
>>2201350
Ну ты чо как маленький-то? Ты же даже не гуглил.
Качается драйвер для твоей БД, подключается к проекту как зависимость, загружается в программу через Class.forName (видимо это надо чтоб класс-лоадер отработал), потом у DriverManager (это часть джава.скуэль) вызывается статический метод GetConnection, в который параметром передается всякая трехомудия с параметрами подключениея. Возвращается из вызова коннекшен, с которым уже можно всякое чудить.
Потом тупо пишешь запрос на языке SQL той базы, которую используешь, кладешь его в строковую переменную. Создаешь объект класса Statement, через вызов createStatement у объекта Connection. В зависимости от того, надо ли запрос параметризовать, юзаешь или просто Statement или PreparedStatement. Стэйтмент можно уже отправить выполняться на сервер. В зависимости от того, селектит ли что-то запрос, используется или execute или executeQuery. Если ты селектишь, то результат приезжает в виде так называемого ResultSet, у него есть как бы курсор, который указывает на единственный кортеж результата. Из того кортежа, на который сейчас указывает курсор, ты можешь вытаскивать результаты по индексу, имени атрибута, и т.п, и делать с ними уже все что угодно. Движение курсора в ResultSet только одностороннее - хотя структура и реализует интерфейс, позволяющий вызов previous, база данных пошлет тебя нахуй скорее всего, всегда работает только next(). В самом начале кстати курсор стоит как бы над первым кортежем, и чтоб начать что-то получать нужно один раз вызвать next(), чтоб получить первую запись
Аноним 03/11/21 Срд 08:09:55 #1168 №2201374 
>>2201166
с чего это ошибка?
Аноним 03/11/21 Срд 10:03:33 #1169 №2201414 
>>2201374
С того. В джаве так-то много чего не так сделано.
Аноним 03/11/21 Срд 10:07:43 #1170 №2201418 
>>2201414
ну так обоснуй свой вскукарек
Аноним 03/11/21 Срд 10:20:24 #1171 №2201420 
>>2201374
С ошибочности идеи, что существуют ошибки, которые всегда можно обработать на месте. Такого не бывает.
Аноним 03/11/21 Срд 10:27:56 #1172 №2201425 
>>2201420
Причём в Go наступили на те же грабли и теперь пишут везде if err != nil { return nil, err }, чтобы прокинуть ошибку наверх.
Аноним 03/11/21 Срд 10:48:05 #1173 №2201454 
>>2201420
если не можешь, выкидывай выше. При этом код выше должен жестко знать об этой возможности получения такой ошибки, которую надо обработать. Если он тоже не может, то снова выше. Это заставляет думать о корректной обработке эксепшенов
Аноним 03/11/21 Срд 11:00:33 #1174 №2201471 
>>2201454
Я и выкидываю, куда деваться.
try {
...
} catch (final Exception e) {
throw new RuntimeException(e);
}
Аноним 03/11/21 Срд 11:02:39 #1175 №2201472 
>>2201471
мразь
Аноним 03/11/21 Срд 11:38:07 #1176 №2201517 
Читаю Блоха, там "методы, генерирующие проверяемые исключения, не могут быть использованы в потоках непосредственно". В чем причина? Где об этом можно узнать подробнее?
Аноним 03/11/21 Срд 11:42:51 #1177 №2201525 
>>2201517
Возможно, речь про Runnable, который не декларирует исключения, и если в качестве его реализации попытаться подсунуть метод с throws, это не скомпилится.
Аноним 03/11/21 Срд 13:00:39 #1178 №2201630 
>>2201159
Если ты вызываешь метод, который в сигнатуре имеет throws, то у тебя два стула пути: либо ты оборачиваешь строку с вызовом этого метода в try-catch, либо тот метод, который ты пишешь в данный момент, тоже должен быть помечен как throws этого же типа исключения, либо супертипа.
Надо понимать, что если исключение возникло, то исполнение, так сказать, бизнес-логики метода в блоке кода прекращается. Если все это происходит в блоке трай, то продолжается оно в выражении catch и finally, если же ты просто пробросил вверх через сигнатуру метода, то метод этот вообще умирает, совсем.
Аноним 03/11/21 Срд 13:46:24 #1179 №2201669 
>>2200867
Баляяя че молчите
Аноним 03/11/21 Срд 13:58:44 #1180 №2201677 
>>2201669
что это?
Аноним 03/11/21 Срд 14:01:12 #1181 №2201680 
Кто-нибудь может объяснить, что происходит с ресурсами при упаковке? Куда мавен их девает и как правильно указывать путь до них?
Пытаюсь с помощью @propertysource достаю из внешнего файла пароли к базе, но томкат их не видит (а где он, блять, их вообще искать то пытается?).
Аноним 03/11/21 Срд 14:12:02 #1182 №2201691 
>>2201669
Очевидно, что никто, все лепят синглтоны, большинство даже не подозревает, что есть что-то ещё. Пару раз попадались prototype и request, но делать кастомный скоуп - эио ж насколько спринганутое приложение должно быть.
Аноним 03/11/21 Срд 14:18:50 #1183 №2201696 
>>2201691
ОБНОВИЛ СПРИНГ
@
ПЕРЕПИСЫВАЙ ВСЮ ПРИЛОЖУХУ ЗАНОВО
Аноним 03/11/21 Срд 14:22:26 #1184 №2201700 
>>2201680
С ресурсами ничего не происходит
Аноним 03/11/21 Срд 14:23:13 #1185 №2201702 
>>2201696
ЧЕТВЁРТЫЙ СПРИНГ
@
ЕЩЁ НА НЕСКОЛЬКО ЛЕТ
@
ВЕДЬ ИЗ ПЯТОГО ВЫПИЛИЛИ ПОДДЕРЖКУ EJB
Аноним 03/11/21 Срд 14:26:36 #1186 №2201706 
>>2201525
А есть какие-то способы сделать это в принципе? Или принципиально никак не избавиться от того, что перехватывать и обрабатывать эксепшены придется внутри работающего треда?
Аноним 03/11/21 Срд 14:29:34 #1187 №2201710 
>>2201706
Перехватывать, оборачивать в RuntimeException и кидать дальше, как здесь: >>2201471
Аноним 03/11/21 Срд 14:45:22 #1188 №2201727 
>>2201710
А чтобы снова сделать исключение обязательным к отслеживанию, я так понимаю, надо делать чтото типа
try{
thread.start()
}catch (RuntimeException rte){
if (rte instanceof MyException) throw new MyException(rte)
}

?
Аноним 03/11/21 Срд 14:55:37 #1189 №2201735 
>>2201727
Да.
Аноним 03/11/21 Срд 14:56:39 #1190 №2201737 
>>2201735
Прикольные костыли
Аноним 03/11/21 Срд 15:00:47 #1191 №2201744 
>>2201737
Самый главный костыль - это существование проверяемых исключений.
Аноним 03/11/21 Срд 16:03:25 #1192 №2201826 
>>2201744
Чем они тебе не угодили? Ну если ты их так не любишь, пробрасывай всегда вверх. IDE это позволяет делать автоматически. Просто бесит что ли срань в коде? Тогда джава в принципе не для тебя, если только ты не какой-нибудь лобколюб
Аноним 03/11/21 Срд 18:13:43 #1193 №2202043 
Создал с помощью spring data rest три сущности. Запросы работают нормально только для классов с названиями в одно слово. У класса EmployeeDetail не работают никакие хттп методы. Почему так?
Аноним 03/11/21 Срд 18:14:56 #1194 №2202047 
>>2202043
Ты случайно не проебал аннотацию @RestController?
Аноним 03/11/21 Срд 18:21:22 #1195 №2202059 
>>2202047
У меня контроллеры и сервисы создает spring data rest. Я даже классы такие не создаю. При этом у сущности department например все работает заебись. Вбиваю в постмен localhost:8080/departments и все ок. А как вбивать имя из двух слов я вообще хз,уже и так и этак пробовал и с подчеркиванием и с дефисом
Аноним 03/11/21 Срд 18:27:28 #1196 №2202068 
>>2202043
Вопрос закрыт,надо в кемел кейсе
Аноним 03/11/21 Срд 18:39:04 #1197 №2202080 
>>2202043
>spring data rest
А нехуй всякое говно брать с запредельным уровнем абсракций.
Аноним 03/11/21 Срд 18:40:53 #1198 №2202084 
>>2202080
Теперь эта падла вставляет null значения в поля базы
Аноним 03/11/21 Срд 19:11:58 #1199 №2202133 
Поясните немного новичку про Мавен. Если я например юзаю зависимости Спринга в каждом своем приложении, значит ли это что Мавен всякий раз выкачивает эти библиотеки и складывает локально у меня на диске, или он где-то в системе создает свой репозиторий, и сначала ищет там и подключает к проекту, а уже если не находит, то лезет во внешний репозиторий и тогда качает?
Аноним 03/11/21 Срд 19:13:14 #1200 №2202135 
>>2202133
https://www.google.com/search?q=maven+%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9+%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9&newwindow=1&client=firefox-b-d&sxsrf=AOaemvJXVrr7s2rBl9kXHFe10uNjVyFBqA%3A1635955579683&ei=e7OCYeuMKY3-rgS9tKvQBg&oq=vfdty+kjrfkmysq+&gs_lcp=Cgdnd3Mtd2l6EAMYADIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjoHCAAQRxCwAzoECCMQJzoRCC4QgAQQsQMQgwEQxwEQ0QM6EgguEIAEELEDEMcBENEDEAoQAToOCC4QgAQQsQMQxwEQ0QM6BQgAEIAEOggIABCABBCxAzoICC4QgAQQsQM6FwguEIAEELEDEMcBENEDEAoQARAqEJMCOgwIABCABBCxAxAKEAE6CQgAELEDEAoQAToJCAAQgAQQChABOgsIABCABBAKEAEQKjoKCAAQgAQQChCLAzoPCC4QgAQQ1AIQChABEIsDOgwILhCABBAKEAEQiwM6DAgAEIAEEAoQARCLAzoICAAQgAQQiwM6DgguEIAEEAoQARAqEJMCOgcIABCABBAKOgQIABAKOgYIABAKECo6CAgAEAgQDRAeOgcIIRAKEKABOgkIIRAKEKABECpKBAhBGABQiogWWJauFmCTtxZoAXABeACAAYcBiAHGDZIBBDQuMTKYAQCgAQHIAQi4AQLAAQE&sclient=gws-wiz
Аноним 03/11/21 Срд 19:16:29 #1201 №2202139 
>>2202133
Да, сначала лезет в %username%/.m2/repository и ищет там, если не находит, качает.
Аноним 03/11/21 Срд 19:23:18 #1202 №2202158 
>>2202135
>>2202139
благодарю. согласен, я грешный долбоеб, который сначала идет ко всем своим друзьям на двачи а потом уже в гугол
Аноним 03/11/21 Срд 19:33:11 #1203 №2202184 
Бля,какого хуя у меня пост метод null значения в json кидает?
Аноним 03/11/21 Срд 20:48:38 #1204 №2202290 
>>2202158
У тебя тут друзей нет.
Аноним 03/11/21 Срд 21:08:43 #1205 №2202308 
>>2202290
Здесь все мои друзья.
Аноним 03/11/21 Срд 21:13:42 #1206 №2202321 
>>2202308
идинахуй, пидор лучше про мавен пару статей наверни вместо двачевания, дружочек.
Аноним 03/11/21 Срд 22:17:02 #1207 №2202392 
>final Exception e

Зачем тут final?
Аноним 03/11/21 Срд 22:25:02 #1208 №2202400 
>>2202392
Я все переменные делаю final, такая у меня привычка. И ты тоже попробуй.
Аноним 04/11/21 Чтв 00:07:23 #1209 №2202456 
Поясните за курсы\лекции, которые на всяких торрентах и ютубах лежат.
Про любые, которые вы смотрели и можете примерно оценить. Даже если там просто java core.
Самому отсматривать ебанёшься, а за советами ко мне прибегают часто.
Аноним 04/11/21 Чтв 00:12:07 #1210 №2202459 
>>2200288
>миллионников
70+ у меня в рублях
Аноним 04/11/21 Чтв 00:16:03 #1211 №2202463 
>>2201118
Здравствуйте мои дорогие
Аноним 04/11/21 Чтв 00:18:40 #1212 №2202466 
>>2201361
>надо ли запрос параметризовать, юзаешь или просто Statement или PreparedStatement
Ещё надо добавить, что б не вздумал параметризовать простые запросы через конкатенацию строк, иначе можно получить дыру для sql injection.
Аноним 04/11/21 Чтв 00:21:07 #1213 №2202470 
>>2201361
>загружается в программу через Class.forName
Ещё забыл: начиная с JDBC type 4 драйвера, его не нужно тянуть руками через класслоадер.
Аноним 04/11/21 Чтв 00:47:16 #1214 №2202489 
>>2202456
https://www.youtube.com/watch?v=q-d40ZWGcJQ&list=PLm2nrlGYLq1Uv1qYpqMC07JYoOXilEQZI
вот вполне крепкий курс по кору
Аноним 04/11/21 Чтв 01:33:47 #1215 №2202520 
>>2202459
Город?
Аноним 04/11/21 Чтв 01:34:24 #1216 №2202521 
Поясните за Н2. Если кините как докер компоус составить вообще супер
Аноним 04/11/21 Чтв 03:07:09 #1217 №2202556 
>>2202520
Деанон-травля же.
Город-миллионник в РФ.

>>2202521
>Поясните за Н2
Её, в основном, используют как in-memory database. Профиты в виде использования для тестов, в том числе.

>Если кините как докер компоус составить вообще супер
Миллиард статей и видосов на ютубе по запросу "docker compose spring postgres". C стационарной H2 всё должно аналогично работать. Единственное, если она долго стартует и приложение успевает упасть, то, возможно, нужно будет присрать какой-нибудь скрипт, типа этого https://github.com/vishnubob/wait-for-it
Аноним 04/11/21 Чтв 04:40:30 #1218 №2202566 
В чем смысл проверяемых исключений?
Я так понимаю, что в том, чтобы мы имели возможность самостоятельно обработать возникновение исключительной ситуации, которая не относится к RuntimeException. То, что относится RuntimeException, является непроверяемым потому, что восстановление работы программы после него невозможно/нецелессобразно? Есть вот, например, проверяемое исключение FileNotFoundException. Если мы перед октрытием файла, к примеру, сначала проверим его на наличие, а в следующей строке откроем, все же есть вероятность, что между этими строками файл будет перемещен/удален и поэтому нет способа избежать исключения с помощью проверок. А например, деление на ноль всегда вина того, кто пишет. Такой смысл?
Аноним 04/11/21 Чтв 08:53:25 #1219 №2202591 
>>2202466
Что ты имеешь ввиду под конкатенацией строк? Если ты сконкатенировал у себя в коде и отправил запрос уже готовым, чем это отличается от того чтобы просто отправить запрос? Или там есть какие-то механизмы отправлять запрос в СУБД кусками?
Аноним 04/11/21 Чтв 09:09:31 #1220 №2202592 
>>2202521
оно очень примитивно по сравнению хоть с постгресом и обычно не взаимозаменяемо. Может это для всяких мобилок, хз
Аноним 04/11/21 Чтв 09:09:32 #1221 №2202593 
>>2202566
Нет. Смысл в том чтоб ты не мог проигнорировать факт возможности возникновения проверяемого исключения. Ловить ты можешь в том числе и непроверяемые (ты в трай-кэтч можешь заключить блок кода который бросает рантайм эксепшен, словить его и обработать, просто ты не объзан этого делать. Ты можешь в трай-кэтч заключить вообще что угодно, даже если там никаких исключений не случается, хотя все тело метода, исключив выход чего-либо наружу). Так же можешь и не ловить проверяемые, пробрасывая их вверх во всех мотодах где они вываливаются, вплоть до main (это чревато тем что твоя программа будет наебываться по любому самому пустяковому эксепшену). Короче, у тебя нет прям непреодолимой обязанности делать что-то с ними, они просто как иголки воткнутые в воротник, настоятельно подталкивают тебя использовать их так, как они задуманы.
Аноним 04/11/21 Чтв 09:51:05 #1222 №2202609 
>>2202321
Иди таблеток прими от нервов, токсик
Аноним 04/11/21 Чтв 14:06:18 #1223 №2202856 
Что может быть интересного в работе на спринге? К какой работе следует стремиться?
Аноним 04/11/21 Чтв 14:10:18 #1224 №2202862 
>>2202856
Откуда нам знать, что тебе интересно? Может, ты так любишь писать бизнес-логику без привязки к языкам и технологиям, что тебе и кобол понравится.
Аноним 04/11/21 Чтв 14:10:49 #1225 №2202865 
>>2202856
Ничего, РНН.
Аноним 04/11/21 Чтв 14:59:06 #1226 №2202926 
>>2202862
Ну это субъективный вопрос. Что у тебя может вызвать интерес в работе на спринге? Я просто пока не работал. Хотел бы послушать мнения других людей об их интересах.
Ну понятно, что очень значительному числу >>2202865 даже тех кто работает, интересна только зп.
Аноним 04/11/21 Чтв 15:47:27 #1227 №2203008 
>>2202926
Наверное, возможность поиграться с архитектурой. Интересно делать что-то с нуля, когда дают самостоятельно написать целый модуль или микросервис, там прокачиваешь умение в архитектуру, может понадобиться юзать интересные спринговые фичи, о которых и не слышал раньше. Но такая возможность выпадает не очень часто, обычно надо дорабатывать или фиксить существующее и написанное давно. На больших проектах почти весь спринг скрыт за ядром приложения, и пользуешься в основном всем готовым, никогда не открываешь конфиги, пишешь логику и скучаешь, от спринга юзаешь пару аннотаций.
Аноним 04/11/21 Чтв 16:21:49 #1228 №2203071 
>>2203008
Спринг для этого и есть. Чтобы вместо архитектуры писать логику.
Аноним 04/11/21 Чтв 16:28:42 #1229 №2203086 
>>2203071
Создание архитектуры невозможно автоматизировать, это наиболее творческая часть программирования. Можно использовать готовые ее паттерны просто.
Аноним 04/11/21 Чтв 18:25:42 #1230 №2203222 
>>2202593
Я просто не до конца понимаю, зачем это разделение на проверяемые и непроверяемые и на каком основании они сделаны? Как обращаться, мне понятно. Чтобы обратить внимание? Почему именно на них? Есть ли какая-то смысловая разница? Моё предположение было в том, что разделение основано на том, что возникновение RuntimeException всегда зависит только от программиста, написавшего код, который породил RuntimeException, в то время, как проверяемое исключение (отсутствие файла) гарантированно предупредить невозможно (между двумя строками проверки наличия и открытия он может быть перемещен), потому что там задействованы внешние ресурсы, которые неподконтрольны программисту, написавшему код. Верно ли это?
Аноним 04/11/21 Чтв 18:49:14 #1231 №2203241 
>>2203222
Не могу тебе на этот счет ничего сказать. Мне это представляется довольно естественным: тебе дизайн языка дает возможность как вынудить пользователя помнить о возможных исключениях при работе с твоим кодом, так и скрыть эту возможность, воспользовавшись анчекед вариантом. Зачем задаваться вопросом, зачем дано слишком много каких-то возможностей? Лучше думать о тех, которых не дано, а надо бы.
Про ситуацию с файлом... опять же не понимаю что не так. Механизм исключений как раз таки тебе позволяет в случае если файл куда-то перемещен не наебнуться при попытке начала работы с ним, а предпринять, например, вторую попытку, указать новый файл, и все такое. И то как оно сделано вынуждает тебя хотя бы обратить на это внимание (хотя ты можешь забить и просто пробросить вверх). Если бы там стоял анчекед, ты бы, возможно, просто даже не стал париться о том что файла может и не оказаться, просто набисал бы логику а потом словил эксепшен. С этой точки зрения, безопасность работы с этим инструментом была повышена через чекед эксепшен.
Анчекед эксепшены они имеют такое свойство, что возникнуть могут буквально везде. Если бы дизайн языка не имел вообще анчекед варианта, тебе приходилось бы буквально каждый математический стейтмент оборачивать в трай-кэтч, потому что вдруг там деление на ноль. Естественно, это уже что-то вроде неоправдявающего себя перебдения за безопасностью. Тебя бы такой стиль просто заебал.
Аноним 04/11/21 Чтв 20:22:10 #1232 №2203325 
image.png
image.png
image.png
Блять почему эти контроллеры не работают , что я еще вписать то должен.
Аноним 04/11/21 Чтв 21:10:02 #1233 №2203364 
>>2203325
в маппинге косых черточек не хватает
Аноним 04/11/21 Чтв 21:13:30 #1234 №2203369 
.png
>>2203364
Скорее дело в каком-нибудь web-xml/beans.xml/другом древнем говне.
Аноним 04/11/21 Чтв 21:21:55 #1235 №2203378 
>>2203369
Нету тут XML , задача ебанутая. Этот конфиг был как дано. Только вот он нихуя не работает и в тестах независимо от того что я меняю в коде стабильно 404
Аноним 04/11/21 Чтв 21:29:58 #1236 №2203383 
Ну че, какие пет проекты пилите, откуда идеи черпаете?
Аноним 04/11/21 Чтв 21:31:11 #1237 №2203385 
Сап, на связи вкокотун. Есть собственно вопрос: а можно ли на Java написать допустим бампалку для двача или автопостер для втентакле? Иными словами можно ли как-то имитировать/автоматизировать действия на сайтах с помощью Java?
Аноним 04/11/21 Чтв 21:32:03 #1238 №2203387 
>>2203385
Да.
Аноним 04/11/21 Чтв 21:35:43 #1239 №2203392 
>>2203383
Форумы и интернет-магазины, потом вкатываемся в работу, и больше никаких петов. Бесплатно что ли этим заниматься?
>>2203385
Можно, хоть на ассемблере можно, но для это лучше взять какой-нибудь питон.
Аноним 04/11/21 Чтв 21:38:12 #1240 №2203400 
>>2203392
>вкатываемся в работу, и больше никаких петов
Беспетпроектную чмоню не спрашивали.
Аноним 04/11/21 Чтв 21:42:29 #1241 №2203406 
>>2203400
> пуксреньк
Аноним 04/11/21 Чтв 22:41:33 #1242 №2203474 
>>2203400
Но современная джава заточена под большие серверные приложения. И ты такое:
1. Вряд ли запилишь один.
2. Под большой проект нужна большая дорогая инфраструктура.
А если пользоваться джавой для чего то более мелкого, то будешь пользоваться не самым подходящим инструментом, то есть забивать гвозди микроскопом. Так что на джаве пилятся учебные проекты(причем скучные и однотипные), для изучения джава технологий и их возможной демонстрации для джунов. А ты уже не соискатель, то они и не нужны.
Аноним 04/11/21 Чтв 22:48:36 #1243 №2203477 
>>2203385
>а можно ли на Java написать допустим бампалку для двача или автопостер для втентакле

Да, можно. Берем selenuim и погнали нахуй. Никто не запрещает.
Только не проще ли питон взять для этих целей? Правда вк уже умеет ботов распознавать. А для двача нужен пасскод.

>>2203383
>откуда идеи черпаете?
Из головы.
Много идей всяких.

Распределенное отказоустойчивое хранилище данных.

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

Система контроля версий для геометрических моделей. Во всяких 3ds max и cad/cam наверное такое уже есть, но все равно интересно самому подобную хуевину сделать.

ГИС система с бекендом на жабе, и с фронтендом на js или c++/rust/wasm. Что-то вроде клона викимапии или народных карт яндекса. Ну и соответственно хранилище для картографических объектов. Хотя это уже излишнее велосипедирование, postgis давным давно существует.

Всякие интерпретаторы/компиляторы/трансляторы. Тут можно много всякого придумать. Но какой-нибудь транслятор Verilog -> VHDL было бы интересно запилить, правда такой уже наверняка есть.

Как-то так. Можно хоть всю жизнь писать, работы дохуища в каждом из проектов. Как инженерной, так и исследовательской. Другое дело, что их писать можно на любом другом языке, не обязательно на жабе.
А вообще идеи для проектов берутся легко, если у тебя есть кругозор какой-никакой. Ну то есть, если ты последние 6 лет только лишь скроллил двачи 24/7, то ничего кроме скачивателя вебмок из фаптредов и автобампа тебе на ум не придет. Нужно кругозор расширять.
Аноним 04/11/21 Чтв 22:56:43 #1244 №2203479 
>>2203477
>Система контроля версий для геометрических моделей. Во всяких 3ds max и cad/cam наверное такое уже есть, но все равно интересно самому подобную хуевину сделать.
Вот об этом тоже думал, остальное в голову вообще не приходило.
>кругозор какой-никакой
Вот это точно. Устраивался впервые на одну работу, связанную с продажами - сразу понял что там можно автоматизировать. Правда решение для этого уже существовало. А так как я больше нигде не работал и не знаю других воркфлоу, то и идей, соответственно, нет.
Аноним 05/11/21 Птн 07:02:20 #1245 №2203578 
>>2203477
>Система контроля версий для геометрических моделей. Во всяких 3ds max и cad/cam наверное такое уже есть.
А что, обычный гит этого не сумеет? Это же просто бинарные данные о геометрических примитивах в составе модели
Професси-анально работал в 3DMax несколько лет - там такого не было (правда это было много лет назад)
Аноним 05/11/21 Птн 07:42:27 #1246 №2203580 
Почему Н2 не сохраняет объекты в базу? Посылаю запросы,возвращает и добавляет данные,при этом в самой базе изменений нет. Тип подключения у меня embedded,файлик лежит в папке с ресурсами.
Аноним 05/11/21 Птн 08:37:59 #1247 №2203591 
>>2203580
не коммитишь транзакцию может
Аноним 05/11/21 Птн 10:20:34 #1248 №2203604 
Просмотрел серию гайдов по Spring Core, вроде все понял, все легко. Не понял только одно: нахуя все это надо? Чем создание контекста и получение из него бинов проще, чем создание точно таких же объектов руками?
sageАноним 05/11/21 Птн 10:28:14 #1249 №2203607 
>>2203604
Потому что руками делать больнее
Аноним 05/11/21 Птн 10:33:28 #1250 №2203608 
>>2203607
Что это значит? Или ты просто зеленишь? Я правда не понимаю.
То есть я понимаю что наверное вся важность спринга раскрывается вместе с прочими его компонентами типа бута, мвс, секьюрити етц. Но вот если взять кор в вакууме то это какая-то муть имхо
sageАноним 05/11/21 Птн 11:08:08 #1251 №2203615 
>>2203608
Ну, кор в вакууме редко используется.
У тебя есть 100+ объектов. Тебе их нужно создать, настроить, проинжектить. Скорее всего придется делать какую-нибудь фабрику и изобрести спринг и каждый раз ее править, когда что-то меняется. Получаем огромный класс-помойку, на котором постоянно мерж конфликты, в который лучше не лезть вообще и тд и тп
Аноним 05/11/21 Птн 11:13:55 #1252 №2203618 
>>2203615
Еще так и не понял пока что, как создать несколько бинов из одного класса, но с разными значениями values. В файле пропертиз дублирование не допускается же
Аноним 05/11/21 Птн 11:28:00 #1253 №2203623 
>>2203618
Можешь через конфиг:
@Configuration
public class MyConfig {
@Bean
public MyBean foo() {
return new MyBean();
}
@Bean
public MyBean bar() {
return new MyBean();
}
}

И при автовайринге юзать @Qualifier
Аноним 05/11/21 Птн 12:34:34 #1254 №2203648 
>>2203071
Ты путаешь архитектуру и инфраструктуру.
Аноним 05/11/21 Птн 13:01:45 #1255 №2203660 
>>2203604
Ищи в книге
2015 Spring 4 для профессионалов, страница 44
или
2019 Spring 5 для профессионалов, страница 67

Там будет часть "Помещение Spring в приложение Hello World!"
Вот отсюда и до конца главы прочитай эти 7-8 страниц.

Мне на нескольких собеседованиях задавали вопрос, нахуя он нужен, поэтому я очень внимательно перечитывал это место.
Аноним 05/11/21 Птн 15:50:41 #1256 №2203767 
Придумайте как мне реализовать свой DI фреймворк на аннотейшн процесссорах и сервис лоадерах. Я пока не могу придумать.
Аноним 05/11/21 Птн 16:27:48 #1257 №2203795 
>>2203767
https://www.youtube.com/watch?v=szI5sza6Wug
https://github.com/inponomarev/java-mipt/tree/master/di-example
я только простой пример видел, без класслоадеров.
Аноним 05/11/21 Птн 16:34:26 #1258 №2203802 
>>2203795
Хуйня ебаная, некст.
Аноним 05/11/21 Птн 16:41:19 #1259 №2203810 
>>2203591
Через jpa repository делаю,там автоматом
Аноним 05/11/21 Птн 16:47:15 #1260 №2203816 
>>2203802
А почему бы тебе самому тогда не поискать более глубоких знаний самому? Это же джава, здесь все миллион раз придумано до нас. Возьми и погугли хорошенько на английском. Залезь в сорцы самих di-фреймворков.
Я о таком честно говоря не задумывался, меня все эти аннотейшн процессторы, рефлексия и класлоадеры не возбуждают. Но что там такого сложного, если есть желание повозиться?
Аноним 05/11/21 Птн 16:55:36 #1261 №2203829 
>>2203816
Сложного ничего, у меня просто в голове крутится идея объединить аннотейшн процессор и сервис лоадер, но я не понимаю, как. Они друг с другом никак не стыкуются на первый взгляд.
Аноним 05/11/21 Птн 16:58:46 #1262 №2203830 
>>2203829
По аннотациям можно генерировать
META-INF/services/...
но это нахер не нужно. Уж лучше сразу на базе аннотаций генерировать код который будет инициализировать классы при старте.
Аноним 05/11/21 Птн 17:41:40 #1263 №2203864 
Двухстороннюю связь manytomany невозможно сделать без создания третьей таблицы?
sageАноним 05/11/21 Птн 17:42:01 #1264 №2203865 
>>2203864
Да
Аноним 05/11/21 Птн 17:50:30 #1265 №2203878 
>>2203864
Возможно, если послать нахуй нормализацию.
Аноним 05/11/21 Птн 18:59:55 #1266 №2203926 
>>2203623
Ну если у класса MyBean есть поле примитивное, например int someInt, как я создам два бина с разным значением из конфиг-файла? Пока что я вот такой способ нашел, но только через конструктор:
@Value("${myBean.someInt}")
int someInt;

@Bean
public MyBean myBean() {
return new MyBean(someInt);
}
Аноним 05/11/21 Птн 19:40:50 #1267 №2203946 
Блять аноны,вот какого хуя н2 такое говно и при этом хуй че нагуглишь. Вот указал я папку куда хочу сохранять базу,хуй так, ничего туда сохранять не будет,создаст два файлика НА УРОВЕНЬ ВЫШЕ,а срать все равно будет в .idea/datasource. Вот нахуя так делать,я просто хочу чтобы бд хранилась в файлике там где я скажу и чтобы оттуда нормально считывались данные,а не слетали к хуям при каждом запуске при условии что я сука указал,что хочу хранить в файлике,а не в оперативке
Аноним 05/11/21 Птн 19:44:27 #1268 №2203949 
>>2203946
а почему не сохранить в нормальную базу? н2 это же для тестиков в инмемори режиме.
Аноним 05/11/21 Птн 20:31:26 #1269 №2203977 
>>2203946
Возьми sqllite.
Аноним 05/11/21 Птн 20:31:43 #1270 №2203978 
>>2203949
Задание такое,чтобы проверяющим было проще,открыл файлик и все
Аноним 05/11/21 Птн 20:33:36 #1271 №2203980 
изображение.png
изображение.png
изображение.png
Вот какого сука хуя ты безмозглая долбоебина не сохраняешься то блять?!
Аноним 05/11/21 Птн 20:34:47 #1272 №2203981 
>>2203980
>ультимейт идею скачал
>думать не скачал
sageАноним 05/11/21 Птн 20:35:56 #1273 №2203982 
>>2203980
Показал все кроме сервиса
Аноним 05/11/21 Птн 20:37:03 #1274 №2203984 
изображение.png
>>2203982
Аноним 05/11/21 Птн 20:40:40 #1275 №2203986 
>>2203978
ну шерсти доку н2. Гуглится плохо, ибо твой кейс мало кому нужен в реальной жизни.
А че за курсы такие?
Аноним 05/11/21 Птн 20:43:39 #1276 №2203989 
>>2203986
Ноунейм шарага в новосибе,блять как же я заебался,второй день с этой базой сраной ебусь и не могу дальше пройти.Ненавижу ебучую Н2,горите в аду создатели этого говна.На постгрес переключаешься и все волшебным образом работает
Аноним 05/11/21 Птн 20:45:48 #1277 №2203992 
Добрый день, 300к/наносеки это жи борда для успешных? А можно ли на Java забабахать визуальную новеллу? Я знаю про RenPy, но для закрепления навыков хочу заделать именно на Джаве. Такое возможно?
Аноним 05/11/21 Птн 20:48:13 #1278 №2203996 
>>2203992
Нет,производство визуальных новелл на джаве является преступлением против человечества
Аноним 05/11/21 Птн 20:49:33 #1279 №2203999 
>>2203992
Существуют движки VN, написанные на жабе. Но для скриптинга юзаются другие языки типа Lua, ибо жаба компилируемая, в ней нет питоньего eval/exec.
Аноним 05/11/21 Птн 20:54:56 #1280 №2204001 
>>2203989
А доебаться до самого препода/сокурсников?
Аноним 05/11/21 Птн 22:11:39 #1281 №2204053 
.png
>>2203978
У тебя прям в задании так написано что ли - "Берите именно H2, допишите его исходники, чтобы научить делать то, чего он не умеет, затем уже пилите свой круд"? Почему нельзя взять SQLIte, который и умеет сохранять в файл без сервера, и поддерживается хибернейтом?
Аноним 06/11/21 Суб 00:29:01 #1282 №2204149 
Пацаны,как методы добавления в коллекцию при многие к одному
То есть есть сущности например department и employee. У department есть лист employees и метод allToEmployees. Так вот,как и где вызывать этот метод? Реализации круд операций за нас то реализованы
Аноним 06/11/21 Суб 00:41:38 #1283 №2204158 
>>2203604
Нахрена спринг, когда есть кваркус
Аноним 06/11/21 Суб 00:42:19 #1284 №2204161 
>>2204158
Я пукнул хихи)
Аноним 06/11/21 Суб 00:57:24 #1285 №2204181 
.png
>>2204158
Намекну. В этом треде все сидят исключительно с целью найти работу или поднять своё ЧСВ. А похлебать борщи можно на чём-нибудь поинтереснее спрингокваркусов.
Аноним 06/11/21 Суб 01:03:49 #1286 №2204187 
Сколько у вас миграций на проекте? А то я ахуел мальца как увидел
Аноним 06/11/21 Суб 01:07:59 #1287 №2204189 
>>2204187
Около тысячи flyway-скриптов.
Аноним 06/11/21 Суб 01:32:46 #1288 №2204216 
>>2204189
Расскажи зачем столько. Для изменений схемы?
Аноним 06/11/21 Суб 01:39:20 #1289 №2204220 
>>2204189
Сейчас глянул из любопытства, на самом деле их ~4000.
>>2204216
Да, много лет проекту, пилит много разрабов, на каждую вторую фичу требуются новые таблицы или изменения в существующих.
Аноним 06/11/21 Суб 01:41:43 #1290 №2204222 
>>2204220
сильно сложно менять схему в базе, где уже много данных? Как это происходит?
Аноним 06/11/21 Суб 01:45:48 #1291 №2204224 
>>2204222
Обычно несложно, пишется alter table + апдейтов, и всё. В сложных случаях что-нибудь местные базисты могут подсказать.
Аноним 06/11/21 Суб 01:49:32 #1292 №2204228 
>>2204224
Я скорее имею ввиду бюрократически что-ли. Мне просто кажется это большая ответственность. Проекты старые и большие.
Аноним 06/11/21 Суб 01:49:53 #1293 №2204230 
>>2204222
"менять схему" в большинстве случаев это просто добавление новых таблиц и колонок, количества данных роли не играет
Аноним 06/11/21 Суб 01:52:31 #1294 №2204231 
>>2204228
Если кто-то что-то сломает, выявляют и чинят достаточно быстро. До релиза это проходит несколько этапов тестирования на тестовых схемах БД, при проблемах всегда можно восстановить бэкап.
Аноним 06/11/21 Суб 01:53:41 #1295 №2204232 
>>2204231
а для тестовой схемы тоже есть 4к миграций?
Аноним 06/11/21 Суб 01:57:20 #1296 №2204233 
>>2204232
Они везде есть, сначала их катят на тестовых, затем уже запускают на проде.
Аноним 06/11/21 Суб 08:21:26 #1297 №2204324 
>>2204187
0
Аноним 06/11/21 Суб 14:43:38 #1298 №2204527 
>>2204181
Поднять ЧСВ - это пилить на чистой джаве. Наблюдая местные высеры, зачастую можно подумать что спрингодети уже просто не умеют ничего делать вне фреймворка.
Аноним 06/11/21 Суб 14:51:44 #1299 №2204534 
>>2204527
Те, кто умеет, ничего не спрашивают.
Аноним 06/11/21 Суб 15:19:16 #1300 №2204552 
>>2204527
Что вообще пишется на чистой джаве и нахуя? Наоборот на голой джаве пишут дети, когда джаву учат.
Аноним 06/11/21 Суб 17:52:53 #1301 №2204673 
Гайз,как в постмане объект передавать заранее созданный?
Аноним 06/11/21 Суб 20:17:14 #1302 №2204798 
Посоветуйте софт для создания POST запросов.
Аноним 06/11/21 Суб 20:23:07 #1303 №2204802 
>>2204798
https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html
Аноним 06/11/21 Суб 20:25:16 #1304 №2204804 
>>2204798
плагины к браузеру
Аноним 06/11/21 Суб 21:03:48 #1305 №2204826 
>>2204798
Curl
sageАноним 06/11/21 Суб 22:25:15 #1306 №2204885 
>>2204798
Постман
Аноним 07/11/21 Вск 01:34:01 #1307 №2204986 
Есть гайд исчерпывающий по тестам в спринге? Чтобы объяснили нормально на примерах отличие юнитов от интеграционных и юниты показали ко всем слоям. И в одном месте и структурировано.
Аноним 07/11/21 Вск 01:42:11 #1308 №2204987 
>>2204986
Тот же вопрос интересует, но не именно про тесты, а вообще про все популярные направления спринга: boot, data, mvc, security, orm, etc.
Аноним 07/11/21 Вск 02:17:36 #1309 №2205000 
>>2204986
Поднимаешь контекст - интеграционный, не поднимаешь - юнит.
Аноним 07/11/21 Вск 02:21:23 #1310 №2205002 
>>2205000
Поднимаешь контекст
@
Не используешь, всё мокаешь
Аноним 07/11/21 Вск 02:38:14 #1311 №2205011 
>>2205000
Так прямо в самом любом гайде по юнитам начинают с теста к сервиса, где сервис автовайрят, а репо и другие компоненты, от которых завист сервис мокаются. Этот один автовайр разве не поднятие контекста?
Аноним 07/11/21 Вск 02:42:56 #1312 №2205014 
>>2205011
Если автовайр встречается вместе с моками, то это значит, что часть зависимостей все равно обеспечиваются спрингом. То есть это интеграционный тест.
Аноним 07/11/21 Вск 03:21:15 #1313 №2205018 
>>2205014
а можно ссылку на гайд с примерами? А то именно юниты в 3 гайдах, что я читал описываются именно так >>2205011
Аноним 07/11/21 Вск 03:36:46 #1314 №2205021 
>>2205018
Хз, что за гайды у тебя, но
1. если ты в сам тест заавтовайрил сервис, но дальше тестириуешь только один сам этот сервис, а зависимости его мокаешь, то это по сути именно юнит-тест, хоть даже спринговый контекст чуть-чуть где-то сбоку там участвует.
Могу кстати заметить, что в типичном энтерпрайзе полезность юнит-тестов очень ограничена. Нет ничего более глупого, чем мокать репозитории, и сводить тест к проверке того, что сервис действительно вызывает у репозитория нужный метод.
2. с тестами есть эта вечная путаница с терминологией. Частенько юнитами называют любые тесты, которые являются частью проекта, запускаются вместе со сборкой, и не требуют участия внешних систем. Ну типа раз через junit запускаются, значит unit, и похуй, что там в нем.
Аноним 07/11/21 Вск 03:50:24 #1315 №2205027 
Анончики,нужна ваша помощь,умираю. Есть спринг бут приложуха,для создания одной сущности требуется еще две другие. Как мне сделать так чтобы я мог дочерние сущности передавать в виде айдишника? Отдельно конструктор с айдишками я создать не могу така ка между основной сущностью и второстепенными стоит связь ManyToOne и я обязан привязывать столбец с айди к объекту,а не к числу. Я чичас расплачусь умоляю
Аноним 07/11/21 Вск 04:33:50 #1316 №2205039 
>>2205027
Легко, надо выпилить говнохибернейт и сделать нормально.
Аноним 07/11/21 Вск 05:39:27 #1317 №2205049 
DA6E4B07-766B-462D-9F58-1228FB0F9713.jpeg
>>2205039
Так нельзя :( помогите
Аноним 07/11/21 Вск 06:26:25 #1318 №2205052 
Как записать хибером java.util.date Date-объект с unix-timestamp в postgresql?
Хотел использовать timestamp-поле для postgresql, но там не юниксовый timestamp, а какой-то свой. В итоге, пишет неправильно.
Аноним 07/11/21 Вск 14:03:15 #1319 №2205198 
>>2205027
>Есть спринг бут приложуха,для создания одной сущности требуется еще две другие.
Ты сделал какую-то херню. Родительская сущность должна всегда создаваться первой и без дочерних. Персистишь ее и уже потом создаешь дочерние и линкуешь к родительской.
Аноним 07/11/21 Вск 14:08:09 #1320 №2205201 
изображение.png
Важный вопрос от вкатуна: как учить этот ваш Спринг?
Работаю макакой-тестировщиком, периодически приходится писать простенькие заглушки на Спринге, которые отвечают 200 OK, но делаю это я в общем-то интуитивно. Ну а как дальше? Есть ли смысл в курсах конкретно по Спрингу,что почитать, с чего вообще начинать?
Аноним 07/11/21 Вск 14:31:04 #1321 №2205215 
>>2205052
>Хотел использовать timestamp-поле для postgresql, но там не юниксовый timestamp, а какой-то свой. В итоге, пишет неправильно.
Если неправильно пишет -то 99% у тебя стоят разные таймзоны на сервере с постгресом и сервере с приложением. В общем или поменяй тип поля на long или в бине используй ZonedDateTime а в базе timestamp with time zone
Аноним 07/11/21 Вск 14:33:15 #1322 №2205216 
>>2205000
>Поднимаешь контекст - интеграционный
Ебанулся что ли? Интеграционный тест проверяет интеграцию между системами и у тебя должны не контексты подниматься, а сервисы целиком деплоиться.
Аноним 07/11/21 Вск 14:39:00 #1323 №2205219 
>>2205018
>>2205021
>>2205216
Во, вот как раз я и говорил о мутной терминологии. У кого-то, как видим, интеграционные это про "интеграцию между системами" (все остальное, видимо, юнит), так что и нет смысла задаваться вопросами про контексты.
Аноним 07/11/21 Вск 14:48:09 #1324 №2205224 
>>2205201
>но делаю это я в общем-то интуитивно
Да вообще писать продакшн-код тоже так можно по началу. Если ты не дурачок, базовые принципы понимаешь, уже что-то написать в состоянии, то вполне может хватить официальной документации.
Аноним 07/11/21 Вск 14:52:52 #1325 №2205227 
>>2205201
>>2204987

пока лучше всего мне зашел курс от отуса(есть на nnm-club). >>2191161
Я целых пол года по 5 разным гайдам/ютуб каналам/книгам дрочил спринг core, boot, jdbc, data, mvc, правда до security так и не добрался, Но вот иду по отусу, посмотрел пока 7 видосов из 40 и узнаю много нового(судя по названием тем я знаком с содержанием первых +- 17 видосов, но где-то на 70%).
Много бойлерплейта(прям как в джаве), лишнего балабольсва, разговоров с аудиторией. 80 часов видео при грамотном монтаже можно было бы урезать в 2.5 раза. Если первый раз знакомишься со спрингом наверно все таки кое-что, но немногое придется гуглить. Например все по базам там на h2, а не на нормальных postgres/mysql. Но костяк весь есть и понятно будет,что гуглить и какие гайды читать.
Ну а потом практику думаю норм отсмотреть. Например книга spring in action. Я с нее начал и там просто ничего не объясняется, тупо пользуются кучей магии.
Аноним 07/11/21 Вск 15:00:25 #1326 №2205233 
ах да, мне тут полгода назад только и посылали нахуй типа этого анона >>2205224 читать доку. Но дока только по самым важным подфреймворкам это около 2к страниц, как я подсчитал. Я пару раз за нее садился не вывез и лезу в доку, только когда гуглю что-то и читаю ее наравне с каким-нибудь гайдом baeldung.
Может дело во мне, но вот такой у меня опыт самообучения, может кому тут пригодится.
>>2205227 - кун
Аноним 07/11/21 Вск 15:53:11 #1327 №2205273 
>>2205219
>Во, вот как раз я и говорил о мутной терминологии.
Все нормально с терминологией, просто надо почитать пару мурзилок про теорию тестирования.


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


Функциональные тестируют бизнес функционал. Можно тестировать как через REST API подняв сервис целиком, но иногда можно поднять контекст и тестировать функциональность вызывая методы у класса. Главное что тестируется бизнес функциональность, а не API класса. В общем-то это основной тип тестов для проверки, что система соответствует требованиям бизнеса.


Интеграционные тестируют интеграцию между системами. Поднимается несколько систем и смотрят как они между собой взаимодействуют. Тут тестируется, что разрабы из разных команд успешно договорились про API, формат данных, порядок взаимодействия и прочее. Тут тестируют базовые сценарии, весь функционал тестами, как правило, не покрывают.
Аноним 07/11/21 Вск 16:07:52 #1328 №2205284 
>>2205273
>просто надо почитать пару мурзилок
О, спасибо за совет, действительно, как же разобраться без "мурзилок".
Вот, например, всем известная музрилка baeldung https://www.baeldung.com/integration-testing-in-spring
действительно описывает, как поднять несколько систем, чтобы проверить договоренности о порядке взаимодействия, ну да
Аноним 07/11/21 Вск 16:11:16 #1329 №2205286 
>>2205273
>Все нормально с терминологией, просто надо почитать пару мурзилок про теорию тестирования.
Ты теоретик обоссаный или хочешь нормальные тесты писать?
Аноним 07/11/21 Вск 16:13:18 #1330 №2205289 
Ну и например, у меня есть фейн клиент, который представляет собой интерфейс взаимодействия с внешней системой. Когда я пишу в тестах мок для этого клиента, я превращаю функциональный тест в интеграционный или как?
Аноним 07/11/21 Вск 16:18:39 #1331 №2205293 
>>2205273
>Функциональные тестируют бизнес функционал.
>Интеграционные тестируют интеграцию между системами.

https://www.youtube.com/watch?v=Lnc3o8cCwZY
То есть в этом видосе автор попутал и LoginTest это функциональные тесты, а не интеграционные?
Аноним 07/11/21 Вск 16:24:45 #1332 №2205295 
>>2205293
Да, весь мир все попутал, и только на дваче, как обычно, четко все разложили
Аноним 07/11/21 Вск 16:34:41 #1333 №2205301 
>>2205198
Ну вот есть у меня книга,у книги есть автор и жанр. У жанра и автора много книг,у книги один и жанр и автор. При создании книги я должен передавать и автора и жанр,а там по несколько полей. Я хочу тупо их айди передавать
Аноним 07/11/21 Вск 16:44:01 #1334 №2205307 
>>2205284
Это мурзилка "как протестировать", а не "зачем и что тестировать".


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


>>2205293
>То есть в этом видосе автор попутал и LoginTest это функциональные тесты, а не интеграционные?
Да, он даже сам вначале говорит что будет тестировать функционал логина. Если бы он тестировал OAuth2 авторизацию, через сторонний SSO сервис - это был бы интеграционный тест. А это чисто функциональный тест.
Аноним 07/11/21 Вск 16:44:46 #1335 №2205308 
>>2205301
>Я хочу тупо их айди передавать
EntityManager#getReference
Аноним 07/11/21 Вск 16:48:37 #1336 №2205313 
>>2205307
>пук
Аноним 07/11/21 Вск 17:22:39 #1337 №2205332 
>>2205308
Че
Аноним 07/11/21 Вск 17:36:47 #1338 №2205348 
>>2205332
entityManager.getReference()
Аноним 07/11/21 Вск 17:51:48 #1339 №2205366 
>>2205215
Спасибо за ответ!
Не уверен, что дело именно в таймзонах, потому как была бы куда меньшая погрешность. А так, выходит, что я вношу unix-timestamp типа 2021-10-25 само собой, лонговой строкой, для облегчения понимания дату написал, а из базы селектом что-то типа 1970-01-19 выходит. Как-то так.
Видимо, всё же придётся менять на лонговое поле.
Аноним 07/11/21 Вск 17:57:37 #1340 №2205369 
>>2205366
java.sql.Date
Аноним 07/11/21 Вск 18:52:15 #1341 №2205454 
>>2205227
А есть эта хуитка на нормальных торрентах? по каким словам искать? курс отус по спринг или сорт оф?
еще один вкатун
Аноним 07/11/21 Вск 19:12:24 #1342 №2205483 
>>2205454
чел, ну тебе же все равно придется дохуя гуглить.
https://nnmclub.to/forum/viewtopic.php?t=1474084
Аноним 07/11/21 Вск 19:20:41 #1343 №2205489 
Короче сразу два препода с отуса говорят, что когда jpa-orm использовать не резон, то обычно используют облегченные orm типа mybatis или spring data jdbc.
А чистый spring jdbc в проде c нагромождением RowMapper-ов и ResultSetExtractor-ов это муторно.
А тут топили за чистый jdbcTemplate.
Аноним 07/11/21 Вск 19:48:27 #1344 №2205538 
>>2205489
и кто пиздит или не шарит: двощерики или продаваны курсов?
Аноним 07/11/21 Вск 20:05:56 #1345 №2205559 
>>2205538
>и кто пиздит или не шарит
Ты может удивишься, но в этом нашем ремесле обычно так не бывает, что способ X в 100% случаев это единственный правильный вариант, а способ Y это однозначно зашквар и кто так делает не шарит. Если б все было так просто и однозначно, тут бы и не платили 400к/наносек, быть может. И то используют, и то; в каких-то случаях что-то муторно, в каких-то вполне приемлемо. Кто-то больше любит одни подходы, кто-то другие. Многие вещи вполне можно нормально сделать и так и сяк, и выбор будет зависеть просто от вкуса, привычек, того, с чем больше знаком.
Аноним 07/11/21 Вск 20:15:10 #1346 №2205569 
Начал понемного пробовать вкатываться в спринг, и позвольте такой вопрос:
Thymeleaf и шаблонизаторы вообще - нужны ли они бекенд разработчику на реальной работе с реальными проектами, или это хрень, которая во всяких уроках юзается только чтоб как-то видеть как данные выводятся в браузер?
Я совсем пока не понимаю как происходит стыковка работы приложения и итогового фронт-энда. Может кто-то скажет в двух словах как данные которые выдает контроллер превращаются в настоящие нормальные страницы, вроде двачевской.
просто один только тимлиф можно изучать кучу времени, хочется быть уверенным что это не совсем зря и что запоминать его стоит на долго, а не ради уроков
Аноним 07/11/21 Вск 20:16:42 #1347 №2205570 
>>2205559
вот он боейлерплейт джавовский. Суть фразы из 3 слов
>бывает по разному
завернул в 1000 знаков.
Аноним 07/11/21 Вск 20:20:57 #1348 №2205573 
>>2205569
хтмл - это строчка. таймлиф внутренней магией меняет куски строчки. и строчку отдает на фронт. Не советую вникать, просто повтори примеры в источнике механистически и переходи к ресту.
Аноним 07/11/21 Вск 20:23:02 #1349 №2205575 
>>2205569
> это хрень, которая во всяких уроках юзается только чтоб как-то видеть как данные выводятся в браузер?
Обычно да, но ситуации разные. Бывает, делают внутренние тулзы для облегчения разработки, которые юзают только разрабы и тестеры, но не пользователи, и там может быть что угодно, на чём даже вакансий нет, хоть таймлиф, хоть свинг. Это всё по необходимости, на собесе за незнание таймлифа никто не завернёт.
> Я совсем пока не понимаю как происходит стыковка работы приложения и итогового фронт-энда. Может кто-то скажет в двух словах как данные которые выдает контроллер превращаются в настоящие нормальные страницы, вроде двачевской.
На более-менее современных проектах юзают SPA: на бэке только рест апи, и отдельно существует проект с фронтом на каком-нибудь реакте, который деплоится на какой-нибудь nginx и просто дёргает апишку.
Аноним 07/11/21 Вск 20:30:25 #1350 №2205582 
>>2205575
>который деплоится на какой-нибудь nginx и просто дёргает апишку
я короче захотел как то докеризировать отдельно фронт, отдельно спрингбутовое приложение, отдельно nginx с js-ом. Ну и короче я сломался в настройках nginx. Полдня потыкал и забил(пришлось отрубить cors в spring security).
Уметь настраивать nginx это вообще релевантно для джависта? Я знаю это всяким там фулстекам на пхп надо. Вроде хочется покопаться, но жалко времени, и так в планах на изучение много материалов.
Аноним 07/11/21 Вск 20:31:21 #1351 №2205583 
>>2205573
>>2205575
Спасибо, аноны
>на бэке только рест апи
Ну, вот например сейчас я вижу в уроках что спрингом делается мэппинг какого-то запроса на метод контроллера, который выдает (везде, что я пока посмотрел) просто строчку с названием представления, после чего спринг сам что-то там связывает и выдает в браузер.
А на реальных проектах куда попадает аутпут метода с мэппингом и что в нем вообще лежит?
Сорян за тупые вопросы, можете если что просто послать в гугол
Аноним 07/11/21 Вск 20:37:09 #1352 №2205588 
>>2205582
> Ну и короче я сломался в настройках nginx. Полдня потыкал и забил(пришлось отрубить cors в spring security).
Вроде, делается несложно через proxy_pass.
> Уметь настраивать nginx это вообще релевантно для джависта?
Нет, ты не девопс, разве что для общего развития. В пхп-мирке не могут себе позволить отдельно фронта, отдельно бэка, отдельно девопса, отдельно лида, вот и приходится им учить всё.
Аноним 07/11/21 Вск 20:39:17 #1353 №2205592 
>>2205583
> Ну, вот например сейчас я вижу в уроках что спрингом делается мэппинг какого-то запроса на метод контроллера, который выдает (везде, что я пока посмотрел) просто строчку с названием представления, после чего спринг сам что-то там связывает и выдает в браузер.
Есть просто контроллеры (@Controller, которые Spring MVC), а есть рест-контроллеры (@RestController). Контроллеры да, возвращают название вьюхи, но рест-контроллеры возвращают объект, который надо сконвертировать в JSON и отправить фронту.
Аноним 07/11/21 Вск 20:43:02 #1354 №2205593 
>>2205583
Ну в просто контроллере он отдает штмлку/динамически измененную шаблонизатором штмлку(которую он берет из файла с "представлением") строчкой в теле http ответа. А в ресте в теле тоже в виде строчки будет сериализованный объект. А штмлку тебе нарисует жс внутри браузера.
Короче почитай статьи про основы http и rest.
Аноним 07/11/21 Вск 20:46:51 #1355 №2205599 
>>2205575
Если уж зашла такая тема, то что нужно изучить дополнительно к спринг чтоб обрести статус неформальный full-stack? Реакт? что-то еще?
Аноним 07/11/21 Вск 20:47:42 #1356 №2205600 
>>2205593
>>2205592
Спасибо, гайс. Все достаточно понятно стало.
Аноним 07/11/21 Вск 20:52:05 #1357 №2205606 
>>2205599
Да, реакт и всю трендовую веб-парашу с вебпаками и популярными либами. Ну и девопс - разобраться хотя бы в докерах-куберах-нгинксах.
Аноним 07/11/21 Вск 20:52:42 #1358 №2205607 
>>2205599
https://hh.ru/search/vacancy?area=&fromSearchLine=true&text=Full+stack+Java+Spring
Кто нам нужен - full stack developer, который:

Имеет опыт коммерческой разработки от 2 лет
Хорошо знает Core Java, Spring
Знает Angular, RxJS, TypeScript
Владееь технологиями HTML 5, CSS 3 а также знание препроцессоров
Знает стек TCP/IP; Знает работу с HTTP, WebSockets
Умеет работать с инструментами: Webpack, Jest, Cypress, Docker
Готов читать задачи и доводить их до работоспособности (важный редкий навык!)
Аноним 07/11/21 Вск 20:56:01 #1359 №2205613 
>>2205607
И сколько за это обещают в этой вакансии и в реальности сколько это стоит в сравнении с голым беком?
Аноним 07/11/21 Вск 21:02:57 #1360 №2205619 
>>2205613
Хз, обычно фулстеки со спрингом это мидлы/синьеры.
Для вкатунцов фулстек это как раз всякое странное говно на фронте типа шаблонов/jsp/ваадина, примеры совсем странного велосипедного говна.
Аноним 07/11/21 Вск 21:39:44 #1361 №2205647 
>>2205489
jdbcTemplate есть из коробки в спринг буте. А твой спринг-дата я хуй знает.
Второе. Знаешь зачем это нужно? Если нужно сделать хитровыебанный запрос, или всякие хранимки, или специфичные функции субд, типа там массивов или геоданных.
Я сильно сомневаюсь что @Query сможет обработать такие штуки
Аноним 07/11/21 Вск 22:34:01 #1362 №2205695 
>>2205647
Ну челик говорил, что сложные агрегации с которыми хибер плох он делает на майбатисе и это ему проще чем на темплейте. А про новую спринговую поделку просто сказал что небесполезно.
Эти челики для меня не авторитеты. Я просто украл их курс и смотрю.
Аноним 07/11/21 Вск 23:08:54 #1363 №2205762 
>>2205369
Объект уже существует и сделан не мною, нужно уже под него спроектировать схему. Так бы, само собой, взял бы нормальный дэйт.
Аноним 07/11/21 Вск 23:53:11 #1364 №2205830 
>>2205695
Ты за 2000 год смотришь? И как тебе лекторы?
Я 2018 украл, там один тип всё рассказывает, говорит быстрее, в сон с него не клонит, как с Колыбельного.
Аноним 08/11/21 Пнд 00:02:36 #1365 №2205850 
>>2205830
2020
Самый частый, толстый такой лысый - реально плох в плане умения рассказывать. Плюс, если отходит от плана, то там точно сделает опечатку, которую 2 минуты будет искать. Но вроде шарит и сам план норм. Слушать тяжело. Очень хочется монтажа. Пришлось даже через метод помидорки это смотреть. Но инфа мне нравится.
Аноним 08/11/21 Пнд 01:24:52 #1366 №2206123 
>>2205762
>>2205366
>>2205052
Проблема была не с БД, а со старым говнообъектом даты.
Может кому понадобиться - не пытайтесь просто взять и вкопипастить лонговое значение unix-time в сраный Date()-конструктор - он засетит его неправильно. Инициализируйте объект через другие конструкторы даты, например, через GregorianCalendar SimpleDateFormat.
Аноним 08/11/21 Пнд 01:28:52 #1367 №2206140 
>>2206123
>не пытайтесь просто взять и вкопипастить лонговое значение unix-time в сраный Date()-конструктор - он засетит его неправильно
И почему же?
Аноним 08/11/21 Пнд 01:39:47 #1368 №2206183 
>>2206140
Скорее всего, потому что он принимает unix-time расширенный, в миллисекундах. Можешь попробовать туда засетить unix-timestamp и умножить его 1000 - может заработает.
Аноним 08/11/21 Пнд 01:40:50 #1369 №2206186 
Просто это неочевидная вещь, пока сурцы не откроешь
Аноним 08/11/21 Пнд 01:46:33 #1370 №2206205 
>>2206183
>и умножить его 1000 - может заработает
Точнее, не может - а заработает. Я проверил.
Аноним 08/11/21 Пнд 08:36:47 #1371 №2206409 
>>2205227
>пока лучше всего мне зашел курс от отуса(есть на nnm-club)
Ссылкой, конечно же, нельзя поделиться?
Аноним 08/11/21 Пнд 08:38:47 #1372 №2206413 
>>2206183
>Скорее всего, потому что он принимает unix-time расширенный, в миллисекундах
Ну то есть стандартный формат, о чем и в джавадоке написано https://docs.oracle.com/javase/8/docs/api/java/util/Date.html#Date-long-. Ты-то нахуя ему секунды кормил?
sageАноним 08/11/21 Пнд 16:03:54 #1373 №2206884 
Мы там потонем скоро
Аноним 08/11/21 Пнд 16:04:54 #1374 №2206887 
>>2206884
И слава богу.
Аноним 08/11/21 Пнд 16:34:07 #1375 №2206927 
>>2206409
конечно же, нельзя.
Аноним 08/11/21 Пнд 16:39:44 #1376 №2206939 
>>2206884
Тред на 5 странице из 10. Можно еще тыщу постов накалялкать перед перекатом.
Аноним 08/11/21 Пнд 16:55:59 #1377 №2206968 
>>2206939
> Можно еще тыщу постов накалялкать перед перекатом.
И нужно.
Аноним 08/11/21 Пнд 18:55:49 #1378 №2207113 
Вкатуны, которые смогли, отзовитесь.
Скажите на какую ЗП устроились, в каком городе и стек технологий, который у вас был и какой был необходим.
Аноним 08/11/21 Пнд 19:01:39 #1379 №2207118 
>>2206413
>Ну то есть стандартный формат
Это не стандартный формат. В стандартном формате unix-time принято указывать с секундной точностью.

>о чем и в джавадоке написано
>Ты-то нахуя ему секунды кормил?
Потому что до открытия доки это было неочевидно. Я просто вставил стандартную секундную строку и пошёл искать поломку в другом месте.
Аноним 08/11/21 Пнд 19:04:37 #1380 №2207123 
>>2207113
Мухосрань-милионник, 60к
Не могу сказать что смог, просто вписался в разношерстный ИТ-отдел одного пром-предприятия, где вообще лютый треш и салат из всякого легаси-говна чуть ли еще не на бейсике и 1С-хуиты. Я просто имел много идей по бизнес-логике, и сказал что реализую все сам, но работать буду на джава, подключая все свое дерьмо как что-то вроде микросервисов к единой почти корпоративной БД. В итоге я там сам себе и архитектор и реализатор. Поскольку я еблан, пилю всю свою шнягу на чистой джаве (кор + ждбц + всякие прикладные вещи).
Хуйня, конечно, потому и зарплата по меркам отрасли нищая. ХЗ зачем я это высрал, но тоже своего рода опыт.
Аноним 08/11/21 Пнд 19:23:03 #1381 №2207137 
>>2207118
>Это не стандартный формат. В стандартном формате unix-time принято указывать с секундной точностью.
Нет, стандартный как раз в миллисекундах. В джаве же нет метода System.currentTimeSeconds(), или ты результат System.currentTimeMillis() на 1000 делил всегда?
Аноним 08/11/21 Пнд 19:27:38 #1382 №2207141 
Вот везде пишут, что запрос в базу это дохуя. Особенно по сравнению вызова из кеша. Но нигде Мне стало интересно насколько.
Померил у себя на компе - память ддр3, база постгрес на ссд сата3. Считал через System.nanoTime().
Ну вот простое обращение к полям объекта - 1-3к наносек.
А вот первый запрос к постгресу(я делал инсерты), что через jdbc, что через хибер это 20-60 кк наносек.
Правда со второго по десятый инсерт(тут только на jdbc пробовал) например это уже 150-400к наносек. Но все равно 2 порядка разницы с java-объектом.
Первый инсерт это время подключения к базе походу.
То есть
- подключение к базе - 50 миллисекунд(как пангинуть до франкфурта),
- простой инсерт в базу это 300 микросекунд,
- обращение к объектам 2 микросекунды.
И это на очень простых запросах и пустых базах. На крутом серверном железе разница будет максимум в пару раз.
Правильный порядок цифр?
Аноним 08/11/21 Пнд 19:32:18 #1383 №2207149 
>>2207137
>Нет, стандартный как раз в миллисекундах.
Алло, это в жаве он стандартный в миллисекундах.
А в стандарте unix-epoch он в секундах:
>Unix-время представлено целым числом, которое увеличивается с каждой прошедшей секундой без необходимости вычислений для определения года, месяца, дня, часа или минуты для удобства восприятия человеком. Современное Unix-время согласуется с UTC — отсчет происходит в секундах СИ.
Аноним 08/11/21 Пнд 19:37:10 #1384 №2207154 
>>2207141
ты измерял на локалхосте, и считаешь эти данные показательными, я правильно тебя понял?
Аноним 08/11/21 Пнд 19:44:36 #1385 №2207162 
>>2207154
Ну считаю минимумом. Ясно, что база часто на другой машине. Но я не могу так проверить.
А какие порядки цифр показательные? Я в хаброответах вообще нагуглил, что 200 миллисекунд на сложный многосоставной селект это многовато, не не то чтобы очень.
Просто хочется понимать порядки цифр и насколько например кешированный объект сэкономит времени для полного цикла запроса в рест-приложухи от нажатия кнопки на фронте до перерисовки компонента на фронте же.
Аноним 08/11/21 Пнд 20:24:06 #1386 №2207199 
>>2207162
Хз, но сталкивался, что когда приложуха крутится на локалке, она выдает стабильную и большую скорость, когда же начинается работа с удаленным сервером это становится довольно плавающей характеристикой - может и быстро прогрузиться, может и подлагнуть иногда. Я бы придерживался стратегии хранить в памяти такие данные, которые нужны неоднократно (например на весь сеанс работы), и такие которые герантировано не сожрут много памяти (например, какие-нибудь весьма ограниченные списки). Если возможны селекты больших объемов данных, можно сделать логику, которая кэширует в память весь пул кусками, например по 500 объектов (после работы пул очищается и ты лезешь за некст 500). Это позволяет не селектить каждый объект отдельным запросом, но в то же время не пытаться закэшировать сразу 100500 рекордов, рискуя получить аут оф мемори.
Сугубо мое мнение и практика, может нормальные люди так и не делают.
Аноним 08/11/21 Пнд 20:41:15 #1387 №2207204 
>>2207199
Охотно верю, что пагинация в кеш это норм вещь, думаю там много конкретных способов оптимизации. Но хотелось бы про какие-нибудь порядки цифр узнать для общих случаев.
Аноним 08/11/21 Пнд 20:51:50 #1388 №2207209 
>>2207204
Для чего тебя порядки цифр? Вот какая нахуй разница отдашь ты данные через 200 миллисекунд после нажания кнопки или через 1 секунду?
Аноним 08/11/21 Пнд 20:54:46 #1389 №2207212 
>>2207162
простые запросы по индексированным полям - десятки милисекунд.
Сложные оптимизированные запросы - сотни милисекунд. Плохие запросы - секунды. Очень плохие запросы - минуты
Аноним 08/11/21 Пнд 21:04:09 #1390 №2207217 
>>2207209
Ну не знаю, ну вот интересно мне про полный цикл веб-приложухи.
>>2207212
Спасибо. Меня такой ответ удовлетворил.
Аноним 08/11/21 Пнд 22:30:04 #1391 №2207293 
Аноны, а кто здесь мидл? Кто считает себя таковым? По внутренним ощущениям или по мнению других, по уровню з/п.
Понимаю, что это все довольно условно, в то же время какая-то примерная грань существует. Пусть каждый и определяет для себя сам оттенки.

Расскажите о своем становлении. Как вы поняли что уже на уровне мидла? Сколько времени это заняло(может занять)? Мб есть какие-то конкретные хардовые критерии уровня.
Интересно узнать, чтобы хоть какой-то ориентир и цель иметь
Аноним 08/11/21 Пнд 23:46:56 #1392 №2207330 
>>2207293
Здесь в основном сеньоры, это же борда для успешных людей.
По моим ощущениям - все действительно очень условно, определяется больше ролью на конкретном месте, чем какими-то "хардовыми критериями". Для себя никогда не задавался таким вопросом - перешел ли я уже на конкретный "уровень" или нет - и неплохо себя чувствовал.
В качестве ориентира и цели лучше иметь либо размер зп, либо задачи/проекты/предметные области, которыми хочешь уметь заниматься, а не условную лычку мидла или сеньора.
Аноним 09/11/21 Втр 00:37:30 #1393 №2207360 
>>2207149
>Алло, это в жаве он стандартный в миллисекундах.
А ты программируешь на джаве или на стандарте unix-epoch?
Аноним 09/11/21 Втр 00:56:36 #1394 №2207385 
>>2207360
Я программирую на языке жопаджава, в котором и так многое стандартизировано, потому что один прикладным языком весь мир не ограничен. Например, работа с ФС для JVM регламентирована стандартами окружения, в котором она запущена.
Поэтому неочевидность несоответствия каким-то общепринятым стандартам - это вполне себе причина для неожиданных ошибок в коде.
Аноним 09/11/21 Втр 02:50:22 #1395 №2207416 
Есть 2 пк. Нужно иметь возможность кодить сидя за обоими. Для этого можно юзать git. Но вот незадача, удалять коммиты с remote сервака не принято. Можно коммитить проект в нерабочем состоянии, но не хочется устраивать там срач, вдруг показывать придётся. Как выкручиваться?
Аноним 09/11/21 Втр 04:21:21 #1396 №2207423 
Как неохота фронт писать для пета это пиздец,я посмотрел,что тимлиф что бутстрап что вью жс такие страшные вещи что охуеть можно
Аноним 09/11/21 Втр 04:32:55 #1397 №2207425 
>>2207423
пиши на голом жсе.
sageАноним 09/11/21 Втр 09:18:53 #1398 №2207570 
>>2207416
Юзай гитовые патчи
Аноним 09/11/21 Втр 09:41:24 #1399 №2207592 
>>2207416
Сучара, ты почему в джава треде это пишешь?
Аноним 09/11/21 Втр 10:05:17 #1400 №2207612 
>>2207423
Может и ну нахуй тогда этот фронт? Заставляет кто-то его писать?
Аноним 09/11/21 Втр 10:08:49 #1401 №2207614 
>>2207612
Ну и чё ему, голый сваггер тыкать?
Аноним 09/11/21 Втр 10:12:16 #1402 №2207616 
>>2207423
страшные это значит сложные или выглядит уебищно?
Аноним 09/11/21 Втр 10:37:06 #1403 №2207644 
>>2207614
Если нет цели представиться (недо)фулстеком, а хочется потыкать что-то для себя, так чтоб не голый сваггер, можно много чего придумать. Да хоть декстоп клиент к своему рест-апи сделать.
Аноним 09/11/21 Втр 15:25:53 #1404 №2207864 
Аноны, подскажите, че за хуита блядь.

Я добавил зависимость в POM, вылезла какая то ошибка что он там чето не может, ну хуй с ним, я эту зависимость удалил, и теперь этот ебучий мавен не собирает приложение с ошибкой Could not transfer artifact "зависимость" from/to nexus

НО БЛЯДЬ УДАЛИЛ ЭТУ ЗАВИСИМОСТЬ СУКА, КАКОГО ХУЯ И ГЛАВНОЕ ОТКУДА ОН БЕРЕТ ИНФУ, ЧТО ОН ТАМ ЧЕ-ТО НЕ МОЖЕТ СДЕЛАТЬ С ЭТОЙ ЗАВИСИОМСТЬЮ, КОТОРОЙ СУКА НЕТ В ЭТОМ ЕБУЧЕМ POM.XML.

у МЕНЯ СЕЙЧАС ПЕРДАК РАЗОРВЕТ.
Аноним 09/11/21 Втр 15:49:34 #1405 №2207892 
>>2207864
ААА БАЛЯЯ ГОРИШЬ?)))
Аноним 09/11/21 Втр 15:53:32 #1406 №2207898 
>>2207616
Нихуя не понятно и выглядит противоестественно
sageАноним 09/11/21 Втр 16:00:26 #1407 №2207908 
>>2207864
Попробуй clean refresh
Аноним 09/11/21 Втр 16:21:07 #1408 №2207927 
Как подключить debug к spring boot приложению?
Брекпоинты в контроллере не работают. 2 вечер рецепты из гугла перебираю, но нихуя.
Аноним 09/11/21 Втр 16:25:22 #1409 №2207933 
image.png
Подскажите кто сталкивался с такой задачей , пожалуйста.
Как формулы распозновать? Парсер логических выражений я написал , но толку от него мало потому что на вход не подаются числовые значения. Вопрос в том , как парсить эти выражение на наличия аксиом. Я думаю что можно исходное выражение парсить , пока оно не сократиться до адекватных размеров и там уже перебором решать. Но не понимаю как это сделать , ведь названия переменных в исходных выражениях могут быть рандомными.
Аноним 09/11/21 Втр 16:37:58 #1410 №2207944 
>>2207933
regexp
Аноним 09/11/21 Втр 16:46:33 #1411 №2207961 
>>2207944
Сейчас бы регулярками парсить нерегулярную грамматику.
Аноним 09/11/21 Втр 16:52:01 #1412 №2207970 
>>2207933
>Вопрос в том , как парсить эти выражение на наличия аксиом.
Ты мешаешь в кучу, 2 несвязанных вещи:
1. Парсить надо по грамматике - можно регулярками токенизировать, потом строить дерево синтаксического разбора, но если есть формальное описание синтаксиса лучше взять antrl и сделать нормальный парсер.
2. После того как распарсил АСТ - уже начинаешь вычислять, вот твои аксиомы и пригодятся.
Аноним 09/11/21 Втр 17:08:54 #1413 №2207988 
>>2207961
ди нахуй)
Аноним 09/11/21 Втр 17:15:54 #1414 №2207995 
attachme.png
>>2207927
Сам нашёл.
Аноним 09/11/21 Втр 17:17:19 #1415 №2207997 
>>2207970
Мой парсер может распарсить по грамматике и посчитать выражение если заменить все на 1 и 0. Но я не понимаю как сократить выражение , если оно содержит в себе аксиомы.
>можно регулярками токенизировать
Шо это значит.
Аноним 09/11/21 Втр 20:28:05 #1416 №2208266 
>>2207997
>Мой парсер может распарсить по грамматике
Что твой парсер выдает как результат парсинга? Реальный парсер должен выдавать синтаксическое дерево. Подозреваю что твой, просто eval какой-то делает.
Аноним 09/11/21 Втр 23:36:58 #1417 №2208410 
16125561950970.gif
Почему именно вы не хотите перекатывать?
Аноним 09/11/21 Втр 23:41:28 #1418 №2208414 
>>2208410
Чем реже перекаты - тем меньше клоунады от шарпоблядей с 1 по 500 пост каждого треда.
sageАноним 09/11/21 Втр 23:44:25 #1419 №2208416 
>>2208414
Поэтому лучше писать с сажей :3
Аноним 09/11/21 Втр 23:46:16 #1420 №2208420 
>>2208416
Да, до 500 с сажей, потом можно расслабиться. Я тоже к этому пришёл.
Аноним 10/11/21 Срд 00:09:30 #1421 №2208429 
Почему или зачем хибер в jpa.show-sql=true(это только в логах или как?) добавляет какие-то цифры к именам колонок:
>Hibernate: select document0_.id as id1_0_, document0_.name as name2_0_ from document document0_
Аноним 10/11/21 Срд 05:17:33 #1422 №2208535 
>>2208414
Но шарп дает пизды, как ни крути
Аноним 10/11/21 Срд 05:41:17 #1423 №2208543 
Скоро выхожу на первую работу.
Проект - легаси, контора в которую я устроюсь уже третья или четвертая, кто поддерживает проект. И к софтине пользователь предявляет много новых требований. Особенно по интеграции.
Расскажите что это означает для джуна. Особенно в условиях того, что штат небольшой.
Аноним 10/11/21 Срд 07:37:32 #1424 №2208562 
>>2208535
Хоть даёт, хоть не даёт, это блять не имеет значения, тред про жабу, а не про шарп.
Аноним 10/11/21 Срд 08:16:12 #1425 №2208574 
>>2208429
чтобы избежать проблем при джойнах колонок с одинаковым названием
Аноним 10/11/21 Срд 10:31:51 #1426 №2208611 
>>2207293
Есть еще мнения? Интересно узнать
Аноним 10/11/21 Срд 10:47:17 #1427 №2208624 
>>2208535
Вчера стримили новый дотнет, он в 4 раза быстрее жээвы. Надеюсь на рыночек это не повлияет
Аноним 10/11/21 Срд 11:53:47 #1428 №2208656 
>>2208543
И еще вопрос. Я учил современный спринг, свои холоворд-круды писал на последнем. А на проекте будет 4.2. Там все сильно отличается?
Аноним 10/11/21 Срд 12:13:03 #1429 №2208669 
>>2208656
Да, в худшую сторону.
Аноним 10/11/21 Срд 12:21:53 #1430 №2208677 
>>2208624
>Вчера стримили новый дотнет, он в 4 раза быстрее жээвы.
И в 8 раз быстрее С++!
Аноним 10/11/21 Срд 13:01:30 #1431 №2208694 
>>2208677
И в 16 раз быстрее го?
Аноним 10/11/21 Срд 13:56:18 #1432 №2208755 
>>2208624
Че? кто стримил? Может там просто долбоебы бенчмарки готовили?
Аноним 10/11/21 Срд 16:20:27 #1433 №2208931 
920d407ada4f01ee06790e3dfc65d083.mp4
Аноним 10/11/21 Срд 16:21:04 #1434 №2208932 
>>2208931
Бля, не тот тред
Аноним 10/11/21 Срд 16:46:54 #1435 №2208964 
>>2208931
Какая красивая девочка, да уже, это точно не в наш тред.
Аноним 10/11/21 Срд 16:48:45 #1436 №2208966 
>>2208755
>Может там просто долбоебы бенчмарки готовили?
А может наоборот профессионалы, которые знают как написать тест чтобы CLR был топчег, а JVM наоборот отстой. Например достаточно создавать кучу мелких объектов в JVM и использовать value type в .Net - и вуаля, JVM тормозит на GC а .Net на коне. Или использовать в JVM BigDecimal, а в .Net - Decimal и делать много вычислений.
Аноним 10/11/21 Срд 19:31:09 #1437 №2209094 
Была такая утилита java, которая позволяла писать код прямо в командной строке и там же его выполнять. Например, пишешь out.println(5==6) и на экран выводится false, вроде того. Как она называется?
Аноним 10/11/21 Срд 19:36:22 #1438 №2209096 
>>2209094
Jshell.
Аноним 10/11/21 Срд 19:41:34 #1439 №2209101 
>>2209096
Точно, благодарю. Ощущения на кончиках пальцев.
Аноним 10/11/21 Срд 20:38:38 #1440 №2209135 
image.png
>>2208266
Мой парсер численный ответ выдает. Скобки он тоже понимает. Порядок выполнения вроде бы тоже. Сори за тупые вопросы, но eval это что ? А как он это дерево выдает ? Я делаю методом рекурсивного спуска его мне собсна и показывали на лекции, тока написанного на Си
Аноним 10/11/21 Срд 21:06:00 #1441 №2209143 
>>2209135
>писать парсеры на java
сука...
Аноним 10/11/21 Срд 21:14:20 #1442 №2209144 
>>2209143
бля у , в падлу мне другой язык учить ччтоб домашку сделоть
Аноним 10/11/21 Срд 22:04:01 #1443 №2209159 
>>2209144
АНТЛР выучи и не еби мозгу
Аноним 11/11/21 Чтв 01:34:11 #1444 №2209304 
Подскажите, пожалуйста, как в Spring Boot в теле принимать массив?
Представим что есть класс SomeData, который внутри содержит строковый массив:
@Data
public class SomeData {
private Sttring words[];
}
Контроллер:
@PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
public SomeData doIt(@RequestBody SomeData object) {
return object;
}
В итоге передаю Json следующий через постман:
{
words: ["двачер", "тяночка", "Тони", "лайф"]
}
Но потом все валится с ошибками, т.к. массив в итоге остаётся null. Как правильно передавать массив и принимать их со стороны Spring Boot? Может быть в Spring Boot что-то ещё дополнительно надо описать, чтобы он принимал массивы?
Аноним 11/11/21 Чтв 08:41:50 #1445 №2209353 
Что такое реентерабельная блокировка? Где про это можно нормально почитать?
Аноним 11/11/21 Чтв 08:50:56 #1446 №2209359 
>>2209353
Класс ReentrantLock, реализующий интерфейс Lock, также, как и synchronized, обеспечивает многопоточность, но имеет дополнительные возможности, связанные с опросом о блокировании (lock polling), ожиданием блокирования в течение определенного времени и прерыванием ожидания блокировки. Кроме того, ReentrantLock предлагает гораздо более высокую эффективность функционирования в условиях жесткой состязательности. Другими словами, когда несколько потоков пытаются получить доступ к совместно используемому ресурсу, виртуальной машине JVM потребуется меньше времени на установление очередности потоков и больше времени на ее выполнение.

В переводе reentrant может означать повторно используемый (повторный вход). Что может означать блокировка с повторным входом? Это учет количества получения определенных блокировок. Т.е. один и тот же поток повторно получает одну и ту же блокировку. Но для того, чтобы реально разблокировать необходимо уже будет два раза снять блокировку. Это аналогично использованию synchronized; если поток повторно входит в синхронный блок, защищенный монитором, то блокировка не будет снята при выходе потока из второго (или последующего) блока synchronized, блокировка будет снята только когда поток выйдет из первого блока synchronized, в который он вошел под защитой монитора.

Одним из интересных методов интерфейса Lock и его реализации ReentrantLock является запрос блокировки с возможностью прерывания процесса ожидания. Т.е. если поток запрашивает блокировку методом lockInterruptibly() и не получает ее сразу же, то переходит в процесс ожидания. Методом interrupt работу потока можно прервать. Тогда ожидающий блокировки поток просыпается, и генерируется исключительная ситуация InterruptedException. После этого попыток доступа к защищенному ресурсу (получения блокировок) не делается и освобождать блокировку не требуется.
Аноним 11/11/21 Чтв 08:58:59 #1447 №2209361 
>>2209359
> жесткой состязательности
Смешно.
Аноним 11/11/21 Чтв 09:04:45 #1448 №2209364 
>>2209361
не вижу ничего смешного, такова многопоточность.
Аноним 11/11/21 Чтв 10:41:51 #1449 №2209448 
Есть некий высер на спринге с капчей. Планирую хранить капчу в редисе, но прошел слушок, что хазелькаст будет получше редиса, это так?
Аноним 11/11/21 Чтв 10:46:02 #1450 №2209449 
>>2209448
А у нас в компании противоположный слушок.
Аноним 11/11/21 Чтв 10:51:03 #1451 №2209454 
>>2209448
Храни в Spring Cache
Аноним 11/11/21 Чтв 11:14:45 #1452 №2209474 
>>2209448
Разные есть мнения на этот счет. Работать нормально будет и то, и то. Хазелкаст получше в основном тем, что его удобно встраивать, а редис это всегда отдельный сервис, дополнительная devops-нагрузка

Аноним 11/11/21 Чтв 13:26:52 #1453 №2209519 
>>2209135
>Я делаю методом рекурсивного спуска
Не уверен, как его тут применить. Я бы просто взял ANTLR и сгенерировал парсер, для таких булевых выражения она должна быть несложной, а потом уже можно пройтись по дереву делая замены для правил которые попадают под аксиомы
Начать можно с этого примера https://stackoverflow.com/questions/30976962/nested-boolean-expression-parser-using-antlr
вначале реализовать свою грамматику, заимплетентить EvalVisitor без аксиом, потом добавить замену аксиом.
Аноним 12/11/21 Птн 00:27:22 #1454 №2209920 
SimpleJpaRepository это ведь и есть то, что выполняет волшебные методы из JpaRepository?
Оно на критерии написано. А много где прям нелюбовь к критерии встречал.
Аноним 12/11/21 Птн 00:45:13 #1455 №2209921 
>>2209519
>11/11/21 Чтв 13:26:52

>>2209920
>12/11/21 Птн 00:27:22

11 часов и 30 секунд между соседними постами. Поумерьте пыл!
Аноним 12/11/21 Птн 01:43:42 #1456 №2209931 
Читаю джуновские вакансии и вижу дохуя таких, где нужно писать тесты. Стоит ли на них ходить? Боюсь, что там нихуя полезного не получу, только заклеймят как вечного тестописателя и придётся до пенсии только этим и заниматься.
Аноним 12/11/21 Птн 01:48:53 #1457 №2209932 
>>2209931
Ты никогда не станешь даже стажером, если не умеешь покрывать код тестами. Сейчас это базовое знание даже для новичка.
Аноним 12/11/21 Птн 02:42:37 #1458 №2209935 
>>2209931
Типа так и пишут, что ты только тесты будешь писать за другими, а больше мы тебе ни к чему не подпустим? Мне кажется, даже если так и есть, то в этом в вакансиях не признаются.
Аноним 12/11/21 Птн 08:15:52 #1459 №2209953 
>>2209931
>>2209935
Признаются, если вакансия называется типа "Автоматизатор ручного тестирования" и в обязанностях "Писать автотесты". Перекатиться в нормальную разработку потом да, будет труднее. Есть такой сиереотип, что у автоматизаторов квалификация ниже и кодить они умеют хуже, и поэтому при переходе на другой проект, услышав, что ты раньше писал автотесты, могут захотеть тебя опять посадить за них. Часто даже бывает, что автоматизаторами становятся после обычных ручных тестировщиков, когда они начинают изучать кодинг.
Аноним 12/11/21 Птн 12:20:34 #1460 №2210079 
Поясните, плес, как при имплементации классом каким-то классом интерфейса Clonable, и единственном вызове в методе клонирования super.clone(), оказываются скопированными поля наследника? Ведь у Object нет доступа к полям потомка? Там происходит что то с использованием рефлексии, или я просто что-то плохо понимаю? Как это срабатывает?
Аноним 12/11/21 Птн 12:21:07 #1461 №2210081 
>>2210079
Забудь и никогда это не используй.
Аноним 12/11/21 Птн 12:25:15 #1462 №2210087 
>>2210081
Я и так не использую, предпочитаю конструктор клонирования. Но, во-первых, я ковыряюсь в говнолегаси где это сделано, и все места там зарефакторить будет сложновато. Ну и в основном спрашиваю просто потому что бесит, когда что-то непонятно как работает, тем более в такой базе (хоть и мусорной)
Аноним 12/11/21 Птн 13:20:21 #1463 №2210176 
>>2210079
>Там происходит что то с использованием рефлексии, или я просто что-то плохо понимаю? Как это срабатывает?
Там не рефлексия, а нативный код JVM memcpy скорее всего. Но тебе на это пофиг, тебе надо знать какие эффекты есть для тебя:
1. Конструктор не вызывается.
2. Копируются все поля, для ссылок копируются только ссылки.
3. Поведение можно переопределить с помощью внезапно переопределения метода clone(). Т.е. ты можешь заменить клонирование на конструктор копирования хотя это и не рекомендуются.
Аноним 12/11/21 Птн 13:55:58 #1464 №2210215 
>>2210176
Все эти свойства и особенности использования этого говна я знаю. Не знал только, как оно это умеет делать, думал что может упустил какие-то полезные умения джавы, относящиеся к "публичным" инструментам языка. Если оно работает чисто магически, то хуй с ним. Спасибо за ответ.
Аноним 12/11/21 Птн 18:48:29 #1465 №2210648 
soap с виндовым клиентом на жаба8 это сильно больно?
при том, что есть еще рест-веб клиент с велосипедами на фронте.
для госов.
что мне ждать?
Аноним 12/11/21 Птн 19:04:09 #1466 №2210665 
>>2210648
Все нормально.
Аноним 12/11/21 Птн 19:13:45 #1467 №2210678 
>>2210648
> soap с виндовым клиентом на жаба8 это сильно больно?
Что "это"? Больно юзать SoapUI? Больно писать с нуля свой велосипедный аналог SoapUI? Больно писать клиентское приложение, работающее через SOAP?
Аноним 12/11/21 Птн 19:50:11 #1468 №2210703 
>>2210678
Я сам пока не понял, что там. Может поддерживать клиент, может переписывать его на веб-морду. Явно нужно будет дописывать модули для сервера.
Я вообще пока не знаю soap.
90% современных роликов это рест с spa-фреймворком.
Нагуглил себе "мурзилок" и видосов. Сейчас буду вкушать.
Пока выглядит сильно сложнее реста. Особенно хеловордный пример на spring.io, но там класс домена отсутствует в исходниках и генерируется с xml-ки. Это прикол соапа или еще откуда-то?
Аноним 12/11/21 Птн 20:05:44 #1469 №2210714 
>>2210703
> класс домена отсутствует в исходниках и генерируется с xml-ки
Соап в отличие от рест-жсонок типизированный, из-за чего системе-отправителю надо строго соответствовать контракту, понятному системе-получателю, описав не просто вложенные структуры и названия полей, но и типы, чтобы можно было провалидировать ещё до отправки. Переписывать все типы было бы сложно, поэтому обычно выгружают схему контракта в специальном формате и используют её на обеих сторонах. Схема - это описание типов в XSD и описание самого SOAP-сервиса в WSDL. Хотя подобное и в ресте иногда практикуют с OpenAPI/json schema.
Аноним 12/11/21 Птн 20:22:43 #1470 №2210751 
>>2210714
а wsdl это просто xml с определенными правилами, как pom?
Аноним 12/11/21 Птн 20:34:13 #1471 №2210770 
>>2210751
Да. Правила достаточно хитрые, можно не вникать, главное уметь её выгружать и генерировать по ней классы через JAXB.
Аноним 12/11/21 Птн 23:44:44 #1472 №2210943 
>>2210770
А что за jax-b? Еще jax-ws какой то. Везде птичьим языком объяснено. Можешь пояснить для дебилов?
Аноним 13/11/21 Суб 00:00:53 #1473 №2210957 
>>2210943
Именно JAXB, не jax-b, он не имеет отношения к jax-ws. Это сериализатор/десериализатор между джава-объектами и XML (примерно как Jackson для JSON), но ещё есть jaxb-maven-plugin, который умеет генерировать джава-классы из XSD-схемы.
JAX-WS - это оракловая спецификация API для серверов приложений, реализующих SOAP-сервисы на Java EE, просто стандарт. В Spring-WS этому стандарту не следуют, там свой подход.
Аноним 13/11/21 Суб 00:31:41 #1474 №2210969 
>>2210957
Блядь, как же всего этого говна много. Ощущение, что я не очень скоро узнаю даже то насколько глубока кроличья нора. Не говоря уж до знания всех нужных штук.
Аноним 13/11/21 Суб 00:41:50 #1475 №2210973 
>>2210969
Разобраться можно, если долго ежедневно ебаться с этой хуйнёй. Но глубоко понимать и не надо, достаточно только на том уровне, что нужен для решения текущих задач.
Аноним 13/11/21 Суб 01:42:05 #1476 №2210995 
>>2210973
А для собеседований насколько глубоко нужно погружаться? Я проект пилю, но ощущение, что всё равно какую-нибудь редкую поебень могут спросить, до которой я не дошёл.
Аноним 13/11/21 Суб 04:04:55 #1477 №2211009 
>>2210995
Единственная вакансия на hh по которой мне ответила херка на мой отклик это магнит, но на собес не позвала, ибо не знаком ни c jms, который нужен в вакансии, ни с кафкой.
Резюме без опыта, с 2 крудами на гите. Написано - java, jdbc, spring mvc, spring data, hibernate, sql, rest, html/css/js, docker.
Вот сейчас буду дальше в таком порядке: soap(ибо с этой штукой там вроде предлагают работу, но может обломаться в любой момент и даже если возьмут, то там походу такое, что лучше больше полугода не сидеть) потом nosql, месседжинг, секурити, микросервисы, облака.
После каждой новой техи обновлять резюме, делать отклики на хх. Тут челик еще сказал делать отклики на сайтах крупных контор типа
>сбер, телекомы, всякие галеры вроде нетсракера, ебама, ланита, крока, и прочей параши
буду делать на след шаге.
Глубоко дрочить ничего не собираюсь. Разве что джавакор подтянуть.
Аноним 13/11/21 Суб 11:35:31 #1478 №2211088 
>>2210969
это описание методов запросов и ответов. А также структуры запросов и ответов. Вместо того чтобы юзать костыли типа сваггера или описание контрактов в вики - эта штука сама описывает все возможные запросы и все возможные структуры данных. Можно даже автоматом генерить сервисы и дто.
Взял всдл, сгенерил по ней классы, юзаешь их. Элементарно. Что-то изменилось - взял новую всдл, сгенерил новые классы, идея сразу кидает ошибки что изменилось
Гораздо удобнее и строже говнореста
Аноним 13/11/21 Суб 12:51:50 #1479 №2211174 
>>2211088
И чем это отличается от сваггера?
Аноним 13/11/21 Суб 13:25:46 #1480 №2211208 
>>2211174
в сваггере глазами смотришь, нет автоматической валидации, ендпоинты надо руками писать
Аноним 13/11/21 Суб 13:44:14 #1481 №2211224 
>>2211208
>ендпоинты надо руками писать
Чел ты... https://editor.swagger.io
Ну и валидация для сгенерированного кода там есть.

Просто это как обычно, вначале зумерье кричало что XML тяжеловесный, а XML Schema сложная, SOAP вообще отстой, а мы сейчас обойдемся простым REST по шаблону /ресурс/айди/ и валидировать будем кодом на беке. Но потом на реальных проектах жилко пернуло, после того как API разрослось и сталу нужно отдавать его внешним заказчикам. До них наконец дошло, что было бы неплохо и формат запросов валидировать, и формальное описание сервисов иметь. В общем по второму кругу изобрели SOAP.
Аноним 13/11/21 Суб 13:45:32 #1482 №2211227 
>>2211208
C чего ты взял? Есть все.
Аноним 13/11/21 Суб 17:58:27 #1483 №2211360 
В гайд из шапки треда было бы неплохо добавить пару слов про ELK и MQ, они сейчас во всех вакансиях в том или ином виде присутствуют. Ещё про bpmn движки можно вспомнить, апишки для всяких gRPC с SOAP.
Аноним 13/11/21 Суб 18:08:04 #1484 №2211369 
>>2211360
> ELK
Специфично, не в каждом проекте нужно.
> MQ
Там и учить нечего.
@СлушатьОчередь(очередьНейм)
очередьСервис.отправить(очередьНейм, сообщение)
А с остальным девопсы ебутся.
Аноним 13/11/21 Суб 18:25:24 #1485 №2211397 
>>2211360
>bpmn движки
мёртворожденная срань
Аноним 13/11/21 Суб 19:09:41 #1486 №2211440 
>>2211369
> ELK
> Специфично, не в каждом проекте нужно.
В той же мере, в какой кубер специфичен. И тем не менее, он упомянут.
> MQ
> Там и учить нечего.
Неправда. Хотя зачастую чего-то сверх того, что ты описал, действительно не требуется.

>>2211397
Аргументы?
Аноним 13/11/21 Суб 19:10:58 #1487 №2211441 
>>2203767
СУКА ХУЛИ ЭТО УЖЕ ПРИДУМАНО БЛЯДЬ
https://sting-ioc.github.io/docs/overview.html
Аноним 13/11/21 Суб 19:17:52 #1488 №2211452 
>>2211441
Потому что хватит писать языки, фреймворки и технологии. Пишите продукты для конечных пользователей.
Аноним 13/11/21 Суб 19:28:20 #1489 №2211462 
>>2211452
Продукты я на работе и так пишу.
Аноним 13/11/21 Суб 19:30:59 #1490 №2211467 
>>2211462
Пиши их дома тоже. Будешь писать вдвое больше продуктов.
Аноним 13/11/21 Суб 19:32:43 #1491 №2211470 
>>2211467
Да я ебал)
Аноним 13/11/21 Суб 19:40:52 #1492 №2211489 
>>2211440
>Аргументы?
изначально предполагалось, что менеджер или топ будет сидеть такой и мышкой менять схемы бизнес-процессов в редакторе, и всё это будет загружаться и автоматически изменяться.
Надежды не оправдались, топам не всралось изучать bmp редакторы и ебаться с багами и ограничениями. Им проще как и раньше описывать всё на бумаге и спускать четырёхглазым засерям по почте.
А засерям не усрался bmp, им проще в коде поменять
Аноним 13/11/21 Суб 22:33:32 #1493 №2211635 
Если процессор аннотаций написан на котлине, я могу использовать его в java-проекте? Или не скомпилится?
Аноним 13/11/21 Суб 23:01:54 #1494 №2211649 
Как собрать проект c makefail на винде ?
Аноним 13/11/21 Суб 23:02:29 #1495 №2211650 
>>2211649
makefile*
стыд
Аноним 13/11/21 Суб 23:15:06 #1496 №2211652 
>>2211650
спроси в треде для языка си.
Аноним 13/11/21 Суб 23:16:28 #1497 №2211653 
>>2211649
Mingw
Аноним 13/11/21 Суб 23:24:21 #1498 №2211661 
>>2211652
но мне надо java проект собрать
Аноним 13/11/21 Суб 23:27:45 #1499 №2211666 
>>2211661
Зачем?
Аноним 13/11/21 Суб 23:32:49 #1500 №2211667 
>>2211666
Препод заставил.
Аноним 13/11/21 Суб 23:36:43 #1501 №2211670 
>>2211667
Ты скажи ему, что мейком можно только плохо джаву билдить.
Че он тебя так неуважает? Ботинки тебя заставит целовать, тоже будешь?
Аноним 13/11/21 Суб 23:41:14 #1502 №2211672 
>>2211670
Ну смари. Мне дали задание решить задачу по матлогике. Языки были : Java , Python , C , Kotlin. На каком языке я ее решил думаю понятно. И вот хуяк он вываливает системы теста. Я то думал как на тимусе будет или там какие то условия есть раз Java и Kotlin в списке. А нет нихуя, система тока через makefile принимает.
Аноним 13/11/21 Суб 23:44:29 #1503 №2211676 
>>2211672
страдай
Аноним 13/11/21 Суб 23:45:29 #1504 №2211677 
>>2211676
Т_Т
Аноним 14/11/21 Вск 06:39:55 #1505 №2211782 
Ебать пацаны,за 6 часов я смог вывести данные из базы в vue.js. Ебать я гений. Уверен когда нужно будет вводить составные данные я отсосу,ну да похуй. Кто-нибудь знает годные туториалы?
Аноним 14/11/21 Вск 12:43:14 #1506 №2211889 
>>2211009
>Единственная вакансия на hh по которой мне ответила херка на мой отклик это магнит
В краснодаре живешь?
Аноним 14/11/21 Вск 12:48:46 #1507 №2211896 
Есть несколько разных типов бинов, условно Extractor, Processor, Writer. Есть один енум с типом источника. Для каждого типа источника создается свой бин каждого типа. Как мне в другом сервисе получить все бины трех типов, для каждого значения енума?
Аноним 14/11/21 Вск 13:11:31 #1508 №2211919 
>>2211896
А в чём проблема то? Чем DI не устраивает?

Хуёво ТЗ поставил.
У тебя 3 бина и енум, принимающий 3 значения?
А в сервисе хочешь 3 бина получить? Тогда инжекти все три через конструктор и похуй на енум.
Аноним 14/11/21 Вск 13:13:08 #1509 №2211922 
>>2211889
по удаленку
Аноним 14/11/21 Вск 13:27:08 #1510 №2211930 
>>2211919
>Для каждого типа источника создается свой бин каждого типа

Enum1Extractor, Enum1Processor, Enum1Writer, Enum1Extractor...
Я хочу их во первых объединить в одном классе типа Enum1Support, Enum2Support, а затем заинжектить в другой сервис в мапу <Enum, EnumSupport>.
Аноним 14/11/21 Вск 13:35:17 #1511 №2211936 
>>2211896
>>2211919
Или у тебя только в рантайме станет известен источник, для которого будет персональный набор бинов?
Инжекти сам енум и сделай в нём геттеры для бинов.
Аноним 14/11/21 Вск 13:51:44 #1512 №2211948 
>>2211936
>Инжекти сам енум и сделай в нём геттеры для бинов
Давай поподробнее.
Аноним 14/11/21 Вск 15:18:43 #1513 №2212003 
>>2211672
Ну напиши makefile который запустит грейдл.

.DEFAULT_GOAL := build
build:
_____./gradlew build
clean:
_____./gradlew clean
Аноним 14/11/21 Вск 15:25:14 #1514 №2212007 
>>2211930
>Enum1Extractor, Enum1Processor, Enum1Writer, Enum1Extractor...
>Я хочу их во первых объединить в одном классе типа Enum1Support, Enum2Support, а затем заинжектить в другой сервис в мапу <Enum, EnumSupport>
В Enum1Support передаешь 3 бина Enum1Extractor, Enum1Processor, Enum1Writer, в Enum2Support - Enum2Extractor, Enum2Processor, Enum2Writer. По типам все разрулиться.
Чтобы засунуть все в мапу в конструктор передаешь List<EnumSupport> спринг соберет в лист все бины которые реализуют этот тип.
Аноним 14/11/21 Вск 15:31:53 #1515 №2212011 
>>2212007
Я ебал это все руками делать. Я хочу чтобы саппорт-бины генерились автоматически, а в мапу все автовайрилось по квалифаерам.
Аноним 14/11/21 Вск 15:52:21 #1516 №2212022 
>>2212011
>Я хочу чтобы саппорт-бины генерились автоматически
Ты хочешь чтобы спринг за тебя бины генерил? Может еще и бизнес логику за тебя реализовать?


>а в мапу все автовайрилось по квалифаерам.
У тебя каша в голове, попробуй вначале ту мапу описать, потом поймешь что это невозможно. <Enum, EnumSupport> - не описывает что должно быть ключом, что значением.
Аноним 14/11/21 Вск 16:13:39 #1517 №2212035 
>>2212022
>Ты хочешь чтобы спринг за тебя бины генерил? Может еще и бизнес логику за тебя реализовать?
Это две противоположные вещи. Да, бины он и так за меня генерит.
><Enum, EnumSupport> - не описывает что должно быть ключом, что значением.
Ключом енум, значением бин, в который заавтовайрены другие бины с определенным квалифаером. Ты тупой?
Аноним 14/11/21 Вск 18:25:47 #1518 №2212118 
Аноны, че по джаве читануть? Шилдт какая-то душная хуйня, на инглише лень ибо надо моск напраягать, ибо сука две задчачи сразу надо дрочить... надо чет на русском. Говорять Эккель норм, но он написан хуй знает когда ещё был да и перевод от Питера сраного, говно... Мне бы ченить от ДМК или Диалектики, какие годные книги для вкатуна? Курсы сразу нахуй, а в будущем хочу в андроид вкатиться, кстате инглиш норм, но если читаю то надо напрягаться.
Аноним 14/11/21 Вск 18:29:08 #1519 №2212120 
>>2212118
Мурзилки.
Аноним 14/11/21 Вск 18:30:34 #1520 №2212124 
>>2212120
Да я без прикола, мне бы для себя.
Аноним 14/11/21 Вск 18:30:45 #1521 №2212125 
>>2212118
Хорстманн, если не ньюфаг.
Аноним 14/11/21 Вск 18:32:04 #1522 №2212128 
>>2212124
Для себя лучше в зал тренажерный запишись, или на спорт какой-нибудь.
Аноним 14/11/21 Вск 18:36:28 #1523 №2212131 
>>2212035
>Да, бины он и так за меня генерит.
Мамка твоя дебило генерит, а спринг генерирует только прокси.

>Ключом енум, значением бин, в который заавтовайрены другие бины с определенным квалифаером.
Ебать ты даун! Как протрезвеешь, подумай если найдешь чем и скажи как по сигнатуре
<Enum, EnumSupport>
спринг должен понять, что надо в мапу вайрить.
Аноним 14/11/21 Вск 18:45:18 #1524 №2212138 
>>2212131
Я и спрашиваю, как сделать так, чтобы спринг это понял, хлебушек.
Аноним 14/11/21 Вск 20:09:37 #1525 №2212202 
>>2212138
Н И К А К
И
К
А
К

Спринг вайрит типы, а не конкретные значения. Если ты такой тупой, что не можешь из List сделать Map то тебе надо идти в клининг менеджеры и не ебать тут мозг.
Аноним 14/11/21 Вск 20:49:02 #1526 №2212247 
>>2212202
Спринг вайрит типы с учетом квалифаеров. Я и спрашиваю, как мне вытащить квалифаер при этом. Впрочем я уже нагуглил.
Аноним 14/11/21 Вск 21:39:13 #1527 №2212296 
image.png
>>2212003
А я могу все собрать в jar пакет и просто через мэйк его вызывать ? Я просто вообще мэйкфайлы писать не умею.
Увидел питоновский пример такого файла и охуел от краткости скажем так. Нельзя ли и jar так же ?
Аноним 14/11/21 Вск 21:40:41 #1528 №2212299 
>>2212296
А нахуя тебе вообще мейкфайл в таком случае?
Аноним 14/11/21 Вск 21:49:51 #1529 №2212304 
>>2212299
ну потому что без него решение не запустится в тестовой системе
Аноним 14/11/21 Вск 21:50:40 #1530 №2212306 
>>2212304
А ты уверен, что в тестовой системе нет своего мейкфайла?
Аноним 14/11/21 Вск 22:01:48 #1531 №2212321 
>>2212247
Нагуглил - поделись с аноном.
мимо
Аноним 14/11/21 Вск 22:13:26 #1532 №2212336 
>>2212306
Уверен. Надо загрузить зип с мэйкфайлом и решением
Аноним 15/11/21 Пнд 00:07:41 #1533 №2212431 
>>2212336
Бредятина какая-то. Ну тогда проще всего сделать как тут >>2212296 с джарником.
Аноним 15/11/21 Пнд 08:52:26 #1534 №2212546 
>>2159705 (OP)
На форчане сказали go заменяет джаву. Это правда?
Аноним 15/11/21 Пнд 08:59:52 #1535 №2212548 
>>2212546
На заборах тоже много чего пишут.
Не имеет значения, заменяет или нет. Сейчас работы на жабе больше, а если это когда-то станет не так, то к тому времени можно успеть переучиться.
Аноним 15/11/21 Пнд 09:37:12 #1536 №2212554 
>>2212546
Это похуй
Аноним 15/11/21 Пнд 09:41:33 #1537 №2212559 
>>2212118
>Шилдт какая-то душная хуйня
Да ты охуэл штоли сука. Шилдт прекрасен.
Наверни хэд-фёрст Сьерры и Бейтса. Там как раз для любителей унылого стендапа, которым серьезные дядьки скучна/сложна.
Аноним 15/11/21 Пнд 10:27:49 #1538 №2212595 
Сорян за оффтоп - не нашел в шапке доски. По каким ресурсам прокачаться в веб-технологиях? Есть какой-нибудь пиздатый труд-монография для полных дебилов? По тому как организовано общение клиентов и серверов, HTTP, всяким там запросам и ответам, HTML-ам и прочим CSS-ам, JSONам и т.п.? А то в мануале к этому треду висит "Вы должны уже шарить во всей паутине, не падать в обморок от слова Endpoint", а как это хоть немного прокачать не рассказано.
Аноним 15/11/21 Пнд 10:31:37 #1539 №2212600 
>>2212595
Конечно не нашёл. Вопросы по вебу в JS-треде, а здесь разве что HTTP.
Аноним 15/11/21 Пнд 10:36:36 #1540 №2212606 
>>2212600
А что, можно как-то эффективно разрабатывать веб-приложения толком не понимая как оно все работает? Если все так не важно, то зачем же в шапке, на которую все слегка дрочат, указывается что шарить надо?
Аноним 15/11/21 Пнд 10:39:05 #1541 №2212610 
>>2212606
Шарить поверхностно нужно, но это тред про жабу, а не веб.
Аноним 15/11/21 Пнд 10:48:45 #1542 №2212621 
bindDB.png
Кто-то пробовал подключать в качестве дата-сурса Firebird/Interbase к Intellij? Что-то не вижу такой опции. Может нужен какой-то плагин или что-то вроде этого?
Аноним 15/11/21 Пнд 10:57:27 #1543 №2212635 
>>2212559
Шилдт - говно. Даже нет приложенного архива с кодом. Я че сам это все должен переписывать и дописывать к каждому примеру бойлерплейт?
Аноним 15/11/21 Пнд 10:59:52 #1544 №2212641 
>>2212595
Я работу хттп, хтмл, жс смотрел на https://developer.mozilla.org/ru/docs/Web/HTTP/Session
там больше половины на русский переведено.
Аноним 15/11/21 Пнд 11:00:04 #1545 №2212642 
>>2212635
Он выступает как справочник, а не учебник для всяких пряников. Так что со своими архивами можешь уебывать, смузихлеб.
sageАноним 15/11/21 Пнд 11:05:03 #1546 №2212649 
1636963502506.png
>>2212621
Аноним 15/11/21 Пнд 11:05:30 #1547 №2212651 
>>2212642
Во первых в чем проблема дописать к справочнику бойлерплейт и выложить сорцы?
Во вторых вкатыш сверху прямо сказал, что пошел по Шилдту, как по учебнику и в этой роли Шилдт душная хуйня, и в этом он прав.
В третьих а нахуя такой унылый справочник нужен? У тебя есть справочник - дока называется.
Аноним 15/11/21 Пнд 11:35:15 #1548 №2212677 
>>2212649
Это что, в какой-то новой идее из коробки так? У меня нет там никаких others (idea 2020.1)
sageАноним 15/11/21 Пнд 11:52:22 #1549 №2212689 
>>2212677
2021.1 ultimate
Аноним 15/11/21 Пнд 12:07:19 #1550 №2212716 
>>2212431
дак а что написать то туда надо , что бы это сделать
Аноним 15/11/21 Пнд 12:14:19 #1551 №2212724 
>>2212651
Проблема в тебе. Совсем уже охуели, пряники гречневые. В олдскульных книгах всех рекомендуется код писать в блокноте без всяких ИДЕ и собирать/запускать из командной строки, а этим хлебушкам уже даже лень написать три строчки в тепличных условиях.
Нахуй вообще его запускать? Ты что не веришь что тебе в книге правильный аутпут покажут? Посмотрел листинг, понял о чем в нем речь и погнал дальше.
Аноним 15/11/21 Пнд 12:26:53 #1552 №2212732 
>>2212296
>А я могу все собрать в jar пакет и просто через мэйк его вызывать ?
Можешь, но ты же начал с
>Как собрать проект c makefail на винде ?

Как вариант можно из грейдла запускать main() метод.
Аноним 15/11/21 Пнд 12:29:44 #1553 №2212737 
>>2212724
лол. чувствуется запах программиста из говновуза. Нахуя код запускать вообще? Сиди и пиши его на листочке и дрочи на него. Программы пишутся же не для того, чтобы их запускать, а чтобы кусочки кода в голове прокручивать.
И таким долбоебизмом только твой Шилдт занимается. Есть замечательный Хорстман с нормальным кодом, книжка по канкарренси с кодом, книга Лафоре по алгосам с кодом, книга по хиберу с кодом, книга спринг ин экшон с кодом. Одному Шилдту это нинужна.
Зачем нужно такое говно, как шилдт, если это просто перепечатка доки?
Аноним 15/11/21 Пнд 12:47:59 #1554 №2212752 
>>2212737
Этот входильщик-в-ай-ти-из-мак-доналдса порвался, еще несите. Чуйку почини свою, дебс. Я не сказал что код писать не нужно, я сказал что непонимаю нахуя слово-в-слово переписывать или запускать скопипащенный код который в книге. Разницу чуешь?
Аноним 15/11/21 Пнд 13:00:30 #1555 №2212768 
>>2212752
А нахуя во всех нормальных книгах есть готовый код и все кроме шилдтодебила его выкладывают? Чтобы читатели запустили из книжки и посмотрели как работает, покрутили, поменяли пару переменных, дописали что-то, на сайдэффекты могли бы наткнуться, перешли в библиотечные классы через идеху и поняли, как работает код с данной языковой конструкцией/библиотекой?
Ты лучше мне ответь нахуя нужна перепечатка доки.
Аноним 15/11/21 Пнд 13:16:31 #1556 №2212805 
>>2212737
>>2212752
>>2212768
Ребята, не ссорьтесь. Давайте лучше вместе почитаем Core Java Хорстмана!
Первый том 12 издания уже вышел.
https://dropmefiles.com/0o9L8
Аноним 15/11/21 Пнд 13:26:07 #1557 №2212831 
>>2212805
Хорстман топ. Читал 11.
17 есть, это збс. А там с 11 есть что-то новое, кроме многострочек и свича нового?
Свинг он зря не убрал из первого тома.
Аноним 15/11/21 Пнд 15:34:56 #1558 №2212978 
image.png
Помогите алгоритм придумать для получения всех комбинаций 2^n. Я вот это высрал , но чет задача в 1 секунду не укладывается. Походу говна написал.
Аноним 15/11/21 Пнд 16:23:57 #1559 №2213040 
>>2212978
Самое время юзать Guava/Apache Commons.
Аноним 15/11/21 Пнд 16:56:03 #1560 №2213067 
>>2212978
Нормально задачу сформулируй, а не "получить все комбинации 2^n". Или ты думаешь кто-то будет тут всматриваться в твой говнокод пытаясь понять что он делает, если заведомо известно что делает хуево?
sageАноним 15/11/21 Пнд 17:10:50 #1561 №2213094 
>>2212978
Иди циклом от 0 до 2^n - 1 и выводи побитовое представление числа
Аноним 15/11/21 Пнд 17:27:23 #1562 №2213120 
>>2212978
>эта смесь регистра букв в аргументах X и x
>эта транслитерация русского слова
>отсутствие выравнивания
>это получение результата через побочный эффект
пиздец
Аноним 15/11/21 Пнд 18:39:12 #1563 №2213205 
>>2213120
>>2213094
>>2213067
>>2213040

Да хуй знает чем думал , кароч я уже все сделал. Не бузите
Аноним 15/11/21 Пнд 18:55:22 #1564 №2213215 
>>2213205
ссылку хоть кинь на нее. посмотреть чем нынче вкатыши занимаются. или скопипасть текст
Аноним 15/11/21 Пнд 20:52:15 #1565 №2213327 
>>2212321
Нет)
Аноним 15/11/21 Пнд 20:53:45 #1566 №2213330 
>>2212716
google -> how to run java program
Аноним 15/11/21 Пнд 21:48:39 #1567 №2213355 
Кто недавно по собеседованиям ходил - вспомните, какие вопросы задавали.
Уже больше года дрочу, но ощущение, что всё равно обосрусь.
Аноним 15/11/21 Пнд 22:11:00 #1568 №2213364 
>>2213355
Ну обосрешься и обосрешься, у тебя бесконечное колличество попыток, малой, только время теряешь на страхи свои. А по существу глянь на ютабе собеседования, те же вопросы и задают везде
Аноним 15/11/21 Пнд 22:14:02 #1569 №2213365 
>>2213364
Бесконечное количество попыток на что?
Пока ни разу на собес не позвали даже.
На ютабе глянул, там у людей даже с полугодовымопытом такую хуйню спрашивают, что я даже вопрос понять не могу.
Аноним 15/11/21 Пнд 23:35:18 #1570 №2213404 
>>2213365
Кидай резюме, обсудим ошибки
Аноним 16/11/21 Втр 00:19:06 #1571 №2213423 
Каким именно образом незакрытый ресурс приводит к утечке памяти? Где висит та ссылка, которую не может убрать гц?
Аноним 16/11/21 Втр 01:29:04 #1572 №2213446 
>>2213404
И скрин паспорта?
Аноним 16/11/21 Втр 01:42:33 #1573 №2213451 
>>2213446
А сколько тебе лет и какое образование? Меня вот не зовут, как я думаю, потому что я старый и с нерелевантным образованием.
Какие кейворды написаны?
Аноним 16/11/21 Втр 02:58:35 #1574 №2213464 
>>2213451
Лет за 30. Образование профильное. Мне кажется, что херки в первую очередь рассматривают студентов и выпускников профильных вузов. А стариков сразу в корзину.
Аноним 16/11/21 Втр 03:06:42 #1575 №2213465 
>>2213464
А если образование профильное, то почему ты вкатываешься за 30 лет? Или ты на другом стеке работал? Для таких я думал тоже норм скидка, как и для выпускников/студентов старших курсов
Я по глупости своей пошел не на айти, хотя хотел, а потом еще годы пытался работать по специальности, которую закончил. В сейчас вкатившиеся без образования убедили меня попробывать.
Аноним 16/11/21 Втр 05:57:29 #1576 №2213489 
>>2213423
Оно приводит к утечке ресурсов ОС, а не памяти приложения. Система продолжает сопровождать и обслуживать то, на что ты уже утратил способ влиять (оно вышло из области видимости программы).
Аноним 16/11/21 Втр 05:58:53 #1577 №2213490 
>>2213465
>>2213464
Спок, диды. Мне вообще 36, все еще вкатываюсь, лул
Аноним 16/11/21 Втр 06:26:02 #1578 №2213492 
>>2213490
Во сколько начал вкат, что побудило, что уже изучил?
Аноним 16/11/21 Втр 07:30:11 #1579 №2213502 
>>2213492
В формате увлечения лет в 30. Изучал джаву "просто так" для интереса, прогал микроконтроллеры на околоплюсах, ну и просто компьютер саенс в разных аспектах. Работать на джаве начал пару лет назад, но у меня специфическая область - попил своего рода "микросервисов" которые кое-что обрабатывают в базе данных и туда же скалдывают результаты. Понятное дело что это хуйня, так что понемногу изучаю Spring, потому что это и есть коммерческая джава по сути. Изучил джаву (кор включая стандартную либу), какой-никакой UI не ней, работу с БД, с некоторыми другими внешними вещами (это все легко разбирается).
Побудило то что "обычные" профессии (я был инженер) - это как правило засилье тупости и беспомощности, люди там годами делают тупую хуйню по шаблонным рецептам, даже не задумываясь зачем это нужно и нужно ли вообще, как работает, и как может быть улучшено и автоматизировано.
В целом на мой вкус энтерпрайз - это параша, как по мне гораздо более интересны какие-то более фундаментальные вещи, вроде ОС или движков каких-нибудь красивых технологий, вроде графических/физических/блокчейн/нейросети и вот это вот все. Надеюсь когда-нибудь туда съехать (если не сдохну раньше)
Аноним 16/11/21 Втр 07:39:33 #1580 №2213504 
>>2213502
так ты работаешь на джаве или как?
Аноним 16/11/21 Втр 07:45:21 #1581 №2213506 
>>2213504
Да, но это не похоже на то как обычно на ней работают. Это скорее похоже на то как работают на каком-нибудь шарпе. Джава обычно используется на бэке в вебе. У меня совсем не так. Дело в том что я работаю в проекте где не было какой-то заранее готовой архитектуры и соответственно технологий, и мог пилить на чем угодно, что дало бы результат. Я стал юзать джаву потому что на ней больше всего умею и знаю.
Аноним 16/11/21 Втр 07:58:21 #1582 №2213507 
>>2213506
Так что используешь?? Джаваее? Или это не серверные приложения?
Аноним 16/11/21 Втр 08:06:47 #1583 №2213511 
>>2213507
Просто голую джаву с ее стандартной либой. Специфика того что надо делать - больше вычислительная а не КРУДовская. Для связи с БД просто JDBC без всяких гиберов. Это все конечно можно начать перетаскивать на Спринг (JavaEE вроде как более менее мертвая в сравнении со спрингом), но если я буду достаточно квалифицирован чтоб работать с такого уровня вещами на спринге полноценно - будет просто нецелосообразно работать там где я сейчас нахожусь, потому что стоят такие вещи гораздо больше, чем я здесь обхожусь своему работодателю. Это и есть ближайшая цель - подучить какие-то популярные мейнстримные технологии и вкатиться "по-настоящему"
Аноним 16/11/21 Втр 08:16:13 #1584 №2213513 
>>2213511
Ммм, вычислительные штуки. И что сложная логика вычислений?
Аноним 16/11/21 Втр 08:29:13 #1585 №2213517 
>>2213513
Ну такое... всякое бывает. Иногда сравнительно сложное, вроде эволюционного алгоритма подбора коэффициентов функции оптимизации, или что-нибудь вроде "экспертной функции" вроде того какую машину наивогоднейше отправить по такому-то маршруту, с учетом ограничений и маршрута, и машины - ну типа там, у этой радиус поворота не позволит проехать там-то, а эта недостаточно проходима что пройти там-то (это как пример, просто задачи подобные)
Аноним 16/11/21 Втр 08:35:22 #1586 №2213518 
>>2213517
тогда ты меня вообще не утешил. Звучит пострашнее всяких страшилок спрингистов про сложные валидации, огромные базы и интеграции с миллионом сервисов.
Аноним 16/11/21 Втр 08:43:37 #1587 №2213519 
>>2213518
Ну почему же. Отличие от спринга в том, что там тебе нужно знать какой-то гигантский стек технологий разработанных ХЗ кем и ХЗ как работающих. В том случае, в который я попал, тебе ничего особо знать не нужно, кроме самой джавы с ее либой, ну и каких-то базовых вещей для межпрограммного взаимодействия (С БД, системой, какими-то типами ресурсов). А весь код, который тебе позволит абстрагировать предметную область и сделать нужные обработки, ты придумываешь и пишешь сам, соответственно хорошо его знаешь и всегда можешь адаптировать/допилить/перепилить под новые нужды. Хороший способ естественным путем дойти самому до всяких "паттернов проектирования", лол. Тут просто, как бэ, язык вторичен, главное идеи и понимание того что надо сделать. Язык просто твой супер-универсальный программируемый калькулятор с неограниченными возможностями.
Аноним 16/11/21 Втр 09:25:45 #1588 №2213538 
>>2213489
То есть, средствами мониторинга JVM его даже не найти?
Аноним 16/11/21 Втр 10:17:11 #1589 №2213580 
>>2213538
Я не ебу, ес честно. Просто практически в кажом мануале по юзанью Autoclosable интерфейсов говорится именно это. Еще когда-то где-то читал, что у системы ограниченное количество дескрипторов разных предоставляемых клиентсому ПО ресурсов, так что если ты запустишь открытие потоков в каком-нибудь длинном цикле то они тупо могут закончиться. Это похоже на memory leak по смыслу, только в этом случае не освобождается не память до удаления на нее всех указателей, а ресурс системы, с которым процесс работает.
Аноним 16/11/21 Втр 11:49:13 #1590 №2213701 
>>2213465
После вуза, сюрприз, ты тоже нахуй никому не нужен без опыта.
Тогда не было засилья рекламы всяких курсов и я не знал, что нужно делать. Но зато тогда можно было на собес попасть даже с пустым резюме, где тебя как правило обсирали, хули ты ничего не умеешь.
А теперь нужно дохуя всего знать, часов 500 пописать пет-проекты чтобы тебя соизволили пригласить на интервью.
Аноним 16/11/21 Втр 11:50:55 #1591 №2213703 
>>2213580
>Просто практически в кажом мануале по юзанью Autoclosable интерфейсов говорится именно это
Да, я тоже просмотрел десяток мануалов, и везде пишут одно и то же, не разъясняя почему.
Аноним 16/11/21 Втр 12:08:10 #1592 №2213723 
>>2213703
Потому что это особенность операционной системы больше, чем самой джава-среды. Если ты хочешь прокачать джаву чтоб не думать об этом, можешь накатить ламбок, там есть аннотация которой ты можешь пометить любой вновь создаваемый ресурс, и лобок его утилизирует за тебя.
Аноним 16/11/21 Втр 12:44:36 #1593 №2213774 
>>2213723
Я хочу прокачать джаву. Чтобы конструкцию try-with-resources переименовали в context manager, и чтобы с вместо try(...) использовалось ключевое слово using(...) или with(...).
sageАноним 16/11/21 Втр 12:45:23 #1594 №2213777 
>>2213774
Юзай котлин
Аноним 16/11/21 Втр 12:51:50 #1595 №2213789 
>>2213701
То есть ты 8+ лет после вуза писал пет проекты?
Аноним 16/11/21 Втр 12:53:26 #1596 №2213792 
>>2213777
Ну трипл, обычно когда котлин вслух произносят у дидов в команде включается эпичное НЕНУЖНО
sageАноним 16/11/21 Втр 12:57:23 #1597 №2213800 
>>2213792
Ну а жаву прокачивать кончено же нужно.
Остаётся только юзать try (...) и не бухтеть
Аноним 16/11/21 Втр 14:16:42 #1598 №2213907 
>>2213774
> переименовали
И сломали заодно весь код, где есть переменная с таким названием, которая раньше была корректным идентификатором.
Аноним 16/11/21 Втр 14:49:10 #1599 №2213934 
>>2212296
>Увидел питоновский пример такого файла и охуел от краткости скажем так. Нельзя ли и jar так же ?
Кстати, начиная с 12 JDK можно так же java MoiGovnokod.java
в классе не должно быть никаких внешних зависимостей
Аноним 16/11/21 Втр 15:28:07 #1600 №2213979 
>>2213907
Ну дяяя.
Аноним 16/11/21 Втр 17:23:28 #1601 №2214067 
>>2213907
Почему дотнет может позволить себе послать нахуй обратную совместимость и переродиться (.net framework -> net core - NET 5+), а джава нет?
sageАноним 16/11/21 Втр 17:25:00 #1602 №2214068 
>>2214067
На жаве много легаси, в котором крутится слишком много денег
Аноним 16/11/21 Втр 17:27:03 #1603 №2214069 
>>2214068
Но сломали же совместимость в 9ке.
Аноним 16/11/21 Втр 17:27:11 #1604 №2214070 
>>2214068
Так на шарпе не меньше легаси было, у них с джавой одна сфера
Аноним 16/11/21 Втр 17:27:38 #1605 №2214071 
>>2213423
>Каким именно образом незакрытый ресурс приводит к утечке памяти? Где висит та ссылка, которую не может убрать гц?
Это касается нативной памяти не кучи и тех ресурсов которые ОС выделила твоему приложению например файловый дескриптор и кеши.
Хорошая новость в том, что все стандартные классы реализуют финализацию. Плохая в том, что сторонние библиотеки могут этого не делать например тот же JACOB раньше забивал на это хуй.
sageАноним 16/11/21 Втр 17:29:47 #1606 №2214074 
>>2214069
А разве там не впилили костылину с аннеймд модулями?
Аноним 16/11/21 Втр 18:07:31 #1607 №2214093 
>>2214070
И что за фреймворки у шарпа есть для энтерпрайза и веба?
Аноним 16/11/21 Втр 18:18:21 #1608 №2214113 
>>2214093
Сам .NET и ASP NET Core (аналог спринга)
Аноним 16/11/21 Втр 19:05:56 #1609 №2214151 
У оракла в загрузках для виндоус есть jdk в виде архива, но инструкции по установке есть только для использования установщика. Этот установщик делает что-нибудь кроме распаковки архива и установки переменной path и java_home?
Аноним 16/11/21 Втр 21:02:47 #1610 №2214225 
https://habr.com/ru/post/589605/
Пожалуйста, обновляйтесь.
Аноним 16/11/21 Втр 21:04:53 #1611 №2214226 
>>2214225
Обнови мне сервер приложений, который на жабе больше 8 тупо не стартует с NPE.
Аноним 16/11/21 Втр 21:09:02 #1612 №2214229 
>>2214226
Кидай стектрейс.
Аноним 16/11/21 Втр 21:09:40 #1613 №2214230 
>>2214225
java 8 поддерживается до 2030 если шо
Аноним 16/11/21 Втр 21:22:19 #1614 №2214239 
>>2214225
Про List.of и Arrays.asList - упрощение в том, что не надо импортировать util.Arrays?
Аноним 16/11/21 Втр 21:28:42 #1615 №2214243 
>>2214239
Строки короче получаются.
Аноним 16/11/21 Втр 22:34:38 #1616 №2214292 
Че вы делаете, когда внутри метода сервиса че-то логируется, потом этот метод сервиса вызывается в другом методе сервиса в котором логируется почти то же самое?
Аноним 16/11/21 Втр 22:36:17 #1617 №2214294 
>>2214292
Ничего. Делал не я, переделывать времени как обычно нет.
Аноним 16/11/21 Втр 23:48:08 #1618 №2214339 
Понимаю что платиноводебильный вопрос, но дайте пж туториал\вебинар\книгу для быстрого вката. Мне нужно простое веб приложение написать, я плюсы на достойном уровне знаю, так что нужно чтобы минимум говна было для новичков
Аноним 17/11/21 Срд 00:27:22 #1619 №2214371 
Вкатуны, организуйте кто-нибудь дискорд сервер какой-нибудь что ли. Мне легче заниматься обучением, когда я осознаю, что я не один.
Аноним 17/11/21 Срд 00:30:06 #1620 №2214376 
>>2214371
Ты не один, с тобой весь этот тред. Здесь все твои друзья.
Аноним 17/11/21 Срд 00:36:00 #1621 №2214382 
image.png
image.png
>>2213215
Держи. Задачу то я решил , переменные нормально обозвал. Но когда 16 переменных выражении время исполнения за секунду все равно переваливает. Эх...
Из за чего это может быть ? Парсер у меня самый дефолтный , на лексемы просто разбивает и потом обходит.
Аноним 17/11/21 Срд 03:06:28 #1622 №2214424 
А встречались вам те, кто поработав в бхэкенде послал его в месте с джавой нахуй и ушел, например, во фронт?
Аноним 17/11/21 Срд 03:54:49 #1623 №2214427 
Знает кто-то бесплатные моки-тесты к oca/ocp? А то я один нашел и он не оче.
Аноним 17/11/21 Срд 05:11:05 #1624 №2214432 
Что изучить для вкатуна в спринг: jms, rabbitmq, kafka? Много где есть требования к одной из этих штук. Какую релевантнее изучать? Пока думаю rabbit.
Аноним 17/11/21 Срд 05:55:35 #1625 №2214437 
>>2214424
Охотно бы съебался в какую-нибудь системщину, или геймдев. Бизнес-автоматизация - это душное говно. Особенно если голая крудня без всяких алгоритмов обработки более-менее нетривиальных
Аноним 17/11/21 Срд 07:23:08 #1626 №2214441 
>>2214437
Так это понятно. Там интереснее и сложнее.
А про фронт интересно. Стать формошлепом после опыта крудомакакой с джавовским ооп головного мозга.
sageАноним 17/11/21 Срд 07:35:19 #1627 №2214443 
>>2214432
Для вкатуна разницы нет. Главное - понять, как общаться через брокеры
Аноним 17/11/21 Срд 07:48:06 #1628 №2214446 
>>2214443
Я понял, что главное что-то одно из этого потрогать, но с чего лучше начать? Что сейчас популярно, что из под спринга попроще управляется?
sageАноним 17/11/21 Срд 08:11:03 #1629 №2214452 
>>2214446
Там со всем интеграция хорошая. Можешь с рэббита начать
Аноним 17/11/21 Срд 08:44:08 #1630 №2214459 
>>2214371
>Вкат в жабу
Сейчас не 2015 год, у тебя есть превосходно отполированный дотнет и несущийся локомотив хайпскрипта, но нет надо жрать говно на допотопных технологиях
sageАноним 17/11/21 Срд 08:49:39 #1631 №2214464 
>>2214459
Зарепортил.
Аноним 17/11/21 Срд 08:50:38 #1632 №2214466 
>>2214464
По фактам тебе просто возразить нечего
sageАноним 17/11/21 Срд 09:04:27 #1633 №2214474 
>>2214466
Репорт.
Аноним 17/11/21 Срд 09:07:24 #1634 №2214475 
>>2214459
Хуйню какую-то несешь. На энтерпрайзе джава разделывает ваш дотнет и тайпскрипт вместе взятые помноженные на 5
Аноним 17/11/21 Срд 09:31:40 #1635 №2214484 
Форсер дотнета, вот ты тут срешь уже давно.
Расскажи чем реально лучше дотнетовский стек для больших приложений, чем дефолтные java11/springBoot/springDataJpa/springSecurity?
Аноним 17/11/21 Срд 09:34:54 #1636 №2214485 
Например я работаю с JDBC, создаю Connection и отключаю у него автокоммит. Все это, естественно, делается в try-catch. Есть ли разница между тем, когда соединение просто сломается и вылетит в catch, так и не выполнив коммита, и явным вызовом rollback у транзакции в блоке catch? Короче, какой смысл вызова rollback в catch-блоке? Это освобождает какие-то ресурсы БД или как? Но ведь соединение в любом случае сломалось и выбросило эксепшен.
Просто если использовать try-with-resources то в блоке catch уже не виден пойнтер коннекшена.
Аноним 17/11/21 Срд 09:42:27 #1637 №2214490 
>>2214485
Так при транзации ты не поломанное соединение обрабатывать должен тракетчами, а ошибки в бизнес логике во время транзации. И при ошибке в логике ты и ролбечишь.
Аноним 17/11/21 Срд 09:48:22 #1638 №2214495 
>>2214490
Ну это понятно, но если например логика упадет с любым другим SQLException, и я попаду в catch, есть ли смысл делать откат транзакции? Или достаточно просто того, что до киммита уже и так никогда не дойдет?
Просто эта механика как-то хреново согласуется с try-с-ресурсами - ведь из catch уже ничего нельзя сделать с коннекшеном. Либо надо внутри try-с-ресурсами где делается коннекшен делать вложенный try-catch вокруг логики и в нем в catch вызывать rollback, потому что там он все еще виден. Вот я и хочу понячть есть ли смысл городить такой пиздец, или можно просто забить на открытую транзакцию.
Аноним 17/11/21 Срд 10:08:11 #1639 №2214513 
>>2214495
так при разрыве соединения там все ролбечится автоматически. По классике два вложенных трайкетча(обычно больше) - на внутреннем обрабатываешь ошибку логики и в его кетче ролбечишь, а на внешнем sql-ексепшоны.
Аноним 17/11/21 Срд 10:14:30 #1640 №2214521 
>>2214513
Уже так и сделал, благодарю за содействие. Классический подход обдвачевавшегося долбоеба - сначала спроси, потом подумай и сам все пойми, потому что это вполне логично
Аноним 17/11/21 Срд 10:21:42 #1641 №2214527 
Начал потихоньку подходить к секурити. Ну и хочу на google-oauth запилить проектик. Как всякие личные данные отделять с паролями/секретными токенами от гуглов, чтобы их на гит не складывать? В примерах они вместе совсем в application.yml лежат.
Или лучше зарегать почту, которую не жалко и все данные для этой почты выкладывать на гит, чтобы оно работало?
sageАноним 17/11/21 Срд 10:37:51 #1642 №2214536 
>>2214527
Юзай environment variables
Аноним 17/11/21 Срд 10:39:11 #1643 №2214540 
>>2214536
в винде типа в переменные среды захардкодить?
sageАноним 17/11/21 Срд 11:10:58 #1644 №2214579 
>>2214540
Если ты пользуешься идеей, то можно прописывать переменные в ней
Аноним 17/11/21 Срд 12:11:09 #1645 №2214677 
image.png
>>2214382
>razmer
>colichestvo
>код картинкой
Аноним 17/11/21 Срд 12:14:05 #1646 №2214684 
>>2214579
Ну то есть если вдруг кто-то мой гит будет смотреть, то это норм, что код не будет работать, так как я не выложу всякие секурные пропертюхи?
sageАноним 17/11/21 Срд 12:24:06 #1647 №2214694 
>>2214684
Да. Пусть свой акк заводит либо у тебя креды попросит
Аноним 17/11/21 Срд 12:32:21 #1648 №2214702 
>>2214684
В ридми напиши, как эти пропертюхи получить.
Аноним 17/11/21 Срд 19:27:41 #1649 №2215270 
нехочунафронт.png
>>2214437
>Бизнес-автоматизация - это душное говно
по сравнению с системщиной тут рай. Логи, скриншоты, повторяемость, подробнейшая документация, исходные коды, бизнес-аналитики. В системщине у тебя даже логов не будет, а документация только редкие ндашные даташиты. Стековерфлоу тоже будет недоступно. А аппаратные ошибки, которые надо будет ловить на конкретном девайсе всякими осцилографами
Аноним 17/11/21 Срд 19:32:30 #1650 №2215275 
В случае разработки SPA - рекомендуется вынести
репозиторий с front-end. Используйте proxy при разработке
(настройки CORS не должно быть).


Это значит, нужно 2 микросервиса делать?
Как использовать прокси? Прямо во фронте ловить запрос и перенапрвлять его на бэк? Как это по уму делать?
Аноним 17/11/21 Срд 21:37:15 #1651 №2215387 
Что такое блокировка с открытым доступом?
"Если класс использует блокировку с открытым доступом, он позволяет клиентам выполнять последовательость вызовов методов атомарно — ценой потери гибкости".
Аноним 17/11/21 Срд 23:56:30 #1652 №2215519 
Как назвать компонент, который отслеживает время, прошедшее с получения последнего ивента?
Аноним 18/11/21 Чтв 00:07:48 #1653 №2215524 
>>2215519
Clock
Аноним 18/11/21 Чтв 00:17:57 #1654 №2215535 
image.png
АХАХАХАХ
Аноним 18/11/21 Чтв 02:50:30 #1655 №2215612 
>>2215275
думаю имеется ввиду фронт раздавать с nginx и настроить его, как реверс прокси.
Аноним 18/11/21 Чтв 03:57:25 #1656 №2215620 
Олды, подскажите как лучше обращаться к внешним апишкам через спринг бут? Хочу пиздить данные с погодных сервисов
Аноним 18/11/21 Чтв 05:35:01 #1657 №2215631 
>>2215270
Это выбирается не потому что там просто, а потому, что сложно
Аноним 18/11/21 Чтв 09:23:29 #1658 №2215677 
f.png
>>2215535
Просто спиздили безликого робота у шарпов, впрочем как и весь язык
sageАноним 18/11/21 Чтв 09:38:09 #1659 №2215683 
>>2215677
Вот кот был гораздо лучше
Аноним 18/11/21 Чтв 10:00:03 #1660 №2215696 
>>2215620
https://habr.com/ru/post/544034/
Аноним 18/11/21 Чтв 10:03:24 #1661 №2215700 
>>2215677
Как и весь язык, спизженный с Джава?
Аноним 18/11/21 Чтв 10:11:39 #1662 №2215710 
>>2215700
Зумеры, зачем вы носитесь с этой мантрой? Шарп был копией на первых версиях языка
Аноним 18/11/21 Чтв 10:14:16 #1663 №2215715 
>>2215710
И как это исключает заявление выше, шизик?
sageАноним 18/11/21 Чтв 10:15:18 #1664 №2215716 
>>2215696
Если ты пытался потроллить кодом на шарпе, то мое тебе почтение
sageАноним 18/11/21 Чтв 10:16:18 #1665 №2215717 
>>2215620
Webclient
Аноним 18/11/21 Чтв 10:18:12 #1666 №2215719 
>>2215715
Может тем, что когда куколд Бреслав пили котлин и опирался на другие языки, шарп уже далеко ушел от просто копии жабы?
Аноним 18/11/21 Чтв 13:29:47 #1667 №2215945 
>>2215612
Братишка, можешь поподробнее? Как это гуглить? ЯННП.
Аноним 18/11/21 Чтв 13:38:24 #1668 №2215961 
>>2215524
А еще? Clock.idleTime() чет не очень
Аноним 18/11/21 Чтв 14:24:17 #1669 №2216016 
>>2215945
Суть этого задания в отусе - поднять фронт отдельным серваком не на джаве на отдельном порту. Но если у тебя будет на разных портах работать фронт и бек - ты попадешь под cors ограничения.
Я с эти столкнулся, когда вот этот хеловорд дописал: https://sysout.ru/spring-boot-postgresql-js-v-dosker/
Для преодоления этой проблемы используются реверс-прокси, вроде нгинкс(нормальный метод, но я спасовал, не захотел разбираться с натройками nginx) или отключение корса на сервере(как сделал я, плохой способ).
Я бы не ебал мозги и никуда фронт пока не выносил.
Аноним 18/11/21 Чтв 17:14:45 #1670 №2216199 
А теперь серьёзный вопрос:
Насколько важно знать докер для вкатуна?
А брокеры сообщений?
Или лучше потратить время на подготовку к вопросам про джава кор?
Аноним 18/11/21 Чтв 18:41:05 #1671 №2216315 
>>2216199
я так и не понял зачем нужен докер. В докере запускать базу? Зачем? Установил на рабочую машину и вот у тебя тестовая база.
Остальное окружение всё-равно не поднять локально, надо деплоить на стенд. Конфиг докера одинаковый на все МИКРОСЕРВИСЫ на жабе, и как они там на стендах деплоятся я не знаю. Этим пердолики девопсы занимаются
Аноним 18/11/21 Чтв 20:32:12 #1672 №2216474 
В случае, если переменная field будет не null, значение field будет считано из памяти дважды? В этих местах: "field == null" и "return field"?

private Object getField() {
if (field == null) {
synchronized (this) {
if (field == null)
field = computeFieldValue();
}
}
return field;
}
Аноним 18/11/21 Чтв 20:36:27 #1673 №2216481 
>>2216474
>значение field будет считано из памяти дважды
ебать ты че братан
Аноним 18/11/21 Чтв 20:36:35 #1674 №2216482 
>>2216199
Мне кажется брокеры нужнее докера. Меня не позвали на собес, ибо нужен был jms или ребит/Кафка, чтобы был знаком.
Аноним 18/11/21 Чтв 20:51:22 #1675 №2216496 
>>2216474
>В случае, если переменная field будет не null, значение field будет считано из памяти дважды? В этих местах: "field == null" и "return field"?
Если она не volatile то гарантий нет, но вероятнее всего 1.
sageАноним 18/11/21 Чтв 21:52:09 #1676 №2216558 
>>2216315
> В докере запускать базу?
Да
> Зачем?
Гугли testcontainers
> Установил на рабочую машину и вот у тебя тестовая база.
Неудобно create-drop для тестов
> Остальное окружение всё-равно не поднять локально, надо деплоить на стенд.
Редис, реббит, эластик хорошо поднимаются в докере
> Конфиг докера одинаковый на все МИКРОСЕРВИСЫ на жабе, и как они там на стендах деплоятся я не знаю. Этим пердолики девопсы занимаются
Докерфайлы обычно программисты пишут, т.к. только они знают, как их говно в конт собрать. Но в основном программисту докер нужен только для разработки
Аноним 19/11/21 Птн 04:23:32 #1677 №2216699 
Почему в мейвене нет команды в командной строке чтобы отобразить расположение локального репозитория?
Аноним 19/11/21 Птн 04:57:59 #1678 №2216702 
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html
>The Super POM is Maven's default POM. All POMs extend the Super POM unless explicitly set, meaning the configuration specified in the Super POM is inherited by the POMs you created for your projects.
>if the configuration details are not specified, Maven will use their defaults.
В суперпоме указан modelVersion, однако в каждом своём поме всё равно приходится указывать это дерьмо, при том что оно не меняется с 2007 года. У них там свои представления о наследовании?
Аноним 19/11/21 Птн 06:30:16 #1679 №2216728 
Почему в результате чистой установки он скачал maven-compiler-plugin восьмилетней давности, а теперь сам же ругается на старую джаву и ничего не может сканпилировать? И как теперь обновить эту хуйню. Так много вопросов и так мало ответов...
Аноним 19/11/21 Птн 06:57:04 #1680 №2216730 
А бывают какие-то решения для генерации тестовой базы/скриптов? Ну вот 10 инсертов я там напишу сам. А если я хочу тестовую базу на 500 строчек в каждой таблице?
Аноним 19/11/21 Птн 07:06:21 #1681 №2216731 
Подскажите нубину. Набросал код для передачи csv с фтп-комп-обработка-фтп, хочу переделать это в приложение, где мне лучше хранить объекты(данные от фтп(ip, login, pass))? В бд или какой конфиг делать? Сильно не стукайте
Аноним 19/11/21 Птн 07:38:21 #1682 №2216739 
>>2216731
Это ты тут две недели назад про фтп-сервер писал?
Аноним 19/11/21 Птн 07:49:53 #1683 №2216743 
91yISYgXhcL[1].jpg
Препод в одной шараге посоветовал читать пик.
Книжка 2008 года, серия дурацкая, да и про jsp в книге.
Вообще стоит глубже знакомиться с сервлетами? Или мне хватит того, что есть такая черная коробка, которая реализует всю работу с хттп?
Аноним 19/11/21 Птн 07:56:37 #1684 №2216745 
>>2216739
Нет, не я
Аноним 19/11/21 Птн 08:13:45 #1685 №2216748 

Вакансия: Младший (Junior) разработчик Java

Предлагаем вам выполнение тестового задания:

Сделать сервис агрегации агрегаторов такси. Необходимо реализовать общую архитектуру, коннекторы к конкретным агрегаторам можно реализовать на примере IWay или stub connector, но нужно сделать общий интерфейс
Сервис должен реализовывать возможность поиска предложений по адресам(в т.ч. асинхронно), бронирования и отмены бронирования
В качестве примера для имплементации можно взять API IWay

В тестовом задании необходимо использовать технологии и принципы указанные в вакансии:
владение Java на уровне junior+;
Spring/Spring Boot, Hibernate, SQL
работа с XML, XSD, XSLT;
желательно: gRPC, PostgreSQL, Kafka, Docker;



Как вам такое на Джуна? Зп не указана.
sageАноним 19/11/21 Птн 09:43:40 #1686 №2216795 
>>2216699
~/.m2
sageАноним 19/11/21 Птн 09:45:27 #1687 №2216796 
>>2216748
Они закономерно идут нахуй
Аноним 19/11/21 Птн 09:49:02 #1688 №2216800 
>>2216748
Нахуй пусть идут, как как
Аноним 19/11/21 Птн 10:02:11 #1689 №2216814 
Доставьте кто-то адекватный уровень вакансии на джуна, без охуелости работодателя как предыдущем примере.
мимо-вкатыш
Аноним 19/11/21 Птн 10:07:04 #1690 №2216822 
>>2216814
Oracle, Java EE, WebSphere, SOAP, JMS, XML, XSD, XSLT.
Аноним 19/11/21 Птн 10:08:13 #1691 №2216823 
>>2216822
может пойдешь лучше мамку тролльнешь?
Аноним 19/11/21 Птн 10:10:33 #1692 №2216824 
>>2216814
Spring/Spring Boot, Hibernate, JUnit, SQL, HTML, REST, PostgreSQL;
Аноним 19/11/21 Птн 11:25:10 #1693 №2216903 
>>2216824
а вот ты адекват
Аноним 19/11/21 Птн 11:45:08 #1694 №2216919 
>>2216903
но меня по факту взяли на работу на
Java8, Spring4, PostgreSQL, Oracle, Liquibase, SOAP, XML, REST, JMS + какой-то велосипедный вебфронт, который поддерживать тоже мне.
Аноним 19/11/21 Птн 13:02:06 #1695 №2216988 
>>2216743
>Вообще стоит глубже знакомиться с сервлетами?
Нет, если ты не собираешься писать свой WEB framework. Напиши хеловорлд, с базовыми функциями куки, сессия, авторизация, посмотри как выглядят HTTP запросы и этого достаточно для практической работы.
Аноним 19/11/21 Птн 13:18:42 #1696 №2217007 
>>2216988
Так и думал, что челик советовавший книжку по веб-технологиям 15-летней давности и тем более с jsp неправ не только в этом.
>хеловорлд, с базовыми функциями куки, сессия, авторизация, посмотри как выглядят HTTP запросы
это я делал перед спрингом, правда авторизацию не трогал. Потратил вечер. Только пару гетов, пару постов и что-то одно с сессией.
Но сейчас я так и не знаю, (хотя по спригну уже много читал/смотрел, писал несколько петов) где спринг соединяется с томкатом/ другими контейнерами сервлетов.
Аноним 19/11/21 Птн 17:14:42 #1697 №2217222 
Как в cmd запустить java не из корневой папки проекта?
javac .\src\main\java\govno\FirstProject\Dog.java
java .\src\main\java\govno.FirstProject.Dog
Первая команда выполняется, а вторая - нет. Полная\частичная замена точек на бекслеши не помогает, всё равно ClassNotFoundException. В собаке.java указан package govno.FirstPrjoect;
Аноним 19/11/21 Птн 17:36:04 #1698 №2217233 
>>2217222
javac .\src\main\java\govno\FirstProject\Dog.java
java -cp .\src\main\java podbrushkin.FirstProject.Dog
Аноним 19/11/21 Птн 17:37:18 #1699 №2217235 
image.png
image.png
Ананасы, расскажите, как наебать Сонар?

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

Но, сука, менеджеры из среды кабан кабанычей доебались, типа, хули coverage такой низкий, всего 30%, надо минимум 80%!

А там покрывать столько, шо я ебал её маму рот.

Пытался нагуглить squid-настройки, но чёт нихуя внятного нет.

Можно как-нибудь исключить java-файлы по маске имени или типа того?
Аноним 19/11/21 Птн 17:53:31 #1700 №2217252 
Чет коробит, когда java называют "ява".
Никакого иного именования, кроме "джава" не приемлит организм.
А у вас как?
Аноним 19/11/21 Птн 18:06:26 #1701 №2217277 
>>2216731
бамп
Аноним 19/11/21 Птн 18:15:43 #1702 №2217285 
>>2217252
А мне пох, я разрвб, а не филолог.
Аноним 19/11/21 Птн 18:41:40 #1703 №2217304 
>>2217235
Тестируй геттеры и сеттеры
Аноним 19/11/21 Птн 18:48:33 #1704 №2217307 
>>2217235
>Можно как-нибудь исключить java-файлы по маске имени или типа того?
Добавь аннотацию @Generated
Аноним 19/11/21 Птн 18:48:52 #1705 №2217308 
>>2217252
ЯВА - Язык Высокого Уровня
Аноним 19/11/21 Птн 19:06:43 #1706 №2217322 
>>2217308
Аровня?
sageАноним 19/11/21 Птн 19:08:48 #1707 №2217326 
>>2217252
>>2217308
Язык Великолепных Анимешников же
Аноним 19/11/21 Птн 19:11:57 #1708 №2217331 
>>2217322
урАвня
Аноним 20/11/21 Суб 03:31:29 #1709 №2217582 
Яву, Явуведь openjdk бесплатен для личного исползования, взял я на халяву!
Аноним 20/11/21 Суб 09:10:59 #1710 №2217655 
>>2217582
Может быть ты еще и Идею используешь только комьюнити эдишон, потому что она бесплатная?
Аноним 20/11/21 Суб 09:20:52 #1711 №2217659 
>>2217655
Я прохожу степики раз в 3 месяца и получаю ключик.
Челик с отуса форсит белсофтовсий ждк, типа даже для коммерции бесплатно.
Аноним 20/11/21 Суб 09:30:38 #1712 №2217665 
>>2217659
Расскажи поподробнее? Я полузуюсь пизженной ИДЕ-шкой, и мне это иногда не нравится
>белсофтовсий ждк, типа даже для коммерции бесплатно
Не совсем понимаю при чем тут ЖДК, мы же об ИДЕ, она вообще может быть любая подключена, и в дефолт-поставку жид-брейнса входит опен-ЖДК из коробки
Аноним 20/11/21 Суб 09:47:43 #1713 №2217669 
>>2217665
https://support.stepik.org/hc/ru/articles/360010105180-%D0%9A%D0%B0%D0%BA-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D0%BB%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9-%D0%BA%D0%BB%D1%8E%D1%87-%D0%BE%D1%82-JetBrains-
>Не совсем понимаю при чем тут ЖДК
я начал с бесплатности ждк
ЖДК МНОГО, ЯВА У МЕНЯ ОДНА!
Аноним 20/11/21 Суб 10:08:17 #1714 №2217679 
ШАРПОБЛЯДИ РАЗВОНЯЛИСЬ ПО УТРУ!
А Я ЯВУ НЕЖНО ТРЯПОЧКОЙ ПРОТРУ!
Аноним 20/11/21 Суб 22:43:13 #1715 №2218252 
>>2217659
>Я прохожу степики раз в 3 месяца и получаю ключик.
Нахуя? Просто сбрасывай триал раз в месяц. Это делается одним кликом по нужному скрипту.
Аноним 20/11/21 Суб 23:27:40 #1716 №2218286 
Почему синглтон через енам называют не ленивым? Чем он хуже синглтона через внутренний статический класс?
Аноним 21/11/21 Вск 00:47:51 #1717 №2218333 
Ебать у вас шапка огромная, и сколько на джуна вкатываться, 3 года? А че по зп?
Аноним 21/11/21 Вск 01:08:40 #1718 №2218342 
>>2218333
5 лет. Потом первые пару лет зарплата 35 тысяч до вычета НДФЛ.
Аноним 21/11/21 Вск 03:27:50 #1719 №2218402 
image.png
Помогите пж. Задача такая. В таблице Employee есть сущность с полями firstname, lastname и midllname. Вернуть json класса emoloyee , где все три выше перечисленных поля сложены в объект класса FullName. Как мне это сделать используя JPA. Вот как связи расставил , что писать над FulName хз
Аноним 21/11/21 Вск 03:32:41 #1720 №2218405 
>>2218402
Как же хорошо, что в JdbcTemplate это делается просто, прозрачно и без ебучей магии говнохибернейта.
Аноним 21/11/21 Вск 06:51:49 #1721 №2218427 
>>2218252
В винде цирк с конями какой-то, а не кликнуть на скриптик.
Аноним 21/11/21 Вск 06:59:17 #1722 №2218432 
>>2218402
>>2218402
https://www.baeldung.com/json-multiple-fields-single-java-field
Аноним 21/11/21 Вск 14:28:27 #1723 №2218647 
>>2218405
И причем тут это? Если я через рест контроллер возвращаю объект он его сам в json превращает и возвращает в теле ответа. Мне нужен вот такой вывод employee.
{
"id": 7839,
"fullName": {
"firstName": "JOHN",
"lastName": "KING",
"middleName": "MARIA"
},
"position": "PRESIDENT",
"hired": "1981-11-17",
"salary": 5000.00000,
"manager": null,
"department": null
}


>>2218405
Знаю , я решил уже эту задачу через него. Теперь через спринг дату надо
Аноним 21/11/21 Вск 14:30:16 #1724 №2218649 
>>2218647
Причем тут спринг дата? Ты сущность возвращаешь в контроллере?
Аноним 21/11/21 Вск 14:34:31 #1725 №2218651 
>>2218649
Возвращаю объект класса employee
Аноним 21/11/21 Вск 14:38:33 #1726 №2218658 
>>2218651
А объект класса employee у тебя каким образом получается?
Аноним 21/11/21 Вск 14:43:15 #1727 №2218660 
>>2218658
Через jpa репозиторий , который через аннотации @Entity ищет сущности в таблице. На скрине , который скинул он никак не получается , потому что поля FullName нету в таблице. И надо как то заставить засунуть три поля в 1 объект засунуть.
Аноним 21/11/21 Вск 14:46:41 #1728 №2218664 
>>2218660
На скрине сущность называется EmployeeEntity. Это то, что лежит в бд. Из контроллера надо возвращать объект другого класса. При его создании и надо склеивать три поля в одно. Нахуй ебаться с этой хуйней на уровне репозиториев?
Аноним 21/11/21 Вск 14:48:23 #1729 №2218668 
>>2218664
Сори , опечатался. Да возвращаю EmployeeEntity и его юзаю везде.
Таково задание , я сам выкупаю что бесполезная задача.
Аноним 21/11/21 Вск 14:53:50 #1730 №2218680 
>>2218668
Судя по первому посту, у тебя задание
>Вернуть json класса emoloyee
Для формирования json явно не класс сущности надо использовать.
Аноним 21/11/21 Вск 15:01:34 #1731 №2218698 
image.png
>>2218680
Да вроде бы его . Вот вывел этот класс , но без имени
Аноним 21/11/21 Вск 15:08:55 #1732 №2218704 
>>2218427
Скоро заканчивается триальный месяц. Новый акк заводить или можно сбросить как-то?
Аноним 21/11/21 Вск 15:23:32 #1733 №2218718 
image.png
image.png
>>2218664
Вот , решил как ты сказал. Но имхо это лютейший костыль. Зачем тогда вообще юзать хибернет , если через JdbcTemplate проще 7?
Аноним 21/11/21 Вск 15:35:35 #1734 №2218732 
>>2218718
>Зачем тогда вообще юзать хибернет
До тебя начинает доходить...
>Но имхо это лютейший костыль
Разные классы для сущностей и для представления - индастри стандарт.
Аноним 21/11/21 Вск 15:48:55 #1735 №2218746 
>>2218732
>индастри стандарт

Не знал
Аноним 21/11/21 Вск 16:39:53 #1736 №2218843 
>>2218427
Ну тогда сорре
Аноним 21/11/21 Вск 18:46:14 #1737 №2219013 
Пишу на работе хуйню на спринг буте, которая читает очередь из rabbitMq, в настройках можно задать количество тредов, которые аппликация одновременно будет обрабатывать, я просто рандомной выбрал 10, и так оно и работает. Вроде всё норм, но хочется понять, как вообще определить оптимальное их количество. Как-то посчитать это можно ?
Аноним 21/11/21 Вск 21:35:39 #1738 №2219134 
Я не умею гуглить помогите. Я хочу получать погоду с гис метео через веб клиент,они дают токен для подключения. Как мне к нему подключиться? Сколько я не гуглил выходит какая-то хуйня,обзор веб клиента. Спасите,дайте нормальные гайды
Аноним 21/11/21 Вск 21:58:03 #1739 №2219155 
>>2219134
Судя по странице https://www.gismeteo.ru/b2b/ , токены они дают только для юридических лиц. Ты точно уверен, что это то, что тебе нужно?
sageАноним 21/11/21 Вск 22:17:18 #1740 №2219180 
>>2219013
Бамп вопросу inb4 кол-во треков у проца
Аноним 21/11/21 Вск 22:26:20 #1741 №2219186 
>>2219180
> inb4
Если ты уже знаешь ответ, зачем спрашиваешь?
sageАноним 21/11/21 Вск 22:27:22 #1742 №2219187 
>>2219186
Но я другой анон
Аноним 22/11/21 Пнд 01:22:38 #1743 №2219270 
>>2218402
Зачем именно используя JPA?
Знаю, что обратная задача через @JsonProperty решается.
Аноним 22/11/21 Пнд 05:01:50 #1744 №2219318 
>>2219155
Ну гис метео чисто для примера, можно openweather или яндекс. Суть в том чтобы найти туториал
Аноним 22/11/21 Пнд 08:10:32 #1745 №2219346 
Почему на интервью часто спрашивают о нововведениях java8, а по другим версиям не спрашивают?
Java 8 самая популярная и более новые не использкют широко?
Или потому что в других версиях не такие значимые изменения?
Аноним 22/11/21 Пнд 08:57:00 #1746 №2219357 
>>2219346
Потому что в ней добавили механизмы, качественно изменившие разработку на джава, а именно лямбда-выражения, на котором основан еще один важный фреймворк - Stream API. Большинство же нововведений дальнейших версий - это какая-то косметическая хрень или не получившие широкого распространения фичи. Есть конечно потенциально полезные вещи в последних изменениях, например рекорды, но они вроде пока что в тестовом режиме еще
Аноним 22/11/21 Пнд 11:02:07 #1747 №2219400 
>>2219134
Анончеки, что в спринге надо уметь делать?
Мне дали тз ебнутую какую-то, типа написать структура университета. Я ахуел с колличества всего, надо пилить дохуя сущностей в виде уроков, расписаний уроков, преподавателей, студентов, админа, админки и прочего прочего. И это на джуна сраного. Это везде так?
2 года назад мне нужно было сервис обработки JSON сделать и все.. А тут блять целая структура.
Аноним 22/11/21 Пнд 11:13:43 #1748 №2219409 
Очень по разному. Мне в одном месте дали >>2216748 говно.
В другом нужно было 2 таблички сделать и по одной из них искать/фильтровать, чуть сложнее, чем тестовое от райфа на стажера.
Сегодня прислали еще:
Реализовать на языке программирования Java Rest API для картотеки супергероев Marvel. Необходимо реализовать 1) Базовые API методы https://developer.marvel.com
· GET /v1/public/characters
· GET /v1/public/characters/{characterId}
· GET /v1/public/characters/{characterId}/comics
· GET /v1/public/comics
· GET /v1/public/comics/{comicId}
· GET /v1/public/comics/{comicId}/characters
2) POST/PUT методы для наполнения базы/файлов c комиксами и героями Обязательные требования:
1) Постраничная загрузка, сортировка, фильтрация для запросов, возвращающих списки
2) Работа с изображениями (загрузка, отображение)
3) Адекватные ошибки в ответе. Например:
a. 404 если не найден персонаж
b. 400 если запрос не прошёл валидацию
4) Документирование API (например, через Swagger) Допущения:
1) Формат запросов и ответов может быть упрощён по сравнению с Marvel (оставлены только базовые поля)
2) На первом этапе можно не реализовывать проверку токена безопасности Требования к инструментам:
1. Язык программирования – Java
2. Сборка – Gradle/Maven
3. Исходный код должен быть опубликован на Github/Gitlab/Bitbucket
4. (Крайне желательно) использование Spring/Spring Boot
5. (Желательно) использование базы данных. Например Mongo
6. (Совсем здорово) использование docker Срок выполнения: две недели.
Аноним 22/11/21 Пнд 13:21:19 #1749 №2219487 
Планируются в джава out-параметры как в божественном шарпе?
Просто уже доебало, когда надо вернуть какой-то еще стейт из метода, помимо основного output-а.
Аноним 22/11/21 Пнд 13:39:28 #1750 №2219496 
>>2219487
Не планируется. Передавай POJO по ссылке и устанавливай там нужные поля.
Аноним 22/11/21 Пнд 13:49:01 #1751 №2219497 
>>2219496
Это выглядит уёбищно.
Вообще идеально было бы иметь какой-то механизм языка, позволяющий множественный аутпут, с разбором по индексам например. При этом дефолтный вывод бы был с нулевым индексом либо просто без индекса, и он бы завершал исполнение. Если что-то еще не выведено на этот момент - не ебет, тогда выводится нулл или дефолтное значение для типа.
Пишешь что-то вроде
public {double, int, int} doSomething(){
return(1) 1;
return 3.1415
}
Есть языки умеющие в такое дерьмо?
Аноним 22/11/21 Пнд 14:06:56 #1752 №2219505 
>>2219497
Ты дурак? Бог дал тебе ООП.
Аноним 22/11/21 Пнд 14:17:32 #1753 №2219510 
>>2219497
>Это выглядит уёбищно.
Уёбищно выглядят out переменные, вот это уёбищно. А named tuple выглядят отлично. Сразу ясно что на входе, что на выходе. Никаких side effects с тем, что у тебя локальная переменная поменяла значение после вызова.
Аноним 22/11/21 Пнд 15:39:45 #1754 №2219585 
>>2219505
И как блять ООП решает этот конкретный вопрос? Скорее ООП это стиль, который просто не приемлет такой семантики концептуально
>>2219510
Named tuple это целый отдельный класс, который надо создать, сопроводить, насрать им в память и все такое. Лень хуярить всякие матрешки каждый раз когда тебе надо что-то такое сделать
Аноним 22/11/21 Пнд 16:38:11 #1755 №2219628 
>>2219409
Не сложное задание , на какую зп такое требуют ?
Аноним 22/11/21 Пнд 16:41:12 #1756 №2219631 
>>2219270
Условие задания такое в универе было , sping дату проходили просто.
Аноним 22/11/21 Пнд 16:45:17 #1757 №2219634 
>>2219585
>И как блять ООП решает этот конкретный вопрос?
>Named tuple это целый отдельный класс
Аноним 22/11/21 Пнд 16:47:25 #1758 №2219635 
>>2219634
Блять, это суррогат просто средствами ООП для решения проблемы, вот и все. Никто бы не стал заниматься такой хуйней если б для этого были более удобные и красивые средства
Аноним 22/11/21 Пнд 16:51:49 #1759 №2219638 
>>2219635
Что красивого в том, чтобы возвращать несколько значений из метода без названий? Посмотри на питон, дохуя красиво наверное?
Аноним 22/11/21 Пнд 16:58:59 #1760 №2219641 
>>2219638
Ну я же не утверждаю что тот вариант, который я наверху высрал, красив и единственно возможен. Просто сказал что хотелось бы подобные вещи.
>питон
не имею чести его знать, к сожалению
Аноним 22/11/21 Пнд 17:44:30 #1761 №2219664 
>>2219585
>Named tuple это целый отдельный класс, который надо создать, сопроводить, насрать им в память и все такое. Лень хуярить всякие матрешки каждый раз когда тебе надо что-то такое сделать
Надо разрешить тимлидам пиздить таких долбоёбов, которым лень создать record. А вот похерить читабельность кода всякими out переменными - это им не лень.


>>2219635
Tuple это и есть красивое и удобное средство, во всех приличных языках именно так и делают. Где-то можно и безымянный и именованый tuple создавать, где-то только именованные.
Есть недоязыки, где не захотели вводить tuple, поэтому метод возвращает tuple, но его сразу наде деконструировать.
Аноним 22/11/21 Пнд 18:02:22 #1762 №2219681 
>>2219664
>лень создать record
Хуя ты молодчик. Где ты найдешь проекты на 16+ джаве? К тому же это говно еще насколько знаю в "раннем доступе".
Аноним 22/11/21 Пнд 18:47:54 #1763 №2219725 
Выучив все что в шапке можно претендовать на джуна? И сколько это примерно займет?
Аноним 22/11/21 Пнд 18:48:18 #1764 №2219726 
Есть таблицы Book и Author, отношение ManyToOne, очевидно.

class Book {

@Id
Long id;

String name;

@JoinColumn(name="author_id")
Author author;
}

Я создал объект книги, и знаю author_id. Мне нужно сохранить книгу в бд.

1) Могу получить автора по id, и сохранить книгу в бд. Но получение объекта из бд вынуждает делать лишний запрос.

2) Можно сохранить книгу напрямую SQL запросом.
INSERT INTO book (name, id, author_id)
VALUES ('Mein Kampf', 14, 88)
Но тогда пропадет смысл в JPA

3) Нет ли способа сделать это через JPA но без лишних запросов? Что-то вроде

Book book = new Book();
book.id = 14;
book.name = "Mein Kampf"

getEntityManager().persistAndChangeColumn(book, author_id, 88);
Аноним 22/11/21 Пнд 18:54:24 #1765 №2219731 
>>2219725
>Выучив все что в шапке можно претендовать на джуна?
можно
>И сколько это примерно займет?
Астрономически дохуя
Но джуном можно быть с гораздо меньшим багажом
Аноним 22/11/21 Пнд 19:02:16 #1766 №2219736 
>>2219725
Смотря какой у тебя бэкграунд. Если ты не знаешь чем integer отличается от boolean, как возможно такое что x = x + 1 (ведь на уроке математики за такое пиздят указкой по ебалу), и думаешь что "байт" это когда ты задираешь кого-то на двачах чтоб потроллить, то наверное и 4-5 лет будет маловато. Если уже и так знаешь процедурщину, особенно около-Сишную, есть понимание как вообще (и где) компьютер хранит и обрабатывает данные, что такое БД и как с ним разговаривать, и если вообще склонен к аналитическому мышлению, то может от года до двух.
Аноним 22/11/21 Пнд 19:03:37 #1767 №2219737 
>>2219357
Спасибо
Аноним 22/11/21 Пнд 19:07:13 #1768 №2219742 
>>2219628
30-50 нижний новгород.
Аноним 22/11/21 Пнд 19:15:52 #1769 №2219758 
Есть ли тут бывшие 1Сники.
Интересует, как у вас ЗП поменялась и через какое время, если вы уже были опытными разработчиками в 1С с нормальным стажем (у меня 4 года стажа + бэкграунд в виде айтишной вышки, в течение которой я на разном кодил, но базовое знание синтаксиса и каких-то элементов стандартной библиотеки эт сегодня вообще нихуя не значит, насколько я понимаю, там весь стек надо знать со смежными технологиями и фремворки).

Если мне тут почти 200к платят, (но иногда и больше выходит, так как я сижу на окладе + ещё во франче подрабатываю в свободное время и закрываю какие-то часы), то я предполагаю, что на jav'e первый год придётся снова поесть на тыс 50 ?

И какие курсы ещё норм ? Я пока думаю между OTUS'ом и Хекслетом. Но вроде на Хекслете по Jav'e не так много инфы. На ОТУСе есть полная профа с нуля.

Хочу накопить денег, уволиться и пол года заниматься только самообразованием, а потом переехать со своей хуйни в Дс/Дс2, где есть вакансии джависта на джунские/стажёрские позиции.

я ещё думал про C#, в частности asp.net, но по этой ёбе вакансий мало и материалов для обучения тоже с гулькин нос относительно того, что есть на Джабе

Мне 25
Аноним 22/11/21 Пнд 19:18:02 #1770 №2219761 
>>2219758
П.С.
Ещё хотел спросить. Убунту надо же накатывать хватит ли wsl виндовской?, если Джавой заниматься буду ?
И я плохо представляю, как выгглядит erp-система на Джаве. Там что через веб-интерфейс всё ? То есть клиент на стандартном веб-стеке описывается, его тоже надо знать ? Тут декстоп приложения делаются или уже моветон ?
Аноним 22/11/21 Пнд 19:20:10 #1771 №2219766 
>>2219758
>со своей хуйни в Дс/Дс2
А где ты зарабатываешь 200к вне дс/дс2?
Хз, стоит вообще щемиться с такой зарплаты? Мне в твоей ситуации западло былобы только то, что это 1С - довольно контуженный язык, еще и встроенный в какую-то среду специфическую. Но так ли это важно?
Аноним 22/11/21 Пнд 19:23:59 #1772 №2219770 
>>2219758
https://www.youtube.com/watch?v=QlSop74hSDc
вот об этом видос.
Зачем увольняться? Зачем платить инфоцыганам? Читаешь бесплатное, воруешь у инфоцыган.


Аноним 22/11/21 Пнд 19:26:51 #1773 №2219773 
>>2219761
>Убунту надо же накатывать
Куда накатывать? Можешь спокойно сидеть на винде. Джава позиционируется как вообще кроссплатформенная на уровне самих откомпиленных файлов. То есть скомпилив джарник на винде ты его сможешь запустить на маке и линухе и получить тот же (теоретически) результат
>erp-система на Джаве
О чем ты? У джавы нет никакой среды, куда она встроена (вроде вашего 1С или какой-нибудь СУБД с т.з. SQL). Она сама по себе, программирование ведется в IDE, все это компилится и деплоится на сервак или еще куда. Может конечно ты имеешь ввиду фреймворки. Если так, то это тоже безинтерфейсное все. Это просто заранее откомпиленный комплекс программного кода, служащий определенным задачам (как правило это Spring)
>Там что через веб-интерфейс всё ?
Джава отвечает за бекэнд только ка парвило, то есть тебя вообще не волнует особо как данные будут отображены. конечно на практике обычно морда вебовская
>Тут декстоп приложения делаются или уже моветон ?
Делаются, но уже моветон, лол. Это не ниша языка. Но если очень хочется то пожалуйста - напедалить какую-нибудь кнопкожалку на десктоп - не проблема.
sageАноним 22/11/21 Пнд 19:38:07 #1774 №2219787 
>>2219681
Хуево ты знаешь. А что тебе мешает обычный pojo сделать?
Аноним 22/11/21 Пнд 19:40:23 #1775 №2219790 
>>2219766
>А где ты зарабатываешь 200к вне дс/дс2?
Владивосток.
Но я работаю оч много.
При 8часовом рабочем дне дефолтном - это было бы 150к.
Ну в ДСе под 200 было бы с нормальными условиями.

Но в 1Се верхний предел это эти самые 200к. Максимум 250. Дальше уже всё, потолок стеклянный почти не разрушается, завязанность на СНГ, локальный стек, отсутствие best practise, которые используются во всём мире (ну процедурный стиль в 21 году ещё, архитектурно платформа устарела на лет 20), жидовская фирма, которая документацию продаёт за далары и садит клиентов на инглу лицензий, грязь, блядство и гавно. Я даж баг репорт в фирму 1С не моггу отправить, так как там кучу бюрокартии.
Я не хочу тут оставаться. Есть опасения, что сегмент 1Ски начнёт постепенно оттесняться. Вот, кстати, CRM сеггмент у неё уже отжали. И могут дальше пойти отжимать. Понятно, что буха и зарплата останется, но я не занимаюсь этим, да и там уже не совсем программирование.


>>2219770
>Читаешь бесплатное, воруешь у инфоцыган.
Да у меня есть деньги. Почему нет. Пусть обучают ёпта. Вроде на ОТУСе по отзывам норм площадака, не наёбская.
Аноним 22/11/21 Пнд 19:40:56 #1776 №2219794 
>>2219681
>Где ты найдешь проекты на 16+ джаве?
У нас уже идет тестовая миграция на 17. Я потестистил сборку и рантайм нашего проекта на 17-ой. Как только будет на уровне компании одобрено использование в проде, начнем миграцию.
sageАноним 22/11/21 Пнд 19:41:09 #1777 №2219795 
>>2219726
Насколько мне известно, в jpa такой возможности нет. Но скорее всего, ты ее и так пойдешь в базу, чтобы проверить, существует ли автор с ид 88
Аноним 22/11/21 Пнд 19:47:27 #1778 №2219803 
>>2219736
>Если ты не знаешь чем integer отличается от boolean
На самом деле вопрос гораздо глубже, чем кажется. В байткоде нет операция по работе с булевским типом и все операции с булевскими типами это операции с int. Есть только тип поля и параметров boolean.

Мимо 2 года байткод генерил.
Аноним 22/11/21 Пнд 19:49:00 #1779 №2219806 
>>2219787
Ну если она уже и вышла из тестов, один хуй это не значит, что на нее уже переехали много проектов.
>А что тебе мешает обычный pojo сделать?
Ничего, так и сделал. Просто иногда заебывает делать все эти обертки, когда уже все готово, и местами даже использовано в дургих методах, но вдруг выясняется что кое-какие порождаемые параллельно в том самом методе данные тоже нужны на выходе. Соответственно изволь потом подправить везде, где уже успел наделать вызовов.
Аноним 22/11/21 Пнд 19:53:23 #1780 №2219812 
>>2219803
Да там это было для образности сказано, что типа есть такое понятие как "тип данных" в программировании (по крайней мере, с развитой системой типов, как на жаве). Если уж говорить про "на самом деле", то вообще нет никаких типов - а все есть обычный байтодроч на уровне машинных кодов. А вся система типов это просто контроль над сохренением семантики операций.
sageАноним 22/11/21 Пнд 22:43:54 #1781 №2219940 
>>2219806
Не совсем понял. Ведь таплы и out переменные такая же беда настигает. Если они расширяются, все норм. Если что-то выпиливается, то нужно все править
Аноним 22/11/21 Пнд 23:22:04 #1782 №2219970 
Сколько в день занимаетесь/можете заниматься программирование/изучением программирования?

Эффективно, имею в виду
Аноним 22/11/21 Пнд 23:23:31 #1783 №2219971 
>>2219970
8 часов с перерывом на обед.
Аноним 22/11/21 Пнд 23:40:09 #1784 №2219981 
>>2219971
Прям все 8 часов эффективно пишешь код? а в конце рабочего дня откладывваешь все что связанно скодоми отдыхаешь?
sageАноним 22/11/21 Пнд 23:54:47 #1785 №2219994 
>>2219981
4-6 часов. + всякое говно по типу обсудить что-нибудь, подкинуть идей и тд
sageАноним 22/11/21 Пнд 23:55:09 #1786 №2219996 
>>2219994 -> >>2219970
Аноним 23/11/21 Втр 00:14:34 #1787 №2220015 
>>2219758
И нахуй тебе джава?
Аноним 23/11/21 Втр 04:58:34 #1788 №2220119 
>>2220015
Не знаю. Сам задаюсь таким вопросом.
У меня синдром неполноценности. У каждого адекватного 1Сника в какой-то период его карьеры возникает такой недуг.
Ну ещё из рашки можно будет уехать, инглиш у меня норм
Аноним 23/11/21 Втр 05:00:25 #1789 №2220120 
>>2220119
> адекватного 1Сника
/0
Аноним 23/11/21 Втр 05:29:37 #1790 №2220121 
>>2219940
Таплы настигают (я так понимаю мы тут под ними подразумеваем что-то вроде параметризованного класса Tuple<T, V>), а вот out-переменные нет (ты можешь в любой момент запихнуть такую в аргументы, это никак не повлияет на output). Проблема с аутами в том, что это по сути программирование через побочные эффекты на члены класса, а это немного бесит - надо всегда учитывать, что у какой-то переменной в классе есть стейт, и он может оказаться в каком-то не том состоянии, которое ты ожидаешь.
Аноним 23/11/21 Втр 06:04:16 #1791 №2220127 
lyagushonok-pepe.jpg
>>2220120
sageАноним 23/11/21 Втр 08:45:09 #1792 №2220153 
>>2220121
Ага, понял.
Тогда, если мы потенциально будем меняться, нужно делать pojo. При добавлении полей в него все будет норм
Аноним 23/11/21 Втр 20:10:57 #1793 №2220683 
Че выбрать в качестве первого яп питон или джаву?
Аноним 23/11/21 Втр 20:16:33 #1794 №2220688 
>>2220683
По задачам.
Аноним 23/11/21 Втр 20:24:34 #1795 №2220696 
>>2220688
Зарабатывать миллион рублей и нихуя не делать
Аноним 23/11/21 Втр 20:27:32 #1796 №2220701 
>>2220696
Ты выбрал не те инструменты для таких задач.
Аноним 23/11/21 Втр 20:36:56 #1797 №2220706 
>>2220701
А ротеш твоей матери подойдет?)
Аноним 23/11/21 Втр 20:43:30 #1798 №2220709 
>>2220706
Ты мыслишь в правильном направлении.
Аноним 23/11/21 Втр 21:25:58 #1799 №2220760 
Взяли работу на джава-легаси. Первое задание.
Разобраться с одним подмодулем модуля по интеграции с соап-сервисом. Весь модуль - по сути соап-клиент + сервер для рест клиента. Подмодуль - именно соап-клиент.
И написать подобный подмодуль для другого модуля по другой доменной модели.
В модуле 200+ классов. Вызываются другие модули(во всем проекте - 30 мавен модулей в каждом около 5 подмодулей и 15к файлов). И этот модуль вызывается другими модулями.
Код на смеси старого спринга и библиотек реализующих javaee. Код написан хуево, дао, репо и контроллеры часто названы сервисами(наверно есть что и похуже, я просто пока не дошел и плохо шарю).
Документации нет.
Я вообще не знаю соап. За первый день даже не смог найти точку входа.
Кабан уже через 2 часа начал спрашивать разобрался ли я.
С чего начать?
Если меня уволят через 2-3 недели с записью в трудовой это плохо для резюме?
Аноним 23/11/21 Втр 23:37:50 #1800 №2220905 
Есть ли хоть какой-то смысл идти на работу туда, где нету спринга? Даже JEE нету, пишут про какую-то редкую поебень, но зато на ДЖАБЕ!
Аноним 23/11/21 Втр 23:41:13 #1801 №2220906 
>>2220905
Какая разница, на чём писать бизнес-логику?
Аноним 24/11/21 Срд 06:40:56 #1802 №2221003 
Почему main в Java возвращает void, а не int?
Аноним 24/11/21 Срд 06:57:18 #1803 №2221005 
>>2221003
А почему нет? Это просто конвенция. Предполагается что программист не заморачивается с возвратом кода отработки.
Аноним 24/11/21 Срд 08:41:39 #1804 №2221022 
sdfsd.jpg
Когда-то где-то натыкался на инфу, что если нужно работать с картой, как просто с последовательностью, например при переборе в цикле, то лучше идти по ее EntrySet, типа это позволяет избежать доступа по ключу, который выполняется относительно долго.
Сделал вот такой код чтоб это проверить, и вроде как результат показывает что все строго наоборот. Причем если перевернуть циклы (сначала отработать по Entry) то разница вообще становится огромной (показано на врезке внизу в консоли). Если раскомментировать вывод в консоль, чтоб исключить возможность что что-то там есть связанное с lazy-вычислениями, то разница практически отсутствует (при смене порядка вычислений, имею ввиду - во всех случаях второй проход раза в 1,5 быстрее, бОльшая часть времени уходит на вывод в консоль, там величины порядка миллиарда наносекунд)
Вопрос: это я долбоеб, который что-то делает не так, или просто инфа про то что перебор по энтри-сер быстрее - фуфло?
Аноним 24/11/21 Срд 12:58:25 #1805 №2221175 
>>2221022
>это я долбоеб, который что-то делает не так
This!

Бенчмарки так не пишутся. У тебя нет ни прогрева, ни нескольких запусков, ни грамотной работы с возвращаемым значением. Берешь Мавен, создаешь из JMH архетайпа проект, в нем пишешь бенчмарк:
- в инит методе заполняешь мапу рандомными данными
- делаешь 2 метода один тестит первый тип цикла, другой второй тип
- ебалу с вложенными мапами лучше выкинуть, ну или сделать 2 отдельных тестовых сценария
- значение которое прочитал из мапы обязательно скидываешь в черную дыру
- желательно написать параметризированный тест и проверить на разных размерах (10, 100, 1000б 1000000)

Вот примеры как правильно писать JMH бенчмарки https://github.com/openjdk/jmh/tree/master/jmh-samples/src/main/java/org/openjdk/jmh/samples
Аноним 24/11/21 Срд 13:19:25 #1806 №2221187 
>>2221003
В этом нет смысла. Возврат int был принят в Си для последующего встраивания утилит в сценарии на shell-оболочке, чтобы можно было делать вывод об успешности выполнения каждого шага. В C++ это осталось для совместимости.

Java, во-первых, изначально не предполагала написания утилит для скриптов в каких-то оболочках (это нарушало бы кроссплатформенность), нацелившись на создание полностью своей экосистемы. И по этой причине ты передаёшь класс на исполнение не оболочке, а виртуальной машине. А там принцип коммуникации построен на объектах, любая ошибка — это, как правило, исключение со стектрейсом. Код возврата JVM нахуй не упал.

Ну а во-вторых, если тебе вдруг приспичит использовать Java для задач, традиционных для Си что само по себе не очень умный выбор, но мало ли, то у тебя есть System.exit(), куда ты можешь засунуть любой код возврата, какой хочешь.
Аноним 24/11/21 Срд 13:43:59 #1807 №2221213 
Как же тошнит от спринга, хотя я еще даже не вкатился.
Аноним 24/11/21 Срд 13:51:33 #1808 №2221223 
>>2221213
Зато не будет тошнить от битрикса.
Аноним 24/11/21 Срд 13:54:55 #1809 №2221229 
>>2221175
Да это кусок реального рабочего проекта, поэтому там карта в карте, и небольшая выборка из примерно 50 энтри суммарно тоже по этой причине. Я понимаю что бенчмаркинг это довольно сложное дело, но все же по множеству запусков с перестановками выглядит так, будто энтри-сет медленнее. Данные там не рандомные, но точно разные (получины вычислениями кое-какой бизнес-логики).
Энивей, я не собираюсь вливать говно в жопу с серьезным бенчмаркингом, раз уж оказалось что это тысячи наносекунд всего, но все же спросил вдруг кто знает что-нибудь на эту конкретную тему (доступ по ключу VS энтри-сет)
Аноним 24/11/21 Срд 13:59:44 #1810 №2221238 
>>2221223
Хуитрикса.
Аноним 24/11/21 Срд 14:37:29 #1811 №2221265 
>>2221229
>по множеству запусков с перестановками выглядит так, будто энтри-сет медленнее
У тебя сайдэффекты перевешивают, все эти множество запусков.
Код написан в одном методе, а у JDK есть ограничения у JIT-а, он не всякий код из интерпретатора может заменить на скомпилированный. Метод довольно большой, почти наверняка есть ограничений на инлайнинг тупо один метод заинлайнился, а другой нет. Никак не используется возвращаемое значение - что там JIT выкинет - неизвестно.
Аноним 24/11/21 Срд 15:43:18 #1812 №2221313 
>>2221265
А какое множество то? Там уже готовая карта, я просто ее пробегаю и вывожу.
То есть ты считаешь что энтри сет быстрее работает?
Аноним 24/11/21 Срд 16:44:27 #1813 №2221343 
>>2221313
>То есть ты считаешь что энтри сет быстрее работает?
Я не знаю. Я написал бенч, сейчас закончит прогоняться узнаю.
Подозреваю, что на маленьких мапах разница будет незаметна и выигрыш будет только на больших.
Аноним 24/11/21 Срд 16:51:35 #1814 №2221348 
>>2221343
О, прикольно. Если не затруднит, покажи результат. Не то чтоб это важно, но для общих знаний.
Аноним 24/11/21 Срд 17:29:12 #1815 №2221379 
>>2219726
spring data
Аноним 24/11/21 Срд 19:29:07 #1816 №2221488 
>>2221187
Спасибо
Аноним 24/11/21 Срд 19:30:00 #1817 №2221490 
>>2221005
Потому что решения не с потолка берутся и хотелось бы понимать, в чем их смысл
Аноним 24/11/21 Срд 19:53:39 #1818 №2221505 
>>2221348
>Benchmark (mapSize) Mode Cnt Score Error Units
>MapIterate.iterate_by_key 10 avgt 25 97,182 ± 1,287 ns/op
>MapIterate.iterate_by_key_value 10 avgt 25 75,485 ± 1,246 ns/op
>MapIterate.iterate_by_value 10 avgt 25 79,858 ± 6,576 ns/op

>MapIterate.iterate_by_key 100 avgt 25 1045,236 ± 13,137 ns/op
>MapIterate.iterate_by_key_value 100 avgt 25 834,681 ± 18,286 ns/op
>MapIterate.iterate_by_value 100 avgt 25 821,635 ± 19,629 ns/op

>MapIterate.iterate_by_key 1000 avgt 25 11427,181 ± 353,521 ns/op
>MapIterate.iterate_by_key_value 1000 avgt 25 8951,105 ± 390,315 ns/op
>MapIterate.iterate_by_value 1000 avgt 25 10653,960 ± 951,261 ns/op

>MapIterate.iterate_by_key 10000 avgt 25 199055,673 ± 4000,670 ns/op
>MapIterate.iterate_by_key_value 10000 avgt 25 180748,862 ± 12711,778 ns/op
>MapIterate.iterate_by_value 10000 avgt 25 174720,827 ± 2289,144 ns/op

В середине прогона комп ушел в спячку, так что результаты для 1000 неточные. Но видно, что итерация по ключу чуть дольше, а keyvalue и value почти одно и то же.
Аноним 24/11/21 Срд 19:57:08 #1819 №2221506 
Screenshot 2021-11-24 at 17.56.29.png
>>2221505
Так читабельней
Аноним 24/11/21 Срд 21:10:43 #1820 №2221534 
>>2221379
И как это в спрингдате сделать? В репозитории сделать метод, над которым с помощью аннотации ручками написать запрос?
Аноним 24/11/21 Срд 22:39:18 #1821 №2221579 
Посоветуйте годный сайт с задачами на Stream API, чтобы много было и различной сложности, желательно на русском, если там еще и ответы есть или он проверяет твой код и говорит правильно или нет, то вообще супер. С меня как обычно
Аноним 24/11/21 Срд 22:58:43 #1822 №2221595 
>>2219726
Ну getReference же (или getOne в спрингдате)
Аноним 25/11/21 Чтв 00:15:16 #1823 №2221649 
>>2221595
Нет такого в спрингдате уже давно.
Аноним 25/11/21 Чтв 00:39:29 #1824 №2221668 
source и target версии нужны для того, чтобы писать код на одной версии языка и компилировать под другую?
Аноним 25/11/21 Чтв 05:59:37 #1825 №2221742 
>>2221505
>>2221506
бдагодарю, анон. Я правда не особо понял где из этих трех вариантов энтри сет, и какой вообще есть третий вариант проитерироваться, но как я понял разница все равно не стоящая каких-то усилий.
Аноним 25/11/21 Чтв 08:07:27 #1826 №2221761 
image
Почему при запуске junit если classpath указать в параметрах запуска java, то он не видит тесты, а если указать тот же classpath в параметрах запуска самого junit, то тесты находятся?
Аноним 25/11/21 Чтв 08:15:50 #1827 №2221762 
>>2221761
Используй мавен и не еби себе мозг.
Аноним 25/11/21 Чтв 08:26:57 #1828 №2221764 
>>2221762
Ещё можно из блокнота в ide перекатиться, из командной строки в проводник, из джавы в no-code.
Аноним 25/11/21 Чтв 08:47:46 #1829 №2221767 
>>2221764
Жабу специально под это и затачивают. Можно приводить сколько угодно разумных доводов против этого, но очень показательно, что в большинстве туториалов примеры пишут без импортов, и если не использовать иде с автоимпортом, приходится гуглить каждый класс. И хуй запомнишь эти импорты из-за всяких спрингов с десятью вложенными пакетами.
Хочется писать в консольке и блокнотом - юзай сишку или питон, там нормально сделано.
Аноним 25/11/21 Чтв 09:05:52 #1830 №2221769 
>>2221767
Я учусь, поэтому делаю всё руками, чтобы лучше понимать, как оно работает.
Аноним 25/11/21 Чтв 10:18:28 #1831 №2221834 
Принимали на спринг, хоть и устаревший. Из спринга пока вижу spring orm поверх хибера и немного спрингкора с автовайрингом бинов.
А веб на который меня посадили работает через javax.ws.rs.* аннотации. Это сильно хуево?
Аноним 25/11/21 Чтв 10:18:44 #1832 №2221835 
>>2221769
Самый тупой довод блокнотодрочеров.
Аноним 25/11/21 Чтв 10:35:17 #1833 №2221850 
>>2221835
Хуй будешь?
Аноним 25/11/21 Чтв 12:06:42 #1834 №2221900 
>>2221742
https://pastebin.com/bdEh1PYK
Аноним 25/11/21 Чтв 13:22:47 #1835 №2221945 
>>2221850
Чему ты научишься дроча джаву в консольке без сборщика, если на работе этого никто не делает?
Аноним 25/11/21 Чтв 13:30:31 #1836 №2221950 
>>2221945
Научится скачивать сотни жарников руками, когла доберётся до спрингоговна.
Аноним 25/11/21 Чтв 14:37:37 #1837 №2221998 
>>2221945
Консоли.
Нахуя нужен сборщик, если у тебя одна-две зависимости? Ты напишешь две консольные команды один раз и они будут моментально выполняться каждый раз когда тебе это нужно, а мавен мало того что срёт в стдаут бесполезными простынями текста, так ещё и замедляет повторные компиляцию-запуск, которые приходится делать постоянно.
Аноним 25/11/21 Чтв 14:42:22 #1838 №2222013 
image
рейт
Аноним 25/11/21 Чтв 14:47:16 #1839 №2222021 
>>2222013
Не надо воспринимать это как челлендж . Нормальным людям за такое должно быть стыдно.
Аноним 25/11/21 Чтв 15:40:47 #1840 №2222065 
>>2222021
Это хибернейт и спринг такие, для них мейвен оправдан. Все остальные допы(jdbc, servlet, junit, javafx итп) подключаются буквально одним джарником.
Аноним 25/11/21 Чтв 16:15:48 #1841 №2222098 
>>2222065
Понятно.
Можешь посмотреть в сторону Ant, тебе понравится. Но Ivy не используй.
Аноним 25/11/21 Чтв 18:33:35 #1842 №2222230 
>>2221900
спасибо, буду знать.
хорошо бы самому поучиться нормально делать бенчмарки
Аноним 25/11/21 Чтв 19:13:45 #1843 №2222273 
>>2222013
Классический троллинг тупостью.
Аноним 25/11/21 Чтв 20:17:20 #1844 №2222353 
>>2222013
Для вас дебилов блокнотных звездочку завезли.
Аноним 25/11/21 Чтв 22:15:08 #1845 №2222422 
>>2222013
Да это же мейкфайл!
Аноним 25/11/21 Чтв 22:22:43 #1846 №2222425 
>>2222422
Джавовский аналог мейка - ант. У него скорее build.sh
Аноним 25/11/21 Чтв 22:51:30 #1847 №2222444 
Стоит ли смотреть на mapstruct, если уже есть собственный конвертер из хуйни в хуйню?
Аноним 25/11/21 Чтв 23:25:44 #1848 №2222469 
>>2222444
ля гет
Аноним 26/11/21 Птн 05:16:39 #1849 №2222545 
На чем больше кодите: на ноутбуке или на десктопе?
Аноним 26/11/21 Птн 05:28:31 #1850 №2222548 
>>2222545
на ноуте
Аноним 26/11/21 Птн 06:56:26 #1851 №2222559 
Какие у вас проекты? Или только говнокодите на дядю
Аноним 26/11/21 Птн 07:04:36 #1852 №2222563 
Назовите мне хоть одну причину по которой я - продвинутый зумер 21 века, должен прогать на вашей жаве для пердедов?
sageАноним 26/11/21 Птн 08:05:07 #1853 №2222594 
>>2222563
Зарепортил.
Аноним 26/11/21 Птн 10:40:10 #1854 №2222646 
>>2222563
Хорошо, что таких "продвинутых" большинство. Меня так подобрали грести без вышки за юный возраст, конкуренции даже не почувствовал
зумер мидл
sageАноним 26/11/21 Птн 10:53:30 #1855 №2222650 
>>2222646
Чаю
Аноним 26/11/21 Птн 13:27:16 #1856 №2222743 
>>2222646
Ебал я столько говна учить, в джеесик куда проще и быстрее вкатиться. Буду попердывать за 150к пока ты доучивать очередную древнюю хуйню изжопы
Аноним 26/11/21 Птн 13:41:07 #1857 №2222761 
>>2222563
Детекчу в тебе свиновыблядка из нуб-треда, который там усирается как он всех крутит на хую со своим CMS-фуллстеком за 70к. Поссал на всякий случай тебе на спину.
Аноним 26/11/21 Птн 14:25:39 #1858 №2222782 
Аноны,все ли из вас начали свою карьеру на легаси ? Я вот думаю,с одной стороны это неплохая база,с другой стороны можно сразу начать хавать актуальные тенденции. Что думаете?
Аноним 26/11/21 Птн 15:58:54 #1859 №2222831 
>>2222782
В легаси нет базы. Мало технических задач, тупо пилишь бизнес-логику на существующий платформе и стагнируешь. Вот в чём-то актуальном куда легче прокачать эту самую базу.
Аноним 26/11/21 Птн 20:43:20 #1860 №2223028 
Почитал вакансии на hh и выглядит пиздецки сложно и для особенных, которые матан дрочат с детства. Или не все так хуево? Хотел вкатиться во фронт js, но подумал, что дроча будет примерно столько же, а зп в итоге в разы ниже
Аноним 26/11/21 Птн 21:06:19 #1861 №2223044 
Spring-kafka умеет автоматически подбирать concurrency исходя из количества партиций и реплик микросервиса?
Аноним 26/11/21 Птн 21:10:14 #1862 №2223046 
>>2222782
Устроился на первую работу. Там легаси, очень размашистое, плохо написанное и нет документации. И стек еще древний оказался.
Сижу, копаюсь, реверс-инжинирингую.
Не знаю, что может быть хуже.
Аноним 26/11/21 Птн 22:14:13 #1863 №2223071 
>>2222831
Я так понимаю нормальная практика,когда ты пишешь не на джаве,а на платформе? Оракловской или ибм
Аноним 26/11/21 Птн 22:50:41 #1864 №2223097 
>>2222563
Научишься grep'ать, особенно в древнем говне с кучей xml
Аноним 26/11/21 Птн 23:50:04 #1865 №2223121 
>>2223071
Не, пишешь ты на обычной джаве. Просто в проекте будет уже столько абстракций, что практически вся техническая часть будет скрыта за готовыми обёртками, будто бизнес-фреймворк, для всего будут готовые сервисы, даже спринговве аннотации могут быть переопределены по той или иной причине. Ты знаешь, как этим пользоваться, но не знаешь, как оно работают и взаимодействуют со спрингом, всё уже придумано за тебя. Не чувствуешь экосистемы, да и не гуглишь ничего, тупо смотришь внутреннюю документацию. Можно было бы писать на любом другом языке и не заметить разницы, разве что синтаксис другой.
Аноним 27/11/21 Суб 00:14:10 #1866 №2223131 
>>2223046
Ай ной дат фил, бро.
Спустя пару недель уже вешаюсь и подумываю перекатиться в машоб или каки-нибудь алгоритмы. Уже даже скачал книжку по пайтону.
Аноним 27/11/21 Суб 00:19:45 #1867 №2223135 
>>2222782
Начал на проекте с микросервисами, монгой, кубернетисом, кафкой, так тут и сижу
Аноним 27/11/21 Суб 00:21:29 #1868 №2223137 
>>2223046
>>2223131
Не пробовали сменить место работы?
Аноним 27/11/21 Суб 00:30:26 #1869 №2223139 
>>2223131
>перекатиться в машоб
унылое дрочево параметров моделей

>>2223131
>каки-нибудь алгоритмы
алгоритмы чего? алгоритмы очень мало где применяются

а вообще вся разработка сейчас ебаное говно ебаного говна, индустрии нужны крудошлепы в больших количествах, интересных технических задач хуй да нихуя.
Аноним 27/11/21 Суб 00:39:41 #1870 №2223143 
На джаве есть проекты с микросервисами? Со всякими докерами-хуекерами, спрингбутом или до сих большинство пердолится с java ee и аппликейшон серверами вроде glassfish/jboss/wildfly?
Аноним 27/11/21 Суб 00:47:25 #1871 №2223146 
>>2223143
Да, все новые проекты на буте и докерах-хуёкерах. Старые проекты по мере возможности тоже распиливают на микросервиы.
Аноним 27/11/21 Суб 00:55:38 #1872 №2223148 
>>2200385
>Мне интересно делать красявые графические приложения
Так возьми Qt или Electron. Сейчас ГУИ на жабе уже давным давно мертв, свинг остался только в самом махровом легаси времени java 1.4, про которое уже мало кто вспомнит и JetBrains IDE, а javafx в принципе оказалась никому не нужна. Правда в джетбрейнсе решили сделать свой фреймвор jb-compose, посмотрим что из этого выйдет, но скорее всего ничего хорошего.
Шарп может и хорош для ГУИ на винде, винформочки и впф сделаны неплохо, но вне винды они никак не используются, а MAUI не поддерживает линухи.

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

Аноним 27/11/21 Суб 00:57:31 #1873 №2223149 
>>2200274
>QTranslate is a free translator for Windows
>Windows
Я думал джависты исключительно под linux/mac os сидят.
Аноним 27/11/21 Суб 01:00:25 #1874 №2223151 
>>2200229
Скала нахуй не нужна очевидно, хоть задумка и интересная была, но в последние 2-3 года желающих писать на скале все меньше становилось, в РФ наверное только в вертикалях яндекса и тинькоффе она еще попердывает, но в остальных местах ее либо на жабу заменили, либо на котлин.
Аноним 27/11/21 Суб 01:05:55 #1875 №2223154 
>>2223146
А сколько их, новых проектов? Ну вот если я пойду в условное МЯСО/ритейл вроде Х5/утконоса (и что там еще из продуктовых компаний есть в РФ?), или всякие говногалеры по типу нетсракера, ебама, лохософта, ланита, крока, я с большей вероятностью попаду на Java EE 6/Glassfish и говнокопролиты, либо же на няшные микросервисы ну или на нормальный монолит, который потихоньку пилят на микросервисы и переводят на новые технологии?
Аноним 27/11/21 Суб 01:16:45 #1876 №2223159 
>>2223151
А какие годные языки тогда остаются?
На чём бы вы предпочли пердолить код, если бы ЗП всем платили бы одинаковую?
Аноним 27/11/21 Суб 01:29:28 #1877 №2223164 
>>2223159
https://urbit.org/docs/hoon/overview
Аноним 27/11/21 Суб 06:36:00 #1878 №2223191 
>>2223121
А если проект настолько старый,что работает на чистой жабе? У Райфайзен банка я знаю есть такие системы
Аноним 27/11/21 Суб 10:30:22 #1879 №2223227 
>>2223137
Пока первая неделя прошла. Думаю месяца через три начну искать. Месяцев через 8 уйду, даже если не найду ничего.
А может меня сам директор этой хуйни выгонит через 2 месяца, если я не начну шарашить новый функционал на этом же говне. Ведь там копать - не перекопать.
Просто это первая работа и на другие места даже на собесы не звали. И меня предупредили, что легаси. Но я не думал, что все настолько плохо.
Аноним 27/11/21 Суб 11:59:23 #1880 №2223261 
Реквестирую учебники/мурзилки по jax-ws и jax-rs. На баелдунге как-то недостаточно.
Аноним 27/11/21 Суб 13:02:58 #1881 №2223321 
>>2223159
>На чём бы вы предпочли пердолить код, если бы ЗП всем платили бы одинаковую?

Да похуй на чем, нужно смотреть по задачам. Конечно в маняфантазиях я пишу ЙОБЫ от компиляторов до геометрических движков всяких CAD/CAM, от систем анализа трафика в realtime до распределенного отказоустойчивого хуйлоада, но в действительности мы все понимаем, кто есть кто.
Аноним 27/11/21 Суб 13:29:42 #1882 №2223350 
Как быстро менять версию java в classpath? Мне админ сказал есть какая-то хрень, причем есть и на винде и на линуксе, но используется часто на линуксе. Но я забыл, как называется. Метки или как-то так.
Аноним 27/11/21 Суб 13:32:41 #1883 №2223356 
>>2223350
https://habr.com/ru/company/otus/blog/507908/
Аноним 27/11/21 Суб 13:50:29 #1884 №2223370 
>>2223154
1. Не всегда монолит хуже микросервисов. Нормальный не легаси монолит может быть даже проще в разработке, чем когда тебе надо последовательно сделать изменения в 10 микросервисах. А уж синхронизация состояний в 10 базах, это отдельное удовольствие.
2. Как правило в аутсорсерах проще сменить проект если не нравиться.
Аноним 27/11/21 Суб 13:51:23 #1885 №2223372 
>>2223356
Про sdkman слышал от ютуберов, но это нужно все sdk через него ставить. А админ говорил про какую-то хрень для работы с уже установленными по обычному sdk.
Аноним 27/11/21 Суб 13:54:53 #1886 №2223376 
>>2223372
>Несмотря на то что SDKMAN! удобен для установки JDK, но он не помогает при автоматическом переключении между разными JDK при переходе от одного проекта к другому. Здесь нам поможет jEnv.
>После того как вы установите несколько JDK, с помощью SDKMAN! или любыми другими способами, вам нужно будет добавить их в jEnv:
Аноним 27/11/21 Суб 13:56:20 #1887 №2223380 
>>2223370
зачем делать 10 баз на микросервисах?
Аноним 27/11/21 Суб 13:56:57 #1888 №2223384 
>>2223372
Ну хуй знает, может просто JAVA_HOME=... java ...?
Аноним 27/11/21 Суб 13:58:40 #1889 №2223390 
>>2223376
>или любыми другими способами
проебал этот кусок текста, спасибо.
Аноним 27/11/21 Суб 14:46:20 #1890 №2223420 
>>2223384
В итоге на винде дома закинул два батника в корень диска c. Раньше через гуй винды переключал это говно.
Аноним 27/11/21 Суб 14:52:34 #1891 №2223425 
>>2223420
лошара блять)))
sageАноним 27/11/21 Суб 15:01:10 #1892 №2223439 
>>2223380
Масштабируемость и отказоустойчивость
Аноним 27/11/21 Суб 15:46:07 #1893 №2223470 
>>2163515
Да
Аноним 27/11/21 Суб 16:12:21 #1894 №2223502 
>>2223470
пизда
Аноним 27/11/21 Суб 17:30:06 #1895 №2223576 
Здравствуйте, пирожочки! По каким лучше книгам/ресурсам изучать Spring/Spring Boot? Я закончил с Java Core и теперь есть огромное желание перейти и углубиться в Spring.
Подойдет ли книга Spring Boot 2. Лучшие практики для профессионалов? До этого смотрел на ютубе курс по Spring от Наиля Алишева и делал Rest Api CRUD сервис магазина домашних животных, который создавал объекты в бд, обновлял их, удалял и получал объекты из БД
Аноним 27/11/21 Суб 17:30:28 #1896 №2223577 
Здравствуйте, пирожочки! По каким лучше книгам/ресурсам изучать Spring/Spring Boot? Я закончил с Java Core и теперь есть огромное желание перейти и углубиться в Spring.
Подойдет ли книга Spring Boot 2. Лучшие практики для профессионалов? До этого смотрел на ютубе курс по Spring от Наиля Алишева и делал Rest Api CRUD сервис магазина домашних животных, который создавал объекты в бд, обновлял их, удалял и получал объекты из БД
Аноним 28/11/21 Вск 05:10:39 #1897 №2223971 
>>2223577
Я тебя изнасилую
Аноним 28/11/21 Вск 07:33:47 #1898 №2223992 
Java подойдет в качестве первого яп?
Даже если на работку в итоге не возьмут - я начну больше шарить в программировании в целом?
Сейчас абсолютный ноль
Аноним 28/11/21 Вск 08:39:36 #1899 №2223996 
>>2223992
Подойдет. У меня так и было.
Аноним 28/11/21 Вск 08:41:21 #1900 №2223997 
>>2223996
Щас сениор 300кк в наносекунду, надеюсь?
Аноним 28/11/21 Вск 08:45:31 #1901 №2223998 
>>2223997
не, просто прогаю на раб-оте по мелочи. но я недавно вкатился. в чем твой вопрос вообще? для вката подойдет любой ЯП, особенно массовый (то есть всякие брейнфаки и ассемблеры лучше не выбирать). Особенно если ты не будешь в нем замыкаться и почаще будешь интересоваться как то же самое делается в других ЯП, и вообще почему их так много и чем они разные.
Аноним 28/11/21 Вск 14:01:24 #1902 №2224174 
>>2223997
Милорд 500ккк в пикосекунду.
Аноним 28/11/21 Вск 15:34:17 #1903 №2224280 
>>2223992
Да, в джаве всё для обучения ООП есть.
Аноним 28/11/21 Вск 16:12:53 #1904 №2224322 
>>2223380
У каждого микросервиса есть свои данные которые надо как-то хранить.

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

И каждый пук в этой цепочке сопровождается изменениями в базе и надо это все делать надежным способом. Что делать если сделали 3 попытки послать запрос, но сервис по прежнему не доступен? Приходится либо в локальную базу записывать какой-то флаг и потом по расписанию пытаться послать этот запрос. Или слать нахер этот REST и переводить все на очереди, тогда у тебя возникает куча состояний, типа запрос на бронирование товара отправлен, запрос на бронирование товара подтвержден/отклонен и вопросов что делать на UI, что показывать покупателю.

А в монолите все просто: Ein Service - ein Datenbank - ein Transaktion.
Аноним 28/11/21 Вск 16:58:35 #1905 №2224388 
>>2224280
Но ооп нигде в том объеме, как в джаве и шарпе не нужно.
Аноним 28/11/21 Вск 17:03:30 #1906 №2224399 
>>2224280
он тебе про фому, ты ему про ерёму. с каких пор ооп стало синонимом программирования?
Аноним 28/11/21 Вск 17:14:26 #1907 №2224421 
>>2224322
Чел ты так увлекся кейсом со смазкой, что так и не объяснил зачем 10, кроме одной основной базы. Почему данные микросервисы не могут хранить в основной? Дорого и долго?
А вот этот кейс про сохранение данных каждого микросервиса, несмотря на недоступность полного функционала всей приложухи он прямо такой популярный? Почему бы не хранить в инмемори базе, а потом все что не смогли отправить в основную базу через короткое время удалять?
Аноним 28/11/21 Вск 18:00:09 #1908 №2224490 
>>2224421
>Почему данные микросервисы не могут хранить в основной? Дорого и долго?
Потому что тогда теряется смысл микросервисов. Смысл микросервиса - это когда ты прячешь информацию о внутреннем состоянии за API, никто за пределами микросервиса не знает что там у тебя за база и как она устроена может там вообще нет ничего и микросервис ходит за данными в другие микросервисы. Это нужно для того, чтобы можно было спокойно менять внутренне устройство без изменения API. Раньше у тебя один сервис рассылал СМС и емайлы, а теперь ты их разделил и добавил голосовые звонки, но API остался прежний.

2 главных смысла использования единой базы это: контроль целостности на уровне базы foreign/unique key и прочее и возможность делать изменения в одной транзакции создаем заказ, бронируем складские остатки, создаем задание на сборку заказа.
Аноним 28/11/21 Вск 18:47:12 #1909 №2224583 
Как правильно дебажить спринговый код? В смысле di-код. Я иду по вызовам методов а он вместо нужного класса идет в миллион спринговых оберток.
Нужно для понимания работы говнокода без документации.
Аноним 28/11/21 Вск 19:35:21 #1910 №2224621 
Тред всё ещё открывается быстрее, чем инпут лаг в идее.
Аноним 28/11/21 Вск 19:36:03 #1911 №2224622 
>>2224399
С момента появления.
Аноним 28/11/21 Вск 19:38:55 #1912 №2224625 
>>2224399
ООП - ОО программирование. И, учитывая, что при разговоре о программировании в 95% случаях имеется ОО программирование - это синонимы.
Аноним 28/11/21 Вск 19:58:37 #1913 №2224642 
>>2224625
Последние 5 лет чаще всего под программированием чаще всего подразумевается верстка штмля джаваскриптом, где с ооп все оче не оче.
Аноним 29/11/21 Пнд 00:40:17 #1914 №2224850 
О, вы решили до 2000 постов сидеть. Неужели так много залетных?
Аноним 29/11/21 Пнд 00:56:17 #1915 №2224854 
>>2224850
Только сегодня высралась очередная шарпоблядь, её уже потёрли. Но это хуйня по сравнению с ежедневной клоунадой до 500 постоа. Можно вообще не перекатывать, пока не будет самым последним тредом, а после переката всем писать с сажей.
Аноним 29/11/21 Пнд 02:05:08 #1916 №2224870 
Заебало курьерить, а вышку получать долго и хуй знает че там потом меня ждет.
Можно ли вкатиться в зарплатку 100+к через 2 года?
Аноним 29/11/21 Пнд 02:21:58 #1917 №2224875 
Бля, на джаве удаленки нет?
Лол блять, нахуй надо тогда
Аноним 29/11/21 Пнд 05:33:48 #1918 №2224895 
>>2224622
>>2224625
>пук
надеюсь вы троллите
Аноним 29/11/21 Пнд 09:38:55 #1919 №2224920 
>>2224875
Еще и телефоны на проходной отбирают безопасники, мемчики не полистаешь на работе!
Аноним 29/11/21 Пнд 10:03:26 #1920 №2224925 
Хорошо ли при написании тестов использовать генераторы случайных чисел, создаваемые в рантайме строки и тому подобный динамический контент?
Или же тесты надо писать так, чтобы при взгляде на них было ясно видно, что передаётся в тестируемый метод, что должно вернуться и почему?
Аноним 29/11/21 Пнд 10:55:17 #1921 №2224956 
>>2224925
Очень хуёво, тесты должны быть детерминированными. Если ты и юзаешь рандомные данные, то должен их сгенерировать и захардкодить заранее.
Аноним 29/11/21 Пнд 11:50:59 #1922 №2225009 
Посоветуйте туториалы по тестированию рест хуйни на буте. Везде какая-то шляпа
Аноним 29/11/21 Пнд 12:29:04 #1923 №2225031 
Soap я вообще не знаю, если чё
А тут короче soap клиент нужно сделать. Через jax-ws, реализация cxf. Я нихуя вообще не понимаю.
Как делать не сказали. Сказали вот код без документации, там есть другая интеграция по soap. Есть спецификация от разработчика сервиса на 180 страниц, 3/4 из которой разные xml внутри вордрвского файла.
Читаю спецификацию для интеграции к сервису и нихуя не понимаю. Там пиздец, электронные подписи, асинхронность.
Смотрю другой клиент-интеграцию для примера, а там тысяча классов. Все разнесено на 10 подмодулей и не очень ясно, как взаимодействует. Какие то классы генерированные, какие то. Как генерировать тоже не совсем понятно, cxf модулем, но как хз. Из доки cxf ничего не понятно. Ещё там откуда-то из какого то сервиса идёт шифровка и дешифровка сообщений.
Я неделю потратил чтобы это узнать.
Чё делать?
Аноним 29/11/21 Пнд 13:43:35 #1924 №2225113 
Screenshot 2021-11-29 at 11.43.04.png
>>2224583
Аноним 29/11/21 Пнд 13:48:07 #1925 №2225117 
Насколько я понимаю Prepared Statement в JDBC, это такая фича которая позволяет вставлять вместо симпола-джокера (?) любое значение именно переменной.
Насколько я понимаю, таким способом нельзя вставить что-то в "синтаксическую часть" запроса, например имя таблицы, атрибута или подобное? "SELECT FROM ? WHERE ? = ? " Есть ли какой-то безопасный способ такое делать?
Аноним 29/11/21 Пнд 13:51:18 #1926 №2225121 
>>2224925
>Хорошо ли при написании тестов использовать генераторы случайных чисел, создаваемые в рантайме строки и тому подобный динамический контент?
Можнл, если не забывать граничные случаи. Т.е. у тебя есть тест с нулем, отрицательным и положительным значением, а потом тест десяти рандомных чисел. Ну и конечно не забыть записать что за случайные значение были, чтобы можно было воспроизвести.
Но обычно такие тесты нужны, чтобы протестировать какой-то хитрый алгоритм, на предмет хитрых багов типа: не работает с числами которые одновременно делятся на 3, 5, 13. Если у тебя просто бизнеслогика взять число и записать его в базу - то нафиг не надо.
Аноним 29/11/21 Пнд 13:55:55 #1927 №2225125 
>>2225117
>Есть ли какой-то безопасный способ такое делать?
Нет. Смысл Prepared Statement именно в том, чтобы никак нельзя было изменить изменить само выражение.

Если тебе надо делай 2 PS одно с одним условием, другой с другим.
Аноним 29/11/21 Пнд 18:57:53 #1928 №2225390 
>>2225031
>Чё делать?
Размещать резюме на хх.
Аноним 29/11/21 Пнд 19:02:12 #1929 №2225395 
>>2224925
Хорошо (и необходимо) для property based testing. В остальных случаях - сомнительно.
Аноним 29/11/21 Пнд 19:35:35 #1930 №2225427 
https://youtu.be/ow5kdhDa_pk
Аноним 29/11/21 Пнд 19:45:25 #1931 №2225436 
>>2225427
Надеюсь, написано оно на электроне, требует next-generation железа, которое можно купить только за next-generation зарплату?
sageАноним 29/11/21 Пнд 19:46:10 #1932 №2225437 
>>2225427
А что с плагинами и колорсхемами?
Аноним 29/11/21 Пнд 20:05:28 #1933 №2225447 
>>2225427
Нативное приложение, вдруг реально на котлиняше запилили? Я не хочу работать в индустрии где все восхищенно хавают трешняк типа го, а про котлин за пределами андроида даже молодые разрабы не говорят
Аноним 29/11/21 Пнд 20:48:56 #1934 №2225487 
>>2225447
Пишут что юзают котлин. Может даже на композе морду захуярили. Пока мало инфы, даже хз как это распространяться будет.
Аноним 29/11/21 Пнд 21:35:17 #1935 №2225510 
>>2225427
Ебать чел тупой, не может сам тест пофиксить.
Аноним 30/11/21 Втр 07:42:51 #1936 №2225714 
>>2225427
Переизобретение вс кода?
Аноним 30/11/21 Втр 07:42:57 #1937 №2225715 
>>2224854
>шарпоблядь
Но я ни одной строчки кода не написал на шарпе.
Аноним 30/11/21 Втр 07:52:52 #1938 №2225719 
А что не так с шарпом? Я джавоблядь по работе, но тоже считаю что шарп нагибает джаву практически по всем параметрам как язык. Это что, типа нельзя тут говорить и за это меня забанят?
Аноним 30/11/21 Втр 07:59:14 #1939 №2225722 
>>2225719
Аргументировано - можно. Но тред тонет в низкопробной клоунаде без аргументов и контекста.
sageАноним 30/11/21 Втр 07:59:55 #1940 №2225723 
>>2225719
Тред сука про жабу, а не про шарп и другие языки.
Аноним 30/11/21 Втр 08:01:29 #1941 №2225724 
>>2225723
С такой логикой из треда всё пойдёт нахуй, кроме консольных кофемашин. Потому что тред про джаву, а не базы данных, веб-протоколы и прочее.
Аноним 30/11/21 Втр 08:05:59 #1942 №2225725 
А кстати, что за история с этими кофемашинами? Какие есть реальные примеры бытовой техники, которые работают на джава, или пример тул-кита который можно купить и что-то на нем разработать на джава?
Прост мне кажется это какой-то ебанизм же, в эту железяку должен быть встроен какой-то рантайм, что само по себе лютый проеб памяти и хардваре-ресурсов. Сколько чего видел или делал сам - это все прогается на плюсах в нативный код, и работает без всяких там осей и виртуальных машин.
Аноним 30/11/21 Втр 08:08:27 #1943 №2225726 
>>2225724
Я смотрю, ты тоже любишь крайности, как тот анон с вопросами про докер. Обсуждение, как подключаться к постгресу из спринга и как в жабе юзвть вебсокеты имеют прямое отношение к сабжу. Вскукареки, что на шарпе овердохуялион вакансий, а жаба это кобол кобол кобол - тупой шитпост, и здесь ему не место, даже если бы это было правдой.
Аноним 30/11/21 Втр 08:18:07 #1944 №2225727 
Как подлючиться к соапу через cxf асинхронно по activemq?
Аноним 30/11/21 Втр 08:18:58 #1945 №2225728 
>>2225725
Насколько я понимаю, это реликт с времён, когда каждое устройство было на своей ОС и со своим набором команд. Типа намного легче было ораклу написать виртуальную машину под устройство, чем осваивать ньюансы C++ под каждый телефон, если речь про разработку игры на мобильный.
Сейчас всё унифицированно и такой нужды нет.
мимо ньюфаг
Аноним 30/11/21 Втр 08:30:13 #1946 №2225731 
>>2225728
Что-то я очень сомневаюсь что когда-то вообще существовали тостеры, стиралки и кофемашины с собственными осями. Опять же, ОС не обязательно нужна чтоб поддерживать JVM на борту. ОС это по сути просто диспетчер пользовательских приложений. Например у меня старинная нокия умела в игрушки на джава, хотя это не был смарт, и ничего кроме прошивки в нем не было.
>написать виртуальную машину под устройство, чем осваивать ньюансы C++ под каждый телефон
А то что жвм все равно надо каким-то способом прикручивать к аппаратной части в каждом телефоне, ты видимо не подумал, да?
По-моему весь этот концепт - просто типа такой трюк, который типа возможен, но нахуй никому не нужен. То есть действительно, имея кофе-машину на JVM со средствами ввода программ и их запуска, программист джава сможет написать для нее игру на дисплее, которая будет брать инпут от кнопок управления,.. но зачем? Ведь в 99,9% случаев все будут пользоваться заводской прошивкой, которую гораздо естественнее наговнокодить на плюсах, вкомпилировать в контроллер и порядочек.
Аноним 30/11/21 Втр 08:35:35 #1947 №2225732 
>>2225714
Убийство вс кода
Аноним 30/11/21 Втр 08:44:13 #1948 №2225734 
1603215899700.png
Какие есть варианты тестировать рест апи от рандомного сервиса в интернете?
Дёргать публичные гет это без проблем, а вот пост/пут это уже внесение изменений на сервере. Как можно это делать безопасно? Регать другой акаунт для этого не вариант.
sageАноним 30/11/21 Втр 09:07:29 #1949 №2225740 
>>2225734
Никак. Может быть, делать пост/делит, но все равно изменится какая-нибудь статистика
Аноним 30/11/21 Втр 09:43:20 #1950 №2225757 
>>2225725
Каждый телефон в мире.
Аноним 30/11/21 Втр 09:46:15 #1951 №2225760 
>>2225757
3 миллиарда устройств?
Аноним 30/11/21 Втр 10:41:49 #1952 №2225795 
>>2225757
телефон это как бы вообще не то же самое что кофеварки/стиралки/тостеры/пылесосы, не?
Аноним 30/11/21 Втр 11:19:27 #1953 №2225841 
https://habr.com/ru/company/timeweb/blog/592017/

Как же жавоблядей приложили...
sageАноним 30/11/21 Втр 11:39:06 #1954 №2225855 
>>2225841
> Использовать асинхронные запросы в жс и форк джойн в джава
Как всегда объективно
Аноним 30/11/21 Втр 12:11:20 #1955 №2225882 
Посоветуйте туториалов по тестированию рест апи в буте пж
Аноним 30/11/21 Втр 13:07:13 #1956 №2225923 
>>2223044
Бамп
Аноним 30/11/21 Втр 13:07:53 #1957 №2225924 
>>2225795
1. В чем принципиальная разница?
2. Я про сим карты.
Аноним 30/11/21 Втр 13:21:04 #1958 №2225932 
>>2225795
Кнопочные телефоны, которые были распространены в нулевые, вполне похожи на кофеварки и стиралки тем, что тогда каждый производитель пилил свое железо и свою мини-ОС для своих телефонов. Это сейчас либо андроид, либо iOS и все работает на ARM, а тогда был такой зоопарк, в котором хуй разберешься. Теперь, понятное дело, все унифицировалось, что в телефонах, что во встраиваемой технике по большей части, так просто гораздо быстрее и дешевле вести разработку и проще нанимать новых людей к себе в компанию.
Аноним 30/11/21 Втр 13:33:39 #1959 №2225946 
>>2225719
Ну шарп как язык явно неплох, наверное один из самых наполненных разными фичами и годных по дизайну. Жаба в этом плане отсталая.
Другое дело - экосистема. ИМХО, для жабы больше всяких либ и фреймворков для бекенда написано от разных вендоров, а не только от MS, как в случае с шарпом.
Аноним 30/11/21 Втр 13:48:30 #1960 №2225959 
>>2225946
Удачи затащить на прод quarkus/micronaut, спринг по факту единственный фреймворк (rip java ee)
Аноним 30/11/21 Втр 13:59:25 #1961 №2225963 
>>2225959
В большинстве мест спринг основной фреймворк, и будет им оставаться еще очень долго, но работу в РФ на quarkus/micronaut/helidon/guice/vert.x можно уже сейчас найти, хоть ее и очень мало, к сожалению.
Аноним 30/11/21 Втр 14:49:10 #1962 №2225977 
>>2225963
Увидеть бы лица тех, кто предпочитает это васянство и костыли вместо божественного ktor.
Аноним 30/11/21 Втр 16:19:17 #1963 №2226053 
Как вы считаете, вот если мне сказали, что на этом проекте спринг. А из спринга там только dependency injection, да и на него иногда забивают и пользуются статическими методами.
Меня обманули?
Аноним 30/11/21 Втр 16:29:50 #1964 №2226059 
>>2226053
Потому что приходишь ты не на стек, а на предметную область. Конечно же, это у всех так, что читаешь талмуды типа pro spring, а потом из всего спринга юзаешь пять аннотаций.
Аноним 30/11/21 Втр 17:08:12 #1965 №2226080 
Сложно ли освоить Кайфку и начать ее применять хотя бы в простых проектах на джаве?
Сколько времени нужно для освоения, примерно?
Аноним 30/11/21 Втр 17:10:15 #1966 №2226082 
>>2226080
Минут 30.
Аноним 30/11/21 Втр 17:11:16 #1967 №2226083 
>>2226082
Чет я уже не уложился(
Аноним 30/11/21 Втр 20:03:17 #1968 №2226197 
>>2226059
Да нихуя, там например все по обычному, но просто без спринга во многих местах. Спринг даты нет, но есть хибер. Для реста вместо spring mvc - jax rs. И куча таких моментов, где спринг бы заебись смотрелся, даже в те времена, когда проект начинали.
Мне сказали могу пользовать спринг, если уж очень хочу. Но для единообразия лучше не стоит.
Аноним 30/11/21 Втр 22:43:21 #1969 №2226349 
решил подрочить литкод, и тут такая хуйня
https://leetcode.com/problems/maximal-rectangle/submissions/
мое недорешение:
https://pastebin.com/Fs4vti80
прикол в том что, при подаче массива {{1},{0}} на литкоде возвращается 0, а в идее 1.
Как такое может быть? Это оптимизация? или версии жаб различаются у меня 16?
Аноним 30/11/21 Втр 22:48:00 #1970 №2226352 
>>2226349
вот сразу с гавнотестом
https://pastebin.com/j24ybYZk
Аноним 30/11/21 Втр 23:45:00 #1971 №2226401 
Сениоры, нужна помощь.
Есть один parent, внутри которого лежит чекстайл.хмл файлик. Как мне в дочернем мавен-проекте указать в плагине путь к этому файлу? И возможно ли это? Нагуглил что можно обращаться к пропертям парента через ${project.parent.property-name}, но либо у меня руки из жопы, либо эта хуйня не рабочая
Аноним 30/11/21 Втр 23:58:51 #1972 №2226412 
>>2226401
../checkstyle.xml
Аноним 01/12/21 Срд 00:02:35 #1973 №2226417 
>>2226412
Структура у проекта не такая, парент находится не выше и не рядом, а где-то там в артифактори
Аноним 01/12/21 Срд 00:07:34 #1974 №2226423 
>>2226417
А в паренте чекстайл плагин настроен? Тогда он автоматически и к чилдам будет применятся.
Аноним 01/12/21 Срд 00:29:34 #1975 №2226443 
image.png
>>2226423
Настроен вот таким образом. Но нихуя не применяется
Аноним 01/12/21 Срд 02:16:01 #1976 №2226473 
>>2226401
Так как я хотел сделать не получилось, но получилось по гайду создав отдельный проект для чекстайла

https://codeburst.io/how-to-centralize-your-checkstyle-configuration-with-maven-7575eacd7295
Аноним 01/12/21 Срд 07:55:55 #1977 №2226503 
1486068302667.png
>>2225447
Написан на современном стеке - будущем стандарте индустрии. жс макакеры со своим вскодом нервно плачут от зависти.
Аноним 01/12/21 Срд 08:05:01 #1978 №2226505 
>>2225734
Мокать ответы фейковыми данными, которые в точности как реальные ответы от сервиса. Но может выйти что мок работает, а валидация на сервисе провалена по воле Аллаха. По сути нужно в полуслепую переписать рест реализацию этого сервиса и надеяться что он работает именно так.
Аноним 01/12/21 Срд 08:15:51 #1979 №2226508 
Читаю про тестирование, пишут что оно нужно, чтобы убедиться, что программа делает то, что должна делать, и не делает того, что не должна делать.
Если мой калькулятор без видимых на то причин создаёт папку с:\говно\моча, то тестом найти её практически невозможно, и невозможно убедиться, что калькулятор\класс\метод не делает того, что он не должен делать.
Это вызвало вопрос - почему нет способа запуска\объявления программы, которая по определению неспособна к произвольному изменению данных на жестком диске, обращениям по сети итп?
Если я в джаве создаю объект и вызываю у него метод, то он при всём желании не сможет прочитать/изменить переменные, которыми я пользовался, но ему не передавал. А запуск приложения на пк - это всегда раздвинуть булки и надеяться, что ничего плохого не произойдёт.
Хотя на мобильных устройствах с инкапсуляцией гораздо лучше. Это потому, что платформа - молодая, а пеки сотканы из легаси-говна?
Вообще, можно ли запустить екзешник так, чтобы отображались все его попытки записи на жесткий диск?
Аноним 01/12/21 Срд 08:28:28 #1980 №2226510 
>>2222646
В чём заключалось твоё превосходство перед бумерами-коллегами, в чём они были хуже?
Аноним 01/12/21 Срд 09:29:59 #1981 №2226526 
>>2226508
chroot,
Аноним 01/12/21 Срд 12:30:52 #1982 №2226597 
>>2226526
choort szi est'
Аноним 01/12/21 Срд 13:59:06 #1983 №2226669 
Можно использовать виндовс для шлепания крудов Spring + Postgresql или обязательно линукс ставить?
Аноним 01/12/21 Срд 14:02:47 #1984 №2226671 
>>2226669
У половины преподов в курсах по спрингу стоит винда. У меня проблемы были только с редисом. Но можно использовать докер/всл.
Аноним 01/12/21 Срд 14:04:33 #1985 №2226674 
>>2201166
>ошибка в дизайне языка
нихуясебе у нас дизайнер языка в треде
жаба пережила 17 версий и исключения ни разу толком не трунули - это как раз говорит о том что это одна из самых важных фич
Аноним 01/12/21 Срд 14:07:00 #1986 №2226676 
>>2226508
>и не делает того, что не должна делать.
А вот это не совсем правда, иногда бывают явно оговоренные вещи которые программа делать не должна, но обычно тестируют именно то, что программа должна делать. Проверить все случаи "не должна" невозможно.

>Это вызвало вопрос - почему нет способа запуска\объявления программы, которая по определению неспособна к произвольному изменению данных на жестком диске, обращениям по сети итп?
Есть SecurityManager https://docs.oracle.com/javase/8/docs/api/java/lang/SecurityManager.html который умеет это контролировать, но его скоро выпилят к хуям https://openjdk.java.net/jeps/411
Более современное решение это Docker, он не запрещает ничего, но за его пределы можно выбраться только если явно разрешить это.
Аноним 01/12/21 Срд 14:09:29 #1987 №2226681 
>>2203325
скан классов скорей всего не срабатывает, сделай конструктор бина контроллера и проверь в дебаге что он вызывается
Аноним 01/12/21 Срд 14:16:07 #1988 №2226686 
>>2209304
@RequestBody String[] words
Аноним 01/12/21 Срд 14:24:20 #1989 №2226697 
>>2226669
Вообще никаких проблем. Даже если у тебя оракл вместо постгреса.
Аноним 01/12/21 Срд 14:28:42 #1990 №2226700 
>>2225841
такой тупорылой статьи я давно не читал
Аноним 01/12/21 Срд 14:33:23 #1991 №2226705 
Почему мне вобычном консольном проекте пишет, что я не могу использовать аннотации? У меня ручное копирование массива, которое мне надо оставить, я хочу подавить этот ворнинг, но не могу.
sageАноним 01/12/21 Срд 15:27:38 #1992 №2226740 
>>2226674
Проиграл
Аноним 01/12/21 Срд 15:36:37 #1993 №2226746 
>>2226674
Жаба вообще не особо развивается.
Аноним 01/12/21 Срд 15:41:08 #1994 №2226750 
>>2226746
почему тогда регулярно выходят новые версии, в том числе с весьма весомыми новшествами?
Аноним 01/12/21 Срд 15:42:03 #1995 №2226751 
>>2226750
Ты с шарпом перепутал.
Аноним 01/12/21 Срд 15:49:36 #1996 №2226760 
>>2226705
>Почему мне вобычном консольном проекте пишет, что я не могу использовать аннотации?
А текст ошибки скопировать не судьба? Но вангую что ты не в том месте лепишь аннотацию, @SuppressWarnings можно ставить на класс, поле, метод и объявление локальной переменной объявление и присваивание должно быть в одной строке.
Аноним 01/12/21 Срд 16:12:51 #1997 №2226780 
>>2226751
>>2226746
шарпоблядь, ты?
Аноним 01/12/21 Срд 16:18:25 #1998 №2226785 
>>2226674
Чел, обратная совместимость если бы убирали фичи джаву бы уже закопали
Аноним 01/12/21 Срд 16:19:44 #1999 №2226789 
>>2226750
Рынок использует восьмерку
Аноним 01/12/21 Срд 16:47:29 #2000 №2226818 
sw.png
>>2226760
Текст ошибки буквально Annotations are not allowed here, как и написано в первом сообщении. Сам ворнинг, как и написано, Manual array copy.
Аноним 01/12/21 Срд 16:55:16 #2001 №2226823 
>>2226818
проиграл с этого погромизда
Аноним 01/12/21 Срд 17:01:43 #2002 №2226830 
спринг прогомизда, извольте
Аноним 01/12/21 Срд 17:09:16 #2003 №2226836 
>>2226818
>Текст ошибки буквально Annotations are not allowed here, как и написано в первом сообщении.
Нет, дебилушка, текст ошибки аннотация не разрешена тут, а у тебя написано
>пишет, что я не могу использовать аннотации
Если ты не понимаешь в чем разница между этим двумя предложениями - то программирование это не твое это я серьезно.

Ну и в твоем случае аннотацию надо ставить на метод.
Аноним 01/12/21 Срд 17:17:43 #2004 №2226846 
>>2226503
>Написан на современном стеке - будущем стандарте индустрии
Ага, Котлин уже стал стандартом индустрии, осталось Skia стать стандартом и вытеснить Electron и заживем! но это не точно
Аноним 01/12/21 Срд 17:18:13 #2005 №2226847 
>>2226830
В твоей версии спринга аннотации хуярятся в абсолютно рандомные места?
Аноним 01/12/21 Срд 17:41:33 #2006 №2226887 
>>2226503
Мне кажется стандартом уже стал джаваскрипт, который выполнил все то, что сан микросистемс прогнозировали про джаву
Аноним 01/12/21 Срд 17:46:28 #2007 №2226894 
>>2226887
>стандартом стал js
стандартом хуйни
Аноним 01/12/21 Срд 18:14:48 #2008 №2226917 
>>2226847
@Var @Named("a") @Inject @Service @Named("serviceA")
Аноним 01/12/21 Срд 18:22:33 #2009 №2226926 
>>2226894
ну так ебаное айти
Аноним 01/12/21 Срд 18:30:18 #2010 №2226934 
Возможно ли без использования JS создать веб приложение со встроенными гугл картами в темплейты. Не так что бы там 1 точка была или просто можно было карту двигать.
А что бы у меня был массив точек в бд , которые можно было бы добавлять и удалять, и они все отображались на страничке. Направьте куда гуглить .
Аноним 01/12/21 Срд 18:35:03 #2011 №2226938 
>>2226887
> джаваскрипт
Уже всех заеб. Айти мир ищет новых ощущений.
Аноним 01/12/21 Срд 18:37:47 #2012 №2226941 
>>2226938
TypeScript native.
Аноним 01/12/21 Срд 18:40:02 #2013 №2226943 
>>2226934
Если клиент бравузер, то кроме жс ничего нет.
Аноним 01/12/21 Срд 18:42:19 #2014 №2226944 
>>2226943
Принял , тогда не буду маяться хуйней и сделаю на нем.
Аноним 01/12/21 Срд 18:54:58 #2015 №2226950 
>>2226746
ясно, понятно
Аноним 01/12/21 Срд 19:23:04 #2016 №2226983 
>>2226950
Сравни джаву, даже самую последнюю, с шарпом/жсом/питоном/котлином
Аноним 01/12/21 Срд 19:39:47 #2017 №2227004 
>>2226983
>даже самую последнюю, с шарпом/жсом/питоном/котлином
Да хули сравнивать - програмил на джаве 8 лет и на котлине 2 года, один хуй задачки делать надо а не писюнами мерятся

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

Ты когда-нибудь пробовал понять чужой код написанный в функциональном стиле с помощью экстеншенов чтобы было МАКСИМАЛЬНО коротко.
За такой PR при просмотре хочется яйца оторвать а тебе как тимлиду нужно его в продакшн пустить.

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

Если бы язык заставлял программера писать читаемый код это был бы лучший язык.
sageАноним 01/12/21 Срд 19:45:01 #2018 №2227006 
>>2227004
А зачем пускать в прод нечитаемое говно?
мимо
Аноним 01/12/21 Срд 19:49:55 #2019 №2227009 
>>2227006
Вот и не пускаешь а порридж тебе говорит что ты не оценил его прогрессивный соde style и вообще не любишь модный язык

А я люблю язык а вот хуйни не люблю

Ну и самое интересное это как автор пытается прочесть собственный код спустя пол года при тех же обстоятельствах - внезапный косяк на проде. Ох сколько раз уже это пережил
Аноним 01/12/21 Срд 20:21:13 #2020 №2227022 
>>2227009
>>2227004
А кстати, можно ли в проект на джава в интеллидже начать невозбранно встраивать котлин-код? Я просто пилю собственные микросервисы на почти голой джаве, никому по сути ничего не должен по содержимому проекта, хоть на брейнфаке пиши. Думаю ради расширения знаний вкатиться. Это реально?
мимо-макака
Аноним 01/12/21 Срд 20:32:48 #2021 №2227033 
>>2227004
>Если бы язык заставлял программера писать читаемый код это был бы лучший язык.
Теперь это го тред.
Аноним 01/12/21 Срд 20:33:00 #2022 №2227034 
>>2227022
Можно конечно, кто ж запретит. Был и такой опыт.

Но это опять таки приведет к зоопарку - отрыл один файл там жава, открыл по ссылке класс а там котлин. Через пол года едешь в дурку.
Аноним 01/12/21 Срд 21:08:39 #2023 №2227072 
>>2227033
>Теперь это го тред.
varFoo, err := GetFoo()
if err != nil {
return err
}
sliceBar, err := SliceTheBar(varFoo)
if err != nil {
return err
}
err := CheckBarSlice(sliceBar)
if err != nil {
return err
}
Аноним 01/12/21 Срд 21:16:52 #2024 №2227081 
>>2227072
> if err != nil {
> return err
> }
Некоторые местные шизики кайфуют от checked exceptions (которых, кстати, нет в шарпе), так что им и это должно понравиться.
sageАноним 01/12/21 Срд 21:44:03 #2025 №2227099 
>>2227009
Поэтому в котлин стоит вкатываться только после жабы
Аноним 01/12/21 Срд 21:52:20 #2026 №2227108 
Какой примерно средний размер в строках энтерпрайз проектов на яве?
Аноним 01/12/21 Срд 22:02:58 #2027 №2227124 
>>2227099
Ну и толку-то? От вседозволенности сносит башню только так. У меня с груви такое было в свое время.
Аноним 01/12/21 Срд 22:05:58 #2028 №2227129 
Перекатываемся
https://habr.com/ru/company/otus/blog/592585/
Аноним 01/12/21 Срд 22:06:03 #2029 №2227130 
Платиновый вопрос.
Если я джун и пойду работать туда, где нету спринга, я смогу через годик претендовать на позицию мидла? Или это пустая трата времени и нужно сразу искать позицию, где работают с современным стеком, пускай и денег платят меньше?
Аноним 01/12/21 Срд 22:18:00 #2030 №2227137 
>>2227130
Думаешь, миддловость измеряется технологическим стеком?
Аноним 01/12/21 Срд 22:23:13 #2031 №2227140 
>>2226836
Блять, понятно, что она тут (в месте копирования) не разрешена, а не на заборе, например, нахуй ты меня дизморалишь? Негде больше самоутвердиться? Клоун. Чем так отвечать, лучше бы просто ебало завалил.

Что над методом, мне уже ясно, неясно почему не над присвоением, что ты и не осилил объяснить.
Аноним 01/12/21 Срд 22:33:52 #2032 №2227147 
>>2227137
Ну я понимаю, что там не столько хардскиллы имеют значение, сколько пройденные грабли. Но вот сейчас читал статью на хабре про то, что синьор должен иметь опыт разработки ТЫРПРАЙЗ приложений. А если я буду несколько другие задачи выполнять?
Аноним 01/12/21 Срд 22:35:49 #2033 №2227149 
> В день большая часть программистов пишет приблизительно 10-12 строк кода, которые попадают в итоговый проект. Настоящие программисты 90% своего времени тратят на размышления и пробные запуски, чтобы найти лучший вариант программы.

Это рофл или как? Большинству программистов настолько нехуй делать или там огромное легаси, что чтобы что-то добавить/исправить надо весь день разбираться?
При чем тут говорится про всех программистов, а не конкретно джавистов.
Аноним 01/12/21 Срд 22:37:15 #2034 №2227151 
>>2227147
Что ты понимаешь под другими задачами? На спринге ничего другого нет, только тырпрайз.
Аноним 01/12/21 Срд 22:44:22 #2035 №2227158 
>>2227149
> там огромное легаси, что чтобы что-то добавить/исправить надо весь день разбираться?
Не только. Большинство тасок, как правило, до конца не понятны, потому что упираются в предметную область, и ты большую часть времени продумываешь все варианты и граничные случаи. Уходит время на погружение в эту самую область, и если один разраб что-то не успел доделать, хотя оставалось немного, другому разрабу придётся разбираться с нуля, и потратит он намного больше времени. Ну и переписки с созвонами отнимают дохуя времени.
Аноним 01/12/21 Срд 23:42:20 #2036 №2227195 
Помогите пожалуйста. Есть 2 времени в виде строки "HH:MM". Как их сложить/вычесть и получить опять строку "HH:MM"? Я уже совсем запутался стандартных классах даты и времени...
Аноним 01/12/21 Срд 23:50:22 #2037 №2227197 
>>2227140
>Что над методом, мне уже ясно, неясно почему не над присвоением, что ты и не осилил объяснить.
Жопоглазый, давай начнем с того, что не можешь прочесть ни то что тебе пишут
>>2226760
>@SuppressWarnings можно ставить на класс, поле, метод и объявление локальной переменной объявление и присваивание должно быть в одной строке.
ни документацию
https://docs.oracle.com/javase/8/docs/api/java/lang/SuppressWarnings.html
>@Target(value={TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE})
Это места где эту аннотацию можно использовать, потому что так решили авторы джавы.


>нахуй ты меня дизморалишь? Негде больше самоутвердиться? Клоун. Чем так отвечать, лучше бы просто ебало завалил.
Мы на дваче, тут не вытирают сопли. Я тебе все сказал еще первым постом. Не нравится? Пиздуй на курсы, там за твои бабки тебе будут и сопли вытирать и жопу целовать.
Аноним 01/12/21 Срд 23:51:33 #2038 №2227198 
Хочу простейший шаблонизатор без зависимостей.
Аноним 01/12/21 Срд 23:54:51 #2039 №2227202 
>>2227198
MessageFormat/String.format
StringTemplate
Аноним 01/12/21 Срд 23:59:37 #2040 №2227205 
>>2227202
>StringTemplate
Циклов нет.
Аноним 02/12/21 Чтв 00:01:09 #2041 №2227207 
>>2227205
<items :{ item | <item> }>
Аноним 02/12/21 Чтв 00:01:33 #2042 №2227208 
>>2227195
String t1s = "12:34";
String t2s = "07:41";
DateTimeFormatter timeFormat = DateTimeFormatter.ofPattern("HH:mm");
LocalTime t1 = LocalTime.parse(t1s, timeFormat);
LocalTime t2 = LocalTime.parse(t2s, timeFormat);

LocalTime t = t1.plusHours(t2.getHour()).plusMinutes(t2.getMinute());
String ts = t.format(timeFormat);

System.out.println(ts);
Аноним 02/12/21 Чтв 00:03:08 #2043 №2227210 
>>2227207
Не понимаю.
Аноним 02/12/21 Чтв 00:10:50 #2044 №2227216 
>>2227208
Огромное тебе спасибо, анончик.
Аноним 02/12/21 Чтв 00:22:59 #2045 №2227225 
Можно ли стать норм джавистом, никогда не дроча литкоды и вообще не шарить в алгосах, дальше быстрой сортировки? Да и ту уже не помнишь.
Вот знакомые мидл+ фронты и меньше меня знают и им норм. Но с джависта спрос другой.
Развернуть дерево и с графами всякое делать точно придется?
Просто я садился за алгосы несколько раз, меня быстро заебывло и я забивал. А по ощущениям с моими силами мне надо на литкод + учебник потратить месяца три минимум
Аноним 02/12/21 Чтв 00:25:23 #2046 №2227228 
>>2227210
Например, вот:
Массив items = {"foo", "bar", "baz"];
Твой шаблон:
\\<ul>
<items :{item | \\<li><item>\\</li>
}>
\\</ul>
И в результате получится:
<ul>
<li>foo</li>
<li>bar</li>
<li>baz</li>
</ul>
Аноним 02/12/21 Чтв 00:30:52 #2047 №2227231 
>>2227228
А если мне, например, надо ставить запятые между элементами массива, но после последнего элемента запятая не нужна?
Аноним 02/12/21 Чтв 00:31:49 #2048 №2227232 
>>2227225
>Развернуть дерево и с графами всякое делать точно придется?
Не придется ни разу, если не ходить специально во всякие яндексы
Аноним 02/12/21 Чтв 00:40:44 #2049 №2227236 
>>2227231
<items;separator=", ">

https://github.com/antlr/stringtemplate4/blob/master/doc/cheatsheet.md
Аноним 02/12/21 Чтв 00:55:37 #2050 №2227246 
>>2227236
Норм, беру. Только пусть еще шаблоны будут в ${}, а не в <>.
Аноним 02/12/21 Чтв 04:54:37 #2051 №2227281 
>>2227081
> checked exceptions
> одна catch (Throwable e)/throws
> вместо портянки копипастов на говне
Аноним 02/12/21 Чтв 06:14:54 #2052 №2227288 
Блиц-вопрос:
Трудно ли написать на Java куайн? Какого лвл-а по шкале джуно-сениора надо быть чтоб справиться?
Аноним 02/12/21 Чтв 07:00:55 #2053 №2227296 
>>2227288
Писяпопа))))
Аноним 02/12/21 Чтв 09:12:31 #2054 №2227303 
Перекат где?
Аноним 02/12/21 Чтв 09:41:11 #2055 №2227310 
>>2225113
Браток, только вернулся к этому вопросу.
Посмотрел. А у меня идея так по дефолту настроена.
Сегодня опять надо будет дебажить. Как скинуть миллион библиотечного кода и походить только по коду проекта?
Аноним 02/12/21 Чтв 09:49:58 #2056 №2227313 
>>2227303
Так джава все
Аноним 02/12/21 Чтв 10:57:21 #2057 №2227342 
image.png
>>2227195
Аноним 02/12/21 Чтв 10:58:12 #2058 №2227344 
>>2227313
Шарпошиз, плиз, вернись в стойло
Аноним 02/12/21 Чтв 11:08:54 #2059 №2227355 
>>2220760
Ну как, разобрался или ушел на hh?
Аноним 02/12/21 Чтв 12:25:45 #2060 №2227395 
>>2227313
У меня тред грузится как идея, пора перекатывать
Аноним 02/12/21 Чтв 14:05:34 #2061 №2227469 
>>2227395
Этот тред отображает ирл положение Java.
Аноним 02/12/21 Чтв 16:22:41 #2062 №2227648 
>>2227395
Докупи оперативки, смени проц. Думай по джавовому.
Аноним 02/12/21 Чтв 16:43:13 #2063 №2227658 
>>2227355
Зарегал ещё хабру и суперджоб. Позвали на два собеса на удаленку и пропали. До 12 декабря думаю посижу. Я с этой работой слез с пособия. И если я уволюсь сейчас и получу только часть от оклада(а оклад треть того что кабан обещал), то не смогу заплатить за квартиру. Не думаю что кабан при расчете будет платить то что обещал, а не то что в договоре.
Сегодня даже не копался в коде. Чтобы через дебагер ковыряться в реализации говна нужно нужно посылать запросы с фронта старого модуля, а там подписи и нужно поставить крипто про и крипто про плагин фаерофокс на машину с убунтой. Я не смог, админ меня сегодня послал на потом.
Сижу читаю про асинхронный соап. Ибо в новом модуле будет и асинхронный. Причем хз как это реализовывать. То ли через jms, то ли нет. Jms я тоже соответствовенно не знаю.
Аноним 02/12/21 Чтв 16:52:53 #2064 №2227664 
>>2227658
И мне хотели в первый день поставить нетбинс и бивер. Но в итоге поставили ультимейт идею с ключом с моим степика.
Мне кажется это самая трешовая работа на жабе эвар.
Аноним 02/12/21 Чтв 17:45:54 #2065 №2227710 
>>2227658
Жесть конешно. Я сам только вкатываюсь, до этого на пыхе пробовал кодить, но джава больше понравилась. После твоей истории даже ссыкотно как-то, неужто вот так прям бросят в огонь и делай что хочешь? Неужели им вообще пахую что будет с проектом? Что если ты накосячишь? Разве обычно не делают так, что вводят в курс дела, в курс стека и всё такое в первый месяц/неделю? Ну и джуну же еще приставляют синьора какого-нибудь, опять же, чтоб не накосячил. Неужели я настолько маняфантазёр?
>>2227664
Лол. Сам сижу с ключом от степика, но никогда бы не подумал, что работодатель скажет мне юзать это. И правда зашквар, похоже реально попал к кабану какому-то. Сожалею.
sageАноним 02/12/21 Чтв 17:49:58 #2066 №2227713 
>>2227648
Можно попросит ещё один комп, и сидеть в хроме/слаке через него
Аноним 02/12/21 Чтв 17:53:03 #2067 №2227714 
>>2227710
Они сами нихуя не в курсе. Кабан урвал проект по связям пару месяцев назад. Кодить умеет три человека. Его зам, который руководит разработкой. Но разработка это 30% обязанностей зама. И два кодера. Один пилит фронт, другой другую интеграцию. Ещё два кодера уволились за месяц до моего прихода. Сроки скоро, конь не валялся.
Аноним 02/12/21 Чтв 17:54:26 #2068 №2227715 
>>2227713
Горизонтальное масштабирование. Модно.
Аноним 02/12/21 Чтв 17:55:07 #2069 №2227717 
ПЕРЕКАТИТЕ ТРЕД!!!!!! Мой ноутбук еле справляется. Куда теперь заходить, чтоб пообщаться на тему джава???
Аноним 02/12/21 Чтв 18:19:21 #2070 №2227730 
>>2227717
Нахуй.
Аноним 02/12/21 Чтв 18:28:49 #2071 №2227735 
>>2227717
Еще 4 страницы до конца борды.
Аноним 02/12/21 Чтв 18:36:28 #2072 №2227742 
>>2227717
Чел, у меня смарт за 12к справляется легко. А ты ноешь.
>>2227735
Так и до 4к можно досидеть.
Аноним 02/12/21 Чтв 18:40:51 #2073 №2227748 
>>2227742
Хз, наверное мобильная версия легче и лучше оптимизирована. У меня ноут так-то сильный: i5 7300HQ, 16gb ОЗУ, SSD 1gb, gtx 1060 max-Q. Всё летает, кроме этого треда.
Аноним 02/12/21 Чтв 18:48:43 #2074 №2227758 
>>2227748
У меня десктоп и5 4460, памяти столько же, видяха хужее. Ноль проблем с тредом.
Ты чем-то засрал свой ноут. Может режим энергосбережения стоит.
Аноним 02/12/21 Чтв 21:25:35 #2075 №2227862 
Бляяя как меня заебал этот томкат. Почему я открываю один и тот же проект и каждый раз я вижу разную картину. То он мне по кд выдает 404 и ошибку The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. То блять контроллеры не видит. ХОТЯ ПРОЕКТ ОДИН И ТОТ ЖЕ. Подскажите пожалуйста как это пофиксить.
Аноним 02/12/21 Чтв 21:41:39 #2076 №2227871 
>>2227862
Используй спринг бут. А еще лучше gin.
Аноним 02/12/21 Чтв 21:42:05 #2077 №2227872 
>>2227862
Используй WildFly.
Аноним 02/12/21 Чтв 21:42:42 #2078 №2227873 
>>2227862
Используй Undertow.
Аноним 02/12/21 Чтв 22:12:48 #2079 №2227889 
>>2227862
Используй WebLogic.
Аноним 02/12/21 Чтв 22:36:27 #2080 №2227899 
image.png
image.png
Подскажите плез как шрифты подгрузить. Вижу вот такую шляпу , в css импорт шрифтов прописан. Если просто страничку открыть без приложухи то все отображается. Запускаю приложуху - крокозябры.
Аноним 02/12/21 Чтв 22:38:15 #2081 №2227902 
>>2227899
Путать джаву и джаваскрипт - это почти как называть системный блок процессором.
Аноним 02/12/21 Чтв 22:39:18 #2082 №2227903 
>>2227902
Я спринге ващет приложуху сделал. Просто на странице есть скрипты .
Аноним 02/12/21 Чтв 22:44:43 #2083 №2227905 
>>2227903
Спрашивай про скрипты в треде HTML-программистов.
Аноним 02/12/21 Чтв 22:47:49 #2084 №2227907 
>>2227905
Дак я блять не про скрипты спрашиваю. Я юзаю темплейт резолвер. Я указал в конфиге где лежат ресурсы. Он мне все подтянул , все стили , все скрипты а шрифты заигнорил. Если запустить страницу вне джава проекта , просто открыть index.html все нормально.
Аноним 02/12/21 Чтв 23:16:49 #2085 №2227926 
>>2227907
Кароч я нашел в чем проблема , просто у резолвера нужно прописывать кодировку.
Аноним 03/12/21 Птн 09:37:40 #2086 №2228042 
Аноны , выручите . Джавы в вузе почти не было , и он сказал сделать задание. Может кто знает
--------------------------------------------------------------
1. Прочитать файл. Удалить дублирующиеся строки, указав в файле назначения количество удаленных дублирующихся строк.

2. Реализовать восстановление сжатой версии в полную.
--------------------------------------------------------------
Аноним 03/12/21 Птн 09:51:13 #2087 №2228048 
>>2228042
Знаки препинания в русском и большинстве других языков не отбиваются пробелами, пряник
1. Используй BufferReader, он позволяет построчно читать содержимое файлов. Считанную строку сразу же можно write в аутпут через BufferWriter, cоседние строки не сложно сравнивать через equals, если получается труе, то запись пропускается, и инкрементится какой-нибудь счетчик. Когда некст строка будет нулл, записываешь значение счетчика и закрываешь все это.
2. Сжатой версии чего во что? Пружину сжатую? Гондон наказанный воздухом? Если речь о сериализации-десериализации, то используются файловые потоки, схоже впрочем с тем что написано выше.
Аноним 03/12/21 Птн 11:32:35 #2088 №2228143 
Хуйлоады на джаве есть? Как туда попасть? Хочу по хардкору упороться всякими распределенными отказоустойчивыми системами, хадупом, зоокипером и всяким таким.
Аноним 03/12/21 Птн 13:13:46 #2089 №2228210 
Сейчас задам максимально тупой вопрос. Если я переходы между страницами пропишу просто в ссылке

<a href="map"><a>

И сделаю маппинг /map - Это окей ? Или переходы между страницами надо как то по другому делать ?
Аноним 03/12/21 Птн 14:05:36 #2090 №2228250 
>>2228042
> он сказал
Кто сказал?
Аноним 03/12/21 Птн 14:12:13 #2091 №2228257 
>>2159705 (OP)
Привет. Подскажите, что нужно знать среднестатистическому джуну, чтобы попасть на стажировку с возможным трудоустройством по джаве? Ну +-, в общих чертах кроме Java Core.
Аноним 03/12/21 Птн 18:53:03 #2092 №2228441 
>>2228143
Гугл, Амазон, Букинг.
Аноним 03/12/21 Птн 18:54:45 #2093 №2228445 
>>2227658
>То ли через jms, то ли нет
По хорошему без провайдера типа JMS обойтись не получится так как ты будешь плодить потоки на каждый запрос.
Как вариант организовать через локальную базу сервиса - пишешь в базу пришел такой-то запрос и после обработки маркеруешь его что ответил.
Аноним 03/12/21 Птн 18:55:26 #2094 №2228446 
>>2228257
Мочь на спринге сделать простой круд, ну и само собой SQL, Git, Maven.
Аноним 03/12/21 Птн 19:18:58 #2095 №2228477 
Есть аноны кто разобрался в модулях, и поюзал их в работе? Нахуй они вообще нужны? Какие задачи решают? Стоят того чтоб в них вкатываться или не тратить зря время?
Аноним 03/12/21 Птн 19:28:36 #2096 №2228484 
>>2228477
>не тратить зря время
Аноним 03/12/21 Птн 19:39:00 #2097 №2228490 
>>2228477
Не трать зря время.
Аноним 03/12/21 Птн 19:51:47 #2098 №2228504 
раз уж зашла речь про Tomcat контейнер сервлетов, кто-то в курсе как он работает?
Он неиронично создает пул из 50-100 потоков, после чего на каждый запрос выделяет поток из пула, а как только пул закончился, то кидает клиенту 500? В 2021 году это больше на постиронию похоже, скорее на какую-то лабу в универе, чем на что-то реально рабочее.
Как же тогда пишут сервера на несколько десятков и сотен тысяч запросов в секунду? Если у нас на нашем томкате 1 запрос обрабатывается 1 секунду, то 50-100 запросов в секунду, это максимум, который можно выжать. Какие есть нормальные способы обрабатывать вплоть до 1М или 10М запросов в секунду?
Как в >>2228441
>Гугл, Амазон, Букинг
строят хуйлоады? Они несколько миллионов серверов закупили и на каждом крутят tomcat servlet container, каждый из которых обрабатывает по 50 запросов в секунду максимум? Как это работает?
Аноним 03/12/21 Птн 20:20:05 #2099 №2228534 
>>2228504
> как только пул закончился, то кидает клиенту 500?
Нет, запросы с открытыми соединениями тупо лежат в очереди, пока не появится свободный тред, тогда и обрабатываются.
> ак же тогда пишут сервера на несколько десятков и сотен тысяч запросов в секунду?
Поднимают дохуя нод, обмазывают кешами, автоматически масштабирующимися микросервисами, тяжёлые вычисления пишут на более быстрых языках.
Аноним 03/12/21 Птн 20:20:53 #2100 №2228536 
>>2228504
Используют Wildfly.
Аноним 03/12/21 Птн 20:21:16 #2101 №2228538 
>>2228504
Используют Undertow.
Аноним 03/12/21 Птн 20:21:32 #2102 №2228539 
>>2228504
Используют Gin.
sageАноним 03/12/21 Птн 20:24:14 #2103 №2228541 
>>2228536
>>2228538
>>2228539
Зарепортил.
Аноним 03/12/21 Птн 20:24:47 #2104 №2228543 
>>2228541
>пук
Аноним 03/12/21 Птн 20:26:03 #2105 №2228546 
>>2228504
На сервлетах с моделью поток на запрос жаба-мир не заканчивается. Например, если возьмешь spring webflux, будет там под капотом по дефолту неблокирующий netty, заточенный на тот самый хуллиард одновременных соединений. Хотя и на условном томкате не обязательно обрабатывать каждый запрос отдельным потоком.

Почему вообще при этом к 2021 все уже не выкинули давно томкаты? Потому что не все подряд амазоны, а потоков может быть не 50-100, а скорее 500. И тогда при твоих расчетах с запросом за секунду десяток томкатов дадут 5к в секунду. Гугл на планете один, а для твоего бизнеса хватит с запасом.
Аноним 03/12/21 Птн 20:26:03 #2106 №2228547 
>>2228534
ПИЗДЕЦ,

Я так понял, что большинство джава проектов до сих пор пишется в блокирующем стиле. А у меня острое желание писать исключительно неблокирующие сверхбыстрые легкие сервера. Мне нужно изучать Govno для этого?
Я никогда не думал, что джава это старый отсталый язык, но вот именно то, что почти все пишется с блокировками, меня очень сильно огорчает.
Аноним 03/12/21 Птн 20:32:09 #2107 №2228558 
>>2228534
>>2228546

ПИЗДЕЦ

Я так понял, что большинство джава проектов до сих пор пишется в блокирующем стиле. WebFlux не популярен и даже не занимает 30% от всех спринг проектов. А у меня острое желание писать исключительно неблокирующие сверхбыстрые сверхлегкие сервера. Мне нужно изучать Govno или node.js для этого?
Я никогда не думал, что джава это старый отсталый язык, но вот именно то, что почти все пишется с блокировками, меня очень сильно огорчает.

>>2228546
>Потому что не все подряд амазоны, а потоков может быть не 50-100, а скорее 500. И тогда при твоих расчетах с запросом за секунду десяток томкатов дадут 5к в секунду. Гугл на планете один, а для твоего бизнеса хватит с запасом.

Я всегда думал, что жабу используют в сверхогромных энтерпрайзах, продуктами которых пользуются миллионы и миллиарды людей. Ну и думал, что почти вся джава это хуйлоады. А тут оказывается, что для большинства задач достаточно блокирующей модели? Как такое возможно? Разве даже у самого помойного интернет магазина не бывает нагрузки в 100-500к соединений в секунду?
Я думал, что подобные сайты просто вымерли где-то в середине нулевых еще.
Да и взять тот же сбер, который написан на дефолтном спринге чуть более, чем полностью. Там же миллионы людей ежесекундно переводят друг другу деньги и оплачивают покупки в интернетах. Неужели для этого тратятся охуллиарды на закупку серверов?
sageАноним 03/12/21 Птн 20:34:49 #2108 №2228561 
>>2228558
Ты слишком преувеличиваешь нагрузки
Аноним 03/12/21 Птн 20:39:24 #2109 №2228571 
>>2228558
"Блокировки" серьёзных проблем не вызывают, системный планировщик задач не даст процессору простаивать и переключит ядро на другой поток, пока первый ждёт разблокировки. Проблема только одна - сам системный планировщик работает не так эффективно, как работал бы встроенный. Есть проект по впиливанию его в жабу, называется Project Loom. Ну и куча реактивных либ, там пиши без блокировок, сколько влезет.
А энтерпрайз не обязательно огромный, очень часто это несколько тысяч внутренних пользователей. На реально нагруженных проектах, да, закупают больше серверов, но так делают независимо от стека технологий, там хоть на сишке с асинхронными либами пиши, многократного прироста производительности не увидишь.
Аноним 03/12/21 Птн 20:41:14 #2110 №2228573 
https://medium.com/@aathalye/chain-of-responsibility-avoiding-nested-if-else-in-your-oo-code-ee78d1830643
Нормальная хуйня?
Аноним 03/12/21 Птн 20:48:20 #2111 №2228578 
>>2228558
> миллиарды людей
>Да и взять тот же сбер
Алё, миллиарды это вся планета. Сядь прикинь, даже если считать, что все взрослое население страны каждый день совершает штук по 5-10 переводов через сбер, сколько это в среднем операций в секунду. Получатся совсем не миллионы.
Аноним 03/12/21 Птн 21:26:17 #2112 №2228637 
>>2228578
Скорее можно представить, что до 50 миллионов пользователей сбера в самый пиковый час переводят по 3 операции. 150 лямов операций в час это 42к операций в секунду. Думаю может быть даже суперпиковая минута в день зпхи, где и есть и овер 50к в секунду.
Плюс там всяких юрлиц куча с их переводами.
Аноним 04/12/21 Суб 00:50:03 #2113 №2228766 
Как можно получить SelectableChannel из System.in? Да, я хочу в неблокирующем режиме читать данные из stdin с селекторами и прочими фичами NIO.

Собственно в недрах JDK (насколько хуево импортировать jdk?) обнаружил такой класс, который появился только в 11 джаве:
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.net/jdk/nio/Channels.html

И у него есть метод:
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.net/jdk/nio/Channels.html#readWriteSelectableChannel(java.io.FileDescriptor,jdk.nio.Channels.SelectableChannelCloser)

То есть, можно в качестве аргумента можно передать FileDescriptor.in, и можно будет читать неблокирующе из STDIN. Вопрос только в том, что желательно бы сами данные из канала как-то прочитать. А как? Опять же, в недрах JDK нашел, что Channels.readWriteSelectableChannel возрващает не что иное, как ReadWriteChannelImpl. Этот класс унаследован от AbstractSelectableChannel и реализует интерфейс SelChImpl.

В AbstractSelectableChannel нет методов для чтения из channel в ByteBuffer, такой метод есть только у SocketChannel, что не мой случай.

Чо делать с этим всем? Есть варианты прочитать данные, которые вроде как в stdin находятся, но при этом запрятаны в класс, находящийся в глубинах стандартной либы джавы?
Или лучше не ебать себе мозги этими NIO и просто педалить спрингбут?


Аноним 04/12/21 Суб 01:38:22 #2114 №2228783 
>>2228766
Как ты себе представляешь неблокирующее чтение из stdin?
Аноним 04/12/21 Суб 08:02:21 #2115 №2228853 
>>2228547
> у меня острое желание писать исключительно неблокирующие сверхбыстрые легкие сервера.
Reactor, quarkus, nio, netty, kotlin ktor и ещё пол сотни фреймворков.
>>2228558
> Я никогда не думал, что джава это старый отсталый язык, но вот именно то, что почти все пишется с блокировками, меня очень сильно огорчает.
У тебя есть возможность писать как угодно.
> Я всегда думал, что жабу используют в сверхогромных энтерпрайзах, продуктами которых пользуются миллионы и миллиарды людей. Ну и думал, что почти вся джава это хуйлоады. А тут оказывается, что для большинства задач достаточно блокирующей модели? Как такое возможно?
Когда маркетологи нассали в уши и не такое возможно.
> Разве даже у самого помойного интернет магазина не бывает нагрузки в 100-500к соединений в секунду?
Не бывает.
Аноним 04/12/21 Суб 09:36:19 #2116 №2228858 
>>2228547
Тоже охуел и передумал вкатываться в джаву держу в курсе
Аноним 04/12/21 Суб 11:01:46 #2117 №2228897 
>>2228547
От того что у тебя в коде нет видимых блокировок не означает что их нет. Как ты собрался работать с любой базой данных без блокировок, их от тебя могут спрятать но это не значит что их не будет.
"Без блокировок" смахивает на религиозные верования но скорей всего постичь блокировки просто слишком сложно для юного вкатывальщика
Аноним 04/12/21 Суб 12:10:39 #2118 №2228937 
Я не зайду сюда, пока не перекатите. Что сложного-то блять???
Аноним 04/12/21 Суб 12:16:26 #2119 №2228940 
Стоит перед собесами на джуна на спринге учить секурити? Я его не знаю считай. Был один собес, там не спрашивали. Впереди ещё парочка. Не думаю что Джуна допустят до секурити, но все же, могут ли на собесе спросить?
Аноним 04/12/21 Суб 12:28:43 #2120 №2228948 
>>2228937
Ты можешь вообще сюда не заходить.
Аноним 04/12/21 Суб 12:51:23 #2121 №2228957 
>>2228897
> "Без блокировок" смахивает на религиозные верования
Просто тренд последних лет, как микросервисное говно которое хорошо продавалось вайтишными курсами. Челу еще предстоит узнать блокирующие задачи могут быть и cpu bound и что все его миллиард запросов будут стоять в очереди и сосать хуй пока потоки из пула заняты long calculation задачами.
Аноним 04/12/21 Суб 13:17:09 #2122 №2228971 
Пасаны, кто-нибудь в курсе что на собесах спрашивают на спринг бэкенд мидлов?
Аноним 04/12/21 Суб 13:17:27 #2123 №2228972 
Пасаны, кто-нибудь в курсе что на собесах спрашивают на спринг бэкенд мидлов?
Аноним 04/12/21 Суб 13:17:59 #2124 №2228973 
>>2228504
>строят хуйлоады
Да.

>>2228504
>Они несколько миллионов серверов закупили и на каждом крутят tomcat servlet container, каждый из которых обрабатывает по 50 запросов в секунду максимум? Как это работает?
По разному. Там и языков много разных используется и не весь хайлоад про рест запросы.
Аноним 04/12/21 Суб 13:20:59 #2125 №2228976 
>>2228573
Классический паттерн из GoF. Что ты еще хочешь знать?
Аноним 04/12/21 Суб 13:40:06 #2126 №2228984 
>>2228976
Классический паттерн, это когда только цепочка линейна, и один обработчик идет за другим. А тут практически 2D вместо цепочки.
Аноним 04/12/21 Суб 14:30:39 #2127 №2229020 
Как часто джавистам нужно взаимодействовать с женщинами на работе? На джаве вообще много тянок пишут?
Я просто боюсь их. Ну женщин. Не хотелось бы сильно часто с ними взаимодействовать.
Аноним 04/12/21 Суб 14:40:16 #2128 №2229028 
>>2229020
> На джаве вообще много тянок пишут?
Это нн настолько важно, в основном ты будешь взаимодействовать с тестировщиками и аналитиками. И вот среди них тянок и кунов поровну.
NEED HELP Аноним 04/12/21 Суб 14:40:56 #2129 №2229029 
image.png
Сап сосоны, помогите реализовать одну ёбу плз.
Вернее, не совсем вкуриваю логику, хоть направьте в какую сторону копать. Суть в том, что пытаюсь наковырять свой фреймворк по PageObject, в общем основная задача: написать метод, который СОХРАНЯЕТ текст в себе, не обращаясь к ЛОКАТОРУ.
Есть метод, в котором я достаю из локатора текст .getText() и он возвращает текст, но подводный камень в том, что данный текст, мне нужен, когда УЖЕ этого локатора на странице нет.
Я конечно могу решить проблему костылем создать стрингу и впендюрить её в ламповый пейджобджект напрямую, но не хотелось бы от слова совсем.
Аноним 04/12/21 Суб 14:44:31 #2130 №2229040 
>>2229029
UPD
я знаю что там нет ретёрна
Аноним 04/12/21 Суб 14:47:15 #2131 №2229045 
>>2229020
Большинство куа и иногда аналитики - жнщины. Представь, написал ты новый функционал, отдаешь на тестирование, а тебе куа говорят, что там есть баг. Чем чаще делаешь баги, тем чаще приходится общаться с жнщинами.
Аноним 04/12/21 Суб 14:49:07 #2132 №2229047 
>>2229028
>>2229045
Животных с фронтенда забыли
Аноним 04/12/21 Суб 14:56:01 #2133 №2229051 
>>2229047
У нас ни одной фронтендерши, но есть несколько джависток.
Аноним 04/12/21 Суб 14:57:20 #2134 №2229053 
>>2229028
>>2229045
>>2229047
А есть отрасли в айти, где не придется взаимодействовать с куа, аналитиками и фронтендерами? Ну чтобы женщин вообще не было?
Я думаю про какой-нибудь эмбеддед на С/С++, где мужики работают за тридцатку на военных заводах и регулярно получают пизды от каких-нибудь офицеров-заказчиков. Там тянок по идее вообще не должно быть, ну нахуя им в такой параше работать? По этой причине думаю пойти в эмбеддед парашу.
Аноним 04/12/21 Суб 15:01:48 #2135 №2229058 
>>2229053
> ну нахуя им в такой параше работать?
А нахуя кунам там работать? Это надо быть совсем анальником-адептом культа превозмогания.
Нет таких отраслей, тянки везде. Сейчас не 19 век.
Аноним 04/12/21 Суб 15:08:54 #2136 №2229067 
image.png
image.png
image.png
Анон помоги JPA настроить. Он вроде бы подключается к БД и создает там таблицы, потому что я в проперти хибернета прописал create-drop. Запросы на поиск тоже работают. Вот сущность и сервис и контроллер.
Аноним 04/12/21 Суб 15:25:20 #2137 №2229085 
Джуны, сколько у вас первая зарплата была,я почитал тред и охуел что где-то первая зп 70к сразу,мб это только в столицах,но у нас в Воронеже 40к считается норм зп для старта
Аноним 04/12/21 Суб 15:31:07 #2138 №2229089 
>>2229020
Из разработчиц у меня 2 было из 8 челов в нашей кладовке. Но это хуйня, потому что придется общаться ещё с десятком команд и отделов где процент может доходить до 100%
Аноним 04/12/21 Суб 15:32:46 #2139 №2229090 
>>2229085
70к брутто, ДС. 40к у нас стажёры получают, ну и джуны в некоторых совсем убогих шарагах.
Аноним 04/12/21 Суб 15:36:50 #2140 №2229097 
>>2229090
в одной конторе 50 предложили, в другой 40 попросил, тк собес на мой взгляд не оч хорошо прошел, благо через пару месяцев еще 20 накинули
Аноним 04/12/21 Суб 15:37:10 #2141 №2229098 
>>2229097
>>2229085
блятб
Аноним 04/12/21 Суб 15:38:17 #2142 №2229099 
>>2229085
15к
Аноним 04/12/21 Суб 15:39:27 #2143 №2229102 
>>2229089
А что значит общаться по работе? Я вот необщительный аутист, но если уточнить, что нужно туда-то в такое-то место добавить такую формочку, то это наверное я смогу. Или нужно прямо быть альфачом и клоуном одновременно, чтобы быдло боялось, а тянки текли?
Аноним 04/12/21 Суб 15:43:48 #2144 №2229107 
>>2229102
>уточнить, что нужно туда-то в такое-то место добавить такую формочку, то это наверное я смогу
как правило нужно или это, или уточнить у другого разраба какие-то детали того, то он делал
Аноним 04/12/21 Суб 19:35:37 #2145 №2229287 
>>2228984
>Классический паттерн, это когда только цепочка линейна, и один обработчик идет за другим. А тут практически 2D вместо цепочки.
Тебе прям в статье написали:
>Combination of patterns if possible.
Там просто процессор внутри себя снова использует этот паттерн.
Аноним 04/12/21 Суб 19:40:56 #2146 №2229292 
>>2229067
>Анон помоги JPA настроить.
>Он вроде бы подключается к БД и создает там таблицы
>Запросы на поиск тоже работают.
И чем тебе помочь? Сломать это все?
Аноним 04/12/21 Суб 19:50:34 #2147 №2229299 
>>2229287
Да я понял. Ну в принципе это норм, если есть много вариантов, как обработать данные, или они должны применятся последовательно. Но я изначально искал вариант, как избавиться от кучи вложенных if-else и вышел на эту статью. Может еще какие-то варианты есть? У меня получается всего 2 варианта обработчиков на каждом шаге - тут такая комбинация паттернов выглядит излишней.
Аноним 04/12/21 Суб 20:18:18 #2148 №2229317 
>>2229292
Да я еблан , суть забыл написать. Он не сохранял нифига. Но я уже решил, я не тот ентити манагер прописал в конфиге.
Аноним 04/12/21 Суб 21:02:44 #2149 №2229338 
>>2229299
Нет какой-то серебрянной пули как это сделать универсально и красиво.

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

Если у тебя сложные и длинные проверки в if, то вынеси их в отдельный метод код if(isOfflineTransaction(txn)) читается гораздо лучше чем 3 условия через &&.

Ну и в целом разбивать на методы и выносить функционал в классы это универсальный метод который всегда работает. Вот например их первый пример с разбивкой на методы https://pastebin.com/QK2N4hhh
Аноним 04/12/21 Суб 21:14:40 #2150 №2229348 
>>2229338
Наверное не буду усложнять и оставлю просто ифы. Думаю от 2-3 вложенных веток никто не помрет.
Аноним 04/12/21 Суб 21:25:45 #2151 №2229352 
Графку Эль кто-то реально использует, кроме фейсбука? А нахуя?
Аноним 04/12/21 Суб 21:35:50 #2152 №2229357 
>>2229352
Например, в Сбере некоторые внутренние сервисы. Он очень специфичный, не для всех задач подходит, без реальной необходимости его не берут.
Аноним 05/12/21 Вск 01:21:07 #2153 №2229516 
Бля пацаны уже 6 часов ебусь. Сделал свою форму логинки для секурити и когда нажимаю войти ловлю HTTP Status 405 ? Method Not Allowed . При том что авторизация срабатывает. Тоесть страницы доступные только авторизированным пользователям становятся доступными. Че за хуйня ? Уже весь инет перерыл. Шаблонизатор thymeleaf.
Аноним 05/12/21 Вск 09:09:22 #2154 №2229586 
>>2229516
> Бля пацаны уже 6 часов ебусь
Дальше не читал,уебывай социоблядь
sageАноним 05/12/21 Вск 16:03:03 #2155 №2229918 
image.png
>>2229586

Ой анончик не злись , поделись пожалуйста со мной своим опытом. А потом я тебя отняшу под хвостик :3
Аноним 05/12/21 Вск 16:09:55 #2156 №2229928 
https://www.youtube.com/watch?v=DKvR35O2xeA
Всем, кто изучает или недавно изучал жпа - советую. Практическое объяснение с 50:40, до этого бла-бла.
Аноним 05/12/21 Вск 16:21:23 #2157 №2229948 
>>2229516
У тебя разные методы в форме логина и в контроллере. Авторизация срабатывает, потому что выполняется до вызова контроллера.
Аноним 05/12/21 Вск 16:25:08 #2158 №2229956 
>>2229928
>жпа
Не нужно. Есть спринг дата.
Аноним 05/12/21 Вск 16:29:13 #2159 №2229963 
>>2229956
а в спринг дата типа не jpa внутри да?

пиздец вы тут сеньоры
Аноним 05/12/21 Вск 16:31:17 #2160 №2229967 
>>2229963
А в жпа типа не JDBC внутри? Пиздец ты сеньор.
Аноним 05/12/21 Вск 16:32:56 #2161 №2229970 
>>2229967
обосрался так и скажи, как можно использовать spring data не понимая jpa?
Аноним 05/12/21 Вск 16:36:20 #2162 №2229978 
>>2229970
обосрался так и скажи, как можно использовать jpa не понимая jdbc?
Аноним 05/12/21 Вск 16:44:24 #2163 №2229990 
>>2229956
они там генерят и методы репозиториев спринг дата жпа. Так что это и про нее тоже.
Аноним 05/12/21 Вск 16:54:27 #2164 №2230002 
>>2229963
Ну типа нет, какая нахуй jpa в nosql?
Аноним 05/12/21 Вск 17:01:17 #2165 №2230015 
>>2230002
А, так ты из этих.
Аноним 05/12/21 Вск 17:02:30 #2166 №2230019 
image.png
image.png
>>2229948
Я нагуглил что на метод POST /login у спринга есть встроенный контроллер из коробки. Я лишь прописал отображение страницы.
Видел на ютубе гайды что у челов все работало само и им не приходилось создавать свой POST обработчик логинки.

Энивей как пофиксить, подскажи пожалуйста.
Аноним 05/12/21 Вск 17:16:09 #2167 №2230028 
Имеет ли смысл делать рест в локальной сети на три компа? Чем это лучше/хуже обычного десктопа?
Аноним 05/12/21 Вск 17:28:40 #2168 №2230035 
>>2230028
Почему у тебя рест и десктоп исключают друг друга? Они в разных плоскостях лежат. И какая задача у тебя?
Аноним 05/12/21 Вск 17:33:37 #2169 №2230038 
>>2230035
>И какая задача у тебя?
Для гос конторы запилить приложение учета. Прошлая их программа была написана в начале нулевых на делфи.
Аноним 05/12/21 Вск 17:38:09 #2170 №2230041 
>>2230038
Нужно данные синхронизировать в реальном времени? Или на каждом ПК по своей независимой локальной базе будет?
И чем MS Access не устраивает?
Аноним 05/12/21 Вск 17:39:28 #2171 №2230042 
>>2229978
ну в общем и целом да, не понимая как устроены базы данных будешь писать дичайшую хуйню и не важно с какой библиотекой
Аноним 05/12/21 Вск 17:41:08 #2172 №2230043 
>>2230041
>Нужно данные синхронизировать в реальном времени?
This.

>И чем MS Access не устраивает?
С него и той программы, что его использовала, как раз и переезжают из-за недостатка автоматизации.
Аноним 05/12/21 Вск 17:46:30 #2173 №2230048 
>>2230043
Тогда, очевидно, должны быть клиент и сервер. Клиент не важно на чём, хоть веб, хоть десктоп, но на веб потом будет легче найти человека. Протокол тоже не имеет значения, но если веб, придётся делать рест.
Аноним 05/12/21 Вск 17:52:25 #2174 №2230054 
>>2230048
И правда, логично, спасибо. Просто на дипломе потом обосновать придется почему именно такая архитектура, а объяснение вида "ну потому что я бек и в паре с фронтендером" - не прокатит.
Аноним 05/12/21 Вск 17:58:17 #2175 №2230063 
>>2230042
А где в jpa нужно знание jdbc? Там нужно знать сами реляционные базы данных, а jdbc-api это совсем другое апи, нежели jpa, хоть и более низкоуровневое.
Аноним 05/12/21 Вск 17:59:53 #2176 №2230066 
>>2230054
Потому что данные общие, и если их независимо вести в разных базах, поддерживать все базы в актуальном состоянии будет невозможно. А так у тебя есть единый сервер, который централизовано занимается ведением базы, а клиенты нужны только для работы с сервером, который сам всё будет синхронизировать. Ну и масштабируемость.
Аноним 05/12/21 Вск 18:00:55 #2177 №2230068 
>>2230063
Нигде. Вот и получается, что для спринг даты не надо знать, как работает jpa.
Аноним 05/12/21 Вск 18:02:10 #2178 №2230072 
Где-то читал про рекомендации по неймингу в java. И не помню уже где и не могу нагуглить. Там было про максимальное рекомендованное количество знаков в названии методов. Вот сколько не помню - 50 что-ли или 40.
Аноним 05/12/21 Вск 18:03:32 #2179 №2230076 
>>2230072
И че?
Аноним 05/12/21 Вск 18:04:23 #2180 №2230080 
>>2230068
Нихуя. Для спринг дата жпа нужно знать, как в жпа энтити объявляются. Там только мастхевных аннотаций штук 20 с 2-5 параметрами в каждом.
Аноним 05/12/21 Вск 18:04:25 #2181 №2230081 
>>2230066
Ага, понял.
Аноним 05/12/21 Вск 18:05:02 #2182 №2230083 
>>2230076
Может ты помнишь такие рекомендации? Не подскажешь?
Аноним 05/12/21 Вск 18:05:55 #2183 №2230087 
>>2230068
когда ты Еntity описываешь в коде это и есть jpa, ебанаха я молчу про все остальные аннотации внутри entity

единственное где jpa может не быть это если у тебя вообще не будет реляционной базы в проекте
Аноним 05/12/21 Вск 18:06:00 #2184 №2230088 
>>2230083
Гугл конвенция скорее всего.
Аноним 05/12/21 Вск 18:06:28 #2185 №2230089 
>>2230080
Нет, не нужно, магия сама справится ¯\_(ツ)_/¯
Аноним 05/12/21 Вск 18:08:42 #2186 №2230092 
>>2230089
схуявится
Аноним 05/12/21 Вск 18:10:05 #2187 №2230094 
вжухиты.mp4
>>2230089
Аноним 05/12/21 Вск 18:12:44 #2188 №2230096 
>>2230094
٩(‿。)۶
Аноним 05/12/21 Вск 19:13:55 #2189 №2230169 
Поясните за @Transactional,многие ставят,но я чииал что спринг бут сам заботится о транзакционности. Я прав?
Аноним 05/12/21 Вск 19:18:18 #2190 №2230171 
Какие конторы в РФ платят 350+ сеньорам?
Я так понимаю, основной джава работодатель у нас это сбер, который больше 250к сеньорам не платит?
Аноним 05/12/21 Вск 19:29:33 #2191 №2230187 
>>2230169
Сложнейший вопрос между прочим.

- Во первых есть 2 аннотации @Transactional (нужно юзать спринговую а не javax)
- Если пометишь публичный метод бина аннотацией то транзакция создаться еще при входе в метод и будет использоваться именно она а не то что мог бы создать спринг дата.
- Если ты нихуя не пометил то транзации будут создаваться при вызове методов репозитория и ты их по сути контролировать не сможешь. До определенного уровня сложности в твоем коде этого даже достаточно.
Но однажды ты можешь охуеть от того что не понимаешь как твоя залупа работает и будешь сидеть в дебагере до сопряжения сфер

- Если у тебя появятся сложные операции то могут понадобится вложенные транзакции и тогда тебе вообще пизда без понимания всего этого механизма
Аноним 05/12/21 Вск 20:38:09 #2192 №2230236 
>>2230187
Подытожив все это, лучше вешать аннотацию на все методы сервиса,которые вызывают методы репозитория. Так?
sageАноним 05/12/21 Вск 22:36:25 #2193 №2230302 
>>2230015
А что с носиквел не так?
мимо
Аноним 05/12/21 Вск 22:39:22 #2194 №2230306 
>>2230302
ну в 95% проектов на жабе есть сиквел бд. И большинство из них используют жпа. А вот носиквелы нужны не везде.
sageАноним 05/12/21 Вск 22:40:24 #2195 №2230309 
>>2230236
Вешать нужно там, где нужно. Например, если нужна атомарность нескольких апдейтов
sageАноним 05/12/21 Вск 22:41:25 #2196 №2230310 
>>2230306
Чаще всего используется и то, и другое
Аноним 05/12/21 Вск 22:46:34 #2197 №2230314 
>>2230310
Ну полно старперского легаси говна без носикуля. А говно без сикуля это не про джаву.
Аноним 06/12/21 Пнд 13:37:00 #2198 №2230755 
https://habr.com/ru/post/580424/
В статье челик 5 раз говорит, что к ресту нужен и необходим сваггер. Реально так? Нужно поучить и в свои петы/тестовые засунуть? Или не стоить тратить время?
Аноним 06/12/21 Пнд 13:58:07 #2199 №2230775 
>>2230755
Не сказать, что это трата времени, делается в несколько строк и потом помогает разрабам клиентской стороны разобраться с твоим API.
Аноним 06/12/21 Пнд 16:12:56 #2200 №2230965 
>>2230775
Чем это от постмана отличается?
Аноним 06/12/21 Пнд 17:59:10 #2201 №2231076 
>>2230965
Тем что сваггер не надо руками писать. Постман кстати может создавать коллекции на основе сваггера.
Аноним 06/12/21 Пнд 20:09:45 #2202 №2231154 
Я вот тут подумал, а чем feign клиенты принципиально отличаются от репозиториев спринг даты? Почему нет реализации спринг даты под веб клиенты к другим сервиса?
Аноним 06/12/21 Пнд 20:29:55 #2203 №2231165 
>>2231154
> Я вот тут подумал, а чем feign клиенты принципиально отличаются от репозиториев спринг даты?
Примерно тем же, чем сервис отличается от DAO.
Спринг дата работает с данными, это просто круд к базе, а REST-клиенты нужны для вызова бизнес-логики, которая не вписывается в концепцию круда.
Аноним 06/12/21 Пнд 20:42:51 #2204 №2231173 
Сап, Джвач.
Пытаюсь понемногу вкатиться в спринг, дошел до DI аннотациями и вот не понимаю...
Как мне создать два бина из одного @Component с разными значениями полей, внедряемыми через @Value? Да и через @Autowired тоже. Если в XML можно вручную этих бинов наплодить сколько угодно, пихая в каждый свои значения, то как я могу сделать это с аннотациями? Я же не буду делать несколько классов с разными значениями @Value и @Autowired
Еще не очень пока понимаю, в чем вообще прикол всей это хуйни. Чем связывать это все аннотациями проще, чем просто вручную средствами самой Java. Это мне только кажется что это какое-то говно без задач, или просто конкретно эта часть спринга такая, а всякие там MVC и прочее уже сверхполезны?
Аноним 06/12/21 Пнд 20:49:13 #2205 №2231178 
>>2231173
> Если в XML можно вручную этих бинов наплодить сколько угодно
Не надо через XML, делай через Java-конфиг.
@Configuration
public class AppConfig {
@Value("${foo}") String foo;
@Value("${bar}") String bar;
@Bean myComponentFoo() { return new MyComponent(foo); }
@Bean myComponentBar() { return new MyComponent(bar); }
}
Аноним 06/12/21 Пнд 20:51:17 #2206 №2231180 
>>2231165
И че?
Аноним 06/12/21 Пнд 20:52:21 #2207 №2231182 
>>2231178
А еще можно через прототайп скоуп.
Аноним 06/12/21 Пнд 20:58:09 #2208 №2231188 
>>2231180
Соси хуй.
Аноним 06/12/21 Пнд 21:00:19 #2209 №2231191 
>>2231178
>>2231182
Спасибо, завтра поразбираюсь с этим. Но все же я не очень понимаю, зачем это все надо, если все равно на каждый объект по сути надо сделать какое-то действие в коде. Аналогично тому, как это делается самим джава-кодом.
Аноним 06/12/21 Пнд 21:06:41 #2210 №2231198 
>>2231191
Сколько ни рассуждают про DI, SRP и прочее, в конечном итоге всё сводится к менеджменту ресурсов. Спринг знает, как поддерживать пул соединений к БД, очереди и прочее, и надо как-то их эффективно прокидывать в логику, но не создавать же для этого глобальную переменную со свалкой ресурсов, потому что этим сложно управлять и сложно это расширять.
Аноним 06/12/21 Пнд 21:28:14 #2211 №2231222 
>>2231188
Охуеть у вас тут атмосфера токсичная.
Аноним 06/12/21 Пнд 21:34:14 #2212 №2231234 
Господа сениоры, посоветуйте гайд/книгу/видос по транзакциям в Spring с Hibernate. Пока шо нихуя непонятно, но очень интересно, чего-то годного обычным гуглингом/поисками в ютубе не обнаружил, к сожалению
Аноним 07/12/21 Втр 12:36:21 #2213 №2231560 
>>2231234
шо там не понятна? не понятна.
прочитай сперва просто что такое прокси потом аоп потом читай или смотри уже по спринг транзакции.
как ты гуглищь не понятна пишешь спринг транзакции первая ссылка на хабр общедоступно там.
Аноним 07/12/21 Втр 15:58:34 #2214 №2231748 
>>2230019
мб "login.html" нужно в form.loginPage указать
Аноним 07/12/21 Втр 21:01:21 #2215 №2232079 
Че сложнее: андроид или бэк? Освоился с кором, теперь выбираю что дальше.
Аноним 07/12/21 Втр 21:40:44 #2216 №2232115 
>>2232079
Имхо, бэк легче, но это хуёвый критерий, выбирать надо то, что интереснее или прибыльнее.
Аноним 07/12/21 Втр 21:50:24 #2217 №2232121 
Какие перспективы у джавы в беке, при условии, что сейчас много чего переезжает в cloud native и у спринга с этим переездом возникли очень большие проблемы?
Аноним 07/12/21 Втр 21:56:15 #2218 №2232125 
>>2232121
Ты главное не пытайся разобраться в вопросе самостоятельно, а больше читай го-тред, сделаешь однозначные неоспоримые выводы.
Аноним 07/12/21 Втр 22:00:30 #2219 №2232127 
>>2232125
Спасибо, но все-таки джависты могут без тралирования объяснить зачем вообще нужен этот cloud native и почему спринг в него не умеет?
Аноним 07/12/21 Втр 22:04:51 #2220 №2232130 
>>2232127
Умеет.
Аноним 07/12/21 Втр 22:15:13 #2221 №2232135 
>>2232130
Тогда почему лично димсоул в pro.jvm говорит, что спринг вряд ли когда-либо станет cloud native?
Аноним 07/12/21 Втр 22:17:33 #2222 №2232136 
>>2232135
>Тогда почему лично неизвестный мне говноед в непонятно где говорит какую-то хуйню?
Аноним 07/12/21 Втр 22:18:41 #2223 №2232138 
Почему кастомные репозитории в спринге сделаны так через жопу? Зачем еботня с суффиксом Custom/Impl, когда можно просто сделать абстрактный класс?
Аноним 07/12/21 Втр 22:21:08 #2224 №2232139 
>>2232136
>писать на джаве
>не быть в pro.jvm/jvmjobs
>не знать димсоула

Ты вообще в какой вселенной живешь? Наверное капчуешь из какого-нибудь мухосранской галеры?
Аноним 07/12/21 Втр 22:22:39 #2225 №2232140 
>>2232139
Ты ведь просто выдумал все эти слова, да?
Аноним 07/12/21 Втр 22:25:02 #2226 №2232141 
>>2232140
https://t.me/jvmjobschat

Просто ты почему-то выпал из самого крупного русскоязычного джава-сообщества.
Аноним 07/12/21 Втр 22:25:51 #2227 №2232143 
>>2232138
Чтобы ты юзал JdbcTemplate.
Аноним 07/12/21 Втр 22:26:45 #2228 №2232144 
>>2232141
>Чат для обсуждения вакансий
А может я просто работаю на нормальной работе и мне нахуй не сдалось обсуждать вакансии?
Аноним 07/12/21 Втр 22:50:10 #2229 №2232157 
>>2232139
Так у него и спроси почему. И нам расскажи.
Аноним 08/12/21 Срд 09:03:30 #2230 №2232256 
>>2232121
Никаких, посмотри на последний дотнет и сравни это с кучей говна на джаве
Аноним 08/12/21 Срд 11:10:39 #2231 №2232294 
ПЕРЕКАТ

>>2232293 (OP)
>>2232293 (OP)
>>2232293 (OP)
>>2232293 (OP)
>>2232293 (OP)
>>2232293 (OP)

Аноним 08/12/21 Срд 13:54:47 #2232 №2232415 
Старый уютный тредик без шарпидоров.
Аноним 08/12/21 Срд 15:26:31 #2233 №2232498 
>>2232415
И без женериков в рантайме
Аноним 08/12/21 Срд 17:20:57 #2234 №2232575 
>>2232498
В Го их вообще нет, но это не мешает дрочить на него в присядку.
Аноним 09/12/21 Чтв 09:32:49 #2235 №2232930 
Как понять Spring? И что в нем важно понять?
Кто как осваивал?

Стоит читать книги? Или мб какие-то видеоуроки смотреть?
Или статьи?

Запрашиваю ваши мнения
Аноним 09/12/21 Чтв 10:11:11 #2236 №2232955 
>>2232930
Мурзилки.
Аноним 10/12/21 Птн 16:35:17 #2237 №2234033 
Нужно хранить аватарки локально: в папке resources проекта или в аргументах командной строки указывать путь к папке на диске?
Аноним 11/12/21 Суб 00:23:12 #2238 №2234633 
>>2232955
Что это значит?
Аноним 13/12/21 Пнд 16:12:26 #2239 №2236661 
>>2232930
Бамп вопросу
Аноним 15/12/21 Срд 13:42:33 #2240 №2238185 
Начинаю нюхать тему микросервисов.
Как мне декомпозировать монолит на МКС?
У меня был монолит в одном проекте в IDEA, а теперь я разбиваю на
несколько проектов? или как?
Чет не пойму пока
Аноним 15/12/21 Срд 14:30:17 #2241 №2238227 
Сдох тред?
Аноним 23/12/21 Чтв 13:26:28 #2242 №2245838 
>>2238227
С разморозкой. Уже полтыщи постов как перекатились.
Аноним 23/12/21 Чтв 17:41:17 #2243 №2246092 
>>2245838
А, ну да
чет пропустил перекот
Аноним 19/01/22 Срд 13:57:29 #2244 №2270186 
Screenshot20220119135519.png
>>2175098
Тут ищи: https://jarcasting.ru/
comments powered by Disqus

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