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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 541 42 98
Java Thread №282 /java/ Аноним 18/05/25 Вск 19:28:43 3457776 1
e2866894-9805-4[...].png 1547Кб, 1024x1024
1024x1024
Аноним 18/05/25 Вск 21:26:58 3457824 2
качусь - неистово
мечта - попасть на стажировку работу
Аноним 19/05/25 Пнд 04:22:44 3457962 3
1. Инфраструктура на будущее не нужна и запрещена. Всё равно придётся ломать API. Боль от миграций надо уменьшать другими способами (LTS версии, конвертаторы кода, методы-прокладки, shading, etc.)
&
2. Ни единого дубликата кода быть не должно. Дубликация кода это не рациональное решение, это нехватка мозгов для его исправления.

Переваривайте.
Аноним 19/05/25 Пнд 04:38:20 3457963 4
>>3457776 (OP)
А как вы вообще на работу устраиваетесь на жабе? ИДЕ и нейронка сейчас пишет весь код за программиста, джуны не нужны в принципе.
Да и сама жаба вскоре отпадет, когда в контекст нейронки можно будет запихнуть весь проект на миллиарды строк кода и она за секунду выдаст код на современном языке типа голанга.
Аноним 19/05/25 Пнд 04:40:12 3457964 5
>>3457963
>Да и сама жаба вскоре отпадет, когда в контекст нейронки можно будет запихнуть весь проект на миллиарды строк кода и она за секунду выдаст код на современном языке типа голанга.
Не забывай про ежедневный приём таблеток.
Аноним 19/05/25 Пнд 04:56:39 3457968 6
>>3457962
Чтобы убрать полностью дубликацию кода надо сделать систему типов очень мощной и разрешить жаванам делать очень много всякого. Неглупые люди сверху на это не пойдут. Они же понимают, кто такие жаваны и насколько им опасно давать такие инструменты.

Без этого дубликация в той или иной степени все равно будет, терпим..
Аноним 19/05/25 Пнд 04:59:47 3457970 7
>>3457968
По моему проблема в прокладке между сидушкой и монитором. Система типов джавы вполне себе мощная.
Аноним 19/05/25 Пнд 07:40:13 3458002 8
Аноним 19/05/25 Пнд 09:21:29 3458025 9
>>3458002
В тебе нет kind, богомерзкое школоотродье.
Аноним 19/05/25 Пнд 10:07:54 3458050 10
Аноним 19/05/25 Пнд 10:11:01 3458053 11
>>3458050
Ну так по существу будет что-то, дегенерат, или опять слился опозорився на весь тред?
Аноним 19/05/25 Пнд 10:56:06 3458073 12
image.png 24Кб, 550x279
550x279
>>3458053
Я же уже сказал, что тебе еще надо? Без kind у тебя нет четкой разницы между контекстом и значением, иначе говоря коллекции и значения - это одно и то же. Что из этого следует, ты не можешь сделать метод, который абстрагируется не по значению, а по тому, что его как бы хранит.
Типа того:
<A, B, F> F<B> functor(F<A>, Function<A, B> f);

Также без kind у тебя есть только крайне ограниченные интерфейсы, а не тайпклассы.
Аноним 19/05/25 Пнд 10:57:04 3458074 13
>>3458073
Таблетки. Это шизофазия.
Аноним 19/05/25 Пнд 11:43:48 3458102 14
image2025-05-19[...].png 48Кб, 703x589
703x589
image2025-05-19[...].png 128Кб, 633x672
633x672
>>3458074
Ну это базовый уровень. Функтор фактически интерфейс для функции map любой коллекции.
Потом идет развитие из функтора в аппликативный, если раньше функтор принимал чистую функцию и обернутое контекстом значение, а потом сливал их, то теперь он берет обернутую контекстом функцию и обернутое контекстом значение. Ключевая разница в том, что теперь сливаются два контекста.
<A, B, F> F<B> applicative(F<A> v, F<Function<A, B>> f);
Третье и финальное развитие - это bind. Когда на входе чистая функция, которая в итоге оборачивает результат в контекст и значение в контексте. Bind по сути берет и вытаскивает из контекста значение и передает этой функции, получая еще один контекст.
<A, B, F> F<B> bind(F<A> v, Function<A, F<B>> f);
<A, F> F<A> pure(A a);
Пример в жабе, это map - https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html#map-java.util.function.Function-
это bind - https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html#flatMap-java.util.function.Function-
Тогда Functor - это интерфейс для map, а Monad интерфейс для bind, ну и еще pure.
Как вершина, типы позволяют изолировать ресурсы, создавая сколемы - https://thoughtsfactorial.com/posts/2021-08-07-the-st-trick/
В виде картинок, может понятнее будет - https://www.adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html

В контексте повторения кода, нам бы не пришлось писать одинаковые функции для коллекций, разница которых только в том, какая именно коллекция на входе. Также stream выглядел бы гораздо лучше и позволял бы гораздо больше.
И потом последнее - это трансформеры монад, которые как бы позволяют объединять эффекты разных монад. Скажем список, который имеет постоянное значение (Reader monad) или имеет возможность сделать исключение (throw). И это позволило бы еще меньше дублировать кода, типа дебильные проверки на null, throw/catch многкратно проще писать функции, которые работали бы универсально и прочее прочее.
Аналоги в скале:
https://typelevel.org/cats/typeclasses/functor.html
https://typelevel.org/cats/typeclasses/applicative.html
https://typelevel.org/cats/typeclasses/monad.html
https://scalabook.ru/typeclass/monad/monad-transformer.html
Аноним 19/05/25 Пнд 23:06:25 3458333 15
>>3457968
Чел, что ты несешь. Для систем-типов-enjoyеров уже всю дорогу существовала скала, которая жила-жила, да так и померла. Какие нахуй неглупые люди...

Всем давно и плотно похуй на дубликацию кода. Программисты необучаемые блять - косплеят жалкие косплеи на ФП да переизобретают одно и то же по тыще раз, называя это развитием. Никакой теории заговора не надо.
Аноним 19/05/25 Пнд 23:16:50 3458335 16
>>3457968
>>3458333

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

Чтобы эффективно работать в мощной системе типов, надо уметь мыслить абстракциями. А для этого надо чтобы мозг иметь хотя бы чуток прокачанный в математический уклад, чтобы не выпадать в осадок от пресловутых названий артефактов из терката. А таких людей не то чтобы много. На порядки меньше чем лоускильных квадратногнездовых промптеров. Поэтому джава именно такая, какая есть. Живи с этим.
Аноним 20/05/25 Втр 01:22:19 3458369 17
>>3458335
Так это не я же предлагал убрать дубликацию, я наоборот согласен с тобой, что это не баг, а фича жабы.
Все правильно делают, жаванам ничего доверить низя, что явно показывает история с unsafe
Аноним 20/05/25 Втр 07:00:22 3458395 18
>>3458335
чел, индустрии надо чтобы чем более лоускильная макака может высирать рабочий код - тем лучше. Тем продукты дешевле и маржа больше.
Нахуй никому не нужен твой пердолинг и вышмат, он денег не приносит
Аноним 20/05/25 Втр 12:53:05 3458580 19
>>3458395
Я буквально к тому же и клоню.

Мне то похуй, я джавой зарабатываю, хаскель штудирую по приколу. Зато теперь официально могу каждого спрингодаунга называть лоускилльной макакой.
Аноним 20/05/25 Втр 13:17:54 3458598 20
>>3458580
> Зато теперь официально могу каждого спрингодаунга называть лоускилльной макакой.

Это как-то повлияло на твой доход?
Аноним 20/05/25 Втр 16:14:23 3458780 21
>>3458102
Я так вижу ты таблетки не принял. Слив засчитываю?
Аноним 20/05/25 Втр 16:16:43 3458784 22
>>3458335
>>3458580
О каких скиллах ты говоришь, если ты не способен в базовое изложение своей мысли? Не говорю даже о том что ты не осилил даже систему типов джавы. Ты тупой дегенерат, гиперкомпенсирующий это самоудовлетворениями через рассказы твоей мамки что раз никто тебя не понимает то ты самый умный.
Аноним 20/05/25 Втр 16:18:20 3458785 23
>>3458598
Причём тут доход? Он просто тупой. Не в доходах дело, особенно учитывая что в нашем мире интеллект с доходами коррелирует слабо.
Аноним 20/05/25 Втр 16:45:52 3458815 24
>>3458598
Да. Залутал себе недавно повышение, после того, как в одиночку в полу-функциональном стиле переписал лагающий как говно сервис, который стайка промытых дебилов не могла год (!) оптимизировать. Теперь их зарплаты принадлежат мне, хехе.
Аноним 20/05/25 Втр 16:54:01 3458831 25
>>3458815
>в функциональном стиле
>оптимизировать
Выбери что-то одно.

> Теперь их зарплаты принадлежат мне, хехе.
Если отойти от того что вся эта история пиздёж который палится на банальном непонимании вообще всего, что можно понимать, можно проиграть с веры в святой срыночек. На полном серьёзе думать что в такой ситуации, даже в случае повышения, а не простого "спасибо", 98% дополнительной прибыли не забрал бы себе кабан, а маняоптимизатор не получил бы на рыло +10к к зп?
Аноним 20/05/25 Втр 16:55:02 3458832 26
>>3458784

>базовое изложение своей мысли

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

>Не говорю даже о том что ты не осилил даже систему типов джавы.

Дюже интересно, на основании чего ты сделал такой вывод
Аноним 20/05/25 Втр 16:58:48 3458837 27
>>3458832
> редактуры
Какой редактуры? Это шизофазия. Смысла в этом нет. Это не редактура.

> Дюже интересно, на основании чего ты сделал такой вывод
На основании того, что система типов джавы всеобъемлющая, а тебе её внезапно не хватило для чего-то, что намекает на вывод о том что тебе не хватило лишь мозгов.
Аноним 20/05/25 Втр 16:59:34 3458843 28
>>3458831
>Выбери что-то одно.

Ну говорю же - промытка. Все, иди уже траву трогать

>веры в святой срыночек

Зачем верить. Оклад жирно подняли - чек. Лычку до арха подняли - чек. Дебилов на мороз выгнали - чек. А то что кабан там свои сверхплибыри получает - мне похуй. Заглядывать в чужой карман - удел инфантилов и коммуняк в острой стадии.
Аноним 20/05/25 Втр 17:00:53 3458844 29
>>3458837
И где я говорил что мне системы типов джавы не хватает?

Я вообще то наоборот говорил что система типов избыточна для среднестатистического джавана
Аноним 20/05/25 Втр 17:03:05 3458847 30
>>3458843
> Ну говорю же - промытка. Все, иди уже траву трогать
Слив засчитан.

> Зачем верить. Оклад жирно подняли - чек. Лычку до арха подняли - чек. Дебилов на мороз выгнали - чек. А то что кабан там свои сверхплибыри получает - мне похуй. Заглядывать в чужой карман - удел инфантилов и коммуняк в острой стадии.
Жирно это с безумных 150к до фантастических 200к? Лул.

>>3458844
>>3458002
Аноним 20/05/25 Втр 17:10:25 3458862 31
>>3458844
Даже не так. Ещё забавнее. Вот. >>3457970. Тупой дегенерат, непреклонно верующий в свою умственную исключительность (что правда, только в обратную сторону), порвался с того что ему сказал что он тупой дегенерат раз повторяет писанину свою и начал обвинять монитор и сидушку в проблемах прокладки между ними.
Аноним 20/05/25 Втр 17:10:54 3458864 32
Аноним 20/05/25 Втр 17:13:24 3458870 33
>>3458847
>>3458862
>>3458864

>Даже не так. Ещё забавнее. Вот. >>3457970.
>Упс, не тот пост процитировал. >>3457968

Мань, это не я. Буквально три раза - мимо. Вот здесь я вступил в ваш срач смешной (>>3458333 как ответ на >>3457968).

Пиздец все таки ты двачер, я ебал...
Аноним 20/05/25 Втр 17:15:43 3458873 34
>>3458870
Что карактерно, функтор-фаг (>>3458369) сразу адекватно отшутился и ушел в закат. А ты рвешься полтреда. Сходи на улицу, сходи, малой - трава тебя ждет.
Аноним 20/05/25 Втр 17:18:02 3458878 35
>>3458780
У меня нет диагноза, чтобы пить таблеточки. Тебе судя по всему виднее.. Какие посоветуйте?
>>3458847
Это разные люди, це ми >>3458002 .
Впрочем и я тоже не топил, что в жабы нужна прям мощная система типов. Нет, ЕСЛИ нужно убрать дубликацию кода, то надо сделать Х.
Но мне лично никак не мешает дубликация и бойлерплейт, чего я очень много раз тут писал. Напоминаю дежурно - лобок говно.

Для спрингозависимых, я считаю, что дубликация была, есть и будет и для жабы это норма. Если тебя не устраивает, единственный вариант - терпеть. Если читать не попой, то ты не найдёшь противоречий.
Аноним 20/05/25 Втр 17:20:12 3458885 36
>>3458870
>>3458873
Тупое семёнство тебя не особо спасает здесь. Не понимаю вообще о чём ты начал спор.

> систем-типов-enjoyеров уже всю дорогу существовала скала
подразумевает что скала чем-то лучше джавы в плане типов
Аноним 20/05/25 Втр 17:22:15 3458887 37
>>3458878
> нет ты таблетки нет ты
Ясн. Слив.

> Впрочем и я тоже не топил, что в жабы нужна прям мощная система типов. Нет, ЕСЛИ нужно убрать дубликацию кода, то надо сделать Х.
> Но мне лично никак не мешает дубликация и бойлерплейт, чего я очень много раз тут писал.

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

>Напоминаю дежурно - лобок говно.
А я в ответ проигрываю дежурно с дегенерата который оправдывает бойлерплейт от своих кривых рук инструментами и рвётся от решения последних проблем этих инструментов, ведь оправданий своим кривым рукам больше вообще не остаётся.
Аноним 20/05/25 Втр 17:25:28 3458889 38
>>3458885

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

>подразумевает что скала чем-то лучше джавы в плане типов

А ты решил по этому поводу чтоли поспорить? Малой, остановись - не загоняй себя в залупу...
Аноним 20/05/25 Втр 17:26:50 3458891 39
>>3458889
> А ты решил по этому поводу чтоли поспорить? Малой, остановись - не загоняй себя в залупу...
Я как бы с самого начала именно по этому ссал долбоёбу которому яйца танцевать мешают на рожу.
Аноним 20/05/25 Втр 17:33:48 3458899 40
Аноним 20/05/25 Втр 17:35:57 3458901 41
>>3458899
Первый пост требует пояснений. Все остальные констатируют то что пост на который был дан ответ бессмысленен.
Аноним 20/05/25 Втр 18:20:38 3458943 42
мужики скажите а когда у меня будет работа
Аноним 20/05/25 Втр 18:23:15 3458947 43
>>3458943
Никогда. Здесь ни у кого из активно пищущих в треде кроме меня работы нет. Потому что IT уже давным давно всё.
Аноним 20/05/25 Втр 18:25:04 3458949 44
image.png 35Кб, 632x276
632x276
image.png 10Кб, 666x178
666x178
image.png 9Кб, 678x131
678x131
>>3458887
>нет ты
Да сдался ты мне. Я ж собой интересуюсь, какой диагноз и тд.
>рвётся от решения последних проблем
Мы говорим об инструменте, который не может для дочернего класса-имплементации сгенерить конструкторы или сделать хоть что-то с рекордом/совместить гет и сет. Это якобы решение сплошь и рядом пронизано какими-то дебильными ограничениями. И бойлерплейт из одной области - поля класса, перетекает в область анноташек. Открываешь класс, а он весь желтый блять. Четка.
Аноним 20/05/25 Втр 18:30:50 3458952 45
>>3458949
> Да сдался ты мне. Я ж собой интересуюсь, какой диагноз и тд.
Я не психиатр, я программист. Хотя могу предположить что тебя в детстве били, какие таблетки против этого не ебу.

> Мы говорим об инструменте, который хрю пук хрю пук
>1
Композицией воспользуйся, делов-то. Или билдером. Не велика проблема и точно не делает ВЕСЬ ломбок говном.

>2
Ты какие ещё геттеры аннотации добавлять собрался?

>3
Нахуй тебе геттеры рекорду, шизяра?

> Открываешь класс, а он весь желтый блять. Четка.
Тебя жёлтые в детстве выебали?
Аноним 20/05/25 Втр 18:52:20 3458969 46
>>3458952
>Или билдером
Билдер не дает гарантии, что все обязательные поля будут хоть чем-то заполнены. Т.е. скажем добавил я поле и потом надо искать через using все это и добавлять везде, в случае конструктора - ошибка компиляции.
>Композицией воспользуйся
Мне иерархия нужна. Ты не видишь, что это event? Мне нужны супертипы, для слушателей типа логгеров.
>Ты какие ещё геттеры аннотации добавлять собрался?
Я хочу совместить две аннотации лобка в одну общую. Чтобы я не ставил @Getter @Setter, а просто @GetSet. Ну это в самом простом случае. Ишью с 15 года для этого - https://github.com/projectlombok/lombok/issues/557
>Нахуй тебе геттеры рекорду, шизяра?
Допустим существует древнее говно, которое не поддерживает fluent getter.

>Я не психиатр
Ну и не ставь мне диагнозы. Мне неприятно.
Аноним 20/05/25 Втр 19:24:55 3458995 47
>>3458969
> Ну и не ставь мне диагнозы. Мне неприятно.
Не нужно быть психиатром, чтобы понять наличие психических заболеваний. Психиатром нужно быть чтобы их по психиатрическим нормам классифицировать.

> Я хочу совместить две аннотации лобка в одну общую. Чтобы я не ставил @Getter @Setter, а просто @GetSet. Ну это в самом простом случае. Ишью с 15 года для этого - https://github.com/projectlombok/lombok/issues/557
Ну пиздец уписался бойлерплейта, лишнюю аннотацию повесил. Ещё претензии к лобку будут?

> Мне иерархия нужна. Ты не видишь, что это event? Мне нужны супертипы, для слушателей типа логгеров.
Зачем тебе иерархия для ивентов? Ты про мультиколл, например слушаешь AbstractFoo, а тебе прилетает FooZalupnii и FooBanketnii? Это респонсибилити шины ивентов, где нужен альтернативный наследованию способ реализации мультиколла.

> Допустим существует древнее говно, которое не поддерживает fluent getter.
Так и рекордом тогда не пользуйся.
Аноним 20/05/25 Втр 19:58:54 3459016 48
image.png 45Кб, 630x353
630x353
>>3458995
>чтобы понять наличие психических заболеваний
Еще раз. Мне неприятно. Делай мне приятно, в чем ваша проблема???
>лишнюю аннотацию повесил
Не утрируй. У меня по пять аннотаций минимум, начиная с гетсет, заканчивая акцессорами и филддефолтами.
Вот какую себе задачу ставит лобок? Убрать бойлерплейт и он с ней не справляется, просто перенося этот бойлерплейт в анноташки. Может это и короче, но шило на мыло. И с кучей исключений, когда случай сложнее pojo.
>где нужен альтернативный наследованию способ реализации мультиколла
Пример давай. Я просто пик хуйнул. Вчом я неправ
>Так и рекордом тогда не пользуйся.
Нет, хочу рекорд. Его оракл больше любит и добавляет ему нескучные фичи.
Аноним 20/05/25 Втр 20:04:02 3459020 49
>>3459016
> Еще раз. Мне неприятно. Делай мне приятно, в чем ваша проблема???
Ну заплачь, дегенерат.

> У меня по пять аннотаций минимум, начиная с гетсет, заканчивая акцессорами и филддефолтами.
Это ты утрируешь, лол.

> Убрать бойлерплейт и он с ней не справляется,
Справляется. Есть дырки просто где он не убирает ВЕСЬ бойлерплейт, но это мизер.

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

> Нет, хочу рекорд. Его оракл больше любит и добавляет ему нескучные фичи.
Придётся без нескучных фич.
Аноним 20/05/25 Втр 20:24:33 3459031 50
>>3459020
>Ну заплачь
Я и заплачу, ты че думаешь, хех..
>но это мизер
В моих юзкейсах обычно или лобок принципиально становится бесполезен иба слишкам сложна или наоборот, просто все в этих аннотациях..
Золотой середины просто нет, ты или терпишь или терпишь.
>Какой ещё пример?
Ну создается событие в spring-event. Я хочу его подслушать, для целей логгирования. Создавать для каждого события отдельный подслушиватель глупая затея, вот делаю централизовано - по иерархии классов просто подслушиваешь и усе. Потом порядок задается с помощью BEFORE_COMMIT и AFTER_COMMIT. Удобно.
Ты говоришь, что это неправильно. Как правильно?
>Придётся без нескучных фич.
Ну придется без лобка. Пошел он нахуй, правила мне навязывать.
Аноним 20/05/25 Втр 20:29:44 3459035 51
>>3459031
> В моих юзкейсах обычно или лобок принципиально становится бесполезен иба слишкам сложна или наоборот, просто все в этих аннотациях..
> Золотой середины просто нет, ты или терпишь или терпишь.
Могу предположить что юзкейсов у тебя значит вообще не было и ты экстраполируешь какое-то теоретическое тыканье. Я пишу кода дохуя, лобка хватает, иногда терпеть приходится конечно, но хули нам джаванам не особо часто это встречается и точно не чтобы отказываться от лобка от этого.

> Ну создается событие в spring-event. Я хочу его подслушать, для целей логгирования. Создавать для каждого события отдельный подслушиватель глупая затея, вот делаю централизовано - по иерархии классов просто подслушиваешь и усе. Потом порядок задается с помощью BEFORE_COMMIT и AFTER_COMMIT. Удобно.
> Ты говоришь, что это неправильно. Как правильно?
Это и есть мультиколл. Мультиколл должен быть отделён от иерархии в том числе по этой причине (а вообще там миллион причин почему и когда не нужна иерархия, но нужен мультиколл).

