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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 536 30 135
Java Thread №285 /java/ Аноним 13/09/25 Суб 13:47:29 3540166 1
f74d95ce-2f58-4[...].png 1349Кб, 1024x1024
1024x1024
Аноним 13/09/25 Суб 13:56:28 3540172 2
Аноним 13/09/25 Суб 13:59:35 3540176 3
Аноним 13/09/25 Суб 14:11:21 3540183 4
>>3540176
Что за slowdowns имеются ввиду? Типа, если идее заблочить коннект к сети, то она лагать будет?
Аноним 13/09/25 Суб 14:22:21 3540195 5
>>3540183
Мб у него сама идея фризить начала из-за плагина. Я хызы. У меня не фризит ничего.
Аноним 13/09/25 Суб 18:06:35 3540291 6
Пример будет, где из-за сахара нечитаемый код получается?
Не балабольство на несколько абзацев, а просто пример кода.
Аноним 13/09/25 Суб 18:24:10 3540297 7
>>3540291
Какой смысл? Один пример ничего не докажет, да и ты всегда на все будешь говорить врети.
Тем более спрашивать это в треде, где мало кто пишет на языке где много сахара. Иди в котлин тред, если интересно.
Аноним 13/09/25 Суб 19:49:14 3540314 8
>>3540297
так нытье о нечитаемом коде из-за сахара только тут
Аноним 13/09/25 Суб 20:37:27 3540333 9
>>3540183
ja-netfilter написан на ява и, соответственно, тормозит как и любое другое ява поделие.
Аноним 14/09/25 Вск 00:16:57 3540395 10
>>3540291
>нечитаемый код
Это какой код ты считаешь не читаемым?
Аноним 14/09/25 Вск 00:43:42 3540405 11
>>3540291
Да изи: весь код с let/with/че-то там еще в котлине.
Аноним 14/09/25 Вск 01:58:49 3540407 12
>>3540405
Что тебе в таком коде конкретно не понятно, скуфчик? Могу тебе объяснить.
Аноним 14/09/25 Вск 02:00:25 3540408 13
>>3540405
Тем более let, with и т д - это просто функции, а тебя, скорее всего, пугают лямбды с контекстом.
Аноним 14/09/25 Вск 09:37:21 3540458 14
>>3540291
На джаве - создал объект и заполнил данными. Всё логично. На котлине вызвал очередную непонятную функцию
val user = User().apply {
name = "Pidor"
age = 30
}
Ещё лучше блять
val user = User("Pidor", 30).also { println("User created: $it") }
Геттеры и сеттеры под капотом, ну спасибо ебать
user.name
user.name = "Pidor blya"
Ой, а откуда метод? Может это какой-то стандартный метод String? Нихуя. Это любитель скотлина где-то там его насрал.
fun String.capitalize(): String { ... }
myString.capitalize()
Аноним 14/09/25 Вск 11:47:30 3540531 15
>>3540458
Тебе сколько лет?
Нормальный код, все понятно.
apply можно не использовать, передавай аргументы сразу в конструктор.
С экстеншенами надо аккуратно, но так же можно засрать джава проект статическими методами, так что так себе доеб
Аноним 14/09/25 Вск 15:28:02 3540684 16
>>3540458
Из странных фич тут только also, все остальное давно есть в сишарпе. Ты литерали живешь в 2005 году.
Аноним 14/09/25 Вск 16:04:21 3540748 17
>>3540684
так это даже не фича, это просто функция, которая принимает лямбду. Котлин хорош тем, что в нем кейвордов очень мало, пожалуй только suspend добавляется к джаве, а больше ничего на ум и не приходит.
Аноним 14/09/25 Вск 16:42:41 3540797 18
image.png 100Кб, 801x291
801x291
Джава скуфы, ваши паттерны, геттеры-сеттеры нахуй никому не упали в 2к25. Делайте как в нормальных современных языках или отправитесь к коболу.
Аноним 14/09/25 Вск 18:28:09 3540909 19
>>3540797
А в каких современных модных языках нет геттеров и сеттеров?
По моему эта параша везде, буквально.
Аноним 14/09/25 Вск 21:16:56 3541063 20
>>3540797
>ваши паттерны
Паттерн всегда где-либо будет. Явно или неявно - другой вопрос.

>геттеры-сеттеры
Частично соглашусь, что можно писать код без геттеров и сеттеров. И в теории такой код может стать быстрее хотя бы по той причине, что изменение публичной ссылки напрямую(без вызова геттера/сеттера) не требует затрат на вызов метода.
Аноним 14/09/25 Вск 21:25:00 3541078 21
>>3541063
>И в теории такой код может стать быстрее хотя бы по той причине, что изменение публичной ссылки напрямую(без вызова геттера/сеттера) не требует затрат на вызов метода
Только Егорка топит за то, чтобы все поля в классе объявлять final, чтобы их вообще изменить нельзя было после создания.
Аноним 14/09/25 Вск 21:28:46 3541081 22
Аноним 14/09/25 Вск 21:29:21 3541085 23
>>3541063
>не требует затрат на вызов метода
jit это поймет после 2-3 вызова
Аноним 14/09/25 Вск 21:30:32 3541088 24
>>3541063
> такой код может стать быстрее
Да-да. Губами быстрее, ведь jvm не умеет инлайнить методы. Невероятные блять иновации. И типичная экономия на спичках. Почему у каждого второго жависта, руки блятб чешутся, чето пооптимизировать
Аноним 14/09/25 Вск 21:32:11 3541092 25
Аноним 15/09/25 Пнд 02:56:37 3541232 26
>>3541092
Кажется я нашел его гитхаб.
Аноним 15/09/25 Пнд 02:57:40 3541233 27
>>3541088
А кто говорит, что кто-то хочет что-то где-то оптимизировать?
Аноним 15/09/25 Пнд 10:30:21 3541306 28
Асинхронщину изучать надо? Сложная штука, чёрт побери. А реактивщина - вообще какая-то хуйня непонятная. В реактивщине отдельный тред делает только кусочек своей работы типа? Стрек-трейс состоит типа из пайплайнов или как?
Аноним 15/09/25 Пнд 12:39:19 3541458 29
>>3541306
>Асинхронщину изучать надо?

Надо.

>А реактивщина - вообще какая-то хуйня непонятная.
Если вкрадце - реактивщина == асинхронщина + backpressure. Эдакий умный listener, который может сказать эмиттеру "горшочек - не вари", и тот - не будет.
Аноним 15/09/25 Пнд 12:41:47 3541460 30
>>3541078
Егорку можно за многое хуесосить, но в отношении геттеров-сеттеров он прав.
Аноним 15/09/25 Пнд 12:50:28 3541468 31
>>3541458
Дашь рекомендации какие-то? Типа книг или ресурсов по изучению асинхронного программирования в джаве?
Аноним 15/09/25 Пнд 13:03:15 3541493 32
>>3541458
>Надо.
А зачем, если есть виртуальные потоки? Какое она применение имеет в жабе на данный момент?
Аноним 15/09/25 Пнд 13:22:23 3541519 33
>>3541493
Особо смысла нет, только если тебе интересно.
Эта штука была раньше популярна в андроиде (RxJava), до корутин из котлина.
Ничего сложного там нет, нужна такая же база, как и для написания обычного многопоточного кода. Но вся сложность в функциональном стиле - куча разных операторов, которые полностью никто не знает и юзают только маленькое множество этих операторов.

На бэке есть реактивная популярная либа Reactor, которая тесно связана с Spring WebFlux, но проектов, где такое используется очень мало.
Рациональнее такое учить только тогда, когда попадешь на такой проект.

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

В снг на джаве в 99% пишут блокирующие сервисы, к ним вся это история с асинхронщиной практически неприминима
Аноним 15/09/25 Пнд 13:22:57 3541520 34
Аноним 15/09/25 Пнд 13:50:32 3541549 35
>>3541520
Спасибо за развёрнутый ответ. Думаю тогда отложу пока эту затею из изучением реактивщины, т.к. времени на это нужно не мало, а использовать его я вряд ли где-то буду. Ну или пройдусь по базе, чтобы было представление хотя бы.
Аноним 15/09/25 Пнд 15:00:22 3541605 36
>>3541493
Так анон не уточнял - какую конкретно асинхронщину.
Аноним 15/09/25 Пнд 15:42:25 3541652 37
>>3541605
А че, все non-blocking алгосы - это автоматом асинки? Я думал это строго спизженная из мира фп парадигма.
Не очень удобно, когда один и тот же термин используется для разных вещей.
Аноним 15/09/25 Пнд 16:26:16 3541715 38
>>3541652
Это вообще про другое. Неблокирующие алгоритмы - это когда у тебя есть две версии данных - старая и новая - а потом ты через атомик делаешь свап указателя и дальше все работают с новыми данными. В классических алгоритмах кто-то один берет блокирвовку, остальные стоят и ждут под дверью туалета. Асинки тут вообще не при чем, асинки - это про экономию трех копеек на потоках, по сути просто модная хуита без какой-то реальной пользы.
Аноним 15/09/25 Пнд 16:39:05 3541738 39
>>3541715
Точно, решение проблемы 10к. А эти неблокриующие алгоритмы, их и только их можно использовать например в корутинах. Типа блокировка все разрушит. Поскольку там своя, крутая асинк блокировка - await. Которая позволяет что-то типа switch-context, но в рамках вм.
Так, а реактивщина тут тогда что?
Аноним 15/09/25 Пнд 17:38:30 3541792 40
>>3541652
>А че, все non-blocking алгосы...

А где речь шла о неблокирующих алгоритмах?
Аноним 16/09/25 Втр 16:05:43 3542393 41
Аноним 16/09/25 Втр 23:06:47 3542686 42
>>3540797
Пиздец, этот фрик ещё и лекции ведёт, я хуею
Аноним 17/09/25 Срд 11:01:03 3542829 43
>>3542686
А что тебя смущает? Любой может предложить в вузах лекции читать как подработку, у нас так несколько предметов читали около 10 лет назад.
Аноним 17/09/25 Срд 21:21:32 3543511 44
Хочу написать свой простой бэкэнд клона твиттера с микросервисами. Тут подошел бы и монолит, но сейчас модно делать микросервисы.
Как можно спроектировать систему?
Я хочу сделать так. Будет центральный сервис для работы с твитами, там follow, лайки. Микросервис авторизации с jwt токенами. Микросервис мультимедиа для работы с картинками (например, аватарки пользователей). У каждого микросервиса своя база данных, как утверждается в одном микросервисном паттерне. Через очередь RabbitMQ информация о пользователях и картинках переходит в центральный микросервис, так как надо связать твиты с юзерами и реализовать follow.

Пойдет такая система? Как можно улучшить?

Фреймворк для работы с БД будет, наверное, spring data jpa, а не MyBatis, потому что будут простые сущности со связями

Тут будет сложно, потому что доступ к ресурсам (картинки) должен быть при помощи jwt токена (только для авторизованных пользователей) и надо, чтобы сервис авторизации выдавал токены, которые может проверять другой сервис
Аноним 17/09/25 Срд 21:32:13 3543524 45
>>3543511
Два вопроса:
1) Нахуя?
2) Почему не спросишь чатжпт, он очень хорош для проработки сисдизайна
Аноним 17/09/25 Срд 21:37:31 3543532 46
>>3543511
>Микросервис авторизации
Есть готовые.
>Микросервис мультимедиа
Также есть готовые. Зачем писать аналог amazon s3?
>Через очередь RabbitMQ
Зачем здеся очередь?
Аноним 17/09/25 Срд 21:59:13 3543551 47
image.png 28Кб, 799x556
799x556
>>3540172
>>3540176
Короче чекнул я эту блокировку доменов жидбрейнсов. Енто дает возможность впихивать любой ключ, который был отозван после его выпуска. Таким образом можно использовать поюзанные юзерами ключи, но ограничение в том, что их надо будет искать каждый раз где-то. Т.е. должен быть человек, который их купил и слил соответсвенно. Не очень удобная хуйня.

Поэтому я таки еще поискал и нашел реальные исходники этого малваря. То был форк. Плюс также нашел плагины. А то меня всегда смущало, что там не один жарник, а целых пять и хуй пойми что они все делают. Насколько я теперь могу понять главный из них - это power.jar. Он подменяет сертификат что ли. Т.е. сменяет доверие с жидбрейнсов на то, что нагенерил ты, ну или сайты.
Дальше мне было интересно, в теории, ведь этот малварь просто может не запустится без интернета, вдруг он подменил сервер проверки на свой и будет ровно также долбится до победного, пока не подтвердит, что все норм. Но судя по всему ему похуй, нормально работает в полностью изолированной сети (пик).

Я еще думал сделать вайт лист по доменам, но лишь понял что я пиздец не шарю в теории сетей. Это 7 лвл по сути, ты можешь ресолв днса заблочить, но если ты уже знаешь ip до домена, то на 3 уровне нет блокировки. И пакетик легко пролетит.
И вот тут хуй знает как фильтровать, типа че распаковывать пакет вплоть до http и смотреть че там в хедере? Но тебе даст? В итоге забил, проще белые ip сделать, чем велосипед уровня ркн писать.
Вот - https://pastebin.com/gWVakps4

И решил знания по сетям подтянуть, хз зачем, это зона девопсинга, но мне интересно чет стало.
В итоге пару сайтов неплохих нашел, мб кому-то тоже интересно будет.
http://www.tcpipguide.com/
http://linux-ip.net/
Аноним 17/09/25 Срд 22:02:13 3543552 48
>>3543551
Лол, меня пастебин блокнул. Бывает же. Ну и хуй с ним.
В общем-то линки малваря, плюс полезные +-

# https://msucharski.eu/posts/application-isolation-nixos-containers/
# https://gist.github.com/nort3x/dde6757cb630afe052331e04ca1ab79e
# https://gist.github.com/PathumRathnayaka/c8179784a89d4011d19099bf06813e68
# https://boommanpro.cn/post/ja-netfilter

# Ключи до 2099 года
# https://ckey.run/

# Быстрая активация линух
# curl -sSL ckey.run | bash
# Винда
# irm https://ckey.run/ | iex

# source code malware
# https://github.com/neKamita/ToolBox-Activator/
# https://gitee.com/ja-netfilter/ja-netfilter/
# https://gitee.com/ja-netfilter/plugin-native
# https://gitee.com/ja-netfilter/plugin-dns
# https://gitee.com/ja-netfilter/plugin-power
# https://gitee.com/ja-netfilter/plugin-url
# https://gitee.com/ja-netfilter/plugin-hideme
Аноним 18/09/25 Чтв 01:10:04 3543715 49
Всё, что ниже 25 теперь официально легаси-помойка
Аноним 18/09/25 Чтв 07:25:28 3543753 50
>>3543551
Кого в вайтлист закинул? Я думаю айпишники мавена и гита туда запихнуть, как-будто больше никто и не нужен.
Аноним 18/09/25 Чтв 12:19:52 3543859 51
>>3543753
8.8.8.8 еще. Да и не факт что у таких больших сайтов ip один.

Я думал еще попробовать впихнуть небольшой сервер, aka nginx, который сидел бы на https://plugins.jetbrains.com/ и преобразовывал бы все обращения к себе в обращения в https://downloads.marketplace.jetbrains.com/ при условии, что спереди есть file, иначе просто обращался бы к внешнему plugin.
Тяк можно будет без впнов качать плагины прям внутри жидеи. Ну по идее.
Аноним 18/09/25 Чтв 12:45:40 3543873 52
Аноним 18/09/25 Чтв 12:50:30 3543875 53
>>3543873
У тебя в браузере защита стоит значит, что мол раз https, я работать не буду. Нахера на таких сайтах тебе https, я хз.
Аноним 18/09/25 Чтв 13:55:38 3543895 54
>>3543859
В идее можно указать прокси. Если он применяется для всех вызовов, в том числе и проверок лицензии что маловероятно можно все сделать через него.
Аноним 18/09/25 Чтв 16:42:44 3543990 55
>>3543895
А зачем собственно, если у меня ide в контейнере? Я могу на уровне ос настроить. Да и даже без контейнера как-то спокойнее/надежнее на уровне ос все сделать, чем доверять уровню приложений.
У меня больше сомнений вызывает, а будет ли это работать и как лучше организовать все енти редиректы. Плюс сертификаты для https надо бы сделать.
Аноним 18/09/25 Чтв 19:22:05 3544058 56
>>3543511
>Тут подошел бы и монолит, но сейчас модно делать микросервисы.

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

>Пойдет такая система? Как можно улучшить?

Тебе никто адекватно не ответит.

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

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

А между тем правильность архитектуры именно от таких вещей на практике и зависит. Пропускная способность. Футпринт. Количество девяток аптайма. Стоимость обслуживания, сопровождения. Вот это вот все.

Вот и думай.
Аноним 21/09/25 Вск 04:24:50 3545916 57
17580656422341.png 641Кб, 1066x1454
1066x1454
В силу обстоятельств перекатываюсь с C# на джаву. На руках есть крупный бекендовый проект, который требуют взять в поддержку. Есть вопросы

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

Почему так много xml-кода и аннотаций? Нельзя что-ли на джаве писать?

Есть шансы, что checked exceptions исправят или хотя бы введут структуры на стеке?

Есть шансы, что async/await завезут? На каждый http вызов гору кода писать надо?

Как устроены дженерики? Что такое стирание типов?

Нахуя вы транзакции открываете интерцептерами? Вы совсем ебанулись?

Это норм, что половина кода на джаве, а половина ка котлине? Как собирать проект правильно, у меня собирается градлом, затем надо другую часть собирать мавеном
Аноним 21/09/25 Вск 07:33:08 3545962 58
>>3545916
Скинь эти вопросы тому кто требует, он тебя обратно в петушарпик к шарподебилам отправит
Аноним 21/09/25 Вск 16:21:13 3546296 59
>>3541519
>На бэке есть реактивная популярная либа Reactor, которая тесно связана с Spring WebFlux, но проектов, где такое используется очень мало.
>Рациональнее такое учить только тогда, когда попадешь на такой проект.
Я полтора года работал на проекте с вебфлаксом, и вообще ничего про рекативщину не изучал. Просто оборачивал ответы сервиса в Mono и хуй с ним.
Аноним 21/09/25 Вск 17:12:04 3546344 60
Аноним 22/09/25 Пнд 03:42:16 3546681 61
Решил перекатиться в жабу. Это просто пиздец. Нахуя вам 100 систем сборки, каждя из которых работает через одно место? В этом даже разобраться невозможно
Аноним 22/09/25 Пнд 03:50:52 3546682 62
>>3546681
А иначе как зарабатывать на издании книг и чтении лекций?
Аноним 22/09/25 Пнд 04:34:48 3546688 63
>>3545962
>Скинь эти вопросы тому кто требует, он тебя обратно в петушарпик к шарподебилам отправит

Скорее всего придётся так и сделать. Просто перепишем на сишарп, спасибо
Аноним 22/09/25 Пнд 06:02:51 3546700 64
image.png 104Кб, 1506x631
1506x631
>>3545916
>>3546681
Так и быть, раскрою карты - вся эта сложность и нелогичность жава-экосистемы создана абсолютно искусственная. На жабе пишут серьезный банковский софт и чтобы откровенные дебилы не смогли попасть в компанию и набедокурить придумали спринги, грэдлы и прочие XML-конфигурации. Глупо было бы думать, что это всё нужно для написания типичных микрачей с rest-ручками, записью в бд и пуками в кафку. В середине 10-х пытались даже сделать ещё более жесткую фильтрацию внедряя Scala, но эпидемия ковида оказала серьезное воздействие на ментальные способности населения и пришлось возвращаться обратно на джаву.
Аноним 22/09/25 Пнд 07:43:39 3546722 65
>>3546700
>На жабе пишут серьезный банковский софт

На жабе когда-то писали серьезный банковский софт
Аноним 22/09/25 Пнд 08:10:06 3546728 66
>>3546700
Хз, Джереми писал, что если каждый десятый проект переписывают с джавы на сишарп, то обратного пути уже нет.

А там по сути только нугет лучше и сборочная система простая как палка. Всё остальное примерно то же самое
Аноним 22/09/25 Пнд 08:26:48 3546731 67
>>3546681
>Нахуя вам 100 систем сборки
Мавен, градл. Из которых мавен используется гораздо чаще. Откуда 100-то?
Аноним 22/09/25 Пнд 08:59:54 3546752 68
>>3546731
Оттуда, что разные проекты нужно собирать разными версиями гредла.

Часть собираешь скриптами на груви, которые миксуют гредлы и мавены.

У меня докерфайл на 1000 с лишним строк, отладка только в кубере. Эту ебанину локально никто уже лет 5 не запускал, только сталагмиты наросьают
Аноним 22/09/25 Пнд 09:05:55 3546758 69
>>3546752
На каждом проекте свой набор скриптов сборки. Только дурачок может надеяться на волшебный карго или мсбилд.
Аноним 22/09/25 Пнд 09:28:38 3546767 70
>>3546752
Легаси какое-то ебаное? Что держит людей на таких проектах, деньги?
Аноним 22/09/25 Пнд 09:32:40 3546770 71
>>3546752
Технически, это все еще одна система сборки. Просто в очередной раз кто-то все переусложнил, это не вина градла, а вина разрабов. Ровно также можно нахуевертить и на шарпе и где угодно еще.
Аноним 22/09/25 Пнд 09:59:01 3546795 72
>>3546767
>Легаси какое-то ебаное?
вроде нет, просто у нас разные проекты на разных версиях котлина, некоторые обновить невозможно. Поэтому весь котлин собирается своими скриптами.

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

>>3546700

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

Я хуй знает,
Аноним 22/09/25 Пнд 10:03:41 3546803 73
>>3546722
Напиши в револют, они об этом не в курсе
Аноним 22/09/25 Пнд 13:00:42 3547048 74
Ураа, я официально шизик - f60.1. Надеюсь вы тоже этому рады.
Аноним 22/09/25 Пнд 13:18:57 3547066 75
>>3546728
>Джереми писал, что если каждый десятый проект переписывают с джавы на сишарп, то обратного пути уже нет.
Доказательств этого, как обычно, никто не привёл.
Аноним 22/09/25 Пнд 13:19:32 3547067 76
>>3546728
>Джереми писал, что если каждый десятый проект переписывают с джавы на сишарп, то обратного пути уже нет.
Доказательств этого, как обычно, никто не привёл.
Аноним 22/09/25 Пнд 13:21:56 3547072 77
>>3546803
А почему потерли пост с вакансиями из революта? Они не нанимают шарпистов, если что
Аноним 22/09/25 Пнд 16:33:49 3547221 78
Что не так с джавой? Почему ее здесь так хуесосят? Это один из немногих вменяемых языков на самом деле

