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

Java #116 thread /java/

 Аноним OP 22/08/22 Пнд 23:07:42 #1 №2443253 
p1.jpg
16598025859710.png
16606021938070.png
16611754910340.png
ТРЕД ПО ЖАБЕ #116

Что такое Java?
Java - язык программирования с классами (aka объектно ориентированный), где нужно явно указывать тип объявляемых переменных (aka со строгой типизацией).
Заебись. А что ещё делает Java лучшим языком программирования?
- На Java написано столько всего, что любая твоя невообразимая идея уже существует в виде библиотеки, которую можно скочать и юзать
- Java - мультипарадигменный язык, тут можно писать в любом стиле, который тебе вздумается, даже к памяти можно получить доступ через Unsafe, но, при этом спроектирован язык для того, чтобы на нём писали в ОО-стиле.
- От прошлого пункта плавно перешли к отличной проработке языка - язык с самого начала задумывался как язык для ООП и многопоточности, благодаря чему писать чистокод на Java легче лёгкого!
- Java - относительно молодой язык, который до сих пор активно развивается жидами из Oracle, при этом почти неполживо опенсорсно.
- Java следует принципу write once во всём. Java никогда не ломает обратную совместимость - твой код, написанный на Java 1.2 будет работать на Java 18 - и не зависит от платформы, являя из себя единственный полностью кроссплатформенный язык с кроссплатформенной экосистемой (если не считать языков-паразитов на JVM).

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

Предыдущий: >>2426003 (OP)
Аноним 22/08/22 Пнд 23:10:37 #2 №2443255 
>>2443253 (OP)
>2
Бля, а я ведь учился по курсам этого скуфа.

Мимо миддл, сейчас в Литве
Аноним 22/08/22 Пнд 23:20:14 #3 №2443268 
>>2443267
Спасибо, Абу админ /pr/! Увы, политоту в наши дни приходится вилкой вычищать. Так на чем мы остановились?
sage[mailto:sage] Аноним 22/08/22 Пнд 23:21:40 #4 №2443270 
Жаба гораздо хуже, чем шарп.
Аноним 22/08/22 Пнд 23:22:20 #5 №2443271 
16597496737460.png
>>2443270
Аноним 22/08/22 Пнд 23:23:52 #6 №2443272 
Где можно бесплатно разместить свою БД помимо localhost:8080?
Аноним 22/08/22 Пнд 23:24:51 #7 №2443273 
>>2443272
Чё, таки даже 50р на дешёвый впсник не найдёшь?
Аноним 22/08/22 Пнд 23:25:53 #8 №2443275 
>>2443272
localhost:1521
Аноним 22/08/22 Пнд 23:27:29 #9 №2443276 
>>2443273
Не кошерно раскошеливаться на пет-проекты.

Простой Беня Цукерман город Тель-Авив
Аноним 22/08/22 Пнд 23:27:34 #10 №2443277 
Блять, ну когда уже 19 жаба? Как же я заебался ждать виртуальных тредов!
Аноним 22/08/22 Пнд 23:29:39 #11 №2443278 
>>2443277
Ты ещё представь, сколько будешь ждать, когда разрешат пересесть на неё с 8.
Аноним 22/08/22 Пнд 23:29:40 #12 №2443279 
2022-08-2223-28-45.png
>>2443276
Так это же копейки уж совсем. Если 50 рублей много, можно и за 12 рублей найти.
Аноним 22/08/22 Пнд 23:36:21 #13 №2443282 
>>2443278
Я лид, я сам пересяду.
Аноним 22/08/22 Пнд 23:40:47 #14 №2443284 
Как понять вкатышу, что готов идти на собес?
Аноним 22/08/22 Пнд 23:44:26 #15 №2443287 
>>2443284
Шапку прочитай.
Аноним 22/08/22 Пнд 23:53:13 #16 №2443291 
>>2443287
Прочитал, там нихуя нет, а на гитхабе по этому вопросу нихуя не объяснено
Аноним 23/08/22 Втр 00:03:16 #17 №2443295 
>>2443291
Есть.
Аноним 23/08/22 Втр 00:04:53 #18 №2443296 
>>2443295
Пидора ответ.
Аноним 23/08/22 Втр 00:05:52 #19 №2443298 
>>2443296
Шлюхи аргумент.
Аноним 23/08/22 Втр 00:12:58 #20 №2443302 
>>2443298
Мамке твоей привет
Аноним 23/08/22 Втр 00:15:23 #21 №2443303 
>>2443302
Твоей мамаше 200 лет.
Аноним 23/08/22 Втр 00:42:07 #22 №2443310 
>>2443303
200 OK
Аноним 23/08/22 Втр 07:49:21 #23 №2443366 
>>2443284
В шапке есть вопросы, нужно свободно отвечать минимум на ~85% из них, уметь в срок решать желто-красные задачи на литкоде и иметь пару проектов на разных технологиях.
Аноним 23/08/22 Втр 21:44:26 #24 №2444081 
>>2443284
Пройди простой тест, прибавляй 1 балл за каждый ответ "да"

1) ты инвалид колясочник
2) у тебя из одежды только футболка Ария с пятном от фапчи
3) тебе отрезало ноги трамваем
4) при слове спринг у тебя только одна ассоциация: как прошлой весной тебя выебал бомж возле кфс
5) у тебя кринжовая тату на лице типа linkedList()="мам я долбаеб" или using System; namespace MyNamespace

Если набрал 1 балл и более, то ты не готов идти на собес
Аноним 23/08/22 Втр 21:48:50 #25 №2444085 
.png
>>2444081
> инвалид колясочник
> идти
Аноним 23/08/22 Втр 22:33:19 #26 №2444130 
Раст лучше, чем Go.
C# гораздо хуже, чем Go.
C# лучше, чем JAVA.
Аноним 23/08/22 Втр 22:40:20 #27 №2444139 
>>2444130
Java < C# < Go < Rust
Аноним 23/08/22 Втр 22:46:18 #28 №2444144 
>>2444081
>ты инвалид колясочник
Если ему сказать катись нахуй это инклюзивность?

ЗЫ ваще тут постил один колясочник, кодил на коболе на американского барина за много тысяч баксов.
Аноним 23/08/22 Втр 22:51:30 #29 №2444146 
>>2444139
С# << Go. Сишарп много хуже Гоулэнга.
Аноним 23/08/22 Втр 22:53:47 #30 №2444148 
>>2444146
Java ≪ C# ≪ Go < Rust
Аноним 23/08/22 Втр 22:56:39 #31 №2444151 
>>2444139
>Java < C# < Go < Rust < Python
Поправил
Аноним 24/08/22 Срд 00:04:20 #32 №2444196 
>>2444139
Двачаю, перелез на раст теперь не представляю как на go можно писать, тут по сути тоже что и go, только компилятор бьёт по рукам когда ты криворукий долбоеб и более строгое отношение к лайфтаймам и владением, плюс иммутабельность по умолчанию и охуенные дженерики. Ну а если надо что-то быстро нагоанякать, то беру ноду, на js всё есть и давно его знаю. Короче инструменты по задачам
Аноним 24/08/22 Срд 00:59:45 #33 №2444210 
>>2444196
Раст говняст
На расте кодят пидорасы
Аноним 24/08/22 Срд 01:50:13 #34 №2444231 
Чёт слишком много постов уже, пора перекатывать.
Аноним 24/08/22 Срд 05:59:24 #35 №2444254 
>>2444231
Ничего, сборщик мусора почистит
Аноним 24/08/22 Срд 06:49:12 #36 №2444260 
>>2443253 (OP)
Какой смысл дрочить жабу в Z0ZZ году? Поддерживать протухший легаси?

Алсо ясен хер, жаба никому не нужна ванильная, все перешли на скалу, котлин, кложу
Аноним 24/08/22 Срд 08:06:10 #37 №2444268 
>>2444260
Уходи.
Аноним 24/08/22 Срд 08:47:22 #38 №2444277 
>>2444260
>Поддерживать протухший легаси
Да. Сейчас с работой туго очень. Так что я решил идти в жабу, устроюсь куда-нибудь с трехсотой попытки в подрядчик банка, буду на 6-8 джаве писать и хмл конфиги править.
Один хуй работы нормальной почти что нет для вкатунов, а ту, что есть моментально разбирают челы из топовых вузов.
Аноним 24/08/22 Срд 09:39:06 #39 №2444289 
>>2444260
Если у тебя двухзначный айкью, левел за 35 и нет интереса к программированию то джава лучший вариант (после фронтенда)
Аноним 24/08/22 Срд 11:22:37 #40 №2444361 
>>2444260
Любой успешный продукт очень быстро становится легаси, на твоем говне просто ничего вменяемого в таком количестве еще не написали
Аноним 24/08/22 Срд 11:44:44 #41 №2444369 
>>2444289
>Если у тебя двухзначный айкью, левел за 35 и нет интереса к программированию то
петухон - для тебя.
Аноним 24/08/22 Срд 13:01:42 #42 №2444416 
>>2443253 (OP)
Нахуя перекатили? 8 тредов на доске висят. Еще и перекат уебищный, один микропост в прошлом треде с одной единственной ссылкой без болда на перекат, который хуй заметишь.
Аноним 24/08/22 Срд 13:08:44 #43 №2444424 
>>2444416
Это один новошиз пришёл из петухона и решил стать опхуем, остальных не спрашивая.
Аноним 24/08/22 Срд 14:57:02 #44 №2444489 
Как в Спринг Дате можно native-запросом получить массив строк? Заведомо неизвестно, какие сущности там будут. Насколько я понял, getResultList возвращает список Object. По сути, задание в том, чтобы написать на Джаве что-то вроде SQL-клиента с использованием Спринга (но вообще я бы не парился и все бы на чистом JDBC захерачил, но там требуют, чтобы Спринг был).
Аноним 24/08/22 Срд 15:04:26 #45 №2444494 
>>2444489
>получить массив строк
Пишешь native query, тебе прилетает ResultSet, маппишь его в массив строк.

>>2444489
>написать на Джаве что-то вроде SQL-клиента с использованием Спринга (но вообще я бы не парился и все бы на чистом JDBC захерачил, но там требуют, чтобы Спринг был)

А как без JDBC? Через репозиторий ведь не получится просто взять и достать рандомные данные через скуль запрос. Да ты и репозиторий создать не сможешь, так как нет привязки к сущностям.
Аноним 24/08/22 Срд 15:40:16 #46 №2444516 
>>2444268
Или что?
Аноним 24/08/22 Срд 15:50:08 #47 №2444532 
Сделал @ExceptionHandler чтобы ловить AccessDeniedException который выпадает когда неправильный токен заходит и хэндлер почему-то нихуя не ловит. Что за хня?
Аноним 24/08/22 Срд 16:23:29 #48 №2444566 
>>2444516
Или оставайся.
Аноним 24/08/22 Срд 16:41:31 #49 №2444572 
>>2444532
код хендлера, контроллера, адвайса в пастебин.
Аноним 24/08/22 Срд 17:18:20 #50 №2444601 
Стикер
>>2444289
>левел за 35
> нет интереса к программированию
>джава лучший вариант
Лол, так и есть
Аноним 24/08/22 Срд 17:32:06 #51 №2444615 
>>2444260
>Поддерживать протухший легаси

Да.

> жаба никому не нужна ванильная, все перешли на скалу, котлин, кложу

Ванильная жаба как раз очень востребована для того, чтобы никогда не иметь дел с ЧСВшниками-недоФПвкатунами вроде скалистов.
Аноним 24/08/22 Срд 18:34:34 #52 №2444682 
Я ДЖАВЕР
Аноним 24/08/22 Срд 18:51:28 #53 №2444693 
>>2444682
Присоединяйся к нам!
https://javers.org
Аноним 24/08/22 Срд 19:40:18 #54 №2444717 
>>2444682
>>2444693
https://jav.guru/
Я тоже в своем роде джавер
Аноним 24/08/22 Срд 21:32:53 #55 №2444772 
изображение.png
>>2444494
Сам спросил, сам ответил. Просто сделал native query из EntityManager'а. В итоге он возвращает список с массивами объектов (List<Object[]>). Как-то это всрато, но таково задание.
Аноним 24/08/22 Срд 21:34:57 #56 №2444774 
Кто-нибудь нашел инфу по Спрингу? Какие есть бесплатные хостинги для Постгреса?
Аноним 24/08/22 Срд 21:35:24 #57 №2444775 
>>2443279
>Платить за что-то
Аноним 24/08/22 Срд 21:36:46 #58 №2444778 
>>2444774
localhost
Аноним 24/08/22 Срд 22:34:37 #59 №2444811 
Подскажите, как правильно обозвать методы в соответствии с RESTful? Есть база данных с городами, надо круды сделать. Вроде все понятно, но как с удалением быть?

POST /cities - создаем город
GET /cities - все города
GET /cities/{id} - город по айдишнику
POST /cities/{id} - изменить город

И вроде можно сделать специальный параметр в последнем методе, например boolean delete или даже Enum, но это как-то не комильфо, наверно? Или правильней будет сделать отдельный метод DELETE? Хотя мне учили только на GET и POST все писать.
Аноним 24/08/22 Срд 22:37:19 #60 №2444812 
>>2444778
А можно на твоем localhost? Только ночью комп не выключай, днем я в пятерочке работаю, а ночью как раз пет-проект пилю.
Аноним 24/08/22 Срд 22:48:18 #61 №2444820 
>>2444812
На моём не получится, у меня серый динамический IP за symmetric NAT.
Аноним 24/08/22 Срд 22:51:44 #62 №2444824 
>>2444811
Используй put и patch вместо post для обновления, delete для удаления
Аноним 24/08/22 Срд 22:59:47 #63 №2444827 
>>2444811
Смысл GET ты понял правильно
Для удаления DELETE /cities/{id}
Для частичного апдейта PATCH
Для создания или полной перезаписи сущности PUT
А POST обычно для выполнения действий, которые в идею реста и круда не вписываются, чтобы вызвать метод с логикой на сервере.
Аноним 24/08/22 Срд 23:04:13 #64 №2444830 
>>2444811
createCity
getCities
getCity
updateCity
deleteCity
Ты тупой?
Аноним 24/08/22 Срд 23:08:36 #65 №2444833 
>>2444830
Достаточно 85 IQ для понимания, что вопрос про методы HTTP.
мимо 85 IQ
Аноним 24/08/22 Срд 23:45:28 #66 №2444850 
>>2444833
Ты тупой.
Аноним 24/08/22 Срд 23:58:59 #67 №2444856 
А как выполнять частичный апдейт полей сущности? Делать фаинд из базы и сетать все, что не нулл в дто?
Аноним 25/08/22 Чтв 00:01:00 #68 №2444858 
>>2444856
Не использовать хуйбирнат.
Аноним 25/08/22 Чтв 00:07:56 #69 №2444862 
>>2444858
А что тогда использовать?
Аноним 25/08/22 Чтв 00:14:03 #70 №2444867 
>>2444856
Для хибернейта есть @Entity(dynamicUpdate = true) и для спрингдаты @DynamicUpdate
А нормальные люди пишут билдер запроса, который генерирует список полей в UPDATE и скармливают их NamedParameterJdbcTemplate.
Аноним 25/08/22 Чтв 02:52:23 #71 №2444902 
>>2444862
Jooq или другой квери билдер.
Аноним 25/08/22 Чтв 02:55:12 #72 №2444905 
>>2444820
Ngrok
Аноним 25/08/22 Чтв 03:44:27 #73 №2444920 
>>2444615
неосилятор плиз
Аноним 25/08/22 Чтв 09:21:45 #74 №2444987 
Сейчас вот смотрю разные слитые платные курсы и офигиваю за что люди платят деньги. Типичный пример, на занятии: смотрите, 1+1 = 2, а в качестве домашнего задания посчитайте тройной интеграл. Как это делать? Ни каких материалов не дали, ничего не объяснили. За что они вообще берут деньги!?
Аноним 25/08/22 Чтв 09:55:33 #75 №2445005 
Может хватит бухтеть и дестабилизировать ситуацию в жава мире?

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

От нас требуется сидеть тихо. После того, как все сделают, все будет у нас хорошо. Всем устроят довольствие, как скалистам - каждый будет кататься в масле. Главное сейчас сидеть тихо и не суетиться. Никаких котлинов, никаких жетбрейнсов. Просто переждать и всё будет хорошо, там все схвачено.

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

Ребята, не кипишуйте! Сидите тихо, сейчас такой момент, нужно переждать!
Просто завяжите узелком свои хотелки, не время предъявлять претензии ораклу. Поверьте, там все знают лучше вас, там люди, управляющие жавой уже давно, а не вчерашние школьники. Они понимают, что делают. Стираются женерики - значит должны стираться, начали внезапно пилить вальгаллу - значит так нужно. Сейчас очень напряженный момент, некоторые много ходовые операции в критически важной стадии! Враги и конкуренты все это уже поняли, и сейчас может рвануть в любом месте, в любой момент.
Необходимо сплотиться и не реагировать на провокации! За вас все сделают те, кто сверху, не беспокойтесь! И вы не узнаете жаву, все зацветет!
Главное - потерпеть!
sage[mailto:sage] Аноним 25/08/22 Чтв 10:23:58 #76 №2445017 
>>2445005
Репорт.
Аноним 25/08/22 Чтв 11:53:51 #77 №2445067 
изображение.png
>>2444856
Ну типа вот так.
Аноним 25/08/22 Чтв 12:00:17 #78 №2445077 
image.png
Теперь это тред работы в сбере.
Аноним 25/08/22 Чтв 12:08:15 #79 №2445092 
>>2445067
Просто пиздец...
Аноним 25/08/22 Чтв 12:09:37 #80 №2445094 
>>2445092
Ну а как бы ты сделал?
Аноним 25/08/22 Чтв 12:09:59 #81 №2445095 
>>2445077
Заявку в ДРУГ сделал? Непосредственный руководитель согласовал?
Аноним 25/08/22 Чтв 12:14:19 #82 №2445100 
>>2445094
Логика должна быть в сервисе, а не контроллере
get() без проверки отсутствующего города
Невозможно убить всех жителей города
Когда у тебя появится больше полей в модели ты заебешься их обновлять по одному.
Аноним 25/08/22 Чтв 12:19:00 #83 №2445103 
Нафига нужен Hibernate? Таблицы сам создавай, классы сам расписывай, связи тоже разжёвывай ему куда и что, причём не так как я бы хотел, а как вынужден по его дурацкому стандарту. Что он там делает под капотом - не понятно и скорей всего не так эффективно. Не проще писать все запросы на JDBC, если и так приходится разбираться в кишках и SQL?
Аноним 25/08/22 Чтв 12:34:01 #84 №2445114 
>>2445103
Вот я и говорю, что ORM не решают проблемы, для решения которых они создавались. Какая-то вещь в себе, ORM ради ORM.
Аноним 25/08/22 Чтв 12:38:31 #85 №2445119 
>>2445103
Для прототипирования крудов спринг дата с хибером - топово.
Аноним 25/08/22 Чтв 12:42:11 #86 №2445124 
>>2445103
Ну как минимум доставать сущности со ссылками на кучу других сущностей удобно, не нужно писать километровые джойны руками.
Да и вообще результаты запросов хибера сами маппятся в нужные сущности.
Если JDBC использовать, то придется самому писать мапперы ResultSet -> Entity.
Аноним 25/08/22 Чтв 12:49:49 #87 №2445126 
>>2445114
Если он не решает проблемы, почему он есть в каждой третьей вакансии на спринге?
Аноним 25/08/22 Чтв 12:53:06 #88 №2445127 
>>2445126
Да нормально хибер использовать если нет каких-то жестких требований к производительности и сам хибер не впадает в жесткий ступор.
Сейчас почему-то стало модно хейтить хибер, но в действительности на нем люди пишут и пока что лучших альтернатив не видно.
Аноним 25/08/22 Чтв 12:53:35 #89 №2445128 
Ну или как альтернатива - квери билдеры использовать, но это не для всех случаев годится.
Аноним 25/08/22 Чтв 13:03:17 #90 №2445130 
>>2445103
Согласен. Но чистый JDBC - довольно древний и геморройный в использовании стандарт. Лучше юзать его в связке с JooQ, либо на крайняк через spring data JDBC.
Аноним 25/08/22 Чтв 14:19:09 #91 №2445165 
Стоит начинать вкат с легаси или непопулярных технологий? Учил молодежные технологии вроде спринг бута с хибернейтом, писал свои круды. Сейчас зовут в одну контору, но там восьмая джава на голом jdbc со свингом.
Аноним 25/08/22 Чтв 14:27:13 #92 №2445169 
>>2445165

ИМХО стоит. Со стажем за плечами в будущем не будут смотреть как на говно без опыта. Кроме того, чекни --- может эти челы сами не шибко довольны сложившейся у них ситуацией, и планируют перекат на обновленный стек?
Аноним 25/08/22 Чтв 14:39:34 #93 №2445178 
>>2445165
Смотря что за контора. На таком говне могут кроме тебя сидеть 2 петровича, ни в жабе, ни в вообще современной индустрии не шарящих. Там может не быть процессов - нет тестов, системы управления тасками и даже гита.
У меня так было, когда позвали на спринг + жава 8, а там был просто зоопарк из жава-ее библиотек и спринг чисто для di.
Я бы на твоем месте сам пооценивал уже имеющихся прогреров на проекте. И если понимаешь, что сторожилы много в чем не шарят - не иди туда. Ты у них ничему не научишься.
Аноним 25/08/22 Чтв 16:28:39 #94 №2445269 
>>2445165
>восьмая джава
>легаси
пук
Аноним 25/08/22 Чтв 16:47:42 #95 №2445287 
>>2445269
Восьмая жаба - легаси. Проблемы?
Аноним 25/08/22 Чтв 17:27:13 #96 №2445316 
>>2445287
да, мы на пятой сидим и в велосити шаблоны страничек клепаем
проблемы?
Аноним 25/08/22 Чтв 17:46:11 #97 №2445335 
>>2445316
И пятая, и восьмая жабы - легаси, окда?
Аноним 25/08/22 Чтв 19:21:15 #98 №2445403 
1. Заходишь в папку с файлом "file.tsv";
2. Запускаешь jshell
3. Вводишь /edit
4. Вставляешь:
Files.lines(Path.of("file.tsv"))
.map(s -> s.split("\t"))
.filter(arr->arr.length==3)
.sorted(Comparator.comparingInt(a->Integer.parseInt(a[2])).reversed())
.map(arr-> String.join("\t", arr))
.forEach(System.out::println);
5. Error: array required, but java.lang.Object found
6. Убираешь .reversed()
7. Всё работает.
Какого хуя?
Аноним 25/08/22 Чтв 19:45:18 #99 №2445415 
>>2445100
>Когда у тебя появится больше полей в модели ты заебешься их обновлять по одному.
Как обновить только те, которые есть во входящем JSON-е?
Аноним 25/08/22 Чтв 19:54:27 #100 №2445419 
Ух бля, 100 постов, точно пора перекатывать.

ПЕРЕКАТ >>2428654 (OP)
ПЕРЕКАТ >>2428654 (OP)
ПЕРЕКАТ >>2428654 (OP)
Аноним 25/08/22 Чтв 19:55:08 #101 №2445420 
изображение.png
>>2445100
>Логика должна быть в сервисе, а не контроллере
Все остальные методы в одну строчку. Мне из-за этого сервис создавать? Это тупо тестовое задание, надо чтобы работало, ну и чтобы правила REST были соблюдены.
Аноним 25/08/22 Чтв 20:28:27 #102 №2445449 
>>2445419
Вот поэтому питонисты и долбоебы.

----

Посоны, а чё сейчас в жабе, 95% бекенда это всё ещё спринг? На котлине всё ещё только мобилки делают?
Я иногда лениво думаю перекатиться, но у меня аллергия на жирные фреймворки, поэтому что гибернейт, что спринг очень отталкивают.
те же c#вые аналоги очень изящнее выглядят и не создают ощущения бессмысленного нагромождения кода.
Аноним 25/08/22 Чтв 20:30:07 #103 №2445452 
изображение.png
В задании мне надо еще реализовать сервис для native SQL-запросов. Куда лучше вынести запрос, в PathVariable или в RequestParam? Или вообще как тело посылать POST-запросом?
Аноним 25/08/22 Чтв 20:30:50 #104 №2445453 
>>2445449
>Посоны, а чё сейчас в жабе, 95% бекенда это всё ещё спринг?
Истинно так, и в 95% тестовых заданий нужно просто написать круды для REST-сервиса.
Аноним 25/08/22 Чтв 20:35:27 #105 №2445459 
>>2445453
Бля, тестовые - это что такое вообще? Я обычно наоборот прошу рекрутеров сделать мне какое-нибудь задание, иначе на собес к ним не приду.
Аноним 25/08/22 Чтв 20:38:39 #106 №2445461 
>>2445459
300 ккк/наносек с Кипра?
Аноним 25/08/22 Чтв 20:40:03 #107 №2445462 
>>2445461
???
Аноним 25/08/22 Чтв 20:40:46 #108 №2445463 
Посоветуйте плез российские хостинговые сервисы чтоб свою приложуху на буте разврнуть там.
Аноним 25/08/22 Чтв 20:43:05 #109 №2445467 
изображение.png
изображение.png
Так правильнее будет, я понимаю? Кстати, тут как раз вся логика в сервисе.
Аноним 25/08/22 Чтв 20:43:43 #110 №2445468 
>>2445463
Тоже интересно. И еще где-то Постгрес чтоб развернуть.
Аноним 25/08/22 Чтв 20:46:08 #111 №2445469 
>>2445463
Нахуя именно российские?
Аноним 25/08/22 Чтв 20:47:28 #112 №2445470 
>>2445468
localhost
Аноним 25/08/22 Чтв 20:47:54 #113 №2445471 
>>2445469

Цена чтоб не в баксах была. Да и просто интеренсо какие есть хорошие отечественные пльтернативы.
На амазоне меня забанили за то что неоплатил вовремя.
Аноним 25/08/22 Чтв 20:48:00 #114 №2445472 
>>2445469
Без VPN не пускает на буржуйские. А он, как известно, ворует данные пользователя и вообще может канплукстерн взорвать.
Аноним 25/08/22 Чтв 21:03:06 #115 №2445479 
>>2445415
Хз чел, это очень необычная задача, наверное никто никогда раньше с ней не сталкивался.
>>2445420
>Все остальные методы в одну строчку. Мне из-за этого сервис создавать?
Да. У нас как-то джун написал логику в контроллере, так мы его отпетушили.
Аноним 25/08/22 Чтв 21:08:30 #116 №2445482 
>>2445449
> аллергия на жирные фреймворки
Тогда жаба не для тебя, как и шарп, у них вместо спринга такой же жирный аспнет с килотоннами старья, причём их старьё работает только на винде, а жабовское легаси хотя бы кроссплатформенное.
А микрофреймворки есть везде, но они нахуй никому не всрались, т.к. для их задач хватит петухонов-жопаскриптов.
Аноним 25/08/22 Чтв 21:45:02 #117 №2445499 
>>2445482
Есть и вакансии без спринга. Всякие высоконагруженные сервисы на Reactor, vert.x и др. Но туда берут только сеньоров с 10-летним опытом работы.
Аноним 25/08/22 Чтв 21:47:08 #118 №2445501 
>>2445472
Можно, наверно, китайские поискать.
Аноним 25/08/22 Чтв 22:08:18 #119 №2445517 
>>2445499
А микронавт и кваркус?
Аноним 25/08/22 Чтв 22:13:05 #120 №2445527 
>>2445517
Да.
Аноним 25/08/22 Чтв 23:19:44 #121 №2445572 
>>2445452
>SQL
>PathVariable
>RequestParam
Делаешь пару джоинов и веб-сервер ехидно отдает 414. Алсо, задача выглядит как зделой нам свой пыхыпымуадмин, с блекджеком и уязвимостями.
Аноним 26/08/22 Птн 00:28:28 #122 №2445611 
>>2445114
Орм вообще зло, толку от них только когда надо шлёпать примитивные круды, если чего-то сложнее, то все пиздец начинаешь под эти орм писать всякую хуйню вместо того чтобы заебенить запрос
Аноним 26/08/22 Птн 00:44:32 #123 №2445617 
>>2445482
>работает только на винде
Как там, норм в 2012 живется?
Аноним 26/08/22 Птн 00:49:09 #124 №2445621 
>>2445617
Прочитал одну фразу и сразу порвался? А теперь прочти весь пост.
В древнем проприетарном дотнет фреймворке, про который я и говорю, есть дохуя компонентов, отсутствующих в современном кроссплатформенном дотнете. Тот же WCF, к примеру. Майки выпилили старьё из платформы и тем самым усугубили ситуацию с легаси, переход теперь плавно не произвести, только с нуля переписывать, либо юзать сторонние реализации старья от васянов.
Аноним 26/08/22 Птн 03:55:03 #125 №2445653 
>>2445621
>ты порвался!!1
>строчит бахнутую простыню
Охлол
Аноним 26/08/22 Птн 06:00:55 #126 №2445659 
>>2445467
я бы еще через конструктор внедрение зависимостей сделал
Аноним 26/08/22 Птн 08:44:23 #127 №2445679 
>>2445653
> пук среньк
Аноним 26/08/22 Птн 09:09:24 #128 №2445686 
>>2445617
Этот еблан путает старый ASP.NET, который был такой же устаревший легаси монстр с практиками из нулевых, как спринг, с новым ASP.NET core
Почему я ненавижу большую часть коллег, потому что вот подобные дегенераты работают без кругозора в своей же сфере
Аноним 26/08/22 Птн 09:19:31 #129 №2445694 
Какие же шарпобляди дегенераты, пиздец просто.
Аноним 26/08/22 Птн 09:31:14 #130 №2445704 
>>2445686
>старый ASP.NET, который был такой же устаревший легаси монстр с практиками из нулевых, как спринг, с новым ASP.NET core
А в чем принципиальная разница?
Спринг так-то тоже не стоит на месте, и 6 версия будет отличаться от третьей и перфомансом, и фичами, и удобством.
Аноним 26/08/22 Птн 09:32:37 #131 №2445705 
Как в хибернейте вытаскивать данные из нескольких таблиц? К примеру, классический случай: есть покупатели и товары, они связаны промежуточной таблицей покупок (ид покупателя, ид товара). И как мне выдернуть по покупателю все купленные им товары? Писать join как в обычном SQL? В чём тогда преимущество хибернейта?
Аноним 26/08/22 Птн 09:32:39 #132 №2445706 
>>2445499
>Есть и вакансии без спринга
Есть, но там обычно поомйное легасное говно, где просто сервлеты + jdbc, и ничего более. В прицнипе код понятным и прозрачным получается, но увы далеко не уедешь на таком тулинге.
Аноним 26/08/22 Птн 09:34:28 #133 №2445708 
>>2445449
>95% бекенда это всё ещё спринг
Да.

>>2445449
>На котлине всё ещё только мобилки делают
Нет, часто вместо жабы используют котлин со спрингом, ну и еще ktor по мелочи бывает.
Аноним 26/08/22 Птн 09:59:11 #134 №2445733 
>>2445704
Судя по описанию, 6 спринг и 3 бут нихуя не будут отличаться, лол.
Аноним 26/08/22 Птн 09:59:24 #135 №2445734 
>>2445572
Значит, лучше в теле передавать SQL-запрос?
Аноним 26/08/22 Птн 10:08:05 #136 №2445739 
>>2445734
лучше вала не ебать а заняться делом
Аноним 26/08/22 Птн 10:16:01 #137 №2445747 
>>2445705
Может сначала ты хотя бы откроешь документацию? Маппинг разбирается в самом начале
Аноним 26/08/22 Птн 11:11:18 #138 №2445783 
Продолжаю насиловать Hibernate, такая беда: когда таблица создается им самим, то я не могу вставить сущность прямым запросом, Постргес ругается, что я явно не указал ID:

ERROR: ОШИБКА: нулевое значение в столбце "id" нарушает ограничение NOT NULL

Хотя если я предварительно создам таблицу запросом, все работает нормально, и через Hibernate, и через запросы. Как можно в явном виде указать, чтобы у поля ID был тип SERIAL?
Аноним 26/08/22 Птн 11:49:44 #139 №2445822 
>>2445783
Никак, такое только в паре орм реализовали, и хибер не в их числе
Аноним 26/08/22 Птн 11:53:52 #140 №2445824 
>>2445822
Сцуко. Они что, не предусмотрели, что кто-то через INSERT что-то захочет вставить?
Аноним 26/08/22 Птн 11:55:10 #141 №2445825 
2022-08-2611-52-28.png
Предлагаю всем джавачем присоединиться к следующему флешмобу
Аноним 26/08/22 Птн 12:02:46 #142 №2445830 
>>2445824
Предусмотрели, но без интерсепторов с хинтами это сделать практически нереально
Аноним 26/08/22 Птн 12:04:04 #143 №2445832 
>>2445825
Да вообще пиздец, до сих пор идею не переписали на C++.
Аноним 26/08/22 Птн 12:07:58 #144 №2445834 
>>2445832
Вот кстати да, у них же была историческая возможность продемонстрировать, что джава не говно и нужна не только, чтобы индусы фабрики на спринге создавали.
И что в итоге? IDEA тормозит ну просто безбожно, хуже только eclipse вот ведь какая ирония
Аноним 26/08/22 Птн 12:13:50 #145 №2445839 
>>2445830
>но без интерсепторов с хинтами
Это как?
Аноним 26/08/22 Птн 12:14:20 #146 №2445840 
У меня все данные хранятся в БД, но вот щас появилась задача молниеносно реагировать на события с использованием данных из БД (время пинга до БД в несколько тысяч раз медленнее необходимой реакции, даже с диска читать медленно, только из хешмапы мб норм будет). Мне что, правда нужно ручками создавать кэши? А микросервисы как?
Аноним 26/08/22 Птн 12:15:06 #147 №2445841 
>>2445747
Я искал и ничего не нашёл. Там как со спрингом инфы ни где нет. Приходится методом тыка разбираться.
Аноним 26/08/22 Птн 12:23:28 #148 №2445848 
>>2445841
>Там как со спрингом инфы ни где нет
По Спрингу-то инфу нашли уже, а вот что там с бесплатными хостингами баз данных?
Аноним 26/08/22 Птн 12:26:33 #149 №2445852 
>>2445840
1) Ты уверен, что ты всё делаешь правильно? Такие задачи встречаются, но что у тебя "время пинга до БД в несколько тысяч раз медленнее необходимой реакции" это звучит ну очень сомнительно. За сколько тебе нужно ответить, за наносекунду? Что ты там пишешь, обработчик для ядерного реактора? mmorpg? Если это веб, то у тебя ~100 мс может просто запрос от клиента до тебя лететь, со всеми этими хендшейками, https и прочей фигнёй.
2) Кэш это более чем нормально на самом деле, правда обычно применяется в ситуациях, когда данные скажем нормализованы и тебе неохота постоянно их собирать и мб высчитывать что-то, когда у тебя оно уже посчитано. Главное имей ввиду, что с кешами тоже бывают головняки, они устаревают, разбухают и можно словить рассинхрон между кешами, если у тебя больше одной ноды в приложении.
3) Микросервисы это тупо способ представить одно приложение, как набор из нескольких десятков приложений поменьше. Сами они ничего не ускоряют и даже наоборот, замедляют работу системы, потому что раньше компоненты приложения общались друг с другом в рамках одного системного процесса, а с микросервисами им приходится это делать через сеть. И уж тем более они никак тебе не помогут в случае, если тебе нужно быстро что-то отдать. Максимум, конкретную ручку, к ооторой такие особые требования, можно в отдельный деплоймент вынести, чтобы удобнее было за потреблением ресурсов следить, но микросервисами оно от этого не станет.
Аноним 26/08/22 Птн 12:31:48 #150 №2445856 
>>2445852
>можно словить рассинхрон между кешами, если у тебя больше одной ноды в приложении.
Вот в этом то и прикол. Раньше у меня была одна нода, и всё я держал в прокаченной хешмапе и постепенно сбрасывал на диск все изменения. Но потом нагрузка выросла, и мне потребовалось горизонтальное масштабирование, я решил добавить ещё пару нод, а связать их с помощью общей БД. Но реакция становится гораздо медленнее, а с кэшами рассинхрон или экспоненциальная сложность разработки чего-то из-за необходимости всё синхронизировать.
Аноним 26/08/22 Птн 12:34:31 #151 №2445858 
>>2445856
редис с доступом со всех нод?
Аноним 26/08/22 Птн 12:34:57 #152 №2445859 
>>2445856
А imdg по типу хазелкаста медленные для твоего случая?
Ибо пока что похоже на хеш мапу с шардированием
Аноним 26/08/22 Птн 12:35:43 #153 №2445861 
>>2445841
Да это просто тупая жаба со своими фреймворками, которые даже сами создатели не до конца понимают, когда жаба уже умрет, а спринг выпустит свой собственный язык
Аноним 26/08/22 Птн 12:40:35 #154 №2445866 
>>2445861
Написал запрос с джойнами через хибернейт и нифига не работает. Запустил SQL-клиент и попробовал тот же самый запрос и мне всё четко выдало. Так что этот хибернейт не только бесполезный, но ещё и вредный, так как даже простые запросы не может выполнить.
Вот многие пишут, что дескать в JDBC надо писать много стереотипного кода. А в хибере не надо что ли!? Его там на порядок больше. Ты просто все сущности должен обмазать аннотациями и по 100 раз прописать тупому хиберу что и с чем связано, а потом также как в JDBC делать запросы через тонны связок с сессиями, подключениями, транзакциями и прочей фигнёй.
Аноним 26/08/22 Птн 12:44:36 #155 №2445870 
>>2445866
Полностью согласен с тобой, большинство нормальных людей ни хибер, ни спринг дату вообще не используют, в основном только ждбс и то сейчас пошла тенденция хранить все данные в статической хэшмапе отдельного класса, говорят за этим будущее
Аноним 26/08/22 Птн 12:45:18 #156 №2445872 
>>2445856
Ну тут есть варианты. Первым на ум приходит редис, как правильно заметил >>2445858. Хотя если у тебя такие ниибаццо строгие критерии, то пинг до редиса может тебе не подойти.
Рассинхрон кешей на самом деле вполне решается. Они у тебя ленивые или как? Если тебе их заранее не нужно прогревать, то можешь просто более или менее короткий экспирейшен кеша выставить и считать, что (иногда) рассинхоны это норма.
В противном случае можно попробовать как-то синхронизировать твои ноды. К примеру, все данные могут лежать в базе, а все ноды или раз в несколько секунд делают select * from caches where updated_at > {last_updated_at_from_service}. либо вообще listen/notify, если бд позволяет. Тогда как только кеш обновится в базе, остальные сервисы в течение короткого времени сами заметят изменения и подтянут его. Рассинхрон тут всё равно возможен, да, но что поделать. Просто по CAP теореме, у тебя будет или рассинхрон, или простои системы, потому что это же сеть, тут обрывы связи - это обычное дело.
Ну кстати или синхронизировать это говно какой-нибудь очередью, или кафкой/кроликом/тп, или просто wal читать от базы.
Аноним 26/08/22 Птн 12:50:55 #157 №2445878 
>>2445659
В чем разница? Можно ведь просто @Autowired поставить.
Аноним 26/08/22 Птн 12:55:34 #158 №2445880 
>>2445872
>>2445859
>>2445858
Спасибо, аноны, за помощь, придётся погружаться в хазелькастовую залупу, выглядит как решение для меня. Но я ещё подумаю, может быть, в моём кейсе можно справиться, не прикасаясь к кровавому энтерпрайзу с его терабайтными инструментами.
Аноним 26/08/22 Птн 12:57:09 #159 №2445881 
>>2445880
Хуй тебе, не справишься.
Аноним 26/08/22 Птн 13:06:15 #160 №2445897 
Посоветуйте плиз хороший материал по секурити и кафке. С документации начинать чет вообще не хочется, там как обычно на первых парах хуй разберешь, что тебе нужно в данную секунду, а что нет
Аноним 26/08/22 Птн 13:06:36 #161 №2445898 
>>2445880
Хз, хазелькаст выглядит оверкиллом а ещё они корпопидоры
И делают скорее всего примерно то же самое, что тебе описали выше, просто лаве берут за это
Аноним 26/08/22 Птн 13:14:29 #162 №2445909 
>>2445898
Есть бесплатный хазель. Ну и если почему-то не подходит, то есть еще Infinispan, Ignite
Аноним 26/08/22 Птн 13:24:42 #163 №2445917 
>>2445878
Ну вот кстати частый вопрос, который задают на собесах: основные способы реализации внедрения зависимостей и самый предпочтительный из них.
Best Practices - через конструкторы, тут конечно можно холивар развернуть (но это один из тех вопросов, на который все знают ответ, а почему забыли). Я за последние пару лет @Autowired встречал один раз всего, он нужен был для self-injection, что в свою очередь говорит, что где-то проеб с архитектурой.
Аноним 26/08/22 Птн 13:25:17 #164 №2445918 
>>2445909
hazelcast не нужен. Все решается обычным редисом.
Аноним 26/08/22 Птн 13:26:36 #165 №2445920 
>>2445878
Тестировать проще. Ты можешь запросто написать юнит-тест и передать все необходимые замоканные зависимости в виде аргументов конструктора.
Аноним 26/08/22 Птн 13:27:39 #166 №2445923 
>>2445917
>@Autowired встречал один раз всего
А в тестах?
Аноним 26/08/22 Птн 13:27:40 #167 №2445924 
Эх, как же хочется 18 жабу, быструю, оптимизированную, с виртуальными тредами...
Аноним 26/08/22 Птн 13:27:59 #168 №2445925 
>>2445924
19*
Аноним 26/08/22 Птн 13:29:39 #169 №2445929 
>>2445924
Может тебе еще и спрнг-натив с граалем и быстрым стартом и реактивный вебшлюкс? Больше ничего не хочешь?
Аноним 26/08/22 Птн 13:30:43 #170 №2445930 
>>2445924
Скачай и пользуйся дурак
Аноним 26/08/22 Птн 13:31:37 #171 №2445932 
>>2445923
В тестах через mokito бины создаем.
Аноним 26/08/22 Птн 13:33:03 #172 №2445934 
>>2445932
А незамоканные бины в твоих тестах никогда не нужны?
Аноним 26/08/22 Птн 13:37:55 #173 №2445937 
Ну подскажите, анчоусы, оч надо
>> Посоветуйте плиз хороший материал по секурити и кафке
Аноним 26/08/22 Птн 13:39:58 #174 №2445939 
>>2445937
А зачем тебе секурити в кафке?
Интересно, работаю с кафкой некоторое время, но секурити пока не требовалось. Может тоже что-то почитал бы по этой теме.
Аноним 26/08/22 Птн 13:49:21 #175 №2445953 
>>2445939
Я имел ввиду раздельно а не 2 в 1
Аноним 26/08/22 Птн 14:01:12 #176 №2445956 
>>2445953
по кафке я читал первые 7 глав "kafka definitive guide 2nd edition", мне хватило для начала. По спринг-кафке только видосы от конфлюенса: https://developer.confluent.io/learn-kafka/spring/spring-boot-with-apache-kafka-hands-on/ , дока и статьи в блоге конфлюентса https://www.confluent.io/blog/tag/spring/
Аноним 26/08/22 Птн 14:05:03 #177 №2445961 
>>2445956
Это очень мало. Т.е. это буквально "изучил API клиентской библиотеки и какие аннотации развешивать". На слабенького джуна пойдет.
Аноним 26/08/22 Птн 14:16:49 #178 №2445971 
В гите про книгу Спринг ин экшн написано:

Обрати внимание именно на 4-е издание. Да, мы в курсе, что есть шестое. Да, мы в курсе, что перевод на русский есть только на третье издание. Но в шестом издании нет подробного описания подкапотного устройства и выкинута настройка с помощью XML.

Что тут подразумевается под подробным описанием подкапотного устройства?
Аноним 26/08/22 Птн 14:34:35 #179 №2445994 
>>2445971
Как спринг трогает кишки jvm и прочая непотребщина.
Аноним 26/08/22 Птн 14:34:59 #180 №2445997 
>>2445971
Бин пост процессоры, ридеры, бин фактори, эвенты, наверное вот это все и так далее
Аноним 26/08/22 Птн 14:36:35 #181 №2446000 
41ojhAapZVL.SX404BO1,204,203,200[1].jpg
39793332[1].jpg
>>2445961
Так я и есть джун. А какие ты думаешь требования на мидла+ по знаниям кафки? Думаю прочесть вот эти книжки.
В самой доке кафки кстати очень мало инфы, надо кипы читать и комменты к ним.
Аноним 26/08/22 Птн 14:37:27 #182 №2446004 
>>2445956
Спасибо анон, а на годные видосы на ютубе не натыкался?У меня легче идет, когда я миксую источники инфы, а не только книгу пялю весь день
Аноним 26/08/22 Птн 14:58:44 #183 №2446036 
>>2446004
Смотрел штук 5 видосов на русском(английский на слух у меня плох, смог только видосы по спринг-кафке от гамова посмотреть) для нулей, не один не могу посоветовать. Если нужен хоть какой-то, то вот https://www.youtube.com/watch?v=ZfbQfUAPVWY&t
Вот примерно очерчены популярные подводные камни, которые в будущем встретятся. https://www.youtube.com/watch?v=A_yUaPARv8U https://www.youtube.com/watch?v=MG_a6MT1DQg После книжки заходит.
Вот неплохой ликбез по обработке ошибок, правда апиха спринг-кафки немного устарела. https://www.youtube.com/watch?v=OnZ7JArSoiU
Аноним 26/08/22 Птн 15:00:55 #184 №2446039 
>>2446036
Благодарю.
Аноним 26/08/22 Птн 15:28:32 #185 №2446058 
Мимокрокодил с другого языка в треде.

>>2446036
> правда апиха спринг-кафки немного устарела

Можешь пожалуйста пояснить, что такое вообще "спринг кафка" и причем вообще тут спринг?
Поясню свою мысль.
Кафка это же внешний сервис, со своим клиентом, который ты просто подключаешь в свой код каким угодно образом и используешь. При чём тут вообще фрейморк? Зачем вам какой-то особый мост между спрингом и кафкой?
Казалось бы, буквально в нужном сервисе в коде инжектишь kafkaClient или там interface publisherClient и просто начинаешь писать туда сообщения или читать их.
Аноним 26/08/22 Птн 15:39:44 #186 №2446069 
>>2446058
Это более высокоуровневая апишка над кафка-клиентом. Например консюмер выглядит не просто как бесконечный цикл, а все обернуто в метод с аннотацией. Есть json-serializer/deserializer для сериализации pojo-dto. Посмотри первый видос.
Причем это не самая высокоуровневая апишка. Есть еще spring-integration-kafka поверх spring-kafka.
Аноним 26/08/22 Птн 16:01:37 #187 №2446087 
Ну и как сейчас обучаться Джаве, если ничего у буржуев оплатить не можешь? Hyperskill не берет деньги, Udemy не берет. У Васянов что-ли на ютубе?
Аноним 26/08/22 Птн 16:05:10 #188 №2446089 
>>2446087
https://dotnet.microsoft.com/en-us/learn/csharp
Аноним 26/08/22 Птн 16:13:40 #189 №2446099 
>>2446087
Пиздуй читать книги, сука.
Аноним 26/08/22 Птн 16:13:50 #190 №2446100 
>>2446089
Зачем ты в джава треде предлагаешь учить сишарп?
Аноним 26/08/22 Птн 16:16:58 #191 №2446102 
>>2446100
Такие как ты ему отвечают вместо игнора, вот он и не съёбывает.
Аноним 26/08/22 Птн 16:22:09 #192 №2446109 
>>2446099
Хочу писать учебные проектики и чтобы проверочка была.
Аноним 26/08/22 Птн 16:27:52 #193 №2446117 
>>2446109
Во многих книгах есть упражнения, а на гитхабе автора можешь глянуть правильные решения.
Аноним 26/08/22 Птн 16:42:50 #194 №2446124 
>>2446109
Рефку поспрашивай на гиперскилл. 3 месяца + по месяцу за выполненный проект и пройденную ступень. Итого 5. Если не ебланить, нормально получится.
Аноним 26/08/22 Птн 16:54:32 #195 №2446137 
>>2445939
Если у тебя хоть какая то нода не защищена, у тебя не защищено ничего. Секурити должен быть везде и тотальный.
Аноним 26/08/22 Птн 17:06:19 #196 №2446150 
Я перешел на 3й курс уника. На данный момент знаю весь кор джавы и спринга. Плюс по мелочи sql , Liquibase , паттерны основные. Есть много петов на этом стеке. Вопрос что мне учить дальше что бы по окончании учебы быть полезным?
Аноним 26/08/22 Птн 17:07:27 #197 №2446152 
Как использовать хотсвап?
Аноним 26/08/22 Птн 17:12:29 #198 №2446160 
>>2446137
>Потому что потому
Ну мааам. Кафка же во внутреннем контуре, во внешний интернет не торчит. Это же не рест-апиха, которую мы отдаем на машины пользователей.
Я понимаю, что бывает, когда торчит публичный топик для внешних пользвателей, но это отдельный кейс.
Аноним 26/08/22 Птн 17:22:47 #199 №2446172 
image.png
Что выведется?
Аноним 26/08/22 Птн 17:25:07 #200 №2446178 
>>2446172
Сначала 1 и 2 в любом порядке, потом 1 и 2 в любом порядке снова.
Аноним 26/08/22 Птн 17:25:57 #201 №2446180 
>>2446172
Пиздец, у меня мозг сломался, когда я увидел в map действие какое-то. Нахуй так делать?
Аноним 26/08/22 Птн 17:38:53 #202 №2446201 
Смотрите я хочу сделать два микросервиса:
1) первый на noSql webflux
2) обычный синхронный CRUD на Sql, который стучится в первый сервис и берет из его джейсонины некоторые кей валью, но не все.
Это будет работать?
Аноним 26/08/22 Птн 17:40:28 #203 №2446204 
>>2446124
Спасибо, не знал что там есть рефералки с таким щедрым подгоном. Жаль только придется прокликивать все пройденные темы если продолжать с новым аккаунтом.
Аноним 26/08/22 Птн 17:54:36 #204 №2446218 
>>2446178
1122
Почему так?
Аноним 26/08/22 Птн 18:05:08 #205 №2446237 
>>2446218
Мб отправка в консоль асинхронная? А вообще не представляю, как такое может быть.
Аноним 26/08/22 Птн 18:11:25 #206 №2446248 
>>2446237
Думаю тут замешаны оптимизации компилятора.
Аноним 26/08/22 Птн 18:49:15 #207 №2446328 
В гуаве или апаче коммонс есть класс, похожий на Either или Result из котлина?
Аноним 26/08/22 Птн 19:04:49 #208 №2446344 
тэк.png
Почему я не могу так отсортировать примитивы? Я хочу перенести все нули вправо, сохранив порядок других элементов. И как это сделать? Закинуть туда Integer::compare(i, 0) нельзя чо началось то нормально же сортировали
Аноним 26/08/22 Птн 19:47:32 #209 №2446415 
Что посмотреть/почитать про докер?
Аноним 26/08/22 Птн 19:57:39 #210 №2446420 
>>2446415
Для начала у letscode есть 2-3 неплохих видео по докеру. Дальше гуглишь пример spring boot + postgres в docker compose, разворачиваешь это дело, проверяешь что все работает как надо.
Ну и еще бы желательно про networking в докере почитать: bridge, host, вот это все. Тут лучше документацию читать.
Аноним 26/08/22 Птн 19:58:43 #211 №2446421 
>>2446420
Спасибо
Аноним 26/08/22 Птн 19:59:41 #212 №2446423 
>>2446344
>Почему я не могу так отсортировать примитивы
Потому что Comparator.comparingInt принимает на вход ToIntFunction. У тебя же лямбда boolean возвращает.
Аноним 26/08/22 Птн 20:08:01 #213 №2446428 
>>2446423
Но если бы это был стрим объектов .boxed, то все бы работало (только надо было бы Comparator.comparing()), а потом mapInt. А я не хочу заниматься автоупаковкой и автораспоковкой, какое решение?
Аноним 26/08/22 Птн 20:21:22 #214 №2446440 
>>2446344
>>2446428
sorted() у IntStream не принимает никаких аргументов. Так что да, нужно боксить.
Аноним 26/08/22 Птн 20:37:58 #215 №2446464 
>>2446415
docker build
docker run
Аноним 26/08/22 Птн 20:44:07 #216 №2446471 
>>2446440
>нужно боксить
Нинужна!11 Я тогда лучше классическим православным циклом for сделаю, чем буду пидорским стримом примитивы в обертки засовывать, а потом высовывать.
Аноним 26/08/22 Птн 21:10:53 #217 №2446497 
Какие вещи в кубере неплохо было бы знать будущему ждуну? Или мне хуй забить и даже не открывать это, пока работать не начну?
Аноним 26/08/22 Птн 21:13:34 #218 №2446500 
Имплементировать Either в свой шарповский код - хорошая идея чи нет?
Просто меня немного подзаебало, что вот есть контроллеры. Вот есть сервисы. Я хуйнул Either<TResult, TError>, переопределил приведение.
Сейчас контроллеры выглядят примерно так:

public IActionResult GetList() => _service.GetList();
В случае если все ок - вернется лист, если не ок - ошибка вида:
{
Error:Code,
Message: ErrorMessage
}

Но чет я думаю - и со стороны ж не очивидно. Типа да, коджа стало меньше, он чище. Но теперь кому-то еще - нужно лезть в реализацию сервиса, чтобы понять, чому ему возвращается что-то там. А потом - разбираться как оно работает.
Короче. У вас такое делают?
Аноним 26/08/22 Птн 21:29:34 #219 №2446508 
>>2446500
Тред больных синдромом дауна немного ниже на доске.
Аноним 26/08/22 Птн 21:31:03 #220 №2446510 
>>2446508
Та блядь.
Хули ссылка на новый тред - сюда ведет?
Аноним 26/08/22 Птн 21:34:50 #221 №2446513 
>>2446328
Бамп
Аноним 26/08/22 Птн 23:34:44 #222 №2446594 
Бля чет зашел щас на hh поискать вакансии на ждунов в мск и мне выдало аж 15 штук, в половине которых набирают на самом деле не разрабов, а dba или q/a, а в другой просят какие-то ноунейм технологии, которые ради одной этой компании учить впадлу. Че за хуйня? Реально сейчас работу вообще найти? Я так-то скоро пиздовать искать хотел. Хелп
Аноним 26/08/22 Птн 23:46:31 #223 №2446600 
>>2446594
Да нормально щас, надо только реальные навыки иметь
Аноним 27/08/22 Суб 00:04:08 #224 №2446618 
>>2446600
Что ты имеешь ввиду под реальными навыками? Ну вот у меня будет реальный навык написания говнокруда за 10 минут на 5 эндпоинтов этого достаточно чи шо?
Аноним 27/08/22 Суб 00:10:12 #225 №2446629 
>>2446218>>2446237>>2446248
Вы ебанутые? С первого дня создания стримов они были ленивыми, вот вам последствия. Вся цепочка стрима не вызывается, пока не будет вызвана какая-то терминирующая стрим операция.
Тфв когда жабу ругают за отсталость, но на деле фича типа генераторов есть испокон веков но разрабы заросли мхом
Аноним 27/08/22 Суб 00:44:53 #226 №2446661 
ResultSet set = statement.executeQuery();
set.getLong("property"); // и вот тут поток умирает нахуй (зависает), чому? У меня склайт.
Аноним 27/08/22 Суб 06:02:57 #227 №2446715 
>>2445834
>хуже только eclipse
хз у меня древний эклипс с майнкрафтом на древнем ноуте наоборот хорошо работает даже с 4гб оперативки
а вот идеякал всю оперативку сжирала еще и тема уебищная и хотсвопать на отдельные кнопки нужно
да и в целом неудобный редактор неказистый какой то
хотя хз за шесть лет может улучшили
Аноним 27/08/22 Суб 09:02:59 #228 №2446760 
>>2445705
Разобрался! Оказывается хибернейт сам заполняет сущности теневыми запросами. Ни в одной книге этот момент не объясняется. Про мурзилки ваши вообще молчу, там всякий бред только пишут, далёкий от реальных проблем.
Аноним 27/08/22 Суб 09:36:35 #229 №2446778 
>>2446618
Нет, нужно уметь решать медиумы на литкоде, хорошо разбираться в тонкостях многопоточной синхронизации, уметь пояснить за коллекции в деталях.
Ну и да, уметь написать круд с регистрацией, авторизацией (spring core, data jpa, security), поднять в докере, уметь написать юнит тесты + желательно знать основы микросервисных хуевин.
Это уровень такого слабенького стажера на самом деле в 2х22 году. Вот с такого уровня уже можно вкатываться в работу.
Аноним 27/08/22 Суб 09:39:46 #230 №2446781 
>>2446778
>поднять в докере
Что это значит? Загрузить туда программу и запустить? Разве это не работа сис. админа? Как изменяется код от того, что он запускается в докере?
Аноним 27/08/22 Суб 09:46:30 #231 №2446786 
>>2446781
>Загрузить туда программу и запустить
Да.

>Разве это не работа сис. админа?
В теории его, но на практике все везде крутится в докере. Не умея работать с докером ты просто не сможешь удостовериться в том, что твой код вообще работает, а не просто тесты проходит.
Аноним 27/08/22 Суб 12:07:20 #232 №2446916 
>>2446069
А зачем это всё?
Захочу сделать сериализацию в нужном месте - ну просто внутри коллбека вызову руками нужный сериализатор и всё.
Зачем мне комбайн, который что-то там делает под капотом волшебное, когда я могу руками из библиотек собрать ровно то, что мне нужно?

>>2446715
Справедливости ради, идея всё же лучшее, что есть на рынке IDE сейчас. Все эти visual studio code и рядом не стояли по возможностям.
Аноним 27/08/22 Суб 12:45:38 #233 №2446989 
>>2446916
>А зачем это всё?
Затем, зачем и всегда нужны фреймворки, уменьшить бойлерплейт код. Да и хз, что у тебя там в питоне, интерфейсы какие-то. Нативный джавовский клиент не так устроен, может там тоже какие-то дополнительные функции.
Над продюсером и админ апи там очень маленькие прослойки.
А над консьюмером там большой комбайн с конфигурацией еррор-хендлеров(с конфигурацией ретраев/пересылки в длт), конкурентного чтения, пакетной обработки, десятком видов фиксации оффсета, мониторингом, транзакциями, остановкой/паузой консьюмера, поддержкой евентов на каждую стадию обработки сообщения, валидацией дтошек, оберткой, чтобы клиенты кафки работали в с семантике запроса/ответа, дополнительными конверторами, делегатами десериализаторов.
Аноним 27/08/22 Суб 12:46:38 #234 №2446990 
>>2446916
>Захочу сделать сериализацию в нужном месте - ну просто внутри коллбека вызову руками нужный сериализатор и всё.
>Зачем мне комбайн, который что-то там делает под капотом волшебное, когда я могу руками из библиотек собрать ровно то, что мне нужно?
Чтобы не тратить время. Spring-kafka это неплохой компромисс между простотой и низкоуровневым апи, стандартная спринговая либа, все гибко настраивается. А вот все остальное, что там наворотили это лютый пиздец. Кафка слишком сложная вещь, куча мест, где все может сломаться и абстракции потекут. Новичкам возможно действительно лучше начинать с простого кафка клиента, и делать все вручную, понимания будет больше. А то в spring-kafka аннотацию над методом поставил, пару пропертей прописал и все, кажется, что все будет работать (нихуя).
Аноним 27/08/22 Суб 15:42:34 #235 №2447188 
simplescreenrecorder-2022-08-2715.13.03.mp4
simplescreenrecorder-2022-06-0720.46.06.mp4
simplescreenrecorder-2022-06-0721.08.41.mp4
Выхожу на связь, давненько не писал, был творческий кризис. Сделал свое личное карманное AWT с перехватом фокусов, менежментом активностей фреймов и прочая и прочая. Это все нужно для редактора карт, которому нужна своя оконно-компонентная система (использовать swing постеснялся, решил написать своё) d2d2-components обособлена как отдельная либа, со своими git репозиторием и своей mvn dependency. Нет пока только layouts, компоненты нужно выставлять вручную, указывая координаты. Пока не придумал как сделать layouts так, чтоб не было слишком больно.
Аноним 27/08/22 Суб 16:02:46 #236 №2447203 
>>2447188
Как ты сделол такое если анончики говорят что джава в 2022 используется только для майнкрафт модов???
Аноним 27/08/22 Суб 16:11:08 #237 №2447212 
>>2447188
Хорошо, а теперь напиши идею.
Аноним 27/08/22 Суб 16:14:46 #238 №2447216 
>>2447203
Майнкрафт на чем написан, болезный?
Аноним 27/08/22 Суб 16:20:27 #239 №2447226 
>>2447216
На С++.
Аноним 27/08/22 Суб 16:26:06 #240 №2447235 
>>2447212
С использованием OpenGL?
Аноним 27/08/22 Суб 16:33:09 #241 №2447241 
>>2447235
С использованием того, что у тебя на вебмках.
Аноним 27/08/22 Суб 16:34:06 #242 №2447245 
>>2447226
К тому, который на крестах написан, внезапно и модов нет.
Аноним 27/08/22 Суб 16:34:42 #243 №2447247 
>>2447241
У него на вебмках не LWJGL
Аноним 27/08/22 Суб 16:36:06 #244 №2447250 
>>2447245
Лол, серьезно? Нахуй он тогда нужен?
>>2447247
Какая разница блядь? Пусть пишет идею чтоб работала быстро и не тормозила.
Аноним 27/08/22 Суб 16:43:06 #245 №2447256 
>>2447250
>Нахуй он тогда нужен?
Ну потому что
>Minecraft: Bedrock Edition does not support mods officially or unofficially due to the universal codebase upon which it's built. However, players on the most modern version of Minecraft can still change things up with the Minecraft Marketplace, an officially supported, community-built storefront filled with new maps, texture packs, character skins, adventure maps, and behavior / resource packs with free and premium options.
)
Аноним 27/08/22 Суб 16:51:09 #246 №2447260 
Сап, пацаны, есть у кого годный туториал по Маките и юнит тестам с её помощью?
Аноним 27/08/22 Суб 18:13:25 #247 №2447340 
1234.mp4
mapeditor.mp4
>>2447247
У меня на вебмках как раз LWJGL. Точнее велосипедный фреймворк общающийся с OpenGL через API LWJGL.
Аноним 27/08/22 Суб 18:21:31 #248 №2447349 
>>2447340
А, я тебе донатил, кажется. А может то не ты был, но вроде в этом разделе.
Аноним 27/08/22 Суб 18:24:29 #249 №2447351 
water.mp4
>>2447349
Спасибо! Если да.
Аноним 27/08/22 Суб 19:56:18 #250 №2447436 
>>2447351
Ты ведь про инвесторов c pay to earn что-то говорил, если я не путаю? И про найм других людей. Как с этим дела?
Аноним 27/08/22 Суб 20:33:44 #251 №2447473 
>>2447436
Пока что на этапе написания диздока, вайтпеппера, ванпейджера, сайта, вот этого всего, созвонов бесконечных. Диздок, кстати, дописал. Большие фонды пока не привлекали.
Аноним 27/08/22 Суб 20:42:48 #252 №2447490 
А нахуя Джаве виртуалка?
Вот рил, не понимаю. Джаву компилишь раз, запускаешь эвривеа.

А нахуя? Кто этим пользуется?

Типа в мобильной разаботке на Java/Kotlin пишут только на андроид, могли бы и в бинарник компилить как эпл делает.

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

Ты не будешь же бинарник переносить и запускать где-то еще.

Единственный плюс это ебаный JavaFX?
Аноним 27/08/22 Суб 20:44:14 #253 №2447495 
>>2447490
Типа либы ты не как сурс код подключаешь.
Аноним 27/08/22 Суб 20:49:51 #254 №2447509 
>>2447490
Виртуальная машина обеспечивает безопасность
Аноним 27/08/22 Суб 20:50:17 #255 №2447512 
>>2447509

Лучше чем линуксовые права?
Аноним 27/08/22 Суб 20:51:42 #256 №2447515 
>>2447512
Линуксовые права не спасут тебя, если начнёшь писать в массив мимо выделенной памяти или переполнишь стек.
Аноним 27/08/22 Суб 20:57:53 #257 №2447532 
>>2447515

А, ты про эту безопасность. Хартблиды всякие.

Но во многих компилируемых языках типа го/раста/свифта этих же проблем нет? Звучит как C/C++-ная хуйня
Аноним 27/08/22 Суб 21:36:01 #258 №2447615 
>>2447490
> Типа в мобильной разаботке
> Бэкенд? Но ведь сервера все и так со всякими докерами и виртуализациями рабротают
Бля чел, но джава появилась не одновременно с докером блядь, и не одновременно с ведроидом. Она появилась когда мне был годик или около того, а ещё через 7 лет появился ты.
И на момент появления этот функционал вообще мозг людям взрывал.
Аноним 27/08/22 Суб 22:21:28 #259 №2447639 
>>2447490
>Ты не будешь же бинарник переносить и запускать где-то еще.

Именно так это и работает. Подключаешь .jar файл в любой проект на любой архитектуре процессора - и вперед.
Аноним 27/08/22 Суб 22:29:48 #260 №2447644 
>>2447639

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

Дескторные кроссплатформенные приложения на джаве редкость, как и на чем угодно. Оказалось проще на дажваскрипте
Аноним 27/08/22 Суб 22:30:47 #261 №2447645 
>>2447644
СЕРВЕРА ПРИЛОЖЕНИЙ
Аноним 27/08/22 Суб 22:31:26 #262 №2447647 
>>2447644
На десктопе кстати тоже заебись, как плагины к какой-нибудь хуйне.
Аноним 27/08/22 Суб 22:43:36 #263 №2447660 
>>2447644
>Оказалось проще на дажваскрипте
Eclipse, Intellij IDEA + сотни производных. Оказалось что на жабаскрипте как-то не проще.

Android - arm7, armv8a, x86, x86_64.

linux - любой сервер, Мб небольшое embedded уст-во. Подошел уверенно и запустил.

J2ME. Какая у них там вообще архитектура?

SIM карты - тоже жаба VM.

iOS - чисто политика Apple. Теоретически что мешает там запустить JVM
Аноним 27/08/22 Суб 22:47:52 #264 №2447666 
Дорогие разработчики. Меня, автотестера побудило вместо автотестов написать банальную программу, которая открывает браузер (Selenide), кликает ссылки до тех пор, пока не доберётся до искомой страницы и парсит оттуда данные. Чтобы сэкономить время, я сделал 100 строк в классе Main, метод main. В нём же есть spring-mail dependency код. Никаких больше потоков. Ну да ладно. Идея запускает код. Браузер открывается, контент со страницы парсится, на почту успешно отправляется.

Хочу поделиться программой с "неайтишником". Да так, чтобы ему jre и jdk не пришлось устанавливать (буду ему скидывать папку со скачанным jdk и свой jar-ник запулю в jdk/bin, а корне создам bat. У друга Винда).
Что делаю я: пишу mvn package. Он мне давай делать jar без dependencies. Гуглю. Пишут, мол, напиши, maven shadow plugin. Ну ок. Опять пишу mvn package. Он мне создает 2 jar файла: один без dependencies, а второй с dependencies. Тот, что без dependencies имеет манифест с прописанным Main. Тот, что с dependenies имеет лес файлов (jar-ники dependencies), но манифеста не имеет.

Фокус с запихиванием манифеста и Main класса в jar-ник с dependencies не работает.
Значит я должен написать в bat файле, как запустить эти два jar файла одновременно.

Помогите, пожалуйста, разрабы.
Аноним 27/08/22 Суб 22:51:57 #265 №2447667 
>>2447666
Разрабы, помогите ему

мимо тимлид
Аноним 27/08/22 Суб 22:55:38 #266 №2447674 
>>2447666
Не силен в мавене, но в нрадле при генерации jar создается bat файл для запуска с зависимостями. Можешь его вручную сделать, просто в bat файле пропиши --classpath и все зависимости и main класс
Аноним 27/08/22 Суб 22:55:56 #267 №2447675 
>>2443284
Напиши игру на андроид по туторам и можешь идти.
Аноним 27/08/22 Суб 23:12:37 #268 №2447683 
>>2447675
Идти нахуй?
Аноним 27/08/22 Суб 23:18:25 #269 №2447694 
>>2447660
>SIM карты - тоже жаба VM.
Охуеваю каждый раз как слышу.
Аноним 27/08/22 Суб 23:21:26 #270 №2447701 
>>2447666
google - maven assembly executable jar
Аноним 27/08/22 Суб 23:31:32 #271 №2447711 
>>2447674
В градле сам по себе этот jar с dependencies и батник создаются или нужно таску писать? Если нужно таску писать, то наприши, пожалуйста, приблизительный текст из build.gradle
Аноним 27/08/22 Суб 23:37:36 #272 №2447717 
>>2447660
>J2ME. Какая у них там вообще архитектура?
Java 2.0 for Mobile Environment. Хочешь игры от Gameloft для кнопочных нокий и сони-эриксонов поредактировать? Я такой jar-ник раскрыл. Прикольно было. Одни if-ы. :)
Аноним 27/08/22 Суб 23:48:05 #273 №2447726 
Вычисление среднего арифметического числа, это как шаблон получается ? Например при ришении какой-либо задачи нужно будет вычислить это, и я буду уже знать ?
Аноним 27/08/22 Суб 23:50:06 #274 №2447729 
967191599ced7e197779897482bc753b.jpg
>>2447717
Программирование - это же одни if-ы и есть
Аноним 27/08/22 Суб 23:55:11 #275 №2447732 
>>2447726
Если ты про паттерны проектирования, ты понял их суть. Паттерны не придумывают, их обнаруживают в коде, просто замечают, что один и тот же подход используется в самых разных местах.
Аноним 27/08/22 Суб 23:55:35 #276 №2447733 
>>2447711
Кастомных тасок не надо. В градл файле подключаешь плагин application. И дальше в конфигурации прописывает что то типо application { mainClassName ""}.

А вот как задача называется которая запускает это сборку - уже не припомню. Вроде как distZip

P.s. вот дока https://docs.gradle.org/current/userguide/application_plugin.html
Аноним 28/08/22 Вск 00:23:52 #277 №2447744 
>>2447732
Вычисление среднего арифметического - это алгоритм.
Аноним 28/08/22 Вск 11:25:27 #278 №2447891 
image.png
image.png
Почему я экранирую кавычки , но на фррон приходят еще и эти слэшы
Аноним 28/08/22 Вск 11:30:04 #279 №2447895 
зачем стримы примитив типов неужели боксинг такой дорогой
Аноним 28/08/22 Вск 14:41:56 #280 №2448088 
>>2447660
Почему до сих пор существуют другие языки, кроме жабы? Она же блять буквально для всего подходит, сука.
Аноним 28/08/22 Вск 15:05:18 #281 №2448104 
>>2447895
А ты сам как думаешь, мелкобуква тупорылая?
Аноним 28/08/22 Вск 15:06:42 #282 №2448106 
>>2447744
>>2447732
Вы дауны? Это функция в любой математической библиотеке Math.average(List<Integer> integers), иначе это - АНТИПАТТЕРН.
Аноним 28/08/22 Вск 15:24:29 #283 №2448118 
>>2447891
Это у вас на курсах что ли не объясняют про escape sequences, но уже впаривают JS?
Аноним 28/08/22 Вск 17:15:29 #284 №2448319 
Я сантехник, только в айти. Каждый день только и делаю, что чищу унитазы с данными и вытаскиваю застрявшие какашки. Матан, геометрия, теорвер - это всё я когда-то сдавал в вузе и всё позабыл, так как это в итоге не пригодилось. Это для умных разработчиков унитазов, а я просто сантехник.
Аноним 28/08/22 Вск 17:19:38 #285 №2448327 
>>2448104
я думаю нет
а с хуяли
тем более что ввели вместе с попыткой в функциональщину
где и мутабельность и персистент дата
то есть на любой пук пересобираются деревья списки объекты
да и жаба всегда на производительность хуй клала
Аноним 28/08/22 Вск 18:21:02 #286 №2448386 
>>2447473
Что за док, пеппер и пейджер?
Аноним 28/08/22 Вск 18:32:28 #287 №2448405 
.png
>>2448386
> пейджер
Аноним 28/08/22 Вск 19:33:51 #288 №2448519 
Подскажите, а для java есть какой-нибудь интерактивный курс, наподобие "A tour of Go" для go? Чтобы познакомиться быстренько с синтаксисом, а далее уже более практические туториалы наворачивать?
Аноним 28/08/22 Вск 19:55:13 #289 №2448558 
>>2448519
Шилдт. Не надо читать от корки до корки. Но как только возникнет какой-то вопрос - сразу же открываешь книгу и читаешь статью о вопросе целиком.

Чтобы появились вопросы нужна задача, тут уже сам придумывай, я посоветую плагины для майнкрафта писать.
Аноним 28/08/22 Вск 19:58:45 #290 №2448562 
>>2448519
Нах тебе "интерактивный" курс, лень текстовый редактор и окошко с консолькой запустить?
https://learnxinyminutes.com/docs/java/
https://metanit.com/java/tutorial/
Аноним 28/08/22 Вск 20:10:34 #291 №2448567 
>>2443253 (OP)
Как научиться правильно выбирать уровень изоляции транзакции? Ну так, чтобы не наломать дров.
Аноним 28/08/22 Вск 22:40:50 #292 №2448773 
>>2448567
Выбирай самый высокий, не ошибешься
Аноним 28/08/22 Вск 22:50:50 #293 №2448787 
Не стыдно ли вкатываться джава джуниором на 43 лвле?
Аноним 28/08/22 Вск 22:51:45 #294 №2448790 
>>2448773
Не просто так же придумали эти уровни.
Аноним 28/08/22 Вск 22:52:24 #295 №2448791 
>>2448787
Стыдно. Но не из-за возраста, а из-за того что джуном. Вкатывайся мидлом.
Аноним 28/08/22 Вск 22:59:21 #296 №2448797 
>>2448790
Просто так.
Аноним 28/08/22 Вск 23:10:49 #297 №2448805 
Почему, когда я в тестах через mockMvc посылаю гет запрос на свою страницу, требующую авторизации, мне возвращается 401 статус нот авторайзд, если по идее должен быть 302 редирект на логин пейдж? Та же хуйня, если посылать постманом, но вот если в браузере открыть, то все ок и будет 302. Чет мне эта хуйня не дает покоя, учитывая, что в видосе литкода все ок и возвращает статус редирект в тестах. Конфиги у нас с ним одинаковые плюс минус, мб дело в версиях?
Аноним 28/08/22 Вск 23:50:54 #298 №2448845 
>>2448773
Самый высокий = транзакции выполняются последовательно = толку от нескольких ядер 0, всё равно СУБД будет работать в несколько раз сильнее, чем могла бы.
Аноним 29/08/22 Пнд 00:05:43 #299 №2448871 
image.png
image.png
Объясните пожалуйста , что надо сделать что бы поднять приложуху на убунту ? В конфигурационм файле nginx я прописал перенаправление с порта 80 на тот что указан в приложухе. Приложуха запустилась на этом порту. Но один хуй не могу зайти . Выдает 502ю
Аноним 29/08/22 Пнд 00:15:40 #300 №2448890 
>>2448871
Спроси у nginx-программистов.
Аноним 29/08/22 Пнд 00:52:38 #301 №2448919 
>>2448805
Скорее всего mockMvc автоматически следует редиректам. Постман именно так по дефолту и делает.
Аноним 29/08/22 Пнд 01:02:48 #302 №2448925 
>>2445449
Мобилки (Андроид) ещё и на Джаве продолжают делать те люди, что не начинали учить Котлин.
Аноним 29/08/22 Пнд 01:04:46 #303 №2448927 
>>2445403
Не разбираюсь, то если дословно перевести с английского, то reversed обозначает "перевернутый".
Аноним 29/08/22 Пнд 01:07:00 #304 №2448931 
>>2448927
Это и так понятно. У него же проблема, что при сортировке от А до Я всё работает, а при сортировки от Я до А жаба пишет "ты пидор".
Аноним 29/08/22 Пнд 01:13:22 #305 №2448932 
Необходимо создать общение двух JVM стандартными методами жабы. Как это сделать? Есть какие то мурзилки?
Аноним 29/08/22 Пнд 01:18:16 #306 №2448934 
Почему в пайтон треде очень большое количество порно материалов (фото и видео) ?
Аноним 29/08/22 Пнд 01:21:17 #307 №2448937 
>>2448934
Называй всё своими именами. Не """пайтон""", а петухон.
Аноним 29/08/22 Пнд 01:23:02 #308 №2448938 
>>2448932
Сокеты.
Аноним 29/08/22 Пнд 02:40:36 #309 №2448953 
>>2448871
Ты проксируешь запросы, пришедшие на внешний интерфейс на этот же интерфейс. Сомневаюсь, что у тебя порт приложения вообще на нем доступен. Завязывай сочинять конфиги под веществами и скопируй готовый конфиг с первой страницв гугла, короче.
Аноним 29/08/22 Пнд 07:20:42 #310 №2448989 
Кто-то знает как в Community Intellij Идее пофиксить этот ебучий баг, что редактор не видит импортов? Импортишь какой-то пакет, даже не из откомпиленных либ а прямо из сорцов, а он выделяет это красным, не могу типа определить класс. Бесит уже просто пиздец, скачал ради этого новую версию, сначала все норм было, а потом опять стало на некоторые классы проскакивать.
Аноним 29/08/22 Пнд 08:10:41 #311 №2448993 
>>2448989
Попробуй инвалидировать кеши в идеи - https://www.jetbrains.com/help/idea/invalidate-caches.html. Если не поможет, то заведи багрепорт.
Аноним 29/08/22 Пнд 08:11:11 #312 №2448994 
>>2448989
ИНДЕКСАЦИЯ
@
ИНДЕКСАЦИЯ
Аноним 29/08/22 Пнд 08:16:12 #313 №2448996 
>>2448993
Благодарю
>>2448994
а попонятнее можешь как-то сказать?
Аноним 29/08/22 Пнд 08:22:51 #314 №2448998 
>>2448994
>>2448996
Пофиксилось. По крайней мере, после автоимпорта который идея сама сделала
Аноним 29/08/22 Пнд 08:52:06 #315 №2449008 
Да что с этим долбанным хибернейтом не так!?
Нашёл мурзилку, где четко написано как найти сумму всех ячеек в таблице:
Long sumOfAllAges = (Long) session.createQuery("SELECT sum(age) from Student").getSingleResult();

Делаю всё также, а мне выдаёт эксепшен:
Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Student is not mapped [SELECT sum(age) from Student]

С JDBC такой ерунды не было
Аноним 29/08/22 Пнд 08:55:38 #316 №2449010 
>>2449008
У тебя есть сущность Student с аннотацией @Entity?
Аноним 29/08/22 Пнд 08:56:57 #317 №2449011 
>>2449010
Конечно. Я даже туда данные загонял и сохранял в таблице, а посчитать сумму не могу.
Аноним 29/08/22 Пнд 09:27:43 #318 №2449018 
>>2448319
Я вообще все забывал сразу после сдачи предмета. Сейчас максимум какие-нибудь простейшие производные и интегралы смогу взять, ну и формулу для сочетаний и перестановок вспомню, не более. То есть по сути то, что и школьники умеют, лол. Вузовский материал как-то вообще быстро выветрился.
Аноним 29/08/22 Пнд 09:34:55 #319 №2449022 
>>2447490
>А нахуя Джаве виртуалка?
В 90-х это было модно. Тогда все еще существовало много других осей и архитектур. Никто не был уверен, что все сведется к тому, что через 30 лет жаба будет только в докере на линухе крутиться исключительно как бекендовый язык.
Аноним 29/08/22 Пнд 09:38:12 #320 №2449024 
>>2448319
>>2449018
А чего вы ждали? С самого начала вката вокруг вас знакомые носились со стереотипом, что все программисты используют вышмат в работе, и вы сами в это уверовали? Не обязательно опускаться до уровня сантехника, чтобы не использовать математику в работе, она нужна единичным наукоёмким профессиям, к коим программирование как таковое, очевидно, не относится. Врачи - это тоже сантехники, да?
Аноним 29/08/22 Пнд 09:41:21 #321 №2449025 
>>2449024
Да мне как-то все равно, я не математик-PhD, который каким-нибудь ресерчем в машобе занимается или обработкой сигналов, я обычная макака.
Понадобится математика, ну открою матпрофи, какие-нибудь материалы и лекции для тупых студней и буду заново вспоминать или вообще с нуля учить, дальше-то? Но мне кажется таких задач у меня никогда не будет. А то, что не используешь, то быстро забывается.
Аноним 29/08/22 Пнд 12:12:27 #322 №2449084 
У меня на ласт собесе на джуна час гоняли по конкаренси. И я не шучу, буквально сразу после того как я назвал что есть callable, в котором есть future, меня начили задалбывать чем же отличается future от completablefuture, и прочую ересь о которой я впринципе никогда не слышал. Когда мы отходили от многопоточки скажем на паттерны или стримы, буквально через пару вопросов мы снова к ней возвращались будто вовращались в ад.
Ну и конечно же спустя час когда у меня поплавился мозг в ход пошли задачки из литкода, у меня уже бошка совсем не варила и я минут 10 тупил на задачной про поиск квадратного корня бинарным поиском и задачкой про валидацию скобок [[[]]] )(.

Очевидно отрицательный фидбек, вопрос, как мне теперь с этим жить? Есть какой-то норм гайдец по вопросам конкаренси чтобы не тупить?
А то я по сути никогда многопоточного не писал, у меня все пет проекты это какой-либо crud на спринг+хибернейт +тест в cicleci чтобы показать что я шарю за это..
Ну и конечно поиск работы в Украине чичас это жепа - на одну вакансию по 200 откликов за день, в половине случаев рекрутеры даже не чекают, на собес попасть это тот еще квест, за месяц 2 раза сосебился успешно выполняя тестовые.
Аноним 29/08/22 Пнд 12:17:35 #323 №2449086 
image.png
>>2449084
Есть книжка с поездами.
Ну и попробуй что-нибудь свое написать на тех же комплитбл фьючах
Аноним 29/08/22 Пнд 12:23:23 #324 №2449092 
>>2449086
пасиб, просто я не совсем пойму на реддите в джава сабе читал что они (америкосы?) джунов не подпускают к многопоточке мол это слишком сложно и надо пару лет опыта чтобы шарить что к чему, а у нас это будто мастхев. Видимо не врут на ебаном.айти что у нас в Украине аутсорс\аутстаф компании продают 0.5г джуна как 3-4г мидла.
Аноним 29/08/22 Пнд 12:40:04 #325 №2449098 
>>2449086
А она не устареет после выхода Loom осенью?
Аноним 29/08/22 Пнд 12:41:28 #326 №2449101 
>>2449092
Это не мастхев. Многие мидлы на спринге не особо шарят в канкурренси.
Это это не просто так, спринг-конфигураторы сами почти не пишут многопоточный код и достаточно редко ковыряются в библиотечной многопоточке.
Просто интервьюер такой задроченный попался. Этот вот любит по многопоточке угарать, другой по полной иерархии io тебя бы вздрючил или еще по чему-небудь.
Аноним 29/08/22 Пнд 12:55:30 #327 №2449110 
>>2449092
Оффтоп - чё там на украине с рынком айти?
Насколько реально приехать из рф, не щемят? По идее не должны, учитывая кто выгодоприобретатель в ситуации, когда спец перестаёт платить налоги в стране, с которой у тебя война и начинает платить их твоей стране - но мало ли на свете дегенератов.
Аноним 29/08/22 Пнд 13:22:22 #328 №2449140 
image.png
image.png
>>2449084
>Есть какой-то норм гайдец по вопросам конкаренси чтобы не тупить?

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

Примерный список действий:

1. Изучаешь книгу с поездами, Java Concurrency in Practice. Особых тонкостей нет, CompletableFuture, ForkJoinPool там не описаны (так как книга вышла намного раньше), но какие-то основы написания многопоточки на джаве ты получишь.

2. Смотришь лекции и семинары Романа Липовского (наверное чуть ли не единственный знающий препод по многопотоку в русскоязычном пространстве, чьи лекции есть в открытом доступе). Наверное это самая важная ступень в изучении конкаренси.

Лекции:
https://www.youtube.com/playlist?list=PL4_hYwCyhAva37lNnoMuBcKRELso5nvBm

Семинары:
https://www.youtube.com/playlist?list=PL4_hYwCyhAvYTxm55RBm_HA5Bq5W1Nv-R

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

https://gitlab.com/Lipovsky/concurrency-course

3. Параллельно (или после) курса Липовского нужно читать многопоточные талмуды. А именно:
- Is Parallel Programming Hard, And, If So, What Can You Do About It?, прекрасная книжка, написана хорошо, есть в открытом доступе по ссылке ниже, либо легко загуглить по запросу perfbook, начни с нее.

https://cdn.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html

- Concurrent and Distributed Computing in Java, неплохая книжка

- The art of multiprocessor programming, наиболее важный многопоточный талмуд из всех, что были когда-либо написаны (ну разве что perfbook сравнится с этой книгой)


Если хотя бы осилишь первые 2 пункта, то будешь знать уже гораздо больше многих других джавистов, сможешь разъебывать чуть ли не любой собес. Если осилишь вообще все, то можешь считать, что ты более-менее что-то понял про конкаренси).
Аноним 29/08/22 Пнд 13:51:32 #329 №2449161 
>>2449008
В общем, надо писать так:
SELECT sum(s.age) from Student s

Полдня убил на эту хрень!
Аноним 29/08/22 Пнд 13:52:55 #330 №2449162 
>>2449101
я писал многопоточку и latency оптимизации в финтехе, со spring/hibernate почти не работал, в результате постоянно валю вопросы по spring/hibernate потому что эти темы мне не интересны лол
Аноним 29/08/22 Пнд 13:53:59 #331 №2449166 
>>2449110
ты рофлишь? ебало обоссут, инфа 146%, а потом домой еще не пустят с родителями чай попить. Ты не то время выбрал для переезда вна украину
Аноним 29/08/22 Пнд 13:55:19 #332 №2449169 
>>2449140
Нахуя это все вкатышу? Он может самые распространённые классы/интерфейсы загуглить и получить короткий ответ в кратком руководстве. Про комплитбл фьюче уж точно инфу найти не проблема, про всякие тредпулы и блокировщики пулов, скедулары инфу на страничку самой базы с небольшим примером найти не составляет труда
Аноним 29/08/22 Пнд 14:11:29 #333 №2449186 
>>2449166
Хочешь сказать, что хохлы всё-таки суицидальные дегенераты, и предпочтут, чтобы я спонсировал ракеты им на голову?
Аноним 29/08/22 Пнд 14:12:19 #334 №2449188 
>>2449169
>Нахуя это все вкатышу
Очевидно, чтобы вкатиться в конкаренси. Прочитать про то, что такое CompletableFuture можно из всяких мурзилок, но вот когда дело дойдет до всяких корутин в котлине или виртуальных тредов в будущем, то неплохо уже будет знать, что под капотом происходит. Вангую после выхода в прод Лума на собеседованиях начнут гонять по кишкам шедулера вирутальных тредов, как это сейчас у гошников на собесах происходит.
Ну и как минимум всякие способы общения потоков через те же очереди сообщений (в простейшем случае - блокирующие очереди) это база, это каждый вкатун должен знать.
Аноним 29/08/22 Пнд 14:13:08 #335 №2449190 
>>2449162
На джаве писали? Это ж какое извращение должно быть. Обычно весь HFT/low latency финтех на плюсах пишется.
Аноним 29/08/22 Пнд 14:14:36 #336 №2449194 
>>2449169
И да, вкатун (джун/стажер) должен иметь представление о моделях памяти, JMM в случае жабы, понимать зачем оно вообще было придумано и какие проблемы решает. Это может и не везде спрашивают, но для уровня выше джуна мастхев.
Аноним 29/08/22 Пнд 14:20:12 #337 №2449203 
>>2449194
>JMM
В этом можно увязнуть на год минимум. Там столько тонкостей и не очевидных моментов, которые нужно просто запомнить, т.к. логически до них не додуматься. Т.е. ты как стихотворение должен запомнить несколько десятков крайних случаев как работает модель памяти.
Аноним 29/08/22 Пнд 15:49:11 #338 №2449292 
>>2449186
они оч эмоциональный и недальновидный народ, сначала стреляют потом целятся. говорю по своему опыту общения и работы с ними. С ними связываться - ошибка, лол.
Аноним 29/08/22 Пнд 15:50:50 #339 №2449296 
>>2449186
> не пустят с родителями чай попить
это если что про наших, помню когда работал за бугром в епаме, те россияне, кто ездили в коммандировки к харьковской команде, потом попадали на разговор с фсб, сейчас возможно проблем будет больше, поэтому нах надо
Аноним 29/08/22 Пнд 15:52:00 #340 №2449299 
>>2449190
критичные куски на плюсах, околобизнесовая логика на джаве.
Да, извращение пиздец, проприетарная VM и GC (zing), кодогенерация, и много сомнительных хаков. Уволился и очень рад
Аноним 29/08/22 Пнд 16:43:49 #341 №2449357 
>>2449296
Че ты врешь это все хохлики
Аноним 29/08/22 Пнд 18:27:00 #342 №2449458 
>>2449357
мне они не нравятся, с придурью своенравные люди.
винить их во всех бедах человечества при этом не стану
Аноним 29/08/22 Пнд 18:28:07 #343 №2449459 
>>2449357
и чем тебя удивляет интерес спецслужб к тем кто ездит на территорию враждебного государства? это логично и правильно.
Аноним 29/08/22 Пнд 18:45:08 #344 №2449474 
>>2449166
> не пустят с родителями чай попить
Можно ж в белоруссии или армении собраться попить чаю.
С другой стороны, если ехать в армению, то нах нужна украха.
Аноним 29/08/22 Пнд 19:42:47 #345 №2449531 
>>2449474
пока идут боевые дии, редкая глупость туда ехать, с какой стороны не смотри
Аноним 29/08/22 Пнд 20:18:45 #346 №2449562 
>>2449531
Сво и сосанкции очень хорошо пролило свет на "уезжаторов". Готовы в любую порашу съебать, лишь бы съебать. Эти люди не хотят лучшей жизни на самом деле, они просто психопаты и патологически ненавидят нас с вами, остальных россиянцев.
Аноним 29/08/22 Пнд 20:26:32 #347 №2449571 
>>2449562
Вообще нихуя подобного, прямо по всем пунктам промах.
>Готовы в любую порашу съебать, лишь бы съебать
"Готов" и "хочу" - разные вещи. Я-то как раз не хочу, но в моей стране решили, что я больше не нужен.
>Эти люди не хотят лучшей жизни на самом деле
Лучшая жизнь - это понятие расплывчатое, я хочу больше денег, занимаясь любимым делом.
>ненавидят нас с вами, остальных россиянцев
За что мне тебя ненавидеть? Убеждай себя в этом, если хочешь, но это неправда.
Аноним 29/08/22 Пнд 20:36:14 #348 №2449579 
Нужно ли вкатышу вникать в реактивный стек? Или ну его нахуй?
Аноним 29/08/22 Пнд 20:54:10 #349 №2449594 
>>2449579
двачую вопрос лум же делает реактивные фреймворки ненужными как я понял
Аноним 29/08/22 Пнд 20:55:34 #350 №2449597 
Что за особенности хибернейта или spring data jpa? В какую сторону искать?
Делаю мок-тесты на duplicate update (через стандартный save метод), ошибка должна бросаться из БД. Но приходит дефолтный ответ будто всё успешно обновилось, и если затем вызвать любой метод у репозитория, то выбросится ошибка которая должа была быть при обновлении до него: DataIntegrityViolationException: could not execute batch; SQL [update users ... ] nested exception is org.hibernate.exception.ConstraintViolationException: could not execute batch
Аноним 29/08/22 Пнд 20:57:09 #351 №2449598 
>>2449597
Может проблема в батчсайзе? У тебя этот параметр установлен?
Аноним 29/08/22 Пнд 21:12:48 #352 №2449618 
>>2449579
Специально учить не обязательно. Там все просто, примерно как в стримАпи, за полгода втянешься.
>>лум
Это джава 23 что ли? На нее еще не скоро перейдут.
На 17 только через год потихоньку начнут перекатываться, да и то не факт - новостей от спринга чет нет нихуя, хотя до релиза казалось бы пару месяцев осталось.
Аноним 29/08/22 Пнд 21:13:55 #353 №2449619 
>>2449598
Стоит, но дело видимо не в нём. Походу надо разбираться с сессиями хибернейта.
Поставил над тестом @Transactional(propagation = Propagation.NEVER)
Всё заработало как надо.
Аноним 29/08/22 Пнд 21:15:53 #354 №2449622 
Как же хочется лум...
Аноним 29/08/22 Пнд 21:18:32 #355 №2449625 
Как же хочется пятый спринг...
Аноним 29/08/22 Пнд 21:19:30 #356 №2449626 
Как же хочется сдохнуть нахуй...
Аноним 29/08/22 Пнд 21:40:45 #357 №2449644 
>>2449626
Обычное желание после кода на джаве
Аноним 29/08/22 Пнд 22:11:09 #358 №2449675 
>>2449626
Обычное желание, когда увидел код на шарпе
Аноним 29/08/22 Пнд 22:14:53 #359 №2449679 
>>2449618
Перешел месяц назад на 17. Ничего интересного. Рекорды для дтошек и многострочки для квери методов в спринг-дате.
В ноябре 6-ой спринг. В декабре перейду. Там вроде тоже ничего не будет, кроме изменения пакетов валидаторов.
Аноним 29/08/22 Пнд 22:15:47 #360 №2449680 
>>2449675
>>2449626
На пхп просто хочется вернуться таксовать...
Аноним 29/08/22 Пнд 22:16:13 #361 №2449681 
>>2449679
По-моему там просто поменяли пакеты javaee на jakartaee и заменили несколько енумов классами. Хуйня какая-то, нахуя ради этого цифру поднимать?
Аноним 29/08/22 Пнд 22:20:00 #362 №2449687 
>>2449681
Ну там вроде 17 минимум. Это главный водораздел.
Аноним 29/08/22 Пнд 22:20:15 #363 №2449689 
>>2449679
Бля вот никогда не понимал, какая разница, что на последних версиях жабы нового, если 80% сидят на <=11
Аноним 29/08/22 Пнд 22:20:51 #364 №2449690 
>>2449618
>новостей от спринга чет нет нихуя
На спринг уже забили хуй я щитаю. Раньше они в spring native пытались-пытались, но идея нативной жабы скорее всего сдохла попросту.
Аноним 29/08/22 Пнд 22:21:33 #365 №2449692 
>>2449687
И нахуя минимумом это делать?
Аноним 29/08/22 Пнд 22:26:16 #366 №2449698 
>>2449692
Радикальная мера, чтобы заставить всех вылезти из уютненького легаси-болотца "зачем что-то менять, если и так всё работает". В реальности получится как со вторым и третьим питоном, все будут 100500 лет сидеть на пятом спринге.
Аноним 29/08/22 Пнд 23:16:02 #367 №2449748 
https://docs.spring.io/spring-kafka/reference/html/#annotation-error-handling
Нахуй нужен весь этот пиздец, когда можно написать try/catch в нужном месте?
Аноним 29/08/22 Пнд 23:23:29 #368 №2449753 
>>2448953
дак это он и был. И он в итоге оказался рабочим
Аноним 29/08/22 Пнд 23:35:47 #369 №2449761 
>>2449748
try-catch - это антипаттерн. Нужен исключительно для легаси чекед эксепшенов.
Аноним 29/08/22 Пнд 23:39:09 #370 №2449763 
17pWoTBS4eojeppDV99SFRQ[1].png
>>2449748
Нахуй нужен спринг, если можно и на голом томкате написать?
Там по-русски написано, чтобы двумя-тремя строчками кофигов настроить ретраи и посылку в длт, не засоряя код. А ошибку десериализации ты через try/catch вообще не отловишь. А еррор-хендлер обработает ошибку от десериализатора-делегата. И есть понятное разделение на ретрибл/неретраибл эксепшоны.
Ты хоть представляешь сколько кода тебе придется руками написать, чтобы паттерн с пика руками с try/catch писать? Мейн, два ретрай-топика и длт? Там будут тысячи строк кода-лапши.
https://docs.spring.io/spring-kafka/reference/html/#retry-topic
А тут все решается в сотню строчек конфигов и методов с аннотациями.
Аноним 29/08/22 Пнд 23:43:37 #371 №2449771 
>>2449761
Хорошо, беру Try-recover монаду из vavr и делаю то же самое.
>>2449763
>чтобы двумя-тремя строчками кофигов настроить ретраи и посылку в длт, не засоряя код
Нет. там написано:
>Вот у нас есть такая штука для обработки ошибок
>И еще такая
>Но они обе устарели, так что используйте третью
>Третья была заменена четвертой
>Если хотите, настройте четвертую штуку в одном файле, а сам листенер в другом, чтобы человек, который будет читать ваш код нихуя не понял
>И конечно вместо примеров вам ХУЙ
Нахуй мне ретраи, если у меня ошибка - значит все, ошибка, нехуй вола ебать дальше. Выкинь это сообщение из батча и ебашь дальше.
Аноним 29/08/22 Пнд 23:54:42 #372 №2449778 
>>2449771
Так если тебе нинужна то просто иди нахуй не пользуйся, пользуйся try/catch.
Если тебе нужен пример, то я выше по треду уже скидывал: https://www.youtube.com/watch?v=OnZ7JArSoiU
Да, они поменяли апишку еррор хендлеров и написали об этом в доке. В чем твоя проблема?
Почему я тоже недавно в этой библиотеке разбирался и все понял?
Аноним 29/08/22 Пнд 23:56:04 #373 №2449780 
>>2449778
>Почему я тоже недавно в этой библиотеке разбирался и все понял?
Ну не знаю, может потому что ты тупой?
Аноним 30/08/22 Втр 00:02:11 #374 №2449788 
>>2449780
Эх чел, челик. Как же ты с таким подходом в кишках спринга и хибера разбирался?
Аноним 30/08/22 Втр 00:07:45 #375 №2449792 
>>2449788
Смотрел Борисова. А хибер он и нахуй не нужен. Я даже sql уже забыл, вот настолько он мне не нужен на работе.
Аноним 30/08/22 Втр 00:13:00 #376 №2449794 
>>2449792
Ну мы хибером тоже не пользуемся. Но что за спринг вакуха, где sql не нужен? У нас несколько nosql, но большая часть баз все равно в реляционках. Это ж не нода какая, где многим не зазорно все в монге хранить.
Аноним 30/08/22 Втр 00:15:15 #377 №2449801 
>>2449753
Я хз какие наркоманы делают обратный прокси с внешнего интерфейса на тот же открытый внешний интерфейс, в этом смысла ноль - ты можешь снаружи те же запросы слать на порт приложухи мимо прокси. А общедоступный томкат - мечта кулхацкеров, через пару дней просканируют порт, пошлют какой-нибудь log4shell запрос и добро пожаловать в ботнет.
Обычно проксируют с внешнего интерфейса на локалхост или где там приложение, недоступное по-дефолту снаружи, поднято. Т.е. в твоем случае нужно в конфиге спринга указать 127.0.0.1 как адрес сервера, и на него же изменить прокси_пасс в конфиге ногинска.
Ну или поднимать в докере, там явно указывается какие порты контейнерам разрешено слушать.
Аноним 30/08/22 Втр 00:29:18 #378 №2449812 
>>2449794
У нас все в nosql, и да, на монге.
Аноним 30/08/22 Втр 00:53:26 #379 №2449832 
>>2449812
Это не очень хорошо говорит о твоей компании.
Аноним 30/08/22 Втр 08:35:03 #380 №2449870 
>>2445463
Вот тебе рефералочка https://vdsina.ru/?partner=p6m9pcnd68 можно и в россии и в недерландах захоститься и всё за рубли
Аноним 30/08/22 Втр 09:34:04 #381 №2449901 
>>2449679
>>Рекорды
Вот лучше б вообще ничего не делали, чем добавление такого говна. Ломбок все равно в тысячу раз удобнее, так зачем было такие кривые рекорды делать спустя 20лет.
>>2449698
>>Радикальная мера, чтобы заставить всех вылезти из уютненького легаси-болотца
Так если ничего нового - тем более зачем переходить на новую версию и чинить новые баги? Те же рекорды ломают жука например. А какие-нибудь специфичные легаси либы вообще могут не завестись на новой жабе. Переписывать код ради чего? Чтоб циферку в версии поднять?
Аноним 30/08/22 Втр 10:17:52 #382 №2449948 
>>2449901
Каким образом рекорды ломают жука?
Аноним 30/08/22 Втр 12:28:56 #383 №2450021 
>>2449948
Компилятор говорит что у вас в проекте есть какой то Record, и он не понимает это рекорд джавы или рекорд жука(из импорта) и не хочет компилировать, пока не перепишешь. Натолкнулся на такое, когда пытался свой проект на жава11 сбилдить 17-м.
Райт ванс ран евривере, но только на той же версии и желательно на той же системе.
Аноним 30/08/22 Втр 12:35:55 #384 №2450029 
>>2450021
В итоге же работает? Что там надо переписать? Что-то в мавен-плагине жуковском?
Аноним 30/08/22 Втр 14:04:48 #385 №2450114 
>>2449801
Воооот , спасибо за развернутый ответ. Я в управлении серваками ноль полный.
Аноним 30/08/22 Втр 17:03:47 #386 №2450287 
image.png
Бл, не могу справиться с ебаным докером, пиздос
Аноним 30/08/22 Втр 18:43:26 #387 №2450357 
Я сегодня был на собесе в одной госконторе, но не на разраба. У них там Service Desk веб-приложуха на каком-то айпишнике скорее всего в локалке с портом 8080, это на спринге? Или этот порт еще кто-нибудь может юзать?
Аноним 30/08/22 Втр 18:47:17 #388 №2450359 
>>2450357
Нет, только спринг. 8080 - это код для бинов и контекста.
Аноним 30/08/22 Втр 18:51:50 #389 №2450369 
>>2450359
А я не знал этого, возьму на вооружение для интервью.
sage[mailto:sage] Аноним 30/08/22 Втр 18:54:12 #390 №2450372 
>>2450359
Падажжи, а почему тогда можно порт поменять в пропертях? Сажи.
Аноним 30/08/22 Втр 19:00:14 #391 №2450376 
>>2450372
Ну потому что все должно быть настраиваемым? В порте по умолчанию 8 - это бин, потому что похоже на кофейное зерно, а 0 - это контекст, потому что он как бы окружает все бины. Почему не 80? Для http как раз будет 80. Для https будет 8080.
sage[mailto:sage] Аноним 30/08/22 Втр 21:04:13 #392 №2450482 
>>2450376
А для ftp какой будет?
Аноним 30/08/22 Втр 21:08:24 #393 №2450485 
>>2443253 (OP)
Блядь, почему Java такой петушиный язык? Я в ахуе.


Мимо JS господь
Аноним 30/08/22 Втр 21:09:45 #394 №2450486 
>>2450485
Шарпоблядь плиз.
Аноним 30/08/22 Втр 21:19:33 #395 №2450493 
>>2450482
ftp.localhost:80
тупой что ли?
Аноним 30/08/22 Втр 21:32:24 #396 №2450508 
>>2450372
Порт нельзя менять, иначе это уже не спринг будет, а какой-то велосипедный веб-фреймворк, например, Spring Framework 8081.
Аноним 30/08/22 Втр 22:02:16 #397 №2450529 
>>2450493
ethernet::ipv4::tcp::http://ftp.localhost:80, идиотище
Аноним 30/08/22 Втр 22:14:34 #398 №2450538 
>>2450029
>>Что там надо переписать?
надо переписать, чтоб не использовался класс Record<T>. Использовать рекорд2 и еще 18 вариаций или мапить сходу во что то еще. Или писать везде org.jooq.Record.
В принципе реально, но не очень удобно. Спасибо в общем жабе за бесполезный класс создающий сложности на ровном месте.
Аноним 30/08/22 Втр 22:28:48 #399 №2450551 
>>2450538
Че ебать?
Аноним 30/08/22 Втр 22:54:01 #400 №2450563 
>>2450551
Есть Record и Record. Первый - из java.lang, второй из импорта org.jooq.Record. Пока первого не было - проблем не было. Когда появился - возник конфликт, компилятор больше не понимает какой из них использовать когда видит в коде Record record;
Аноним 30/08/22 Втр 22:54:42 #401 №2450564 
>>2450563
Ты че ебанутый? Импорты для кого придумали?
Аноним 30/08/22 Втр 22:57:12 #402 №2450566 
>>2450538
>Использовать рекорд2-18
У меня они всегда и использовались. Правда вообще похуй вроде. Перегенерил их и похуй. Или ты руками жуковские классы пишешь?
Хотя я последние 2 месяца в основном nosql пишу.
Аноним 30/08/22 Втр 23:19:12 #403 №2450571 
Бля вы заебали про каких-то жуков постоянно рассказывать, а я не в теме. Что это за параша и чем она лучше хибернейта?
Аноним 30/08/22 Втр 23:27:31 #404 №2450573 
image.png
>>2450571
Вот эти пацаны.
Аноним 30/08/22 Втр 23:29:14 #405 №2450575 
>>2450571
Жук - это билдер запросов, чтобы при проёбе получить ошибку компиляции. Хибернейт со своим HQL высрется только в рантайме.
Аноним 30/08/22 Втр 23:35:24 #406 №2450576 
>>2450575
Но есть же критерия и квери дсл, они чем-то хуже жуков?
Аноним 30/08/22 Втр 23:40:24 #407 №2450577 
>>2450576
Просто альтернативная технология, если ORM по каким-то причинам нельзя использовать.
sage[mailto:sage] Аноним 31/08/22 Срд 00:37:46 #408 №2450592 
>>2450485
Патамушта интерпрайз. А вообще хз, язык как язык. Со своими недостатками и достоинствами === ой ой ой блять что мы придумали потому что == занято дебилушкой который за один день наговнокодил нечто
sage[mailto:sage] Аноним 31/08/22 Срд 00:38:48 #409 №2450593 
>>2450563
Спасибо котлину за import as
Аноним 31/08/22 Срд 00:49:06 #410 №2450596 
>>2450592
> === ой ой ой блять что мы придумали потому что == занято дебилушкой который за один день наговнокодил нечто
В те времена в вебе считалось, что лучше уж тихо сломаться и продолжить так работать в сломанном состоянии чем громко упасть с ошибкой, та же хуйня и в пхп. Веб ставил подстраивание под браузер выше надёжности.
Аноним 31/08/22 Срд 12:33:44 #411 №2450785 
dimsaul.png
>>2443253 (OP)
Как научиться готовить микросервисы, если нет 100 баксов в час на услуги самого ДимСоула?
Аноним 31/08/22 Срд 13:03:19 #412 №2450804 
>>2450785
Локальные мемы про хуй знает кого.
Аноним 31/08/22 Срд 13:05:34 #413 №2450808 
У меня есть куча текстовых файлов, и если я к каждому из них добавлю точку в конце, то либо навсегда потеряю оригиналы, либо объём данных увеличится в два раза - если не сделаю бекап и если сделаю соответственно. Если я сделаю git init - объём тоже увеличится в два раза, как я понимаю.
Из этого вытекает вопрос - как сделать файл-разницу, применение которого к оригиналу даст измененный файл, а к измененному файлу - даст оригинал? Такие файлы будут мало весить и позволят в любой момент вернуть всё к исходному виду.
Аноним 31/08/22 Срд 13:16:31 #414 №2450818 
>>2450808
В баше для этого есть тулзы diff и patch.
Аноним 31/08/22 Срд 13:22:24 #415 №2450824 
>>2450818
Похоже, что они есть и в гите и могут применяться вне репозитория. Буду разбираться.
Аноним 31/08/22 Срд 13:46:10 #416 №2450855 
>>2450576

Criteria API --- не хуже и не лучше: это просто другое. Это кусок JPA спеки, который дает что-то наподобие SQL диалекта, но не для СУБД с ее базами и таблицами, а для ORMа с его персистенс юнитами и энтитями. Без JPA и ORMа Criteria API неприменим, в то время как JooQ и QueryDSL вполне себе самодостаточны. Близкий аналог Criteria API, с которым можно проводить сравнения --- HQL из хибернейта.
Аноним 31/08/22 Срд 14:04:42 #417 №2450874 
Для тестов которые завязаны на бд надо создавать отдельную бд?
Аноним 31/08/22 Срд 14:07:39 #418 №2450880 
>>2450874
В целом --- да. Разворачивают обычно либо оригинальную БД средствами testcontainters (долго-дорого, но близко к прод-окружению), либо используют in-memory H2.
Аноним 31/08/22 Срд 14:08:26 #419 №2450882 
>>2450874
Да. https://www.testcontainers.org/
Аноним 31/08/22 Срд 14:11:46 #420 №2450887 
>>2450880
>>2450882
Спасибо
Аноним 31/08/22 Срд 14:13:36 #421 №2450888 
>>2450855
Чем кстати квериДсл хуже жука? Вроде квери дсл имеет интерацию со спринг-датой. А жук - нет. Но жук популярнее.
Аноним 31/08/22 Срд 15:49:42 #422 №2450978 
>>2450808
upd Ковыряю git diff.
Как сделать так, чтобы в своей работе он не опирался на переносы строк?
Он очень неэффективен, если этих переносов нет.
Например, если в качестве оригиналов взять два одинаковых текстовых файла с той лишь разницей, что во втором все переносы строк заменены на пробелы, а изменениями для этих файлов будет удаление первых и последних 50 символов, то для файла без переносов патч будет весить в сотни раз больше, чем для того, который с переносами. То есть во втором случае патч будет содержать в себе исходную строку полностью, а то и в двойном экземпляре (если не добавить параметр --word-diff).
Аноним 31/08/22 Срд 16:10:34 #423 №2450998 
>>2450804
Это не локальные мемы, это один долбоеб самофорсит.
Аноним 31/08/22 Срд 19:11:55 #424 №2451143 
>>2450785
бамп
Аноним 31/08/22 Срд 19:28:07 #425 №2451155 
>>2451143
Пиздуй читать книги, сука.
Аноним 31/08/22 Срд 19:54:20 #426 №2451228 
>>2443253 (OP)
Почему в Java нет async/await как в С#?
Аноним 31/08/22 Срд 19:56:22 #427 №2451234 
>>2451228
Пилят виртуальные треды, чтобы не надо было ебаться с async/await, умный планировщик всё сделает сам.
Аноним 31/08/22 Срд 20:00:59 #428 №2451246 
>>2451234
Может ли флоу апи, реактивные стримы, комплитэбл фьюче заменить хотя бы 1/100 того, что предлагает C#?
Аноним 31/08/22 Срд 20:01:52 #429 №2451248 
>>2451246
Может даже 114.37/100
Аноним 31/08/22 Срд 20:04:59 #430 №2451251 
>>2451248
Но ведь это не так - https://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7/
Аноним 31/08/22 Срд 20:09:28 #431 №2451253 
>>2451251
Там ничего не сказано про виртуальные треды - их в шарпе нет
Аноним 31/08/22 Срд 20:10:03 #432 №2451254 
>>2451251
Не нашёл по ссылке сравнений производительности с Java 19+Loom.
Аноним 31/08/22 Срд 20:36:59 #433 №2451280 
Какая версия центоси у вас на работе?
Аноним 31/08/22 Срд 20:42:31 #434 №2451285 
>>2451280
Какая нахуй центось, она сдохла давно.
На работе Windows Server какой-то.
Аноним 31/08/22 Срд 21:07:01 #435 №2451331 
>>2451251
>говорим про возможности языка
>петушарпер начинает чё то кукарекать про перформанс, про который речь не шла, поняв, что он обосрался с возможностями
.
.
.
>и тут обсирается, пушо жаба выходит быстрее петушарпа
Аноним 01/09/22 Чтв 08:34:09 #436 №2451599 
>>2451228
Джава расширяется за счёт библиотек, а не за счёт конструкций языка. Сишарп постепенно замусоривается этими конструкциями и превращается в непонятное нагромождение значков.
Аноним 01/09/22 Чтв 10:02:19 #437 №2451651 
>>2445848
Где ты нашёл инфу по спрингу?
Аноним 01/09/22 Чтв 12:37:09 #438 №2451774 
Алгоритм Median of medians, это тоже самое что и поиск среднего арифметического ?
Аноним 01/09/22 Чтв 13:39:11 #439 №2451859 
image.png
Без холивара по типу у кого какие скобки красивее или классы статичнее.
У кого сейчас больше будущего? У котлина или шарпа и главное почему (ваше мнение)?
Аноним 01/09/22 Чтв 14:11:16 #440 №2451878 
>>2451859

> Котлин vs шарп
> В джавовом треде
Аноним 01/09/22 Чтв 14:13:12 #441 №2451880 
>>2451878
Что не так?
Аноним 01/09/22 Чтв 14:18:44 #442 №2451889 
813341f.jpg
>>2451859
котлин это больше про андроид, шарп это геймдев и декстоп.
есть еще немного бэкенда, но там жаба сидит и ее не выгнать.
Обе хуйни какие то нишевые в которые так просто сходу не вкатишься на сотыги, но у шарпа все же чуть больше шансов - там хоть за счет легаси можно протянуть.
Аноним 01/09/22 Чтв 14:19:23 #443 №2451890 
Я мурзилку читаю, но вычищатель сприга не может решить квадрат должен наследоваться от ректангла или наоборот.
Аноним 01/09/22 Чтв 18:11:44 #444 №2452133 
429f9f975b1974b226364f76916b529d.jpg
Не хочу читать скучные мурзилки, а хочу смотреть весёлые картинки!
Аноним 01/09/22 Чтв 18:44:55 #445 №2452150 
>>2452133
Только по кафке есть.
https://www.gentlydownthe.stream/
Аноним 01/09/22 Чтв 21:15:49 #446 №2452304 
image.png
>>2452133
Мурзилки не скучные.
Аноним 01/09/22 Чтв 22:04:41 #447 №2452330 
>>2451599
Между прочим факт, но жаба тоже замусоривается. На самом деле, все возможности жабы после 8 можно заменить какой-нибудь собственной библиотекой.
Аноним 01/09/22 Чтв 22:10:03 #448 №2452333 
>>2452330
Ну замени.
Аноним 01/09/22 Чтв 22:25:00 #449 №2452339 
>>2452330
> все возможности жабы после 8 можно заменить какой-нибудь собственной библиотекой.
С ассемблером тоже так можно. Но это не значит, что нужно.
Аноним 01/09/22 Чтв 23:45:28 #450 №2452376 
Назовите джентльменский набор для джава мидла?
Аноним 02/09/22 Птн 00:03:35 #451 №2452385 
>>2452376
жаба кор, спринг кор
Аноним 02/09/22 Птн 00:05:43 #452 №2452388 
>>2452376
классический секс, куннилингус, минет в презервативе, непрофессиональный массаж, расслабляющий массаж, стриптиз, эротический массаж;
страпон: анальная стимуляция, анальный фистинг вам, перемена ролей;
с/м игры: бандаж, легкая доминация, порка, трамплинг, услуги Госпожи, фетиш;
необычное: глубокий минет, групповой секс, золотой дождь выдача, минет без презерватива, окончание на грудь, ролевые игры, семейная пара, услуги семейной паре;
профессиональный массаж: урологический;
Аноним 02/09/22 Птн 00:54:02 #453 №2452399 
>>2452376
По меньшей мере половина технологий, упоминаемых в вакансиях на жаба-бэкендера. Жаба, спринг и SQL само собой, хотя бы один сервер приложений, основы фронта, линукса, девопса и других смежных областей.
Аноним 02/09/22 Птн 01:47:47 #454 №2452417 
>>2452376
кафка, спринг клауд, спринг секюрити, хибернейт, касандра, кубернетис (на базовом уровне), умение и понимание многопоточности и асинхронности, базовые навыки архитектуры (построение микросервисной архитектуры)
>>2452399
>>Жаба, спринг и SQL само собой, хотя бы один сервер приложений
это набор джуна
Аноним 02/09/22 Птн 07:08:29 #455 №2452455 
>>2452376
EJBEnterprise JavaBeans — спецификация технологии серверных компонентов, содержащих бизнес-логику2.13.03.13.23.2
JPAJava Persistence API — управление постоянством и объектно-реляционное отображениеНет1.02.02.12.2
ServletОбслуживание запросов веб-клиентов2.42.53.03.14.0
JSPJavaServer Pages — динамическая генерация веб-страниц на стороне сервера2.02.12.22.32.3
JSTLJavaServer Pages Standard Tag LibraryНет1.21.21.21.2
JSFJavaServer Faces — компонентный серверный фреймворк для разработки веб-приложений на технологии JavaНет1.22.02.22.3
JAX-WSJava API for XML Web Services — создание веб-сервисов1.01.21.22.22.2
JAX-RSJava API for RESTful Web Services — создание RESTful веб-сервисовНетНет1.12.02.1
WebSocketJava API for WebSocketНетНетНет1.01.1
JSON-PJava API for JSON Processing — разбор и генерация JSONНетНетНет1.01.1
JSON-BJava API for JSON Binding — преобразование Java объектов в/из JSONНетНетНетНет1.0
JNDIJava Naming and Directory Interface — служба каталогов1.21.21.21.21.2
JMSJava Message Service — обмен сообщениями1.11.11.12.02.0
JTAJava Transaction API — управление транзакциями1.0.1B1.11.11.21.2
JAASJava Authentication and Authorization Service — Java-реализация PAM1.01.01.0
JavaMailПолучение и отправка электронной почты1.21.41.41.51.6
JACCJava Authorization Contract for Containers1.01.11.11.41.5
JCAJ2EE Connector Architecture1.51.51.61.61.7
JAFJavaBeans Activation Framework1.01.11.11.11.1
StAXStreaming API for XMLНет1.01.01.01.0
CDIContext and Dependency InjectionНетНет1.01.12.0
ValidationBean ValidationНетНет1.01.12.0
SecurityJava EE Security API
Аноним 02/09/22 Птн 08:10:55 #456 №2452473 
Пользовался до недавнего времени плагином Spring Initilializr для коммьюнити версии, но жидбрейнсы решили этот плагин даже не забанить, а сделать его частью платной идеи, что полностью лишает смысла его использовать, потому что в платной версии и так есть такой функционал.
Вот вам наглядный пример истинной сущности жидбрейнсов!
Аноним 02/09/22 Птн 08:24:59 #457 №2452475 
>>2452473
Да все знают, что жидбрейны не намного лучше оракла и IBM, но лучше идеи ничего нет, даже при всей её тормознутости и прожорливости.
Аноним 02/09/22 Птн 08:59:02 #458 №2452482 
>>2452455
Log4j забыл
Аноним 02/09/22 Птн 10:43:57 #459 №2452541 
>>2452473
Тоже бугуртнул с этого. Пользовался ради подсказок в application.yaml. Хорошо, что для этого есть аналогичный плагин.
Аноним 02/09/22 Птн 12:46:27 #460 №2452602 
>>2452417
А зачем нужна кассандра(про устройство немного)? Это olap база? У меня на проекте clickhouse есть. Понятно, что это другое семейство nosql, но применение похоже или нет?
Ну и спринг клауд, вот я open feign чуть трогал, ну клиент, теоретически можно наверно config и schema registry затянуть. А остальные части спринг клауда вообще не очень понимаю зачем. Можете пояснить за самые попсовые куски спринг клауда и зачем они нужны?
Аноним 02/09/22 Птн 13:33:11 #461 №2452637 
Запустил свой пет на 2 потоках и он жидко обсерился, вывалив 100500 эксепшнов. Кажется вкат откладывается ещё на год...
Аноним 02/09/22 Птн 15:18:55 #462 №2452731 
>>2443253 (OP)
Пару глупых вопросов от вкатуна

- В продакшене ОРМ используют или запросы напрямую? а то в го например все без ОРМ пишут, мбы так везде
- Видел некоторые вакансии где пишут что прод пишется не на самых новых версиях жабы, почему все просто не обновляются? Я такое только в плюсах видел, где челы до сих пор на с++11 сидят или
Аноним 02/09/22 Птн 15:20:59 #463 №2452733 
>>2452731
>а то в го например все без ОРМ пишут, мбы так везде
на го долбоебы пишут, так не везде
Аноним 02/09/22 Птн 15:45:37 #464 №2452747 
>>2452733
Там дело не столько в долбоёбстве, сколько в женериках (точнее их отсутствии). Ормки на го содержат в себе кучу магии из-за этого.
Если бы го был полноценным языком, то орм бы там использовали не меньше чем в жаве.
Аноним 02/09/22 Птн 19:21:21 #465 №2452944 
>>2452747
Нахуй вообще нужен орм, когда от него одни проблемы? Только мозгоебли добавляет.
Аноним 02/09/22 Птн 19:29:49 #466 №2452954 
>>2451859
У джавы.
Аноним 02/09/22 Птн 19:32:23 #467 №2452958 
>>2452944
Пушо долбоебы. Надо юзать паттерн sql-speaking objects.
Аноним 02/09/22 Птн 19:33:10 #468 №2452961 
>>2452637
Ты поди глобальные переменные юзал, лол.
Аноним 02/09/22 Птн 22:33:07 #469 №2453110 
1662147185212.jpg
Здравствуйте. Подскажите пожалуйста по одному вопросу: были ли на вашей практике примеры, когда человек без опыта и в возрасте подходящем к 30 начал карьеру джава разработчика?

Я просто под гнетом обстоятельств решил сферу деятельности поменять, ну и спустя месяц мытарств пришел к выводу, что наиболее реальный вариант сейчас это 1с. Но мне до ужаса не хочется туда лезть, ибо бухгалтерия не мое. Хочу в мобильную разработку или что-то подобное. Но в нынешних условиях необходимую базу я смогу только к предпенсионному возрасту освоить. Поэтому сейчас в раздумьях. Или может что-то близкое к интересующему профилю выбрать? Но без особых требований, дабы хоть какой-то релевантный опыт наработать на момент обучения.
Аноним 02/09/22 Птн 22:46:28 #470 №2453116 
>>2453110
>были ли на вашей практике примеры, когда человек без опыта и в возрасте подходящем к 30 начал карьеру джава разработчика?
Да
>Но мне до ужаса не хочется туда лезть, ибо бухгалтерия не мое.
Где связь? Ты собираешься бухгалтером стать?
>Или может что-то близкое к интересующему профилю выбрать?
В смысле? Например?
Аноним 02/09/22 Птн 23:27:38 #471 №2453133 
>>2453116
> Где связь? Ты собираешься бухгалтером стать?
Он же написал про 1с перед этим

>>2453110
>когда человек без опыта и в возрасте подходящем к 30 начал карьеру джава разработчика
Как будто бывают жабисты младше 40
Аноним 02/09/22 Птн 23:34:07 #472 №2453135 
>>2453110
В 30 вкатился с эконом вышкой в спринг.
Но кроме меня все джуны-джависты - зумерки.
В конторе есть и 1сники - там вкатунцов 30-летних еще больше, питонисты - там все молодые, тимлид младше меня, ну и фронт - там примерно, как у нас.
Мобилка, насколько я знаю тоже модно-молодежная.
Но в принципе, если возьмут - эйджизма не так чтобы вообще много было(по моему опыту и еще 2 знакомых вкатунцов).
В принципе в бек/фронт/мобилки можно вполне до 40 лет вскочить, было бы желание. Ну и после начала спецоперации конкуренция за места для вкатунцов усилилась раза в 2 точно, может больше.
Аноним 02/09/22 Птн 23:40:47 #473 №2453137 
Сап аноны, треда по девопсам не нашёл, поэтому хочу спросить здесь.
Насчёт Docker и не только.

К примеру у нас есть Спринг приложение, которое крутится на одной машине. Затем мы подключаем ещё одну машинку, разворачиваем на ней тот же Спринг. Каким образом синхронизировать данные между разными машинами? Как это делается в принципе. По простому говоря, как масштабируется инфраструктура, когда мы имеем дело с реальными, не облачными железками.
Ну и в заключении, где в этой конструкции помогает Докер?
Сорри, если пишу глупости.
Если кто-то объяснит, будет очень круто.
Аноним 02/09/22 Птн 23:47:59 #474 №2453141 
>>2450573
У меня похожий жук откис на балконе недавно. Жаль его. Красивый был, красиво жил.
Аноним 02/09/22 Птн 23:49:35 #475 №2453142 
>>2453137
С помощью докера ты можешь на одной машине развернуть несколько сервисов, например 10.
А с помощью кубера ты можешь на нескольких машинах, скажем на 5 развернуть несколько сервисов, например 10, у которых могут быть несколько инстансов, например от 1 до 3.
Данные никак не синхронизировать, приложения должны быть стейтлесс(именно поэтому можно делать несколько инстансов). Все состояние на фронте или в базах. У каждого сервиса своя база.
Общаются сервисы между собой чаще всего по ресту, через брокеры сообщений или grpc. Есть еще десяток менее популярных способов.
Я сам джун, поправляйте меня давайте, если я в чем-то не прав.
Аноним 03/09/22 Суб 00:05:22 #476 №2453148 
>>2453137
>Каким образом синхронизировать данные между разными машинами?
Hazelcast, Redis, Zookeeper
Аноним 03/09/22 Суб 00:27:02 #477 №2453160 
>>2453142
Какой ты джун, судя по тому, что написал, ты даже не стажер
Аноним 03/09/22 Суб 00:36:48 #478 №2453166 
Можно ли настроить какой-нибудь линтер на проверку путей в RequestMapping аннотациях и на формат ответов?
Аноним 03/09/22 Суб 01:37:42 #479 №2453197 
>>2443253 (OP)
Кто-нибудь сможет пояснить зачем избавляться от null?
Все предлагаемые "недорешения" требуют все тех же проверок, самое шикарное с рантаймэксепшеном которое наверн надо ловить и обрабатывать?, эти решения лишены смысла и требуют ебейшего оверхеда.
Зачем тогда нести всю эту хуйню, если они скорее всего юзают либы, юзающие налы, даже в стандартной библиотеке они есть
Аноним 03/09/22 Суб 02:42:19 #480 №2453216 
>>2453197
https://www.youtube.com/watch?v=QwycPnpp6uQ
Аноним 03/09/22 Суб 03:27:31 #481 №2453226 
>>2453197
Избавляться не нужно, нужно ставить аннотацию @Nullable в случае, если метод может в принципе вернуть null. Либо @NotNull, если метод гарантированно при любых обстоятельствах вернёт не нулл. Сразу же всем дегенератам, что высрутся аля "по ко-ко-контракту @Nullable ставится только тогда, когда предсказать нельзя" ссу в рот, в таком случае смысл аннотации теряется.

мимо лид
Аноним 03/09/22 Суб 03:30:10 #482 №2453227 
>>2453197
Если вкратце - джава не любит нулл и падает если он внезапно всплывает в рантайме. Чтоб не писать проверки if (op != null && op.hui != null) для каждого аргумента - делают нул сейф апи, придумывают опшиналы и прочее говно. Полностью это проблему все равно не решит, но боли немного уменьшит.
>>даже в стандартной библиотеке они есть
Это ж легаси. 20 лет назад считалось нормальным модифицировать входящие данные, делать кучу войд методов, возвращать нулл. Сейчас стараются не использовать эти методы.
Аноним 03/09/22 Суб 03:30:59 #483 №2453228 
>>2453227
>но боли немного уменьшит.
Нихуя оно не уменьшает. Только добавляет и производительность херит.
Аноним 03/09/22 Суб 03:41:59 #484 №2453229 
>>2453228
Какая еще производительность? Один запрос в базу длится вечность по сравнению с этими опшиналами, стримами и прочими монофлаксами с десятком проксей.
Аноним 03/09/22 Суб 03:43:26 #485 №2453230 
>>2453229
Это реального процессорного времени не тратит, поток просто ждёт. А эксепшены и создание объектов напрямую обрабатывается процессором, вытесняя другие задачи.
Аноним 03/09/22 Суб 05:47:22 #486 №2453237 
>>2453230
То ли дело NPE, они же бесплатно из воздуха спавнятся, не тратя перформанс, да.
Аноним 03/09/22 Суб 08:05:00 #487 №2453265 
>>2453237
if (concha == null) {
return null;
}

А где нибудь наверху

if (govno == null) {
user.error(Error.of(ErrorTemplate.INCORRECT_INSERT));
[
Аноним 03/09/22 Суб 10:37:18 #488 №2453303 
>>2453133
>Он же написал про 1с перед этим
И где связь? На 1с доля бухгалтерских проектов такая же, как на любом тырпрайз языке, проще говоря - вероятность в 1с попасть на бухгалтерию такая же, как в джаве.
Аноним 03/09/22 Суб 10:59:47 #489 №2453312 
>>2453237
Во всех современных JVM NPE отдельно заоптимизировано,
например к нему не цепляется стек.
Можно кидать NPE хоть с частотой в 10 килогерц без потери производительности
Аноним 03/09/22 Суб 12:00:28 #490 №2453365 
>>2453312
оптимизация кода через NPE driven development
Аноним 03/09/22 Суб 13:13:18 #491 №2453472 
>>2453265
Ну и чем это отличается от return Optional.empty? Учитывая, что под капотом пустой опшионал не создается, это статик синглтон.
Аноним 03/09/22 Суб 13:36:00 #492 №2453497 
>>2453216
Ну я даже посмотрел
Да, я согласен, что если есть возможность вернуть дефолтное значение- возвращай (типа пустую строку вместо null), если это не противоречит логике
Если метод возвращает контейнер с элементами - то если элементов нет пусть возвращает пустой контейнер но не плодить контейнеры ради контейнеров, как сделали с Optional
Да логику кодировать nullом плохо- есть enum

Пункты выше как бы и любители null выполняли и выполняют, это не фичи null-free дегенератов

Не надо сравнивать на null- шизоидная хуйня, какая разница кроме потери производительности буду ли я сравнивать на null, проверять присутствует ли Optional, или вообще ловить RuntimeException тут уже скорее assertы должны стоять, если null- нарушение логики , и мест где надо делать эти проверки не уменьшится
Возвращать незаполненный объект это тоже шиза, super slow fail какой-то

Крч как по мне этот чел тоже не понимает что несет, просто ссылается на больших авторитетов как и другие статьи про null-free
В чем я не прав?
Аноним 03/09/22 Суб 13:43:22 #493 №2453500 
>>2453497
В том, что ты сказал тоже самое, что и чел с видео.
Аноним 03/09/22 Суб 14:01:37 #494 №2453527 
>>2453500
он говорит возвращать нецелый объект, обмазаться Optional, кидать эксепшены даже для бизнес логики и никогда не юзать null,а еще он настолько неграмотен, что не понимает что null это отсутствие объекта и что он привязан к реальному миру типа пошел в магаз за молоком, молока нету, принес домой null молока
Аноним 03/09/22 Суб 14:01:58 #495 №2453528 
>>2453116
> В смысле? Например?
Тестирование, техподдержка, что-то где хоть немного знание языка можно применить.

>>2453135
Спасибо за развернутый ответ, анон. А вообще в целом много времени ушло на обучение и поиск первой работы?

>>2453303
Не знаю как много ее в реальной работе, но в гайде рекомендовали как минимум прочитать книгу по бухгалтерскому учёту. Вот поэтому и решил.
Аноним 03/09/22 Суб 14:05:36 #496 №2453533 
>>2453497
>>Да логику кодировать nullом плохо- есть enum
Часто для каких то простых вещей тру/фолс/нул подходит больше, чем хуй пойми какой стринг. Писать енум тут - оверхед. Просто этот вышиванец любит какие то совсем дикие примеры приводить из своего прошлого в помойных галерах нулевых.

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


var op = repo.get(id).orElseThrow(new UserException())

var op = Optional.ofNullable(repo.get(id)).orElseThrow(new UserException())

var op = repo.get(id)
if (op == null) {
throw new UserException()
}

в первом случае тебя компилятор заставит это написать, иначе хуй че получишь, а во 2 и 3 ты можешь забыть о проверке и словишь НПЕ (может через полгода, когда это выстрелит)
Аноним 03/09/22 Суб 14:10:57 #497 №2453546 
>>2453527
Он говорит возвращать не нецелый объект, а дефолтный - это раз. В ООП оперируют объектами и объекта null не существует - это два. Когда ты приходишь домой без молока, ты приходишь с коллекцией покупок, среди которых нет молока, а если в коллекции нет вообще ничего, то ты приходишь, что называется, "с пустыми руками" - это три.
Аноним 03/09/22 Суб 14:20:22 #498 №2453566 
Кстати, именно поэтому святой Бугаенко рекомендует возвращать результат помещая в коллекцию - если коллекция пуста, то и обрабатывать нечего.
Аноним 03/09/22 Суб 14:29:09 #499 №2453578 
>>2453566
Этот уебок на питоне втихую пишет штоле сука
Аноним 03/09/22 Суб 14:32:34 #500 №2453582 
>>2453528
>много времени ушло на обучение и поиск первой работы?
До первой - полтора года на чиле, мне было спешить некуда и я больше боялся, что мне обучение наскучит, чем не вкатиться.
Но там была совсем мелкая помойка, где я должен был быть 4ым прогером, я меньше месяца там отсидел и еще через два месяца поисков вкатился в текущую маленькую галеру(джавистов - около 10 человек, из которых половина джуны, нанятые вместе со мной).
Аноним 03/09/22 Суб 14:37:27 #501 №2453594 
>>2453546
>дефолтный
покажи пример который абсолютно безвреден, что такое дефолтный объект, у него поля заполнены, если да, то чем nullами?
>Когда ты приходишь домой без молока, ты приходишь с коллекцией покупок, среди которых нет молока, а если в коллекции нет вообще ничего, то ты приходишь, что называется, "с пустыми руками"
но он говорит нести пустой пакет, вместо ничего, причем пакет предназначеный только для хранения молока (Optional)
>В ООП оперируют объектами и объекта null не существует
если объекта не существует- это null, я так понимаю в джаве неправильный ооп, покажите мне правильный в котором нет null

>>2453566
ну хз, если метод должен вернуть либо null либо 1 объект, то уж лучше optional, так хотя бы понятно, что человек всего лишь null проверить не может, а не гадать схера тут коллекция
Аноним 03/09/22 Суб 14:41:43 #502 №2453606 
У кого из российского крупняка есть современная джава 11/17, микросервисы и спринг бут 2+?
Аноним 03/09/22 Суб 14:46:30 #503 №2453612 
Ребята, а ну давайте быстренько распишите мне алгоритм быстрых переобразований фурье.
Аноним 03/09/22 Суб 14:55:11 #504 №2453632 
>>2453594
>покажи пример который абсолютно безвреден, что такое дефолтный объект, у него поля заполнены, если да, то чем nullами?
Заполнены дефолтными значениями, которые явно показывают, что это объект-пустышка. Можно еще эксепшоны в методах вываливать.

>но он говорит нести пустой пакет, вместо ничего, причем пакет предназначеный только для хранения молока (Optional)
Ну неси, в чем проблема?

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

>ну хз, если метод должен вернуть либо null либо 1 объект, то уж лучше optional, так хотя бы понятно, что человек всего лишь null проверить не может, а не гадать схера тут коллекция
Optional требует соответствующего отношения с проверками и так далее, в то время как с коллекцией никаких проверок не нужно. Да, возвращаемый тип может смутить, но это с непривычки.
Аноним 03/09/22 Суб 15:12:11 #505 №2453657 
>>2453606
У нас.
Аноним 03/09/22 Суб 15:18:04 #506 №2453669 
>>2453657
Вот я посмотрел вакансии, и типа не то чтобы прям крупняк, но я слышал эти названия. Вакансии без упоминания 8 - сбер, почтабанк, россгосстрах, киви.
С 8-17 - мтс, тинькофф, совкомбанк.
Ну и еще пара сотен вакансий от нонеймов.
Аноним 03/09/22 Суб 15:29:34 #507 №2453678 
>>2453612
это тебе в ньюфаг-тред - им делать нехуй, они любят литкод дрочить
Аноним 03/09/22 Суб 16:38:37 #508 №2453780 
Какой был ваш первый петпроект? Да и вообще, каким он должен быть, дабы было не стыдно показать на собеседовании?
Аноним 03/09/22 Суб 16:54:33 #509 №2453806 
>>2453606
Да почти в любом крупном месте, где джаву используют.
Аноним 03/09/22 Суб 17:15:36 #510 №2453831 
>>2453632
>Если я попрошу у тебя яблоко, а у тебя его нет, то ты дашь мне ничего, а не null яблоко
Ничего это null и есть
>а не null яблоко
А нул-яблоко это как раз "дефолтный объект"
Аноним 03/09/22 Суб 17:21:40 #511 №2453841 
>>2453780
Двачую вопрос, в идеале бы еще ссылку на репозиторий, чтоб можно было со своим говнокрудом сравнить и оценить насколько парашный код я сейчас пишу
Аноним 03/09/22 Суб 17:28:01 #512 №2453847 
>>2453831
Ничего - это ничего, а null - это null. У них есть сходство, но они не тождественны.
Аноним 03/09/22 Суб 17:36:02 #513 №2453858 
>>2453780
Клон данбуры сделал (спринг + таймлиф).

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

Я его писал в первую очередь, чтоб руку набить на крудах, а не для показа. Так то наверное надо было в докер запаковать, тестовые данные накидать или на хероку поднять.
Аноним 03/09/22 Суб 17:40:48 #514 №2453863 
>>2453858
> Клон данбуры сделал (спринг + таймлиф).
Это что такое?
Аноним 03/09/22 Суб 17:46:00 #515 №2453874 
Есть кто вкатившийся после питона/перла/сипипи? Насколько сложно? Хочу не для смены стека, а для себя поучить язык, да проекты поделать
Аноним 03/09/22 Суб 17:47:59 #516 №2453876 
>>2453858
>данбуры
Что это? Из гугла понял только то, что это как-то связано с аниме
Аноним 03/09/22 Суб 17:49:40 #517 №2453879 
>>2453863
>>анимешная борда для девочек
>>не знает данбуры
ты тут недавно?

https://danbooru.donmai.us/

Естественно я не объяснял откуда идею и дизайн дернул, просто галерея для картинок.
Аноним 03/09/22 Суб 18:05:00 #518 №2453896 
>>2453879
А для мальчиков можно что-нибудь сделать?
Аноним 03/09/22 Суб 18:06:25 #519 №2453899 
>>2453879
И что тебе говорили, когда ты показывал людям галерею с девчачьями мультиками? Какие эмоции были на лицах?
Аноним 03/09/22 Суб 18:07:10 #520 №2453900 
>>2453899
Что они, порнуху никогда не видели что ли
Аноним 03/09/22 Суб 18:13:12 #521 №2453906 
По работе мучу с джавой, в свободное время планирую отдыхать, поперживая код чисто для себя на го. Какова вероятность, что все эти знания выльются в дикую кашообразную мешанину?
Аноним 03/09/22 Суб 18:23:23 #522 №2453925 
>>2453899
Я ж туда обычные картинки закидывал с обычными тегами, про аниме ни слова. На уровне кода - обычный круд (кроме отсылки в названии проекта, но ее поймет только тот кто в теме)
То есть с виду это обычная галерея для картинок.
Аноним 03/09/22 Суб 18:27:56 #523 №2453933 
>>2453847
Какое понятие в джаве тордественно понятию "ничего"? Как вернуть из метода ничего?
Аноним 03/09/22 Суб 18:29:15 #524 №2453937 
>>2453933
void ебать
Аноним 03/09/22 Суб 18:29:34 #525 №2453938 
>>2453933
Ну кстати есть же Void. Его нельзя инстанцировать, только разве что нуллом, лол.
Вот можно возвращать ссылку на нулл типа Void.
Аноним 03/09/22 Суб 19:14:44 #526 №2453982 
Так я не понял блять, тут только два пути чтоли? или спринг или котлин?

Вы чем занимаетесь?
Аноним 03/09/22 Суб 19:18:31 #527 №2453991 
>>2453982
Ещё ML
Аноним 03/09/22 Суб 19:19:11 #528 №2453994 
>>2453982
Можно на котлине со спрингом писать. Многие так делают на самом деле.
А так да, либо java/kotlin backend, либо kotlin android. Этот тред про джаву бекенд.

>>2453982
>Вы чем занимаетесь
Крудами на спринге. А вообще в этом итт треде был чел, который свою игруху пилил на lwjgl
Аноним 03/09/22 Суб 19:19:34 #529 №2453995 
>>2453982
swing, легаси
Аноним 03/09/22 Суб 20:42:58 #530 №2454095 
>>2453991
>>2453994
>>2453995
А почему вы собственно сделали свой выбор в пользу джавы? На чем основывался выбор? Или это было спонтанное решение?

Я вот просто сейчас думаю и пока единственным плюсом могу только количество вакансий выделить.
Аноним 03/09/22 Суб 21:29:57 #531 №2454146 
>>2454095
1. Мне понравились языки со статической типизацией больше чем, с динамической.
2. Меня заинтересовал бекенд намного сильнее, чем фронтенд.
3. У джава-спринг было много вакансий и хороший коэффициент вакансии/резюме на хх.ру.
Аноним 03/09/22 Суб 21:40:37 #532 №2454156 
>>2453937
>>2453938
Это ты всегда из метода возвращать его будешь. А если метод должен вернуть объект, но он может этот объект не найти или не смочь создать?
Аноним 03/09/22 Суб 21:42:06 #533 №2454160 
>>2454156
>но он может этот объект не найти или не смочь создать
Ну то есть тут есть две опции: либо объект есть, либо нет. Хуй знает даже. Вот бы был в джаве тип для опциональных объектов.
Аноним 03/09/22 Суб 21:57:28 #534 №2454179 
>>2453982
Спринг с котлином.
>>2454095
Да, зарплата и количество вакансий. Я ненавижу жабу и вкатился исключительно ради деняк, мечтаю о C++.
Аноним 03/09/22 Суб 22:23:30 #535 №2454203 
>>2453472
Тем, что это лишняя сущность. Это контринтуитивно и добавляет бойлерплейт код.
Аноним 03/09/22 Суб 22:26:48 #536 №2454209 
>>2454095
Майнкрафт
Аноним 03/09/22 Суб 22:37:35 #537 №2454223 
>>2454203
Добавлю, что нулл тоже не особо интуитивен, самое правильное решение - эксепшен. Однако, эксепшены, хоть и максимально интутивны, имеют следующие недостатки:

- Непозволительно руинят перформанс
- Добавляют бойлерплейт код
- Делают код некрасивым лапшеподобным
- Усложняют процесс создания декларативных API (null легче спрятать за декларативщиной и забыть о его существовании)

Как аналог эксепшенов назову паттерн матчинг вместе с силед интерфейсами из жабы 19. Производительность херится уже меньше, но зато точно также 100%-но интуитивно и расширяемо, больше располагает к декларации кода.
Аноним 03/09/22 Суб 22:59:48 #538 №2454264 
go.png
>>2454223
>>самое правильное решение - эксепшен
Запрашиваешь сущность - получаешь эксепшен. Теперь вместо разворачивания опшионала надо трай-кетч писать на каждый пук.
Аноним 03/09/22 Суб 23:27:44 #539 №2454313 
>>2454264
Я же говорю, проблема этого в бойлерплейте.
Аноним 04/09/22 Вск 00:21:37 #540 №2454392 
>>2454160
Т.е. либо объект, либо отсутствие объекта, оно же нулл.
Аноним 04/09/22 Вск 00:41:29 #541 №2454427 
>>2454392
Ну да, Optional это обертка над Object?, че сказать-то хотел?
Аноним 04/09/22 Вск 01:56:25 #542 №2454478 
Бля, а кто - нибудь может объяснить, почему WebFlux так мало упоминается? Это ж реактивщина, без реактивщины ни один нормальный проект не сделать на голом мвс дате и прочем кале не многопоточном. Бля пиздец без WebFlux никуда, без рофлов абсолютно любая высоконагруженная система уровня чуть выше "пет проект туду лист"
Аноним 04/09/22 Вск 02:26:29 #543 №2454487 
>>2454478
Реактивщина нужна только там, где реально много блокирующего IO. Обычно хватает создать пул тредов побольше (опционально поднять несколько инстансов приложухи), каждый запрос будет выполняться в отдельном треде, а при блокировке треда системный планировщик тупо переключит контекст на другой тред, пока у заблокированного не отработает IO, чтобы ядро не простаивало. Тот же асинк, но средствами ОС, разве что системные треды более прожорливые и при нагрузках требуют пристально следить за их количеством.
Аноним 04/09/22 Вск 03:05:22 #544 №2454499 
>>2454487
Звучит как васянский костыльный пиздец. В любом приличном сервисе, где возможны тыщу запросов в момент времени на взять сохранить нужна асинхронщина. Но зачем делать каждый метод, обрабатывающий запрос, асинкнутым, если есть реактивщина? Нахуй эти костыли хуячить я так и не понял, если уже все готово, цивильно, по-европейски.
Каков вообще процент реактивщины в новых проектах в тырпрайзе?
Аноним 04/09/22 Вск 07:56:19 #545 №2454536 
>>2454203
>лишняя сущность
>контринтуитивно
>добавляет бойлерплейт код
Все три пункта - вкусовщина. Еще про таяние ледников от лишних тактов пожалуйся.
Аноним 04/09/22 Вск 08:05:14 #546 №2454538 
>>2454536
Сразу инб4 вангую записывание всех несогласных в опшианальники. Юзайте нуллы на здоровье, только не надо тут выдумывать всякую чушь, прикрытую модными словами, чтобы изобразить какое-то преимущество у святыни твоей секты там, где его нет.
Аноним 04/09/22 Вск 09:59:23 #547 №2454573 
>>2453933
Пустой контейнер, тот же Optional.

>>2454392
Нет.
Аноним 04/09/22 Вск 10:12:38 #548 №2454585 
>>2454095
Любовь с 1 взгляда.
Аноним 04/09/22 Вск 11:19:08 #549 №2454611 
>>2454478
В вакансии на мою текущую позицию тоже вебфлакс не упоминался. Уже на собесе мне предложили на выбор 2 стула - реактивщина с вефлаксом или бигдата с хадупом.
Аноним 04/09/22 Вск 12:53:09 #550 №2454708 
>>2454427
Нул это отсутствие объекта
Аноним 04/09/22 Вск 13:09:05 #551 №2454725 
>>2454708
Нул это указатель на ничего.
Аноним 04/09/22 Вск 13:54:02 #552 №2454768 
Я буду учить Java
Аноним 04/09/22 Вск 14:54:43 #553 №2454835 
> if (value instanceof String valueAsString) { ... }

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

Анончики, а ещё, я тут недавно только про Java 11 слышал, а тут теперь уже 17! Они решили каждый день новую версию выкатывать?

Что-то прям попахивает каким-то си плюс плюсом, где наваливают всего и как попало в язык.
Аноним 04/09/22 Вск 14:58:43 #554 №2454841 
>>2454725
А ничего это когда объекта нет
Аноним 04/09/22 Вск 15:08:11 #555 №2454860 
>>2454835
> Что это за уебищный сахар для инстансофа, нельзя было незаметно создать внутри компилятора объявление переменной, а в коде если идёт обращение внутри блока где точно знаем что это стринг просто считать что это стринг, ведь это и так понятно, как в случае с еффектив файнал, компилятору же хватает мозгов?
Можно было, просто не запилили. Вот в котлине подобное есть, может и в жабу лет через 10 завезут, хотя вряд ли.
> Анончики, а ещё, я тут недавно только про Java 11 слышал, а тут теперь уже 17! Они решили каждый день новую версию выкатывать?
> Что-то прям попахивает каким-то си плюс плюсом, где наваливают всего и как попало в язык.
Версии поднимают быстро, но фич добавляют мало. Много фич касается не синтаксиса, а кишок JVM.
Аноним 04/09/22 Вск 15:10:38 #556 №2454866 
>>2454835
Сам-то как думаешь, почему сделали именно так, а не как в котлине?
Аноним 04/09/22 Вск 15:10:56 #557 №2454867 
>>2454841
нет еблан
Аноним 04/09/22 Вск 15:15:21 #558 №2454871 
Оказывается синтаксиси ${foo} в спринге и шаблонизаторах взяли из bash
Аноним 04/09/22 Вск 15:16:41 #559 №2454873 
>>2454835
>>про Java 11 слышал, а тут теперь уже 17!
Погнались за модой с релизом новой версии каждые полгода. Но за полгода нихуя не успеешь, поэтому вместо больших фич стали выкатывать сахарные микрофичи.
За 6 версий нихуя не изменилось. Лум хорошо если в 23 выйдет, вальхала вообще хуй знает когда.
Аноним 04/09/22 Вск 15:23:09 #560 №2454880 
>>2454871
Надо было %foo% из cmd.
Аноним 04/09/22 Вск 15:23:34 #561 №2454882 
>>2454871
похую
Аноним 04/09/22 Вск 15:24:25 #562 №2454883 
>>2454873
>За 6 версий нихуя не изменилось
Как это ничего, а как же слом обратной совместимости?
Аноним 04/09/22 Вск 15:27:03 #563 №2454886 
>>2454880
в цикле
Аноним 04/09/22 Вск 15:40:52 #564 №2454901 
В spring security есть встроенная реализация JWT? Вообще на работе в реальных проектах используют какой способ аутентификации? JWT надо уметь реализовать самому? Или есть готовые решения в spring security?
Аноним 04/09/22 Вск 17:02:40 #565 №2454955 
>>2454901
Встроенной нет, надо писать фильтр, пишется несложно.
> Вообще на работе в реальных проектах используют какой способ аутентификации?
Используют ВСЕ способы, от JWT до негуглящихся проприетарных IBM-овских решений.
Аноним 04/09/22 Вск 17:07:29 #566 №2454965 
>>2454955
Спасибо. Реализаций много находил, но они почти все через WebSecurityConfigurerAdapter, а он вроде как deprecated. Попробую переделать без него. Просто вот тут https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter в комментариях один хуеплет написал, что есть built in JWT в spring security аж с 2017 года. А я в документации ничего найти не могу. По JWT находит только OAuth2 JWT. Может это он про него?
Аноним 04/09/22 Вск 17:43:48 #567 №2454991 
Как найти тян программистку? Разительно ли они отличаются от тупых пезд дефолт мокрощелок?
Аноним 04/09/22 Вск 17:45:16 #568 №2454994 
>>2454991
Нахуй ты в джава треде спрашиваешь? Мы пидорасы.
Аноним 04/09/22 Вск 18:29:29 #569 №2455054 
>>2454994
А ты няшный?)
Аноним 04/09/22 Вск 18:49:02 #570 №2455093 
>>2443253 (OP)
Какого хуя методы toString Equals Clone HashCode находятся в Object, а не в интерфейсах?
Аноним 04/09/22 Вск 18:50:55 #571 №2455098 
>>2455093
Вспять совместность
Аноним 04/09/22 Вск 18:51:20 #572 №2455099 
>>2455054
Нет, я скуфидон обыкновенный.
Аноним 04/09/22 Вск 19:08:37 #573 №2455131 
>>2455098
Ты про что?
Аноним 04/09/22 Вск 19:34:55 #574 №2455164 
>>2455093
В каких? "Objectable"? Эти методы - по логике свойство объекта.
Аноним 04/09/22 Вск 19:36:24 #575 №2455165 
>>2455131
Наследство древних. Духовные скрепы, на них все держится.
Аноним 04/09/22 Вск 19:38:12 #576 №2455167 
>>2455164
А про wait() / notifyAll() тоже скажешь что это естественное свойство любого объекта?
Аноним 04/09/22 Вск 19:39:21 #577 №2455170 
>>2455167
>>2455165
Че придуриваешься-то?
Аноним 04/09/22 Вск 19:46:46 #578 №2455180 
>>2455167
Нет. Но речь не о wait() / notifyAll(), а о
>toString Equals Clone HashCode
Аноним 04/09/22 Вск 19:50:48 #579 №2455183 
>>2455180
Ну так причина по которой эти методы оказались в Object одна и та же ведь.
Аноним 04/09/22 Вск 19:55:40 #580 №2455187 
2022-09-0419-49-44.png
2022-09-0419-53-14.png
Почему в контекстном меню не появляется создать класс? Вроде sdk поставил, а все никак.
Аноним 04/09/22 Вск 19:56:10 #581 №2455188 
>>2455183
toString Equals Clone HashCode оказались в объекте в том числе потому, что это свойства объекта. Про wait() / notifyAll() не могу дать однозначного ответа.
Аноним 04/09/22 Вск 20:02:28 #582 №2455194 
image.png
>>2455188
Это вопрос идеологии.
Как миниумум про hashCode() можно сказать что это не свойство объекта, а свойство контейнера которому этот хэш зачем-то нужен.
Аноним 04/09/22 Вск 20:12:12 #583 №2455204 
>>2455187
Удалите пост, анулируйте
Аноним 04/09/22 Вск 20:25:27 #584 №2455216 
>>2455164
Clonable
Hashable
StingConvertable/...
Аноним 04/09/22 Вск 20:43:42 #585 №2455235 
>>2454536
Нихуя ж себе, оказывается все принципы чистого кода - вкусовщина.
Аноним 04/09/22 Вск 20:47:41 #586 №2455238 
>>2454873
>За 6 версий нихуя не изменилось
95% разрабов джавы надо просто уволить нахуй за андерперформ и заменить нормальными кодерами. Тогда лум за недельку сделают.
Аноним 04/09/22 Вск 20:55:08 #587 №2455249 
>>2455216
Правильно, но вот СтрингКонвертейбл не нужен, пусть оно будет как магия, чтобы сохранять возможность делать sout("debug value = "+object);
Аноним 04/09/22 Вск 21:10:10 #588 №2455269 
>>2455093
Нужна дефолтная реализация. Интерфейсы в то время так не умели.
Аноним 04/09/22 Вск 21:15:31 #589 №2455272 
>>2455093
Потому, что если они в Object, то это лучше, чем интерфейсы.
Это значит, что любой объект их реализует, без каких либо исключений.
Вдумайся в это как следует.
Аноним 04/09/22 Вск 21:16:48 #590 №2455273 
>>2455272
а зачем их всем реализовывать?
зачем мне нужен метод Equals который сравнивает с обьектом, вместо того чтобы сравнивать со своим типом
Аноним 04/09/22 Вск 21:20:01 #591 №2455276 
>>2455273
Ну вот например есть у тебя тип Квадрат и тип Прямоугольник. Иногда прямоугольник и квадрат могут быть равны а иногда нет.
Аноним 04/09/22 Вск 21:22:26 #592 №2455280 
>>2455276
Если я захочу сравнивать их, то скорее всего за этим будет другая логика и логично будет вынести это в отдельны метод, ане в Equals
Либо реализовывать Equalable<Self> Equalable<Square>
Аноним 04/09/22 Вск 22:10:51 #593 №2455332 
>>2455280
Ну так делай по-своему, выноси и т.п., тебе никто не запрещает.
Правда, не совсем понятно, зачем в отдельный метод, и почему бы потом не вызывать этот отдельный метод из equals(). Или тебе просто слово equals() не нравится?

Кстати, помни, что такие вещи должны быть хоть как-то оправданы, и не должны быть похожи на изобретение велосипеда.

Также, полезно помнить equals() и hashCode() используются в HashMap и т.п. объектах и методах стандартной библиотеки, и должны реализовываться всеми объектами. И это, кстати, может дать нехилый профит и для твоих кастомных объектов, для которых ты, скорее всего, будешь использовать стандартные структуры данных.

В общем, я же сказал - вдумайся в это как следует.
Аноним 04/09/22 Вск 22:30:47 #594 №2455356 
>>2455216
>StingConvertable
Serializable, никак вы блядь, не научитесь.
Аноним 04/09/22 Вск 22:38:23 #595 №2455366 
>>2455356
toStringable
Аноним 04/09/22 Вск 22:42:55 #596 №2455373 
>>2455356
Ты удивишься, но StringConvertable и Serializable - это таки немножко разные вещи.
StringConvertable - это в свифте у эплоблядей, погугли.
Аноним 04/09/22 Вск 22:47:22 #597 №2455379 
>>2455235
Принципы - нет. Твой детектор нарушения этих принципов - да.
Куча людей использует эти "лишние сущности" и ничего, как-то живут, код работает. А значит, либо принцип бесполезный, либо ты его пытаешься натянуть на глобус, где от него нет толка. И что-то мне подсказывает, что с принципом все ок.
Аноним 04/09/22 Вск 22:49:19 #598 №2455383 
>>2455373
Падажжи, если кто-то назвал неправильно где-то там, то я должен это смиренно принять и называть так же? А как же тот факт, что я личность нахуй и я так считаю верным?
Аноним 04/09/22 Вск 22:53:24 #599 №2455393 
>>2455235
Ну и отдельный хохотач, конечно, тот факт, что узнав про эти принципы, ты их начал применять не к каким-то сущностям из бизнес-модели, а к сраному опшионалу из стандартной либы.
Аноним 04/09/22 Вск 22:53:52 #600 №2455394 
>>2455383
Тут ещё полезно понимать, что сериализация - она не всегда в строку.
Хотя, миллениалам в это может быть трудно поверить, лол.
Аноним 04/09/22 Вск 23:08:39 #601 №2455406 
>>2455383
> если кто-то назвал неправильно где-то там, то я должен это смиренно принять и называть так же?
Да.
> А как же тот факт, что я личность нахуй
Ты не личность, а винтик в системе. Чтобы стать личностью, ты должен как минимум создать свой язык программирования, причём не в стол, а успешный.
Аноним 05/09/22 Пнд 00:26:02 #602 №2455449 
>>2455394
Я знаю, но в джаве таких кейсов нет. В джаве сериализация - всегда в строку. У кого не в строку, тот пускай и дрочится с названиями.
Аноним 05/09/22 Пнд 00:26:45 #603 №2455450 
>>2455406
Не угадал, я уже личность, а вот ты нет, потому что ты по своим же критериям не прошёл а мне по твоим проходить не нужно.
Аноним 05/09/22 Пнд 00:37:44 #604 №2455456 
>>2455450
Речь о тебе, и ты не прошёл.
Аноним 05/09/22 Пнд 00:39:06 #605 №2455458 
>>2455449
ObjectOutputStream
Аноним 05/09/22 Пнд 01:06:56 #606 №2455461 
>>2455456
Не надо так крепко держать меня в курсе касательно прохождения твоих манякритериев.
Аноним 05/09/22 Пнд 01:08:53 #607 №2455462 
>>2455461
А ты не рвись так сильно из-за того, что не угадал с выбором языка.
Аноним 05/09/22 Пнд 01:11:38 #608 №2455463 
>>2455462
А когда речь шла про выбор языка?
Аноним 05/09/22 Пнд 14:56:10 #609 №2455871 
Сап, в общем я Manual QA, хочу вкатится в автоматизацию на JAVA. Можете накидать за щеку советов с чего начать вкат и где искать инфу? С меня нихуя, спасибо
Аноним 05/09/22 Пнд 15:05:43 #610 №2455882 
>>2455093

Не слушай долбоебов, защищающих этот пиздец. Это чето сродни сонибойству. Вроде бы давно все сошлись на том, что делать эту троицу частью контракта самого базового класса было ошибкой, что не для всех классов констрейны equalsа применимы, из-за чего словить мемори лик в хешмапе из-за неправильного типа ключа --- плевое дело, что хешы и логика равенства для одного и того же объекта могут считаться по разному взависимости от контекста употребления (привет, ОРМы). В языках поновее такой хуйни уже давно не практикуется. Но все равно находятся упоротые личности, защищающие это.

Правильный ответ здесь только один --- так вышло. Когда то давным давно они были частью контракта. А сейчас их не выпилить не сломав всем обратную совместимость. А жаль. Было бы клево их дропнуть.
Аноним 05/09/22 Пнд 16:33:14 #611 №2455961 
1. Подтягиваю тестирование
2. Устраиваюсь за копейки тестировать хуйню
3. Параллельно изучаю джаву
4. Пытаюсь применить знания на практике и ищу работу/стажировку по джаве

Как вам план? Изначально была мысль сократить все до трех пунктов, но боюсь, что на обычной работе я буду очень медленно продвигаться.
Аноним 05/09/22 Пнд 16:45:46 #612 №2455973 
>>2455961
Посмотри сколько вакансий тестировщиков и сколько спринг-конфигураторов. Тестировщики при сокращениях идут на мороз первыми.
Аноним 05/09/22 Пнд 16:57:00 #613 №2455986 
>>2455973
Это понятно, просто тестирование как трамплин рассматриваю и более или менее релевантный опыт. Неизвестно сколько времени у меня уйдет на прямое и целенаправленное вкатывание.
Аноним 05/09/22 Пнд 17:01:54 #614 №2455993 
>>2455986
Если это совсем говно-тестер-ручник, для вката в которого не нужно вообще ничего, то с чего бы там был какой то релевантный опыт для джависта?
А так был знакомый тестер-автоматизатор с большим опытом из большой галеры. Ну и вот вкат в спринг у него совсем немало времени занял.
Аноним 05/09/22 Пнд 17:32:09 #615 №2456025 
>>2455986
> тестирование как трамплин рассматриваю
Нет, тестирование - это путь в один конец. Примерно как 1С.
Аноним 05/09/22 Пнд 17:35:15 #616 №2456028 
>>2456025
>Примерно как 1С
Если под конечной точкой подразумевается любой язык на планете, то да, это путь в один конец

мимо гофер год стажа в 1с
Аноним 05/09/22 Пнд 17:37:26 #617 №2456031 
Вот вкатываешься в тестирование, и всё, обратно уже никак.
Аноним 05/09/22 Пнд 18:22:40 #618 №2456095 
>>2456025

Хуйня. Из всех экс-тестировщиков, даже мануальных, на моей памяти 10летнего стажа выходили весьма годные девелоперы. С их тестерским опытом они лажали статистически реже прочих. "Путь в один конец" --- скорее всего стереотип каких нибудь снобов-анальников.
Аноним 05/09/22 Пнд 20:44:14 #619 №2456196 
>>2456028
>мимо гофер год стажа в 1с

Теперь я понял, кто это в го-треде не стерпел, лол.

Кстати, ты в 1С после го пошёл или до?
Аноним 05/09/22 Пнд 21:10:46 #620 №2456222 
>>2456196
Я знаю, что это подъёбка, но до.
Аноним 05/09/22 Пнд 21:40:44 #621 №2456253 
Напишите плз джентльменский набор вкатыша в нынешних реалиях, чтоб как можно быстрее получилось залететь на первую галеру жабиста, а не сидеть потом на минус морали пару месяцев без приглашений на собесы
Сейчас могу сделать рест на спринг буте, прикрутить ликвибэйз, раздать пермишены, но пока еще не разбирался с jwt и oauth2, могу залить все это в докер самым дефолтным способом
Аноним 05/09/22 Пнд 21:55:40 #622 №2456269 
>>2456253
Да то же, что и до февраля требовали в вакансиях, но шансов меньше, соответственно, дрочить всё надо тщательнее. Больше не побрезговать позициями с легаси или требованием знать фронтенд, а также таки придётся выучить алгоритмы/структуры данных. Сейчас примерно как в начале 10-х годов, когда ещё не все пизданулись с вкатом в айти.
Аноним 05/09/22 Пнд 22:00:35 #623 №2456275 
Расскажите про устройство в сбер. Какие алгоритмы спрашивают, как глубоко нужно знать. Какие-нибудь графы за пределами dfs/bfs, верчения деревьев, дейкстру, A-star, динамическое программирование - это все нужно или лучше сосредоточиться на спринге, хибере и sql? Я говорю про стажировку ну или джуна в крайнем случае.
Аноним 05/09/22 Пнд 22:03:35 #624 №2456280 
>>2456275
Сбер большой, у всех команд разные требования, единого стандарта нет. В большинстве случаев хватит спринга/sql ну и мочь объяснить, почему у пузырьковой сортировки O(n^2).
Аноним 05/09/22 Пнд 22:08:26 #625 №2456289 
>>2456269
Нет, ну ты же сам пишешь, что шансов сейчас меньше, значит, чтобы выравнять их - нужно выглядеть более сильным кандидатом на фоне других вкатышей. Вот мне и интересно, с каким стеком технологий/умений у меня бы точно не возникло никаких проблем
Аноним 05/09/22 Пнд 22:13:32 #626 №2456294 
>>2456289
Ну я и говорю, что стек тот же, но знать его надо лучше. Ты и так выглядишь более сильным кандидатом, судя по упоминанию liquibase и jwt, большинство вкатышей слыхом не слыхали про миграции и авторизацию не через традиционные сессии.
Аноним 06/09/22 Втр 00:08:10 #627 №2456343 
>>2456222
Это хорошо.
А кроме 1С у тебя какой-то опыт разработки был?
Не обязательно за деньги, возможно, что-то для себя?
Аноним 06/09/22 Втр 00:08:56 #628 №2456344 
>>2456269
>Сейчас примерно как в начале 10-х годов, когда ещё не все пизданулись с вкатом в айти.

С чем это связано, по твоему?
Аноним 06/09/22 Втр 00:54:53 #629 №2456382 
>>2456344
Кризис на российском рынке IT, вызванный всем известными событиями. Напрямую российского энтерпрайза это не коснулось, т.к. это не аутсорс, а собственные проекты, но из-за ухода иностранных вендоров и вынужденного закрытия побочных проектов не связанных с основным бизнесом, многим пришлось сильно урезать бюджеты, как следствие, закрыть много вакансий и снизить планы по денежной мотивации работников. Хз, это одна из причин, я не дохуя аналитик рынка, вот в МВП-треде, наверное, уже обсосали все возможные варианты. Впрочем, в других отраслях всё ещё хуже, так что вкатыши в айти пока не сильно задумываются о том, чтобы выбрать что-то ещё, и, действительно, это не совсем 10-е годы, ситуация несколько иная.
Аноним 06/09/22 Втр 01:01:56 #630 №2456388 
>>2456343
Был опыт разработки очка
Аноним 06/09/22 Втр 08:30:57 #631 №2456509 
>>2456388
твоего
Аноним 06/09/22 Втр 09:08:40 #632 №2456520 
>>2456382
Я вот этого не понимаю, все же ноют про отсутствие айтишников, были новости, что хотят со школьного возраста начинать вкатывать, ввести льготы на обучение. Сейчас уже успели сделать ипотеку и отсрочку как минимум из того, что я знаю. И вроде бы все говорит о том, что с вакансиями все должно быть более чем в порядке, но нихуя. Конечно можно сказать, что требуются именно ВЫСОКОКВАЛИФИЦИРОВАННЫЕ спецы, но они не появятся из ниоткуда, возьмите хороших вкатышей и через год-два они как раз станут такими спецами, неужели это не очевидно.
Аноним 06/09/22 Втр 09:22:36 #633 №2456527 
>>2456520
>требуются именно ВЫСОКОКВАЛИФИЦИРОВАННЫЕ спецы, но они не появятся из ниоткуда, возьмите хороших вкатышей и через год-два они как раз станут такими спецами
не станут
Аноним 06/09/22 Втр 09:26:49 #634 №2456529 
>>2456520
Сейчас переизбыток программистов на рынке. Зачем учить каких-то вкатышей, когда в очередь стоят спецы с 3 годами опыта?
Аноним 06/09/22 Втр 09:32:44 #635 №2456530 
>>2456527
Такими рождаются?
Аноним 06/09/22 Втр 09:36:44 #636 №2456534 
>>2456529
Так зачем тогда они ноют про дефицит? Пускают пыль в глаза обычных челов, которые еще не определились и при этом только усложняют жизнь тем, кто уже почти вкатился из-за обилия резюме выпускников всяких курснейм, на которые сейчас спрос поднялся из-за кукареканий гос сми про дефицит.
Аноним 06/09/22 Втр 09:38:44 #637 №2456537 
>>2456527
Станут сто проц, не хорошими кадрами в общем, а именно неплохими разрабами конкретно на том проекте, в котором они весь год варились.
Аноним 06/09/22 Втр 09:42:28 #638 №2456540 
>>2456530
>>2456537
высококвалифицированными десятками лет становятся
ага щас годик круды пописал и гослингом стал
Аноним 06/09/22 Втр 09:43:29 #639 №2456541 
>>2456529
Да и не пизди, никто с 3 годами опыта не сидит в очереди, разве что они все три года сидели на каком-то суперуебищном проекте, параллельно ничего не изучая.
Аноним 06/09/22 Втр 09:46:40 #640 №2456544 
>>2456540
Ты пишешь про каких-то ебырей-программистов, которые могут практически на любой стек залететь и сходу делать чет полезное, а я говорю про конкретный стек и конкретный проект, который за год вполне можно освоить и приносить немалую пользу.
Аноним 06/09/22 Втр 09:51:00 #641 №2456546 
>>2456544
я пишу про высокую квалификацию
а ты про обычных мартышек которых натаскали нажимать кнопки
Аноним 06/09/22 Втр 13:59:58 #642 №2456803 
>>2456520
Ноют же эксперты и менеджерки. Им ныть выгодно. Потому что им выгоден найм нового кодерского мяса, потому что они с этого получают комиссию/откат. Про госсубсидии и курсы говорить вообще смешно. Там цель только бабок на бюджете и лохах наварить.
И айтишка это еще хуита. Ноют и про отсутствие инженеров и врачей. Типа нужны еба-констукторы для роскосмоса с зп молодого спеца - 20 тыр.
Аноним 06/09/22 Втр 17:16:12 #643 №2457000 
>>2443253 (OP)
Зачем конторы сидят на старой жаве, если можно сидеть на новой?
Аноним 06/09/22 Втр 17:31:05 #644 №2457016 
>>2457000
Не работает на новой, а кабану это не нравится.
Аноним 06/09/22 Втр 18:02:35 #645 №2457046 
>>2457000
Новая заточена под облачное применение.
Вне этого она просто не имеет смысла, изменения в языке незначительны.

И это часть процесса выдавливания кастомеров в облака, в том числе оракловские.
А вот хуй им - говорим мы, ветераны in-house джава-девелопмента.
Пускай сами свои облака сосут с проглотом.
Аноним 06/09/22 Втр 18:28:12 #646 №2457075 
>>2457046
Где такие вещества достал?
Аноним 06/09/22 Втр 18:33:56 #647 №2457081 
>>2456541
>сидели на каком-то суперуебищном проекте, параллельно ничего не изучая
Это и есть типичный проект в энтерпрайзе. Найти что-то хорошее стоит большого труда.

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

>>2456520
>требуются именно ВЫСОКОКВАЛИФИЦИРОВАННЫЕ спецы
Здесь имеется в виду, что нужны ломовые лошади с большим опытом, которые за бесплатно будут работать по 16 часов в сутках.

>>2456534
>зачем тогда они ноют про дефицит
Это просто реклама айти курсов, забей.
Апплеты и asm userщик 06/09/22 Втр 20:04:00 #648 №2457157 
Приветствую всех.

Меня интересует вопрос: почему wasm используется, а java-апплеты ушли из поддержки браузерами?

Где-то читал, что java-апплеты опасны тем, что это какая-то левая программа, которая работает на компьютере, однако такое можно сказать и про js, и про wasm
Аноним 06/09/22 Втр 20:04:34 #649 №2457159 
>>2455986
>>более или менее релевантный опыт
Из тестера(ручника) ты скорее аналитиком станешь, чем программистом. Автотестер тоже очень далек, он пишет на уровне стажера на специфических фреймворках.

Если тебе похуй куда лишь бы в айти - можешь попробовать, если хочешь джавистом стать - не трать время.
Аноним 06/09/22 Втр 20:11:13 #650 №2457166 
>>2457159
Если не тестирование, то ближайшее направление к джаве какое будет?
Аноним 06/09/22 Втр 20:12:59 #651 №2457167 
>>2457166
Разработка?
Аноним 06/09/22 Втр 20:13:58 #652 №2457169 
>>2457166
нахуй
Аноним 06/09/22 Втр 20:14:49 #653 №2457171 
>>2457157
Wasm в браузерах из коробки и не умеет нихуя, кроме вычислений, даже доступа к DOM нет. А апплеты требуют ставить левый плагин и имеют кучу доступов к ресурсам.
Аноним 06/09/22 Втр 20:22:49 #654 №2457179 
>>2457171
Благодарю за ответ.

>кроме вычислений, даже доступа к DOM нет

Если нет такого доступа, то как вывести результат вычисления?
Есть ли хоть какая-либо толковая документация по данному вопросу?
Аноним 06/09/22 Втр 20:25:54 #655 №2457181 
>>2457179
Через прослойку на JS, её вызывать можно. Работает медленнее, чем вызывать напрямую из JS.
https://developer.mozilla.org/en-US/docs/WebAssembly
Аноним 06/09/22 Втр 20:28:14 #656 №2457186 
>>2457181
Очень интересно.
Спасибо.
Аноним 06/09/22 Втр 22:05:33 #657 №2457254 
>>2457166
>ближайшее направление к джаве какое будет
Разработка бекенда на Kotlin/Scala/C#/Go/C++/Node.js
Аноним 06/09/22 Втр 22:20:53 #658 №2457261 
>>2457254
А на питоне или пхп?
Аноним 06/09/22 Втр 22:26:38 #659 №2457265 
>>2457261
Нет.
Аноним 06/09/22 Втр 22:58:52 #660 №2457285 
Как думаете, нужно учить таблицу умножения ?
Аноним 07/09/22 Срд 00:36:17 #661 №2457347 
>>2457285
Учи таблицу до 100x100, на собесах спросят.
Аноним 07/09/22 Срд 03:10:45 #662 №2457400 
Бля, аноны, оче сильно интересует вопрос по поводу таких штук, как "корзина пользователя". Как они реализуются на реальных проектах? Не сохраняются ведь корзины каждый раз в бд? Но с другой стороны и в спринге всё сейчас на рестфул, сессии, как я понял, не котируются
И второй вопрос, который очень мучает - какова вероятность на реальных проектах встретиться с шаблонизаторами типа таймлифа и пр? Нужно ли их дрочить, знать?
Аноним 07/09/22 Срд 03:35:48 #663 №2457401 
>>2457400
> Не сохраняются ведь корзины каждый раз в бд
Чому нет?
Вот например рестартанул ты сервер, у всех корзина должна обнулиться что ли?
Аноним 07/09/22 Срд 04:02:12 #664 №2457404 
>>2457401
Ну бля, это же очень дорого, нет? Допустим, у моего сервиса дохуллион пользователей, допустим, я сделал какой-нибудь алиэкспресс на спринге. И че, мне миллион корзин каждый момент времени сохранять? Это же пиздец, каждую секунду запросы к БД и дохуилион сохранений? В реальный проектах так делают?)
Аноним 07/09/22 Срд 06:09:01 #665 №2457430 
>>2457404
Ну хер знает как там делают алиэкспресс,
но мне кажется навар с одного успешно проданного дилдака
с лихвой покрывает расходы на сто других дилдаков которые
просто добавились в корзину и лежат в базе.
Аноним 07/09/22 Срд 07:09:46 #666 №2457436 
>>2457404
Напиши сначала сервис, который может обработать лям запросов в секунду. В процессе все тупые вопросы отпадут.
Аноним 07/09/22 Срд 09:29:37 #667 №2457476 
Поясните тотал нубасу(три недели вкатывания) зачем нужен боксинг и анбоксинг? простыми словами, если возможно
Аноним 07/09/22 Срд 09:57:41 #668 №2457480 
>>2457476
Чтобы ты мог использовать примитивы и коробочные значения в обычных арифметических и булевых выражениях вперемешку, а также присваивать значения этих выражений как в коробочную переменную, так и в примитивную
Аноним 07/09/22 Срд 10:18:12 #669 №2457487 
Реально ли за год изучить джаву и устроится на работу?
Аноним 07/09/22 Срд 10:21:02 #670 №2457488 
>>2457476
Это костыль без которого в яве нельзя например в ArrayList складывать int. String можно а int нельзя. Только c конвертацией в Integer.
Аноним 07/09/22 Срд 10:29:05 #671 №2457490 
>>2457487
Такое ясен хуй бывает, но никто не гарантирует,что это будет твой случай. Если ты не тупой, есть время, желание и жопа у тебя резиновая, то вкатишся. Но как минимум вопрос у тебя уже тупой
Аноним 07/09/22 Срд 10:30:05 #672 №2457492 
>>2457436
Да ты сука, ясен хуй, что такой не напишу, это была метафора, душнила. Тем не менее вопрос о сохранении корзины в БД не раскрыт
Аноним 07/09/22 Срд 10:54:47 #673 №2457518 
>>2457476
Боксинг чтобы бить ебла, про анбоксинг ничего не слышал.
Аноним 07/09/22 Срд 11:05:31 #674 №2457527 
>>2457492
Куки употребляешь?
Аноним 07/09/22 Срд 11:13:13 #675 №2457536 
>>2457527
Так куки - это дело фронта, реакта или кого там, у меня рестфул хуита, меня че там на стороне клиента ебать не должно
Аноним 07/09/22 Срд 13:40:19 #676 №2457676 
>>2457480
>>2457490
Спасибо, анончики, нихуя не понятно, видать слишком тороплюсь, решил малость откатиться и закрепить предыдущий материал.
Аноним 07/09/22 Срд 13:41:38 #677 №2457677 
>>2457480
Что такое коробочные значения?
Аноним 07/09/22 Срд 14:23:19 #678 №2457706 
>>2457476
Предположу, что это костыль со стародавних времен, дабы иметь баланс между производительностью арифметики и консистентностью языка. С одной стороны, все объектные типы в джаве --- ссылочные и наследники от java.util.Object, что на самом деле удобно для разработчика, и все джавовое ООП сосредоточено вокруг этого факта. С другой стороны, все примитивные типы --- не-ссылочные и не-объекты, что удобно для арифметики, но несовместимо со всем остальным. И чтобы как то работать с примитивами как с объектами там где это нужно (в коллекциях, например), есть неявное приведение примитивов к объектам (боксинг) и обратно (анбоксинг): int оборачивается в java.lang.Integer с помощью вызова статического метода valueOf в том месте, где нужен обьект (вызов добавляет компилятор, его можно увидеть прямо в байткоде, если чекнуть через javap), и наоборот.

На самом деле это все канеш костыль и говно ебаное, которое ненавидят как джава-хейтеры, так и сами джависты, но так сложилось. Языки поновее (типа котлина) не делают таких явных для разраба различий между примитивами и не-примитивами.
Аноним 07/09/22 Срд 15:14:40 #679 №2457742 
>>2457536
Чем тебе редис под корзину не устраивает? Его и персистить можно, конечно персистится он хуевато, но большая часть данных после ребута сервиса и ребута редиса будут на месте. И реплицируется хорошо и ttl нормально работает.
Аноним 07/09/22 Срд 15:17:35 #680 №2457743 
>>2457706
И как в новых языках работают примитивы? Они тоже наследуются от корневого объекта? А лишняя для примитивов мишура, типа методов и ссылок?
Аноним 07/09/22 Срд 15:30:42 #681 №2457755 
>>2457743
В новых языках нет объектов.
Аноним 07/09/22 Срд 16:32:57 #682 №2457794 
>>2457743
В новых языках как правило более чоткая и более отвязанная от рантайма модель типов. В них нет нужды девелоперу различать примитивы от не-примитивов, там даже понятия такого явно не выделяется --- "примитив". Просто есть разные типы данных и сабтайпинг-отношения между ними, все. За девелопера все что нужно соптимизирует компилятор.
Аноним 07/09/22 Срд 17:18:20 #683 №2457814 
image.png
>>2457743
Аноним 07/09/22 Срд 17:33:09 #684 №2457825 
>>2457814
И в чем отличие? Ну не обджект корневой, а эни.
Аноним 07/09/22 Срд 19:08:13 #685 №2457882 
>>2457400
>>типа таймлифа и пр? Нужно ли их дрочить, знать?
Их для почты только используют, фронт на реакте/ангуляре. Учить отдельно не надо, если что на проекте изучишь в рамках задачи.
>>какова вероятность на реальных проектах встретиться с шаблонизаторами
Но вообще бывают помойные легаси с JSP/JSTL - не рекомендую такие вакансии, там шаблонизатор меньшее что тебя будет беспокоить.
Аноним 07/09/22 Срд 20:34:30 #686 №2457920 
>>2457882
>бывают помойные легаси с JSP/JSTL - не рекомендую такие вакансии, там шаблонизатор меньшее что тебя будет беспокоить

Буквально недавно каким-то чудом удалось вкатиться джуном на помойную галеру с таким проектом. Посадили на легаси проект с 3 спрингом, xml конфигами и jsp, сказали смотреть логи и править баги.
Какие подводные? Через сколько нужно сваливать с этого давно затонвушего корабля? К слову, на хх.ру по запросу jsp всего около 50 вакух на всю москву выдается. Я думал такого говна побольше будет.
Аноним 07/09/22 Срд 20:39:12 #687 №2457924 
Неироничный вопрос, возникший из-за высказываний хейтерков жабы ака дрочеров си решетка и языка "идти" - начинают ли новые проекты на жабе? Или же жаба, как говорят вышеупомянутые господа - это в 90% случаев про поддержку?
Аноним 07/09/22 Срд 20:40:12 #688 №2457925 
>>2457920
Сколько багов уже исправил? Как сильно загружен?
Аноним 07/09/22 Срд 20:44:41 #689 №2457929 
>>2457924
Да, на жабе пишут дохуя новых проектов, но это энтерпрайз, никаких интернет-магазинов и личных кабинетов.
Аноним 07/09/22 Срд 20:49:36 #690 №2457932 
>>2457929
Возможно, это тупой вопрос, но можешь объяснить, что конкретно ты подразумеваешь под тырпрайзом? Почему личного кабинета не может относиться к тырпрайзу и к какой категории тогда интернет-магазины относятся?
Аноним 07/09/22 Срд 20:51:18 #691 №2457934 
>>2457925
Пока что 0, работаю с конца прошлой недели. На поддержке этого говна всего 2 человека, один какой-то скуфоидный дед, не особо общительный, но вроде шарящий что происходит, а другой собственно я. Пока что даже проект не смог запустить у себя)))

>>2457929
Личных кабинетов нет в энтерпрайзе? Что тогда вместо них?

>>2457924
Ну вот конкретно мое легаси где-то из 2012-2014 года. Все как полагается для тех времен, монолит, варники, xml конфиги, фронтенд на жабе с jsp. Наверное если поискать, то и более старые проекты можно найти, на каком-нибудь java ee 6 без спринга с аппликейшен сервером по типу вебсферы или glassfish java 2010 edition

А так наверняка где-то и новые проекты есть, просто в энтерпрайзе нельзя просто взять и выбросить то, во что вложили охулиарды бабла 10-15 лет назад, приходится поддерживать что дали и умолять руководство разрешить и выделить бабло начать переход на современный спринг и микросервисы.
Аноним 07/09/22 Срд 21:05:27 #692 №2457941 
>>2457934
>современный спринг и микросервисы.

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

И вот именно в энтерпрайзе (внутренние информационные системы компаний) это как раз оправданно меньше всего.
Аноним 07/09/22 Срд 21:06:48 #693 №2457942 
>>2457941
> И вот именно в энтерпрайзе (внутренние информационные системы компаний) это как раз оправданно меньше всего.
Аргументы?
Аноним 07/09/22 Срд 21:09:56 #694 №2457945 
>>2457941
Не знаю, я вкатун вчерашний.
Но по идее должно быть легче поддерживать отдельный микросервис, чем лапшу в монолите. Хотя хороший монолит наверное гораздо лучше среднестатистического микросервиса будет. Микросервисам нужно общаться между собой, что усложняет понимание всего происходящего.
Аноним 07/09/22 Срд 21:26:35 #695 №2457954 
>>2457942
Нет ебещих требований по нагруженности, очевидно же.
Аноним 07/09/22 Срд 21:27:53 #696 №2457956 
>>2457945
Отдельный микросервис может и легче, а вот спланировать архитектуру микросервисную, да так, чтоб не жидчайше не дать в штаны - несколько сложнее
Аноним 07/09/22 Срд 21:50:48 #697 №2457970 
>>2457942
Как уже правильно заметил анон (>>2457954) - нет требований по масштабированию. Количество пользователей относительно невелико, и мало меняется со временем.
При этом логика работы может быть очень сложной.

А микросервисы - это именно про масштабирование.
И про облачный деплоймент.
Пример - Озон-Амазон и прочее подобное.
Аноним 07/09/22 Срд 22:00:56 #698 №2457976 
>>2457945
А почему в монолите обязательно "лапша"?
Чего ради?
Монолит - это, прежде всего, одна БД, с которой работают разные части системы. И простота координации, соответственно. Откат транзакции - это просто откат транзакции, а не сага с хореографией, лол.

Микросервисы - это серьёзный оверхед при управлении транзакциями (пиздец просто). И вообще оверхед, связанный с координацией отдельных сервисов.

Если читаешь по-английски - почитай хорошую книжку про микросервисы, их есть - на scanlibs.com
Например Building Microservices, 2-е издание.
Или Microservices Patterns (examples in Java).
Или что-нибудь ещё.
Только имей в виду, что это не очень лёгкое чтение.
Аноним 07/09/22 Срд 22:02:48 #699 №2457977 
>>2457970
>Озон-Амазон
По-твоему это не тырпрайз?
Аноним 07/09/22 Срд 22:07:12 #700 №2457980 
>>2457977
Слово "энтерпрайз" - означает "предприятие".
Я под этим словом понимаю (прежде всего) внутренние информационные системы предприятий и что-то подобное.

Если кто-то понимает под "энтерпрайзом" всё, что не игры-социалки-итд - это не ко мне.
Аноним 08/09/22 Чтв 00:36:50 #701 №2458092 
>>2457977
Самое ёмкое определения энтерпрайза: энтерпрайз - это когда пользователи называются сотрудниками. То есть любой софт, которой пишут для внутреннего использования в предприятии. Самый понятый пример - 1С, энтерпрайз в чистом виде, кому как не сотрудникам работать с документооборотом и бухгалтерией. Просто в жабашарпах решения более масштабные, где 1С по возможностям и нагрузкам не хватает. Во всяких амазонах кроме основных магазинов, безусловно, есть и внутренний софт для сотрудников, это тоже энтерпрайз, но к самим магазинам это не относится, это просто фронтальная система для внутренних энтерпрайзных сервисов.
Аноним 08/09/22 Чтв 00:57:44 #702 №2458102 
>>2458092
>Самое ёмкое определения энтерпрайза: энтерпрайз - это когда пользователи называются сотрудниками.
Это ты взял из этого же треда, или вообще сам придумал.
>Озон-Амазон
По-твоему это не тырпрайз? Именно для сотрудников у них весьма и весьма нагруженные и замасштабированные решения пишутся.
Аноним 08/09/22 Чтв 00:59:59 #703 №2458103 
Решил почитать мвп тред и чет задизморалился жеско, неужели все действительно так плохо и единственный вариант вката, это свалить из страны
Аноним 08/09/22 Чтв 01:03:02 #704 №2458104 
>>2458102
> Это ты взял из этого же треда, или вообще сам придумал.
Это я и писал то сообщение.
> >Озон-Амазон
> По-твоему это не тырпрайз? Именно для сотрудников у них весьма и весьма нагруженные и замасштабированные решения пишутся.
Тырпрайз, конечно.
Аноним 08/09/22 Чтв 01:06:41 #705 №2458106 
>>2458103
> мвп тред
Клоака жирничей и шизиков, ни одного адекватного анона, филиал /b/. Я его скрыл нахуй ещё тогда, когда он не был закреплённым.
Аноним 08/09/22 Чтв 01:07:09 #706 №2458107 
>>2458102
>По-твоему это не тырпрайз?
Ты надоел уже, клоун.
Это e-commerce.

А есть ещё финтех.
И много чего другого.
И всё это очень разные вещи.
И везде java.

>замасштабированные
Это по-каковски?

Ты точно понимаешь, что значит слово "масштабирование"?
И в каком смысле это относится к микросервисам?
И в чём разница с "высоконагруженным"?

Кстати, белые люди говорят не "высоконагруженное" а "высокопроизводительное" (high performance).
Т.е. highload - это псевдо-английская калька с русского, используемая только в русскоязычном пространстве.
Можешь на досуге подумать, почему так, и в чём разница.
Аноним 08/09/22 Чтв 01:19:29 #707 №2458111 
>>2458107
>И всё это очень разные вещи.
И все это тырпрайз.
>Кстати, белые люди говорят не "высоконагруженное" а "высокопроизводительное" (high performance).
Т.е. highload - это псевдо-английская калька с русского, используемая только в русскоязычном пространстве.
Можешь на досуге подумать, почему так, и в чём разница.
Ебать ты чушь высрал, петушара.
Аноним 08/09/22 Чтв 01:24:09 #708 №2458113 
>>2458107
> Т.е. highload - это псевдо-английская калька с русского, используемая только в русскоязычном пространстве.
Двачую, несколько раз попадались блоги на инглише, и по использованию слова highload сразу становится понятно, что писали русские.
Аноним 08/09/22 Чтв 05:36:48 #709 №2458130 
>>2457347
Но это же 100к записей...

>>2457536
Так в данных пользователя корзину и легче всего хранить. Зачем это говно серверу?
Аноним 08/09/22 Чтв 06:09:58 #710 №2458135 
Ты охуел даун? Ты блядь в этой жизни бич подплинтусный, еще требовать чего то вздумал? Давай пруфай свой паспорт и свою несчастную хибару в пердях, а я тебе взамен покажу свои заказы в яндексе на десятки тысяч в месяц в мишленовских рестиках
Аноним 08/09/22 Чтв 07:15:49 #711 №2458144 
Не хочу ._.
Аноним 08/09/22 Чтв 07:35:45 #712 №2458149 
>>2458130
Ну например. Если корзину хранить на сервере ты можешь рассылать напоминалки тем кто положил что-то в корзину неделю назад но еще не купил. Или показывать предупреждение что такого цвета труселей осталось 3 штуки и 2 уже у кого-то в корзине.
В самых простых случаях если продаешь например подписку на порн может и на куках прокатит.
Аноним 08/09/22 Чтв 07:57:12 #713 №2458153 
>>2457976
>>2458092
Ну мы вот пишем типичный тырпрайз на микросервисах и 11/17 жабе. Как раз переписываем уже имеющийся сервис на 1с, потому что 1с негибкий и медленный. Причем в старую версию никто не смотрит, работаем по тз.
Основной смысл, для нас-разрабов во всяком случае - в раздельном деплое. Изначально вообще две галеры разрабатывали разные микросервисы отдельно друг от друга, но с общей инфраструктурой.
Уже намолотили 15 микросервисов. И еще 2 новых вырисовываются в течении пары месяцев. Сообщения между микросервисами - эвент в кафку и потом консьюмер забирает нужные ему данные по ресту.
До распределенных транзакций мы еще не дошли правда. Тут даже внутри моего сервиса еще не везде, где нужны транзакции есть транзакции из-за особенности nosql-базы, где есть acid, но реализовано это криво.
Но тут до релиза в прод - хз сколько, но по моим ощущениям - явно не меньше года.
Аноним 08/09/22 Чтв 08:53:33 #714 №2458171 
>>2458107
> Кстати, белые люди говорят не "высоконагруженное" а "высокопроизводительное" (high performance).
> Т.е. highload - это псевдо-английская калька с русского, используемая только в русскоязычном пространстве.
> Можешь на досуге подумать, почему так, и в чём разница.
На досуге подумаю над причинами, почему меня это должно ебать
Аноним 08/09/22 Чтв 10:40:45 #715 №2458206 
>>2458153
Раздельный деплой можно и на монолите делать, при желании.
Если смысл именно в этом, и ни в чём другом.
Аноним 08/09/22 Чтв 11:06:01 #716 №2458212 
>>2458206
А можешь тезисно объяснить как раздельно деплоить монолит? Я до этого работал на легасном монолите и там с деплоем были большие траблы. Даже запустить локально было непросто.
Аноним 08/09/22 Чтв 14:53:14 #717 №2458355 
>>2458212
От сервера приложений зависит и от самого монолита.
Если сервер может перекомпилировать и перезагружать классы на лету, то вот так и делать - просто грузить нужные классы.
Но, это всё нестандартно, естественно.

Если не надо налету, а можно рестартовать (а иногда это обязательно) - то надо мутить свой способ деплоймента, чтобы всё не было в 1 war, например. Короче - никакой магии, просто это очень зависит от системы.
Аноним 08/09/22 Чтв 14:54:53 #718 №2458358 
Микросервисы родились от того, что только на джаве были сервера приложений, и никто их не понял. Монолиты - переизобретение warников.
Аноним 08/09/22 Чтв 15:11:30 #719 №2458380 
>>2458358
Kubernetes - это такой зумерский сервер приложений.
Аноним 08/09/22 Чтв 15:27:01 #720 №2458394 
>>2458380
Именно.
Аноним 08/09/22 Чтв 16:21:36 #721 №2458424 
>>2458149
Ну тогда и бд сойдёт.
Аноним 08/09/22 Чтв 17:16:26 #722 №2458447 
Какие есть доступные API для перевода текстов?
Для гугла обязательно создавать надо облако и регаться с забугорной картой, я так понял.
Аноним 08/09/22 Чтв 18:05:06 #723 №2458473 
>>2458447
Спроси у датасаентистов в треде про нейронки, там по-любому кому-то надо было для NLP.
Аноним 08/09/22 Чтв 19:16:10 #724 №2458527 
Сап аноны, я к вам не с пустыми руками, а с тупым вопросом. Сейчас разбираюсь с авторизацией посредством jwt, написал токен провайдер, который умеет создавать токен и валидировать, а так же добавил фильтр на валидацию токена, который он забирает из хедера и чет не могу понять, как все это связать. Где хранить полученный токен? В куках? Мне же он нужен постоянно в хедере. Чет тупняк пздц, подскажите, как правильно делать
Аноним 08/09/22 Чтв 19:43:34 #725 №2458539 
>>2458527
>Мне же он нужен постоянно в хедере.
Действительно, где же его тогда хранить.
Аноним 08/09/22 Чтв 19:56:53 #726 №2458547 
>>2458539
А разве хедер у каждого запроса не свой? Мне подставлять токен туда постоянно? Чет не до конца догоняю, как можно хранить что-то в хедере
Аноним 08/09/22 Чтв 20:05:00 #727 №2458550 
>>2458547
>Мне подставлять токен туда постоянно?
Да. А хранить где-то у клиента.
Аноним 08/09/22 Чтв 20:07:52 #728 №2458552 
>>2458527
Хоть куки, хоть Authorization, хоть кастомный хедер, хоть вообще в теле в зависимости от задачи. Везде лепят как хотят.
Аноним 08/09/22 Чтв 22:41:11 #729 №2458658 
>>2458527
>>2458547
Крч положил я значит свой токен в куки, тк в интернетике пишут, что это самое лучшее решение, но оказалось, что если я хочу дергать его из хедера, то надо писать какой-то js скрипт что я конечно же делать не умею, который будет доставать токен из куков и класть в хедер. Теперь вот думаю, как мне сделать так, чтобы этот скрипт при любом запросе срабатывал
Аноним 09/09/22 Птн 07:04:22 #730 №2458803 
Как совпало что лучший язык и лучшая страна начинаются с буквы J.
Аноним 09/09/22 Птн 07:12:11 #731 №2458805 
>>2458803
Russia начинается с буквы R.
Аноним 09/09/22 Птн 08:30:31 #732 №2458821 
Ребят, нужна помощь по regex.
Например есть строка:
Creating local person user 'test' with details ('','','test','test','test@local')

Как мне одним выражением вытащить всё кроме того что в кавычках и скобках?

То есть должно получиться:
Creating local person user with details
Аноним 09/09/22 Птн 08:37:35 #733 №2458822 
>>2458803
Дожили блядь, ямайка у него лучшая страна.
Аноним 09/09/22 Птн 10:31:26 #734 №2458872 
ПЕРЕКАТ >>2458869 (OP)
Аноним 09/09/22 Птн 10:41:06 #735 №2458882 
>>2458821
Сам сделал:
([\w\s]+)(?:(?:'[^']+'|\([^\)]+.|))([\w\s]+)\s(?:(?:'[^']+'|\([^\)]+.|))
Аноним 09/09/22 Птн 10:42:56 #736 №2458888 
>>2458882
Господи... почему регексы до сих пор не забыты как страшный сон? Как это читать?
Аноним 09/09/22 Птн 13:12:46 #737 №2458987 
>>2458803
Jewsrael?
Аноним 09/09/22 Птн 13:16:47 #738 №2458997 
>>2458987
Jordan
Аноним 09/09/22 Птн 19:42:34 #739 №2459263 
Какой в /pr/ бамплимит?
Аноним 09/09/22 Птн 21:18:10 #740 №2459328 
>>2458888
Регексп - это программа.
Читать - слева направо.
Аноним 10/09/22 Суб 03:45:44 #741 №2459479 
>>2459263
500, но для джава треда раньше 1000 перекатывать - моветон.
Аноним 10/09/22 Суб 07:13:59 #742 №2459491 
>>2459479
Сколько я тут сижу - тред катится после 500 постов. Что сейчас случилось то?
Аноним 10/09/22 Суб 12:29:12 #743 №2459567 
>>2459491
Сколько ты тут сидишь? 2 треда?
Аноним 10/09/22 Суб 15:20:28 #744 №2459715 
>>2459567
Уже полгода наверное.
Аноним 10/09/22 Суб 15:27:18 #745 №2459718 
Есть смысл устанавливать maven отдельно ? Ведь maven идёт вместе с intellij idea ?
Аноним 10/09/22 Суб 15:30:37 #746 №2459721 
>>2459718
Пиши в новый тред.
Аноним 10/09/22 Суб 15:38:38 #747 №2459724 
>>2459718
Иногда удобнее через консоль собрать, но это редко нужно. Поставь, пусть будет, что ты теряешь то?
Аноним 10/09/22 Суб 15:59:05 #748 №2459737 
>>2459724
Через консоль ещё быстрее билдить.
Аноним 10/09/22 Суб 16:02:18 #749 №2459738 
>>2459718
Добавь идеевский мавен в path и все.
Аноним 10/09/22 Суб 16:03:24 #750 №2459740 
>>2459724
Ок, сяб.
Аноним 14/09/22 Срд 15:41:36 #751 №2462822 
В реальном продакшене обязательно чтобы доступ к полям объекта извне был через геттеры и сеттеры? Если напрямую напишешь object.field, это же косяк?
Аноним 15/09/22 Чтв 05:20:36 #752 №2463273 
>>2462822
Зависит от дроча твоего лично или лида на все это. Можешь вообще обмазать все это лобком и не ебать мозги.
Олсо, хули ты делаешь в мертвом треде?
Аноним 15/09/22 Чтв 09:45:51 #753 №2463314 
>>2462822
>>Если напрямую напишешь object.field, это же косяк?
Да, гет/сет корпоративный стандарт. Как и ломбок.
Аноним 16/09/22 Птн 10:38:31 #754 №2464071 
>>2463314
А если я ебал корпоративные стандарты бтв?
Аноним 16/09/22 Птн 19:16:52 #755 №2464525 
>>2464071
тогда в энтерпрайз тебе путь закрыт, пиши дальше моды на майнкрафт
Аноним 20/09/22 Втр 21:50:33 #756 №2468505 
Сап. Научите зеленого вкатуна писать тесты.

Вот написать я RestController. Там есть PostMapping-метод, который принимает Json. Отвечает "ок" если все норм

Как на него написать юнит тесты с помощью Mockito & Junit5?

Я чет концепцию нихуя не понимаю что мне надо мокать..
Есть представление ток что я ответ как-то должен проверить ассертом "ок" он или нет.

Мб какой-то подробный гайд есть для тупых?
Аноним 20/09/22 Втр 22:04:58 #757 №2468521 
>>2468505
>>RestController
>>Как на него написать юнит тесты
через MockMvc или WebClient пишешь рест запрос, читаешь статус код, сверяешь тело с тем что должно быть
>>что мне надо мокать..
сервисы которые вызываются в контролере, а сам рест запрос за тебя уже сымитирует MockMvc
>>Мб какой-то подробный гайд есть
https://reflectoring.io/spring-boot-web-controller-test/
>>для тупых?
https://www.baeldung.com/spring-boot-testing
пункт 8
Аноним 20/09/22 Втр 22:30:07 #758 №2468543 
>>2468521
Во-первых, спасибо тебе за ответ, Анон!

Гайды посмотрю и вернусь с тупыми дополнительными вопросами
Аноним 20/09/22 Втр 22:46:48 #759 №2468563 
image.png
>>2468521
Заинжектил MockMvc

пытаюсь вызвать у mvc.perform(get
а он "get" не распознает.

Мне что-то испортить еще надо отдельно?
Аноним 20/09/22 Втр 22:54:20 #760 №2468569 
>>2468563
дополнение:

этот get -это же MockMvcRequestBuilders.get() ?
Аноним 20/09/22 Втр 22:56:18 #761 №2468571 
>>2468569
Да, наверное он. В примерах очень любят забыть упомянуть про статик импорты, а потом гадай откуда этот метод.
Аноним 20/09/22 Втр 22:59:42 #762 №2468577 
>>2468571
>а потом гадай откуда этот метод.
Во-во.. для кого они эти гайды пишут? Для гениев, которые и так все понимают? А бестолочи вроде меня ноют и страдают потом
Аноним 20/09/22 Втр 23:03:36 #763 №2468588 
>>2468563
Накатал я тест по образцу, запустил тест, а он мне высыпал:

"java.lang.illegalstateexception failed to load applicationcontext"
Аноним 20/09/22 Втр 23:08:11 #764 №2468603 
>>2468577
Перекатывайся из бестолочей в гении значит.
Обычно к гайдам прилагаются сорцы на гитлабе, если совсем сложно - ищи в них. Ну или просто загляни в сигнатуру метода, что он там ожидает параметром.
Аноним 20/09/22 Втр 23:26:39 #765 №2468624 
>>2468603
>Перекатывайся из бестолочей в гении значит.
Да тут два варианта.
Либо совсем нахер пошлю джаву, либо случится переломный момент и в гении да..

>>2468588
По поводу этого можешь подсказать что-то?
Причем тут контекст?
Аноним 21/09/22 Срд 00:21:07 #766 №2468683 
>>2468624
Чел, я конечно рад помочь советом, но дебажить мне влом тем более без кода и стектрейса только методом телепатии.

Какую-то волшебную аннотацию надо поставить наверное.
Если ставишь @SpringBootTest он контекст поднимает, возможно с ним что то не так.

Могу только послать тебя в гугл читать что то вроде

https://www.jvt.me/posts/2022/03/10/spring-failed-applicationcontext/

https://www.youtube.com/watch?v=7mZqJShu_3c
Аноним 21/09/22 Срд 02:00:16 #767 №2468740 
>>2468683
Спасибо, буду изучать

Вопрос такой: чтобы мне протестировать какой-то метод контроллера.. мне нужно приложение запускать сначала, а потом врубать тест?
Или я просто тест врубаю и он эндпоинт дергает.. я крч концептуально не понимаю тут
Аноним 23/10/22 Вск 16:53:34 #768 №2496324 DELETED
aноны, пожaлyйcтa, помогитe

я видeл, что тyт один yжe попpошaйничaл, тaк что поймy, ecли нaxyй пошлётe..
y мeня мой котофeй зaболeл. зовyт Гошa, y нeго capкомa жeлyдкa, тpи нeдeли нaзaд обнapyжили..
caм cтyдeнт, eщё нe paботaю, почти ниxyя нe имeю, a то, что имeл, yжe пpодaл - cмapтфон, нeкотоpyю одeждy, комплeктyющиe от пк, котоpыe xоть чeго-то cтоили. тaк жe влeз в долги. пытaлcя в микpозaймы или кpeдиты - ниxpeнa нe дaют из-зa отcyтcтвия paботы. pодитeлeй нeт, только бaбyшкa, котоpaя почти вcю пeнcию нa ceбя тpaтит - лeкapcтвa, eдa, коммyнaлкa. в общeм, нe помощницa..

тaк нacкpёб 16 c половиной тыcяч. нa опepaцию нyжно 18, eщё cpaныx 1450 pyблeй нe xвaтaeт. a опepaция нa зaвтpa, нa 11 дня нaзнaчeнa бляять...

yмоляю, aноны, xотя бы pyблём помогитe пожaлyйcтa.
220073ㅤ0247ㅤ539162
(извинитe, что имeнно так напиcал, боюcь бан выxватить раньше времени)

я догaдывaюcь, что нeкотоpыe пpeдложaт зaбить нa котофeя - я нe могy тaк, aноны... Гошa cо мной yжe полжизни, это caмоe доpогоe cyщecтво для мeня. и ceйчac, cмотpя, кaк он мyчaeтcя, xочeтcя нaxyй вcкpытьcя...

мeня cкоpee вceго ceйчac зaбaнят к xepaм, поэтомy извинитe, ecли отвeтить нe cмогy..
Аноним 23/10/22 Вск 16:53:55 #769 №2496327 DELETED
IMG202209101700065.jpg
IMG202209101700071.jpg
aноны, пожaлyйcтa, помогитe

я видeл, что тyт один yжe попpошaйничaл, тaк что поймy, ecли нaxyй пошлётe..
y мeня мой котофeй зaболeл. зовyт Гошa, y нeго capкомa жeлyдкa, тpи нeдeли нaзaд обнapyжили..
caм cтyдeнт, eщё нe paботaю, почти ниxyя нe имeю, a то, что имeл, yжe пpодaл - cмapтфон, нeкотоpyю одeждy, комплeктyющиe от пк, котоpыe xоть чeго-то cтоили. тaк жe влeз в долги. пытaлcя в микpозaймы или кpeдиты - ниxpeнa нe дaют из-зa отcyтcтвия paботы. pодитeлeй нeт, только бaбyшкa, котоpaя почти вcю пeнcию нa ceбя тpaтит - лeкapcтвa, eдa, коммyнaлкa. в общeм, нe помощницa..

тaк нacкpёб 16 c половиной тыcяч. нa опepaцию нyжно 18, eщё cpaныx 1450 pyблeй нe xвaтaeт. a опepaция нa зaвтpa, нa 11 дня нaзнaчeнa бляять...

yмоляю, aноны, xотя бы pyблём помогитe пожaлyйcтa.
220073ㅤ0247ㅤ539162
(извинитe, что имeнно так напиcал, боюcь бан выxватить раньше времени)

я догaдывaюcь, что нeкотоpыe пpeдложaт зaбить нa котофeя - я нe могy тaк, aноны... Гошa cо мной yжe полжизни, это caмоe доpогоe cyщecтво для мeня. и ceйчac, cмотpя, кaк он мyчaeтcя, xочeтcя нaxyй вcкpытьcя...

мeня cкоpee вceго ceйчac зaбaнят к xepaм, поэтомy извинитe, ecли отвeтить нe cмогy..
comments powered by Disqus

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