> Ну придется без лобка. Пошел он нахуй, правила мне навязывать.
"сгорел сарай, гори и хата"? Чем мешает это тебе использовать его за исключением этого странной надуманной ситуации где тебе внезапно нужны обозначенные словом гет методы в рекорде?
Аноним 20/05/25 Втр 20:49:33 3459042 52
image.png 18Кб, 1149x247
1149x247
>>3459035
>юзкейсов у тебя значит вообще
Ну конечно не было, ты же лучше меня все знаешь, какой код я писал, что занимаюсь, какое у меня хобби, где работаю.
>Мультиколл должен быть отделён от иерархии
Я не понимаю, что ты имеешь ввиду.
> за исключением этого странной надуманной
Всяко лучше выкидывания рекорда, для того чтобы удолетворить требования лобка. Впрочем похоже, если отдельно на каждый параметр геттер накинуть, то все ок. Звучит логично, конечно, а не как дебильная хрень.
Аноним 20/05/25 Втр 21:48:20 3459061 53
>>3459042
> Ну конечно не было, ты же лучше меня все знаешь, какой код я писал, что занимаюсь, какое у меня хобби, где работаю.
Я тебе показал причины по которым я это считаю.

> Я не понимаю, что ты имеешь ввиду.
Отвязка вызова множества ивентов через одну точку от иерархии.

> Всяко лучше выкидывания рекорда, для того чтобы удолетворить требования лобка.
Ты в первую очередь пытаешься удовлетворять требования какой-то легасной хуйни которой ОБЯЗАТЕЛЬНО нужно иметь метод названный через get. У неповески геттера на рекорд есть причины — нахуй тебе геттеры в рекорде где они уже генерируются? Впрочем можешь попробовать скомпилировать, мб это вообще баг плагина для жидеи чисто.
Аноним 20/05/25 Втр 22:13:43 3459069 54
image.png 37Кб, 1087x320
1087x320
image.png 20Кб, 440x369
440x369
>>3459061
>от иерархии
Нет, а как ты это сделаешь? Под каждый event отдельный подслушиватель, который вызывал бы общий метод для логгирования или че? Ну заебно писать 100500 методов. Или их маркируют как-то..
>пытаешься удовлетворять требования какой-то легасной хуйни
Это совершенно другое, тебе не понять.
>есть причины
Например? Чтобы меня побесить? И это не баг жидеи
Аноним 20/05/25 Втр 22:26:10 3459073 55
>>3459069
> Нет, а как ты это сделаешь? Под каждый event отдельный подслушиватель, который вызывал бы общий метод для логгирования или че? Ну заебно писать 100500 методов. Или их маркируют как-то..
Создаётся метаивент и добавляются методы конвертирования в этот метаивент. Слушается метаивент. Конечно должна быть поддержка этого со стороны шины ивентов, например автоматическая конвертация по той же иерархии или по полям при эксплицитном объявлении. Без поддержки платформы тоже можно, хоть ты правда и сказал заёбно, но 100500 надо писать не под каждую задачу, а под каждый метаивент, что на уровень меньше.

> Например? Чтобы меня побесить? И это не баг жидеи
Я же буквально в том же посте сказал её...
Аноним 20/05/25 Втр 22:34:29 3459074 56
image.png 281Кб, 550x412
550x412
>>3457776 (OP)
>Java Thread №282 /java/
>УК РФ Статья 282. Возбуждение ненависти либо вражды, а равно унижение человеческого достоинства
приватные поля и память. Аноним 21/05/25 Срд 10:56:51 3459295 57
Допустим, что есть такие два класса(каждый в своем отдельном файле):

public class AClass{
private int qwe;
public int get(){return this.qwe;}
public void set(int ewq){this.qwe=ewq;}
}

public class BClass extends AClass
{
public BClass(){}
}


Вопрос: когда я делаю вот так:
BClass b=new BClass();
b.set(1234);
System.out.print(b.get()+"\n");

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

Верно ли я понимаю, что private не означает, что у наследника не будет выделена память под поле qwe?
Аноним 21/05/25 Срд 11:09:19 3459305 58
>>3459295
>не будет выделена память
Мне всегда было интересно, а откуда берутся эти попытки понять, как же там работает рантайм, что и кто выделяет память.

Понимаешь, это не твоего ума дела и зависит от реализации. Нахуя вы в это лезете..
А потом вылезают ахуительные рассуждения во всех источниках, что ну на самом деле волатайл кэши очищает, ага ага. Губами очищает
Аноним 21/05/25 Срд 12:17:07 3459341 59
>>3459295

Нет не должен, ты же определил приватным поле, а не методы работы с ним. Значит ты так задумал:

1) Непосредственно к полю обратиться нельзя

2) К полю можно обратиться только через предоставленные мною методы

То что твои методы так реализованы, что по функционалу это тоже самое что если бы ты поле сделал публичным - это уже твоя проблема, проблема твоей бизнес логики.
Аноним 21/05/25 Срд 17:59:31 3459680 60
Почему я вижу сообщения от анонов которые говорят что не надо учить джава? ПОЧЕМУ ВЫ ЗАДРОТЫ ПОЗВОЛЯЕТЕ ЭТО ДЕЛАТЬ, ВЫ ЧТО ЗРЯ ИЗУЧАЛИ ЭТОТ КОД? АААААААА???
Аноним 21/05/25 Срд 18:18:51 3459694 61
>>3459680
>ВЫ ЧТО ЗРЯ ИЗУЧАЛИ ЭТОТ КОД?
Так это когда было. Сейчас джава уже мертва, как и вся индустрия. Не лезь в это, уже слишком поздно.
Аноним 21/05/25 Срд 18:24:25 3459704 62
>>3459694
у меня пути назад нет, что делать?
мимо студент
Аноним 21/05/25 Срд 18:27:08 3459705 63
>>3459704
>у меня пути назад нет
В плане? Начиная с того, что ты можешь поменять специалитет, заканчивая службой. Путь всегда есть. Впрочем слушать здешних нытиков и терпил по поводу работы - себе дороже. Это как инцелов всерьез воспринимать.
Аноним 21/05/25 Срд 18:53:00 3459720 64
Вы какие то дурачки бля реально, вроде язык чисто jsonы перекладывать, а так ебетесь, как будто аполло13 запускаете

Мимо автотестер
Аноним 21/05/25 Срд 21:06:46 3459783 65
>>3459694
>Сейчас джава уже мертва
А как там разработка для android?
Аноним 22/05/25 Чтв 05:13:57 3459924 66
>>3457776 (OP)
Как в принципе писать на джаве в 2к25, чтобы не страдать от нпе и килотонн кода?
Аноним 22/05/25 Чтв 07:50:55 3459954 67
>>3459924
Писать нормальный код.
Аноним 22/05/25 Чтв 09:01:18 3459983 68
>>3459924
>писать на джаве в 2к25
Проиграл.
Аноним 22/05/25 Чтв 09:38:39 3459995 69
>>3459983
>гет сет вжжж
Не расслышал.
Аноним 22/05/25 Чтв 10:05:34 3460007 70
>>3459705
Почти дошел до собесов, получается все зря??
Аноним 22/05/25 Чтв 10:20:45 3460019 71
>>3460007
>Почти дошел до собесов
Дружище, ты или троллишь или не понимаешь как устроен рынок
Аноним 22/05/25 Чтв 10:28:21 3460024 72
>>3460019
Объясни, я туповатый. понимаю только что собесы это ебучая лотерея
Аноним 22/05/25 Чтв 10:34:35 3460029 73
>>3460024
Ну я к тому, что твои знания ничего не стоят пока ты не получил оффер. У тебя возможностей как у волка с 0 знаний
Аноним 22/05/25 Чтв 10:37:05 3460032 74
>>3460029
Ну это я понимаю
я и есть волчара
Аноним 22/05/25 Чтв 11:00:39 3460052 75
А можно в жабатредике обсждать жабку? Вот перенсите ваше обсуждение в мвп пж, там сидите, сритесь до посинения, кто волк, кто терпила, кто грефу пятки лижет, мертв ли вкат, жив ли и тд.
Аноним 22/05/25 Чтв 11:01:49 3460053 76
>>3460052
Двачую, ток непонятно, что тут обсуждать, жаба же мертва.
Аноним 22/05/25 Чтв 11:15:53 3460059 77
>>3460052
Тогда жаба тред умрёт. Жаба тред это уже давно адекватный вариант мвп треда без буйных щитпостеров.
Аноним 22/05/25 Чтв 11:23:55 3460067 78
>>3460059
>без буйных щитпостеров
Шиз с графиками здесь постоянно обитает.
Аноним 22/05/25 Чтв 12:20:55 3460103 79
Парни, я ничего не знаю про webflux и кубернейтс. Надо это до собеседований доузнавать как-то? Или про это не будут спрашивать?
Аноним 22/05/25 Чтв 14:52:55 3460230 80
>>3460103
Нахуя ты на двач то идешь с этим вопросом? Ты вакансии читаешь вообще, перед тем как на собес кринжевать идти? Там тебе черным по белому пишут скиллы, ожидаемые от кандидата, включая список технологий.
Аноним 22/05/25 Чтв 18:12:13 3460374 81
1742380710672-l[...].jpg 28Кб, 1200x600
1200x600
а какие есть аналги андройд студии но попроще?
Аноним 22/05/25 Чтв 18:22:56 3460378 82
17451750228800.jpg 202Кб, 640x640
640x640
Как у вас всех дела ?
Аноним 23/05/25 Птн 01:33:42 3460576 83
>>3459720
так в аполло 13 тоже перекладывали жсоны, только иногда в ручном режиме
Аноним 23/05/25 Птн 08:44:22 3460637 84
>>3460576
Весь мир это - жсоны, а мы их перекладываем...
Аноним 23/05/25 Птн 08:52:49 3460639 85
>>3460637

А ведь деды перекладывали xml.. што же с нами стало..
Аноним 23/05/25 Птн 23:39:15 3461160 86
Откопал у себя текстовый файл 2021 года с требованиями на собес джуна. Он сейчас актуален?


java core, алгоритмы, sql, postgres, spring core, jpa/hiber, spring data jpa/mongo, spring boot, spring mvc, spring security поверхностно, понимание как написать дефолт тесты, docker, git.

Прикрути к пету сваггер. И прочти статьи зачем нужны в общих четрах кафка и кубер. Ну и гофпаттерны(задрочи 2, кроме билдера фабрики и синглтона - я бы предложил декоратор и стратегию) с солидом и асидом.
Аноним 23/05/25 Птн 23:58:25 3461164 87
>>3461160
>Он сейчас актуален?
Нет, в 2025 вката нет, всех джунов заменили нейронки.
Аноним 24/05/25 Суб 00:38:38 3461172 88
>>3461164
в жаве бойлерплейта много, для нейронки как раз. Даже ломбок не нужен уже.
Аноним 24/05/25 Суб 09:26:06 3461245 89
>>3461160
>Он сейчас актуален?
Достаточно рассказать как работает хеш-мапа и пройти тест на долбаеба
Аноним 24/05/25 Суб 22:45:08 3461834 90
У нас подрядчики-пидорасы на джаве пишут нашу ИС. Но они ее с 2011 херачат на сервлетах и прочем Java EE, интерфейс на свинге и веб-аппа с ваадином. Джава 8 естественно, на 11 не могут перейти, многомиллионная миграция. У нас даже нанятый пентестер не смог веб приложение попентестить нормально своим Burp suite, потому что он не привык что нет REST, а все на старых вебсокетах построено.
Аноним 25/05/25 Вск 01:08:43 3461889 91
>>3461834
Для админки ваадин не самый плохой вариант, всяко лучше, чем js обмазываться.
Аноним 25/05/25 Вск 07:07:11 3461936 92
>>3461834
>на 11 не могут перейти, многомиллионная миграция
В чём проблема просто в платный чат гпт залить проект и сказать ему пофиксить всё для миграции? Буквально 1 минута работы.
Аноним 25/05/25 Вск 18:00:58 3462271 93
17467222637200.jpg 195Кб, 600x615
600x615
Все таки прийдется учить эту вашу джаву
Аноним 25/05/25 Вск 18:42:16 3462285 94
>>3462271
Обязательно пиши каждый день отчетик в жабатредик, как ты покушал, покакал, чего выучил нового, какие трудности возникли. Поможем чем сможем так сказать.
Аноним 25/05/25 Вск 19:51:38 3462314 95
>>3462285
Зачем ты так говоришь? Ты и не только же наооборот не хочешь что такие как я срали сюда.
Аноним 25/05/25 Вск 20:11:11 3462325 96
>>3462314
В плане? Обсуждение жабки, какие проблемы возникли, какие мысли по этому поводу, вопросы - это интересно. А вот очередное нытье, что "вката нет" не интересно.
Аноним 26/05/25 Пнд 00:08:17 3462528 97
>>3462325
Без вката этот недоязык никому и не нужен. Все, что можно написать на жабе, проще написать на C++, Go или Rust.
Аноним 26/05/25 Пнд 02:23:09 3462559 98
>>3462528
>вжжж гет сет иф ерр == нил
Не понял.
Аноним 26/05/25 Пнд 02:48:12 3462569 99
>>3462314
Дружище - на фоне большей части местного контингента, состоящего из нейронкодегенератов, вкатанет-всепропало-инфантилов или, прости господи, шарпеев - что бы ты по неопытности ни ляпнул, ты врядли будешь бесить.

Желаю тебе удачи, и верю что все у тебя получится. Ты - большой МОЛОДЕЦ!
Аноним 26/05/25 Пнд 03:16:57 3462574 100
>>3462528
>проще написать на C++, Go или Rust.
Я верно понимаю, что по твоему мнению c++ проще, чем java?
Аноним 26/05/25 Пнд 09:13:27 3462645 101
Какие новые фичи языка вы используете, кроме стримов?
Аноним 26/05/25 Пнд 09:25:37 3462653 102
>>3462645
во всех проектах включил

spring.threads.virtual.enabled=true
Аноним 26/05/25 Пнд 11:00:22 3462740 103
>>3462645
> новая фича
> стримы
Из какого года капчуешь?
Аноним 26/05/25 Пнд 14:37:52 3462932 104
Это правда что программирование это, если совсем грубо, условно 30% писания кода и 70% задрачивание документации?
Просто интересно.
Аноним 26/05/25 Пнд 14:46:43 3462939 105
>>3462932
тебе нужно понять что писать и куда писать
Аноним 26/05/25 Пнд 14:54:39 3462954 106
>>3462932
5% писания кода и 95% плевания в потолок в поисках наилучшего решения в данной ситуации. Решить поставленную задачу можно оооочень многими способами, тебе как пограмисту надо избрать лучшее из них, которое вписывается в архитектуру, удолетворяет заказчика, не слишком прожорливое, не слишком сложное. В общем-то таким макаром можно за весь рабочий день буквально одну строчку написать и заебися, поработал.
Документация в этом случае лишь один из источников для решений.
Аноним 26/05/25 Пнд 16:32:05 3463074 107
>>3462932
Представь что у тебя на винде вдруг случился синий экран смерти, а тебе нужно найти причину и исправить. Это и есть программирование.
Аноним 26/05/25 Пнд 17:02:54 3463103 108
Что надо, чтобы стать жаба сеньором в среднем тырпрайзе?
Лычку мидла в микрогалере получил 2 года назад.
Год назад ушел в большой банк на х2 мидлом.
Первые полгода обживался и охуевал от бюрократии. Потом еще полгода было не до карьерного роста.
Другие дела порешал, думаю как теперь стать сенькой. Внутри для подавляющего большинства грейдапа нету, насколько я знаю.
Через полгода буду валить, тогда будет 4 года стажа.
Что надо расписать в резюме и что задрочить, чтобы на следующую работу взяли сенькой с х.1.5 зепкой?
Аноним 26/05/25 Пнд 17:07:55 3463112 109
>>3463074
Программисты не пользуются виндой, это прошивка для ламеров-гуманитариеблядков, чтобы им было удобнее потреблядствовать.
Аноним 26/05/25 Пнд 18:07:56 3463165 110
>>3463112
Где принципиальная разница между проганьем в винде и линуксе?
Аноним 26/05/25 Пнд 20:30:57 3463294 111
>>3463165
Контейнеризация - это чисто линуховая тема. Т.н. wsl - это тоже линукс, причем не виртуализированный, а запущенный как бы рядом. Так что тебе в любом случае придется с ним столкнутся.
Плюс в линухе есть баш - ебал я в рот этот повершелл, просто говно говна.
Аноним 26/05/25 Пнд 20:35:45 3463297 112
>>3463074
Это ближе к сисадминству, девопсингу. Совершенно другая область. Программист может в душе не ебать как устроена ос, пачиму синий, красный или серый экран вылезает.
Аноним 26/05/25 Пнд 20:35:50 3463299 113
Сижу месяц с открытой резюмехой, два тех собеса только было. Джава умерла.
Аноним 26/05/25 Пнд 20:42:41 3463310 114
>>3463297
Это смежные области с немного разным уклоном.
>Вебмакака может в душе не ебать
Не благодари.
Аноним 26/05/25 Пнд 20:48:41 3463319 115
>>3463310
А зачем фокусироваться не на твоей специальности? Расширение экспертной области ни к чему хорошему не приведет, только к уменьшению глубины..
Просто делегируй ответственность и все.
Аноним 26/05/25 Пнд 21:18:33 3463340 116
>>3463299
Сейчас из-за экономики в рф просто нет новых проектов на джаве. Держись за кабаныча кормильца.
Аноним 26/05/25 Пнд 21:48:56 3463354 117
Крутить возраст в плюс, если малолетка, нормальная тема или нет? Опыт уже все крутят, всем поебать, насчет возраста не слышал. На этапе сб проверку опыта могут скипнуть, а вот возраст явно будет видно
Аноним 26/05/25 Пнд 22:18:15 3463368 118
Аноним 26/05/25 Пнд 23:55:19 3463390 119
>>3463368
Есть причины, подозрения
Аноним 27/05/25 Втр 00:42:34 3463408 120
>>3463299
>с открытой резюмехой
На компудахтере открытой что ли?
Аноним 27/05/25 Втр 01:00:40 3463410 121
Аноним 27/05/25 Втр 06:31:05 3463452 122
>>3463354
Можно и нужно указывать вообще левые фио и год, не ставить свой личный телефон, хх продает твои персональные данные.
Аноним 27/05/25 Втр 07:09:26 3463455 123
>>3463294
контейнеризация это костыль для линуха, чтобы обойти эти обосранные пакетные менеджеры и разруливание конфликтов.
Зачем изначально линуксоиды пытались сделать шаринг общих либ? Экономить килобайты? А зачем поддержку версий не сделали?

В итоге такая экономия на этих килобайтах, что приходится делать копии всей системы, заебись
Аноним 27/05/25 Втр 08:24:05 3463463 124
image.png 78Кб, 748x318
748x318
>>3463455
Контейнеризация - это про изоляцию, чтобы внесенные изменения не влияли на хост. Сначала это чрут, потом уже с развитием сигрупс стала возможна изоляция не просто фс, но целых процессов. Ну и еще раньше некоторые программы запускались as if root, типа ping ибо без рута ты не сможешь создать сокет что ли. Потом эту хуйню пофиксили создав что-то типа authority, которое ты можешь выдать процессу. Вот во всем этом НЕ прослеживается борьба с пакетными менеджерами.
Если тебе не нужна изоляция, а нужна поддержка скажем нескольких версий пакетов, то существуют пакетные менеджеры, которые могут обеспечить тебе такую поддержку и без копирования всей ос.
Аноним 27/05/25 Втр 08:34:59 3463466 125
>>3463455
Это делается командой chroot без всякой контейнеризации.
chroot /mnt /bin/bash

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

В современных линупсах десятки механизмов изоляции
namespaces, SELinux, seccomp, UID-изоляция и прочее

Классический пример android где это используется не для пакетного менеджера а чтобы твой плееер не залез в твою кредитку
Аноним 27/05/25 Втр 08:45:01 3463473 126
>>3463463
это следствие что каждая новая установленная программа/обновлённая либа может сломать систему или старые программы.
Следствие что установка программ требует внесений глубоко в систему.

Той же жабе эти контейнеры нахуй не нужны, жвм сам есть контейнер, программы в жвм не лезут в систему и не засоряют
Аноним 27/05/25 Втр 08:52:59 3463482 127
>>3463473
И почему тогда в андроеде потребовалась дополнительная изоляция? Потому что далвик и ART не святая жвм?
Аноним 27/05/25 Втр 09:20:02 3463488 128
>>3463473
Ты же не только программы жвм используешь на практике. Скажем поднять локальную бдшку или еще какую-нибудь поеботу, типа установки кучи говна из pip install.
Так что на практике с контейенрами тупа удобнее.
Аноним 27/05/25 Втр 12:25:59 3463616 129
Аноним 27/05/25 Втр 14:03:04 3463692 130
>>3463616
>Что надо, чтобы стать жаба сеньором в среднем тырпрайзе?
уметь складно пиздеть
Аноним 27/05/25 Втр 16:02:43 3463823 131
>>3463692
А что нужно напиздеть в резюме и на собесе?
Аноним 27/05/25 Втр 16:14:49 3463837 132
>>3463823
Напизди им что ты - натурал.
Аноним 27/05/25 Втр 16:48:34 3463868 133
2025.05.2718-39.png 8Кб, 223x478
223x478
В джаваскрипт треде не признаются, может среди вас виновник есть? Хотя мне кажется тут всё-таки фронтомакака виновата. Если в отсутствии диапазона весов можно сбросить вину на бек, то блядь сортировка чисел по алфавиту уже никакого оправдания не имеет.
Аноним 27/05/25 Втр 17:15:07 3463887 134
завтра собес на джава-джуна, знаю всего по немного - круд на спринге написать могу, многопоточку не знаю вообще, насколько всё хуёво?
Аноним 27/05/25 Втр 17:34:54 3463906 135
>>3463887
Намного. Но ты не беспокойся особо, проблема всё равно не в тебе.
Аноним 27/05/25 Втр 17:36:03 3463908 136
>>3463906
пойду исправлять это плачевную ситуацию
>проблема всё равно не в тебе
почему?
Аноним 27/05/25 Втр 17:52:22 3463921 137
>>3463887
Ты - большой молодец, анон! Я в тебя верю, у тебя все получится. Желаю удачи.
Аноним 27/05/25 Втр 17:54:37 3463923 138
>>3463921
"я страдаю, дак пускай все страдают!"
Что за уродец.
Аноним 27/05/25 Втр 18:21:09 3463943 139
>>3463887
Поздравляю, ты знаешь ровно столько же сколько и 90% рынка мидлов с рисованными 4+ годами опыта!
Аноним 27/05/25 Втр 18:22:27 3463945 140
>>3463943
По себе судишь? Или так себя успокаиваешь?
Аноним 27/05/25 Втр 18:25:28 3463948 141
>>3463921
>>3463943
главное что меня успокаиваете, спасибо!
Аноним 27/05/25 Втр 18:27:51 3463950 142
>>3463948
Спасибо за что? За то что подталкивают тебя к продолжению ударов башкой о бетонную стену?
Аноним 27/05/25 Втр 18:30:27 3463953 143
>>3463950
у меня есть шансы, запросил 40-50к, компания студентов набирает активно (делает локальные ИС для ЖКХ)
по отзывам - поспрашивают про ООП и модификаторы доступа и дадут тестовое на дом, берут без проблем
надеюсь на чудо не иначе
Аноним 27/05/25 Втр 18:35:00 3463955 144
>>3463953
> 40-50к
Господи... Что за неуважение к себе. Даже если бы ты внезапно им приглянулся, они бы тебя чисто по приколу нахуй послали чтобы поржать над бомжом-побирайкой. Шансы на трудоустройство максимальные при просьбе 200к, ниже и выше шансы падают.
Аноним 28/05/25 Срд 01:18:11 3464172 145
>>3463923
Сам ты уродец. Лузер ебаный. Ляг в канаву и сдохни.
Аноним 28/05/25 Срд 04:44:25 3464225 146
Зачем нужен Spring?
В интернете много информации, но нигде нет четких ответов.
Всюду будто нейронам рассуждают про Spring.
Аноним 28/05/25 Срд 08:11:06 3464251 147
>>3463953
Хороший вариант, сам с такого начинал пару лет назад. Через полгода уже можно просить побольше зп
Аноним 28/05/25 Срд 12:14:20 3464408 148
>>3464172
>нет ти
Пиздец конечно унтер.
Аноним 28/05/25 Срд 12:15:11 3464410 149
>>3464251
>ещё одна жалкая попытка перекричать реальность чтобы все страдали раз сам уродец страдает
Аноним 28/05/25 Срд 23:18:55 3464837 150
>>3463452
На этапе отбора HR-шей окей это прокатит, но, допустим, я получаю оффер и хрюша перекидывает мои данные СБ, мне надо заполнить доки и там выясняется что у меня другой возраст
Конкретно СБ будет похуй на это, верно? Они не знали тот возраст который я лично в сообщениях сказал хрюше
Проблемы могут возникнуть если сама хрюша начнет выебываться, да?
Аноним 29/05/25 Чтв 01:17:22 3464866 151
>>3464225
Чтоб говорить что в джэбе все очень сложно и разводить кабана на 300к. Если тайное знание о спринге будет раскрыто зепки рухнут.
Аноним 29/05/25 Чтв 09:03:31 3464910 152
Всем привет. Я краток буду. Мой манифест коротенький.
Короче говоря, подтянул я вашу джаву на уровне уверенного новичка.