мимо писал на крестах, питоне, джсе, го и паскаль
Аноним 22/09/25 Пнд 19:55:34 3547303 79
>>3546700

Проебался букувально во всех инсайдах, анон.

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

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

>В середине 10-х пытались даже сделать ещё более жесткую фильтрацию внедряя Scala, но эпидемия ковида оказала серьезное воздействие на ментальные способности населения и пришлось возвращаться обратно на джаву.

А че уж не на джаваскрипт, лол?

Скала сдохла по очень простой причине - потому что вышла тройка, несовместимая с двойкой. Все. Примерно с выходом тройки весь публичный дискус вокруг скалы и сходит на ноль. Такой трюк мог прокатить с питоном 15 лет назад, у которого порог входа ниже плинтуса. Но не с функциональным языком, которому дали небольшой шанс войти в кровавый энтерпрайз, и который этот шанс проебал.
Аноним 22/09/25 Пнд 20:05:08 3547309 80
>>3547303
>и который этот шанс проебал.
И это очень грустно. Благо вроде жаба движется в сторону фп, не все потеряно, возможно.
Аноним 23/09/25 Втр 03:27:06 3547516 81
>>3547303
>Но не с функциональным языком, которому дали небольшой шанс войти в кровавый энтерпрайз, и который этот шанс проебал.

Не совсем. В кровавый интерпрайз вошёл f#. Он не такой категоричный, там ненавязчивое ФП и современный рантайм с нугетом.

А скала просто оказалась невостребованной
Аноним 23/09/25 Втр 07:21:21 3547549 82
>>3547516
Никуда он не вошёл, это совершенно мёртвое поделие.
Аноним 23/09/25 Втр 14:28:06 3547895 83
>>3547549
Игнорируй шарпомуху.
Аноним 23/09/25 Втр 19:25:41 3548219 84
>>3547516
Какой нах ф-шарп... Окстись, шарпей, в каждой жопе затычка. На скалу хоть немного, но вакансии были. На эту поделку вакансий никогда не было и нет по сей день, хоть сам язык и неплох.
Аноним 23/09/25 Втр 19:29:27 3548220 85
>>3547309
Все движется в сторону ФП. В сторону ФП следовало двигаться еще в нулевых, когда многопоточка стала мейнстримом. Но хули делать - инертность и необучаемость самой прогрессивной профессии на свете, которая вдовесок требует от своих специалистов быстрой и постоянной переобучаемости, не знает дна.
Аноним 23/09/25 Втр 19:47:39 3548228 86
>>3548220
Я думал это в основном потому, что фич именно для ооп особо-то и не придумаешь: часть недоступна из-за идеологии, а часть из-за обратной совместимости, другая очень сложно внедряется. А вот фп целая парадигма, которую можно потихоньку подпиливать и себе внедрять.
Просто странно считать, что фп прям во всем лучше ооп и последнее просто тупиковая ветвь развития.
Аноним 23/09/25 Втр 20:42:54 3548257 87
>>3548220
Оно начало двигаться еще до твоего рождения, да все никак. Единственную полезную фичу из ФП - замыкания - давно реализовали во всех языках, остальное дрочение никому не нужно.
Аноним 23/09/25 Втр 20:45:03 3548259 88
>>3548228

>часть недоступна из-за идеологии

Да кого когда либо волновала идеология, пф. Все современные языки - мультипарадигмальная солянка. Чистого ООП нет нигде, ибо нахуй не нужно.

Дело даже не в ФП и ООП. Холивар ФП/ООП просто всем привычен, потому что парадигмы на слуху. ИМХО, этот холивар - просто частный случай более общего холивара - "императивное vs декларативное программирование". И общий холивар ИМХО гораздо интереснее частного.

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

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

>Просто странно считать, что фп прям во всем лучше ооп и последнее просто тупиковая ветвь развития.

Сам этот холивар туп по своей форме. Разница меж ФП и ООП на самом деле лишь в том, что используется в качестве first-class citizen. Все. Остальное - лирика и реалии на местах.

Что же касается более общего холивара - всю дорогу разработка двигалась в сторону все более и более высокоуровневых подходов. От ассемблера к фортрану и си, от сей к плюсам, от плюсов к джаве, и даже в джаве превалируеит спринг, который, хоть и тяжело язык повернуть чтоб назвать его так, но декларативен. Декларативка - это просто следующий шаг в этой эволюции. Все само туда придет рано или поздно.
Аноним 23/09/25 Втр 20:48:12 3548264 89
>>3548259
>джун прочитал обложку SICP
Аноним 23/09/25 Втр 20:57:40 3548273 90
>>3548259
>Да кого когда либо волновала идеология
Ну архитекторов джавы. У них очень много решений именно на основе идеалогии. Типа нет перегрузки операторов, нет именнованных параметров и тд и тп. Да даже сама вот эта всепронизывающая обратная совместимость часть идеологии жабы. Ты не прав, я хуй знает, но мне кажется если ты почитаешь пару жепов и последишь хотя бы за развитием языка, то станет понятно, что там очень много вот таких вот решений.
>ту же проблему решают на порядки проще
Ты хоть знаешь как именно они её решают? Ну просто IO её скидывают и все. А там все та же мемори модель и прочее. Гениальное решение, ничего не скажешь.
Ну может как с parallel стримами ты можешь распаралелить чистые функции ну и проблему 10к решить.
>всю дорогу разработка двигалась в сторону все более и более высокоуровневых подходов.
Я не знаю, если смотреть в историю, то фп родилось примерно тогда же, когда появилась машина тьюринга. Тут нет развития, что мол вот, эта следующая ступень или что-то подобное. Фп всегда было просто паралельным путем.
Аноним 23/09/25 Втр 21:32:32 3548313 91
>>3548273
>Типа нет перегрузки операторов, нет именнованных параметров и тд и тп

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

>Ну просто IO её скидывают и все. А там все та же мемори модель и прочее.

Пиздец ты душный. А ты каких чудес то ожидал?

Ну расскажи как ты бы делал, раз тебе такое неинтересно.

>Ну может как с parallel стримами ты можешь распаралелить чистые функции ну и проблему 10к решить.

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

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

>Я не знаю, если смотреть в историю, то фп родилось примерно тогда же, когда появилась машина тьюринга

Разделяй кровавый энтерпрайз и науку. Так то и многопоточка появилась задолго до нулевых. Просто она особо не нужна была никому до появления многоядерных процов.
Аноним 23/09/25 Втр 22:00:43 3548333 92
>>3548313
>не захотели хлебать его дальше в джаве
Это и есть идеология. Что вот, наша жавочка не потерпит эти ваши старые практики. Но и новые тоже, хуй вам, а не сахар.
>А ты каких чудес то ожидал?
Нет, ты просто так вкусно описываешь, что вот, в фп такииие решения. Что диву даешься, смотришь как там на деле, ну литерали жаба, только структурного канкаренси нет в жабке пока еще. А если еще посмотреть на историю, то JMM и вовсе самая первая из подобных моделей, получается жаба впереди всех вообще в этом плане. Невероятно.
> никогда не было проблемой для разраба
Если бы еще абстракции не протекали...
>Разделяй кровавый энтерпрайз и науку.
имхо, фп практически нет в энтерпрайзе. Зато вот именно оно двигает науку, по всяким теориям типов и прочей поеботе, которую потом языки типа жабы забирают себе как готовое решение.
Аноним 24/09/25 Срд 00:06:51 3548377 93
>>3548333

>Это и есть идеология

Хера притянул за уши. Ты б еще Гойца фашистом обозвал. Жесть.

>Но и новые тоже, хуй вам, а не сахар.

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

>Если бы еще абстракции не протекали...

И к чему это было? В императивке они как раз и имеют тенденцию течь как суки. Что так то ожидаемо - многие абстрактные концепции на императивку изначально ложатся криво.

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

Теперь тебя куда то в идеологию повело - капиталистическую пропаганду вон начал цитировать. Ты уж определись - мы что обсуждаем то? Идеологию, историю, или парадигмы?
Аноним 24/09/25 Срд 00:20:59 3548381 94
>>3548377
>фашистом обозвал. Жесть.
Эээ, ну может неудачный подбор термина, ну я думаю ты понял, что я имел ввиду.
>И к чему это было?
А ты ну.. Писал когда-нибудь на фп языке-то? Вот допустим возьмем самый абстрактный из абстрактных. Я вот когда еще начинал пробовать делать на нем всякое обнаружил интересную вещь - я не могу оценить насколько перфомансен мой код. Я даже больше скажу, я не могу сказать, а вот это вот чудо вообще tailrec для ghc или нет? И вот знаешь как именно оценивается производительность в хаскелле и как именно оптимизируются программы? Правильно, заходим в гит ghc и смотрим исходники компилятора и вот под него и его оптимизации пишем программы, если нам нужен перфоманс. Более того, из-за ленивости там обнаруживаются проблемы с thunk. Тоже та еще поебота, которую приходится решать черти как и очень, очень трудно отслеживать.
Так вот, мы говорим про область, которая доавляют в это еще больше пиздеца - многопоточку. Она существует исключительно ради перфоманса. Я просто блять не представляю, как ты будешь оценивать вот все это абстрактное чудо, если когда-нибудь будешь писать. Но да, абстракции в фп не протекают, главное в это верить, броу.
>капиталистическую пропаганду
Не понял.
>чего тебе еще надо
Я просто констатирую факт, что не завозят фичи не только потому, что они устарели, но и новые в том числе, что мол они временем не проверены, а вот это будет костылем и вообще у нас есть более заебатое общее решение (как было с интерполяцией строк), поэтому ждите.
Аноним 24/09/25 Срд 02:19:02 3548405 95
>>3548219
>Какой нах ф-шарп

Ну мы его в основном для скриптов используем и если надо накидать прототип. Удобно, что собирается тем же компилятором и не надо ебаться с градлом и прочей поеботой
Аноним 24/09/25 Срд 17:08:44 3548781 96
>>3548381
>Вот допустим возьмем самый абстрактный из абстрактных. Я вот когда еще начинал пробовать делать на нем всякое обнаружил интересную вещь - я не могу оценить насколько перфомансен мой код.

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

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

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

>Я просто блять не представляю, как ты будешь оценивать вот все это абстрактное чудо, если когда-нибудь будешь писать.

Твои проблемы. На меня то че пенять?

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

Да расслабься уже. Я почти на 100% уверен что в конечном итоге вы выклянчите у гойца эти многострадальные операторы. Завез же он питоняшам короткий мейн, в конце концов. Станете ли вы после этого меньше ныть и бугуртить? Скорее всего нет.
Аноним 25/09/25 Чтв 02:24:02 3549223 97
>>3547895
Я сам шарпомуха. Я уже шесть работ сменил с начала карьеры, и нигде не было ни одной строчки на фшарпе. Даже, прости г-ди, вижуал бейсик встречался, а фшарпа нигде не было совсем.
Аноним 25/09/25 Чтв 02:47:39 3549225 98
>>3549223
Хз, у меня легаси монолит на спринге и микросервисы на c#. Всякая мелочевка, скрипты на f# написана.

Намеренно питон не используется нигде, чтобы это говно ни через какие щели не просочилось
Аноним 25/09/25 Чтв 03:12:10 3549233 99
>>3548273
>>Да кого когда либо волновала идеология
>Ну архитекторов джавы. У них очень много решений именно на основе идеалогии. Типа нет перегрузки операторов, нет именнованных параметров и тд и тп.
Так тут вопрос двое не в перегрузке операторов, а вообще в их определении. Почему я могу через плюс сложить два числа, а две матрицы не могу?
Это тупо, нельзя ставить идеологию во главу угла.
Именованные параметры вообще по идее должны быть идеологически одним из столпов ООП, ведь методы это не функции, где аргументы порядком определяются, это вызов команды с данными, а данные сами как объект. У объекта же нет порядка полей и методов.
Аноним 25/09/25 Чтв 05:15:04 3549281 100
>>3549233
>Почему я могу через плюс сложить два числа, а две матрицы не могу?

На сишарпе можешь
Аноним 25/09/25 Чтв 05:17:50 3549282 101
>>3549233
>
>Так тут вопрос двое не в перегрузке операторов, а вообще в их определении.

Потому что джава это в первую очередь ООП и DDD. Операторы это статика. Статика запрещена на всех нормальных проектах.
Аноним 25/09/25 Чтв 07:31:42 3549334 102
>>3549281
Адекватный лид такое говно не пропустит на ревью. А плюс б - это всегда сложение двух чисел и только, ты читаешь код и сразу понимаешь, что происходит. В плюсах наелись этих ебаных операторов, хватит. По этой же причине в сишарпе нет макросов, чтобы малолетние долбоебы не высирали свой синтаксис.
Аноним 25/09/25 Чтв 07:33:30 3549336 103
>>3549281
Спасибо, я в курсе.

>>3549282
Ну так и не вводили бы статические классы и методы. Что за полумеры?
Аноним 25/09/25 Чтв 07:41:06 3549339 104
>>3549233
Насколько я понимаю, они не хотят вводить слишком инвазивные и общие решения, которые радикально изменят кодовые базы. Типа вот начнут использовать тот же оператор сдвига для in/out https://en.cppreference.com/w/cpp/io/cout.html и все, конец света случится. И поэтому они вот пишут ( https://openjdk.org/jeps/401 ):
>In the future, this programming model will support new Java Platform APIs, such as classes that encode different kinds of integers and floating-point values, and new Java language features, such as user-defined conversions and mathematical operators for domain values.
Но также, они не хотят вводить решения, которые слишком костыльные и не вписываются в существующую кодовую базу, а также решающие всего одну задачу, т.е. ad-hoc или сахар иными словами. Вот например ( https://mail.openjdk.org/pipermail/amber-spec-experts/2024-April/004106.html ):
>In the course of using this feature in the `jextract` project, we did learn quite a few things we didn’t already know, and this was conclusive enough that it has motivated us to adjust our approach in this feature. Specifically, the role of processors is “outsized” to the value they offer, and, after further exploration, we now believe it is possible to achieve the goals of the feature without an explicit “processor” abstraction at all! This is a very positive development.
Воот, как-то так.
>>3548781
Ну я хз, по моему тот же sql проще оптимизировать, чем фп языки.
>вы выклянчите
Он же не сидит итт, не думаю.
Аноним 25/09/25 Чтв 07:53:44 3549340 105
>>3549334
>Адекватный лид такое говно не пропустит на ревью.
На джаве не пропустит, конечно. Это будет ошибка компиляции, азаза.
>А плюс б - это всегда сложение двух чисел и только,
А строк? Напомню, в математике есть операция сложения строк, только она означает "или", а конкатенация — это умножение.
>ты читаешь код и сразу понимаешь, что происходит.
Ох ты ж блин, у тебя как будто у разных классов не бывает методов с одним и тем же названием. Просто делай сложение для типов, для которых очевидно, что оно означает.
> В плюсах наелись этих ебаных операторов, хватит.
Я больше 12 лет пишу на шарпе, и только один раз видел ебанутое использование операторов — в клиенте эластик сёрча. Всё. Зато неподдерживаемый говнокод без каких-либо перегрузок операторов я встречаю регулярно. Ну реально, ради качества кода нужно было запрещать совсем другие вещи.
> По этой же причине в сишарпе нет макросов, чтобы малолетние долбоебы не высирали свой синтаксис.
Блин, там опенсорсный компилятор. Форкаешь и перехуячиваешь синтаксис. Да и инструментов кодогенерации в дотнете полно. Можно просто полный пиздец наворотить прям в рантайме, и кстати, один такой пример я видел.
Аноним 25/09/25 Чтв 08:00:57 3549343 106
>>3549339
>слишком инвазивные
Ну кстати еще поэтому они часто пишут, что is not goal заменить какую-то старую залупу.
Аноним 25/09/25 Чтв 08:01:16 3549344 107
>>3549340
Ты 12 лет пишешь на сишарпе и не знаешь, что строки надо складывать через StringBuilder? Ты из епама, что ли?

>Просто делай сложение для типов, для которых очевидно, что оно означает.
А потом получается джаваскрипт, где тоже все "очевидно".
Аноним 25/09/25 Чтв 08:08:40 3549345 108
>>3549344
>Ты 12 лет пишешь на сишарпе и не знаешь, что строки надо складывать через StringBuilder? Ты из епама, что ли?
Две строки быстрее и эффективнее складывать через плюс.
>>Просто делай сложение для типов, для которых очевидно, что оно означает.
>А потом получается джаваскрипт, где тоже все "очевидно".
Нет, не получается. Ещё раз повторю, что дурацкое использование операторов я видел только один раз, во всех остальных случаях значение использования всех операторов было совершенно очевидным. Никто не делает оператор умножения массива интов и булеана.
Аноним 25/09/25 Чтв 08:22:55 3549346 109
>>3549336
>то за полумеры?

Джава вообще как говно спроектирована, я хз, кто ей в 2025 году пользуется.
Аноним 25/09/25 Чтв 08:25:46 3549348 110
>>3549334
>Адекватный лид такое говно не пропустит на ревью

Задрот такое говно не пропустит на ревью.
Аноним 25/09/25 Чтв 08:26:48 3549349 111
>>3549340
>Просто делай сложение для типов, для которых очевидно, что оно означает.

Для матриц, например
Аноним 25/09/25 Чтв 08:28:30 3549350 112
>>3549345
>Никто не делает оператор умножения массива интов и булеана.
Умножить вектор на скаляр - это валидная операция, кастануть булеан к инту 0/1 тоже, как и инт к булеану в ифах. Ну а че удобно же. В итоге получается джаваскрипт, где a + b может давать что угодно.
Аноним 25/09/25 Чтв 08:39:37 3549352 113
>>3549350
Слушай, а почему для конкатенации строк и сложения примитивов используется один и тот же оператор? Будь последовательным и введи для конкатенации например ++. Как тебе идея?
Аноним 25/09/25 Чтв 09:59:30 3549370 114
>>3549339
>Ну я хз, по моему тот же sql проще оптимизировать, чем фп языки.

Тем временем SQL - на минуточку - декларативный.
Аноним 25/09/25 Чтв 12:06:46 3549534 115
>>3549345
>Никто не делает оператор умножения массива интов и булеана.

Ты не поверишь
Аноним 26/09/25 Птн 00:22:44 3550120 116
image.png 76Кб, 857x152
857x152
Ну и хуйня! Почему на Comparable не завязали операции сравнения?
Аноним 26/09/25 Птн 04:27:42 3550160 117
>>3550120
>Почему на Comparable не завязали операции сравнения?

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

Долбоёбы джависты, не могут отдельные методы писать, им обязательно захуевертить всё в интерфейс Invokable, ValueProvider, Mapper, Mediator, и прочую поеботу, чтобы потом умного из себя строить
Аноним 26/09/25 Птн 07:16:07 3550181 118
>>3549350
>>Никто не делает оператор умножения массива интов и булеана.
>Умножить вектор на скаляр - это валидная операция,
Да. Но вот произведения векторов уже два, поэтому нельзя.
> кастануть булеан к инту 0/1 тоже, как и инт к булеану в ифах.
Нет. Нельзя имплицитно конвертировать булеаны в числа и обратно. Это принципиально разные типы.
> Ну а че удобно же. В итоге получается джаваскрипт, где a + b может давать что угодно.
Проблема джаваскрипта как раз в неявной конвертации всего во всё по не очень корректным правилам. Такое разрешать нельзя. Ну или надо как в перле, где конкатенация строк через точку, а сложение как раз только для чисел. Хотя нет, не надо.
Аноним 26/09/25 Птн 08:32:05 3550200 119
>>3550120
А там где ты это нашел разве не написано?
Наверняка там какая-нибудь чушь, про то, что воот в comarable возможно 0, поэтому это poset, а вот наш ordered - это total order. Совершенно другое.
Аноним 26/09/25 Птн 16:34:34 3550734 120
Screenshot From[...].png 9Кб, 388x94
388x94
Screenshot From[...].png 1Кб, 257x60
257x60
>>3550160
>чтобы потом умного из себя строить

Каво? Чего несет? Где этот двачер нашел тело, всерьез хайпующего по интерфейсам времен нулевых... Непонятна.

Сам выдумал, наверное.
Аноним 28/09/25 Вск 14:20:02 3551898 121
>>3540531
Плюсую. Утилитные классы - говно. Экстеншены нужно делать. Даже в Java это можно сделать красиво (гугли Manifold на гитхабе).
Аноним 28/09/25 Вск 14:22:08 3551900 122
>>3541078
как будто что то плохое лол.
в функциональных яп так по дефолту ало.
иммутабельность по дефолту - благо
Аноним 28/09/25 Вск 14:24:42 3551904 123
>>3541519
А теперь следи за руками - почему на эти корутины всем пох
Кто работал на большом проекте с реактивщиной, тот знает, что это неподдерживаемое говно становится - его нельзя читать, его нельзя расширять, его нельзя дебажить, и сколько туда народу не вкидывай, он только хуже становится. Но тут происходит самое интересное - реактивщина не нужна в 99,999% проектов. Смысл ее появления был в том, что мы не могли масштабироваться и надо было выжимать максимум ресурсов из многоядерного проца (что и происходит на мобилах сейчас). Но у нас во-первых есть уже армы по 200 ядер и во-вторых горизонтально масштабироваться с балансерами можно как угодно. Да, 100 concurrent потоков не вытянет дохлый сервак, но ты одной кнопкой делаешь 10 серваков по 10 потоков и не ебешь себе мозги этими колбеками. Если прям очень надо, то теперь у тебя есть вирутальные потоки - сурпрайз сурпрайз, почему его сделали обычным императивным кодом
Аноним 28/09/25 Вск 14:52:34 3551917 124
>>3551904
Виртуальные треды тоже надо уметь готовить, как и корутины.
Если ни кому не нужен перформанс, почему сейчас го на лютом хайпе, там горутины и nio из коробки
Аноним 28/09/25 Вск 14:54:22 3551919 125
>>3551917
они и на го не нужны. см пост выше. проще отскейлить инстанс.
Аноним 28/09/25 Вск 15:01:58 3551924 126
>>3551919
Мм, твое мнение имеет место быть, только во всех бигкеках, где я работал, выбить доп ресурсы себе - это пиздец огромная задача на месяцы.
Потому что когда у тебя один твой пет проект, то изи поднять хоть 10 сервисов, это копейки.
А когда у тебя десятки тысяч сервисов и у каждой команды майндсет, как у тебя, то это выйдет в круглую сумму.
Бизнес умеет считать деньги получше тебя.
Плюс железки щас подорожали из-за параллельного импорта и всех этих приколов.
Аноним 28/09/25 Вск 17:17:06 3552063 127
>>3551924
1. написать толковый код с многопоточкой, потом отревьюить, потом оттестировать - на это времени больше уйдёт и соответственно обойдётся дороже
2. по деньгам будет однохуйственно т.к. тарифицируется утилизация cpu. если один инстанс будет усираться на 100% и 10 на 10% то это плюс минус одни и те же деньги
Аноним 28/09/25 Вск 20:00:30 3552183 128
>>3552063
Ты самый умный, а вокруг дураки и ничего не понимают, проходили.

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

Сейчас асинхронщина с помощью корутин и горутин пишется очень просто, можно даже не вникать, как работает под капотом и всё будет работать четко, поэтому го и на хайпе - нанимаешь 1000 мидлов и они пишут максимально примитивный код, который ебет по перформансу блокирующие скуфоджава решения в очко, при этом нет лапши из реактивных операторов
Аноним 28/09/25 Вск 20:08:17 3552189 129
>>3552183
реплики (инстансы) регулируются не деплоем, а в кубере на раз с помощью какой-нибудь хуйни.

ну у нас как вот - ночью нагрузка околонулевая - один инстанс. в 9 часов утра - штук 15. автоматом скейлится горизонтально. всё наглядно, всё видно охуенно даже самому тупому девопсу.
а вот запрограммировать такую логику на гошечке конечно можно, но оно не будет так наглядно да и тестировать сложновато.
Аноним 28/09/25 Вск 21:12:55 3552217 130
>>3552189
Кубер - это и есть система деплоя.
Понятное дело, что всё настраивается какими-то чартами.
Больше инстансов - больше работы для системы деплоя (мониторинг, дискавери и т.д.)
Вот сейчас у вас в час пик поднимается 15 инстансов с блокирующим подходом.
С неблокирующим подходом вам бы условно хватило 3-5.
А если бы у вас был голый пхп, где каждый хттп реквест - это не просто отдельный поток, но и отдельный процесс, то думай сам.
Вот в чём и вся разница.
Хз с чем ты споришь, это очевидные вещи.

Понятное дело, что переписывать на корутины или вообще на го нет особого смысла, если бизнес все устраивает.
На го переписывали как раз таки пхп проекты
Аноним 28/09/25 Вск 21:23:55 3552223 131
>>3551900
Я и не писал, что это плохо.
Аноним 28/09/25 Вск 22:30:03 3552264 132
>>3552217
Браток, у нас Quarkus, у нас всё летает.
Поднималось бы 3-5 на горутинах (корутинах), но какой ценой? У нас многопоточка внутри инстанса + разные инстансы. Получается 2 уровня вложенности, если можно так сказать. Обычной девопсине это слишком сложно будет такое, да и типовому крудошлёпу тоже будет сложно такое поддерживать.

Ну это ИМХО всё конечно, пока консенсус у нас такой. Твоё мнение тоже уважаю.
Аноним 29/09/25 Пнд 02:22:01 3552335 133
>>3552183
>максимально примитивный код, который ебет по перформансу блокирующие скуфоджава решения в очко
Это в теории. А на практике эти твои мидлы накрутили опыт и насрали горутинами так, что сервер надо рестартовать раз в сутки, а то память утекает нахуй. В итоге код на блокирующих вызовах работает быстрее, потому что ядро писали не дураки.
Аноним 29/09/25 Пнд 03:19:29 3552339 134
>>3541306

просто возьми c# и пиши async/await
Аноним 29/09/25 Пнд 04:21:30 3552341 135
>>3552339
Если бы всё было так просто. С эвейтами можно тоже очень серьёзно напортачить.
Аноним 29/09/25 Пнд 05:09:46 3552347 136
>>3552341
>С эвейтами можно тоже очень серьёзно напортачить.

практически невозможно. 99% разработчикам даже не надо знать, за счёт чего асинк-авейты работают.

На практике, они просто превращают блокирующий код в неблокирующий.
Аноним 29/09/25 Пнд 06:56:03 3552359 137
>>3552347
Чёт вспомнилось как майки насрали этими асинками и у них калькулятор не работал, лол. https://youtu.be/Z0KvEzgNzDc
Ну главное помнить, что знать ничего не надо, а работает твоё говно или нет, проблема юзера
Аноним 29/09/25 Пнд 08:06:39 3552368 138
image.png 42Кб, 811x660
811x660
>>3552359
>>3552347
И до сих пор спустя кучу лет не работает. Когда тот же desmos без лагов все рисует. Какая же потешная хуйня этот шарп ваш.
Аноним 29/09/25 Пнд 08:16:29 3552369 139
>>3552359
>этими асинками и у них калькулятор не работал,

на пиздёжь похоже
Аноним 29/09/25 Пнд 08:36:13 3552374 140
>>3552369
Я тоже думал, что это хрень какая-то, но вон проверил. Как он говорил, возможно там в отдельный тред запихивается таска и если она длится больше скажем 10 секунд, то все, делается вывод, что этот график невозможен и финито ля комедия. Вопрос возникает почему же такой по всем бенчмаркам крутой язык рисует график на порядки медленее дефолтного жс? Возможно проблема не в инструментах, а в руках тех, кто ими пользуется, хмхм. Хотя с другой стороны, это те, кто создали этот язык, эту платформу (uwp), кто как не они знают лучше, как им пользоваться?
Аноним 29/09/25 Пнд 17:40:51 3553013 141
>>3552359
Так и знал что зрители петра двачеры
Аноним 01/10/25 Срд 15:26:06 3554477 142
Объясните вперекатуну с не веб стека, имеет ли смысл в 2к25 вообще разбираться в чём-то помимо микросервисов?
Аноним 01/10/25 Срд 15:28:49 3554482 143
>>3554477
В 2к25 вообще ни в чем не имеет смысла разбираться, скоро ядерная война и конец цивилизации.
Аноним 01/10/25 Срд 15:41:28 3554500 144
>>3554482
Ну бля, а если не будет? Тогда просто останешься без знаний.
Аноним 01/10/25 Срд 15:44:32 3554503 145
>>3554500
Кто умножает познания, тот умножает скорбь.
Аноним 01/10/25 Срд 20:06:39 3554671 146
>>3554482
Ядерная война переоценена. Главное в дс не находится и все путем.
Аноним 01/10/25 Срд 20:14:11 3554677 147
>>3554671
Общество в любом случае распадется, просто в ДС на атомы, в других местах на банды.
Аноним 01/10/25 Срд 20:16:12 3554680 148
>>3554677
Тоже нет. Если бы государства так легко можно было уничтожить...
Все будет также как прежде, просто поймут, что байка про ядерку хрень и ядерное сдерживание перестанет действовать.
Аноним 01/10/25 Срд 20:29:31 3554690 149
>>3554477
ну, геймдев это не микросервисы.
по факту просто разбирайся, как деплоить свою хуйню в облаке через какой-нибудь CI, а там и микросервисы поймёшь
Аноним 01/10/25 Срд 23:07:36 3554825 150
>>3554690
В геймдеве не может быть микросервисов?
Аноним 01/10/25 Срд 23:42:27 3554846 151
>>3554671
Наоборот, дс не тронут ну никак) потому что там бабки, и все это понимают, как бы там кто не относился, но торговля идет с Москвой, а дальше уже как то там куда нибудь. Пезнут по какому нибудь приграничью, и то подумают. Паритет работает, и проверять есть ли ядерка ил нет, никто не захочет
Аноним 01/10/25 Срд 23:55:06 3554852 152
>>3554825
Геймдев - это разработка клиента.
Понятное дело, что в геймдеве есть бэкенд, там свои особенности, но это намного ближе к обычному бэкенду
Аноним 02/10/25 Чтв 00:34:18 3554865 153
>>3554503
>>3554482

Таблетки, и свежий воздух.

>Кто умножает познания, тот умножает скорбь.

Хоть бы покумекал над контекстом и значением этой фразы, прежде чем подкреплять ей свою депру.
Аноним 02/10/25 Чтв 01:09:46 3554873 154
>>3554865
>Хоть бы покумекал
>Кто умножает познания, тот умножает скорбь.
Аноним 02/10/25 Чтв 15:41:06 3555170 155
Я делаю LRU кэш, у меня есть список объектов в java HashMap, доступ к которым по ключу у меня почти всегда за O(1), так же эти же объекты хранятся в LinkedList, мне нужно взять этот объект из HashMap и передвинуть его с середины LinkedList в начало LinkedList, если бы у меня был самописный LinkedList я бы просто взял и поменял next, но как это сделать во встроенном в java LinkedList?
Аноним 02/10/25 Чтв 19:05:01 3555385 156
>>3555170
Вопрос в том, можешь ли ты добраться до элемента в линкед листе за O(1). Т.е. технически тебе надо было бы хранить в хэшмапе еще линку на ноду, тогда это было бы осуществимо.
Иначе, допустим если бы ты проходился итератором по этому листу, то можно было бы ремовнуть https://docs.oracle.com/javase/8/docs/api/java/util/ListIterator.html#remove-- , а потом добавить вперед элемент.

По моему проще хуй на это забить и использовать банальный ArrayList и хранить индекс. Что ты там сэкономишь на линкед листе не совсем ясно.
Аноним 02/10/25 Чтв 19:12:44 3555390 157
>>3555385
Ты не реализуешь lru с ArrayList, чтобы все операции выполнялись за константу.
Удаление из массива - это линейная операция.
Аноним 02/10/25 Чтв 19:17:12 3555394 158
Аноним 02/10/25 Чтв 19:22:57 3555399 159
>>3555394
>Удаление всегда O(1)
Удали мне элемент из середины массива за константу
>The add operation runs in amortized constant time
Это из-за того, что у тебя удваивается массив, поэтому каждый элемент при удвоении массива ты вставляешь два раза (в старый массив и новый).
То есть вставка n элементов в массив с удвоением = 2*n = O(n)
>LinkedHashSet
Там используется как раз таки двухсвязный список, а не массив
Аноним 02/10/25 Чтв 19:29:12 3555401 160
>>3555399
>Там используется как раз таки двухсвязный список, а не массив
Так подходит или нет?

Я просто думаю, что ты хуйней занимаешься, делать кэши в языке, где есть gc какая-то хрень. Ну переведешь ты объекты из молодого поколения в старое, теперь будет требоваться fullgc и stw. Ну, заебись че.

>Удали мне элемент из середины массива за константу
Ну ладно, ты прав. Думал там в теории, можно как с выколотыми точками, но это что-то к деревьям уже ближе и ребалансировке.
>Это из-за того, что у тебя удваивается массив
Ну и? У тебя он вообще планирует удваиваться-то?
Аноним 02/10/25 Чтв 19:36:21 3555403 161
>>3555401
Да это не я спрашивал, просто ты написал, что можно arraylist использовать в реализации lru кэша, но это не так, я и стригерился
Аноним 02/10/25 Чтв 19:47:48 3555418 162
>>3555403
Хм, ну извени. Люблю тупить в мелочах. А вообще, насколько я помню, в этом LinkedHashMap не только связный список, но и массив есть. Учитывая, что она наследник HashMap..
Аноним 02/10/25 Чтв 20:22:33 3555444 163
>>3555418
Ну массив там как раз таки для реализации обычной хэшмапы, да, но значение - это не просто значение, которое ты туда положил, а нода линкедлиста с after и before указателями и самим значением, ты так и писал
Аноним 02/10/25 Чтв 22:25:05 3555571 164
Посмотрел, как в джэве реализован LinkedHashMap, там есть LinkedHashMap.Entry, который наследуется от HashMap.Node, получается LinkedHashMap.Entry это как бы двумерный связный список, там 3 указателя:
after, before - это для порядка вставки
next - это следующий элемент в рамках бакета
Они решили сэкономить на ссылках и объектах, но из-за этого LinkedHashMap наследуется от HashMap и там прям код жестко связный, хотя LinkedHashMap мог бы просто хранить инстанс HashMap и только управлять связным списком для поддержки порядка вставки
Аноним 02/10/25 Чтв 23:46:48 3555656 165
>>3555571
>и там прям код жестко связный
Тебе-то от этого ни горячо ни холодно должно быть. Ты же не собираешься творить какую-то грязь и лезть в приватные методы..
Аноним 04/10/25 Суб 23:54:38 3556936 166
image.png 354Кб, 1280x720
1280x720
К нам в айти отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные шарпогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:
- Это же Абстрактная фабрика! На чём ты кодил до этого?
- На Джаве.
- Жабапидор! - в один голос заорали все 20 человек.
- Жабапидор! Жабапидор! Жабапидор!
Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать жабапидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев:
- Жабапидор!
В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и жабапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох жабапидор даже дело заводить не стали.
Аноним 06/10/25 Пнд 08:41:02 3557845 167
Борисов теперь топит за ИИ и говорит, что программисты не нужны. Мысли?
Аноним 06/10/25 Пнд 10:39:05 3557900 168
>>3557845
Борисов - евангелист. Ему платят за то, чтобы он топил.
Аноним 06/10/25 Пнд 16:28:10 3558260 169
>>3554477
Бамп вопросу что ли. Я просто когда читаю материалы по разработке на спринге, то это в 99% случаев будут микросервисы. Как-будто на монолиты вообще уже всем насрать. Меня немного смущает момент, что у меня в голове уже какое-никакое понимание есть, что такое эти ваши микросервисы, а про монолиты нормальные я не знаю нихуя. А ведь это тоже отдельный мирок по-сути. Или я вообще не прав, что я у себя в голове их настолько кардинально разделяю и границу куда более размыта, чем мне кажется?
Аноним 06/10/25 Пнд 17:16:28 3558288 170
>>3558260
Чего ты хотел - хайп по микропенисам стоял с десятилетие подряд, и вот только-только сошел на нет. А сейчас монолиты ИМХО наоборот переживают ренессанс - тот же спрингокульт щас жостко хайпует с темы под названием "модулит (modulith)". Имечко то какое выдумали, ебаный рот...

>А ведь это тоже отдельный мирок по-сути

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

Читай кабанчика, хули еще посоветовать...
Аноним 07/10/25 Втр 17:54:56 3559067 171
>функциональный код оказался быстрее кода с использованием списков, но медленнее кода с использованием массивов, еще и памяти жрет больше всех
It's over. Millions must use OOP.
Аноним 07/10/25 Втр 18:02:01 3559073 172
>>3558288
Монолиты умерли, чел...
Везде на собесах теперь спрашивают про паттерны микросервисов, про DDD, про ограниченные контексты и всю эту муть. Ну и конечно же про кафку и асинхронное взаимодействие. Сейчас еще Temporal много где начали использовать и его тоже спрашивают на собесах.

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

>>3558288
>программная инженерия подохла мучительной смертью, а на ее трупе пирует недоинженерия в лице программистов на ямле
Это уже какая-то шиза, чел...
Аноним 07/10/25 Втр 18:07:07 3559078 173
>>3558260
>>3554477
Если ты до этого вообще вебом/бекендом не занимался, а пилил например всякие игрушки или вообще десктоп приложения на swing поддерживал, то начинай с изучения того, как работает монолит, как работают базы данных, транзакции, уровни изоляции, деплой, observability, трейсы, логи, вся хуйня. Это прям фундамент, особенно все что связано с sql и базами данных. В целом это и есть основа бекенд разработки нынче. Просто напиши монолит с базой, логами, трейсами и мониторингом. И задеплой это в докере/кубере в каком-нибудь облаке или VPS.

Если ты это все уже знаешь на хорошем уровне и проделывал не раз, то переходи к микросервисам и распределенным системам в целом. Там много всяких подводных камней, особенно во всем, что касается отказоустойчивости.
Аноним 07/10/25 Втр 18:07:28 3559079 174
image.png 33Кб, 1401x316
1401x316
ребят, это пиздец
нередко мониторю java по всяким рейтингам и, несмотря на то, что язык мне нравится, стопаюсь в его изучении из-за ебучих рейтингов
например, тиобе показывает, что java щас ваще нахуй на 4м месте и за последние ~6 месяцев упала на 1.2% в рейтинге
как отстраниться от этой хуйни, если меня пугает, что я щас изучу язык и прогадаю с ним, не найдя даже джоб оффер

да и вообще, стоит ли обращать на такую залупу как "рейтиг" внимание?
ибо pypl index от github показывает джаву на втором месте до сих пор, даже несмотря на откат -1.5 % за год
Аноним 07/10/25 Втр 18:08:24 3559080 175
>>3557845
>Борисов
А он какое-то отношение к разработке еще имеет?
Мне кажется он последние лет 10 только языком чесал и зарабатывал деньги как клоун на конференциях. Хотя безусловно спринг потрошитель в свое время у него хороший получился.
Аноним 07/10/25 Втр 18:12:07 3559084 176
>>3559079
Сам язык не особо ценен, выбирай любой популярный в проде (разве что насчет С++ я бы был осторожен) и изучай ООП, паттерны проектирования кода, базы данных, распределенные системы, микросервисы, девопс итд итп. А язык это дело десятое, потом если что легко перескочишь на питон/голанк/раст или что там популярно будет. В нормальных местах никогда строго на один язык не завязываются.

А так на джаве огромное количество всякого помойного легаси во всем мире написано и нужны гребцы, которые будут поддерживать все это еще много лет или даже десятилетий.
Аноним 07/10/25 Втр 18:19:12 3559094 177
Аноним 07/10/25 Втр 18:35:58 3559103 178
>>3559094
Temporal - это развитие проекта Cadence https://github.com/cadence-workflow/cadence

И они оба изначально на голанке были написаны и SDK делалось в первую очередь для голанка, а уже потом было портировано в остальные языки.
Аноним 07/10/25 Втр 19:29:16 3559143 179
>>3559084
Спасибо большое за такой ценный совет!

А есть возможность того, что джава ударит по трендам и выйдет в топ 3, а то и топ 1, исходя из улучшений в новых версиях?

Возможно ли такое, что добавят что-то, что еще сильнее упростит джаву, чтоб всё больше людей выбирало ее для изучения из-за простоты, как выбирали раньше питон?
Аноним 07/10/25 Втр 20:11:20 3559183 180
Что скуфаны, готовы на го переписовать все ваше протухшее говно или еще нет
Без рофла, 4 года опыта, пособесился и ахуел от просевших зп, 200к галера позвала на собес, требования - строить хайлоад, на собесе ебали вопросами, чуть ли не ракету надо строить из говна и палок, 200 к бля, до сих пор в ахуе
Аноним 07/10/25 Втр 20:55:30 3559212 181
>>3559183
Ты думаешь в голанке ситуация как-то сильно лучше? такой же рухнум, как и в во всем остальном российском айти.
Аноним 07/10/25 Втр 21:01:20 3559215 182
>>3559212
2 собеса за неделю налутал обернул свой опыт джавы в го и почекал рынок
По джаве у меня если собес в месяц есть, то считай успех
Ну и личное, на го мне приятнее писать и собесы легче потому что нет ни спринга этого обоссаного ни скуфоебанатов которые считают, что если ты не знаешь как резолвить транзакцию в транзакции или как Security Context передать между потоками, то ты не настоящий разраб, а лох.
Аноним 07/10/25 Втр 21:05:36 3559218 183
>>3559215
>собесы легче потому что нет ни спринга этого обоссаного ни скуфоебанатов которые считают, что если ты не знаешь как резолвить транзакцию в транзакции или как Security Context передать между потоками, то ты не настоящий разраб, а лох
Ну и в голанке собесы разные бывают. Могут до усеру задрочить каким-нибудь concurrency и потом попустить тебя на знании кишочков горутин или планировщика, про которые они вчера прочитали. В целом это не специфика голанка, а вообще всех собесов.
Насчет спринга в целом соглашусь. Я рад, что в голанке его нет и проекты бустрапятся с нуля и никаких фреймфорков в принципе не существует.
Аноним 07/10/25 Втр 21:06:18 3559219 184
>>3559215
а как ты на го собесы проходишь? Или ты пару недель повкатывался в него?
Аноним 07/10/25 Втр 21:21:32 3559227 185
>>3559219
Был пока только на 1 собесе, второй на следующей неделе, оба скринига прошел, по вечерам около месяца игрался, написал пару микропенисов, нагрузил их и дал в кафку 3000 mps~ фоном (эмуляция + батчи). Настроил графану и прометус, миграции (что бы было что сказать на собесе). Ну и фоном теории немного, там на самом деле учить особо не чего, каналы да модель рутин, посмотреть как дефер работает и к слайсу привыкнуть, все.

>>3559218
Мне в начале карьеры удосужилось поработать на легаси джава проекте, там был роутинг либа и либа для sql, все. Я тогда плевался и хотел на спринг к норм пацанам, ныл много. Как иронично сложилось, но с опытом почему-то пришло понимание, что спринг хуета, а тот проект был не таким уж и плохим
Аноним 08/10/25 Срд 00:17:07 3559340 186
>>3559073
>Везде на собесах теперь спрашивают про паттерны микросервисов, про DDD, про ограниченные контексты и всю эту муть.


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

>Модульные монолиты в теории может и хороши в некоторых кейсах

Хуйня, на самом деле. Костыль для квадратно гнездовых культистов, травмированных микросервисными подходами.
Аноним 08/10/25 Срд 00:18:04 3559343 187
>>3559227
>Как иронично сложилось, но с опытом почему-то пришло понимание, что спринг хуета, а тот проект был не таким уж и плохим

Плюсую. Сам прошел такой же путь.
Аноним 08/10/25 Срд 00:24:40 3559346 188
>>3559340
А кто тебе сказал, что если спрашивают что-то, то это обязательно должно использоваться в работе?
Это фильтрация, лучше взять более умного кандидата, который много знает и увлечен программированием. Выбор сейчас очень большой
Аноним 08/10/25 Срд 00:27:24 3559348 189
>>3559346
Ум != эрудиция
Я допустим увлечен прогой и сейчас изучаю тулзы биг даты (процессинг, хранение, построение труб для моделей)
+ изучаю фп на примере скала и схема по приколу
Работаю и после работы пишу два пета
Только вот ебучей орк на том конце собеса спросит меня какую-то хуету которую вычитал он перед сном и отфильтрует меня, как не достаточного крутого спеца

Какая-то хуета, ты не находишь?
Аноним 08/10/25 Срд 00:34:03 3559351 190
>>3559346
Ну ты этот гейткип явно не тянешь, если свой тезис о ненужности монолитов сначала подкрепляешь своим нерелевантным опытом прохождения собесов, а теперь, поняв что насрал в штаны, потужно меняешь тему в сторону какой то высосанной из пальца анальной эрудиции.
Аноним 08/10/25 Срд 00:36:35 3559353 191
>>3559348
>спросит меня какую-то хуету которую вычитал он перед сном

Какую, например?
Аноним 08/10/25 Срд 00:47:17 3559359 192
>>3559351
Я другой анон, хз о чем ты, не читал тред целиком
Аноним 08/10/25 Срд 00:49:28 3559361 193
Screenshot From[...].png 115Кб, 544x749
544x749
>>3559348

Вообще говоря, ты как то слишком близко к сердцу принимаешь отказ по собесу. Нет хороших и плохих разрабов. На самом деле ты им просто банально не понравился. Вот и все.

https://blog.0x08.ru/how-to-hire-devs
Аноним 08/10/25 Срд 00:49:59 3559362 194
>>3559348
Ну то есть метишь в млопс?
Тогда надо аплаится в определенные команды.
Понятное дело, что обычным продуктовым командам это вовсе не нужно и они гоняют просто по кишочкам и литкод
Аноним 08/10/25 Срд 01:08:48 3559367 195
>>3559361
Я не он, я мимо проходил и забыл об этом написать, но да тоже было не приятных отказов в последнее время, связанных с тем, что я забил хуй на кишки спринга и изучаю то, что мне хочется и то что я считаю перспективнее веб спринга хуеты

>>3559362
Ну у меня на текущей работе, пол года назад, появилось много задач связанных с реал тайм обработкой, etl потоками и немного чинил трубы kafka -> flink -> модель банка (но у модели я ничего не трогал). Все это на джабке. Я поизучал рынок веба, охуел от сюра, потыкал го, почеcал репу и подумал, что надо прыгатть в дата инженера, но с уклоном в инфру и облака, с последующим дообучением до ml opsa и далее в ml engeenra. Хуй знает наскок этот трек жизнеспособен, но мой (далеко не самый умный мозг) сгенерил мне такие стратегические цели, с учетом преспектив на будущее. Половину стека я знаю (пол года ебусь с даталейками и прочей хуетой), ебучего питона почти совсем не знаю, вот сейчас по тихоньку задрочу до ночи после работы.
Аноним 08/10/25 Срд 09:38:46 3559488 196
Подскажите. Не понимаю в чем проблема и почему при запросе на недоступный эндпоинт у меня создается сессия в редис
https://pastebin.com/9KAyH4y7
Вот SecurityFilterChain. Он уже превратился в какое-то мессиво из вызванных методов. Сначала нормально все по доке было, а потом я начал сходить с ума из-за этой сессии.
При обновлении страницы у меня на фронте делается запросе на
/api/user/me, если не авторизован он выкидывает код 401(это настроено в фильтре), но почему-то создается сессия.
Аноним 08/10/25 Срд 11:37:35 3559601 197
>>3559488
Поставь бряк в месте, где эта сессия у тебя создается, да запусти в отладке. Потом просто выше по стеку пройдешь и поймешь, откуда протекло.
Аноним 08/10/25 Срд 11:41:22 3559611 198
>>3559488
Ну и на всякий случай спрошу - твои юзера сами часом в редисе не хранятся? Не может быть такого что туда `userDetailsService` лезет?
Аноним 08/10/25 Срд 11:57:35 3559649 199
>>3559611
Нет UserDetailsService берет юзеров из бд
https://pastebin.com/2TgTeZid
>>3559601
Ну запрос до туда не доходит. Оно же сюда упирается ".anyRequest().authenticated()"
Сессию я создаю руками в сервисе. Кладу SecurityContext в соответствующий репозиторий и как оно до туда доберется если это происходит только при регистрации и логине
https://pastebin.com/0KqYkNyh

Я схожу с ума и щас начну делать ужасные вещи
Аноним 08/10/25 Срд 12:51:50 3559676 200
>>3559183
200к это мало что ли? Не говоря уже о том, что тебе и меньше могут предложить, это не повод туда устраиваться. Ещё какой-нибудь фуллстек каловый небось.
Аноним 08/10/25 Срд 14:38:23 3559810 201
>>3559676
Друг, ты цены видел, а налоги растущие? 200к в современных реалиях это не большая сумма (ботинки блять хорошие зимние уже 20-30к стоят, лол), я бы понял - просто за 200к сидеть пукать джсоном под руководством лида и не парится, а там нужно строить системы хайлоад и брать отвественность как будто ты тим лид
Аноним 08/10/25 Срд 14:41:56 3559813 202
>>3559810
>а там нужно строить системы хайлоад и брать отвественность
Ну тогда пусть нахуй идут, так им и скажи.
Аноним 08/10/25 Срд 14:56:00 3559843 203
>>3559649
>Ну запрос до туда не доходит. Оно же сюда упирается ".anyRequest().authenticated()"
>Сессию я создаю руками в сервисе

Спустись на уровень нише. Поставь бряк внутри вызова своего реддис-клиента, которым ты сессию создаешь. Дебажить можно не только свой код, но и код либ.
Аноним 08/10/25 Срд 15:01:59 3559853 204
>>3559183
И че ты этим хошь сказать? На гоу на хайлод без рокет сайнса за душой устроился за 100500-наносек-секунду чтоли? Сказал "А" - говори "Б", а то звучишь как понадусеровый какой то.
Аноним 08/10/25 Срд 15:11:14 3559858 205
>>3559810
Так может 200к - это оклад джунохайлодера? Хайлод - штука сложная, с улицы адекватных людей еще хуй найдешь. Вот и берут на вырост.
Аноним 08/10/25 Срд 17:15:01 3560001 206
>>3559843
Да ахуенно, заебись почему-то создаётся сессия Я не шиз там реально вызывается createSession в репозитории Redis, они что ахуели. Я второй вечер с ума схожу
Аноним 08/10/25 Срд 17:50:45 3560036 207
>>3560001
Так поставь брейкпойнт и посмотри на стектрейс, в чем проблема?
Аноним 08/10/25 Срд 18:04:04 3560055 208
кто вообще придумал брейкпоинт брякой называть))
Аноним 08/10/25 Срд 18:23:55 3560080 209
>>3560001

>они что ахуели

Ну ты хотя бы понял теперь, кто конкретно охуел и зачем? Расскажешь?
Аноним 08/10/25 Срд 18:33:08 3560095 210
>>3560080
доеду домой поковыряю фрейм вызовов, может что-то да пойму
Аноним 08/10/25 Срд 19:36:31 3560185 211
>>3559343
>>3559227
а теперь поясняйте почему спринг хуета
мимо джава кор проект
Аноним 08/10/25 Срд 22:31:14 3560336 212
>>3560080
>>3560095
К сожалению тян заболела пока готовил кушать и убирался только щас до компа добрался. Щас поковыряю но с утра думаю ответ найду :P
Аноним 09/10/25 Чтв 07:47:19 3560485 213
>>3560336
Итог:
".sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))"
Решило проблему и теперь сессии создаю только я. Никаких случайных вызовов и полный контроль сессий от меня лично.
Аноним 09/10/25 Чтв 21:19:48 3561183 214
>>3556936
>> Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох жабапидор даже дело заводить не стали.

Но это была не смерть, это было очищение. И он воскрес, и пришел в офис. И когда его увидели коллеги, они ему рукоплескали и выкрикивали: "Ваистину сишарпе".
И все были счастливы и рады. И никто не вспоминал, что каждого из них так же унижали, насиловали, избивали, плевали в рот, как каждого пьяный Степаныч их забивал с особой жестокостью.
Все они были счастливы. Все они были непомнящими. Все они забыли.
Все они были грешниками. Все они несли этот крест, который тяжелел с каждым днем и лишь таблетки позволяли им забыть, о то что сами были пидорами никчемными и предали бога отказавшись от Java.
Аноним 09/10/25 Чтв 21:21:19 3561187 215
>>3554677
>> Общество в любом случае распадется, просто в ДС на атомы, в других местах на банды.

Распадется - соберется, че первый раз что ли? Ну да ты не переживешь возможно, но кого это ебет?
Аноним 10/10/25 Птн 04:14:12 3561336 216
Аноним 12/10/25 Вск 08:20:46 3562591 217
>>3559810
>я бы понял - просто за 200к сидеть пукать джсоном под руководством лида и не парится, а там нужно строить системы хайлоад и брать отвественность как будто ты тим лид
Так все стройки хайлоада уже закончены. Как минимум в России. Роста больше нет, в стране рецессия в гражданской экономике, компании затягивают пояса.
Поэтому строить хайлоад больше нет смысла, это просто путь в банкротство. Туда, где хайлоад уже есть, просто нанимают людей на поддержку проекта. Или если люди уже есть, то никого не нанимают, просто оставляют людей поддерживать проект до лучших времен. А там как повезет. Не известно, когда закончится рецессия. На западе вроде как постепенно рынки оживают местами (но и там ждут рецессию очень многие), в России рецессия уже началась.
Тот же Сбер и прочие - сейчас перешли в режим выживания - режут косты, штаты, толпами отправляют джавистов на мороз итд итп. Разумеется в таких условиях никто не разбрасывается деньгами.
Нет смысла нанимать какого-нибудь сеньку за 400к на хайлоад проект, когда ту же самую работу можно поручить делать мидлу за 150к, все равно большой разработки не планируется, только починка багов и минорные обновления.
Собственно если раньше был дефицит толковых сенек, и им готовы были платить те самые 400к, то сейчас этот дефицит закончился. Не потому что все стали толковыми, а просто потому что сама потребность в толковых отпала.
Аноним 13/10/25 Пнд 04:44:12 3563037 218
Вкатываюсь в тред. 8 лет опыта на PHP. Залетела подруга, поэтому вкатываюсь в джаву-ентерпрайз, буду писать монолиты для европейских банков. Пока что все, что делал это хелоуворлд окошко кучу лет назад. Какой фреймворк смотреть что делать помогите аааа
Аноним 13/10/25 Пнд 06:22:28 3563044 219
>>3563037
Так сиди дальше на пхп коды пиши, зачем тебе джава?
И вообще ты в какой локации находишься, что для европейских банков собрался что-то писать?
Аноним 13/10/25 Пнд 12:52:49 3563173 220
>>3563044
В Европах и нахожусь. Джава это стабильное рабочее место, а не компании-однодневки или фриланс. Есть конечно рынок и на пыху, но на джаве можно сидеть на попе и не переживать о будущем.
Аноним 13/10/25 Пнд 15:15:06 3563259 221
>>3563037
>Какой фреймворк смотреть что делать помогите аааа
Ein Java, ein REST, ein Spring
Аноним 14/10/25 Втр 03:42:20 3563636 222
Я понял, что надо сделать с null в джаве, чтобы вернуть миллион долларов.
Аноним 14/10/25 Втр 03:44:19 3563637 223
И с checked эксепшенами кстати тоже.
Аноним 14/10/25 Втр 11:37:34 3563752 224
Аноним 14/10/25 Втр 12:13:28 3563807 225
>>3562591
Ты не прав. Сейчас очень хотят того же сеньку пиздатого, который будет все делать вплоть до общения с бизнесом вместо аналитика, а платить ему хотят как мидлу.
Аноним 15/10/25 Срд 00:42:07 3564328 226
>>3559215
Пока только вкатился в джаву, работаю крутанув уже пару месяцев мидлом, вроде норм. Стоит ли постепенно гошечку учить и перекат делать? Или шило на мыло?
Аноним 15/10/25 Срд 00:56:06 3564329 227
Какой вариант есть пользоваться нормальными нейронками, если ты на удаленном столе в зеленом банке?
Аноним 15/10/25 Срд 16:39:31 3564629 228
>>3564328
Расскажи как крутанул?
Я просто не одупляю, это надо выдумать легенду, выдумать как решал какие задачи, прикинуться что реально все это делал и шаришь
Но как это возможно, шаг влево вправо и ты поплыл
Особенно когда реально без опыта только (не считая пет проектов) и на junior еле тянешь
Аноним 15/10/25 Срд 16:41:02 3564631 229
>>3564329
Двачую, что там по нейронкам в тырпрайзе?
Можно гопоту использовать или ебут?

Я гопоту как гугл использую или быструю документацию.
Аноним 15/10/25 Срд 18:15:32 3564672 230
>>3564631
Бро, я тебе больше скажу, в некоторых местах даже метрики есть, сколько запросов к дип сику ты отправил.
Аноним 15/10/25 Срд 18:28:49 3564679 231
>>3564672
Лол, а сколько раз в гугле пернул есть метрика?
Аноним 15/10/25 Срд 18:46:18 3564688 232
>>3564629
Скорее всего интервьювер идиот или ему похуй максимально. В норм компании, где от 3 тех секции минимум, шанс так залететь очень маленький, а в рога и копыта можно, но там и зепка соответствующая
Аноним 15/10/25 Срд 23:37:09 3564897 233
>>3564679
Нет конечно, ведь гуглеж нынче не на хайпе.
Аноним 17/10/25 Птн 03:51:43 3565529 234
>>3564897
Можно подумать - на заре интернета поиск по сети был на хайпе.

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

Видимо - такой бред мог дойти только до современных нейрофашистов.
Аноним 17/10/25 Птн 08:35:28 3565555 235
>>3564629
крутишь 3.5+ лет опыта
Резюме делается на новые контактные данные
Описание опыта - два предложения про проект -> список задач от самых сложных до самых базовых -> стек проекта
Ссылка на твой новый телеграмм в шапке и в разделе "О себе"
Аноним 17/10/25 Птн 18:29:05 3565963 236
>>3565555
>крутишь 3.5+ лет опыта
А потом просят выписку из трудовой. Пошел нахуй.
Аноним 17/10/25 Птн 19:44:21 3566008 237
Вы пишете явадоки на маркдауне или по-старинке?
Аноним 17/10/25 Птн 22:15:31 3566078 238
Аноним 18/10/25 Суб 00:02:23 3566128 239
>>3566078
Лень читать и вникать, это дестракция объекта, как в котлине?
Аноним 18/10/25 Суб 00:27:00 3566149 240
>>3566128
Да, ява теперь скоро скрипт.
Аноним 21/10/25 Втр 17:53:21 3568299 241
Аноним 23/10/25 Чтв 21:10:21 3569763 242
image.png 238Кб, 1397x480
1397x480
Это кинец.
Аноним 23/10/25 Чтв 22:25:09 3569817 243
Я правильно понимаю, что gradle и maven ищут исходники файлов по так называемому принципу convention over configuration? То есть имеется дефолтный путь src/main/java, а уже по groudId, например, com.example, и исходники ищутся в src/main/java/com/example/*.java?
Аноним 24/10/25 Птн 13:54:10 3570245 244
вот мне 21 год
вот уже 21 год я не могу найти первую работу на джаве

мимо из дс, сделал тестовое, по которому позвали на собес который завалил, и еще 2 тестовых по го от которых меня отморозили
Аноним 24/10/25 Птн 14:55:19 3570297 245
>>3569817
>То есть имеется дефолтный путь src/main/java
Да, если не конфигурировать специально, то будет искать там.

>а уже по groudId, например, com.example, и исходники ищутся в src/main/java/com/example/*.java?
Нет. Всё что находится в src/main/java относится к артефакту текущего pom-а, неважно какие там package-и.
Аноним 25/10/25 Суб 17:12:45 3570997 246
Аноним 25/10/25 Суб 17:52:58 3571027 247
>>3570997
текстовый редактор уровня notepad != IDE
сынок ты чево
Аноним 25/10/25 Суб 18:41:49 3571049 248
Не хочу писать на питоне код (не терплю динамическую типизацию), но нужно потому что там есть пакеты, которые делают нужную мне магию с ML моделями.

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

JEP, JType, J4Py, Jython - всё галимая херня. В каждом из них есть свои недостатки, которые делят на ноль их полезность, но не будем об этом.

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

Перед тем как начать писать питон-сервер, хотел спросить - у вас такой проблемы не было? Удалось ли как-то элегатно решить?
Аноним 25/10/25 Суб 19:04:04 3571061 249
Аноним 25/10/25 Суб 19:11:29 3571066 250
>>3571061
О, выглядит интересным, спасибо
Аноним 26/10/25 Вск 10:12:27 3571398 251
>>3571061
> Нет, GraalPy — это не просто мост, это полноценная реализация Python на платформе GraalVM. То есть это интерпретатор Python, альтернативный CPython, который может запускать Python-код.
> Ключевое отличие от "моста":
> GraalPy — это полноценный Python runtime, который выполняет Python код, со своим интерпретатором и возможностью JIT-компиляции
> Мосты (как JPype, Py4J) — это библиотеки, которые позволяют вызывать Java из обычного CPython

Вот эта часть про то, что это отдельно реализованный рантайм питона вызывает сомнения. Во-первых, потянут ли поддержку в будущем? Jython не потянул переход с Python 2 на Python 3. Во-вторых, как будто Oracle может в любой момент сказать, что GraalPy теперь работает только в GraalVM потому что непонятно зачем им поддерживать его для чего-то другого кроме ими разработанной VM.
Аноним 26/10/25 Вск 19:14:07 3571700 252
>>3569763
сколько раз говорить тебе не смотреть тиобе? Он же по запросам в поисковики рейтинг составляет
Аноним 26/10/25 Вск 20:33:00 3571739 253
>>3571049
тебе достаточно ipc, можно без http
Аноним 26/10/25 Вск 21:23:13 3571760 254
>>3569763
Да спокнитесь, боже, нет вакух на шарпах, а если и есть то 6+ стаж
Аноним 27/10/25 Пнд 12:15:56 3572027 255
турельнаджаве.mp4 20008Кб, 1280x720, 00:00:48
1280x720
image.png 703Кб, 626x960
626x960
Случился неожиданный переток жаба программистов в ВПК. Это вам не круды с оперденями клепать.
Аноним 27/10/25 Пнд 12:42:31 3572066 256
>>3572027
> жаба программистов
С++ программистов может быть? При чем здесь жаба? На фото вроде обычный Qt интерфейс.
Аноним 27/10/25 Пнд 12:50:24 3572072 257
>>3572027
Такое надо на плюсах писать, тут важен лоулатенси, джава пососет с заглотом
Аноним 27/10/25 Пнд 13:10:56 3572077 258
image.png 49Кб, 644x519
644x519
>>3572066
> На фото вроде обычный Qt интерфейс.
Там явный свинг с темой "metal".
Аноним 27/10/25 Пнд 13:11:37 3572078 259
>>3572072
>Такое надо на плюсах писать
Там всю тяжесть OpenCV несет скорее всего.
Аноним 27/10/25 Пнд 15:10:02 3572134 260
>>3572027
Работал в похожей конторе, до того как это стало модно. Там на джаве часть которая отвечает за визуализацию. Работа с железном на С++.

>>3572072
>Такое надо на плюсах писать, тут важен лоулатенси, джава пососет с заглотом
Как там в 2007? Доллары покупай на всю котлету!
А у нас в 2025 доллар по 80. Зато джава работает быстро и ГЦ паузы миллисекундные.
Это 27/10/25 Пнд 15:48:49 3572156 261
>>3571049
>JEP, JType, J4Py, Jython - всё галимая херня. В каждом из них есть свои недостатки, которые делят на ноль их полезность, но не будем об этом.
Хер его знает, чем тебе JEP не угодил. Просто запускается CPython внутри JVM и всё. Максимальная совместимость со всеми питоновскими библиотеками. Поддержка последних версий питона.
В конце концов можно запускать CPython через ProcessBuilder и работать через stdout/stdin.
Аноним 27/10/25 Пнд 16:12:27 3572168 262
>>3572134
> Зато джава работает быстро
Джунец, спок.
Быстро - это относительно.
Для ентерпрайза хватает с головой.
Там где нужен лоулатенси, то джава сосет.
Пример: хфт, любая трейдинговая платфрома, никто в здравом уме не делает это на джаве.
Можешь посмотреть доклады елизарова со времен девексперт, челы выбрали джаву и превартили код в говнище.
Понятное дело, что для ненагруженных сервисов джавы с головой, но не для трейдингового кора
Аноним 27/10/25 Пнд 16:22:47 3572173 263
>>3572168
>любая трейдинговая платфрома
Он не знает про LMAX Disruptor.
Аноним 27/10/25 Пнд 16:40:55 3572177 264
>>3572173
При чем тут это? Тупо кейвордами любишь кидаться?
Аноним 27/10/25 Пнд 16:42:42 3572178 265
IMG0001.jpeg 144Кб, 964x1280
964x1280
Я мб ща скажу хуйню но я не понимаю зачем джава кроме легаси когда есть нода с тайпскриптом и нестом который по сути клон спринга

Ну типа проще ли найти первую работу фулстеком на ноде а не на джаве со спрингом?
Аноним 27/10/25 Пнд 17:51:16 3572216 266
>>3572178
Зачем нода, если есть джава?
Аноним 27/10/25 Пнд 18:16:09 3572232 267
Аноним 27/10/25 Пнд 18:18:46 3572236 268
Аноним 27/10/25 Пнд 18:18:51 3572237 269
>>3572168
Выдохни. Речь шла об одном, конкретном кейсе. Визуализация карты с беспилотниками и отдачи команд. Никакого HFT там нет, не переживай.

>Можешь посмотреть доклады елизарова со времен девексперт, челы выбрали джаву и превартили код в говнище.
Я работал в DB и мы как раз писали трейдинговую платформу. И звали в Райффайзен заниматься тем же самым. Я сам писал подобный код. Но в реальности его совсем не много в общем объеме. Основная масса кода не стоит на критикал пас и это обычный джава код.
Аноним 27/10/25 Пнд 18:38:00 3572256 270
>>3571049
Зависит от требования по производительности. Если их нет - пиши как нравится, если есть - попробуй GPRC через локальные сокеты, по идее должно быть быстрее, биндинги под питон и джаву есть
Аноним 27/10/25 Пнд 18:49:11 3572261 271
>>3559183
>Что скуфаны, готовы на го переписовать все ваше протухшее говно или еще нет
Конечно, ведь кризис и нехватка денег на рынке это именно та ситуация когда бизнес хочет ввалить миллионы в работу с нулевым бизнес вэлью.
Аноним 27/10/25 Пнд 20:17:11 3572295 272
>>3572232
Так я об этом и говорю, ты мой пост читал?
Там такое говнище код, но зато на джаве и с "безопасной" память, хотя с их хаками, чтобы это хоть как-то держало лицо про безопасность можно забыть.
Я просто еще немного глубже в это погружен, работал там 3 месяца, но сбежал с испыталки, контора на момент 2020 года очень слабая была, прям советская такая, стремное чувство, пмы были тупоголовое быдло, но там как я понял прям от проекта сильно зависит, я как раз попал на нагруженное легаси-говно.

>>3572237
>DB
хз что это
>звали в Райффайзен
крутой, уважуха
> Основная масса кода не стоит на критикал пас и это обычный джава код
Я про это и писал.
Просто в 2000х джава была на лютом хайпе и наней начинали писать вообще все, не думая о последствиях.
Теперь уже ничего не переписать, очевидно.
И приходится изъебываться, чтобы это все работало стабильно и относительно быстро в существующих реалиях (и тратить на это куча бабок), когда есть более молодые упрыгие конкуренты, где стэк выбран поподходящее и дышится им свободнее
Аноним 27/10/25 Пнд 20:51:28 3572315 273
>>3572295
А какой язык сейчас хороший? Go?
мимо джава бекенд 5 месяцев работаю хочется второй язык для хобби/выходных
Аноним 27/10/25 Пнд 20:53:23 3572316 274
>>3572178

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

Я думял - после хайпа по РЯкту такой хуйней никто больше в JS не занимается...
Аноним 27/10/25 Пнд 20:55:02 3572318 275
Аноним 27/10/25 Пнд 20:55:43 3572320 276
>>3572318
ты забавный, только в чём смысл твоего ответа
Аноним 27/10/25 Пнд 21:01:56 3572330 277
>>3572315
Нет хороших и плохих языков, в идеале надо знать все языки и разбираться в их кишочках, чтобы правильно сделать выбор для нового проекта, оценить плюсы, минусы и риски. Но в компаниях обычно есть устоявшийся стэк, и всё новое просто стартуют на нем на похуях.
В банках - джава.
Банки помоднее и современный финтех- котлин.
В ритейлах у нас всё на го сейчас.
Сейчас у меня два основных языка, где я прям хорошо шарю - джава+котлин и го.
По мелочи джс и тс.
Кажется, что это самая сытая связка на данный момент.
Был ещё опыт на плюсах, но давно не практиковал их
Аноним 27/10/25 Пнд 21:14:51 3572332 278
>>3572330
искренне благодарю!
Аноним 27/10/25 Пнд 22:06:47 3572361 279
>>3572156
> чем тебе JEP не угодил
Нет поддержки от корпораций. Опен-соурс живующий на чистом энтузиазме участников. Шанс того, что через год/два/три он превратится в архивный проект и весь код придется переписывать значительно выше 0. Я не готов так рисковать.
>>3572256
Я в итоге на FastAPI сделал локальный сервер с нужными мне нейронками и дергаю их из жаба кода. По производительности требований нет, просто чтобы работало пока что задача.
Аноним 28/10/25 Втр 00:51:59 3572433 280
>>3572415
Галерный раб, спок.
Ты бы еще гордился работой в епаме или люксофте.

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

Но мы то про другое.
Если люди сразу правильно выбрали инструмент под конкретную задачу, то ничего бы переписывать не пришлось бы
Аноним 28/10/25 Втр 10:22:52 3572533 281
>>3572415
>Можно и монолит распилить
Зачем?
Аноним 28/10/25 Втр 11:50:43 3572580 282
>>3572533
Хороший вопрос, не думаю что сам автор им задавался.
Это 28/10/25 Втр 16:42:18 3572815 283
>>3572433
>Галерный раб, спок.
>Ты бы еще гордился работой в епаме или люксофте.
Хлебушек, не проецируй свои комплексы на других. Я просто написал про свой опыт написания трейдинговых платформ на джаве. Где ты там увидел хвастовство, не ебу, в любом случае это твои проблемы.
Аноним 28/10/25 Втр 16:48:53 3572818 284
>>3572433
>Ты бы еще гордился работой в епаме или люксофте.
Почему бы и нет? У нынешних джунов и этого не будет.
Аноним 28/10/25 Втр 16:48:58 3572820 285
>>3572533
>Зачем?
Микросервисы проще масштабировать. Проще разрабатывать: у тебя одна команда пилит микросервис, не надо ни с кем согласовывать "когда все вмёржат и начнём тестирование", тестировать надо меньше а значит быстрее. В конце концов проще переписать если что.
Аноним 28/10/25 Втр 17:50:33 3572862 286
>>3572818
У нынешних джунов ВООБЩЕ НИЧЕГО нет и не будет, на рынке остались только 3+ лет опыта тараканы.
Аноним 28/10/25 Втр 19:23:56 3572910 287
>>3572820
>Микросервисы проще масштабировать.
Что масштабировать? Размазать на несколько хостов, потому что упираешься в процессор? Можно и с "монолитом" так сделать, кажется для этого даже слово какое-то модное придумали. Плюс меньший оверхед от отсутствия докеров, кафок и прочего медленного жирного дерьма.
>"когда все вмёржат и начнём тестирование"
Почему изменения в одном конце системы обязаны зааффектить другой? И почему у копросервисов не может быть общих зависимостей, которые наебнут все "независимые" копросервисы, если там что-то сломают?
Аноним 28/10/25 Втр 20:10:35 3572935 288
>>3572910
В процессор никто не упирается, 99% приложений ничего не считают и не дают особую нагрузку на цпу. А вот память да
Аноним 28/10/25 Втр 20:46:52 3572958 289
>>3572935
Тогда от копросервисов тем более никакой пользы. Напротив - один вред.
Аноним 28/10/25 Втр 23:16:18 3573043 290
>>3573033
Иногда твоему заказчику тупо похуй. Ну вот привык он msi-инсталлером раскатывать твой софт на серверное и клиентские места, и в гробу видел хайрить штат девопсов чтобы возиться с твоими контейнерами. И хоть ты тресни.

И тогда начинается интересное. Оказывается, что современниками тупо утрачен скилл проектирования монолитов. Это полный пиздец.

Мимо о наболевшем.
Аноним 28/10/25 Втр 23:45:34 3573055 291
>>3573033
>В случае с монолитом ты делаешь х2 для 128Гб монстра
У тебя он в одном процессе живёт?
Я, естественно, исхожу из того, что у любой серьёзной сложной системы, с докерами или без, скорее всего предусмотрена какая-то модульность и ты можешь поднять только нужные тебе воркеры на другом хосте. Контейнеризировать каждый процесс для этого не требуется.

>bare metal
Прям уж таки bare metal, лол.
>они даже тесты конфигов писали
>проверка что порты уникальные, проблема
Если у тебя IQ выше 80 (а иначе тебя бы вряд ли наняли работать программистом) - ты, скорее всего, сможешь правильно заполнить конфиг. Если вдруг конфиг на 9000 строк, что маловероятно - можно нехитрой комбинацией grep, awk, uniq и wc за 30 секунд убедиться, что ты нигде не обосрался. Зачем это покрывать автотестами - хуй знает, видимо, всему виной патологическая тяга джавапидоров к бюрократии и максимизации количества кода.

>Не обязаны, но шансы больше.
>выкатили сервис А и всё упало, проблема в нем.
Включили фичу А в "монолите" и всё упало, проблема в ней.
Чаще всего такое не пройдёт QA, но в тех редких случаях, когда оно утекает в релиз, микросервисы решают проблему примерно никак.
Ну, возможно, микросервис чуууть сложнее написать настолько отвратительно, чтобы наебнуть весь проект (хотя зависит от проекта), но мы всё-таки исходим из того, что целенаправленно нанимать клинических олигофренов на работу программистами никто не станет.
>и им надо согласовывать релизы.
Только если там что-то очень масштабное или код реально адское спагетти.
Аноним 29/10/25 Срд 08:36:24 3573148 292
>>3573055
Монолит упадет с эксепшеном и ты сразу увидишь проблему. Пройдешься по стектрейсу и разберешься.
В микросервисах сообщение просто зависнет где-то в очереди очередей, потом хуй поймешь, почему платеж не прошел. Это настолько типичная проблема, что опытные придумали патерн сага и не используют очереди вообще, да только где ж их взять опытных.
Аноним 29/10/25 Срд 08:55:46 3573158 293
>>3573148
О чём я и говорю - микросервисы на порядок усложняют систему без каких-либо ощутимых преимуществ.

Вернее, одно есть - можно очень быстро нанять таксистов, которые выучили одну отвёртку на курсе "джава/питухон/джаваскрипт/etc за 30 дней" и кое-как умеют перекладывать джсон на модном фреймворке. С монолитом, в значительной степени написанном на смеси емакс лиспа и брейнфака в прошлом тысячелетии утрирую, очевидно, людей хуй найдёшь за любые деньги. Но это преимущество точно не техническое и даже не процессное, а сугубо кабанское, чтобы выкинуть этих ебучих анальников на мороз, если настроение плохое будет - всё равно новых нанять за 3 дня можно. Наверное, только для этого копросервисы и насаждались, другого объяснения у меня нет.
Аноним 29/10/25 Срд 10:18:20 3573212 294
Ну чё там епта валхалу сделали, чтоб можно был Го ебать по скорости и по памяти? Или джава сдохла уже?
Аноним 29/10/25 Срд 10:58:06 3573231 295
Аноним 29/10/25 Срд 11:51:40 3573269 296
>>3573148
>придумали патерн сага и не используют очереди вообще
Сага реализовывается через брокеры, дядя)
И оркестрешн сага, и хореограф - все реализуются через брокеры, чтобы не терять ивенты, если какие то сервисы лежат.
В этом и суть, если у тебя лежит монолит, то нихуя не работает.
Если у тебя лежим какой-то пенис, то аптайм брокеров стремится к 100%, поэтому ты не теряешь данные/события, они персиситентно сохраняются
Аноним 29/10/25 Срд 11:58:25 3573272 297
>>3573158
>людей хуй найдёшь за любые деньги
Большинство хотят работать на новых технологиях и развиваться, чтобы съебнуть на место посытнее, где эти знания будут релевантными, а не пыхтеть над смесью емакс лиспа и брейнфака.

Так что это в две стороны работает.
Кабану конечно это выгоднее, поэтому го и хайпанул.

Сейчас на рынок вывалилось большое кол-во 40летних-скуфов походу вот с таких копро-проектов. Это жалкое зрелище.
Аноним 29/10/25 Срд 12:10:03 3573280 298
>>3572820
>Проще разрабатывать: у тебя одна команда пилит микросервис
Так у тебя на каждый микросервис ворох обвязки обязательно идёт
>не надо ни с кем согласовывать
Ну так это потом вместе работать не будет, если ни с кем не согласовывать
>>3573033
>В случае с монолитом ты делаешь х2 для 128Гб монстра, а в случае микропенисов х2 для 2Гб контейнера.
а) Почему ты решил что масштабированию подлежит только 1 микросервис, а не весь зоопаркк со всем его оверхедом
б) Почему ты не можешь просто вынести масштабируемыую часть из монолита, когда и ЕСЛИ тебе это нужно? В большинстве случаев это вообще не нужно.
Аноним 29/10/25 Срд 12:16:20 3573286 299
>>3573033
>В случае с монолитом ты делаешь х2 для 128Гб монстра, а в случае микропенисов х2 для 2Гб контейнера.
Ты только ещё не учитываешь что стоимость железа в сотни и тысячи раз ниже стоимости труда разработчиков. С экономической точки зрения это не имеет смысла - ты выбираешь более трудоёмкий вариант, потому что так на хабре сказали.
Аноним 29/10/25 Срд 14:16:21 3573418 300
Местные двачерские нигилисты, вам же похуй на очевидные преимущества любого подхода, главное быть не "как все".

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

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

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

Какие вы двачеры мерзкие все же, фу нахуй
Аноним 29/10/25 Срд 14:38:57 3573435 301
>>3573418
Двачер, сохраняй спокойствие...
Аноним 29/10/25 Срд 15:15:11 3573475 302
>>3573418
>в одну репо вашего монолита
Сделай сабмодулями, в чём проблема.
Аноним 29/10/25 Срд 15:31:14 3573506 303
>>3573475
И будут мини команды, которые будут работать только над своими сабмодулями со своими релизными циклами и уметь деплоить монолит таким образом, чтобы только воркеры, которые они разрабатывают, запускались на интсансах, которые они подняли и они могли их точечно масштабировать?
Хмм, ну да, реально норм!
Аноним 29/10/25 Срд 15:36:37 3573510 304
>>3573418
>И никакой памяти в мире не хватит, чтобы этот копролит адекватно работал, если проект реально большой.
Серьезное заявление, проверять мы его конечно не будем
>Разделять там на воркере и хуе моем - это по сути те же микропенеисы и выйдут, если смотреть с перспективы девопса.
Так мы смотрим с перспективы костов и разработки, причём здесь девопс?
>Eсли у тебя 1к разрабов, то нереально их загнать в одну репо вашего монолита, эта репа превратится в шлюху и мусорку.
Ты можешь разрезать монолиты на репозитории, в этом нет никаких проблем, сейчас это стали называть "модулиты", но вообще это банальная разработка в виде либ
>И будут мини команды, которые будут работать только над своими сабмодулями со своими релизными циклами и уметь деплоить монолит таким образом, чтобы только воркеры, которые они разрабатывают, запускались на интсансах, которые они подняли и они могли их точечно масштабировать?
А почему собственно у тебя должны быть разные релизные циклы внутри одного продукта, этим вопросом ты не задавался? Нужно ли вообще их точечно масштабировать? Почему нельзя вынести и отмасштабировать только то что нужно? (т.е. ничего).
Аноним 29/10/25 Срд 15:44:57 3573517 305
>>3573506
>И будут мини команды, которые будут работать только над своими сабмодулями со своими релизными циклами
По поводу релизных циклов - в любом сборщике есть версионирование зависимостей, так что это вполне можно контролировать варсиями либ.
Аноним 29/10/25 Срд 16:06:26 3573534 306
>>3573510
Продукты внутри компании разные и их сотни могут быть
Аноним 29/10/25 Срд 16:13:12 3573538 307
>>3573510
В чем тогда разница от сервисов? Каждая команда пилит свои либы, и есть какой-то монолит, который все эти либы агрегирует? Ну хз, мне кажется, проще чтобы команда сама отвечала за деплой своих частей, это более гибко и меньше потенциальных проблем и сразу понятно, кто что сломал и кому чинить
Аноним 29/10/25 Срд 16:45:13 3573555 308
>>3573534
Ну так каждый продукт - это монолит. Микросервисы - это уже разбиение продукта на абсолютно независимые куски.
Аноним 29/10/25 Срд 16:49:52 3573557 309
>>3573538
В том что у тебя нет оверхеда на ввод/вывод, сериализацию/десериализацию, нет "рассинхронизации контрактов", для чего одно время ввели contract testing, потому что это хэндлится компилятором. Меньше подов нужно поднимать, меньше лицензий запрашивать (а цены на лицензии могу быть весьма жесткими). Меньше оверхед значит каждый под может обработать больше теми же ресурсами. Вертикальное скалирование гораздо проще, кодовая база гораздо проще, потому что нет микросервисных обвязок. В целом всё проще там где ничего сложного не нужно.
Аноним 29/10/25 Срд 17:04:54 3573561 310
>>3573557
>>3573555
> там где ничего сложного не нужно
С этим согласен, но бывают сложные проекты.
У меня сейчас в пик обработка 1к сообщений в секунду и размер каждого около 100мб и есть еще n таких же доменов нагруженных в моем продукте.
Самое простое и правильное в моем конкретном случае - вынести это куда то независимым юнитом.

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

А разговоры вида технология/подход_нейм - говно!! Надо другая_технология/подход_нейм - это удел джунцов
Аноним 29/10/25 Срд 17:19:27 3573574 311
>>3573561
Так я это и написал - делать сложно только там где это необходимо. Ты вот например перфтестил свою обработку сообщений в многопоточке одним подом, с каким-нибудь work-stealing pool'ом? Или как джунец ебнул сразу правоверные микросервисы, потому что так надо?
Аноним 29/10/25 Срд 17:30:46 3573581 312
>>3573574
Мы в память упираемся, там по хипдампам понятно в чем дело.
4 интсанса, каждый в два поток, 8 кафка парцицей.

При чем тут ворк стил (форк джоин) пулы? Если у тебя обработка не саспендится на io или еще что-то, то толку от ворк стила нет. Или еще кейс для ворк-стила - какие то хитрые математические вычисления и асинк архитектура.
Ты просто кейвордами хуяришься что ли?
Аноним 29/10/25 Срд 18:23:55 3573612 313
>>3573158
>>3573148
мужчины я вижу один плюс микропенисов
вот есть приложение и при нажатии кнопки "сформировать отчёт" всё приложение ЛАГАЕТ
и мы без задней мысли выносим модуль отчётов в МИКРОСЕРВИС отчётов и выигрываем от этого, т.к. теперь лагает только МИКРОСЕРВИС отчётов, а остальное приложение этого не замечает
я прав или чё то не так?
Аноним 29/10/25 Срд 18:30:43 3573624 314
>>3573612
лаги - это активная аллокация памяти и гц, скорее всего, в таком случае вынес поможет. Нагрузка размажется.
Но тут еще сразу следующие вопросы, как забирать данные для отчета? Скорее всего CQRS и прихранивать в бд сервиса отчета и строить по кнопке или строить на лету, как только новые данные приходят.
Короче вот в чем и прикол, сервисы решают одну проблему, но заставляют думать об архитектуре и гарантиях
Аноним 29/10/25 Срд 19:14:40 3573669 315
>>3573581
>Если у тебя обработка не саспендится на io или еще что-то, то толку от ворк стила нет.
Не понял, ты же сам писал про обработку 1к сообщений по 100 мб в секунду. У вас чтение гигабайта в секунду из айо не саспендит обработку чтоли?
Аноним 29/10/25 Срд 19:15:56 3573671 316
>>3573612
Это верно до тех пор, пока всё твоё "приложение" - по сути гигантский cgi-скрипт прямиком из девяностых (что откровенно маловероятно). Между этим и "один процесс - один контейнер" существует ещё огромное множество вариантов, как сделать не говно.
Покормил жирнича.
Аноним 29/10/25 Срд 19:18:57 3573675 317
>>3573669
Неправильно посчитал, 100 гигабайт в секунду, если каждое по 100 мб
Аноним 29/10/25 Срд 19:51:26 3573706 318
>>3573671
>Покормил жирнича.
не, у меня vaadin монолит сделанный откровенно хуёво, лидов нет, процессов нет
соответственно я даже не знаю как должен выглядеть нормальный код, просто хуячу иногда спрашивая у 23-летних коллег не совсем ли откровенный пиздец я пишу
Аноним 29/10/25 Срд 20:30:18 3573725 319
>>3573706
>не совсем ли откровенный пиздец я пишу
Если в коде можно разобраться, легко адаптировать под постоянно меняющиеся хотелки кабана и масштабировать под растущую нагрузку, а правка двух строчек не требует ручного ретеста всего приложения - то что ещё нужно? Всякие кристально чистые архитектуры и прочий смузи драйвен девелопмент призваны в первую очередь обеспечивать выполнение этих условий.
Аноним 29/10/25 Срд 20:40:18 3573729 320
>>3573669
для этой задачи вообще тредпулы не нужны, кафка в роли буфера + два бизи лупа на инстансе, которые 24/7 вычитывают пачками из кафки и что-то делают с данными
Данные процесятся и скидываются в базку, в теории можно что-то сделать на этом треде, пока мы ждем скидывание в базу, но опять же много чего сделать нельзя, потому что оффсет не закомичен еще, а значит следующую пачку сообщений не получится взять.
Плюс из-за того что эта кафка, то особо не попараллелишь обработку событий из одной партиции из-за коммита оффсета, надо будет сложную логику ретраев и дедлеттеров городить, а прибавка около 0 к трупуту будет
Аноним 29/10/25 Срд 21:20:29 3573743 321
Планирую перекат в бэк с андроида после 8 лет там. Когда начинал, "красоту" видел в ui формах, написав несколько "толстых" фронтовых клиентов понял, что больше тянет именно к бизнес логике.
останавлиет немного падение по доходам. Реально ли ща вообще 450-500к в банке лутать на беке будучи рядовым разрабом высокого грейда на жабе (ну надеюсь все таки котлине)? Тимлидство ебал в рот
Аноним 29/10/25 Срд 22:05:25 3573779 322
>>3573743
>Реально ли ща вообще 450-500к в банке лутать на беке будучи рядовым разрабом высокого грейда на жабе
300-400, найма нет
Аноним 29/10/25 Срд 22:17:00 3573790 323
>>3573779
Эх я надеялся что на беке побольше зарплаты
Аноним 29/10/25 Срд 22:20:06 3573793 324
>>3573743
Думаешь ты кому-то там нужен со своими корутинами?
Аноним 29/10/25 Срд 22:47:18 3573809 325
>>3573793
Да есть подозрение что и на Андроиде я не то чтобы нужен... Есть ощущение что, на беке можно дольше развиваться. И там понятно за что платить челу 10 годами опыта больше чем челу с 3 годами. И поэтому я думал что там и ЗП на дистанции должны быть повыше.

Или я не прав?
Аноним 29/10/25 Срд 23:27:13 3573830 326
>>3573809
300к рублей до вычета налогов это считай потолок для обычного сеньки-бекендера. Выше только менеджмент. 400-500к это уже банки и явно не простое перекладывание джейсонов, а еще и тимлидство.
Аноним 29/10/25 Срд 23:31:53 3573831 327
>>3573743
>>3573793
Перекатился 4 года назад с андроида на бэк, сейчас пишу бэкенд на котлине с корутинами и nio серверах.
Очень рад, что съебнул с андроид говнища, это реально для глупеньких. Верстаешь ресайклвью, айтемы и кнопки, делаешь запросы и всё. Ну изменения стейта обрабатываешь как то ещё. Очень примитивно. С технической точки зрения спустя 3-4 года работы мне развиваться некуда было, а это я еще застал появление котлина, многомодольной архитектуры и mvi всяких хайповых на тот момент, но всё это настолько примитивные вещи, а я тогда думал что это пиздец наука.
Сейчас понимаю, что это просто детские игрушки.

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

Мне даже в 21 году было достаточно сложно сменить стэк, потратил несколько месяцев на изучение нового и столько же на сами собесы.
А это 21 год - самое изи время для трудоустройства, дефицит и хайп ит был лютый, брали любого дятла с курсов.
Сейчас это кратно сложнее, потому что на рынке и так дохуя мидлов/сенек. Нахуя брать чела совершенно из другой области? Вопрос хороший.
Конечно если у тебя есть желание и упертость, то рано или поздно тебе повезет и тебя возьмут куда то, но это может занять действительно долго сейчас.
У меня это желание было огромным, я просто не мог продолжать делать приложения, это был ад для меня.
Сейчас я рядовой сенька с получкой 450-500, так что это вполне реальный уровень, о зарплатах в андроиде давно ничего не слышал, скок там щас?
Аноним 30/10/25 Чтв 00:39:13 3573847 328
>>3573581
>Мы в память упираемся, там по хипдампам понятно в чем дело.
А вы целиком мапите 100 метровые сообщения на джава объекты перед обработкой? Не используете потоковую десериализацию, что-то вроде https://jsoniter.com/ ? Это бы просто объяснило перерасход памяти и низкую скорость обработки.
Аноним 30/10/25 Чтв 01:16:26 3573853 329
>>3573847
Да в текущей конфигурации у нас нет проблем, даже запас есть.
Прикол этого парсера, если честно не понял. Если у меня приходит огромный джсон и мне нужно только пару полей из него, то окей. А если мне нужны все поля? И на них завязана логика процессинга, то какой профит?
Аноним 30/10/25 Чтв 01:36:20 3573855 330
>>3573853
Ну если все поля, то как минимум ты не загружаешь их все сразу в память, а итерируешься по ним, таким образом у тебя в идеале резкий пик потребления размазывается, потому что данные заходят и выходят из области видимости и соответственно раньше доступны для ГЦ и всякого экскейп анализа. И соответственно максимум потребления снижается.

Еще если у тебя например есть миллион объектов одной структуры (какой-то массив), то стандартный парсер создаст тебе буквально миллион объектов. Этот создаст 1 объект и будет обновлять в нём данные миллион раз в процессе итерации по массиву. Минус создание и очистка миллиона объектов.

Но в основном конечно предполагается что тебе нужны далеко не все поля, что и является самым частым случаем. Со 100 мегабайтными сообщениями мне вообще сложно представить чтобы вся логика была завязана на все 100 мегабайт данных, если только ты не просто копируешь все содержимое в базу (но смысл тогда от такого сервиса?).

Плюс
Аноним 30/10/25 Чтв 11:40:33 3573975 331
>>3573561
что за сообщения такие по 100мб каждый. Зачем это грузить в кафку. Зачем это грузить в память
Аноним 01/11/25 Суб 13:27:54 3575838 332
Сижу на говномонолите на JAX-RS и java 8, аж плачу иногда, вставать не хочется...
А уйти нельзя, трудовая испортится, что за пездец

Ещё одни день, ещё одна пытка...
Аноним 01/11/25 Суб 14:06:29 3575870 333
>>3572433
>Если люди сразу правильно выбрали инструмент под конкретную задачу
>Просто в 2000х джава была на лютом хайпе и наней начинали писать вообще все, не думая о последствиях

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

Вкатунишке с дивана то конечно виднее, что следовало выбирать в начале 2000х. Ору.

Тебе лет то сколько, умник?
Аноним 01/11/25 Суб 14:15:46 3575878 334
>>3573418
>Eсли у тебя 1к разрабов, то нереально их загнать в одну репо вашего монолита, эта репа превратится в шлюху и мусорку.

Опенсорцы и не в таких масштабах живут. И чето опенсорцы архитектурно - вообще в большинстве своем не про микросервисы. Сплошь монолитные-модульные либы, тулы, фреймворки.

Просто люди правильно декомпозировать софт не умеют, вот и все. Ищут спасения в микросервисах, и то находят не всегда (термин "распределенный монолит" не с пустого места взялся).
Аноним 01/11/25 Суб 14:34:21 3575904 335
>>3575838
Бро, у меня щас вообще бэкенд на сях, апишки - самописные бинарные поверх голого TCP/UDP, разумеется хуево документированные. Клиент - на свинге с кучей нативных биндингов на всякое - не все из этого даже гуглится. Проекту второй десяток.

И ничего, кайфую. Главное чтоб тебя любили, премию платили, метриками не душили (как фашиствующие бигтехи). А стек - дело наживное.
Аноним 01/11/25 Суб 15:38:17 3575950 336
>>3575904
Но как же faang, как же новые технологии чтобы эмигрировать...
Даже спринга нет, сервелетные кишки и шизоидные алгоритмы тех кто уволился ещё пять лет назад, десятки модулей, проект собирается локально 15 минут и стартует 20.
Как же больно, какие там премии и галерный раб
Аноним 01/11/25 Суб 15:41:05 3575955 337
Одно радует, говорят что в следующем году новые сокращения везде будут, может сократят с копролегасиговномонолита и уйду работать за еду в платформаофд и прочие датномики где зп меньше чем у продавца пятёрочки, но буду это для себя оправдывать тем что другой работы нет
Аноним 01/11/25 Суб 15:43:44 3575958 338
>>3573418
>Eсли у тебя 1к разрабов, то нереально их загнать в одну репо вашего монолита, эта репа превратится в шлюху и мусорку.
Не путай монорепу с монолитом. Можно работать в монорепе, но иметь микросервисную архитектуру.
Аноним 01/11/25 Суб 15:47:49 3575960 339
>>3573043
Не видел ни одного монолита который бы "проектировали", как правило это всё постепенно растёт. И распил это как раз попытка справиться с возрастающей сложностью дальнейшей разработки.
Аноним 01/11/25 Суб 16:03:44 3575963 340
>>3573055
>У тебя он в одном процессе живёт?
>Я, естественно, исхожу из того, что у любой серьёзной сложной системы, с докерами или без, скорее всего предусмотрена какая-то модульность и ты можешь поднять только нужные тебе воркеры на другом хосте. Контейнеризировать каждый процесс для этого не требуется.
Монолит который живёт в нескольких процессах?

>Прям уж таки bare metal, лол.
Да, IBM-овские серваки. Даже знали в каком ДЦ стоят, было 2 ДЦ на Лондон и Нью-Йорк, в остальных локациях по одному ДЦ.

>Если у тебя IQ выше 80 (а иначе тебя бы вряд ли наняли работать программистом) - ты, скорее всего, сможешь правильно заполнить конфиг. Если вдруг конфиг на 9000 строк, что маловероятно - можно нехитрой комбинацией grep, awk, uniq и wc за 30 секунд убедиться, что ты нигде не обосрался. Зачем это покрывать автотестами - хуй знает, видимо, всему виной патологическая тяга джавапидоров к бюрократии и максимизации количества кода.
Если бы у тебя был IQ просто был, то ты бы знал что человек слаб и ошибается. Особенно когда надо проверить сотни строк однотипных конфигов. К тому же грепать это в разы дольше чем автотест при билде.

>Чаще всего такое не пройдёт QA
Это если есть это QA и покрытие хорошее.

>микросервисы решают проблему примерно никак.
Решают: во первых изоляция проблемы в маленьком сервисе с разнесенными релизами, во вторых canary.
Аноним 01/11/25 Суб 16:23:07 3575982 341
>>3575838
А чего тебе нехватает? Джавы 8й хватит всем. Если что - напиши что не хватает, что у тебя рук нет?
Аноним 01/11/25 Суб 16:35:14 3576000 342
>>3575963
>Монолит который живёт в нескольких процессах?
А почему нет? Тебя убеждения удерживают вынести что-то в отдельный процесс когда нужно? Всё дело в том, что в большинстве случае это не нужно.

>выкатили сервис А и всё упало, проблема в нем.
>микросервисы решают проблему примерно никак.
>решают
нет чел, микросервисы -это полностью независимые друг от друг компоненты, они специально должны проектироваться так, чтобы если что-то упало, то всё остальное работало. Если у тебя от ошибки в микросервисе всё падает - то это просто разрезанный на куски монолит потому что "так надо", который почему-то называется "микросервисной архитектурой"
Аноним 01/11/25 Суб 17:49:47 3576073 343
>>3575963
>Монолит который живёт в нескольких процессах?
Я так понимаю, между гигантским CGI-скриптом, который зачем-то одновременно пишет 1000 человек, и зоопарком докеров никаких градиентов не существует?

>Если бы у тебя был IQ просто был,
Ты же специально проигнорировал большую часть абзаца, чтобы дать себе повод для пассивной агрессии, а то ЗАТЕРПИШЬ и будешь как НИПАЦАН?
>К тому же грепать это в разы дольше
Только если ты спермоблядь и не можешь жить без мышевозных гуёв. Сами утилиты довольно шустрые, сотни строк пережуют моментально.

>Это если есть это QA и покрытие хорошее.
Так это не проблема "монолита", это проблема отсутствия нормального тестирования. Как копросервисы её решают?
Аноним 01/11/25 Суб 21:15:24 3576237 344
>>3575950

>технологии чтобы эмигрировать

Бля, чел, те чтоб эмигрировать сегодня, как будто бы проще просто выйти на красную площадь с чистым листком, присесть на швабру чуток, а потом бежать искать политического убежища, пресмыкаясь на коленях у западных господ и строя из себя жертву. Нахуя это все нужно и каким боком здесь джава и твоя галера - вопрос факультативный, учитывая что врядли ты им нужен что со спрингом, что без, когда им проще закупить у нвидии аппаратных мощностей для хостинга нейронки сопоставимой по скиллам.
Аноним 01/11/25 Суб 21:26:23 3576248 345
>>3575960
Я застал одного архитектора, который свежачком кинулся распиливать наш монолит на микросервисы. А потом оказалось что клиенты этого решения в гробу видели и облачка, куда он хотел деплоиться (им принципиален был on-premise в их личной DMZ), и оверхеды от кучки микропенисов вместо одного процесса. В итоге проебали полтора года, этого арха по итогу просто уволили нахуй, а на руках вместо монолита, который хоть и был написан говенно, но хотя бы был оптимизирован хорошо, мы остались с хуево спроектированным микропенисным говном, которое потом несколько раз репутационно отстреливало.

Щас рефачим этот бардак просто на модули, чисто следуя здравому смыслу: уменьшаем связность там где надо, устраняем боттлнеки, обновляем стек. Вроде худо бедно ситуация выправляется.
Аноним 02/11/25 Вск 02:09:40 3576377 346
>>3576248
Истории галерных рабов с клиентами мало интересуют, надо работать над продуктом, а не для заказчиков
Аноним 02/11/25 Вск 12:53:42 3576603 347
>>3576248
Архитектор за бизнес решения не отвечает, а изменение способа использования продукта это бизнес решение. У вас видимо какая-то ебала вместо организации.
>>3576377
> надо работать над продуктом, а не для заказчиков
Сразу видно человека, который не думает о бизнес вэлью.
Аноним 02/11/25 Вск 13:00:44 3576607 348
>>3576603
>не думает о бизнес вэлью
все правильно, надо думать только о своем вэлью
Аноним 02/11/25 Вск 13:04:03 3576611 349
>>3576607
> надо думать только о своем вэлью
И какое твоё вэлью в том, чтобы продукт был никому не нужен из реальных пользователей, которые платят деньги? Продукт умрет, ты потеряешь работу, где плюсы?
Аноним 02/11/25 Вск 13:07:06 3576613 350
>>3576611
У тебя понятие продукт, заказчик и клиент неправильное, могу сделать вывод, что ты всю жизнь проработал на галерах типа епам, люксофт, дойиче банк и т д. Дальше тебе разжевывать не собираюсь, сам давай
Аноним 02/11/25 Вск 13:18:26 3576621 351
>>3576613
> ты не прав
> почему объяснять я конечно же не буду
Ок
Аноним 02/11/25 Вск 13:31:52 3576627 352
>>3576377
Я и рассказывал о продукте. Или че - любая история которая не бьется с твоим манямирков автоматом идет в категорию галерных?
Аноним 02/11/25 Вск 13:33:41 3576628 353
>>3576603
>У вас видимо какая-то ебала вместо организации.

Есть такое, разброд и шатание наблюдается. Тот арх был просто чрезмерно инициативен, на коротной ноге с начальством пытался лоббировать всю эту кутерьму.
Аноним 02/11/25 Вск 13:39:41 3576631 354
>>3576613
Лол, а сам то ты где работал? Дома над никому не нужным петиком?
Аноним 02/11/25 Вск 13:47:14 3576636 355
>>3576631
Смысл тебе щас тут че то рассказывать, если та скажешь врееееети.
Двачеры жы тупорылые, могут только говном кидаться и главное отстаивать свою позицию до конца, даже если она объективно неправильная, спор ради спора
Аноним 02/11/25 Вск 14:27:35 3576651 356
ИЩУ АНОНА который объяснял почему uuid как PRIMARY KEY - это плохо, проебал твой пост, ты про индексы расписывал
ну или мимопроходящие расскажите, почему serial лучше как primary key?
Аноним 02/11/25 Вск 14:32:08 3576656 357
>>3576628
У нас так один разраб лоббировал переход с джава на го. Пролоббировал. Как? А хуй его знает, начальство-долбоебы и все их решения абсолютно непрозрачны. Скорость разработки упала раза в три, потому что разрабам приходиться постоянно переключаться между существующими жаба проектами и новыми го проектами. Разраб после этого уволился уйдя в другую компанию, оставив счастливых коллег с говностеком.
Аноним 02/11/25 Вск 14:38:02 3576662 358
>>3576656
Так он красава, хотел получить опыт на го (связка джава + го самая сытая сейчас, по себе знаю), ушел наверное на х1.5-2 с охуеной экспертизой и опытом. Ну а вы плачьте, хуле
Аноним 02/11/25 Вск 16:00:38 3576745 359
>>3576651
Лучше в каком случае? Для индексация serial лучше потому что число. uid в какой базе Sql а конкретнее, если это постгрескал там это спец тип он больше байт занимает по нему индексация хуже и поиск, но лучше чем по строке. А если это постгрескал то какой он версии и какой версии ты uid будешь использовать? А ты уверен что твой говно проект перешагнет бигсериал? А менеджеру и остальным по кайфу будет в урле видеть uid вместо числа?
мимо легаси страдалец, раб сервелетов
Аноним 02/11/25 Вск 16:07:11 3576747 360
>>3576237
Ты деприссивно настроен, я чувствую упадническое настроение в твоём посте. Все едут, некоторые теряют в зп, но это временно, мне кажется на дистанции в лет 5 по зп в другой стране вырасти шансов больше. Я вот не вижу тут другого варианта кроме как 500-600к гросс причём тимлидом, где 80% времени надо будет ходить на планерки, причём они всегда в офисе, это уже не первый мой проект и рукля на удаленке я ещё не видел. Да это хорошие деньги, но это как будто карьерный потолок и тупик, потому что даже не уволишься, на такую позицию обычно берут из команды в которой работал года 3
Аноним 02/11/25 Вск 17:28:34 3576805 361
>>3576747
500-600 гросс это сейчас просто сенька, на руки 450-500, хз о чём ты. Куча компаний готовы это дать, если ты скилловый и офк если просишь столько.
Лид это 600+ на руки
Аноним 02/11/25 Вск 18:10:10 3576838 362
Учил с 22 года джаву работая сис.админом. Настал 25 год, понимаю что вкат совсем мертв, при это инфраструктура наоборот актуальна, позадрачиться по ней и апнуться проще, на бумаге, и опыт есть и хуева тонна собесов за спиной. Но в джаву тоже вьебал времени, и хотел перекатится именно в нее, но опыта в настоящих рабочих процессах нихуя. Реально ли с джавой дальше пытаться устроиться крутанув и с подготовкой ментора, или совсем жопа?
Аноним 02/11/25 Вск 18:20:37 3576854 363
>>3576747
>Ты деприссивно настроен

Лол. Сказал мне чел, который приуныл из-за восьмой джавы на проекте.

Не депрессивно, а скорее иронично-саркастически.
Аноним 02/11/25 Вск 18:28:42 3576865 364
>>3576636
Ну так а че чушь несешь? Проект без клиента - эрзац, никому не нужный петик без цели, ценности и смысла. Если для тебя такая очевидная истина не очевидна, есть сомнения насчет того, что ты не вкатун ноль лет коммерческого опыта.

>Двачеры жы тупорылые

Ну а ты, получается, еще тупее, если сначала сам в залупу залез, а теперь сливаешь. Навел тень на плетень, клоун. Добро пожаловать на двач, тут тебе самое место.
Аноним 02/11/25 Вск 18:49:58 3576889 365
>>3576865
>Проект без клиента
Где я это писал?
У тебя все ограничивается галерной моделью бизнеса, раб.
Поработай в нормальных компаниях, потом продолжим диалог, тупица
Аноним 02/11/25 Вск 22:17:37 3576988 366
>>3576889
А где я писал про галеры?

Ты бля травмированный чтоли, что на галерном опыте зациклился, или просто хуесос-нарцисс? Что с тобой не так, двощер?
Аноним 03/11/25 Пнд 01:56:38 3577043 367
>>3576000
У тебя упал сервис авторизации и все сосут хуи.
Аноним 03/11/25 Пнд 02:16:04 3577050 368
>>3576988
чел от тебя галерой воняет
греби отсюда)
Аноним 03/11/25 Пнд 03:13:35 3577060 369
>>3576000
Независимыми могут быть лишь те компоненты, которые внезапно ничего друг о друге не знают. Сервер во Владивостоке упал, а сервер в Калиниграде работает, потому что архитектор старой школы сделал шардирование по городам, а не высрал гигасервис заказов и мегасервис доставок.
Аноним 03/11/25 Пнд 07:53:38 3577090 370
>>3577060
>Независимыми могут быть лишь те компоненты, которые внезапно ничего друг о друге не знают.

Независимыми могут быть лишь те компоненты, которые, внезапно, ничего друг о друге не знают.
Аноним 03/11/25 Пнд 12:44:56 3577224 371
>>3577050
А от тебя - мудаком. Так что - оставайся, пиши еще.
Аноним 03/11/25 Пнд 12:46:35 3577225 372
>>3577060
Лучший. Твою цитатку да всем каргокультистам бы в уши.
Аноним 03/11/25 Пнд 13:34:41 3577251 373
>>3577043
Ну это собственно и есть один из самых явных обсёров микросервисного бреда. Обычно в этом случае начинается виляние жопой на тему того, что значит "независимые".
>>3577060
Всё верно, поэтому по канону все микросервисы изолируются друг от друга брокерами сообщений, т.е. по канону они должны знать только об очереди.
Аноним 03/11/25 Пнд 16:09:17 3577458 374
>>3577251
>Всё верно, поэтому по канону все микросервисы изолируются друг от друга брокерами сообщений, т.е. по канону они должны знать только об очереди.

Ага. И вот здесь мамкиных архитекторов обычно пробивает на каргокульт. Мало просто пересадить модули на брокеры чтобы они стали изолированными. Они все равно останутся связанными через схемы мессаджей - поменялась схема у отправителя, приемник ее больше не поймет. Реальная изоляция через брокер включает в себя еще и мессаг схемы с версионингом, миграциями и прочей обратной совместимостью, а это дополнительная возня. Попутно еще ебись сагами под хореографию с eventual consistency, ломай голову куда разгребать DLQ и прочие брокерные приколы, порог входа в который щас вынуждены преодолевать охуевающие вкатунцы. И все это - там, где в монолите можно было просто вкорячить интерфейс для инверсии зависимости.

Мимо. Без негатива к микросервисам как таковым, но потешаясь над теми, кто верит что микросервисы нужны в первую очередь для изоляции.
Аноним 03/11/25 Пнд 18:14:05 3577584 375
shouldvue.jpg 74Кб, 632x1016
632x1016
Как спрингмены объясняют vue-хуе, что юзер авторизован? В смысле, как вуе, должен понять что юзер авторизован, основываясь на какой куке или как, что юзер уже автризован? Вот юзер авторизовался и что, как вуе должен запонимть что он авторизован? Как это делается на проде в мэинстриме у спрингменов? Только не надо всякие костыли предлагать. Нужно заверенное паттернами решение.
Аноним 03/11/25 Пнд 18:21:15 3577592 376
Насколько реально вкатиться в жабу? Вакансий нихуя в городе нет, в дсы я не перееду в ближайшее время, плюс довольно популярен у студентиков и в целом порог входа энтерпрайз - требуют много, по сравнению с веб-макакингом

Есть ли варики пробиться на стажировки? Или просто найти удаленку? Мне советовали раньше не смотреть на локальный рынок, а сразу на удаленку, ну и выбирать жабу за перспективы и стабильность, никуда не денется и будут нужны, самый популярный яп после жаваскрипта хули
Аноним 03/11/25 Пнд 18:55:14 3577629 377
>>3577592
Не знаю, смотри на количество вакансий и количество соискателей. Раньше hh и хабр публиковали такие данные. Нам в компанию, исключительно как личный пример, не только жаба программисты не нужны, нам вообще программисты больше не нужны. Третий год сокращения.
Аноним 03/11/25 Пнд 19:07:02 3577637 378
>>3577592
>Насколько реально вкатиться в жабу?
Если ты не студент столичного вуза с возможностью стажировки - то никак. Вката нет.
Аноним 03/11/25 Пнд 19:13:50 3577644 379
Как я вас люблю джунцы, всегда в голос с ваших споров по любым темам
Аноним 03/11/25 Пнд 19:36:38 3577663 380
>>3577644
Не стесняйся, присоединяйся.
Аноним 03/11/25 Пнд 20:05:58 3577672 381
>>3577592
>Насколько реально вкатиться в жабу?
Реально
>Вакансий нихуя в городе нет
Какой город или область хотя бы?
>Или просто найти удаленку?
На апворке можно что-то найти
Аноним 04/11/25 Втр 16:33:07 3578200 382
>>3577629
Ну я смотрел, на жабу одно из лучших соотношений, но не более того, просто я не знаю где искать вообще вакухи и потяну ли конкуренцию, на удаленке тем более
>>3577672
>Какой город или область хотя бы?
Владивосток
>На апворке можно что-то найти
И прям с 0 опыта? Я скорее думал про какую-то удаленку за еду хотя бы, пушта здесь почти ничего такого нет

Зато пыха + жс (ну пайтон еще) - вагон и маленькая тележка. Можно пойти туда, чтобы опыт получить и крутануть, пытаться уже в жабу перейти, но хз, я слышал только что ввязавшись в пыху - на ней и застрянешь, это как 1с
Аноним 04/11/25 Втр 18:24:56 3578377 383
>>3578200
>И прям с 0 опыта?
Так там есть заказы на готовый продукт, а не на почасовую. Можешь сделать - делай. Кому опыт интересен?
>я слышал только что ввязавшись в пыху - на ней и застрянешь, это как 1с
Застряёшь в любой технологии, это из-за причуд ХРов, а не из-за технологии
Аноним 04/11/25 Втр 20:50:30 3578524 384
>>3577584

И при чем тут спринг? Гугли HTTP, Rest и способы аутэнтифицароваться в нем. Спринг "обьясняет" твоему фронту на вуе это ровно так же, как делал бы это любой другой бэкенд-фреймворк на любом другом стеке любому другому фронтенду, на чем бы оба ни были писаны.

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

На такие вопросы попугай научился отвечать "зависит от требований", и сразу апнулся до архитектора.
Аноним 04/11/25 Втр 21:14:34 3578550 385
Аноним 04/11/25 Втр 23:27:38 3578631 386
1709848693516243.jpg 167Кб, 1024x1024
1024x1024
>>3578524
>И при чем тут спринг?
При том что это жаба тред.

>Гугли.. как делал бы это любой другой бэкенд-фреймворк на любом другом стеке любому другому фронтенду..
Ты так же мог бы пойти любой другой тред и навалить там такой же не нужный текст.

>>3578550
>Гугли Oauth flows.
При чем тут оаус? Мне нужно просто SPA на жс, объяснить, что юзер уже залогинен, чтобы СПА не показывал форму логина. Как это делается в связке спринга и спа? Вот в чем вопрос был.
Есть бэк: спрингбут + рест + сессии. Есть фронт на вуе. Фронт логиниться на бэк через рест-апи, потом юзер закрывает браузер. Потом открывает. Как вуе понять, что юзер уже логинился. Как это делается в СПА? Что-то в локальном хранилище храниться, кука какая-то особая или еще как-то?
Если что, на фронт могу поставить Far и WinRar, это не проблема. Сам подход.. паттерн шаблона интересует
Аноним 05/11/25 Срд 02:06:45 3578667 387
>>3578631
Да нет никакого шаблона. Все решают это кто во что горазд, потому что это не какая-то архиважная и архисложная задача.
Просто делаешь отдельный эндпойнт, который возвращает тебе информацию о пользователе и шлёшь запрос при загрузке страницы. Возвращаешь 401, если пользователь не аутентифицирован, чтобы форму логина показать.
Аноним 05/11/25 Срд 02:17:50 3578668 388
>>3578631

>Если что, на фронт могу поставить Far и WinRar, это не проблема

Сука.... -_\

Выйди - зайди нормально.
Аноним 05/11/25 Срд 07:14:22 3578684 389
Аноним 05/11/25 Срд 10:08:24 3578743 390
>>3578667
>Просто делаешь отдельный эндпойнт, который возвращает тебе информацию о пользователе и шлёшь запрос при загрузке страницы. Возвращаешь 401, если пользователь не аутентифицирован, чтобы форму логина показать.

Спасибо, анон. Этот именно то что я хотел услышать. gptRar кстати так же ответил.

>>3578668
>Выйди - зайди нормально.
Фронт просто на 11 винде.
Аноним 05/11/25 Срд 12:53:45 3578939 391
>>3578684
>Введение
>Потоки, лямбда-выражения, комбинаторы, коллекторы
хех, мда, вводят по самые гланды
>Часть 7. XML
>Тема 21. Введение в XML
>Тема 22. Описание и проверка структуры XML
>Тема 23. Apache Ant
>Тема 24. XPath
>Тема 25. XSLT
это прямо уже суровейший нафталин, особенно Ант блять

типичная строго протокольно-академическя хуйня, приспособленная не для того чтобы научить, а чтобы отчитаться
Аноним 05/11/25 Срд 12:56:59 3578943 392
>>3578939
>суровейший нафталин
В РФ с XML до сих пор много где работают, воротить от него носик это инфантилизм.
Аноним 05/11/25 Срд 13:09:26 3578957 393
>>3578939
>Потоки, лямбда-выражения, комбинаторы, коллекторы
Это юзлесс?
Аноним 05/11/25 Срд 13:20:52 3578968 394
>>3578957
Всё юзлесс, что не используешь в работе. С другой стороны знать, что такое существует полезно. Такая вот дихтомия практики и теории.

мимо
Аноним 05/11/25 Срд 13:23:30 3578970 395
>>3578957
Это юзлесс в качестве введения обучающего пособия. Причём там почему-то сильно разные уровни, при том что это advanced введение, в одну кучу свалено ввод-вывод, что вроде для бегиннера и рефлекшон, что вроде как уже сильно адвансед.
Потом идёт раздел "потоки", при том что в профессиональной сфере "потоками" называют threads (многопоточность), а не streams. Что разумеется только добавит путаницы в голову студента, и непонимания в общении с коллегами.

Ты автор?

>>3578943
Много где это прямо ОЧЕНЬ сильно заявление. Конечно же нет, но он ещё встречается. Причем что самое забавное что он встречается в тех конторах, куда скорее всего студент не пойдёт, а куда поёдет там давно джейсон и грэдл, ну максимум мавен.
XPath и XSLT это прямо вообще СУПЕР вымирающие звери.
Я так понимаю Ант туда впихнут из-за конфигов на хмл, иначе вообще непонятно что система сборки кода делает в разделе про хмл
Аноним 05/11/25 Срд 13:28:18 3578972 396
>>3578968
>С другой стороны знать, что такое существует полезно.
Это не дихотомия, это разные уровни владения. Нужно примерно понимать какие у тебя есть варианты, но это не значить что всех их нужно знать до уровня применения, потому что это юзлесс
Аноним 05/11/25 Срд 13:38:10 3578981 397
Аноним 05/11/25 Срд 13:42:15 3578982 398
>>3578970
>Много где это прямо ОЧЕНЬ сильно заявление
В контексте языка, в треде которого мы постим, нет. Всякие интеграции с сервисами, которые написаны на джаве, используют XML активно, их нет смысла менять, так как там всё "просто" работает. И как раз студенты туда пойдут очень охотно за опытом. XPath используется достаточно активно, чтобы ему обучать, XSLT может и помирает, тут не знаю.
Отдельно можно упомянуть, что майкрософт когда-то понапихала XML в свои продукты, из-за чего для парсинга тех же новых офисных форматов придётся парсить XML. И в других местах тоже вылезет.
Аноним 05/11/25 Срд 14:36:43 3579001 399
Аноним 05/11/25 Срд 14:40:38 3579003 400
>>3578982
>В контексте языка, в треде которого мы постим, нет. Всякие интеграции с сервисами, которые написаны на джаве, используют XML активно
Понятно.
Ну я вот сейчас проверил по hh.ru, из 1216 вакансий хмл нужен в 83х. Так что да, думаю ты прав.
Аноним 05/11/25 Срд 14:55:35 3579012 401
>>3579003
Форматы данных обычно в вакансиях не указывают, поэтому не знаю что ты хочешь этим доказать...
Аноним 05/11/25 Срд 17:24:32 3579115 402
Кто-то знает у озона и точка банк удаленка только по РФ или по всему миру?
Может кто-то наведёт на список компаний с удаленкой по всему миру?
а то грумсно в +8 в дс в темноте сидеть 6 месяцев в году
Аноним 05/11/25 Срд 17:49:19 3579140 403
>>3579115
Озон Банк требует в РФ находиться, но вот остальной Озон вроде как разрешает по всему миру жить.
Аноним 05/11/25 Срд 22:06:36 3579267 404
17356116407340.jpg 214Кб, 557x669
557x669
>>3541519
Корутины на котлине - это не простота. Может жава новые лёгкие потоки и простота, но котлин корутины - нихера. Есть статья в глобальной сети интернет - почему отлов исключений в котлин - это не простота. Почитай, интересно.
Аноним 05/11/25 Срд 22:32:15 3579271 405
Привет, как себя сейчас джава чувствует на рынке
Пытаюсь без накрутки с 2годами и парой месяцев реального опыта в хайлоаде (но с точки зрения объема данных, а не количества запросов) найти новый проект, так как их старого вырос, как по зп так и по скилам. И уже некоторое время не могу это сделать.
Как-будто на собесах ищут мидл+/сеньер по цене мидла и что бы еще и стек и задачи полностью совпали с их ожиданиями, даже если в 1ой либе (которая учиться за вечер) мистчам то кандидат летит в урну.
Уже подумываю об выкате из джавы если честно,потому что дальше сидеть на моем проект это карьерынй суицид
Аноним 05/11/25 Срд 23:35:34 3579293 406
>>3579271
>джава джава джава
Ты принципиально владеешь одной отвёрткой и программируешь только круды?
Аноним 05/11/25 Срд 23:54:07 3579297 407
>>3579293
Я работаю на проекте для аналитиков, который в реал тайме обрабатывает сообщения. (стримы kafka flink), у нас нет фронта и почти нет контроллеров (пишем только для сервис ту сервис редко). Для себя пишу еще на го кое-что и паршу кое-что на питоне (потому что удобно)
Но это же не уровень собесов и в любом случае хрюша ждет резюме где написано что я ахуенно владею другим стеком и решал кучи задач на нем в прод.
Аноним 06/11/25 Чтв 00:01:30 3579302 408
>>3579271
Джава себя то чувствует норм. Но с таким опытом сейчас просочится малореально. У меня почти 10 лет опыта и то со скрежетом.
Аноним 06/11/25 Чтв 00:09:35 3579305 409
>>3579297
Напиши хрюше нейронке то, что она хочет видеть.
>Но это же не уровень собесов
Готовься к собесам. И вообще не знать синтаксис очередного императивного языка, который изучается за 3 дня вместе с нужными библиотеками, гораздо хуже, чем не разбираться в предметной области, с которой тебе предстоит работать, но знать синтаксис - такой распиздяй на самом деле гораздо дольше будет въезжать в работу и скорее всего вылетит с испытательного. Если только мы не говорим про элементарное крудошлёпство, где ожидаемые от кандидата компетенции действительно исчерпываются знанием ПЕХОПЕ и СИМФОНИ (или джава и спринг, похуй, нужное подчеркнуть).
Аноним 06/11/25 Чтв 00:18:35 3579309 410
>>3579305
Ну кароч тогда самый оптимальный путь это сделать 2-3 резюме на го, джаеб и питухоне (на каждый стек по резюме)
В каждом докрутить до 3х лет минимум (ибо фильтра hr все дела)
И брутфорсить собесы, одновременно качая скилзы, так как после первых пары собесов будет точно понятно, что рынок от меня хочет

Эт я наверно ебантуый, хотелось честно как-нибудь, но видимо пока ни как
Аноним 06/11/25 Чтв 00:21:28 3579310 411
>>3541493
> А зачем, если есть виртуальные потоки?
Так это и есть асинхронщина. Ты буквально спросил зачем нужен автомобиль если есть машина.
>>3541519
> Но главный плюс в них - это простота, потому что код выглядит как обычный код, а не лапша из реактивных операторов.
Простота? Ну, на уровне хеллоу ворлда может быть. В реальности как ты и написал выше делаешь тоже самое что и при работе с обычной многопоточкой. Также нужно синхронизировать данные между корутинами, также нужно держать в каком-то списке жобы, так же нужно не забывать обрабатывать сигнал отмены выполнения. Каждый раз когда я вижу "простой" код на корутинах в ревью я понимаю что найду кучу багов.
Аноним 06/11/25 Чтв 01:53:41 3579323 412
>>3579267
>>3579310
Я имел ввиду простота по сравнению с реактивщиной.
Понятное дело, что писать тупой блокирующий код намного проще, любая обезьяна сможет.
Но nio и асинхронщина дает бенефиты
Аноним 06/11/25 Чтв 12:26:19 3579597 413
>>3579323
Оно даёт бенефиты только в очень специфических условиях, а именно когда у программы огромные затыки на IO и ты ничего с этим не можешь сделать кроме как ждать - не можешь оптимизировать запрос к базе, запросы к другим сервисам и т.д.
Этот хайп вокруг нишевого решения привёл к тому что люди просто ленятся оптимизировать, и это типо нормально - у нас же асинхронщина! а не тупой синхронный код.
Аноним 06/11/25 Чтв 12:50:46 3579634 414
>>3579597
>а именно когда у программы огромные затыки на IO
да, весь ентерпрайз упирается в io
>просто ленятся оптимизировать
как ты оптимизируешь нагрузку 10-15к рпс на интсанс, где каждый реквест ходит в кэш/бд/еще куда то по сети?
Если сделаешь на nio сервере, то ты очень много будешь экономить на памяти (обычные треды жрут очень много памяти и если мы говорим еще в рамках лоу латенси, то опускание до кернел спейса - дорогое).
А так у тебя будет фиксированный мэин пулл + io воркеры.

Конечно это сложнее блокирующего подхода, но если у вас такие ребята в команде, которым сложно и они не вывозят по скилам, то да, для вас лучше докупить машин, поднять доп инстансы и справиться таким образом с рпс.
Надо знать вводные данные, чтобы принять решение
Аноним 06/11/25 Чтв 13:00:01 3579652 415
>>3579634
>как ты оптимизируешь нагрузку 10-15к рпс на интсанс
ну например уберу тысячи микросервисов и соответственно необходимость в куче ИО/сериализации?
это же типичная ситуация когда сами же создали проблему и потом сами же героически решаем
10-15к рпс, это не то что бы какая-то выдающаяся нагрузка для монолита
Аноним 06/11/25 Чтв 13:06:47 3579663 416
>>3579634
>где каждый реквест ходит в кэш/бд/еще куда то по сети?
Можно так же реквесты к БД оптимизировать руками, в подавляющем большинстве случае проблема в неповоротливом ORM, которое генерирует трёхэтажные запросы
Аноним 06/11/25 Чтв 13:15:52 3579674 417
>>3579652
Мы вообще не про микросервисы и монолиты, тут это не влияет ни как.

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

Но я тебя понял.
То есть проще пересторить организацию компании, загнать все продукты в один в монолит, придумать новую систему развертывания и организации кода.
Да, уйдет десяток http вызовов, который имел долю 0.5% от общего io, добавится связность продуктов, доменные модели будет намного проще перемешать.
А раз в твоей компании работают челики которым "сложно" nio, то они точно навертят такое говнище в монолите, что вы ахуеете

Какие вы додики, кто спорит про монолит не монолит, я в ахуе.
NIO это не про микросервисы вообще.
У тебя так же монолит может захлебываться от потоков и переход на асинк ему поможет.
Но щас ты продолжишь спорить с очевидными вещами, давай
Аноним 06/11/25 Чтв 13:16:40 3579675 418
>>3579663
нет, проблема в большом количестве тредов и потреблении памяти
Аноним 06/11/25 Чтв 16:46:01 3579841 419
>>3579674
>Да, уйдет десяток http вызовов, который имел долю 0.5% от общего io
мощный коупинг, где у тебя кроме http связок и базы еще затык на IO?
>То есть проще пересторить организацию компании
Какая организация компании, нужно просто выбросить ебаные микросервисы, почему у вас организация компании привязана к софтверной архитектуре? Вы каждый раз когда архитектуру меняете - компанию перекраиваете?
Аноним 06/11/25 Чтв 16:56:58 3579849 420
>>3579841
>где у тебя кроме http связок и базы еще затык на IO
клиентcкие реквесты, сокеты, база, распределенные кэши, брокеры
>Какая организация компании, нужно просто выбросить ебаные микросервисы
Чел, если ты работаешь в шаурмечной над админкой, где команда из 5 человек, то о чем мне с тобой разговаривать?
У тебя все сводится к микросервисам, иди лечись
Аноним 06/11/25 Чтв 17:16:53 3579873 421
image.png 2536Кб, 2187x13180
2187x13180
Аноним 06/11/25 Чтв 17:19:45 3579876 422
>>3579873
Ну, он тебе так и сказал, в больших системах с кучей сетевых вызовов. А она большая с кучей сетевых вызовов потому что все раздроблено на микросервисы. Что с помпой решается асинхронщиной - сами создали проблему, сами и решили.
Ты сначала научись читать и думать без гопоты, тогда можно будет в разработку идти.
Аноним 06/11/25 Чтв 17:21:03 3579878 423
>>3579876
>Видит то, что хочет
хех, джунишка
Аноним 06/11/25 Чтв 17:34:48 3579887 424
>>3579878
Бедняга говнодел защищает свой говнокод до кровавого поноса...
Аноним 06/11/25 Чтв 17:40:36 3579895 425
>>3579887
Тебе уже даже ллм с нейтральным промотом пояснила, что ты хуйца соснул, зачем ты копротивляешься, попуск?

Из твоих рассуждений очевидно, что ты работал только в мелких говноконторах над админками, где один реквест пер час и мб иногда отчетик собрать надо было. И из инфры только майсикюэль.
Мб ты еще и бывший пэхэпэшник, лол?
Плюс у тебя все сводится к тейку: "ЭЭ мм, ну микросервисы говно, лишние реквесты эээ уу"
Вообще 0 понимания как организована работа в бигтехе и какие сложности это несет
Аноним 06/11/25 Чтв 18:01:41 3579901 426
>>3579898
>Вот видишь, ты сам предлагаешь пилить монолит на микросервисы.
Это не микросервисы, а воркеры по сути. В прошлом проекте архитектор настолько охуел что уже распиленные микросервисы еще распилил на воркеры, потому что криворукий уебан. Один тащил HTTP, а три других нагрузку.
Аноним 06/11/25 Чтв 18:55:33 3579955 427
мужики, нахуй нужен редис?
кешировать СЛОВАРИ из БД - норм тема?
распишите какие у вас юзкейсы редиса
Аноним 06/11/25 Чтв 19:17:54 3579968 428
>>3579955
Чтобы когда несколько инстансов приложения у тебя кэш в одном месте лежал
Аноним 06/11/25 Чтв 19:19:47 3579970 429
>>3579955
Расперделенный кеш, синхронизация между инстансами.
Аноним 06/11/25 Чтв 19:20:18 3579971 430
>>3579955
>редис
Я салат с ним люблю кушац
Аноним 06/11/25 Чтв 19:36:42 3579989 431
>>3579970
>>3579968
благодарю, у меня монолит в 1 инстанс поднят, к нему 40 БД подключается, видимо ловить нехуй
>>3579971
побил бы тебя
Аноним 06/11/25 Чтв 21:37:19 3580073 432
>>3579674
> Да, уйдет десяток http вызовов, который имел долю 0.5% от общего io
Мы делали бота для whatsapp который работал через их очень странный API. Наше решение (то ради чего бот вызывался) отрабатывало за 100 мс. Запрос к серверу whatsapp отрабатывался за 4000 мс.

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

мимо словил флешбек читая про 0.5% от общего io
Аноним 08/11/25 Суб 21:20:03 3581276 433
Чет ваще не понял прикола.

Есть 2 разных варианта кода:
1)


Number x = 5;
Number n = 3;

if ((n < 10) && (x instanceof Integer i)) {
System.out.println(i);
}


2)

Number x = 5;
Number n = 3;

if ((n < 10) & (x instanceof Integer i)) {
System.out.println(i);
}


Первый компилируется, а второй нет. Хотя что в одном, что и в другом случае, будет происходить проверка instanceof и в случае его истинности создание шаблонной переменной. В чем подвох?
Аноним 08/11/25 Суб 22:53:58 3581304 434
>>3581276
второе это побитовое сложение
Аноним 08/11/25 Суб 23:30:19 3581317 435
Аноним 09/11/25 Вск 02:04:01 3581346 436
image.png 204Кб, 1129x553
1129x553
image.png 135Кб, 781x526
781x526
Аноним 09/11/25 Вск 03:18:20 3581353 437
>>3581346
Сериализацию новую решили добавить что ли? Лучше бы выпилили старую с её кучей дыр и багов.
Аноним 09/11/25 Вск 14:52:40 3581479 438
image.png 23Кб, 508x400
508x400
>>3581304
Умножение ты имел ввиду?
Что в первом, что во втором варианте зайти в тело if можно только если x instanceof Integer i выдаст true, то есть переменная i будет в любом случае объявлена и инициализирована независимо от использования && или &, это необходимое условие чтобы зайти в тело if. Но почему то во втором варианте компилятор ругается, хотя & еще более строгий оператор, потому что он проверяет оба логических выражения в любом случае независимо от того выдаст ли false левое логическое выражение или нет.
Аноним 09/11/25 Вск 15:20:12 3581497 439
>>3581479
чел, иди у ллм спроси, ты чего, никто тебе тут не будет ничего разжевивать
Аноним 09/11/25 Вск 15:41:29 3581523 440
>>3581497
Ну та же гугловская нейронка не помогла, она мне выдала фразу в стиле "потому что потому", но проверить является ли ответ нейронки очередным бредом или не является не представляется возможным. Благо нашел рандомный тред на стэке в котором люди сами не понимают почему так и всё действительно сводится к ответу "потому что потому". Ну ладно.
Аноним 09/11/25 Вск 15:48:58 3581535 441
>>3581353
Старую выпиливать не будут.
Аноним 09/11/25 Вск 16:42:26 3581557 442
>>3581479
чел, & не сравнивает, оно преобразует. На скрине правильно написано что неизвестная переменная i
Аноним 09/11/25 Вск 18:13:49 3581590 443
>>3581557
Я нигде не писал, что & что-то сравнивает, в данном случае это просто логический бинарный оператор который возвращает true если оба выражения слева и справа истинны.
Аноним 09/11/25 Вск 19:29:31 3581631 444
>>3581621
>забайтил вас
Да не забайтил, я потом на скрине в следующем посте все переменные на Integer исправил, потому что с Number автораспаковка и приведение не работает и там в обоих случаях будет ошибка, да. Но с Integer-ами первый варик компилится, а второй уже нет. Гуглил, но там точных причин такого поведения не называют, есть лишь предположения, потому что так-то оно из чисто логических соображений должно компилится по идее.
Аноним 09/11/25 Вск 19:42:31 3581639 445
image.png 40Кб, 784x110
784x110
>>3581638
Мой пример отчасти взят из Шилдта. Но Шилд обосновывает это какой-то нелогичной мегашизой.
Аноним 09/11/25 Вск 19:45:10 3581640 446
>>3581639
В книге ошибка, должна быть &&, не &
& не сравнивает, а вычисляет новое значение
Аноним 09/11/25 Вск 19:56:53 3581645 447
>>3581638
>и сказано что && обязателен потому что вначале надо сматчить, потом уже использовать

В чем проблема использования &? В моём примере также: в условии if сначала матчится, а начинает использоваться только в теле if. Всё логично? Вполне. Сначала создаём и инициализируем переменную, а затем используем.

>& не сравнивает, а вычисляет новое значение
Ну да. & строго вычисляет оба выражения слева и справа. Результат этих выражений либо true, либо false. Если оба выражения true, то блок if становится истинным и происходит работа блока кода if.
Аноним 09/11/25 Вск 19:58:05 3581646 448
немного некорректно выразился, так что уточню
то условие if становится истинным и происходит работа блока кода if.
Аноним 09/11/25 Вск 22:51:18 3581706 449
image.png 76Кб, 522x373
522x373
>>3581665
Ну вот полная версия всего этого фрагмента с && и & из версии 22 года. Если учитывать весь этот контекст, то Шилдт осознанно верит в эту шизу. Он, например, пишет:

>This fragment compiles because the if block will execute only when both sides of the && are true. Thus, the use of iObj in the if block is valid. However, a compilation error will result if you tried to use the & rather than the &&, as shown here:

И потом ниже он пишет еще вот это:
>In this case, the compiler cannot know whether or not iObj will be in scope in the if block because the right side of the & will not necessarily be evaluated.

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

Ну то есть вообще какая-то мегашиза. У него там тупо всё перевернуто с ног на голову.
Аноним 10/11/25 Пнд 00:21:00 3581728 450
>>3581727
Ну да, на стэке тоже говорят, что под капотом что-то специфически работает, но это довольно любопытно почему у Шилдта до сих пор написана такая шиза в книге. Но да ладно
Аноним 10/11/25 Пнд 00:30:48 3581733 451
image.png 111Кб, 1786x724
1786x724
>>3581727
>&& можно заменить на два вложенных if
Ну типа.
Но вряд ли там есть какая-то трансформация AST.
Аноним 10/11/25 Пнд 00:31:45 3581734 452
>>3581728
Просто надо писать на котлине, где есть смарткасты, которые все эти кейсы решают на изи.
Конечно джетбрейнс пидорасы, но язык хороший, жду когда его в апаче фаундейшн передадут/продадут
Аноним 10/11/25 Пнд 01:06:22 3581737 453
Чего такого интересного можно заимплементить на джаве? Вот вроде хочется прекратиться из aqa в разработку, но чёт что одно что другое такая духотища и че блять поменяется
Аноним 10/11/25 Пнд 01:52:37 3581744 454
>>3581741
Я в курсе, поэтому и говорю вряд ли. Хотя, вообще-то, может и не вряд ли, для foreach же вроде именно трансформация и используется, значит такие приколюхи в компиляторе есть.
Аноним 10/11/25 Пнд 03:49:30 3581751 455
Кому вообще & хоть раз пригодился? Зачем он нужен?
Аноним 10/11/25 Пнд 04:43:25 3581753 456
>>3581751
Я один раз читал, что & может пригодиться для случая, когда надо сделать конструкцию с if, при которой будут выполнены(вызваны оба метода/выяисленны оба выражения) оба условия.
К примеру, нужно обращаться по сети к двум штукам и получать ответ(зачем - уже не так важно), который переводится в boolean и далее если оба результата в виде boolean будут true, то делать какую-то фигню:
ToServA a=new ToServA();
ToServB b= new ToServB;
if(a.doQuery()&b.doQuery())
{...}


Таким образом будут сделаны два запроса, а не один, если бы там был &&.
10/11/25 Пнд 08:23:08 3581777 457
Аноним 10/11/25 Пнд 11:13:41 3581846 458
Погодите, джава-макаки действительно не знают что такое битовые операции?
Аноним 10/11/25 Пнд 12:03:22 3581881 459
>>3581751
чаще всего ты его встретишь при использовании битовых масок
Аноним 10/11/25 Пнд 12:04:05 3581882 460
>>3581846
Нет конечно. Мне как-то пришлось в прод код XOR засунуть.
Аноним 10/11/25 Пнд 14:14:49 3582014 461
>>3581753
>Я один раз читал, что & может пригодиться для случая, когда надо сделать конструкцию с if, при которой будут выполнены(вызваны оба метода/выяисленны оба выражения) оба условия.
Что является антипаттерном. Если нужно гарантировано выполнить оба бранча, надо явно вычислить значения, а потом уже делать логические операции.
В документации оператор & вообще указывается как битовый, а не логический хотя с boolean он работает
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html
Аноним 10/11/25 Пнд 14:17:29 3582018 462
>>3581846
Справедливости ради, в типичных крудах, над которыми работает 99% джавамакак, битовые маски пригождаются примерно никогда.
Аноним 10/11/25 Пнд 14:47:18 3582040 463
>>3581639
Ты совсем тупой? Если 1-ое ложно, нахуя вычислять второе? Результат всё равно ложный будет. Потому на него забивается хуй.
Аноним 10/11/25 Пнд 15:54:34 3582087 464
>>3581706
>>3582014
>В документации оператор & вообще указывается как битовый, а не логический хотя с boolean он работает
Совсем забыл! В JVM specification boolean отсутствует есть, но очень ограничено для массивов и полей класса а в байткоде все операции идут с int. Т.е. & работает с boolean потому что никакого boolean нет, а есть int. Т.е. для && реализована отдельная логика, а для & тот же код который работает с бытовыми операциями.
Аноним 10/11/25 Пнд 18:38:36 3582248 465
мужики какой язык кроме джавы знаете?
мимо всё таки начал учить C
Аноним 10/11/25 Пнд 18:44:40 3582251 466
Аноним 10/11/25 Пнд 18:45:37 3582252 467
Аноним 10/11/25 Пнд 19:04:49 3582268 468
Аноним 10/11/25 Пнд 19:17:11 3582283 469
>>3582251
>>3582252
уважение
>>3582268
выбирал между с/с++ и го, решил остановится на с чтобы понять что такое программирование вообще
Аноним 10/11/25 Пнд 19:20:29 3582288 470
>>3582283
молодец, если человек не знает что такое арифметика указателей хотя бы, то это не программист
Аноним 10/11/25 Пнд 19:27:21 3582296 471
>>3582288
благодарю, знать указатели/стек/кучу как минимум точно надо, пойду ковырять
бтв, пришёл к вам похвастаться, подняли зп!!!!, вместо 45к получаю 87к теперь!
Аноним 10/11/25 Пнд 19:28:32 3582298 472
>>3582296
В J2EE перекладываешь бины?
Аноним 10/11/25 Пнд 19:30:41 3582300 473
>>3582298
в vaadin перекладываю GridItem'ы и деплою проект путём замены WAR файла подключаясь по RDP к клиенту
ояебу какой неактуальный стек
Аноним 10/11/25 Пнд 19:34:31 3582306 474
>>3582300
Земля пухом, коллега
Год назад удалось съебунть с похожего проекта (правда увяз теперь в легаси банковском говне и не выбраться из-за ноу хаера)
Какждый раз когда слышу - vaadin, холодный пот выступает
Аноним 10/11/25 Пнд 19:40:42 3582312 475
>>3582306
ну вот в планах залутать 1.5 года опыта и уже что-то думать
в идеале перекатываться на ГО но 1.5 года это вообще не мидл
у нас ещё и никого старше нас нет, сидят 3 ебала, из которых у двух 2 года опыта, на этом всё
короче, кодовая база в ахуе наверное
Аноним 10/11/25 Пнд 19:43:25 3582316 476
>>3582300
>>3582306
Вот вопрос, у вас на этих гречневых проектах сидели деды(опционально, которые изначально это и написали)(типа мидлы-сеньки с двумя-тремя годами за деньги программирования)? И другой вопрос, как потом расписывать это говно в резюме, это же считай, что рнн в плане навыков, только деньги получал.
Аноним 10/11/25 Пнд 19:46:30 3582319 477
>>3582316
вообще да, на вопрос "чем занимался эти полгода, опиши самую интересную задачу" хуй отвечу скорее всего
проект описать смогу может ещё, а вот интересную задачу - точно нет
это печально шопиздец, придётся выдумывать
Аноним 10/11/25 Пнд 20:08:48 3582327 478
>>3582312
У меня сидел сенька 6 лет опыта только на этом проекте, получал мало, но почти в соло написал проект и врос в него яйцами, тип стал не заменимым, ему по тихноньку апали зп раз в пол года и он дуносил месяцами
Он же все это и написал
>>3582316
Я продержался год, потом крутанул год и устроился в галеру в банк, задачи либо придумывал либо барл у этого сеньки и пиздел что мои, устроился на 190к но прогадал и попал в такое болото, что жалею, что не поискал на месяц два побольше
Лютое говно ток без ваадина
И начался ноу хаер, так и сижу тут без апа зп и без апа скилов (тупо пару однотипных задач из раза в раз деалю)

Выучил го и попробовал себя в нем, прошел недавно все тех этапы в биг кек, а на финале обосрался как раз на вопросах про самые длинные сложные задачи, рассказал старую джуновскую, а натот грейд на который шел ее мало было
А новых сложных я не делал, лол
Аноним 10/11/25 Пнд 21:07:21 3582346 479
Аноним 10/11/25 Пнд 23:07:56 3582449 480
>>3582248
Haskell. А вкатывался вообще через шелы и tcl-tk.
Аноним 11/11/25 Втр 09:19:58 3582615 481
>>3582449
>tcl-tk
Сударь знает толк.
Аноним 11/11/25 Втр 15:47:31 3582851 482
>>3582615
Нулевые были суровым временем - мы вкатывались как умели.
Аноним 11/11/25 Втр 16:44:24 3582872 483
>>3582851
>Нулевые были суровым временем - мы вкатывались как умели.
Да в нулевые вкатиться было проще простого.
Аноним 11/11/25 Втр 17:07:15 3582879 484
>>3582872

Чел... про нулевые ирония ж была, ну емае.
Аноним 11/11/25 Втр 17:36:26 3582900 485
>>3582872
Хз, все так же вкатывались через говноработки, только теперь это "да ну, чего я пойду как в макдональдсе получать/да я на доставке больше сделаю", а тогда шли, вот собственно и вся разница.
Причём что самое забавное уже тогда говорили что ИТ всё и вкатиться невозможно. А через несколько лет ты узнавал что ВОТ ТОГДА была лафа, а теперь ИТ всё и вкатиться невозможно. И так каждые несколько лет.
Аноним 11/11/25 Втр 18:19:19 3582939 486
Стоит в вк траить собеситься?
В зепе плюс не особо большой.
Но банк настопиздел за 8 лет нахуй.
Аноним 11/11/25 Втр 18:19:24 3582940 487
>>3582900
>самое забавное уже тогда говорили что ИТ всё и вкатиться невозможно
Я так в 2011 дропнул вкат, лол, помню точно python 3.2 качал тогда, это 2011 год, начало. Читал ту самую dive into python вроде бы. В итоге несколько лет проебал на бесперспективных дноработах. Если не кабанистый, не продажник, без вышки, то кроме программирования ничего и не остается. Ещё есть рабочие специальности, но на то время это вообще не рассматривалось. Это сейчас можно на условный полиметал вкатиться, и то там вышку требуют, а тогда подобные места были как в той пасте сварщика гарика-релакса, по крайней мере в массовом сознании и моём тоже.
Аноним 11/11/25 Втр 18:37:39 3582954 488
>>3582940
но на этот раз ВСЁ
нейрокал победил
Аноним 11/11/25 Втр 18:39:47 3582957 489
>>3582954
>нейрокал победил
кого?
Аноним 11/11/25 Втр 19:20:00 3582984 490
Аноним 11/11/25 Втр 19:42:40 3583000 491
>>3582327
>устроился в галеру в банк
>прогадал и попал в такое болото, что жалею, что не поискал на месяц два побольше
>Лютое говно
Таааак а название банка случайно не связано с названием компании по добыче природных ресурсов, коллега?
помогите, чем угодно, но лучше спрингом...
Аноним 11/11/25 Втр 21:51:38 3583070 492
Сап аноны! Насколько тяжело и долго свичнуться с pyrhon на java? Я мидл бекенд, тут очень попросили хорошие люди помочь с поддержкой проекта на стеке java, spring boot, postgresql, синтаксис учил, в целом код читаю и понимаю что там написано, но опыт разработки есть только на python, на джаве опыта разработки нет. Почему не отказался, потому что хорошие знакомые попросили, объем работ небольшой, есть возможность просто потом сесть на поддержку и лутать ежемесячную небольшую плату изредка правя баги. На что обратить внимание? Буду рад вашим советам аноны, с меня как обычно два литра крепкого нихуя!
Аноним 11/11/25 Втр 22:51:35 3583101 493
Аноним 11/11/25 Втр 22:57:52 3583103 494
>>3582939
>вк
Контора пидорасов.
Аноним 11/11/25 Втр 23:13:24 3583112 495
>>3583070
Если ранее ты когда-то видел c++, то перейти на java будет легко.

Другое дело, что в java очень многое, что есть в c++, отсутствует.
Более того: нет тебе слияния массивов, работа со списками требует предварительно описать то, какого типа списки будут, лябда выражения как отдельный вид издевательств.

Но есть один плюс: не будет бед из-за того, что неверное число отступов или отступы разных знаков.
Аноним 11/11/25 Втр 23:41:18 3583124 496
>>3583112
Ещё в java уебанские шаблоны, которые очень сильно ограничивают, в отличие от плюсов
Аноним 12/11/25 Срд 00:00:44 3583127 497
>>3583112
>Если ранее ты когда-то видел c++, то перейти на java будет легко.
вообще ничем не поможет, будет только мешать, абсолютно разные парадигмы мышления должны быть
Аноним 12/11/25 Срд 01:16:57 3583139 498
>>3583124
Шаблоны(дженерики) действительно ужасные в java.
А ещё надо сказать вот что: java это очень урезанный c++: ни множественного наследования, ни возможности приводить ссылку к любому типу... Хотя в java есть целый пакет для рефлексии, но при любых более-менее значимых финтах ушами виртуальная машина выдает ошибку м все.
Аноним 12/11/25 Срд 01:59:45 3583143 499
>>3583000
Не, зеленый банк через галеру
Аноним 12/11/25 Срд 07:53:05 3583181 500
>>3583103
А кули делать.
Меня зовут собеситься только в банки, вк и хуянлекс.
Банки не вижу смысла я и так в нем.
Хуяндекс это говно.
Аноним 12/11/25 Срд 12:42:32 3583401 501
>>3583181
Тоже самое либо яша либо сбер/альфа
Сейчас в сбере и уже тошнит от этого дерьма, хочу в продукт нормальный не могу
Аноним 12/11/25 Срд 12:48:03 3583403 502
А что для record-ов (хотя бы) удобных литералов не завезли?
public record User(String id, String firstName, String lastName) {}
...
var user = new User("Vasya", "Pupkin", "123"); // ой

Чего-то вроде такого нет?
var user = new User { firstName: "Vasya", lastName: "Pupkin", id: "123" };

Какие есть костыли кроме билдеров и обёрточных типов для ситуации, крогда у record-а много полей одинакового типа?
Аноним 12/11/25 Срд 12:51:52 3583407 503
В банках очень грустно, я большую часть времени трачу на переписки, инфру, борьбу с отвалившимся легаси, борьбу с конфигами, ожиданием отвисания ВРМ, а на код немного.
Чувствую как отупел и тупею дальше, забывая то что знал.
А другой работы нет, вот так, приходишь сеньором, а уходишь джунлм, добро пожаловать в банк!
Аноним 12/11/25 Срд 12:54:15 3583412 504
>>3583403
Чел какие рекорды, хорошо если java 11 в банке есть, а на 17 там будет тройка микро пенисов с парой контролёров, тебе на этот рекорд похуй будет, это для laba1
Аноним 12/11/25 Срд 13:00:12 3583417 505
>>3583112
>Другое дело, что в java очень многое, что есть в c++, отсутствует.
Так в этом и и плюс, что меньше ебёшь себе мозги всякими r-value reference-ами, имплисит move конструкторами, и ошибками инстациирования шаблонов в рантайме. Какой вменяемый человек скажет "да, давайте побольше такого!"?
>Более того: нет тебе слияния массивов
Array.concat(arr1, arr2)?
>работа со списками требует предварительно описать то, какого типа списки будут
Нет, если тебе не нужна помощь статической типизации - просто объявляй Object[]
>лябда выражения как отдельный вид издевательств.
Необходимость указывать КАК и КАКИЕ параметры захватывает из контекста лямбда в с++, это я так понимаю ДРУГОЕ, верно? Совсем не издевательство.
Аноним 12/11/25 Срд 13:10:45 3583426 506
>>3583403
>Какие есть костыли кроме билдеров и обёрточных типов для ситуации, крогда у record-а много полей одинакового типа?
Груви
def s2 = [age: 36, name: 'mrhaki'] as Sample
Просто сделай отдельным модулем, и пиши все что требует сахара туда. По сахару груви даже круче котлина.
Аноним 12/11/25 Срд 13:26:37 3583441 507
>>3583403
не еби голову, юзай котлин
Аноним 12/11/25 Срд 14:30:53 3583482 508
>>3583070
По хорошему это дело нескольких месяцев, в принципе переходить с языка на язык в мейнстримных ЯП не сложно, когда у тебя есть опыт хоть какой-то.
Аноним 12/11/25 Срд 15:39:01 3583560 509
Аноним 12/11/25 Срд 15:43:02 3583562 510
>>3583407
да не нихуя.
я за 8 лет перекатывал стеки регулярно.
часто подгорает срачельник и приходится учиться
ну и эти ежегодные проверки грейда
впрочем мне сеньер+ хватает. дальше там надо выступления делать и статьи писать а мне западло. как и в тимлиды или техлиды идти. рот ебал за лишний полтос жопу рвать
Аноним 12/11/25 Срд 15:46:44 3583571 511
>>3583562
например текущий проект в котором я типа основной быдлокодер - уже полностью куберовый.

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

на прошлом был реактивный веб а на текущем все на ебаных евентах кафка на кафке и кафкой погоняет а рест только как подложка фронта минимально
Аноним 12/11/25 Срд 15:56:09 3583584 512
>>3583560
лет 5 назад когда я сюда чаще заглядывал тут было правило не перекатывать треды до упора

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

так что нахуй перекаты ящетаю
Аноним 12/11/25 Срд 16:14:45 3583600 513
>>3583407
Полтора года в банке, недавно был собес и я забыл как писать sql запросы, потому что мне sql приносит аналитик.
Доступы отваливаюcя, гига idea отваливается
Билды отваливаются

А больше никуда не зовут
Аноним 12/11/25 Срд 16:29:18 3583610 514
>>3583600
explain analyze тоже аналитик делает?
Аноним 12/11/25 Срд 16:35:08 3583617 515
Аноним 12/11/25 Срд 16:37:29 3583619 516
>>3583610
Не понял как связан навык написания sql и просмотр плана запроса?
Я делаю, но это не спасло ситуацию и на собесе я обосрался, просто потому что давно не писал sql
Аноним 12/11/25 Срд 16:40:55 3583623 517
>>3583619
ну то есть ты даж не знаешь зачем это делать
понятненько
поди и с базой через ЖПА работаешь?
Аноним 12/11/25 Срд 16:45:34 3583628 518
>>3583617
в перекаченом уже какие то волчары визжат
Аноним 12/11/25 Срд 16:45:58 3583630 519
>>3583623
Spark + jdbc, говорит тебе о чем-нибудь такая связка

Ты на вопрос то не ответил, как связаны редкие оптимизации и навык, который забылся
Запросы пишутся jooq`образным образом (если тебе это о чем-нибудь говорит)
Аноним 12/11/25 Срд 16:53:42 3583648 520
>>3583630
в прошом был у меня проект с пайплайнами спарка на кафке для мапредьюса на кассандре

я принципиально нахуй выкидываю все генераторы скл и пишу весь ручками
и сижу дрочу индексы под запросики и оптимизирую каждый запрос
Аноним 12/11/25 Срд 17:14:42 3583673 521
>>3583630
>jooq
говно
>выкидываю все генераторы скл и пишу весь ручками
уважуха
Аноним 12/11/25 Срд 17:44:04 3583709 522
Screenshot From[...].png 6Кб, 605x50
605x50
>>3583403

Бро, зырь сюда, смотри. На пальцах, по шагам:

1. Идешь в идею.

2. Два раза тапаешь shift

3. Вбиваешь Hints settings

4. Кликаешь exclude list

5. Удаляешь нахер все эти паттерны (ну или если интересно - подстраиваешь их под себя)

....

Все, ты красив и сексуален, как на пике. И никакой лишней писанины, не говоря о том, чтобы костылить синтаксический сахар в ЯП. Че еще надо?
Аноним 12/11/25 Срд 17:53:08 3583713 523
>>3583673
>>jooq
>говно

На чем сам запросы капчуешь?
Аноним 12/11/25 Срд 19:03:44 3583773 524
>>3583713
JdbcTemplate, много больших запросов у нас, где надо думать над джоинами, индексами и т д.
SQL охуенный язык для этого, лучше ничего не придумали.
Зачем его оборачивать в какой то dsl урезанный хз, пользы в этом не вижу
Аноним 12/11/25 Срд 22:05:50 3583915 525
>>3583773
>JdbcTemplate
пиздец как путаюсь в этих всех spring data spring jpa jdbc jdbctemplate hibernate hibernate native query что когда применять хуй поймёшь
Аноним 13/11/25 Чтв 02:53:02 3583988 526
>>3583773
И в каком же таком месте Jooq тебе диалект урезал?

...лишь бы доебаться.
Аноним 13/11/25 Чтв 04:07:54 3583993 527
>>3583773
С переходом к импортозамещенному постгресу это лучшее решение для спринга.
Раньше на базанейм изза кривых jdbc драйверов которые хуево работали с метаданными для резальтсетов приходилось вообще голый ждбц юзать.

Дада прям в автоклозаблах из хикаридатасорса дергать конекшен, препарить стейтмент, маппить параметры а потом обрабатывать резальтсеты.
Аноним 13/11/25 Чтв 04:14:56 3583996 528
>>3583993
Это конечно деанон по базанейм.
Но у одной базанейм настолько ебаные ждбц драйвера, даже для 4 ждбц, что они тупо в метаданных резальтсетов виесто алиасов из запроса хуярили реальные колумн неймы нахуй. И ждбц темплейт в роумаппере никуя не видел нужных колонок.

У постгреса ждбц друвира норм. Прям можно кайфовать
Аноним 13/11/25 Чтв 11:29:49 3584093 529
>>3583988
Там есть поддержка хотя бы популярных оконных функций?
Если и есть, то через дсл это будет выглядеть ужасно.
sql - охуенный мощный язык, зачем его оборачивать в какой-то дсл?
Дсл для макак, которым голый sql сложнаааа.
Но или если запросы чисто вставить и достать.
Аноним 13/11/25 Чтв 11:50:38 3584118 530
>>3584093
Потому взял захотел и обернул
Как же меня заебали уебки в любом из тредов в любой из тематик, которые берут что-то и говорят, что если кто-то так же не делает, то он лох
Я беру свой маленький член и засовываю каждому из самоутверждающихся додиков за щеку
Просто потому что так хочу
ВСЕ
Аноним 13/11/25 Чтв 11:57:38 3584128 531
>>3584118
Профит от дсл то какой? Мне и моей команде дсл усложняет логику тем, что добавляется бесполезная прослойка.
Если ты используешь что-то просто потому что тебе это нравится и без какого либо обоснования, то ок
Аноним 13/11/25 Чтв 12:06:59 3584146 532
изображение.png 262Кб, 1830x844
1830x844
>>3584093
азаза
даже инсерты делаю через jdbctemplate
нахуя тащить что то еще ради этого
Аноним 13/11/25 Чтв 13:32:11 3584248 533
>>3584093
>Там есть поддержка хотя бы популярных оконных функций?
>Если и есть, то...

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

Че тебе еще сказать. Спасибо что не хубернейт, хули.
Аноним 13/11/25 Чтв 14:00:39 3584276 534
>>3584248
>пук
Хз, нахуй ты это высрал.
По делу есть че?
Аноним 24/11/25 Пнд 12:27:54 3591808 535
image.png 293Кб, 1588x1126
1588x1126
>>3582306
Вот чем вам не нравится Vaadin, объясните? Я не тролль.
По мне так удобно для быстрого написания админок и т.п.
И ещё сложные формы удобно весьма.
Аноним 25/11/25 Втр 19:06:11 3592697 536
>>3591808
это до твоего первого TreeGrid
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов