powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Авторизация в spring улетает в бесконечный цикл
25 сообщений из 78, страница 2 из 4
Авторизация в spring улетает в бесконечный цикл
    #40119747
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminDontSleep
аргументы против модульной архтетектуры( пс это не сарказм )
микросервисы прошли что ле?)))
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119764
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
ну вот толку-то от этих record, если у них полноценных (т.е. как в ломбок) билдеров нет - сиди как дурак и шлепай конструкторы на пол-экрана, да копирования тоже нет (тут обязательно найдется кто-то, кто заявит, что много полей в классе - это якобы плохой дизайн. Нет.), т.е. record - это никакая не замена @Data, а просто детская поделка

ну тут ты переборщил с пессимизмом)).
На самом деле огромный шаг вперед поддержка именно в языке.
В дельфях то TRecord уже лет 40 как)
То есть поддержка-носитель данных в Java это априори замечательно.
Ведь куда не плюнь нужна сериализация и классы без поведения.
А тут представь что нужен объект из 2 полей

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
class Point {

    private final int x;
    private final int y;

    Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    int x() { return x; }
    int y() { return y; }

    public boolean equals(Object o) {
        if (!(o instanceof Point)) return false;
        Point other = (Point) o;
        return other.x == x && other.y == y;
    }

    public int hashCode() {
        return Objects.hash(x, y);
    }

    public String toString() {
        return String.format("Point[x=%d, y=%d]", x, y);
    }
}


то есть для трёх строк нужна вот эта куча кода. Смешно)).
По поводу конструктора копирования то я не понял. Ты это от Сишников позавидовал?
Но ведь в Java это не надо.
Ну а биндинги и маппинги будут. Всё будет со временем даже если нету именно сейчас.
имхо
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119776
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
далее. Класс данных вводимый все таки отличается от ломбок подхода.
- отсутствие скрытого состояния
- запечатанный класс и нет наследования
- всё что нужно дается в конструкторе
-...
И это замечательно.
Ограничения в новом классе дают больше преимуществ чем мы теряем там где сложности абсолютно не нужны.
Разве не здорово выглядит попытка вернуть сразу два значения из метода?
Код: java
1.
2.
record MinMax(int min, int max);
public MinMax minmax(int[] elements) { ... }
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119783
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

А тут представь что нужен объект из 2 полей

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
class Point {

    private final int x;
    private final int y;

    Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    int x() { return x; }
    int y() { return y; }

    public boolean equals(Object o) {
        if (!(o instanceof Point)) return false;
        Point other = (Point) o;
        return other.x == x && other.y == y;
    }

    public int hashCode() {
        return Objects.hash(x, y);
    }

    public String toString() {
        return String.format("Point[x=%d, y=%d]", x, y);
    }
}


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


на lombok это будет выглядеть так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@Data
@Builder(toBuilder = true)
public class Point {

    private final int x;
    private final int y;

}



или более развернуто:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
public class Point {

    private final int x;
    private final int y;

    Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public static PointBuilder builder() {
        return new PointBuilder();
    }

    public int getX() {
        return this.x;
    }

    public int getY() {
        return this.y;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof Point)) return false;
        final Point other = (Point) o;
        if (!other.canEqual((Object) this)) return false;
        if (this.getX() != other.getX()) return false;
        if (this.getY() != other.getY()) return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof Point;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        result = result * PRIME + this.getX();
        result = result * PRIME + this.getY();
        return result;
    }

    public String toString() {
        return "Point(x=" + this.getX() + ", y=" + this.getY() + ")";
    }

    public PointBuilder toBuilder() {
        return new PointBuilder().x(this.x).y(this.y);
    }

    public static class PointBuilder {
        private int x;
        private int y;

        PointBuilder() {
        }

        public PointBuilder x(int x) {
            this.x = x;
            return this;
        }

        public PointBuilder y(int y) {
            this.y = y;
            return this;
        }

        public Point build() {
            return new Point(x, y);
        }

        public String toString() {
            return "Point.PointBuilder(x=" + this.x + ", y=" + this.y + ")";
        }
    }
}



т.е. можно писать:

Код: java
1.
2.
Point one = new Point(1,1);
Point two = one.toBuilder().y(2).build();



а если сделать так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@Data
@With
@Builder(toBuilder = true)
public class Point {

    private final int x;
    private final int y;

}



то можно уже писать вот так:

Код: java
1.
2.
Point one = new Point(1,1);
Point two = one.withY(2);



т.е. жабские record выглядят "удобными" разве что на примере с Point, а как только мы осознаем что нам нужно работу работать, а не примеры смотреть, то сразу вылезают грабли, а если посмотреть на JEP 395 то можно невооруженным взглядом заметить наличие отсутствия параграфа про prior art.

PetroNotC Sharp

Разве не здорово выглядит попытка вернуть сразу два значения из метода?
Код: java
1.
2.
record MinMax(int min, int max);
public MinMax minmax(int[] elements) { ... }



для подобного офигенно не хватает петоновских tuple, генераторов как в петоне тоже не хватает, да и от петоновских массивов я бы тоже не отказался.
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119798
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminDontSleep

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


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

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


Проблема в том, что "моудльная архитектура" и "модули jigsaw" - это две совершенно разные вещи, "модульная архитектура" - это просто некая парадигма (набор паттернов и пр., которым уже несколько десятков лет, скорее всего отсчет идет с момента изобретения DLL, так что не знаю чего это вдруг твой архитектор внезапно решил что-то переделывать), которая говорит нам, что "хорошо бы делать так", при все при этом мы можем вполне легко определить что некая часть нашего приложения выглядит откровенно так себе, однако, когда нам приходится сравнивать два "условно хороших" решения, то мы сталкиваемся с тем, что какие-либо объективные метрики отсутствуют - включается некий собственный субъективизм + ссылки на каких-то упоротышей (упоротый дед Боб тому пример, или например последние движения в springboot - тамошние разработчики решили что циклические зависимости между бинами зло и при переходе на 2.6.1 прямым текстом в сообщении об ошибке так и пишут: ваш код говно, срочно идите его переделывать; при этом сам спринг нормально контекст собирает, да и javac прекрасно с задачей справляется). Если попытаться поиграть в аналогии и спроецировать "модульную архитектуру" на бытовой уровень, то в первом приближении получается так:

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

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

Если ближе к теме про "модульную архитектуру", то вот предлагаю обратить взор на финно-узбекские паттерны :

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

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

Почему "модули jigsaw" никакого отношения к "модульной архитектуре" не имеют?

- в жаве (ну или в maven или gradle) по большому счету у зависимостей нет понятия requires/provides как например в linux (т.е. когда мы говорим, что для работоспособности нашего приложения нужен интерпретатор sh, а какой он там будет из 10 возможных нам совершенно не важно) - мы когда хотим иметь какой-то JPA мы указывает вполне конкретную реализацию - по факту хибер или эклипслинк и все, да бывают ситуации, что некие особо упоротые считают что JPA-модели можно описать только аннотациями из JPA, однако эти мечты мгновенно разбиваются о тот факт, что при помощи JPA нельзя много чего описать, да и пара хиберовских аннотаций может улучшить производительность в пару-тройку раз, другие упоротыши считают что, несмотря на то что они используют spring в качестве DI, фичи спринга использовать ну никак нельзя, а нужно оставаться в рамках пакета "javax.inject" из-за чего постоянно изобретают какие-то велосипеды с надеждой что когда-то проект сможет безболезненно переехать на другой фреймворк... - чтобы правильно пилить такие огромные куски на модули нужно изначально все вдумчиво проектировать, а не собирать комитеты, занимающиеся ИБД (тут обязательно нужно вспомнить как спринг в итоге победил J2EE с EJB и пр. дерьмом)
- для разработчика весь этот распил rt.jar на отдельные модули не несет никакого профита (ах ну да, мы на диске аж 10 мегабайт скроим!), а вероятность того что мы сможем запустить оракловую жаву с java.base от какой-нибудь OpenJ9 равна нулю

Отсюда вопрос: а зачем это все делается-то?

У меня есть две теории на этот счет:
- банальный синдром вахтера: кто-то там сел, откопал баги 20-летней давности и решил что вот время наконец-то пришло, и пора бы запретить разработчикам залазить в рантайм, и насрать что приложения в серверы приложений уже как лет 5 никто не деплоит и работоспособность конкретного приложения сейчас целиком и полностью лежит на плечах вендора (ну может еще кто-то хочет денюжку на поддержке только жавы заработать)
- готовится база для насаживания всех на кукан и монетизации конкретных модулей, а хомячки сейчас это все забесплатно тестируют. Например с моей точки зрения запрет на использования кишок какого-то модуля имеет хоть какой-то смысл только с следующем сценарии: вот мы пишем какое-то приложение и хотим на него навесить некий модуль ИБ (ИБ здесь не с точки зрения того, что есть злые какеры, которые через log4j2 систему пробивают, а в смысле что Вася какие-то кнопки может нажимать, а какие-то нет) и нам кому-то (местной службе ИБ или аудитору) нужно доказать что наше приложение работает "безопасно", ну вот мы идем к вендору модуля ИБ, включаем модуль в поставку приложения, а у этого модуля все организовано так, что он там какие-то вызовы перехватывает, "расширить" его никак нельзя и поэтому вроде как все безопасно (у вендора бумажка есть).
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119802
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
нам нужно работу работать
мое имхо что прогер должен выбрать. Нужен ему обычный класс или класс данных.
У второго ограничения и выходящие из них преимущества.
В ломбоке вы получаете тот же самый класс.
Например, запрещено как в ломбоке добавлять свои скрытые поля в класс. И это дает кучу плюшек.
Имхо
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119804
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
модульная архитектура" - это просто некая парадигма (набор паттернов и пр., которым уже несколько десятков лет, скорее всего отсчет идет с момента изобретения DLL, так что не знаю чего это вдруг твой архитектор внезапно решил что-то переделывать),
+1))
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119807
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
а если посмотреть на JEP 395 то можно невооруженным взглядом заметить наличие отсутствия параграфа про prior art.
А если пройти по цепочке до исходного JEP395 , то
Non-GoalsIt is not a goal to declare "war on boilerplate"; in particular, it is not a goal to address the problems of mutable classes using the JavaBean naming conventions.
It is not a goal to add features such as properties, metaprogramming, and annotation-driven code generation, even though they are frequently proposed as "solutions" to this problem.
Поэтому вопрос: в чём недовольство-то?
Лично вас не устраивает? Ну так или не используйте или предложите собственный JEP.
В язык затащено всякого мусора? И что? Чем вам мешает то, что лично вы не используете (не хотите использовать)?
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119809
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Отсюда вопрос: а зачем это все делается-то?
Оно, вообще-то, вполне внятно озвучено.
Система модулей разработана, в первую очередь, для внутренних нужд разработки JDK.
Как, например, вы собираетесь выпиливать приснопамятный sun.mics.Unsafe, если у вас нет ни "устарело, на удаление" ни строгой инкапсуляции?
Как предлагаете реорганизовать откровенно неудачные решения Java SE API?
Или вас всё это не касается? Ну а в чём тогда дело? Java 8 доступна из кучи репозиториев и будет доступна до 2023-24 года, как минимум.
Следовательно, за это время можно спокойно переехать на Java 11 решив только те проблемы, которые мешают этому переезду.
И, например, многоверсионные JAR могут облегчить вашу работу. А это, опять-таки, заслуга "того самого" jigsaw.
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119820
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Поэтому вопрос: в чём недовольство-то?
Лично вас не устраивает? Ну так или не используйте или предложите собственный JEP.
В язык затащено всякого мусора? И что? Чем вам мешает то, что лично вы не используете (не хотите использовать)?


вроде написал же уже:

Андрей Панфилов
текущее состояние жавки примерно следующее: у нас совершенно ипанутое API для совершенно тривиальных вещей (ну например работа с массивами через пень колоду организована, java.lang.String#substring в UTF8 никак не умеет (сюрприз, да), лямбды такие, что без слез не глянешь + все что наболело), однако при этом у нас есть куча сборщиков мусора (в 1.6 их было 7 штук, сейчас даже считать лень) и никому не нужные модули - на мой взгляд это уже определенно стагнация.


т.е. иными словами: хотелось бы чтобы вместо онанизма решались насущные проблемы.


Basil A. Sidorov
Система модулей разработана, в первую очередь, для внутренних нужд разработки JDK.


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

Basil A. Sidorov
Как, например, вы собираетесь выпиливать приснопамятный sun.mics.Unsafe, если у вас нет ни "устарело, на удаление" ни строгой инкапсуляции?


Здесь я сразу вспомнил один из видосиков, которые постоянно mayton постит, там перец несколько минут гордился тем, что возможность использования sun.mics.Unsafe таки оставили, однако: дохрена народа пользуются sun.mics.Unsafe, хоть и приходится его получать через одно место - разработчики же JDK по какой-то невероятной причине этот факт попусту игнорируют, вот что мешало сделать System.unsafe 15 лет назад? Я никаких других причин кроме как синдрома вахтера не вижу: в С ассемблерные вставки можно, в .Net и Rust unsafe можно, в петоне биндинги к внешним библиотекам - это вообще само собой разумеющееся, а в жаве писать lock-free алгоритмы - это оказывается великая привилегия разработчиков JDK, а черни не дозволено.

Basil A. Sidorov
многоверсионные JAR могут облегчить вашу работу. А это, опять-таки, заслуга "того самого" jigsaw


"облегчить" - на мой взгляд уж слишком оптимистичное заявление...
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119835
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
мое имхо что прогер должен выбрать. Нужен ему обычный класс или класс данных.
У второго ограничения и выходящие из них преимущества.
В ломбоке вы получаете тот же самый класс.
Например, запрещено как в ломбоке добавлять свои скрытые поля в класс. И это дает кучу плюшек.
Имхо


Вот если бы в record в качестве полей можно было бы использовать только примитивы и другие record, то было бы круто - т.е. данные были бы только данными без каких-либо сайд-эффектов, там бы и десериализация была бы безопасная и пр., а так профита от этого нет.
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119839
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,
Дак оно так и есть. Не? Дай примерчик.
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119843
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
т.е. иными словами: хотелось бы чтобы вместо онанизма решались насущные проблемы.
"Лес не вертится сам по себе" (ц) м/ф "Правдивая история Красной шапочки".
Добавлю ещё, что и мир не крутится вокруг программистов.Хорошо, а зачем мне ее насаждать-то? Какого хрена я при переходе на новую версию жавы должен что-то глобально переделывать?"Мир меняется ... Вот, уже и в воздухе чем-то запахло" (ц) х/ф "Братва и кольцо".
Не хотите ничего переделывать - оставайтесь на Java 8.
Хотите перейти на новую версию без переделки ваших приложений - делайте форк Java 8 JDK и интегрируйте туда только те фичи, которые нужны лично вам.Здесь я сразу вспомнил один из видосиков ... Я никаких других причин кроме как синдрома вахтера не вижу: ...Я поскипал много неаргументированных буков и просто повторю, что вокруг вас мир не вертится.
Это можно понять из простого чтения JEP-ов.
И, кстати, именно потому, что пятнадцать лет назад миндальничали со всякими Netty/Кафка/e.t.c. и нарисовалась та самая задница, которая вам так активно не нравится."облегчить" - на мой взгляд уж слишком оптимистичное заявление...А у меня - другое мнение.
Будем меряться пип мнениями или, всё-таки, сойдёмся том, что другой (мета)вселенной (лично для вас) никто не напишет?
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119845
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Андрей Панфилов,
Дак оно так и есть. Не? Дай примерчик.


Думаешь не скомпилится?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public record Point(Coordinate x, Coordinate y) {

    public Point {
        System.exit(0);
    }

    public static class Coordinate {

        private final int value;

        public Coordinate(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }
}
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119846
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,
Класс для данных. Отсюда только статические поля и сам record как поле.
Отсюда абсолютная прозрачность потрохов для всех снаружи.
Отсюда полная прозрачность для сериализации и маршаллинга.
Считай дерево данных tree record или json record
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119847
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
PetroNotC Sharp
Андрей Панфилов,
Дак оно так и есть. Не? Дай примерчик.


Думаешь не скомпилится?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public record Point(Coordinate x, Coordinate y) {

    public Point {
        System.exit(0);
    }

    public static class Coordinate {

        private final int value;

        public Coordinate(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }
}


static плохой тон)
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119861
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
static плохой тон)


Да какая разница, плохой или не плохой, оно же специально для тебя написано было, чтобы смог скомпилировать... ты же получил синтаксический сахарок и начал делать далеко идущие выводы - про сериализацию, иммутабельность и пр. - ничем подобным там и не пахло.
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119869
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,
Как какая разница если статик это не состояние карл.
В классе данных не должно быть скрытого состояния. Что позволяет ломбок.
Написать то можно любую хрень. Но ты выше написал сноску - "нам же работать надо".
Тогда давай от задачи идти.
Чем не пахло если в примере ты не изменил состояние. Что отлично сериализуется.
Мне сложно рассматривать всякую хрень которая лишь бы скомпилилась.
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40119870
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,
Для пессимистов статья
https://nipafx.dev/java-record-semantics/
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40120019
adminDontSleep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфилов,
так и не услышал ни одного внятного аргумента против мудулей,
Про ломбок вообще вообще нет ни одного аргумента,кроме что вот это удобно...
а потом удобно ждать пару мес пока деятиели из ломбока пофиксят баги? или проще нажать generate getter/setter
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40120033
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminDontSleep,
А ты сам то вообще молчишь.
То что ломбок удобен разве ж этого мало)))
Ну а с приходом record и ломбок твой помрет.
Так как pojo тупые классы это все что нужно в java
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40120038
adminDontSleep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
adminDontSleep,
А ты сам то вообще молчишь.
То что ломбок удобен разве ж этого мало)))
Ну а с приходом record и ломбок твой помрет.
Так как pojo тупые классы это все что нужно в java

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

с таким отношением понятно они растеряли аудиторию ,я был в числе их почитателей- но ребята жестко обкакались - а это неприемлимо в той сфере ,где я работаю,поэтому ломбок пошел под нож,теперь только языковые фичи
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40120042
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminDontSleep
ломбок пошел под нож
думаю не ты там решаешь, под нож или нет.
Переписывать легаси или нет.
Больно быстро тебя качает ветром.
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40120043
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adminDontSleep
мне некогда говорить) работы выше крыши
это отмазка для детей.
Покажи как ты работу работаешь.
As is to be.
...
Рейтинг: 0 / 0
Авторизация в spring улетает в бесконечный цикл
    #40120048
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Развивая идею иммутабельных DTO, я-бы предложил ввести tuple, как в функциональных языках.
Мне иногда не хватает. А apache-common pair затягивать не хочется да и не красиво.

Типа вместо

Код: java
1.
2.
3.
Pair<String,String> splitUrl(String url) {
   ....
}



ввести нечто вроде

Код: java
1.
2.
3.
 {String,String} splitUrl(String url) {
   ....
}



и алиасы элементов ответа типа первый и второй.

Код: java
1.
2.
_1
_2
...
Рейтинг: 0 / 0
25 сообщений из 78, страница 2 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Авторизация в spring улетает в бесконечный цикл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]