Насколько мы все знаем, девиз джавы таков: напиши единожды - запускай где угодно

Ну и?? Как написать программу для телефона которая к примеру создаст пустой файл в какой-нибудь директории. Ну или ок.. просто сложит 2+2 и принтанёт на экран или на консоль хотя-бы.
?
Нееет ребята, никаких тяжеловесных Android studio и Eclips'ов я ставить не буду на пекарню и компилировать по 10 минут APK с хеллоу волдрм на три строки.
Я вот сижу с андроида. А джава гласит ,что она может всё.

Пожалуйста, ваши версии...
Аноним 29/05/25 Чтв 09:09:51 3464912 153
Ладно. Это был риторический доёб. Признаюсь. Сам понимаю, что это невозможно.
Может какое нибудь окружение развернуть на Android'e в котором можно команды/программы на джаве транслировать
?
Ну реально без приколов. У меня сейчас есть необходимость написать несколько скриптов которые будут создавать файлы на флешке и производить стандартные API действия в телефоне.
Что мне сделать? В какую сторону смотреть?

(Скрипты должны одним/ двумя криками запускаться. Никаких развертываний IDE в телефоне и пр плясок)
Аноним 29/05/25 Чтв 12:15:01 3465027 154
photo2025-05-29[...].jpg 20Кб, 800x224
800x224
>>3464910
Так в Андроиде нету жабы. Есть Android SDK, для которой можно писать код используя Java или Kotlin.
Можно установить Termux со встроенным мини-линуксом и ставить туда что угодно - OpenJDK, GCC, Go, Python...
Но у меня там получилось создавать только консольные приложения, графику ни в какую не хочет (там надо как-то сервер X Window настраивать).
А WORA это больше про аппаратную независимость. Уже под Windows и Linux появляются различия, если писать desktop программы.
Аноним 29/05/25 Чтв 12:25:41 3465033 155
>>3464910
>Нееет ребята, никаких тяжеловесных Android studio и Eclips'ов я ставить не буду на пекарню и компилировать по 10 минут APK с хеллоу волдрм на три строки.
Можно собирать Gradle'ом из консоли, но, насколько я знаю, без Android SDK нельзя создать APK файл из JAR'ников.
Можно писать хоть на C++, хоть на Delphi, хоть на JavaScript (React Native), но в любом случае потребуется Android SDK.

>Ну реально без приколов. У меня сейчас есть необходимость написать несколько скриптов которые будут создавать файлы на флешке и производить стандартные API действия в телефоне.
>Что мне сделать? В какую сторону смотреть?
Посмотрел бы в сторону интерпретаторов, какой-нибудь Python или Lua наверно должны найтись.
На iPhone компания Apple прямо запретила интерпретаторы (кроме браузеров с JS) в своем магазине. Яблочник не должен думать и уметь программировать.
Отсутствие bash в Android - это маразм, конечно.
Аноним 29/05/25 Чтв 13:14:04 3465059 156
>>3465027
В общем, насколько я понял, для того чтобы просто хотя-бы развернуть маломальское окружение которое будет в состоянии транслировать(хотя-бы) любой самый простой хотя-бы скриптовый язык(хотя-бы Lua)
, то придётся всё равно знатно поебаться.
Аноним 29/05/25 Чтв 13:46:19 3465084 157
>>3465033
> Посмотрел бы в сторону интерпретаторов, какой-нибудь Python или Lua наверно должны найтись.
Да!! Lua попробовал. Действительно прекрасно справляется.
Обнял тебя анончик!

Правда придётся подтягивать язык lua, яж на нем не писал никогда
Аноним 29/05/25 Чтв 14:00:02 3465092 158
>>3465033
>Отсутствие bash в Android - это маразм, конечно.
Там есть классический POSIX-совместимый шелл, в чём проблема? Зачем тебе именно баш?
>в своем магазине
Там нельзя впихнуть статически слинкованный бинарник и запустить через шелл, как в любом юниксе?
Аноним 29/05/25 Чтв 15:30:08 3465153 159
>>3464910
>> Нееет ребята, никаких тяжеловесных Android studio и Eclips'ов я ставить не буду на пекарню и компилировать по 10 минут APK с хеллоу волдрм на три строки.
Я вот сижу с андроида. А джава гласит ,что она может всё.

А что ты хотел? Чтобы на apt\swing захуярить гуи для ведроида?
Бля, я бы тоже так хотел и в рот ебать оптимизацию и сресурсы, но если подумать сколько это требует работы чтобы то можно охуеть. И разрабы жабы тоже охуели и "сказали нахуй надо, пусть сами пердолятся"
Аноним 29/05/25 Чтв 15:42:13 3465162 160
Короче, прошел курс Java-дев от ЯндексПрактикум. С учетом моего 7 летнего опыта вебмакакинга не сказать, что проходится изи. Сам пошел из-за серта о переподготвоке, чтоб закрыть свою боль об отсутствии тех.вышки по ит

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

Все остальные курсы хуйня на постном масле уровня инфоциганщины.

Курс нереально ебический, за весь курс был на одном вебинаре, но практики я ебу там, я прикидывал под 1000 заданий суммарно и ты должен сука каждый пройти, иначе дальше не пойдешь.
Рикамендую для вкатунцов лютейшая годнота.
Аноним 29/05/25 Чтв 15:47:36 3465166 161
>>3465162
Ты продаван из практикума?
Аноним 29/05/25 Чтв 15:51:19 3465172 162
>>3465162
Пруфани скринами, а подробно распиши что там на курсах нужно делать.
Аноним 29/05/25 Чтв 15:52:25 3465173 163
>>3465172
Курсиками барыжите?
Аноним 29/05/25 Чтв 15:53:05 3465174 164
>>3465162
Ну выложи курс конторы пидарасов тогда анонам на яндекс диск
Аноним 29/05/25 Чтв 15:59:32 3465181 165
>>3465162
звучит как задрочево ради задрочева
Аноним 29/05/25 Чтв 20:46:56 3465382 166
>>3465174
Там текстовая часть теории + тренажер встроенный (аналог литкода), только задачи не из серии "Посчитай числа фибоначи до 1000".
Что я тебе должен вложить? Текст теории, текст тебе и диксик напишет.


>>3465172
Там есть бесплатная часть можешь сам посмотреть.

>>3465166
нет, просто курс хороший, а так у меня много вопросов к этой конторе по "базовой" части.
Аноним 29/05/25 Чтв 21:51:07 3465432 167
>>3464837
Может кто-нить пояснить за этот процесс, или наводку дать в каком треде конкретнее это можно уточнить? Не конкретно по волчарской теме, а именно проходит ли информация та же самая меж HR и СБшниками
Аноним 30/05/25 Птн 00:22:30 3465517 168
>>3463354

>Крутить возраст в плюс, если малолетка, нормальная тема или нет?

Ты - тот самый семнадцатилетний CTO, что-ли? Или нахуя?
Аноним 30/05/25 Птн 07:46:32 3465567 169
>>3465382
Скинь скрины заданий и что там ещё есть.
Аноним 30/05/25 Птн 07:54:32 3465570 170
image.png 147Кб, 1442x926
1442x926
>>3465567
Каждый финальный проект кстати проверяется ревьювером + postman тесты, которые при пулреквестве на гитхабе прогоняются и которые обязательно надо пройти для сдачи, а кейсов там обычно штук по 40
Аноним 30/05/25 Птн 08:32:40 3465575 171
>>3465570
Не удивлён что дебилов после таких курсов не берут на работу.
Аноним 30/05/25 Птн 08:37:43 3465578 172
>>3465570
Во, отличный пример т.н. юнит-тестирования в жабе, где все обмазывается моками
Аноним 30/05/25 Птн 09:22:12 3465590 173
>>3465578
А как ещё юнит-тестировать процедурное stateful-говно с тонной зависимостей?
Аноним 30/05/25 Птн 10:03:23 3465608 174
>>3465578
>> где все обмазывается моками
Надо проверить кейс, где какой-нибудь юзер хитровыебаный, который тебе руинит
руинит логику.

Как ты это воспроизводить собрался? На прод пойдешь и будешь его там тыкать и логи дампать, ведь в тестовой\локальной БД его нет? Охуенно, че
Аноним 30/05/25 Птн 10:12:53 3465612 175
>>3465608
Как это с моками связано? Если максимально абстрагироваться, у тебя есть черный ящик, множество входных данных и то, какими должны быть выходные данные. Избирая из множества входных данных краевые случаи ты ничего в сущности не меняешь.
Ключевая проблема в том, что входными данными для черного ящика служит целый реальный мир, поэтому приходится именно его мокать. Но.. Кто вам мешает изначально делать архитектуру которая не требует в качестве входных данных целый блять мир?
Аноним 30/05/25 Птн 10:25:48 3465619 176
>>3465590
>>3465608
Че вы себе так анус прищемили, джаваны, лол? Ну да, не умеете вы в жабе писать нормальные тесты. Приходится вот так вот дрочиться с моками, а потом плакать, при малейшем рефакторинге. Хорошо, что мы в компании избавились от джава кретинов и их помойный спринг улетел на помойку. Сейчас все пишем по уму на сишарпе и гоулэнге и команда молодая и это самое главное, а не 30+ старичье, которое моки дрочит
Аноним 30/05/25 Птн 10:29:33 3465624 177
>>3465619
>Сейчас все пишем по уму
И в чем разница? Покажи круду с какой-нибудь максимально базовой логикой, где тесты написаны.
Аноним 30/05/25 Птн 10:50:54 3465656 178
>>3465624
>И в чем разница?
В том, что мы не пишем процедурный код на моках как это делают жабадебилы со своим спрингом
Аноним 30/05/25 Птн 10:55:37 3465663 179
>>3465656
судя по твоим словам, ты вообще код не пишешь
Аноним 30/05/25 Птн 11:26:51 3465695 180
>>3465663
Ты уже проверил свой мок в юнит-тесте, джавадебил? Ну ты проверил, что мок дернулся?))
Аноним 30/05/25 Птн 12:16:52 3465781 181
>>3465695
Тебя что так трясёт-то? Не смог понять такую примитивщину как моки? Ну ничё, бывает, не всем дано >70 iq.
Аноним 30/05/25 Птн 12:21:56 3465795 182
>>3465619
>Сейчас все пишем по уму на сишарпе и гоулэнге
Так это то же самое.
Аноним 30/05/25 Птн 12:46:52 3465816 183
>>3465619
>>3465695

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

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

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

А ключик просто открывается:

The other important difference relates to the “virtual” keyword in C#. Methods in C# are final by default. You can’t override them unless they contain the keyword “virtual” on its signature. Both, Mockito and Moq create test doubles by subclassing on runtime, overriding methods and implementing the fake behavior on them (as far as I know). So, if the method you want to stub is not virtual, Moq will throw a runtime exception. If it is not virtual but you don’t specify any fake behavior on it, it will not throw exceptions, but worse, it will call the actual implementation. So you might be hiting the database in your unit tests inadvertedly. What I do, is that all my methods are virtual by default (I write “virtual” on their signature).


Понимаю твою боль, ну попробуй проработать анал с психологом, чтоле
Аноним 30/05/25 Птн 13:19:10 3465840 184
>>3459924
Не создавать нулевые ссылки (опшоналы или нулл-объекты) и не писать килотонны кода
Аноним 30/05/25 Птн 13:38:32 3465860 185
> На полном серьезе отвечать жирному из МВП-параши, который уже не один год серит в жава-треде
Аноним 30/05/25 Птн 13:42:06 3465865 186
Аноним 30/05/25 Птн 13:46:53 3465871 187
>>3465840
Нуллы нужны, но их нужно документировать правильно.
Аноним 30/05/25 Птн 13:47:44 3465872 188
>>3465865
>Это невозможно
>Видос буквально говорит что это "плохой подход" и всё
Ну если не применять свою голову, а следовать учению апостолов с митапов - то да, тут к сожалению только терпеть.
С другой стороны можно порадоваться что даже абсолютные амёбы которым конференции заменили мозг, могут писать на джаве и это даже будет работать.
Аноним 30/05/25 Птн 13:49:36 3465875 189
>>3465871
Ну если нужны - можете писать с ними, но тут-то ноют что НПЕ задолбали. Можно и без них, но если хочется колоться и жрать кактус- тут никто запретить не может.
Аноним 30/05/25 Птн 13:51:21 3465881 190
>>3465872
Там буквально описывают десятки случаев, когда null просто необходим и ты его не сможешь избежать. Ты типа даже не смотрел, а просто по обложке начал пиздеть? Гений че.
Аноним 30/05/25 Птн 13:51:32 3465882 191
>>3465875
>жрать кактус
По-моему это наоборот больше подходит к засовыванию опшеналов куда не попадя. Документированные нуллы безопасны.
Аноним 30/05/25 Птн 13:54:14 3465887 192
>>3465881
Посмотрел по тайм коду. Если ты гений не туда таймкод дал, кто здесь виноват?
>ты его не сможешь избежать
ага, а при избегании сразу поднимется визг ДА ТЫ ЧО ТАК НЕЛЬЗЯ НИ В КОЕМ СЛУЧАЕ ПИСАТЬ ФУ ГОВНО
вот и есть основная причина невозможности не использования нулов
Аноним 30/05/25 Птн 13:54:29 3465888 193
>>3465882
Для этого чела равнозначены, что опшионалы, что наллы. Он говорит, что можно вообще без них. Но как, а вот тут думайте сами.
Аноним 30/05/25 Птн 13:58:12 3465890 194
>>3465887
Ну бля, мне че пересказ по таймкоду делать? Ты издеваешься? Посмотри 10 минут начиная с него и по пунктам, как ты избежать наллы сможешь, в случае создания массивов, в случае мапок метода get, аналогично методу репозитория find, в случае дефолт конструкторов в том же хибере. Давай давай, рассказый.
Аноним 30/05/25 Птн 13:58:15 3465891 195
>>3465888
Нет, опшоналы и нулл-объекты я привёл как пример решения НПЕ
Аноним 30/05/25 Птн 13:58:45 3465892 196
>>3465890
>Ну бля, мне че пересказ по таймкоду делать? Ты издеваешься? Посмотри 10 минут
Иди нахуй
Аноним 30/05/25 Птн 14:04:07 3465895 197
>>3465891
Бугаенко, ты? Иди нахуй.
Аноним 30/05/25 Птн 14:05:54 3465896 198
>>3465892
Потужно.
>>3465891
Опшионаллы нельзя использовать в качестве филдов, как думаешь почему? Нулл объекты, это типа дефолт значения EMPTY? Найди этот налл объект у Integer. Который в хибере служит @Id и является null, в случае если он не создан.
Аноним 30/05/25 Птн 14:08:13 3465900 199
>>3465896
>Опшионаллы нельзя использовать в качестве филдов, как думаешь почему?
Я думаю потому что очередной апостол в своём Евангелии от стаковерфлоу сказал что это плохо, а миллионы овечек повторили.
Аноним 30/05/25 Птн 14:09:08 3465902 200
>>3465896
>Который в хибере
Крудошлёп, плез, есть мир без хибера, даже если тебе это кажется фантастикой
Аноним 30/05/25 Птн 14:10:41 3465905 201
>>3465902
Сразу порвался когда услышал технологию на которую мозгов не хватило, да так что дальше читать не стал?
Аноним 30/05/25 Птн 14:14:47 3465908 202
image.png 111Кб, 1268x633
1268x633
image.png 125Кб, 740x594
740x594
>>3465900
>очередной апостол
Да-да, апостол, который в джавадок блять. Сука, ну ты даже не читал её. Как можно-то? Это типа предлагать технологию, но не знать для чего она предназначена. Пиздос.
Аноним 30/05/25 Птн 14:25:37 3465919 203
>>3465908
Чего primarily не подсветил-то, а? Неудобно вышло?
Ну и скирн со стаковерфлоу как вишенка на торте. ЧТД.

Можешь не использовать, тебя никто не заставляет. Делай оверлоады на методы, собирай новые объекты если изменился набор полей - всё возможно в Джаббе

>inb4 ААРРРЯЯЯЯ НЕ БУДУ ТАК ДЕЛАТЬ
Вот и вся суть
Аноним 30/05/25 Птн 14:36:11 3465933 204
>>3465919
Можно на простых примерах показать что там у вас за проблема и кто за какой вариант решения?
Аноним 30/05/25 Птн 14:47:33 3465947 205
image.png 21Кб, 932x303
932x303
>>3465919
> Неудобно вышло?
Прикол в том, что если ты не знал про это, то ты никогда таким способом не использовал опшионал и никогда не видел этого. Потому, что это подчеркивается идеей. Также как и использование в качестве аргументов методов, что к слову ещё тупее, имея flatmap-то.
>Делай оверлоады на методы
Какие методы? Мы про поля.
>собирай новые объекты
Это комбинаторный взрыв. Ну типа даже имея скажем 10 полей, надо создать, ну где-то 3628800 классов, чтобы охватить каждую комбинацию. Если бы в жебе была скажем хотя бы утиная типизация, то такого не требовалось бы. Впрочем я думал над тем, чтобы использовать частичную утиную состоящую из пика. Типа сделать интерфейсы, F1Get, Fi2Get, ..., а потом простым перечислением можно избежать комбинаторного взрыва. Типа того
<T extends F1Get & Fi2Get & Fi5Get> void foo(T value) { /.../}
Тут очееень много проблем возникает и возмооожно это в жабе и возможно, но я ебал, столько сложностей из нихуя просто.
В ином случае это будет какая-то динамическая поебота, что еще хуже чем null.
>>3465933
В общем-то суть про дефолт значения obj-ref.
Ты когда создаешь массив - new Integer[4], у тебя он заполнен {null,null,null,null}. Как-то простым способом это нельзя, ну если только не сказать, что массивы нинужны.
Потом дефолт значения полей, например если у тебя пустой конструктор, который обязателен в том же хибере. Т.е. сначала у тебя все поля будут null, и ты этого никак не избежишь, ну и еще внутрянка спринг даты, в методе save чекает поле @Id на null.
Вот он предлагает, что можно мол, ну хуярь все филды просто Optional и намальна. Или вот выше другое.
В общем мой поинт, null пронизан во всей жабе, ты от него никак не избавишься. Нельзя просто сказать, ну пук среньк, не используйте. Ты его так или иначе будешь юзать. Да даже имплементация Optional - это null и сам Optional может быть null:
void foo(Optional<Integer> value){
if(value != null && value.isPresent()){
//...
}
}
Аноним 30/05/25 Птн 14:54:39 3465953 206
>>3465947
>Потому, что это подчеркивается идеей.
Еще один. Сам-то думать пробовал? Или как обычно - идея сказала - взял под козырёк?
Аноним 30/05/25 Птн 15:02:05 3465958 207
>>3465953
Еще раз подчеркивает, что ты никогда не использовал Optional в каких-то специфичных сценариях.
>This is a value-based class; use of identity-sensitive operations (including reference equality (==), identity hash code, or synchronization) on instances of Optional may have unpredictable results and should be avoided.
Он просто неудобен во многих сценариях и многословен. В сущности, кто тебе мешает сделать геттер, который просто делал что-то типа этого:
Optional<Field1> getField1(){
return Optional.ofNullable(field1);
}
Но, то что ты не предлагаешь даже такой вариант, опять же - ты никогда в своей жизни этот optional нормально не использовал и даже не понимаешь, почему его не следует использовать например в качестве аргумента. Ну не понимаешь ты инструмент, ну бывает, кто ж осудит.
Аноним 30/05/25 Птн 15:08:22 3465962 208
>>3465958
>Он просто неудобен во многих сценариях и многословен.
Суть, собственно как я уже раньше и говорил единственная причина "невозможности" - предпочтения.

> В сущности, кто тебе мешает сделать геттер, который просто делал что-то типа этого
Кто тебе мешает просто написать самому такой же опшонал, который будет немногословен и будет учитывать все условия что тебе нужны? Я java.lang.Optional просто как эталон взял.

>Ну не понимаешь ты инструмент, ну бывает, кто ж осудит.
Чел, у тебя блять претензии к инструменты - многословность. Тебе бы вообще лучше рот не открывать среди профессионалов.
Аноним 30/05/25 Птн 15:10:51 3465964 209
>>3465958
Иди лучше на питончике пиши, там public static main писать не нужно
Аноним 30/05/25 Птн 15:11:54 3465967 210
>>3465964
1. На джаве давно это уже не надо писать.
2. На питухоне ещё хуже даже старой джавы из-за if __main__ != main или я не ебу как точно эта хуйня у вас там звучит.
Аноним 30/05/25 Птн 15:12:16 3465968 211
>>3465964
3. Как это вообще к теме относится, ебло?
Аноним 30/05/25 Птн 15:21:15 3465975 212
>>3465968
Так что елси ты предъявляешь претензию к инструменту "многословность" - это значит что до тебя не может дойти, что ты можешь взять суть инструмента и написать такой же по духу, но с таким количеством слов, каким хочешь. Это значит ты либо вкатун никогда не работавший над реальными проектами, либо формошлём, садящийся в лужу если нет библиотеки под задачу.
Так или иначе - твоё мнение можно не учитывать.
Аноним 30/05/25 Птн 15:22:23 3465977 213
>>3465975
Ты хоть сам-то понял, что высрал?
Аноним 30/05/25 Птн 15:26:55 3465983 214
>>3465977
Если ты не понял - тут ничего не поделать
Аноним 30/05/25 Птн 15:27:51 3465985 215
>>3465983
Ты хоть сам-то понял, что высрал?
Аноним 30/05/25 Птн 15:31:00 3465987 216
>>3465900
>>3465896

Ладно вам сраться. В джаву во всю прыть вон завозят JSpecify на анноташках. Многословно - прям как мы любим.

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

Мимо.
Аноним 30/05/25 Птн 15:32:11 3465990 217
Аноним 30/05/25 Птн 15:32:49 3465993 218
>>3465962
>Кто тебе мешает
Отсутствие этого - https://en.wikibooks.org/wiki/Haskell/do_notation
Как появится, так сразу. Ну и еще возможность абсолютно любую сущность сделать null, это просто дебилизм.
>Чел, у тебя блять претензии к инструменты
А отсутствие гарантии, хуйня, ну да? Какой мне чел сверху гарантирует, что Optional сам не будет null? Или что в аргументах какой-то далабеб не пришлет null? Тот же котлин как это решил? Правильно, каждый входящий аргумент чекать на налл. Гарантии - во.
>многословность
Когда трехстрочная программа в одном языке, требует во несколько раз большую портянку, то желания писать на этом пропадает https://godbolt.org/z/xdn4x7931
>>3465987
Смотри, в аргументы конкретно не надо пихать опшионал потому... Что это не нужно. Буквально. Если у тебя есть Optional, то примени для этого flatMap и все. Как в коде выше. Тебе не надо ничего придумывать, все сделано до тебя.
Аноним 30/05/25 Птн 15:33:27 3465995 219
>>3457776 (OP)
Где найти список бест практисис для проектов на Java? Почему приходя на проект раз за разом наблюдаю один и тот же понос? Почему нет свода правил и рекомендаций как структурировать приложение, автоматизировать рутинные операции и т.д?
Аноним 30/05/25 Птн 15:33:55 3465998 220
>>3465990
Для того, чтобы чекать нули статическим анализом. Раньше оно всю дорогу было в идейке, но теперь вот выехало в отдельный стандарт с отдельными референс имплементациями.
Аноним 30/05/25 Птн 15:35:08 3465999 221
>>3465993
>мешает отсутствия способа затолкнуть подальше функциональщину и начать писать в императивном стиле
>в императивном языке
Жирно.
Аноним 30/05/25 Птн 15:36:39 3466002 222
>>3465987
>Вобще, я тоже всю дорогу недоумевал, нахуя гоец опшенал в аргументы не рекомендует пихать.
Архитектурная задумка не та, так-то. Их аргумент в том, что так как Optional это по сути такой же ссылочный тип, то он тоже теоретически может быть нулом, то есть ничего не меняется ты только увеличиваешь количество возможны комбинаций параметров.

Наверное на вайтборде эти размышления о высоком очень красиво смотрятся.

Мимо.
Аноним 30/05/25 Птн 15:38:33 3466006 223
>>3465998
И зачем это нужно в виде отдельной зависимости? Проблему с нулами в языке это не решит. Типичный проект на джаве это полгода пытаться высрать простейший круд на спринге и хубирнейте, а затем следующие полгода дебажить нюлы в продакшене. Затем команду нахуй выгоняют на мороз и все переписывают на гоулэнг за месяц
Аноним 30/05/25 Птн 15:40:58 3466008 224
>>3465993
>примени для этого flatMap и все. Как в коде выше.

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

Казалось бы - передай опшенал как maybe в хачкелле аргументом, и дело с концом. Но гоец с идеевскими аналайзерами сразу на говно изойдутся, да еще им вторит куча джаванов. Я конечно все понимаю - каждый разраб мнит себя дартаньяном а всех вокруг - идиотами, но до такой терминальной стадии раньше это не доходило.
Аноним 30/05/25 Птн 15:41:12 3466009 225
>>3465987
>JSpecify
Интересно, нужно будет попробовать как оно
Аноним 30/05/25 Птн 15:44:14 3466010 226
>>3466006
Тебе не нужно - ты и не используй. Открой форточку, не души.
Аноним 30/05/25 Птн 15:44:14 3466011 227
>>3465999
Опшионал это и есть фунциональщина, плоть от плоти. И в чем я не прав, говоря, что ну просто не вписывается она в жабу и все. Неприятно это использовать.
>>3466008
>что у тебя один из ее аргументов может отсутствовать?
Эм.. Для этого есть ad-hoc полиморфизм, называемый overload method. Т.е. делаешь точно такой же метод, с точно такой же семантикой, но без одного аргумента. Это гораздо понятнее.
Аноним 30/05/25 Птн 15:46:41 3466013 228
>>3466006
>и все переписывают на гоулэнг за месяц
чтобы повторить все то же самое для nil'ов?
Аноним 30/05/25 Птн 15:48:04 3466014 229
>>3466011
>Эм.. Для этого есть ad-hoc полиморфизм, называемый overload method. Т.е. делаешь точно такой же метод, с точно такой же семантикой, но без одного аргумента. Это гораздо понятнее.

Хорошо, идем дальше.

Что если у нас не метод с аргументами, а класс с аттрибутами. Причем не простой класс, а иммутабельный - все аттрибуты у него final. Один из аттрибутов может отсутствовать. Так как аттрибуты - final, нужен конструктор, который их просеттит. Опшеналы в конструкторах discourage'атся так же, как и в методах.

И что? Обростать теперь двумя конструкторами вместо одного? А если опшенал аттрибутов больше одного?
Аноним 30/05/25 Птн 15:49:11 3466015 230
>>3466010
А дальше что? Ну повесил анноташки. Их никто не поддерживает. Лет через 10 может быть тулы подтянутся
Аноним 30/05/25 Птн 15:49:47 3466016 231
>>3466015
Почему ты решил что их никто не поддерживает?
Аноним 30/05/25 Птн 15:50:14 3466017 232
>>3466011
> Неприятно
Твоя шизофрения.
Аноним 30/05/25 Птн 15:50:54 3466018 233
>>3466008
>Но гоец с идеевскими аналайзерами сразу на говно изойдутся, да еще им вторит куча джаванов. Я конечно все понимаю - каждый разраб мнит себя дартаньяном а всех вокруг - идиотами, но до такой терминальной стадии раньше это не доходило.

Нужно просто написать Maybe класс и это будет совсем другое! И Гоецу полизнул и упомянул монады и идея успокоилась - тут сразу видно что человек толковый, головастый, не каким-то там опшоналами оперирует!
Аноним 30/05/25 Птн 15:53:16 3466023 234
>>3466018
Да все уже было... Вон в vavr'е есть Option, к примеру. Причем там они прям упоролись на предмет соблюдения монадных законов: Option(null) и None там - разные значения.

Оно того не стоило от слова "вообще".
Аноним 30/05/25 Птн 15:55:04 3466025 235
>>3466014
Это уже должно решаться например вызовами по имени параметра и дефолт значениям, но когда это введут хуй его знает. На данный момент, делай @Builer в лобке и все.
Впрочем, как я уже писал, ключевая проблема билдера, что ты никак не можешь отметить обязательные и необязательные параметры семантически.
Аноним 30/05/25 Птн 15:56:27 3466026 236
>>3466025
>лобке
Сейчас бы в 2к25 тащить ломбок в проект, лол
Аноним 30/05/25 Птн 15:57:45 3466027 237
>>3466025
Ну вот то то и оно.

А я в рот ебал ломбок, и в рот ебал пересаживаться на билдеры из-за мини-проблемки, которая решаема обычным возложением болта здравого смысла на вахтерство всяких гойцов...
Аноним 30/05/25 Птн 15:59:14 3466028 238
>>3466026
Ну никто не мешает всё вручную писать, бешеной собаке сто вёрст не крюк
Аноним 30/05/25 Птн 15:59:40 3466029 239
>>3466026
Генерь идеей и делай особые комментарии-метки, чтобы оно скрывало это все.
>>3466027
Ну типа ты можешь больше забить и просто использовать null напрямую, кто тебе мешает? В филдах-то ты не будешь же использовать Optional/
Аноним 30/05/25 Птн 16:03:25 3466033 240
>>3466029
>Ну типа ты можешь больше забить и просто использовать null напрямую, кто тебе мешает? В филдах-то ты не будешь же использовать Optional/

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

Впрочем, сейчас с наличием JSpecify я бы действительно попробовал избавиться от опшеналов в пользу @Nullable и посмотреть что получится. Пока руки не дошли.
Аноним 30/05/25 Птн 16:06:00 3466037 241
Аноним 30/05/25 Птн 16:31:02 3466067 242
>>3466025
>ключевая проблема билдера, что ты никак не можешь отметить обязательные и необязательные параметры семантически.
Это проблема не билдера, а немощи, которая его пишет и не знает про faceted builder.
Аноним 30/05/25 Птн 16:33:57 3466068 243
1748550503405739.png 53Кб, 450x394
450x394
Аноним 30/05/25 Птн 16:34:47 3466070 244
>>3466067
> faceted builder
Хм, т.е. запихнуть в конструктор/фабрику билдера обязательные параметры. Ну кстати круто. Лобок так не может и генератор идеи тоже. Руучками писать :3
Аноним 30/05/25 Птн 16:48:59 3466087 245
>>3465993
>Какой мне чел сверху гарантирует, что Optional сам не будет null?
Наверное тот кто этот код сверху писал, скорее всего это ты же и есть, ты же наверное больше одной функции написал в проекте. А когда управление приходит извне - можно и проверить, если паранойя накрывает.
Интересно кто-нибудь когда-нибудь вообще, со времен введения опшоналов, получал ли нулл там где ожидался опшонал в реальном коде? Вот на обычных ссылках ловят НПЕ постоянно и довольно урчат.
Аноним 30/05/25 Птн 17:00:19 3466103 246
>>3466087
Ну это я просто для гиперболизации писал. Вот обычные аргументы, мне никто не гарантирует, что они не будут nullable. Т.е. придётся ставить какую-нибудь хурму типа @NotNull. Ладно аргументы, а кто гарантирует, что в филдах тооочно никто не подсунет с учётом, всяких хиберов.. Смотря дальше, а кто гарантирует, что в коллекциях нет null?
В принципе.. я бы хотел язык в котором вообще нет null, т.е. подтипа всех типов, который можно создать. Он не должен иметь такую возможность.. Это сущность вроде while(true); что-то, что никогда не будет окончено или выкидывает исключение.. В котлин это Nothing
Аноним 30/05/25 Птн 17:19:05 3466118 247
>>3466070
>Хм, т.е. запихнуть в конструктор/фабрику билдера обязательные параметры
Нет, немощь. Так как ты говоришь, лобок может.
Аноним 30/05/25 Птн 17:21:00 3466120 248
Аноним 30/05/25 Птн 17:22:37 3466122 249
В чём проблема то у вас? NPE боитесь?
Аноним 30/05/25 Птн 17:41:20 3466136 250
>>3466120
Чатгопоту попроси.
Аноним 30/05/25 Птн 22:58:31 3466341 251
>>3465840
как без нулов собирашеься писать связанный список или дерево?

проблема нулл в том что это хуевое решение, но простых альтернатив так и не появилось
Аноним 30/05/25 Птн 23:44:34 3466362 252
exmaple1.JPG 26Кб, 487x590
487x590
>>3465993
>Отсутствие этого - https://en.wikibooks.org/wiki/Haskell/do_notation
Не понял
bind - это же литерали просто присвоение локальной переменной в скоупе
then - это просто вызовы в контексте одного объекта
>In Haskell, we can chain any actions as long as all of them are in the same monad.
То есть определил объект монады, определил у него экшены и все их вызвал в скоупе этого же объекта. Даже статья пишет
>This sequence of instructions nearly matches that in any imperative language.
Что тут космического? И вот из-за этого был весь сырбор?
Аноним 30/05/25 Птн 23:49:30 3466363 253
Аноним 31/05/25 Суб 00:36:32 3466380 254
>>3466363
Это же паттерн. Как по твоему они должны были появиться? В виде чего?

Ты сам их определяешь так то. Более того, не для каждого типа нуль-обьект единичен или вобще существует.
Аноним 31/05/25 Суб 00:50:28 3466385 255
>>3465967
>На джаве давно это уже не надо писать
А как надо?
Аноним 31/05/25 Суб 01:08:18 3466391 256
>>3466362
В Optional уже существует байнд - flatmap. Для передачи значения между байндами требуется вложение лямбд. Что я уже в коде показывал.
Проблема в этом вложении, ну.. при неправильной логике боюсь это просто в пиздец превратится. Способа как-то убрать это вдоженность, наверное и нет.
Плюс помимо сложности этого апи, старое с null никуда не исчезнет. Null везде, он может вылезти откуда угодно, делать иные на каждый чих - маразм, но и статический анализатор не сможет исключить все случаи, только самые простые.
В такой парадигме опшионал ни то, ни сё.

Неповоротливое квазимодо, которое В сущности ничего и не меняет. Может жеп с notnull value type что-то изменит..
Аноним 31/05/25 Суб 01:12:15 3466393 257
>>3466391
Ебанное т9..
>неправильной логике
Нетривиальной логике*
>иные
ифы
Аноним 31/05/25 Суб 10:33:43 3466496 258
>>3466363
вот смотри, у тебя связанный список, последний элемент возвращает NullObject next и дальше что?

next->isNull() ? в котором (value == null ) ?

next->getNext() != null ?

next->getNext() != NullObject() ?

next instanceof NullObject ?

А еще есть варик

NullObject->next() {
throw new \RuntimeException('Object null');
}
Аноним 31/05/25 Суб 10:40:15 3466499 259
>>3466496
Ну сделай ты sealed интерфейс Node. У него два final наследника NullNode и ValueNode. Потом в pattern for switch на ищи определишь, нулевая нода у тебя или нет. Это называется тип сумма.
Аноним 31/05/25 Суб 11:38:09 3466511 260
>>3466496
>next->isNull() ? в котором (value == null ) ?
У тебя там value может вообще не быть, тебе всего-то нужно имплементация метода которая все время возвращает true. Зачем тебе value?
Аноним 31/05/25 Суб 11:48:22 3466516 261
>>3466499
>>3466511

В чем профит таких приседаний в конечно итоге?
Я к тому что null реально проще, от него сложно отказаться.
В любом случае ты где-то об null наебнешься, либо на бэке, либо на фронте (web\десктоп) и должен будешь как-то его обрабатывать.
Лично мое мнение запись типа userRepository.findById(userId).orElseThrow(()
-> new NotFoundException("user not found")
);

Вполне удовлетворяет и fast fail и позволяет уйти от заебавшего все if (user != null)

Не, ну конечно есть варик сделать null - объектом, и я думаю это первое что пришло разрабам в голову, но раз его не запили в спеку, значит есть причины.
Аноним 31/05/25 Суб 12:19:23 3466527 262
>>3466363
В чем суть паттерна, как java поймёт что ей надо создать экземпляр класса который нихуя не делает? Типа ебанули паттерны, а в коде все равно проверять x == null ? new NpeX() : New X(). Поесняйте, я сеньор, мне надо знать.
Аноним 31/05/25 Суб 12:34:30 3466533 263
Ебать вы конечно тут срач устроили, все эти паттерны это наебка.
О мы вместо одного метода в 500 строк с сотней if-ов сделали сотни имплементаций в каждой переопределя метод в 5 строк, и класс обертку со свитчем, ебать мы архитекторы, стало работать медленно, но как красиво в коде ммм.
О мы теперь не проверяем на null, мы все оборачиваем в опшинал и проверяем что он не nullпишем flatmap orelse ЭТА ДРУГОЕ ПАНИМАИТИ!11
Ты сервелеты используешь и вытаскиваешь бади ты легасидаун надо аннотации омном

Пропущено 1000 ответов, тред #9999
Паграмирование это просто для лутания бабок, какая разница на чем писать и как, особенно кекаю с дегенератов с настройкой отступов и и портов, ты свернул ттри импурта надо когда их 5!!111
Аноним 31/05/25 Суб 13:08:04 3466549 264
>>3466533
Хоть кто-то не побоялся тут написать, что бОльшая часть паттернов приводят к замедлению кода.
Аноним 31/05/25 Суб 14:06:50 3466581 265
>>3466516
>Лично мое мнение запись типа userRepository.findById(userId).orElseThrow(()
>-> new NotFoundException("user not found")
>);
Так ты с таким же успехом можешь и без всяких опшоналов просто НПЕ ловить
Аноним 31/05/25 Суб 14:08:09 3466582 266
>>3466527
А как сейчас джава понимает что нужно создать одну имплементацию интерфейса, а не другую? Ты ей говоришь.
Аноним 31/05/25 Суб 14:21:45 3466591 267
>>3466581
>Так ты с таким же успехом можешь и без всяких опшоналов просто НПЕ ловить
Я за два дня таки не понял о чём спор, трай кач обмазать, в лог записать и вернуть ок 200 еррор тру
Аноним 31/05/25 Суб 15:53:37 3466628 268
Привет, а что по собесам сейчас в java? Сидел лутал зп ниже рынка на одном полулегаси проекте. Осенило, что не развиваюсь больше по скиллам, да и денег галера жмёт даже проиндексировать раз в пол года, обновил резюме, максимум профитно описал ласт проект (хайлоад микросервисы все дела) и за 2 недели пуша/откликов ни 1 собеса и скринига. Резюме до 2025 года было рабочим и более менее конвертировалось в собесы. Может я чего-то не понимаю конечно.
Аноним 31/05/25 Суб 16:17:41 3466640 269
>>3466628
мяушит. Надо активнее откликаться и бегать за хрюшами похоже. У меня скоро деньги закончатся, уже подумываю в курьеры идти. Ещё зимой активно писали сами, щас игнор или отказы. Ну может ещё лето, не сезон, все в отпуска сьебуют
Аноним 31/05/25 Суб 16:26:18 3466653 270
screen1.png 127Кб, 972x511
972x511
screen2.png 78Кб, 909x529
909x529
>>3466628
Времена тяжелые. Нужно за кабанчика держаться и терпеть, как деды.
Аноним 31/05/25 Суб 17:05:28 3466672 271
>>3466653
>>3466640
Ну я пока на галере трудоустроен, но сил больше одноклеточные таски делать нет, до последнего тяну перед тем как в работу взять и максимально пинаю хуй. Скоро заметят, так как время описываем в задачах. + так как это галера, то набирают джунов аналитиков и продают как сеньеров, ни разу почти тз нормальное никто написать не в состоянии, скоро бомбану от лишний работы из-за долбаеба на том конце интернет кабеля, который просто перечитать что написал не в силах.

Алсо, подписан на группу Назарова в режиме рид онли с фейка. Там люди как-то устраиваются. И даже не в го. Может есть новые техники какие? Дикпик там вместо авы в резюме к примеру.
Аноним 31/05/25 Суб 17:11:14 3466676 272
А и ещё за все время, а я ещё в начале весны перед отпуском пытался поискать работу, почти лутанул 1 оффер. Ржд, 3 дня офиса в Домодедово, нет аккредитации. Пол собеса расспрашивали про опыт, пытаясь поймать на лжи, потом минут 15 стандартных джавовских вопросов. Просил 250 за 3 года опыта, работать бы туда не пошёл, но в чем цимес, hr написала что готовят оффер, полторы нежели делала голову, а потом написала, что директор не согласовал 250 на руки. Скорее всего нашли веатуна за 200.
Ну им же хуже, насколько я понял от челиков у них там нагрузка 1000rpc и их сервисы не выдерживают, все горит и нужна рабочая лошадка срочно.
Аноним 31/05/25 Суб 17:47:50 3466694 273
>>3466676
Ну я 10+ лет опыта ищу за 180-200, выше мне кажется не реально, демпингую, надеюсь быстрее возьмут, жена уже косо смотрит, мол мне чё на работу тоже столь идти
Аноним 31/05/25 Суб 18:02:22 3466702 274
>>3466694
Если это True, то я очень разочарован ситуацией в целом.
Хотя, учитывая сколько no skill тел проходило собесы и устравивалось с 0 на 250 + политика государства, было ожидаемо что будет, мягко скажем, хуевато. Я просто отдыхал и не предпринял превентивных мер не научился варить металл
Жаль, мне искренне нравится разработка если убрать всю эту корпоративную херню, бюракратию и волков. Будем терпеть получается и толкаться.
Аноним 31/05/25 Суб 18:12:10 3466709 275
>>3466672
Самый рофл с этих одержимых волками эйчаров и задротов-душителей, что допросами они задавливают омежек программистов и скипают их ошибочно. А волки, которые замаксили софтскиллы на работе барменом, все равно легко просачиваются на пиздеже даже в крупнейшие конторы типа альфы и иннотеха
Аноним 31/05/25 Суб 20:05:33 3466761 276
>>3466702
А что это блять, false? Я хз почему так ю, но когда я смотрю что на эту вакансию уже 500 откликов, мне ясно почему меня игнорит, остаётся только долбить напрямую на мыло зрюшам свое резюме или типо того. Или я хз, караулить их у подъезда, как раньше они нас
Аноним 31/05/25 Суб 20:12:42 3466763 277
>>3466694
Я 10+ лет опыта тоже братан, сейчас в линкеде скинули вакуху на 10к долларов в Дубай, но мне чет лень. И так нормально зарабатываю.
Аноним 31/05/25 Суб 21:39:45 3466794 278
К накрутчикам опыта как итт относятся?
Аноним 31/05/25 Суб 22:21:15 3466808 279
>>3466794
база, по другому никак
Аноним 31/05/25 Суб 22:25:38 3466811 280
Есть какие-нибудь мысли, что будет с рынком в будущем?
Текущая ситуация очень какая-то НЕ ОЧЕНЬ, крутят все, крутят очень дохуя, выдумывать легенду умеют. Как в таком мире пиздежа конкурировать? Быть гига пиздаболом?

Поменяется/закончится ли это когда-то?
Аноним 31/05/25 Суб 22:34:51 3466815 281
сап джавач, взяли на работу, в понедельник первый рабочий день в моей жизни
на проекте используется сырой sql (работа с ГИС, дохуя отчётов и прочее)
как чаще всего эта тема реализуется? чистый jdbc? или jdbc template?
ссу ужас просто, сейчас сижу с самого утра повторяю всё что знаю, ощущение - будто бы я вообще нихуя не могу и не умею, пиздос
Аноним 31/05/25 Суб 22:40:42 3466820 282
>>3466815
>как чаще всего эта тема реализуется? чистый jdbc? или jdbc template?
Какая разница? Главное как у вас на проекте будет.
>ссу ужас просто
Вообще хуй забей, собеседование пройти самое сложное, а это уже позади.
Аноним 31/05/25 Суб 22:42:14 3466821 283
>>3466820
>Какая разница
хочу заранее более-менее подготовиться
>собеседование пройти самое сложное
в этом и проблема, собеса то особо не было, лол
>sql знаешь? агрегацию оконки знаешь?
>да
>расскажи разницу между синглтон и прототип
на этом всё, с 1 минуты собеса было понятно что взяли, не знаю почему так
Аноним 31/05/25 Суб 22:52:46 3466831 284
>>3466808
А если накрутчик заучил вопросы, но не в состоянии создать таблицу и написать простейшую круд апи к ней?
Аноним 31/05/25 Суб 22:55:41 3466832 285
Аноним 31/05/25 Суб 23:10:48 3466844 286
>>3466811
Х3, я го учу и пойду врать туда, не хочу любимую джабку осквернять ложью и там вилка больше и нет ебучего сбера и я за последний месяц так часто переписывал резюме, эксперементируя с описанием и накидывая год опыта, что у меня уже на старые вакансии автоотказы везде
Аноним 31/05/25 Суб 23:13:15 3466846 287
А если по-чеснаку, сам сижу без собесов и оферов, работа ещё есть, опыта настоящего мало (2 года иду нахуй по фильтрам) и компании галеры. В честную проигрываю волку по всем параметрам кроме скилов, только их никто не увидит.
Аноним 31/05/25 Суб 23:19:28 3466847 288
>>3466846
*И компании в резюме - галеры
Аноним 31/05/25 Суб 23:30:39 3466848 289
>>3466821
К тому, чего не знаешь, не подготовишься. Выдыхай.
Какая зп?
Аноним 31/05/25 Суб 23:37:46 3466853 290
>>3466846
Хз, мне кажется опытному синьку легко прочитать волчару.

А какие боли ты испытал при разработке? Какие грабли ловил?
Какую самую сложную задачу решал?
В чем сложность?
А как решал?
А как понял что надо так решить?

А какой проект с которым ты работал тебе больше понравился?
А почему?
Аноним 31/05/25 Суб 23:42:44 3466854 291
>>3466844
Ты на одном аккаунте чето редачил, тем более опыт, конеш там пизда будет. Если я тебя правильно понял
Если хочется редачить опыт это 100% новый акк на хх надо регать
Аноним 31/05/25 Суб 23:43:31 3466855 292
>>3466854
А контакты? Агрегаторы сматчат в два счета
Аноним 31/05/25 Суб 23:46:11 3466857 293
>>3466854
Да, правильно понял, уже купил новый тг акк и зарегал hh с помощью смс сервиса. Накину наверное год до 3шки и порефакторю резюме, мейби фамилию сменю на семейную.
Аноним 31/05/25 Суб 23:50:24 3466860 294
>>3466853
Фильтры у hr в основном на 3 года опыта стоят, я если не накину год то до технички даже не дойду.
А так да, собесы что были раньше, были очень направлены именно на опыт. + внезапно спрашивали всякие мелочи которые только с опытом можно знать.
Аноним 31/05/25 Суб 23:51:05 3466861 295
b62c41190a514b3[...].jpg 1040Кб, 2560x1707
2560x1707
Какая же жава охуенная, хоспаде. Хоть и перекатился на фронт но на литкоде до сих пор задачки на жаве пишу и кайфую. Джавабогам моё почтение, остальным соболезную
Аноним 31/05/25 Суб 23:54:51 3466864 296
>>3466855
Тут только почта, телега, и номер новые нужны. Первое меняется элементарно, второе меняется вместе с третьим, а третье стоит небольшую денюжку (если у тебя хороший оператор - то вообще копеечку)
Аноним 01/06/25 Вск 00:01:36 3466866 297
>>3466864
Номер не обязателен, можно указывать что желаемый контак для связи тг. Тг акк купил за 300р примерно и чуть чуть на холде подержал, ничего не делая на нем, что бы не забанили.
давно не капчевал очень и новая капчп уже порядком заебала меня
Аноним 01/06/25 Вск 00:02:39 3466867 298
>>3466853
Глубоко в эти вопросы обычно редко копают, часть из того что ты описал часто даже не спрашивают. Ответы на них на приемлемом уровне можно узнать из видосиков на ютубе всяких (мок собеседования, видосы про рабочие процессы, про подобные "каверзные" вопросы на собеседованиях и прочее)
Аноним 01/06/25 Вск 00:11:23 3466869 299
>>3466866
Номер же там в любом случае в резюмехе обязательный, причём сделать новый номер и на него уже телегу даже чуть дешевле выйдет чем то, что ты описал (а у хороших операторов вообще копеечка, 50 рублей например у одного оператора стоит подключить доп номер)
Аноним 01/06/25 Вск 00:16:39 3466873 300
>>3466869
Я в теле2 подключил да, за 50р, а тг на него не регалось, вроде потому что уже было зарегано, не помню. Пришлось покупать отдельно акк.
Аноним 01/06/25 Вск 00:46:49 3466879 301
У тинька бесплатные номера ребят
Аноним 01/06/25 Вск 00:52:23 3466880 302
>>3466879
А связь как? Думал перейти на него недавно. Спасибо за инфу.
Аноним 01/06/25 Вск 01:00:54 3466883 303
>>3466880
Не пользовался, чисто как е-сим на мобиле висит, для регистраций всяких (на хх том же) и тд. Но часто вижу что палочки связи почти всегда фулловые, в отличие от моего основного номера мтс
Аноним 01/06/25 Вск 06:54:29 3466915 304
>>3457776 (OP)
Как упростить свою работу, если угораздило писать на джаве? Бойлерплейта - просто пиздец
Аноним 01/06/25 Вск 08:53:32 3466932 305
>>3466848
45 оклад на первое время, потом как адаптируюсь/вольюсь + премия (будет около 70)
Аноним 01/06/25 Вск 08:59:29 3466936 306
>>3466880
>А связь как?
хуета, пользовался пол-года есим т-банка, хуйня/10, она ещё и конфликтовала с 2 симкой
Аноним 01/06/25 Вск 14:12:16 3467066 307
>>3466932
пиздец, я в 2012 на такую пришёл
Аноним 01/06/25 Вск 14:38:20 3467085 308
>>3466932
кто ты такой и откуда?
мне реально интересно откуда берутся такие герои которые готовы пахать за 70к в айтишке
Аноним 01/06/25 Вск 14:45:25 3467094 309
1.png 279Кб, 543x951
543x951
Аноним 01/06/25 Вск 14:47:00 3467095 310
>>3467085
Работы нет же, хули делать, я бы тоже согласился. Тем более если он из провинции
Аноним 01/06/25 Вск 15:09:18 3467113 311
Писал в биг тех тред, но никто не ответил, может тут подскажут.

Сап, как дела у российского бигтеха с анкетами на сб и вообще как тщательно проверяют?
Был офер в сбер, но отлетел по сб. Скорее всего из-за близкого родственника наркомана у которого на сайте приставов 2 страницы дел с микразаймами. Ну и сам не без греха, в студенческие было две административки за распитие в общественном, у общаг ловили.
В условный авито/озонон/яндекс пройду? Яндекс на самом деле больше всех интересует, так как прошёл алгосы недавно и жду финалы.
Ну и в озон может в будущем на гошке попробую пособесится.
Понятное дело родственника никуда не спрятать, пугает перспектива работать всю жизнь на галерах без премий и за миску риса, пока какой-ниюудь средний разраб, устроены напрямую в сбер, лутает огромную премию и работает 2 секунды в неделю.
Аноним 01/06/25 Вск 16:41:23 3467169 312
Как происходит процедура принятия оффера? Вот допустим прошел я один собес, дали мне оффер. Я теперь хочу пройти собес в другой компании и посмотреть что предложат там. Какой срок обычно дается на решение по первому офферу?
Аноним 01/06/25 Вск 18:40:37 3467219 313
>>3467169
Как договоришься, обычно неделю-две дают. Бывает наоборот компания тупит и например та же СБ джве недели проверяет. Часто прям спрашивают проходишь ли собесы ли куда-то ещё и когда готов принять решение.
Аноним 01/06/25 Вск 18:49:42 3467224 314
>>3466853
Ответы не волка из бигтеха
>А какие боли ты испытал при разработке? Какие грабли ловил?
Геморрой 3 ст. Больно сидеть и ходить в туалет
>Какую самую сложную задачу решал?
Что написать в форме для перфоманс ревью, когда полгода не было нормальных задач
>А как решал?
Расписывал каждую мелкую задачу как неебаться сложную и важную
>А как понял что надо так решить?
Тимлид сказал: ну напиши там что-нибудь
Аноним 01/06/25 Вск 19:09:51 3467242 315
>>3467219
То есть надо планировать все собесы примерно в одно время?
Аноним 02/06/25 Пнд 04:41:49 3467380 316
Для чего нужна java, если речь не про ковыряние старых проектов?
Аноним 02/06/25 Пнд 07:24:37 3467398 317
>>3467380
Не для чего. На java остались только старые проекты. Новые стартуют на Go и C#. Есть еще очень маленький процент проектов на Kotlin, но там 99% мобилки. Ну и в последние несколько лет старые проекты на java переписывают на Go
Аноним 02/06/25 Пнд 12:26:46 3467543 318
>>3467380
Для того чтобы быстро и удобно висать код с кучей спомогательных тулов и библиотек и не ебать мозги с управлением памятью, заголовками, if err != nil'ами, тайп хинтами и всем остальным.
Сейчас по долгу службы периодически пишу и на С++ и блять, какое-то же это удовольствие писать на джаве. Рефакторинг легчайший, компиляция быстрая, все типы ИДЕ резолвит на раз. Пока не попробуешь писать на чем-то другом и не поймёшь насколько же писать на джаве легко, весело и молодёжно.
Аноним 02/06/25 Пнд 12:30:13 3467547 319
>>3467066
Нет, ты пришёл на оклад в 1700 долларов, а он в 600
Аноним 02/06/25 Пнд 12:55:11 3467572 320
>>3467543
Смешно читать подобное. По факту я вижу как матерые сеньки и даже мидлы понимая, что им пизда, спешно переходят на гошку даже с понижением грейда
Аноним 02/06/25 Пнд 13:21:37 3467609 321
>>3467572
Тоже самое наблюдаю и сам уже учу гошку нравится даже
мимо даже мидл
Аноним 02/06/25 Пнд 13:27:26 3467618 322
Только вот когда все перекатятся в гошку че делать будем?
Аноним 02/06/25 Пнд 13:29:13 3467620 323
>>3467572
Да, это так, у нас те к то не смог перейти на гошку кидаются с обрыва, т.к. карьера по сути закончена и дальше пути нет. Везде, куда бы они ни пошли - в походке, во взгляде, в манере речи - всё в них выдаёт джавистов.
Аноним 02/06/25 Пнд 13:30:28 3467623 324
>>3467618
>Только вот когда все перекатятся в гошку че делать будем?
Сделаем новый яызк, который парой ключевых слов отличается от шогки и будем форсить его кровь-из-глаз как долгожданное решение всех проблем.
Аноним 02/06/25 Пнд 13:50:13 3467634 325
>>3467609
Мне не нравится, что язык считает каждого программиста идиотом. Точнее не это, а то как он решил решить проблему - тотальный упрощением и невозможностью (по крайней мере декламацией) писать что-то сверхсложное.
Какой-то крайне раковый путь, который программистов низводит до уровня бухгалтеров, которые бумажки туда сюда перекладывают, а вот вы жсоны. При таком снижении требований незаменимость тоже снижается и нейронов таких вот упрощателей гораздо быстрее заменит как по мне.
Аноним 02/06/25 Пнд 13:58:25 3467638 326
>>3467634
А мне нравится зп получать и заниматься программированием, а на каком языке или стеке - до пизды, подстраиваюсь под рынок.
Я до этого по фану скалу изучал и фп вообщем, вот там пиздец да, а гошка изи залетает, даже прикольно, можно оказывается не писать очередную ProxyAbstarctFabcircZalupaService и все будет работать. Очень хочется на норм прод проект посмотреть на го.
Аноним 02/06/25 Пнд 14:02:26 3467640 327
>>3467623
Как-будто это каждый раз и происходит
Аноним 02/06/25 Пнд 14:12:38 3467645 328
>>3467638
Этот прав, кста. Сколько раз не приходил на проект и там все эти Контроллер, СервисИмпл имплемент Сервис, Рипазитари. Плюс килотонны кода и все свалено в сервис со 100500 зависимостями. Ну и вишенка на торте - тесты на моках. А если еще в тиме лид дебил и заставляет всякую хуйню руками писать и потом на нее еще и тесты делать - это вообще забей. Ну и магия - много магии, начиная от спрэнг фримверка и заканчивая всякими ноунейм помоями
Аноним 02/06/25 Пнд 14:12:58 3467646 329
>>3466815
Я работаю в практически такой же сфере, только без джавы

мимо из треда по бд
Аноним 02/06/25 Пнд 15:59:26 3467735 330
>>3467543
>if err != nil'ами
Т.е. в java подобные проверки делать нет смысла?
Аноним 02/06/25 Пнд 16:10:42 3467738 331
>>3467640
>>3467638
>можно оказывается не писать очередную ProxyAbstarctFabcircZalupaService и все будет работать
Удивительно, но это можно делать и на джаве, да и вообще на любом языке
Аноним 02/06/25 Пнд 16:12:09 3467741 332
>>3467735
В джаве у тебя есть выбор, можешь делать так, можешь кидать эксепшены. Пару раз проверить err != nil в принципе ок, но в го это совсем в пиздец превращается
Аноним 02/06/25 Пнд 16:13:49 3467743 333
>>3467645
Ну так никто не запретить тебе всё это и на го написать, было бы желание
Аноним 02/06/25 Пнд 16:58:48 3467765 334
>>3467618
Вы попробуйте на го написать что-то сложнее микросервиса перекладывающего жсоны. Вы охуеете.

Мимо свичнулся из джавы в го
Аноним 02/06/25 Пнд 17:00:40 3467768 335
>>3467765
Давно свитчунулся или после зимы 2025?
Если втрое интересно было бы послушать как долго и сколько собесов было
Аноним 02/06/25 Пнд 19:08:56 3467848 336
>>3467741
Эх, вот если бы гошники сделали нормальные тайп суммы, а не эту поеботу, то этих проверок можно было бы легко избежать.
А вот использовать эксепшены говнокодинг как раз уровня err!=nill.
Аноним 02/06/25 Пнд 19:10:44 3467851 337
вот и прошёл первый рабочий день
пол дня ебался с доступами - пол дня ебался с задачей, не справился
на проекте используется vaadin, написано около 300к строк, НИХУЯ НЕ ПОНЯТНО ВООБЩЕ ЧТО ЭТО ЗА ПИЗДЕЦ
ковырял sql запрос на 3 ширины монитора - нихуя не получилось
ну, не всё сразу, буду ебашить пока получается
Аноним 02/06/25 Пнд 19:14:55 3467853 338
>>3467765
Это у тебя не прошла интоксикация джавой, организм еще не очистился. Скоро наступит просветление. Будешь охуевать с ебанутых, которые на каждую задачу высирают 10 слоев абстрактных абстракций.
Аноним 02/06/25 Пнд 19:19:04 3467856 339
>>3467765
>>3467618
>>3467853
моя мечта писать на go
но джуновских вакансий нет
придётся пару лет джавы оформить а потом вкатиться в нормальный язык
мужики главное дождитесь меня
Аноним 02/06/25 Пнд 19:26:05 3467862 340
>>3467848
лол нет конечно, потому что тебе все равно нужно будет возвращать управление обратно по стэку при ошибке, тайп суммы тебе в этом не помогут, без эксепшенов это обречено на лес return'ов по-любому
Аноним 02/06/25 Пнд 19:27:15 3467864 341
>>3467856
пиши на джаве как на го, что мешает?
Аноним 02/06/25 Пнд 19:52:20 3467878 342
Аноним 02/06/25 Пнд 20:16:33 3467886 343
image.png 19Кб, 567x241
567x241
>>3467862
Ты не совсем видимо понимаешь как это работает. Вот пример этого "магического" принципа. https://pastebin.com/MceeBzHw

Переполнение стека не возникает из-за того, что Optional.empty умеет схлопываться. Ну проще говоря, Optional.empty().map(x -> ...) не выполнит код в лямбде. Это свойство ооочень похоже на резкий возврат по стеку вверх и это то, что го делает иным способом - через err != nill.
Ключевая разница между map и проверкой, ты не сможешь забыть написать map. Тебе CE кинут или воринг, если просто get без ничего.
Ну вот этот err - этот тот же Optional, только вместо EMPTY, у него какая-то ошибка лежит, он должен быть либо ошибкой, либо нормальным значением. В го ситуация иная - он может быть и тем и другим одновременно. Что как бы принципиально исключает возможность схлопнутся, а еще дает простор для ахуительных выдумок как на пике.
Аноним 02/06/25 Пнд 20:17:08 3467888 344
Какую ide вы используете?
Что вы думаете о VSCode для Java, удобно ли им пользоваться, если нет возможности купить intellijIDEA?
Аноним 02/06/25 Пнд 20:19:11 3467891 345
Стикер 0Кб, 512x512
512x512
>>3467888
ультимейт идея крякается за минуту, в ютубе ищи
Аноним 02/06/25 Пнд 20:19:33 3467892 346
>>3467891
сука я случайно на йобу нажал
Аноним 02/06/25 Пнд 20:19:56 3467894 347
Когда рыночек то оживет уже? Призываю экспертов оценить ситуацию

Я ХОЧУ РАБОТАТЬ
Аноним 02/06/25 Пнд 20:27:55 3467901 348
Нахуй вам ультимейт идея? В комьюнити версии есть все.
Аноним 02/06/25 Пнд 20:29:29 3467902 349
>>3467886
Тип монады Either<L, R> не хватает?
мимикрокодил
Аноним 02/06/25 Пнд 20:30:24 3467903 350
>>3467901
Ultimate spider man в сосничестве казался таким пиздатым, но у меня не шел. До сих пор детская травма наверное.
Аноним 02/06/25 Пнд 20:32:53 3467906 351
>>3467902
Да не обязательно целый either, хватило бы как в ts, возможность через | типы делать. Там они ещё прикольно из-за if сокращаются, типо можно проверить, что это не ошибка и в теле условия ts точно знает, что это не ошибка..
Аноним 02/06/25 Пнд 20:34:59 3467907 352
>>3467906
Я ts плохо знаю прост.
Со скалой игрался там либо полноценные монады вида Try, Either etc.

Либо тайп суммы делаются через
sealed and case clasess
Аноним 02/06/25 Пнд 21:17:12 3467925 353
>>3467848
>как раз уровня err!=nill.
А как тогда без этого?
Аноним 02/06/25 Пнд 21:25:39 3467930 354
>>3467925
Ну.. Не использовать эксепшены для логики? Они для исключительных ситуаций как бы.
Надо каким-то образом протягивать в сигнатуре информацию об потенциальных ошибках прямо до верха, контроллера т.е. А не скрывать это непонятно где. Жава пыталась выразить это через checked exception, но чет как-то жаванам не зашло.
Аноним 02/06/25 Пнд 21:52:19 3467940 355
>>3467930
>Надо каким-то образом протягивать в сигнатуре информацию об потенциальных ошибках прямо до верха, контроллера т.е. А не скрывать это непонятно где. Жава пыталась выразить это через checked exception, но чет как-то жаванам не зашло.

Ну так потому что хрень это.

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

Вот представь себе интерфейс:

interface User {
String name();
}

Ты сходу можешь ответить по одной лишь этой декларации, какие чекед эксепшены должны быть в сигнатуре метода name? Сразу отмечу: в имплеементации смотреть - читерство. Ты заранее не знаешь, не можешь и не должен знать, куда конкретная имплементация пользователя полезет за этим именем, равно как не можешь знать заранее всех имплементаций этого интерфейса.
Аноним 02/06/25 Пнд 21:57:02 3467942 356
>>3467940
>Ты сходу можешь ответить по одной лишь этой декларации, какие чекед эксепшены должны быть в сигнатуре метода name?
Да, чекед - никаких.
Аноним 02/06/25 Пнд 21:59:32 3467945 357
>>3467242
Я помню ебошил по 3-4 собеса в день. Специально в тетрадочку в линию записывал.
Всегда говорил, что да ищу работу. Может вафлиться сколько угодно уже офферы пошли. Потом звонили уговаривали мол идемте к нам, даже устроили ралли по зп.
Кайф, охуенно был момент я в итоге в зп иксанулся.

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

Вот бы еще такую же многоходовочку.
Аноним 02/06/25 Пнд 22:02:47 3467948 358
>>3467572
>> спешно переходят на гошку даже с понижением грейда
вот объясни мне, почему такой форс этой гошки?
меня лично от него блевать тянет
назови хотя бы 2-3 киллерфичи
Аноним 02/06/25 Пнд 22:08:32 3467951 359
>>3467940
Нуу... Можно так
interface User<T> {
String name() throws T;
}

Впрочем это скорее проблема ваших абстракций, а не самой концепции чекедов. Но я тоже согласен, что ну хуевато вышло и плюс конфликтует с лямбдами, в частности пиздец как "удобно" это все чудо в стримах обрабатывать.
Аноним 02/06/25 Пнд 22:10:31 3467952 360
>>3467942
Отлично. А теперь представь себе клиентский код:

public static showName(User user) {
System.out.println(user.name());
}

User user = new GithubUser(githubKey);
showName(user);

Вот ты говоришь:

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

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

Предположим, что имплементация GithubUser, которая выгребает имя пользователя из GitHub API, по честному прокидывает в сигнатуру возможное исключение, связанное с невалидностью API-ключа или недоступностью API. Представим даже что джава на говно не изойдет из-за того, что чекед эксепшенов, которые у тебя надекларированы в сигнатуре GithubUser::name нет в сигнатуре User::name.

Вопрос.

Кому всралась эта инфа с учетом того, что присвоив GithubUser переменной типа User ты ее просто проебал для всего кода, который работает с этой переменной? Внутри метода showName ты попросту не знаешь и знать не можешь, что тебе может отчеблучить user, которого тебе передали извне. У компилятора просто не остается ручек чтобы понять, что ты забыл чего то обработать.

И зачем тогда это все?
Аноним 02/06/25 Пнд 22:22:24 3467957 361
>>3467951
Ок, можно и так попробовать. Можно даже прикрыть щас глаза на то, что джава с генериковыми эксепшенами дружит плохо, и совать дженерики в эксепшены обычно плохая идея.

Но этим мувом ты не решаешь вопрос. Ты наоборот все усложняешь. Возьмем опять пример отсюда:

>>3467952
>public static showName(User user) {
>System.out.println(user.name());
>}

Ну будет у тебя с учетом сигнатуры выше не такой вариант, а такой:

public static showName(User<?> user) throws Throwable {
try {
System.out.println(user.name());
} catch(Throwable t) {
throw t
}
}

Что - лучше стало чтоли?

В чем то даже неа гоу кстати похоже...

Ты можешь возразить здесь что я ССЗБ, и надо было не знак вопроса ставить в дженерик, а конкретный тип эксепшена. Но тогда ты мне полиморфизм гробишь. Метод, который я раньше мог переиспользовать для абсолютно любого пользователя, становится менее переиспользуемым хуй знат ради чего.
Аноним 02/06/25 Пнд 22:23:10 3467958 362
resultjava.JPG 38Кб, 891x668
891x668
>>3467888
>Что вы думаете о VSCode для Java
Блокнот
>если нет возможности купить intellijIDEA?
Community
>>3467906
Ну так через дженерики пары всё нормально передаётся, потом свичается по энуму и всё, типы доступны, на компиляции проверяется по дженерикам
Аноним 02/06/25 Пнд 22:26:35 3467961 363
>>3467958
Ну-ка переделай нормально на типы суммы.
Аноним 02/06/25 Пнд 22:28:55 3467964 364
>>3467961
Всмысле "нормально"? Типы как типы, туда можно любые подставить, это дженерики обычные
Аноним 02/06/25 Пнд 22:31:59 3467968 365
>>3467894
Щас Набиуллина 6 июня ставочку в 19% установит и как заживём
Аноним 02/06/25 Пнд 22:34:56 3467970 366
>>3467957
Смотри. Знак вопроса что делает? Капит до верхней границы. Возникает вопрос, а почему у тебя верхняя граница это Throws? Ты че Error использовать собрался?
Дем дальше, я думаю использовать фичу с тем, что подтипирование есть тип сумма. И ещё один неочивидный факт - ты в одном стене не можешь одновременно выкинуть более одной ошибки.
Совмещая оба этих факта, ты можешь сделать UserException, наследники которого возникают в имплементациях. Таким образом, если ты хочешь взять любого юзера, то будь добр, обработай все возможные ошибки всех возможных имплементаций.
Что тебе конкретно не нравится и как это вообще должно выглядеть иначе-то?
>>3467958
Речь шла про голанг, в котоом женерики многократно менее мощные. Да и в жабе давным давно есть тайп суммы. С добавлением sealed.
Аноним 02/06/25 Пнд 22:37:43 3467971 367
>>3467964
Sealed интерфейс Result с подтипами Success и Error и свич по типу с деконструкцией. Делай.
Аноним 02/06/25 Пнд 22:41:32 3467973 368
Кста, раз уж речь вошла в сторону функциАнальщины. Я до сих пор сижу на 8й джафе на своем проекте. На сколько мощный у джабы сейчас паттерн матчинг?
Аноним 02/06/25 Пнд 22:51:02 3467977 369
>>3467768
>Давно свитчунулся или после зимы 2025?
В 2023.

>>3467768
>Если втрое интересно было бы послушать как долго и сколько собесов было
Я не планировать свитчится, просто весь ФААНГ набирает без учета твоего текущего стека. Если очень интересно могу запилить кулстори, но это точно не релевантно дя 99% этой борды.

>>3467853
>Это у тебя не прошла интоксикация джавой, организм еще не очистился.
Я уже 3 года пишу на Го. Джава не то чтобы супер выразительный язык, но там хоть какие-то базовые вещи есть. Например в Го нет конструкторов, поэтому говей это - объявить публичный интерфейс, приватную структуру которая этот интерфейс реализует и метод New() который будет правильно инициализировать эту структуру. И конечно не забыть ебанину:
var _ MyInterface = (*myStruct)(nil)

>Скоро наступит просветление. Будешь охуевать с ебанутых, которые на каждую задачу высирают 10 слоев абстрактных абстракций.
У меня техлид пишет в Джава стиле на Го. Дело не в языке, а в ебанатах.
Аноним 02/06/25 Пнд 22:53:54 3467980 370
>>3467971
Уже бегу
>>3467970
>С добавлением sealed.
Силд калечный, он не распространяется на уже существующие классы
Аноним 02/06/25 Пнд 22:58:08 3467983 371
>>3467977
>Если очень интересно могу запилить кулстори
Давай, правда мне уже почти 30, у меня нет проф вышки, так что врядли я когда-то буду где-то даже близко с фаангом, но всегда интересно почитать.
Аноним 02/06/25 Пнд 23:11:23 3467990 372
>>3467970
>обработай все возможные ошибки всех возможных имплементаций.

Вот это и есть шоустоппер.

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

Сегодня у тебя есть GithubUser, который может падать из-за ошибок сети и ошибок аутэнтификации. Твой UserException - это NetworkError | AuthError, условно.

А завтра потребовалось читать пользователя из файла. Появилась новая имплементация: UserFromFile, и новая исключительная ситуация - FileException, которую ты приклеиваешь к своему UserException.....

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

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

>как это вообще должно выглядеть иначе-то?

Просто надо понимать, что есть исключения как языковая конструкция, и есть исключительные ситуации и это - принципиально разные вещи. Исключительные ситуации которые в общем случае - просто ситуации в рантайме, когда по тем или иным причинам продолжение выполнения программы невозможно. Говоря про исключительные ситуации, различают recoverable и non-recoverable случаи. И смысл в том, что для работы с каждым из типов требуются изначально разные по своей сути инструменты. Это так потому, что сами цели перехвата в каждом из двух случаев - принципиально различаются. В первом случае цель - не забыть обработать ошибку и восстановить контроль выполнения. Во втором - сделать fail fast, собрав максимум доп-инфы (стектрейс, значение локальных переменных).

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

Но зато, эксепшены отлично подходят для non-recoverable случаев. Они не замусоривают клиентский код нерелевантной инфой, но всегда оставляют возможность для своего перехвата (кроме разве что терминальных случаев, когда сама среда выполнения уже мертва). Но. Вышесказанное актуально только для unchecked эксепшенов.

В примере выше, интерфейсом я просто декларирую, что имя у пользователя обязано быть, а если его по факту нет - значит это non-recoverable исключительная ситуация - поэтому любое исключение которое могло бы выпасть из метода name будет unchecked. Вот и все. Если б контракт допускал его отсутствие, там был бы Optional<String> name().
Аноним 02/06/25 Пнд 23:18:10 3467994 373
image.png 92Кб, 803x827
803x827
>>3467990
>и у тебя взрывается нахуй пол кодовой базы
Так. Смотри, обработчик есть только в самом верху. Плюс еще прикольная вещь, вообще говоря женерики позволяют как бы проносить информацию, поэтому print1 будет содержать не UserException. Поэтому в принцииипе взрыва не должно быть.
>Они попросту хуево подходят для этого.
В принципе согласен, просто мне интересен сам процесс натягивания. Прикольно как бы понимать какие границы у той или иной языковой коснтрукции.
Аноним 02/06/25 Пнд 23:39:06 3467999 374
if err != nil {
__return nil, err
}
Это то же самое, что
try {
__puk();
} catch (PukException e) {
__throw e;
}
При этом метод должен указывать в списке throws супертип PukException, чаще всего Exception, в худшем случае Throwable.
Просто в яве есть выбор, использовать чекед эксепшены или нет, а гошников как обычно спросить забыли, и они анчекедом пукнуть не могут, а тех, кто пытается использовать panic для той же задачи, травят.
Аноним 02/06/25 Пнд 23:39:21 3468000 375
>>3467994
Отличный пример. А теперь давай рассмотрим его непредвзято.

Ты не рекаверишься на ошибках в методе showName, и сам говоришь что обработчик есть только в самом верху, то есть буквально описываешь non-recoverable-обработку исключений. То есть и ты и я рассматриваем non-recoverable случай.

С моей стороны - unchecked эксепшены. С твоей - пронос инфы об ошибках через дженерики. Let the battle begin.

Этот пронос тебе не дался бесплатно. Тебе пришлось:
1. Приклеить к методу метод-левел дженерик
2. Добавить throws

И то же самое тебе придется делать снова и снова для каждого метода твоего стека вызовов, то есть импакт на код довольно ощутимый. Более того, ближе к mainу у тебя начнутся скапливаться типы исключений вида UserException | ЧегоТоЕщеException - ты же не одной абстракцией ограничен в конце концов. В конце концов, ты дойдешь до обработчика исключений, который как ты сам сказал, скорее всего у тебя будет "в самом верху", и скорее всего обнаружишь что он будет построен на базе некоего типа E, который суть сумма вообще всех возможных типов исключений твоей программы.

А теперь скажи - чем такой эксепшен E и его обработка "в самом верху" будет принципиально отличаться от обработки какого нибудь Throwable или RuntimeException?

Ничем не будет отличаться. В обоих случаях тебе придется деконструировать этот тип на конкретные исключения и чето по этому поводу предпринимать. Только в твоем случае ты обрастешь вышеописанным бойлерплейтом. А в моем - нет. Причем этот бойлерплейт тебе мало что дает по факту. Нахрена он тебе?

То есть, unchecked эксепшены - считай уже инструмент, который по функционалу идентичен твоей задумке, но избавляет тебя от бойлерплейта.
Аноним 02/06/25 Пнд 23:43:26 3468001 376
image.png 195Кб, 1600x1178
1600x1178

>>3467983
Это была не первая попытка попасть в ФААНГ, но первая удачная. Я в этот момент уже был в Германии и у меня было 3 интервью в ФААНГ с разницей в неделю. Цукербук я провалил, Амазон и Гугл затащил. Вначале получил оффер из Амазон, а рекрутер из Гугл сказал, что вроде всё ОК но надо немного подождать. Я написал ему, что у меня оффер от Амазон который я должен принять до конца недели. В общем он подорвался и организовал мне оффер, который я принял. Но из-за спешки не было этапа знакомства с командой и я только в первый день узнал, что теперь я пишу на Го и вообще о чем проект. И насчет года я ошибся, не 23 а 22, до всех сокращений.

Такие дела ¯\_(ツ)_/¯
Аноним 02/06/25 Пнд 23:46:26 3468004 377
>>3468001
Сколько лет опыта, какие офферы в Амазоне и Гугле?
Аноним 02/06/25 Пнд 23:48:48 3468008 378
>>3467977
>Например в Го нет конструкторов, поэтому говей это - объявить публичный интерфейс, приватную структуру которая этот интерфейс реализует и метод New() который будет правильно инициализировать эту структуру. И конечно не забыть ебанину:
>var _ MyInterface = (*myStruct)(nil)
Ну это логично, ведь там же нет объектов, зачем там конструкторы?
Аноним 02/06/25 Пнд 23:49:28 3468009 379
>>3468001
Конграц, анон.
Дальняя сестра из юкрайн, в году этак 17-18 (до всех событий), успешно с первой попытки прошла к цукербуку и до сих пор живет где-то в la. Уже дом там купила.
А я тогда даже думать не мог о проге.
Аноним 02/06/25 Пнд 23:51:57 3468011 380
>>3467999
Гоферы смешали recoverable и nonrecoverable кейсы полд одну гребенку и сидят в отрицалове, принципиально за деревьями лес отказываясь видеть.

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

А ведь эти деньги могли бы пойти, ну не знаю - на то чтоб рак вылечить, миссию на марс пораньше запустить, или хотя бы инструментарий запилить нормальный для какой нибудь уже существующей экосистемы...
Аноним 02/06/25 Пнд 23:53:54 3468012 381
>>3468011
Но пока генерируют деньги и рабочие места почему бы вместе не пособирать велосипеды?
Аноним 02/06/25 Пнд 23:57:51 3468014 382
>>3468000
>будет принципиально отличаться
Предполагается будет отличаться тем, что множество исключений, которые дошли до верха, действительно могут возникнуть. А вот если поставить RuntimeException, то далеко не все его наследники могут возникнуть. Принципиальная разница, для меня например в том, что я по сигнатуре могу понять какие коды ошибок могут возникнуть в конкретном контроллере, не бегая по всем всем веткам кодовой базы..
>Этот пронос тебе не дался бесплатно
С т.з. перфоманса полностью бесплатно. А бойлерплейт бывает разный, например этот ты не можешь не написать, иначе CE. В отличии от err!=nill, который ты можешь вполне забыть, а компилятор ниче не скажет. Такой бойлерплейт мало чем отличается Either так-то.

Самая главная проблема скорее то, что throws T может быть только наследником Throwable, что пиздец какое ограничение. В том же Either Left-ом может быть любой тип. Из-за этого, в частности, сложно что-то придумать, когда например хочешь повесить несколько исключений, но не включать для этого весь UserException. Т.е. как бы сделать тайп сумму и именно её запихнуть, а не Throwable.
Аноним 03/06/25 Втр 00:04:07 3468015 383
>>3468014
>С т.з. перфоманса полностью бесплатно

Оставим за скобкой перформанс. Мы сейчас не о перформансе говорим.


>например этот ты не можешь не написать, иначе CE

Что все?

Ну буквально - в моем случае, с unchecked exceptionами я не пишу этот бойлерплейт. И что конкретно я теряю?
Аноним 03/06/25 Втр 00:10:47 3468017 384
>>3468008
Да, но инициализация структуры значениями по умолчанию нужна. Например если у тебя в структуре есть мапа, то нужно её инициализировать, иначе будет паника при попытке записи. В джяве ты объявляешь конструктор и всё, в го factory method к вопросу о фабриках.


>>3468004
>Сколько лет опыта, какие офферы в Амазоне и Гугле?
15 на тот момент. Не такие жырные как в рассказах про долину есть не ФААНГи которые платят больше, правда акции у них пожиже в плане роста. Можешь глянуть levels.fyi там актуальные цифры.


>>3468009
>успешно с первой попытки прошла к цукербуку
Я технические всегда хорошо проходил кроме первого NALSD, а вот софт скилы заваливал. Но я толком к софтскилам и не готовился.
Аноним 03/06/25 Втр 00:12:40 3468018 385
Сижу на скучном легаси проекте, с одноклеточными тасками и вот эта вот дискуссия про эксепшены и дженерики, была полезнее чем года работы. Спасибо.
мими джун
Аноним 03/06/25 Втр 00:13:21 3468019 386
Аноним 03/06/25 Втр 00:15:32 3468021 387
>>3468018
Добро пожаловать, дружище. Ты большой молодец. Присоединяйся.
Аноним 03/06/25 Втр 00:21:34 3468027 388
image.png 14Кб, 604x177
604x177
>>3468015
>И что конкретно я теряю?
>протягивать в сигнатуре информацию об потенциальных ошибках
Информацию, что еще? Вот нужна ли она тебе, это конечно другой вопрос..

Чтобы не писать бойлерплейт связанный с типами, надо всего лишь сделать type inference более продвинутый. Когда-нибудь жаба станет как на пике, я верю в скуфца.
Аноним 03/06/25 Втр 00:30:51 3468031 389
>>3468027
>Вот нужна ли она тебе, это конечно другой вопрос..

Это действительно вопрос.

И вот на практике, когда дело касается non-recoverable-кейсов, когда обработчик таких ситуаций действительно - один и находится на самом верху, и когда сама цель обработки таких ситуаций не предполагает восстановления контроля - так ли уж важно какой эксепшен тебе туда пришел?

Обычно это нихрена не важно. В большинстве случаев ты просто логгируешь его факт прихода, стектрейс и шатдаунишь приложение (если оно standalone) либо дропаешь транзакцию и завершаешь обработку запроса (если оно - сервер). В редких случаях от типа эксепшена у тебя зависят вещи типа HTTP-статусов или заголовков - в таких случаях достаточно просто смаппить отдельно взятые типы.
Аноним 03/06/25 Втр 03:54:09 3468069 390
>>3468000
Ты просто не шаришь, додь. Сейчас бы в 2к25 кидать эксепшены, лол. Это сайд-эффект, если что. Удачи написать крупную систему без чистых функций. Тебе выше все правильно сказали - твои методы должны использовать монаду either
Аноним 03/06/25 Втр 04:00:08 3468070 391
Сап, аноны, можете объяснить что такое vaadin, сами используете его?
Аноним 03/06/25 Втр 08:02:14 3468087 392
Аноним 03/06/25 Втр 08:42:55 3468095 393
>>3467973
чееел. Я щас проекты с 17 жабы на 21 перевожу
Аноним 03/06/25 Втр 08:47:17 3468097 394
>>3467977
в расте берём структуру, и добавляем к ней метод new

impl MyPoo {
fn new(&self) {
MyPoo {
poo1 = 1,
poo2 = 2
}
}
}

и вызов let poo = MyPoo::new()
Аноним 03/06/25 Втр 09:24:49 3468113 395
>>3468070
А что за компания примерно? Меня недавно собеседовали на это, походу не взяли
Аноним 03/06/25 Втр 09:42:52 3468119 396
>>3468018
мяу. Только у меня стек мёртвый и зп 800 долларов
Аноним 03/06/25 Втр 10:45:24 3468170 397
>>3468069
>эксепшены
>сайд-эффект

Лол - какое смешное одноклеточное выползло. Сколько глав "learn you a haskell for greater good" прочитал, прежде чем высрать эту чушь?
Аноним 03/06/25 Втр 10:55:26 3468178 398
>>3468170
хаскелешиз опять вылез
Аноним 03/06/25 Втр 10:56:28 3468180 399
>>3467973
Пока не очень сильный. Но планомерно усиливается.
Аноним 03/06/25 Втр 11:05:11 3468183 400
>>3468170
В голос с тебя, недоумок. Удачи писать FP код на исключениях в твоей помойной жабе, гандон. Как же радостно на душе, что вас, дегенератов, выбрасывают на мороз и ваш говнокод заменяют на Go. Скуфидоны сраные, хртьфу
Аноним 03/06/25 Втр 11:07:06 3468186 401
>>3467973
ты же можешь сам этот матчинг написать, по типу котлиновского when
Аноним 03/06/25 Втр 11:15:01 3468190 402
image.png 109Кб, 665x680
665x680
>>3468186
Ну вообще говоря нет. Паттерн матчинг в жабе, например, гарантирует exhaustive. Ты это никак не выразишь доступными тебе языковыми конструкциями.
>>3468178
Их вообще говоря многовата стало, а когда-то я был один, эх..
Аноним 03/06/25 Втр 11:20:35 3468194 403
>>3468183
Ебать ты чорт - мало того что тупой и сам за собственное ФП не шаришь, так еще и озлобленный мудак. Удачи с первым вкатом, чмо.
Аноним 03/06/25 Втр 11:29:42 3468202 404
>>3468190
>Ну вообще говоря нет. Паттерн матчинг в жабе, например, гарантирует exhaustive. Ты это никак не выразишь доступными тебе языковыми конструкциями.
Проверяй в рантайме
Аноним 03/06/25 Втр 11:32:21 3468203 405
Аноним 03/06/25 Втр 12:14:49 3468225 406
>>3468095
Более того проект монолитный, без кубера и докера и связан с обслуживанием аналитиков, которые на spark гоняют etl потоки на биг дате. По началу было интересно поработать с колоночными базами данных в которых лежит по милиардам строк. Но чет быстро стало скучно.
Ищу другой проект, но рынок пока вялый.
Аноним 03/06/25 Втр 13:47:08 3468285 407
Ля я думал я 1 работаю в какой-то залупе, не проект а хуй пойми что, ебал я в рот копаться снова в этом дерьме.
Аноним 03/06/25 Втр 13:52:48 3468289 408
Аноним 03/06/25 Втр 14:23:08 3468306 409
>>3468289
>this is a small proposal to try start (re-start) discussions
Ну ща, пару годиков подискутируют, по губам поводят и хуй забьют.

Да и где конкретно тут отмена стирания типов, они просто добавят дополнительные параметры к вызвовам методов, чет типа этого https://www.baeldung.com/kotlin/reified-functions
А вот проблему с brdge методами они похоже решать не собираются.
Непанятна какую конкретно задачу можно решить с этим, которая невозможно решить сейчас...
Аноним 03/06/25 Втр 16:06:31 3468384 410
>>3468289
Деды стирали - и мы будем, не нужон нам это ваше
Аноним 03/06/25 Втр 16:46:09 3468419 411
>>3468225
>проект монолитный, без кубера и докера
Это разве плохо?
Аноним 03/06/25 Втр 17:03:29 3468431 412
>>3468289
Так вроде для вальгалы и велью типов это и так требуется. И говорили, что выкатят вместе с вальгалой сразу после рагнарёка . Нет?
Аноним 03/06/25 Втр 17:03:32 3468432 413
>>3468419
Нет плох пул задач и то, что все аналитической и разрабы как подмастерья для аналитиков, которые выкатываю тз на отъебись с кучей ошибок, а ты потом бегаешь и спрашиваешь - а как, а че, плак плак.
Сейчас занимаюсь правкой 200 sql скриптов olap, каждый из них огромный скрипт с юнионами сам по себе. пукан горит пиздец,
мне их скинули и сказали, что потестили. А там - колонка хуй_соси амбивалентна при каждом запуске или cannot resolve column.
Кароч я программированием не занимался уже месяца два, хотя работаю каждый день.
Аноним 03/06/25 Втр 17:06:46 3468434 414
>>3468431
Что конкретно требуется? Стирание типов никогда не декларировалось, что оно хоть куда-то денется. А вот то, что ты сможешь пихать примитивы в женерики - это да.
Аноним 03/06/25 Втр 17:23:42 3468447 415
>>3468419
Очень, баззвордов нет на проекте - считай и не работал
Аноним 03/06/25 Втр 17:27:14 3468450 416
>>3468447
Да я же работал с этими технологиями до этого проекта, лол
Аноним 03/06/25 Втр 17:36:13 3468456 417
>>3468432
Я просто тоже етл говно гоняю, только без хадупосрак всяких, прямо в БД запросами. Сам себе аналитик и разраб.
Аноним 03/06/25 Втр 17:51:21 3468467 418
>>3468456
Как в веб назад попасть после этого дерьма, если в резюме описываю проект как есть, то пишут ток всякие spark разрабы и дата инженеры. Хоть питон учи и в норм дата инженирию пиздовать.
Но я бы назад крудошлепить пошел бы.
Аноним 03/06/25 Втр 17:52:42 3468470 419
>>3468456
Ну и да у нус хадуп паркет спарк и прочие радости etl жизни
Аноним 03/06/25 Втр 17:57:22 3468473 420
>>3468467
Я наоборот в веб не хочу, лучше инструменты нормальные подтяну и дальше в де пойду.
Аноним 03/06/25 Втр 18:01:10 3468476 421
>>3468456
Звали вчера на собес в сбер, на де, 250 просил за 3 года (из них на этом проекте в окло де год всего, остальное веб).
Джава вместо питона, хадуп, спарк.
По итогу утром пришел на работу, окунулся во все это и желание собесится в де отпало напрочь, отказался.
Аноним 03/06/25 Втр 19:23:55 3468539 422
>>3468476
>окунулся во все это и желание собесится в де отпало напрочь
Ну вот у меня с вебом так же, сколько не пытался окунуться в современную разработку через фреймворки и их паттерны, каждый раз не осиливал и бросал. А с данными сиди себе, перегоняй говно из одного пайплайна в другой, всё понятно и прозрачно (относительно). Хотя и тут можно навернуть кучу хранимых процедур друг в друге, и потом утомишься их дебажить, видел и такое...
Аноним 03/06/25 Втр 19:38:49 3468552 423
>>3468539
Пока на проекте еще была оракл был кейс с хранимками, там что бы переписать из 1 таблицы в другую и провалидировать все поля на основе ранее загруженной мета инфы использовалась хранимка в хранимке в хранимке... которая динамический создавала sql string и делала execute этой string. Целый день потратил (> 8 часов) на поиск причины падения моих вызовов, тупо сидел, доставал кусочки процедур и запускал в idea в console.
Про то что у oracle есть какой-то дебагер для этого дела я тогда не знал, а потом оракл убрали. Причина оказалась в невалидно загруженой мета инфе админами бд, 1 соеденение по первичному ключу не отрабатывало
Аноним 03/06/25 Втр 20:57:06 3468601 424
Есть ли какие-нибудь библиотеки для работы с json'ами больших размеров?
Jackson, к сожалению, не выдерживает тех нагрузок, с которыми приходится иметь дело.

Если кратко: по http приходят json'ы. И так вышло, что эти json'ы сначала записаны как строки, размеры которых буквально больше 8 МБ(там длина строк больше 2.3 миллиона символом ascii кода). Такие строки jackson жуёт очень долго(секунд 12). И при этом попутно в период жевания забирает 200±50 МБ.
Аноним 03/06/25 Втр 21:10:03 3468608 425
>>3468552
>которая динамический создавала sql string и делала execute этой string
У меня то же самое. До сих пор на том проекте так делают скорее всего...
Аноним 03/06/25 Втр 21:37:03 3468628 426
Аноним 03/06/25 Втр 21:38:18 3468629 427
день 2, сделал тасочку (надо было поковырять запрос чтобы добавить поле в vaadin)
теперь делаю вторую тасочку, пока всё получается, мне нравится
алсо, у нас нет менеджмента и прочего скрама/агила
пришёл - гребёшь по тасочкам из OTOBO (ну мне лично дают тасочки полегче)
Аноним 03/06/25 Втр 21:48:07 3468633 428
Отклонили заявочку на стажировку в титькофф, а в прошлом году в сбере. Следующем году попробую еще раз, пожелайте удачи ^^

мимо студентка-программная полиглотка, 2 курс вузика
Аноним 03/06/25 Втр 21:52:33 3468634 429
>>3468633
>студентка
>ка
Пошла нахуй из треда. Тут онли сосисочная вечеринка, тян не нужны. Правильно, что тебя отклонили, надеюсь никода оффер не получишь и попиздуешь в пятерочку.
Аноним 03/06/25 Втр 21:58:13 3468635 430
>>3468629
как попал на работу, как учился, что посоветуешь волку?
Аноним 03/06/25 Втр 22:06:04 3468640 431
>>3468629
Чел на джаве фронт пишет (а ваадин это хуйня которая компилит java в js) и радуется.
Завидую, молодому
Аноним 03/06/25 Втр 22:08:08 3468643 432
Кста, еще 1 знакомый свитчнулся с джава на го
Аноним 03/06/25 Втр 22:15:35 3468646 433
>>3468640
первая работа, чё поделать
ваката нет иначе пиздос
>>3468635
на похуй закинул резюме в локальную компанию, о ней одногруппник сказал (у них вакансий нигде нет), взяли сразу (не собесили считай)
45к на 3 месяца, после - 70к
>>3468643
моя мечта свитчнуться на го я очень люблю этот язык, но для начала годик (два?) пописять на джаве
Аноним 03/06/25 Втр 22:21:47 3468651 434
>>3468434
>Стирание типов никогда не декларировалось, что оно хоть куда-то денется. А вот то, что ты сможешь пихать примитивы в женерики - это да.
Прям на странице вальхалы написано:
>Parametric JVM, preserving and optimizing generic class and method parameterizations at runtime
https://openjdk.org/projects/valhalla/

Плюс достаточно очевидно, что для примитивных и велью типов информация в рантайме о типе коллекции нужна, тупо потому что она влияет на мемори лэйаут. А если она есть для этих типов, то почему бы её не добавить и для остальных?
Аноним 03/06/25 Втр 22:22:06 3468653 435
>>3468646
>моя мечта свитчнуться на го я очень люблю этот язык, но для начала годик (два?) пописять на джаве
Закономерный вопрос: а нахуя было вкатываться в джаву?

мимо
Аноним 03/06/25 Втр 22:25:21 3468656 436
IMG202506031643[...].jpg 136Кб, 960x1280
960x1280
IMG202506032222[...].jpg 35Кб, 710x952
710x952
>>3468633
я хуястая студентка, хочу попасть в команду заботливых скуфов которые всему научат и всегда помогут😝
Аноним 03/06/25 Втр 22:26:33 3468659 437
Аноним 03/06/25 Втр 22:27:19 3468660 438
А если я возьму и свои несколько лет в галерах превращу в серьезные компании и опишу свой микросервисы как супер-пупер неебца хайлоад (3rpc) конверсия улучшится?
И что потом делать если офер получу, в трудовой же ооо рога и повидло. волк просыпается во мне, друзья, не могу больше на текущем месте сидеть
Аноним 03/06/25 Втр 22:29:37 3468661 439
Горит просто из-за того что хуй без опыта врет и устраивается на 250 с 0, а я сижу несколько лет за 185к. Имея реальный опыт и чутка приврав я же их выебу всех.
Аноним 03/06/25 Втр 22:33:43 3468665 440
>>3468651
Это заголовок статьи на 41 страницу https://cr.openjdk.org/~jrose/values/parametric-vm.pdf я честно ебал в рот эти маняфантазии читать, который уже лет 10 реализовать не могут и все фантазируют, фантазируют и фантазируют. Прочти за меня и найди конкретную фразу, где говорится, что стирание типов уйдет, а не добавят банальную хуйню, типа refiend из котлина. Просто открою секрет, ты и сейчас можешь это все сделать и даже неявно.
Аноним 03/06/25 Втр 22:34:05 3468666 441
>>3468601
>Если кратко: по http приходят json'ы. И так вышло, что эти json'ы сначала записаны как строки, размеры которых буквально больше 8 МБ(там длина строк больше 2.3 миллиона символом ascii кода). Такие строки jackson жуёт очень долго(секунд 12). И при этом попутно в период жевания забирает 200±50 МБ.
Нихера не понятно, что там большое.

В json-е просто много разных полей, но сами значения небольшие? Тогда гугли jackson/gson steam api.

Или в json-е есть большие строковые поля? Тогда это сильно сложнее, попробуй jakarta.json, возможно он будет пободрее. Во всяком случае JAXP парсил большие поля по частям.
Аноним 03/06/25 Втр 22:35:38 3468668 442
>>3468656
Знакомая чашка. У нас вероятно общий знакомый был. Мех.
Аноним 03/06/25 Втр 22:48:27 3468674 443
>>3468668
Знакомый был прямоходящей говорящей мышью?
Аноним 03/06/25 Втр 22:49:13 3468676 444
image.png 1100Кб, 1619x2037
1619x2037
Аноним 03/06/25 Втр 22:55:54 3468680 445
>>3468539
Не, я понимаю уже как устроена баг дата и что делает дата инженер (хотя я не фулл дата инженер, я иногда и пайплайны настраиваю, а иногда поддерживаю проект на java). Просто пулл задач, который решается в вебе мне кажется интереснее и разнообразнее(даже когда знаешь проект и тебя от него уже тошнит).
Вообщем прогать нрfвится, а тут я как-будто и не прогаю. Настроил там, настроил здесь, поадминил, в таблицу поле добавил через миграции и все.
Попробую в го ворваться наверное, а то все уже с крыши прыгнули, а я еще нет.
Аноним 03/06/25 Втр 22:59:22 3468681 446
>>3468660
>в трудовой же ооо рога и повидло
Скажи что родственники (мамка) устроили на какую-то залупу фоном чтобы в стаж годики шли для пэнсии
Аноним 03/06/25 Втр 23:03:04 3468682 447
>>3468681
там написано ооо Рога и копыта. Должность - разработчик
Но как вариант.
Аноним 03/06/25 Втр 23:18:24 3468691 448
image.png 59Кб, 674x146
674x146
image.png 90Кб, 1257x685
1257x685
>>3468676
Ну т.е. тебе тоже впадлу это читать, что нейронку просишь за тебя? Пынимаю.

Я в любом случае не понимаю, в чем блятб иновация. Тебе не дают возможности делать пары методов типа:
void foo(List<Integer> list){ }
void foo(List<String> list){ }
Не дают возможности сделать new T(). Возможность же сделать instaceof List<Integer> ничего в общем-то не стоит. Вот пример, как это решают сейчас https://github.com/mockito/mockito/blob/main/mockito-core/src/main/java/org/mockito/Mockito.java#L2047

Единственное на что я надеюсь, что эта всё это действительно заменит вообще все очень нужные методы из пакета java.util.function (пик2). Но чет пишут, что весь этот празник жизни то ли ограничивается для коллекций
> minimal changes of the JVM spec enabling java.util collections
то ли, если параметров типов только одын, а вот Pair<A, B> это уже простите сложна.
Аноним 03/06/25 Втр 23:38:21 3468708 449
>>3468661
>хуй без опыта врет и устраивается на 250 с 0
А с чего ты решил, что он не наврал про 250?
Аноним 03/06/25 Втр 23:55:44 3468715 450
>>3468708
Не думаю, что наврал.
Но даже если он не наврал, в тиме был волк который пол года лутал зп около 200 и ничего не делал. Прошел испыталку из-за медленных процесоов, спалили очееень поздно и уволили с 3мя окладами.
С опытом пойдет на другую работу и там продержится дольше.
Аноним 03/06/25 Втр 23:56:09 3468716 451
>>3468715
*даже если он наврал
Аноним 04/06/25 Срд 00:07:06 3468720 452
>>3468661
Чёт нихуя не понял, а что значит врать? Про опыт? А как ты тех собес пройдешь? И про что наврать хочешь ты, если у тебя опыт есть?
Аноним 04/06/25 Срд 00:14:07 3468721 453
>>3468720
Компании повалиднее поставить. Условно сейчас через галеру на Втб, а написать Втб.
Мое резюме просто в околонулевой конверсии, а текущий проект очень душит.
Ну и зарабатываю ниже рынка, а галера есс-но не хочет платить больше.
Аноним 04/06/25 Срд 00:37:11 3468729 454
>>3468721
>сейчас через галеру на Втб, а написать Втб
Так все делают
Аноним 04/06/25 Срд 07:34:25 3468770 455
>>3468653
отсутствие (полное) джуновских вакансий на го
Аноним 04/06/25 Срд 07:36:32 3468771 456
>>3468770
Не понял. Где пересекаются джава и го? На го обычно переходят компании с пхп/питон/руби стеком.
Аноним 04/06/25 Срд 07:51:10 3468775 457
0) ООП хорош в книгах для описания котов и животных, но буксует в реальном мире, процедурный подход оказался удобнее, поэтому:
1) В dto не должно быть логики
2) Наследование - плохо. Максимум 1 уровень
3) методы в виде чистых функции - хорошо. Легко тестировать, легко применять, не имеют сайд-эффектов
4) Сайд-эффекты - плохо
5) Логика - в Service или Utils
6) метод очень желательно в высоту не более 1 экрана (90 строк) и не более 7 параметров
7) Максимум 3 уровня вложенности в условиях
8) Если код повторяется 2 раза - вынеси в функцию
9) высокая связанность хуже дублирования
9) Не применять теги ломбока: Data - опасно из-за equals и toString и вложенных объектов
10) методы называть глаголами, "что делает", переменные существительными или прилагательными

hibernate - по опыту от него больше проблем, чем пользы. Экономия на времени разработки съедается на попытках тюнить его и разбираться с тормозами и что он делает. Также требует написания Entity, а entity требуют написания мапперов.
Возможно хибернейт имеет смысл в проектах где много сущностей, много действий, но мало нагрузки. У нас ситуация наоборот, мало сущностей и много нагрузки. Так что лучше использовать sql запросы и всю мощь постгреса.
Аноним 04/06/25 Срд 07:52:20 3468776 458
по тестированию

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

Юнит-тестами тестируем чистые функции.
Тестируем внешние интерфейсы, контракт, с помощью интеграционных тестов с поднятием бд, кафки, и т.д. в контейнерах. Чем больше слоев затрагивает тест - тем лучше. Желательно при этом не знать про как оно реализовано. Обращение к внешним нашим сервисам мокаем
Аноним 04/06/25 Срд 07:52:59 3468777 459
fennec-fox.mp4 167Кб, 320x320, 00:00:06
320x320
Аноним 04/06/25 Срд 08:14:44 3468783 460
>>3468777
пиши как тебе нравиться\
тесты только трата времени, если что сломалось по логам посмотришь и исправишь/
Аноним 04/06/25 Срд 09:10:28 3468797 461
>>3468721
Хрюшам реально не похер в какой компании ты работал? Не знал если честно. Опять же если чел рулевой, как он пройдет собес, объясните?
Аноним 04/06/25 Срд 09:16:24 3468801 462
>>3468776
>>3468775
Это все хорошо, но за более чем 10 лет гребли, придя на проект я видел одну и ту же картину - техлида нет, тимлид транслирует свою шизофреническую позицию из "чистой архитектуры", которую он понял как Контроллер - СервисИмпл - Рипазитари. Вся бизнес логика складируется в километровых классах-сервисах. Сами сервисы зависят от других сервисов и т.д. Все юнит-тесты на моках. Интеграционных тестов нет, либо написан откровенный понос, который запускается за день перед релизом поздно ночью, чтобы в пятницу утром обнаружить, что у тебя половина приложения не работает.
Добавляем сюда отсутствие документации, описание архитектуры и получаем типичный проект на джаве.
Аноним 04/06/25 Срд 10:05:40 3468819 463
>>3468801
И что тебя не устраивает? Это классика, проверенная временем. Гораздо хуже, когда долбоебы впердоливают шину событий, в сишарпе это просто эпидемия какая-то. В итоге хуй вообще поймешь, как это говно работает.
Единственная проблема - это отсутствие интеграционных тестов, но их должен писать отдельный чел в команде. Кабан жлобится выделить бюджет на такого хакера пентестера, а разрабы традиционно кладут хуй на тесты.
Аноним 04/06/25 Срд 10:11:27 3468823 464
>>3468775
Все правильно сказал. Хуибернейт и производные от него в других стеках - это рак индустрии.
Аноним 04/06/25 Срд 10:29:42 3468835 465
>>3468715
>Не думаю
В этом и проблема. Ты не думаешь, а он просто взял и напиздел. Или "тактически умолчал", что 250 - это с премиями, которые могут и не выплатить. Таких пиздунов уже сотни было, если не тысячи.
Аноним 04/06/25 Срд 11:15:56 3468908 466
На всех собесах на которых был за весну предлагали офис и меньше денег, чем я сейчас лутаю (мидл+ 310к). Видимо до осени а может и до конца жизни можно стопнуть собесы
Аноним 04/06/25 Срд 11:19:56 3468914 467
>>3468908
ты охуел, я сеньор начинающий, 200+ ищу, какой блять мидл 310к, совсем охуел? иди в хуяндекс, если осилишь
Аноним 04/06/25 Срд 11:25:36 3468919 468
>>3468914
>яндекс
секция алгосов должна была быть, но я пока стопнул, потому что зассал. Hr написала, что в течении полу года могу ей написать и пройти.
А первую секцию прошел.
Аноним 04/06/25 Срд 11:29:13 3468923 469
>>3468919
Ну и? Хуле ты ноешь то тогда? Проходи алгосы и лутай свои 500к и не выебывайся, дай номальным ребятам 200-300 лутать и в хуй не дуть.
Я вот тоже записался на яндекс, но чисто по приколу, даже не надеюсь, что пройду первую секцию
Аноним 04/06/25 Срд 11:33:16 3468928 470
>>3468919
Могу скинуть тебе что у меня было
Не ною а просто описываю рынок, год назад еще 300 всем мидлам давали почти у кого яйца есть
Аноним 04/06/25 Срд 11:35:56 3468930 471
>>3468928
Ну мне год назад 200 еле-еле дали, скинь, но вряд ли поможет, да и похуй
Аноним 04/06/25 Срд 11:36:18 3468931 472
>>3468919
>А первую секцию прошел
Что там на первой секции в яндексе спрашивают? Если я джява примат?
Аноним 04/06/25 Срд 11:39:23 3468935 473
>>3468931
/
Вы — backend-разработчик в интернет-магазине «Рога и Копыта».
Дела идут в гору и магазин решил повысить лояльность покупателей, предоставляя им персональные скидки.
К вам обратился product owner с задачей создать простую систему лояльности, которая предоставляет процентную скидку на корзину.
Размер скидки зависит от покупателя.
Аналитики уже определили, какие скидки должны быть предоставлены покупателям.

## Определения

Корзина - список покупок покупателя.

Покупка:
- id товара
- цена
- итоговая стоимость c учетом скидки

Скидка. Для покупателя может быть задан % скидки (целое число).

## Задача
Написать часть новой системы лояльности, которая:
- на вход получает id покупателя и корзину
- вычисляет и применяет скидки
- возвращает корзину, в которой учтены скидки. Скидка учитывается в стоимости покупки

Вот это со свездочной и нужно было просто рассказать как бы сделал

/

Настройки скидок лежат во внешнем сервисе (БД, HTTP и т.д.).

Доступ к сервису асинхронный.

Нужно:
- разработать асинхронный интерфейс сервиса, хранящего настройки
- использовать его при расчёте скидок
- адаптировать тесты и написать новые, если необходимо
*/
Аноним 04/06/25 Срд 11:40:16 3468936 474
>>3468935
Написать логику и покрыть тестами
Аноним 04/06/25 Срд 11:40:45 3468937 475
>>3468935
Написать логику и покрыть тестами
Аноним 04/06/25 Срд 11:42:54 3468940 476
>>3468775
>> 0) ООП хорош в книгах для описания котов и животных, но буксует в реальном мире, процедурный подход оказался удобнее, поэтому:

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

Пиши все на интерфейсах и не пиши лишний код. И будет все заебись.

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

>>3468801
>> Контроллер - Сервис- Рипазитари.
Придумай лучше.
Ах блять команды же, CQRS. Охуеть праздник во все поля (нет)

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

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

>> тесты
не писать тесты стрелять себе в ногу

Как видим за 30 лет в джаве есть дохуя полезных тулов и выработано много подходов, но многие почему то хотят выебнуться знаниями и сделать по своему (как сами поняли, они то умнее не то что эти старперы бородатые)
Аноним 04/06/25 Срд 11:44:02 3468943 477
Аноним 04/06/25 Срд 11:44:34 3468945 478
>>3468935
Bitrix Управление Сайтом.
Аноним 04/06/25 Срд 11:45:44 3468953 479
>>3468908
Джава теперь видимо самый парашный стек на руси. Везде гибрид офис. Игнор от чсв хрюшек и кучи откликов даже на сеньку. Вилки зп не выросли. Допросы о прошлой работе чуть ли не с полиграфом в попытке уличить в волчизме.
Аноним 04/06/25 Срд 11:46:04 3468955 480
>>3468943
Час на задачу, я не думал, а начал спрашивать и писать.
Много тупил из-за страха и спрашивал то, что есть в тз, честно думал не пройду, повезло.
Я вообще на лайвкодинге начинаю тупить.
Аноним 04/06/25 Срд 11:47:27 3468957 481
>>3468953
А да про это-то забыл, все собесы большую часть времени чувствовал себя преступником, которого допрашивают.
С вопросов резких на половине интервью - а как в idea отформатировать код (cnrl+alt+l) направленые выявить волка, ахуел вообще.
Аноним 04/06/25 Срд 11:49:35 3468960 482
>>3468775
>> Так что лучше использовать sql запросы и всю мощь постгреса.
code first? а уж деплой все возможных функций\тригеров просто песня.

Я лично одобряю только вьюхи и на крайняк метерилизованые вьюхи, хотя там с триггеами тоже ебля
Аноним 04/06/25 Срд 11:51:11 3468963 483
>>3468957
>> cnrl+alt+l
и на бубунте получишь логин скрин
Аноним 04/06/25 Срд 11:51:34 3468964 484
Аноним 04/06/25 Срд 11:51:57 3468966 485
>>3468957
А если я neovim пишу? Я теперь плохой разраб
Аноним 04/06/25 Срд 11:52:40 3468967 486
>>3468963
У меня сберовская варм винда параша уже полтора года, я забыл уже все
Аноним 04/06/25 Срд 12:10:08 3468995 487
>>3468960
в смысле делать insert or update, а не хибернейтовский select * -> insert/update с рейс кондишионалом
Аноним 04/06/25 Срд 12:23:06 3469009 488
Алсо сейчас волки проходят лайвкодинг с гпт и в рот ебали все ваши алгосы.
Аноним 04/06/25 Срд 12:28:19 3469013 489
>>3469009
Поэтому нужно отменить техсобесы и лайвкодинг и брать на работу только за выслугу лет. Проверяя по электронной трудовой с госуслуг например. Это же очевидная база. В других профессиях это давно работает. Но только блять в айти придумали тупо экзамены, вы ебанутые, не?
Представляете врача, которому предлагают полайвоперировать пациента и потом решают взять ли его?
Аноним 04/06/25 Срд 12:31:28 3469019 490
>>3469013
Ну только за выслугу лет тоже сомнительно, коллега с 1 из работ 6 лет сидит на одном месте, жена - пм этого же проекта, работает 3 дня в неделю. Знаний глубоких нет, но так сильно врос в систему, что его не уволить.
Или какой-нибудь стулопросиживатель в сбере, там неделями можно только т3 уточнять. Знаю разраба, который так 3 года просидел, по скилам - джун.
Аноним 04/06/25 Срд 12:31:38 3469020 491
>>3469013
Да чет эти холопы айтишные охуели. Вернуть очные собеседования! Нет прописки московской так не работай в московской компании! Нет вышки айтишной? Нахуй! Нет сертификактов нашего мудрого ведомства минцифры? Нахуй! Не служил в айти роте? Нахуй!
Аноним 04/06/25 Срд 12:34:06 3469024 492
>>3468775
В общем-то всё правильно, только писать без сайдэффектов - это то же самое что писать чисто на ООП или чисто процедурно. В реальных кейсах обычно местами удобно сделать процедурно, местами удобнее через ООП, поэтому ООП языки мучаются со всякими компаньонами объектами, а а процедурные - со всякими функциями-членами с ресиверами и т.п.
Методы не могут быть в виде чистых функций, хотябы потому что методы зависят от инстанса объекта, к которому они принадлежат.
Аноним 04/06/25 Срд 12:35:35 3469028 493
>>3469009
Челики пишущие в прод так-то тоже в рот ебали все ваши алгосы. Ты как думаешь что будет если ты начнёшь для прода пузырьковую сортировку сам писать?
Аноним 04/06/25 Срд 12:37:52 3469032 494
>>3469028
Смотря на каком стеке, гоферы, я слышал, на каждый чих, новый велосипед пишут и радуются.

А вообще они же все чаще на собесах стали появлятся, алгосы эти, и не только у Яндекса и прочей биг кек параши.
Аноним 04/06/25 Срд 12:38:54 3469033 495
>>3469024
ну типа делаем статик функцию, на вход параметры, на выходе результат. К членам класса не обращается. Я это называю чистой функцией
Аноним 04/06/25 Срд 12:40:57 3469038 496
>>3469032
Считаю что знать алгосы надо, понимать какие у них О надо. Писать реализации нет, решать задачи с помощью них нет.
На самом деле я бы в собесе добавлял больше железа, понимания булевой логики, почему булева и прочие основы. Почему меня спрашивают про аннотации, которые через год станут депрекейтед я хз
Аноним 04/06/25 Срд 12:42:46 3469043 497
>>3469032
Гоферы велосипедисты это понятно, но даже они пользуют либы везде где могут. HTTP сервера те же они же сами не пишут.

>>3469033
Ну так объекты не просто так появились, иногда просто удобно связывать данные с логикой.
О чистых функциях удобно рассуждать теоретически, но не всегда удобно применять. То есть по сути как только ты что-то логаешь внутри фнукции она перестаёт быть чистой, но ведь это бредятина отказываться от логирования.
Аноним 04/06/25 Срд 12:45:11 3469051 498
>>3469032
>А вообще они же все чаще на собесах стали появлятся, алгосы эти, и не только у Яндекса и прочей биг кек параши.
Так это понятно, но вне сосбесов абсолютно все в рот их ебали
Аноним 04/06/25 Срд 12:46:36 3469054 499
>>3469043
>иногда просто удобно связывать данные с логикой.
это порочная практика. Данные отдельно, логика отдельно. Иначе появляются сайд эффекты, глобальные стейты, зависимость логики от стейтов незнамо где
Аноним 04/06/25 Срд 12:51:42 3469060 500
>>3469038
>На самом деле я бы в собесе добавлял больше железа, понимания булевой логики, почему булева и прочие основы. Почему меня спрашивают про аннотации, которые через год станут депрекейтед я хз
Зачем? Ну вот человек заучил как железо работает, булева логика там, прочие основы. А потом идёт и ебенит всё на микросервисах и похуй что сетевое взаимодействие списывает на 0 все плюсы знания железа и вообще чего-либо. Современное учение апостолов конференций говорит что нужно делать микросервисы - значит будут микросервисы, иммутабельность, 10к потоков в параллель. Как это с этим перформанс проседает на несколько десятилетий назад? Умные люди так пишут, а вы вкатуны не понимаете ничего.
Так что изучать при этом что-то про процессорную архитектуру просто смех блять.
Аноним 04/06/25 Срд 12:53:43 3469063 501
>>3469054
Тогда непонятно зачем те же гоферы вкорячили мембер-функции, которые имитируют объекты. Как-то видимо не получается по-другому.
Аноним 04/06/25 Срд 12:57:12 3469068 502
>>3469063
скажем так. Это применимо, если внутренние объекты вообще никак не светятся наружу.
В хэшмапе мне не интересно как она устроена, и мне не нужен её внутренний массив.
Но отсортировать массив лучше
SortUtils.sort(array) чем array.sort()
Аноним 04/06/25 Срд 12:59:13 3469071 503
>>3468819
>Это классика, проверенная временем
Расскажи как вы разрабатываете юнит-тесты на ваш сервисный слой?
Аноним 04/06/25 Срд 13:01:13 3469074 504
>>3469068
>Это применимо, если внутренние объекты вообще никак не светятся наружу.
Ну да, это основы ООП так-то, еще со СмолТока. Объекты обмениваются сообщениями и чисто в теории вообще не открывают свой стейт наружу. В реале этого очень сложно достичь.
Аноним 04/06/25 Срд 13:03:24 3469078 505
>>3468940
>Придумай лучше.
>так если она такая ебнутая, куда ты ее положишь?
Она не ебанутая. Просто джаваприматы привыкли все сгружать в один класс, а потом удивляются, что у них хрупкие "тесты" на моках, т.к. сервис зависит от других сервисов и лезет в базюльку или кэфку

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

>Как видим за 30 лет в джаве
По факту мы видим, что джавадебилов начали целыми отделами на мороз выгонять, т.к. кабана заебало, что гнойное скуфье полгода хубирнейт со спрингом настраивает, а затем следующие полгода нюлы в проде дебажит
Аноним 04/06/25 Срд 13:05:54 3469082 506
>>3469060
>Зачем?
Я не понимаю такой постановки вопроса. У любого нормального разраба само по себе со временем работы появится желание в этом хотя бы чуть-чуть разобраться.
Аноним 04/06/25 Срд 13:06:44 3469083 507
>>3469082
кишочки железа и сетей это скучно. У меня не возникает
Аноним 04/06/25 Срд 13:09:28 3469087 508
>>3469082
>Я не понимаю такой постановки вопроса. У любого нормального разраба само по себе со временем работы появится желание в этом хотя бы чуть-чуть разобраться.
ну нет конечно, иначе бы это не требовали на собесах, это бы все и так знали, так же как никто не спрашивает как объявить переменную
это больше натягивание совы на глобус, очень хочется чтобы все разрабы в мире были супер-мотивированными, поэтому будем утверждать будто так и есть
Аноним 04/06/25 Срд 13:13:44 3469093 509
>>3469038
>понимания булевой логики
А давайте въебеним понимание системы типов, теорию категорий? "У любого нормального разраба само по себе со временем работы появится желание в этом хотя бы чуть-чуть разобраться." Как тебе вариант?
Аноним 04/06/25 Срд 13:22:05 3469102 510
>>3469093
Бля вот теория категорий это пиздец, когда в скале копался смотрел лекции какого-то зарубежного дяди и на 3ей уже нихуя не понимал.
Функторы блять ебучие.
Но хочется еще раз вникнуть.
Алсо, сижу в скала чате, там челы математически подкованы больше (я вообще ебучий самоучка) и ахуеваю с их переписок.
Аноним 04/06/25 Срд 13:23:37 3469105 511
>>3469060
Так сеть тоже на железе работает. Пока не перейдем на квантовые компы таненбаум актуален, как ни крути
Аноним 04/06/25 Срд 13:24:58 3469107 512
Интересно вообще насколько нужно, для того, что бы писать отличный фп код, вникать в теорию категорий? И нужно ли?
Аноним 04/06/25 Срд 13:25:44 3469109 513
>>3469102
>там челы математически подкованы больше
Меня вообще бесят математики. В инстутите бесили, в программирование блять лезут. Математики же реально шизы, не те кто, понимает как квадратное уравнение решить, а те кто начинают все к математике сводить, теоремы, методы всё. Они шизы, это долказано, у нас даже на каведре математики шиз учился, а потом преподавал. А Перельман?
Аноним 04/06/25 Срд 13:33:04 3469121 514
>>3469102
Помню цикл лекций ( https://youtube.com/playlist?list=PLvPsfYrGz3wsX3Z5KuuEVYhijDxhKCDDD ) смотрел, в принципе теория категорий не прям взрыв мозга, там дохуя определений, но если посидеть, уделить время, разобраться можно.

Еще по поводу логики, на самом деле там реально есть связь с системой типов, в принципе любая логика - это в какой-то степени и система типов, вот тоже лекции по ентому поводу. https://youtube.com/playlist?list=PLvPsfYrGz3wv9uEWdDOuCll0vV9zLFfws

Большая проблема в этом все, не сама матеша, а вот натягивание совы на глобус, когда это все в пограмирование перетекает и просто все нахуй запутано становится. Вроде вот тут неплохо про это натягивание написано https://habr.com/ru/articles/133277/
>>3469109
Математики шизы няшки, ты просто с ними не общался. Меня правда такой один бросил почти год назад, грустно до сих пор..
Аноним 04/06/25 Срд 13:36:58 3469128 515
>>3469019
Что можешь сказать про Дмитрия (Димсаула пиггер) Соколова? 26-летнего тимлида, который работает на себя в Москва Сити?
Аноним 04/06/25 Срд 13:38:18 3469131 516
>>3469121
https://www.youtube.com/watch?v=I8LbkfSSR58&list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_&ab_channel=BartoszMilewski
Я вот его смотерел, там даже на первый 10 вроде русские сабы есть.
>дохуя определений
в этом то и проблема, после работы смотрел лекции, читая гугол + chatgpt, а на некст день уже половины определений не помнил. Как-будто закрепления не хватает какого-то. Потом дропнул.
Мнйби вернусь, для общей эрудиции так сказать раньше запал был учить и разбираться, но чет я приуныл последнее время, ничего не делаю почти
Аноним 04/06/25 Срд 13:41:52 3469136 517
>>3469131
Можно попробовать как в вузеке конспектировать. Типа емкая выжимка лекции со своим имхо чиста для себя.
Разница между этим и гопотой, что это сделано тобой, ценность не столько в информации, сколько в структуризации, как следствии лучшем запоминании лично для тебя.
>но чет я приуныл последнее время
мяу.. Думал к психиатру сходить, но чет ссу, что это загубит дальнейшую карьеру навсегда, да и нейролептики с антидепрессантами я пить не хочу, овощность - это мехно.
Аноним 04/06/25 Срд 13:49:03 3469147 518
>>3469136
В сосничестве, когда хотел откосить от армии и было плевать на все, сходил к доктору в гос пнд, наплел про суицид, он наверно рофлянул, припугнул дневным стационаром и отпустил.
Хз как сказалось на карьере, но в одну госуху я не прошел сб, может быть из-за чего-то другого, так как я из не очень благополучной семьби и мейби что-то на родственниках есть.
Сам хочу к частному терпевту, уже даже средства позволяют, но руки не доходят
За совет с конспектом спасибо
Аноним 04/06/25 Срд 13:58:50 3469164 519
>>3469087
>это бы все и так знали
Ну вот так всяких залётных волков и можно отсекать, нет?
Аноним 04/06/25 Срд 13:59:26 3469165 520
>>3469078
>> По факту мы видим, что джавадебилов начали целыми отделами на мороз выгонять

Ну как сказать. С одной стороны я вижу нытье про 700к вакансий специалистов от МинЭк и сертификаты от хх на госуслугах.

С другой вот это все.

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

Подумай над тем где будет больше вакух в перспективе, что есть AxiomJDK росийский, импортозамещенный, ФСТЭКовый с кучей легаси-проектов и без привязки к платформе, а вот российская МОНО сосет болт, по популярности. При этом соотношение на хх 2 -1 в пользу ржавы.
Аноним 04/06/25 Срд 14:02:20 3469170 521
>>3469109
>в программирование блять лезут
Так программирование это и есть математика...
Аноним 04/06/25 Срд 14:03:18 3469174 522
>>3469165
>сертификаты от хх
Кста, что там с ними, анально всех еще не обязуют получать.
Последний раз слышал про их бета тест
Аноним 04/06/25 Срд 14:05:54 3469180 523
>>3469020
Не постиронично подписался бы под каждым словом. Человек в айти должен быть надежным и лоялньым государству. А то понабирали нитакусь соевых во всякие яндексы, а потом в 2022 когда родина сказала надо, эти пидорасы дали по тапкам и ещё пытались компании развалить, которые их кормили.
>>3469019
А это уже проблема не разраба, если компанию всё устраивает, значит не ебёт. Пусть тогда по компаниям рейтят, мол сидел в сбере, да знаем мы таких, иди на джуна. И тогда быстро всякие сберы включат погонщиков и будут следить за своим авторитетом.
Я просто не понимаю, чем айти отличается от остальных профессий сейчас, уже давно нет того вайба, что туда идут только яйцеголовые. Яйцеголовые пусть идут в архитекторы, но должен быть стабильный рабочий прогер, который не должен знать алогсов и прочего подкапотного говна.
Аноним 04/06/25 Срд 14:06:08 3469181 524
Аноним 04/06/25 Срд 14:57:08 3469279 525
>>3469164
Нет, такие штуки не отсекают даже просто рандомов, которые заучили фразы которые просто надо сказать чтобы тебя признали знающим. Уж тем более волков с чатгпт.
Волки - это как раз квинтэссенция этого идиотизма, когда нужно сказать правильные фразы чтобы пройти интервью, а не иметь реальные знания.
Аноним 04/06/25 Срд 17:42:18 3469418 526
>>3469060
>Современное учение апостолов конференций говорит что нужно делать микросервисы - значит будут микросервисы, иммутабельность, 10к потоков в параллель. Как это с этим перформанс проседает на несколько десятилетий назад? Умные люди так пишут, а вы вкатуны не понимаете ничего.

Не преувеличивай.

У, как ты выразился, апостолов конференций на этих самых конференциях дано полтора часа таймслота на доклад и вопросы к нему. Че ты хочешь от них за такое время? Да им архипохуй на тебя и твои загоны. Они так и пишут в дисклеймерах к своим виршам - "За что купили - за то и продаем. Мы лично ни за что ответственности не несем. Хотите гарантий - наймите нас специалиста в штат"

Их задача - дать тебе пищу для размышлений (ну или накормить хайпованным говном - тут уж как повезет). Переварить пищу - уже твое дело. Никто за тобой бегать не будет.
Аноним 04/06/25 Срд 19:18:45 3469470 527
день 3:
встречали когда нибудь тернарный оператор в строке sql запроса? а я это писать завтра буду
начинаю понимать количество абстракций, пока не понимаю науя столько
Аноним 04/06/25 Срд 19:56:46 3469493 528
>>3468771
>пересечение джава и го
Бекенд, этого достаточно
Аноним 04/06/25 Срд 22:11:12 3469647 529
>>3468001
>да вы всё пиздите всегда ныли что сложно вкатиться
Вот вам живой пример. Какой-то двачедолбоёб вообще без релевантного опыта въехал в фаанг.
Аноним 04/06/25 Срд 22:11:33 3469648 530
>>3469647
> Какой-то двачедолбоёб вообще без релевантного опыта въехал в фаанг в 2013 году.
быстрофикс
Аноним 04/06/25 Срд 23:31:47 3469750 531
Дайте работу 5 лет опыта чес слово
Аноним 05/06/25 Чтв 10:46:57 3469951 532
>>3469279
Так спрашивать не заученные, а какие-то конкретные примеры на понимание, как это с языком и жвм делают. Проблема в том, что собеседующие сами могут не понимать ответа на такие вопросы, потому что их самих никто не спрашивал такое.
Аноним 05/06/25 Чтв 11:02:03 3469964 533
>>3469418
>Они так и пишут в дисклеймерах к своим виршам - "За что купили - за то и продаем. Мы лично ни за что ответственности не несем. Хотите гарантий - наймите нас специалиста в штат"
Конечно же нет, чел ты никогда на конференциях не был? Литерали никогда такого нет. Там всегда байтовые заголовки, типа "Почему вы все еще используете монолиты?" или "Как мы переписали весь проект с монолита на микросервисы" или "Чам важна иммутабельность?".
Пища для размышлений очень плохо заходит аудитории.
Аноним 05/06/25 Чтв 11:10:39 3469969 534
>>3469418
>У, как ты выразился, апостолов конференций на этих самых конференциях дано полтора часа таймслота на доклад и вопросы к нему. Че ты хочешь от них за такое время? Да им архипохуй на тебя и твои загоны.
Под апостолами я имел в виду тех, кто бездумно транслируют всё что скажут на конференции в реальность. Буквально люди отказываются думать - так на конференции сказали - значит нужно делать так.
Аноним 05/06/25 Чтв 11:11:29 3469971 535
image.png 115Кб, 790x770
790x770
>>3469964
Он вероятно про это. У шипилева в начале каждого доклада эта штука.
Аноним 05/06/25 Чтв 13:01:44 3470077 536
>>3469969
>>3469964
>Буквально люди отказываются думать
>Пища для размышлений очень плохо заходит аудитории.

Увы. Интернетик и доступность информации не сделал обезьянку смышленее. А с нейронками нам всем в этом плане еще предстоит познать новое дно.

>>3469971
Все так. Буквально Шипилева вспоминал когда писал об этом. Леха кстати в этом плане - сознательный, и не инфоцыганин - цену своим словам оценивает адекватно. Может я реально преувеличил, ровняя под него всю конференц-тусовку.
Аноним 05/06/25 Чтв 13:57:45 3470155 537
>>3468691
>Ну т.е. тебе тоже впадлу это читать, что нейронку просишь за тебя?
Ну так читалка у меня личная, а нейронка казёная.


>Возможность же сделать instaceof List<Integer> ничего в общем-то не стоит. Вот пример, как это решают сейчас
В любом случае, ты можешь в коллекцию напихать любой фигни вернее можнона писать коллекцию так чтобы нельзя было, но по каким-то соображениям так больше не делают. А вот в массив - нет. И поэтому любой массив ссылочного типа приводим, к Object[], а у коллекций ебатня с вайлкардами.
Аноним 05/06/25 Чтв 17:33:47 3470378 538
>>3470155
>ты можешь в коллекцию напихать любой фигни
С приходом вальхаллы не думаю, что это изменится. Это же не баг, а фича в общем-то. Что ты можешь в любой момент сказать, я пограмист, знаю лучше и поэтому вот explicit каст или приведение к сырому типу.
>а у коллекций ебатня с вайлкардами
Вайлкарды отдельная сущность, можно сказать, есть параметры типов, которые указывается в сигнатурах, есть аргументы типов - это как раз List<Integer> и именно их вероятно овеществят, передавая как скрытый аргумент. Но вайлкарды - это группа допустимых аргументов, что-то между параметром и аргументом. Они только в компайл тайме и дальше будут существовать.

Возмооожно, можно будет делать привидения из вайлкардов, к аргументам checked кастом, а не просто траст ми бро.
Но энивей как-то погружаться в фантазии оракла себе дороже, чего стоит string template и то где он сейчас...
Аноним 07/06/25 Суб 17:36:00 3471842 539
>>3470378
>С приходом вальхаллы не думаю, что это изменится. Это же не баг, а фича в общем-то. Что ты можешь в любой момент сказать, я пограмист, знаю лучше и поэтому вот explicit каст или приведение к сырому типу.
Как по мне это фиговая фича. Хочешь пихать что угодно - объявляй List<Object> и всё. Я не могу себе представить ни одной ситуации, когда надо объявить List<String> и пихать туда Integer.

>>3470378
>Вайлкарды отдельная сущность, можно сказать, есть параметры типов, которые указывается в сигнатурах, есть аргументы типов - это как раз List<Integer> и именно их вероятно овеществят, передавая как скрытый аргумент. Но вайлкарды - это группа допустимых аргументов, что-то между параметром и аргументом. Они только в компайл тайме и дальше будут существовать.
Вайлкарды это костыль. В C# спокойно обходятся без тьюринг полных вайлдкардов. Потому что там информация о типе сохраняется в рантайме.
Аноним 07/06/25 Суб 19:55:29 3471904 540
Лень читать последние сообщения.
Итт коваринт контрваринт обсужадет или что?
T[+A] T[-A]
Аноним 09/06/25 Пнд 06:24:00 3472574 541
А чё никто не перекатился-то? Уже 180 постов в перекате накакано оказывается.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов