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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 767 50 192
Java #116 thread /java/ Аноним # OP 22/08/22 Пнд 23:07:42 2443253 1
p1.jpg 80Кб, 1200x1600
1200x1600
16598025859710.png 485Кб, 1660x724
1660x724
16606021938070.png 63Кб, 1245x386
1245x386
16611754910340.png 33Кб, 1018x911
1018x911
ТРЕД ПО ЖАБЕ #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 2443255 2
>>2443253 (OP)
>2
Бля, а я ведь учился по курсам этого скуфа.

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

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

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

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

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

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

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

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

Да.

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

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

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

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

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

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

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

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

ИМХО стоит. Со стажем за плечами в будущем не будут смотреть как на говно без опыта. Кроме того, чекни --- может эти челы сами не шибко довольны сложившейся у них ситуацией, и планируют перекат на обновленный стек?
Аноним 25/08/22 Чтв 14:39:34 2445178 93
>>2445165
Смотря что за контора. На таком говне могут кроме тебя сидеть 2 петровича, ни в жабе, ни в вообще современной индустрии не шарящих. Там может не быть процессов - нет тестов, системы управления тасками и даже гита.
У меня так было, когда позвали на спринг + жава 8, а там был просто зоопарк из жава-ее библиотек и спринг чисто для di.
Я бы на твоем месте сам пооценивал уже имеющихся прогреров на проекте. И если понимаешь, что сторожилы много в чем не шарят - не иди туда. Ты у них ничему не научишься.
Аноним 25/08/22 Чтв 16:28:39 2445269 94
>>2445165
>восьмая джава
>легаси
пук
Аноним 25/08/22 Чтв 16:47:42 2445287 95
>>2445269
Восьмая жаба - легаси. Проблемы?
Аноним 25/08/22 Чтв 17:27:13 2445316 96
>>2445287
да, мы на пятой сидим и в велосити шаблоны страничек клепаем
проблемы?
Аноним 25/08/22 Чтв 17:46:11 2445335 97
>>2445316
И пятая, и восьмая жабы - легаси, окда?
Аноним 25/08/22 Чтв 19:21:15 2445403 98
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 2445415 99
>>2445100
>Когда у тебя появится больше полей в модели ты заебешься их обновлять по одному.
Как обновить только те, которые есть во входящем JSON-е?
Аноним 25/08/22 Чтв 19:54:27 2445419 100
Аноним 25/08/22 Чтв 19:55:08 2445420 101
изображение.png 51Кб, 604x568
604x568
>>2445100
>Логика должна быть в сервисе, а не контроллере
Все остальные методы в одну строчку. Мне из-за этого сервис создавать? Это тупо тестовое задание, надо чтобы работало, ну и чтобы правила REST были соблюдены.
Аноним 25/08/22 Чтв 20:28:27 2445449 102
>>2445419
Вот поэтому питонисты и долбоебы.

----

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

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

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

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

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

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

Что тут подразумевается под подробным описанием подкапотного устройства?
Аноним 26/08/22 Птн 14:34:35 2445994 179
>>2445971
Как спринг трогает кишки jvm и прочая непотребщина.
Аноним 26/08/22 Птн 14:34:59 2445997 180
>>2445971
Бин пост процессоры, ридеры, бин фактори, эвенты, наверное вот это все и так далее
Аноним 26/08/22 Птн 14:36:35 2446000 181
41ojhAapZVL.SX4[...].jpg 28Кб, 406x500
406x500
39793332[1].jpg 101Кб, 1200x1800
1200x1800
>>2445961
Так я и есть джун. А какие ты думаешь требования на мидла+ по знаниям кафки? Думаю прочесть вот эти книжки.
В самой доке кафки кстати очень мало инфы, надо кипы читать и комменты к ним.
Аноним 26/08/22 Птн 14:37:27 2446004 182
>>2445956
Спасибо анон, а на годные видосы на ютубе не натыкался?У меня легче идет, когда я миксую источники инфы, а не только книгу пялю весь день
Аноним 26/08/22 Птн 14:58:44 2446036 183
>>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 2446039 184
Аноним 26/08/22 Птн 15:28:32 2446058 185
Мимокрокодил с другого языка в треде.

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

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

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

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

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

>>2446715
Справедливости ради, идея всё же лучшее, что есть на рынке IDE сейчас. Все эти visual studio code и рядом не стояли по возможностям.
Аноним 27/08/22 Суб 12:45:38 2446989 233
>>2446916
>А зачем это всё?
Затем, зачем и всегда нужны фреймворки, уменьшить бойлерплейт код. Да и хз, что у тебя там в питоне, интерфейсы какие-то. Нативный джавовский клиент не так устроен, может там тоже какие-то дополнительные функции.
Над продюсером и админ апи там очень маленькие прослойки.
А над консьюмером там большой комбайн с конфигурацией еррор-хендлеров(с конфигурацией ретраев/пересылки в длт), конкурентного чтения, пакетной обработки, десятком видов фиксации оффсета, мониторингом, транзакциями, остановкой/паузой консьюмера, поддержкой евентов на каждую стадию обработки сообщения, валидацией дтошек, оберткой, чтобы клиенты кафки работали в с семантике запроса/ответа, дополнительными конверторами, делегатами десериализаторов.
Аноним 27/08/22 Суб 12:46:38 2446990 234
>>2446916
>Захочу сделать сериализацию в нужном месте - ну просто внутри коллбека вызову руками нужный сериализатор и всё.
>Зачем мне комбайн, который что-то там делает под капотом волшебное, когда я могу руками из библиотек собрать ровно то, что мне нужно?
Чтобы не тратить время. Spring-kafka это неплохой компромисс между простотой и низкоуровневым апи, стандартная спринговая либа, все гибко настраивается. А вот все остальное, что там наворотили это лютый пиздец. Кафка слишком сложная вещь, куча мест, где все может сломаться и абстракции потекут. Новичкам возможно действительно лучше начинать с простого кафка клиента, и делать все вручную, понимания будет больше. А то в spring-kafka аннотацию над методом поставил, пару пропертей прописал и все, кажется, что все будет работать (нихуя).
Аноним 27/08/22 Суб 15:42:34 2447188 235
simplescreenrec[...].mp4 3273Кб, 796x598, 00:00:27
796x598
simplescreenrec[...].mp4 4006Кб, 800x722, 00:00:37
800x722
simplescreenrec[...].mp4 2087Кб, 800x600, 00:00:16
800x600
Выхожу на связь, давненько не писал, был творческий кризис. Сделал свое личное карманное AWT с перехватом фокусов, менежментом активностей фреймов и прочая и прочая. Это все нужно для редактора карт, которому нужна своя оконно-компонентная система (использовать swing постеснялся, решил написать своё) d2d2-components обособлена как отдельная либа, со своими git репозиторием и своей mvn dependency. Нет пока только layouts, компоненты нужно выставлять вручную, указывая координаты. Пока не придумал как сделать layouts так, чтоб не было слишком больно.
Аноним 27/08/22 Суб 16:02:46 2447203 236
>>2447188
Как ты сделол такое если анончики говорят что джава в 2022 используется только для майнкрафт модов???
Аноним 27/08/22 Суб 16:11:08 2447212 237
>>2447188
Хорошо, а теперь напиши идею.
Аноним 27/08/22 Суб 16:14:46 2447216 238
>>2447203
Майнкрафт на чем написан, болезный?
Аноним 27/08/22 Суб 16:20:27 2447226 239
Аноним 27/08/22 Суб 16:26:06 2447235 240
>>2447212
С использованием OpenGL?
Аноним 27/08/22 Суб 16:33:09 2447241 241
>>2447235
С использованием того, что у тебя на вебмках.
Аноним 27/08/22 Суб 16:34:06 2447245 242
>>2447226
К тому, который на крестах написан, внезапно и модов нет.
Аноним 27/08/22 Суб 16:34:42 2447247 243
>>2447241
У него на вебмках не LWJGL
Аноним 27/08/22 Суб 16:36:06 2447250 244
>>2447245
Лол, серьезно? Нахуй он тогда нужен?
>>2447247
Какая разница блядь? Пусть пишет идею чтоб работала быстро и не тормозила.
Аноним 27/08/22 Суб 16:43:06 2447256 245
>>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 2447260 246
Сап, пацаны, есть у кого годный туториал по Маките и юнит тестам с её помощью?
Аноним 27/08/22 Суб 18:13:25 2447340 247
1234.mp4 24407Кб, 1114x712, 00:01:09
1114x712
mapeditor.mp4 2649Кб, 1274x762, 00:00:46
1274x762
>>2447247
У меня на вебмках как раз LWJGL. Точнее велосипедный фреймворк общающийся с OpenGL через API LWJGL.
Аноним 27/08/22 Суб 18:21:31 2447349 248
>>2447340
А, я тебе донатил, кажется. А может то не ты был, но вроде в этом разделе.
Аноним 27/08/22 Суб 18:24:29 2447351 249
water.mp4 5698Кб, 1090x732, 00:00:39
1090x732
Аноним 27/08/22 Суб 19:56:18 2447436 250
>>2447351
Ты ведь про инвесторов c pay to earn что-то говорил, если я не путаю? И про найм других людей. Как с этим дела?
Аноним 27/08/22 Суб 20:33:44 2447473 251
>>2447436
Пока что на этапе написания диздока, вайтпеппера, ванпейджера, сайта, вот этого всего, созвонов бесконечных. Диздок, кстати, дописал. Большие фонды пока не привлекали.
Аноним 27/08/22 Суб 20:42:48 2447490 252
А нахуя Джаве виртуалка?
Вот рил, не понимаю. Джаву компилишь раз, запускаешь эвривеа.

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

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

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

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

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

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

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

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

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

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

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

Android - arm7, armv8a, x86, x86_64.

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

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

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

iOS - чисто политика Apple. Теоретически что мешает там запустить JVM
Аноним 27/08/22 Суб 22:47:52 2447666 264
Дорогие разработчики. Меня, автотестера побудило вместо автотестов написать банальную программу, которая открывает браузер (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 2447667 265
>>2447666
Разрабы, помогите ему

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

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

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

Чтобы появились вопросы нужна задача, тут уже сам придумывай, я посоветую плагины для майнкрафта писать.
Аноним 28/08/22 Вск 19:58:45 2448562 290
Аноним 28/08/22 Вск 20:10:34 2448567 291
>>2443253 (OP)
Как научиться правильно выбирать уровень изоляции транзакции? Ну так, чтобы не наломать дров.
Аноним 28/08/22 Вск 22:40:50 2448773 292
>>2448567
Выбирай самый высокий, не ошибешься
Аноним 28/08/22 Вск 22:50:50 2448787 293
Не стыдно ли вкатываться джава джуниором на 43 лвле?
Аноним 28/08/22 Вск 22:51:45 2448790 294
>>2448773
Не просто так же придумали эти уровни.
Аноним 28/08/22 Вск 22:52:24 2448791 295
>>2448787
Стыдно. Но не из-за возраста, а из-за того что джуном. Вкатывайся мидлом.
Аноним 28/08/22 Вск 22:59:21 2448797 296
Аноним 28/08/22 Вск 23:10:49 2448805 297
Почему, когда я в тестах через mockMvc посылаю гет запрос на свою страницу, требующую авторизации, мне возвращается 401 статус нот авторайзд, если по идее должен быть 302 редирект на логин пейдж? Та же хуйня, если посылать постманом, но вот если в браузере открыть, то все ок и будет 302. Чет мне эта хуйня не дает покоя, учитывая, что в видосе литкода все ок и возвращает статус редирект в тестах. Конфиги у нас с ним одинаковые плюс минус, мб дело в версиях?
Аноним 28/08/22 Вск 23:50:54 2448845 298
>>2448773
Самый высокий = транзакции выполняются последовательно = толку от нескольких ядер 0, всё равно СУБД будет работать в несколько раз сильнее, чем могла бы.
Аноним 29/08/22 Пнд 00:05:43 2448871 299
image.png 101Кб, 1629x391
1629x391
image.png 21Кб, 665x348
665x348
Объясните пожалуйста , что надо сделать что бы поднять приложуху на убунту ? В конфигурационм файле nginx я прописал перенаправление с порта 80 на тот что указан в приложухе. Приложуха запустилась на этом порту. Но один хуй не могу зайти . Выдает 502ю
Аноним 29/08/22 Пнд 00:15:40 2448890 300
>>2448871
Спроси у nginx-программистов.
Аноним 29/08/22 Пнд 00:52:38 2448919 301
>>2448805
Скорее всего mockMvc автоматически следует редиректам. Постман именно так по дефолту и делает.
Аноним 29/08/22 Пнд 01:02:48 2448925 302
>>2445449
Мобилки (Андроид) ещё и на Джаве продолжают делать те люди, что не начинали учить Котлин.
Аноним 29/08/22 Пнд 01:04:46 2448927 303
>>2445403
Не разбираюсь, то если дословно перевести с английского, то reversed обозначает "перевернутый".
Аноним 29/08/22 Пнд 01:07:00 2448931 304
>>2448927
Это и так понятно. У него же проблема, что при сортировке от А до Я всё работает, а при сортировки от Я до А жаба пишет "ты пидор".
Аноним 29/08/22 Пнд 01:13:22 2448932 305
Необходимо создать общение двух JVM стандартными методами жабы. Как это сделать? Есть какие то мурзилки?
Аноним 29/08/22 Пнд 01:18:16 2448934 306
Почему в пайтон треде очень большое количество порно материалов (фото и видео) ?
Аноним 29/08/22 Пнд 01:21:17 2448937 307
>>2448934
Называй всё своими именами. Не """пайтон""", а петухон.
Аноним 29/08/22 Пнд 01:23:02 2448938 308
Аноним 29/08/22 Пнд 02:40:36 2448953 309
>>2448871
Ты проксируешь запросы, пришедшие на внешний интерфейс на этот же интерфейс. Сомневаюсь, что у тебя порт приложения вообще на нем доступен. Завязывай сочинять конфиги под веществами и скопируй готовый конфиг с первой страницв гугла, короче.
Аноним 29/08/22 Пнд 07:20:42 2448989 310
Кто-то знает как в Community Intellij Идее пофиксить этот ебучий баг, что редактор не видит импортов? Импортишь какой-то пакет, даже не из откомпиленных либ а прямо из сорцов, а он выделяет это красным, не могу типа определить класс. Бесит уже просто пиздец, скачал ради этого новую версию, сначала все норм было, а потом опять стало на некоторые классы проскакивать.
Аноним 29/08/22 Пнд 08:10:41 2448993 311
Аноним 29/08/22 Пнд 08:11:11 2448994 312
>>2448989
ИНДЕКСАЦИЯ
@
ИНДЕКСАЦИЯ
Аноним 29/08/22 Пнд 08:16:12 2448996 313
>>2448993
Благодарю
>>2448994
а попонятнее можешь как-то сказать?
Аноним 29/08/22 Пнд 08:22:51 2448998 314
>>2448994
>>2448996
Пофиксилось. По крайней мере, после автоимпорта который идея сама сделала
Аноним 29/08/22 Пнд 08:52:06 2449008 315
Да что с этим долбанным хибернейтом не так!?
Нашёл мурзилку, где четко написано как найти сумму всех ячеек в таблице:
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 2449010 316
>>2449008
У тебя есть сущность Student с аннотацией @Entity?
Аноним 29/08/22 Пнд 08:56:57 2449011 317
>>2449010
Конечно. Я даже туда данные загонял и сохранял в таблице, а посчитать сумму не могу.
Аноним 29/08/22 Пнд 09:27:43 2449018 318
>>2448319
Я вообще все забывал сразу после сдачи предмета. Сейчас максимум какие-нибудь простейшие производные и интегралы смогу взять, ну и формулу для сочетаний и перестановок вспомню, не более. То есть по сути то, что и школьники умеют, лол. Вузовский материал как-то вообще быстро выветрился.
Аноним 29/08/22 Пнд 09:34:55 2449022 319
>>2447490
>А нахуя Джаве виртуалка?
В 90-х это было модно. Тогда все еще существовало много других осей и архитектур. Никто не был уверен, что все сведется к тому, что через 30 лет жаба будет только в докере на линухе крутиться исключительно как бекендовый язык.
Аноним 29/08/22 Пнд 09:38:12 2449024 320
>>2448319
>>2449018
А чего вы ждали? С самого начала вката вокруг вас знакомые носились со стереотипом, что все программисты используют вышмат в работе, и вы сами в это уверовали? Не обязательно опускаться до уровня сантехника, чтобы не использовать математику в работе, она нужна единичным наукоёмким профессиям, к коим программирование как таковое, очевидно, не относится. Врачи - это тоже сантехники, да?
Аноним 29/08/22 Пнд 09:41:21 2449025 321
>>2449024
Да мне как-то все равно, я не математик-PhD, который каким-нибудь ресерчем в машобе занимается или обработкой сигналов, я обычная макака.
Понадобится математика, ну открою матпрофи, какие-нибудь материалы и лекции для тупых студней и буду заново вспоминать или вообще с нуля учить, дальше-то? Но мне кажется таких задач у меня никогда не будет. А то, что не используешь, то быстро забывается.
Аноним 29/08/22 Пнд 12:12:27 2449084 322
У меня на ласт собесе на джуна час гоняли по конкаренси. И я не шучу, буквально сразу после того как я назвал что есть callable, в котором есть future, меня начили задалбывать чем же отличается future от completablefuture, и прочую ересь о которой я впринципе никогда не слышал. Когда мы отходили от многопоточки скажем на паттерны или стримы, буквально через пару вопросов мы снова к ней возвращались будто вовращались в ад.
Ну и конечно же спустя час когда у меня поплавился мозг в ход пошли задачки из литкода, у меня уже бошка совсем не варила и я минут 10 тупил на задачной про поиск квадратного корня бинарным поиском и задачкой про валидацию скобок [[[]]] )(.

Очевидно отрицательный фидбек, вопрос, как мне теперь с этим жить? Есть какой-то норм гайдец по вопросам конкаренси чтобы не тупить?
А то я по сути никогда многопоточного не писал, у меня все пет проекты это какой-либо crud на спринг+хибернейт +тест в cicleci чтобы показать что я шарю за это..
Ну и конечно поиск работы в Украине чичас это жепа - на одну вакансию по 200 откликов за день, в половине случаев рекрутеры даже не чекают, на собес попасть это тот еще квест, за месяц 2 раза сосебился успешно выполняя тестовые.
Аноним 29/08/22 Пнд 12:17:35 2449086 323
image.png 231Кб, 378x500
378x500
>>2449084
Есть книжка с поездами.
Ну и попробуй что-нибудь свое написать на тех же комплитбл фьючах
Аноним 29/08/22 Пнд 12:23:23 2449092 324
>>2449086
пасиб, просто я не совсем пойму на реддите в джава сабе читал что они (америкосы?) джунов не подпускают к многопоточке мол это слишком сложно и надо пару лет опыта чтобы шарить что к чему, а у нас это будто мастхев. Видимо не врут на ебаном.айти что у нас в Украине аутсорс\аутстаф компании продают 0.5г джуна как 3-4г мидла.
Аноним 29/08/22 Пнд 12:40:04 2449098 325
>>2449086
А она не устареет после выхода Loom осенью?
Аноним 29/08/22 Пнд 12:41:28 2449101 326
>>2449092
Это не мастхев. Многие мидлы на спринге не особо шарят в канкурренси.
Это это не просто так, спринг-конфигураторы сами почти не пишут многопоточный код и достаточно редко ковыряются в библиотечной многопоточке.
Просто интервьюер такой задроченный попался. Этот вот любит по многопоточке угарать, другой по полной иерархии io тебя бы вздрючил или еще по чему-небудь.
Аноним 29/08/22 Пнд 12:55:30 2449110 327
>>2449092
Оффтоп - чё там на украине с рынком айти?
Насколько реально приехать из рф, не щемят? По идее не должны, учитывая кто выгодоприобретатель в ситуации, когда спец перестаёт платить налоги в стране, с которой у тебя война и начинает платить их твоей стране - но мало ли на свете дегенератов.
Аноним 29/08/22 Пнд 13:22:22 2449140 328
image.png 33Кб, 200x320
200x320
image.png 266Кб, 406x500
406x500
>>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 2449161 329
>>2449008
В общем, надо писать так:
SELECT sum(s.age) from Student s

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


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

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

> Котлин vs шарп
> В джавовом треде
Аноним 01/09/22 Чтв 14:13:12 2451880 441
Аноним 01/09/22 Чтв 14:18:44 2451889 442
813341f.jpg 294Кб, 1280x721
1280x721
>>2451859
котлин это больше про андроид, шарп это геймдев и декстоп.
есть еще немного бэкенда, но там жаба сидит и ее не выгнать.
Обе хуйни какие то нишевые в которые так просто сходу не вкатишься на сотыги, но у шарпа все же чуть больше шансов - там хоть за счет легаси можно протянуть.
Аноним 01/09/22 Чтв 14:19:23 2451890 443
Я мурзилку читаю, но вычищатель сприга не может решить квадрат должен наследоваться от ректангла или наоборот.
Аноним 01/09/22 Чтв 18:11:44 2452133 444
429f9f975b1974b[...].jpg 105Кб, 539x688
539x688
Не хочу читать скучные мурзилки, а хочу смотреть весёлые картинки!
Аноним 01/09/22 Чтв 18:44:55 2452150 445
Аноним 01/09/22 Чтв 21:15:49 2452304 446
image.png 510Кб, 664x1000
664x1000
>>2452133
Мурзилки не скучные.
Аноним 01/09/22 Чтв 22:04:41 2452330 447
>>2451599
Между прочим факт, но жаба тоже замусоривается. На самом деле, все возможности жабы после 8 можно заменить какой-нибудь собственной библиотекой.
Аноним 01/09/22 Чтв 22:10:03 2452333 448
Аноним 01/09/22 Чтв 22:25:00 2452339 449
>>2452330
> все возможности жабы после 8 можно заменить какой-нибудь собственной библиотекой.
С ассемблером тоже так можно. Но это не значит, что нужно.
Аноним 01/09/22 Чтв 23:45:28 2452376 450
Назовите джентльменский набор для джава мидла?
Аноним 02/09/22 Птн 00:03:35 2452385 451
>>2452376
жаба кор, спринг кор
Аноним 02/09/22 Птн 00:05:43 2452388 452
>>2452376
классический секс, куннилингус, минет в презервативе, непрофессиональный массаж, расслабляющий массаж, стриптиз, эротический массаж;
страпон: анальная стимуляция, анальный фистинг вам, перемена ролей;
с/м игры: бандаж, легкая доминация, порка, трамплинг, услуги Госпожи, фетиш;
необычное: глубокий минет, групповой секс, золотой дождь выдача, минет без презерватива, окончание на грудь, ролевые игры, семейная пара, услуги семейной паре;
профессиональный массаж: урологический;
Аноним 02/09/22 Птн 00:54:02 2452399 453
>>2452376
По меньшей мере половина технологий, упоминаемых в вакансиях на жаба-бэкендера. Жаба, спринг и SQL само собой, хотя бы один сервер приложений, основы фронта, линукса, девопса и других смежных областей.
Аноним 02/09/22 Птн 01:47:47 2452417 454
>>2452376
кафка, спринг клауд, спринг секюрити, хибернейт, касандра, кубернетис (на базовом уровне), умение и понимание многопоточности и асинхронности, базовые навыки архитектуры (построение микросервисной архитектуры)
>>2452399
>>Жаба, спринг и SQL само собой, хотя бы один сервер приложений
это набор джуна
Аноним 02/09/22 Птн 07:08:29 2452455 455
>>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 2452473 456
Пользовался до недавнего времени плагином Spring Initilializr для коммьюнити версии, но жидбрейнсы решили этот плагин даже не забанить, а сделать его частью платной идеи, что полностью лишает смысла его использовать, потому что в платной версии и так есть такой функционал.
Вот вам наглядный пример истинной сущности жидбрейнсов!
Аноним 02/09/22 Птн 08:24:59 2452475 457
>>2452473
Да все знают, что жидбрейны не намного лучше оракла и IBM, но лучше идеи ничего нет, даже при всей её тормознутости и прожорливости.
Аноним 02/09/22 Птн 08:59:02 2452482 458
Аноним 02/09/22 Птн 10:43:57 2452541 459
>>2452473
Тоже бугуртнул с этого. Пользовался ради подсказок в application.yaml. Хорошо, что для этого есть аналогичный плагин.
Аноним 02/09/22 Птн 12:46:27 2452602 460
>>2452417
А зачем нужна кассандра(про устройство немного)? Это olap база? У меня на проекте clickhouse есть. Понятно, что это другое семейство nosql, но применение похоже или нет?
Ну и спринг клауд, вот я open feign чуть трогал, ну клиент, теоретически можно наверно config и schema registry затянуть. А остальные части спринг клауда вообще не очень понимаю зачем. Можете пояснить за самые попсовые куски спринг клауда и зачем они нужны?
Аноним 02/09/22 Птн 13:33:11 2452637 461
Запустил свой пет на 2 потоках и он жидко обсерился, вывалив 100500 эксепшнов. Кажется вкат откладывается ещё на год...
Аноним 02/09/22 Птн 15:18:55 2452731 462
>>2443253 (OP)
Пару глупых вопросов от вкатуна

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

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

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

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

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

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

if (govno == null) {
user.error(Error.of(ErrorTemplate.INCORRECT_INSERT));
[
Аноним 03/09/22 Суб 10:37:18 2453303 488
>>2453133
>Он же написал про 1с перед этим
И где связь? На 1с доля бухгалтерских проектов такая же, как на любом тырпрайз языке, проще говоря - вероятность в 1с попасть на бухгалтерию такая же, как в джаве.
Аноним 03/09/22 Суб 10:59:47 2453312 489
>>2453237
Во всех современных JVM NPE отдельно заоптимизировано,
например к нему не цепляется стек.
Можно кидать NPE хоть с частотой в 10 килогерц без потери производительности
Аноним 03/09/22 Суб 12:00:28 2453365 490
>>2453312
оптимизация кода через NPE driven development
Аноним 03/09/22 Суб 13:13:18 2453472 491
>>2453265
Ну и чем это отличается от return Optional.empty? Учитывая, что под капотом пустой опшионал не создается, это статик синглтон.
Аноним 03/09/22 Суб 13:36:00 2453497 492
>>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 2453500 493
>>2453497
В том, что ты сказал тоже самое, что и чел с видео.
Аноним 03/09/22 Суб 14:01:37 2453527 494
>>2453500
он говорит возвращать нецелый объект, обмазаться Optional, кидать эксепшены даже для бизнес логики и никогда не юзать null,а еще он настолько неграмотен, что не понимает что null это отсутствие объекта и что он привязан к реальному миру типа пошел в магаз за молоком, молока нету, принес домой null молока
Аноним 03/09/22 Суб 14:01:58 2453528 495
>>2453116
> В смысле? Например?
Тестирование, техподдержка, что-то где хоть немного знание языка можно применить.

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

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

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

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

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

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

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

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

https://danbooru.donmai.us/

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

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

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

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

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

Как аналог эксепшенов назову паттерн матчинг вместе с силед интерфейсами из жабы 19. Производительность херится уже меньше, но зато точно также 100%-но интуитивно и расширяемо, больше располагает к декларации кода.
Аноним 03/09/22 Суб 22:59:48 2454264 538
go.png 205Кб, 1717x1674
1717x1674
>>2454223
>>самое правильное решение - эксепшен
Запрашиваешь сущность - получаешь эксепшен. Теперь вместо разворачивания опшионала надо трай-кетч писать на каждый пук.
Аноним 03/09/22 Суб 23:27:44 2454313 539
>>2454264
Я же говорю, проблема этого в бойлерплейте.
Аноним 04/09/22 Вск 00:21:37 2454392 540
>>2454160
Т.е. либо объект, либо отсутствие объекта, оно же нулл.
Аноним 04/09/22 Вск 00:41:29 2454427 541
>>2454392
Ну да, Optional это обертка над Object?, че сказать-то хотел?
Аноним 04/09/22 Вск 01:56:25 2454478 542
Бля, а кто - нибудь может объяснить, почему WebFlux так мало упоминается? Это ж реактивщина, без реактивщины ни один нормальный проект не сделать на голом мвс дате и прочем кале не многопоточном. Бля пиздец без WebFlux никуда, без рофлов абсолютно любая высоконагруженная система уровня чуть выше "пет проект туду лист"
Аноним 04/09/22 Вск 02:26:29 2454487 543
>>2454478
Реактивщина нужна только там, где реально много блокирующего IO. Обычно хватает создать пул тредов побольше (опционально поднять несколько инстансов приложухи), каждый запрос будет выполняться в отдельном треде, а при блокировке треда системный планировщик тупо переключит контекст на другой тред, пока у заблокированного не отработает IO, чтобы ядро не простаивало. Тот же асинк, но средствами ОС, разве что системные треды более прожорливые и при нагрузках требуют пристально следить за их количеством.
Аноним 04/09/22 Вск 03:05:22 2454499 544
>>2454487
Звучит как васянский костыльный пиздец. В любом приличном сервисе, где возможны тыщу запросов в момент времени на взять сохранить нужна асинхронщина. Но зачем делать каждый метод, обрабатывающий запрос, асинкнутым, если есть реактивщина? Нахуй эти костыли хуячить я так и не понял, если уже все готово, цивильно, по-европейски.
Каков вообще процент реактивщины в новых проектах в тырпрайзе?
Аноним 04/09/22 Вск 07:56:19 2454536 545
>>2454203
>лишняя сущность
>контринтуитивно
>добавляет бойлерплейт код
Все три пункта - вкусовщина. Еще про таяние ледников от лишних тактов пожалуйся.
Аноним 04/09/22 Вск 08:05:14 2454538 546
>>2454536
Сразу инб4 вангую записывание всех несогласных в опшианальники. Юзайте нуллы на здоровье, только не надо тут выдумывать всякую чушь, прикрытую модными словами, чтобы изобразить какое-то преимущество у святыни твоей секты там, где его нет.
Аноним 04/09/22 Вск 09:59:23 2454573 547
Аноним 04/09/22 Вск 10:12:38 2454585 548
Аноним 04/09/22 Вск 11:19:08 2454611 549
>>2454478
В вакансии на мою текущую позицию тоже вебфлакс не упоминался. Уже на собесе мне предложили на выбор 2 стула - реактивщина с вефлаксом или бигдата с хадупом.
Аноним 04/09/22 Вск 12:53:09 2454708 550
>>2454427
Нул это отсутствие объекта
Аноним 04/09/22 Вск 13:09:05 2454725 551
>>2454708
Нул это указатель на ничего.
Аноним 04/09/22 Вск 13:54:02 2454768 552
Я буду учить Java
Аноним 04/09/22 Вск 14:54:43 2454835 553
> if (value instanceof String valueAsString) { ... }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Мб какой-то подробный гайд есть для тупых?
Аноним 20/09/22 Втр 22:04:58 2468521 757
>>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 2468543 758
>>2468521
Во-первых, спасибо тебе за ответ, Анон!

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

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

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

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

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

>>2468588
По поводу этого можешь подсказать что-то?
Причем тут контекст?
Аноним 21/09/22 Срд 00:21:07 2468683 766
>>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 2468740 767
>>2468683
Спасибо, буду изучать

Вопрос такой: чтобы мне протестировать какой-то метод контроллера.. мне нужно приложение запускать сначала, а потом врубать тест?
Или я просто тест врубаю и он эндпоинт дергает.. я крч концептуально не понимаю тут
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов