powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Stream API
174 сообщений из 174, показаны все 7 страниц
Stream API
    #39934666
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребят нужна ваща помощь.
как мне кинуть исключение ,если в stream 1 элемент ,при этом я не могу использовать ни коллекцию ни if
конструкция кода такова есть лист,фильтруем его и если количество элементов 1-кидаем исключение
может можно и как то по другому
у меня там вообще стояло так - filtr-findfirst()-orElseThrow но при таком раскладе кидает исключение если не найдет ни 1 элемента


Код: java
1.
2.
3.
4.
5.
list.stream
.filter()

????
()->throw new Exeption
...
Рейтинг: 0 / 0
Stream API
    #39934693
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Опять теория?
Фильтруем в пустоту?
Обычно фильтруют в конечную переменную.
Потом ее и проверяй.
То есть добавь сюда код БЛ, а не пример из книги или снов.
...
Рейтинг: 0 / 0
Stream API
    #39934695
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно иф добавить внутрь фильтра ))) и кинуть там эксепшн. правда вроде в жаве были какие то особенности на эту тему.

в скале я б сделал матч кейс. что впрочем, та же хрень.
...
Рейтинг: 0 / 0
Stream API
    #39934704
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Ребят нужна ваща помощь.
как мне кинуть исключение ,если в stream 1 элемент ,при этом я не могу использовать ни коллекцию ни if
конструкция кода такова есть лист,фильтруем его и если количество элементов 1-кидаем исключение
может можно и как то по другому
у меня там вообще стояло так - filtr-findfirst()-orElseThrow но при таком раскладе кидает исключение если не найдет ни 1 элемента


Код: java
1.
2.
3.
4.
5.
list.stream
.filter()

????
()->throw new Exeption



Например так <:o)

Код: java
1.
2.
3.
4.
5.
6.
7.
public class StreamApiException {
    private List<Integer> list = Arrays.asList(0, 1, 2, 3, 4, 5);

    public void test() {
        assert(list.stream().filter(i -> i == 1).count() != 1L);
    }
}
...
Рейтинг: 0 / 0
Stream API
    #39934782
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
+1
В чем проблема у ТС я не увидел.
...
Рейтинг: 0 / 0
Stream API
    #39934784
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Код: java
1.
count() != 1L)

щаз скажет что буква L лишняя.
...
Рейтинг: 0 / 0
Stream API
    #39934786
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
asv79
Ребят нужна ваща помощь.
как мне кинуть исключение ,если в stream 1 элемент ,при этом я не могу использовать ни коллекцию ни if
конструкция кода такова есть лист,фильтруем его и если количество элементов 1-кидаем исключение
может можно и как то по другому
у меня там вообще стояло так - filtr-findfirst()-orElseThrow но при таком раскладе кидает исключение если не найдет ни 1 элемента


Код: java
1.
2.
3.
4.
5.
list.stream
.filter()

????
()->throw new Exeption



Например так <:o)

Код: java
1.
2.
3.
4.
5.
6.
7.
public class StreamApiException {
    private List<Integer> list = Arrays.asList(0, 1, 2, 3, 4, 5);

    public void test() {
        assert(list.stream().filter(i -> i == 1).count() != 1L);
    }
}


и где тут экспешн кидается если стрим больше 1?
и условие читай - лист всего 1 ,второй раз из стрима в лист нельзя и ифы нелья
так то я бы сделал filtr-collect(Collections.Singltone).orElstThrow(()->retrun Exeption)
...
Рейтинг: 0 / 0
Stream API
    #39934787
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
можно иф добавить внутрь фильтра ))) и кинуть там эксепшн. правда вроде в жаве были какие то особенности на эту тему.

в скале я б сделал матч кейс. что впрочем, та же хрень.

иф нельзя я же написал,как будто я сам не знаю что ифом проверить и все кек)
но вот нельзя
...
Рейтинг: 0 / 0
Stream API
    #39934800
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
второй раз из стрима в лист нельзя
он замерил Результат стрима.
Такого условия не было.
...
Рейтинг: 0 / 0
Stream API
    #39934810
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Ну и с точки зрения архитектуры, стрим это постоянно текущая река.
Поэтому вопрос твой странный или из категории кунсткамера.
...
Рейтинг: 0 / 0
Stream API
    #39934823
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79,
Ну и с точки зрения архитектуры, стрим это постоянно текущая река.
Поэтому вопрос твой странный или из категории кунсткамера.

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

лист-stream-filtr-findFirst-orElseThrow

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

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

asv79
фильтруем лист по какому то условию и бац - два элемента у одного проходит условие у другого нет
пример где? Реальный?
Ты выше сказал нечто странное.
Пример mad_nazgul видем?
Сделай такой же!
...
Рейтинг: 0 / 0
Stream API
    #39934828
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Зы.
Я твой лично код давно не видел. В основном разговоры про чужой код.
Ждем.
...
Рейтинг: 0 / 0
Stream API
    #39934833
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

там все просто нас заставляют придерживаться общей стилистики кода
Это в банках TOP-1 заставляют ребусы писать?

Код: java
1.
2.
3.
4.
5.
6.
7.
List<String> l = Arrays.asList("1");
Object anchor = new Object();
Stream.concat(
        l.stream(),
        Stream.of(anchor, new Object())
).skip(1).limit(1).findFirst().filter(e -> e != anchor)
        .orElseThrow(RuntimeException::new);
...
Рейтинг: 0 / 0
Stream API
    #39934834
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В операциях по стримам можно сохранить/передать состояние только через общую переменну, reduce или collect. Если надо сделать на стримах, то подходит вроде только collect. Сделать через него можно, но это то еще извращение.
...
Рейтинг: 0 / 0
Stream API
    #39934862
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в идее стримов такой случай тебе не нужен а если нужен ты чот не то делаешь.
...
Рейтинг: 0 / 0
Stream API
    #39934864
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исключительно ради огромной любви к извращениям:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
        
Arrays.<String>asList("a").stream().parallel()
        .limit(2)
        .collect(
                () -> (Optional<String>[]) (new Optional[]{Optional.of("SUCCESS")}),
                (s, s2) -> s[0] = Optional.<String>empty(),
                (s, s2) -> s[0] = Optional.of("SUCCESS")
        )[0]
        .orElseThrow((RuntimeException::new));
...
Рейтинг: 0 / 0
Stream API
    #39934872
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
в идее стримов такой случай тебе не нужен а если нужен ты чот не то делаешь.
да. Он юз кейс странно описал.
Поэтому и просил у него код.
Он этого в жизни не делал))))
...
Рейтинг: 0 / 0
Stream API
    #39934886
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
asv79

там все просто нас заставляют придерживаться общей стилистики кода
Это в банках TOP-1 заставляют ребусы писать?

Код: java
1.
2.
3.
4.
5.
6.
7.
List<String> l = Arrays.asList("1");
Object anchor = new Object();
Stream.concat(
        l.stream(),
        Stream.of(anchor, new Object())
).skip(1).limit(1).findFirst().filter(e -> e != anchor)
        .orElseThrow(RuntimeException::new);


не прокатит такое
создается дополнительный объект ,-я таким же успехом я этот стрим засну обратно в лист и положу туда синглтон ,а так как у нас две позиции - то выбросится исключение
тут идея в том чтобы не засорять память лишними объектами
пс.а то что ты выше привел делает reduce(),но оно мне не подходит
...
Рейтинг: 0 / 0
Stream API
    #39934887
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Исключительно ради огромной любви к извращениям:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
        
Arrays.<String>asList("a").stream().parallel()
        .limit(2)
        .collect(
                () -> (Optional<String>[]) (new Optional[]{Optional.of("SUCCESS")}),
                (s, s2) -> s[0] = Optional.<String>empty(),
                (s, s2) -> s[0] = Optional.of("SUCCESS")
        )[0]
        .orElseThrow((RuntimeException::new));


ты создаешь новый объект - тем самым нарушая условия- то что ты выше написал делается в одну строчку collect(Collections.singletone)
...
Рейтинг: 0 / 0
Stream API
    #39934889
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
нет
пример где? Реальный?
Ты выше сказал нечто странное.
Пример mad_nazgul видем?
Сделай такой же![/quot]
мы в контуре работаем оттуда не работает копипаст,а руками набивать опухнешь)
так что код ты не увидишь)
...
Рейтинг: 0 / 0
Stream API
    #39934890
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
тут идея в том чтобы не засорять память лишними объектами
неужели твоя супер идея?
stream..... filter......
Каким образом без создания объекта будем использовать результат фильтра?
...
Рейтинг: 0 / 0
Stream API
    #39934892
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
набивать опухнешь)
а он смог?
private List<Integer> list = Arrays.asList(0, 1, 2, 3, 4, 5);
?
...
Рейтинг: 0 / 0
Stream API
    #39934894
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стримы бывают ленивые. Например, по сети из Африки.
Поэтому, пока не создашь объект = результат, не узнаешь count.
...
Рейтинг: 0 / 0
Stream API
    #39934895
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
так что код ты не увидишь)
я знаю. У тебя цель - ПТ.
...
Рейтинг: 0 / 0
Stream API
    #39934954
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Исключительно ради огромной любви к извращениям:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
        
Arrays.<String>asList("a").stream().parallel()
        .limit(2)
        .collect(
                () -> (Optional<String>[]) (new Optional[]{Optional.of("SUCCESS")}),
                (s, s2) -> s[0] = Optional.<String>empty(),
                (s, s2) -> s[0] = Optional.of("SUCCESS")
        )[0]
        .orElseThrow((RuntimeException::new));


какой жиздец как же это ужасно выглядит.

зы это я не к тебе это я к джаве.

ужснах!
...
Рейтинг: 0 / 0
Stream API
    #39934956
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
SpringMan
Исключительно ради огромной любви к извращениям:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
        
Arrays.<String>asList("a").stream().parallel()
        .limit(2)
        .collect(
                () -> (Optional<String>[]) (new Optional[]{Optional.of("SUCCESS")}),
                (s, s2) -> s[0] = Optional.<String>empty(),
                (s, s2) -> s[0] = Optional.of("SUCCESS")
        )[0]
        .orElseThrow((RuntimeException::new));


какой жиздец как же это ужасно выглядит.

зы это я не к тебе это я к джаве.

ужснах!

так никто и не делает все это делается немного по другому
Код: java
1.
2.
reduce(SomeObject o,(a,b)->
throw new Exeption);


вот то же самое
...
Рейтинг: 0 / 0
Stream API
    #39934958
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

так никто и не делает все это делается немного по другому
Код: java
1.
2.
reduce(SomeObject o,(a,b)->
throw new Exeption);


вот то же самое
Где только таких идиотов трудоустраивают-то (в банках ТОП-1, не иначе), ты в изначальном посте написал:
asv79
конструкция кода такова есть лист,фильтруем его и если количество элементов 1-кидаем исключение
а твой говнокод на любой непустой стрим выкидывает исключение, пришло тут чмо с вопросом, два слова связать не может, а еще пытается указывать.
...
Рейтинг: 0 / 0
Stream API
    #39934959
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
какой жиздец как же это ужасно выглядит.
какая постановка, такой и ужас.
"нельзя создать переменную в оперативке" приводит к таким ужасам.
Суп из топора еще варят. Когда ничего нельзя.
...
Рейтинг: 0 / 0
Stream API
    #39934961
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще докину в коллекцию извращений
Код: java
1.
2.
3.
4.
Stream.of(1, 2)
                .map(e -> Stream.of(e).filter(x -> x > 1)
                        .findFirst()
                        .orElseThrow(() -> new RuntimeException("failed")));
...
Рейтинг: 0 / 0
Stream API
    #39934963
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Код: java
1.
2.
reduce(SomeObject o,(a,b)->
throw new Exeption);


вот то же самое

Это твоя попытка решить задачу?
)))
Больше кода и меньше слов. Да прибудет с тобой сила.
...
Рейтинг: 0 / 0
Stream API
    #39934988
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79
SpringMan
Исключительно ради огромной любви к извращениям:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
        
Arrays.<String>asList("a").stream().parallel()
        .limit(2)
        .collect(
                () -> (Optional<String>[]) (new Optional[]{Optional.of("SUCCESS")}),
                (s, s2) -> s[0] = Optional.<String>empty(),
                (s, s2) -> s[0] = Optional.of("SUCCESS")
        )[0]
        .orElseThrow((RuntimeException::new));


ты создаешь новый объект - тем самым нарушая условия- то что ты выше написал делается в одну строчку collect(Collections.singletone)

Остальное уже написали) Остался только один вопрос: что вообще такое collect(Collections.singletone)? - оно не скомпилируется даже
...
Рейтинг: 0 / 0
Stream API
    #39935001
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Исключительно ради огромной любви к извращениям:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
        
Arrays.<String>asList("a").stream().parallel()
        .limit(2)
        .collect(
                () -> (Optional<String>[]) (new Optional[]{Optional.of("SUCCESS")}),
                (s, s2) -> s[0] = Optional.<String>empty(),
                (s, s2) -> s[0] = Optional.of("SUCCESS")
        )[0]
        .orElseThrow((RuntimeException::new));



Круто!

Прикол в том, что если заменить
Код: java
1.
Arrays.<String>asList("a").stream()



на

Код: java
1.
Stream.of("a")


Как рекомендует IDEA


То работать не будет. Точнее исключение не будет только при нуле элементов. :-)
...
Рейтинг: 0 / 0
Stream API
    #39935003
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Прикол в том...
Там вся фишка в parallel (и в малом количестве элементов), если parallel не работает или элементов столько, что SplitIterator не дробится до одного элемента, то возникают проблемы :)
...
Рейтинг: 0 / 0
Stream API
    #39935014
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
mad_nazgul
Прикол в том...
Там вся фишка в parallel (и в малом количестве элементов), если parallel не работает или элементов столько, что SplitIterator не дробится до одного элемента, то возникают проблемы :)


Точно.
Прикольно.
...
Рейтинг: 0 / 0
Stream API
    #39935222
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И зачем вам нужен parallel? Где в топике хотя-бы 1 информационный
повод к тому чтобы его вводить?
...
Рейтинг: 0 / 0
Stream API
    #39935223
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
И зачем вам нужен parallel? Где в топике хотя-бы 1 информационный
повод к тому чтобы его вводить?
ну как, Стас же написал: "мне нужна херня", ему "херню" предоставили (ну там коммутативность сломана во имя требований, но Стасу должно быть все равно).
...
Рейтинг: 0 / 0
Stream API
    #39935229
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот мне нравится. Есть 100500 интересных проблем математики (дискретной математики) которые
надо решать но программисты любят др0чить Streams. Вот хлебом их не корми - дай пописать
безсмысленные конструкции.
...
Рейтинг: 0 / 0
Stream API
    #39935245
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ну дак если ТС невменяемый.
Кусок код наверно должен выглядеть так:
Код: java
1.
2.
Коллекция колл = стрим.фильтруем();
setБизнесЛогика(колл);


После этого можно решать, где проверить переменную колл на размер.
Так?
Стас же невменяемый молчит.
Его проблемы.
...
Рейтинг: 0 / 0
Stream API
    #39935295
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это даже не к ТС. Я просто смотрю с каким энтузиазмом вы схватились за онанизм под названием исключение внутри
Stream и удивляюсь.

А затопление острова океаном вам неинтересно? Эта же задача тоже имеет цифровое решение? Может быть reduce?
Я-бы попробовал. Всяко лучше чем онанировать исключения.
...
Рейтинг: 0 / 0
Stream API
    #39935298
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не ну бросить кастомный эксепшен в стриме это в принципе адекватное желание. можно вполне без ифов писать (в явном виде) просто бросая где надо исключения и ловя их ) так же как например, без форов и форычей )
...
Рейтинг: 0 / 0
Stream API
    #39935362
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Думаю что исключения внутри стрима и внутри потока это Не адекватно.
...
Рейтинг: 0 / 0
Stream API
    #39935402
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Думаю что исключения внутри стрима и внутри потока это Не адекватно.

почему? вот у тебя банальная операция мапа - одного на другое и тут у тебя эксепшен случается. разве это нереальная ситуация?
...
Рейтинг: 0 / 0
Stream API
    #39935428
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
вот у тебя банальная операция мапа

Такая?
Код: java
1.
2.
Коллекция колл = стрим.фильтруем();
setБизнесЛогика(колл);


Исключение ведь планируем мы. Не инопланетяне?

andreykaT
нереальная ситуация?

Дак никто не приводит ситуацию когда исключение САМО возбудилось.
Например, в потоках я стараюсь не использовать исключения.
Не умеет комп с ними работать).
Имхо
...
Рейтинг: 0 / 0
Stream API
    #39935432
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Стрим это уже ближе к ФП/реактивному. Поэтому и подходы другие.
В обычном программировании я исключения активно использую.
...
Рейтинг: 0 / 0
Stream API
    #39935448
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сути если внутри map возникло unchecked - то самое умное что можно сделать - вернуть
пустой опционал а следующий элемент конвейера уже должен сам решать что делать с
пустышкой. Прерывать работу стрима - глупо.

ФП и исключения - не любят друг-друга. А процессинг стримов - это такой кивок в сторону ФП.
Дескыть вы пищали. Хотели красивой обработки бесконечных последовательностей. Вот получите.
...
Рейтинг: 0 / 0
Stream API
    #39935449
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
По сути если внутри map возникло unchecked
я даже это не представляю. И код не могу вообразить. И юз кейс тоже не могу вообразить.
...
Рейтинг: 0 / 0
Stream API
    #39935450
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
По сути если внутри map возникло unchecked
я даже это не представляю. И код не могу вообразить. И юз кейс тоже не могу вообразить.

Любой парсер дат бросает исключения. Дальше - пускай ваша фантазия сработает где в вашем коде может
приходить срока как стрим строк и где может быть маппинг с парсингом.
...
Рейтинг: 0 / 0
Stream API
    #39935453
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Любой парсер дат бросает исключения.
слово парсер я слышал.
Я не вскурсе как соединить парсер с Stream.
Фантазия не работает. Увы.
...
Рейтинг: 0 / 0
Stream API
    #39935455
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На этот раз поддержу Петро, кидать исключения в стриме - противоречит самой концепции стримов. Такое случается когда смузеры начинают осваивать новую технологию не разобравшись для чего она.
...
Рейтинг: 0 / 0
Stream API
    #39935470
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и я говорю что в стримах по дизайну не должно быть исключений. Исключение разрывает конвейер.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
static DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("d-M-[uuuu][uu]");

....

String[] dts = new String[]{"17-12-1980", "20-2-1981", "22-2-1981", "2-4-1981", "28-9-1981", "1-5-1981", 
                "9-6-1981", "13-JUL-87", "17-11-1981", "8-9-1981", "13-JUL-87", "3-12-1981", "3-12-1981", "23-1-1982"};

    static Optional<LocalDate> parseOrEmpty(String d1) {
        try {
            return Optional.of(LocalDate.parse(d1, dateTimeFormatter));
        } catch (DateTimeParseException ex) {
            return Optional.empty();
        }
    }

    List<LocalDate> parsedDates = Arrays.stream(dts).map(Main::parseOrEmpty)
                .filter(Optional::isPresent)
                .map(Optional::get)
                .peek(x -> System.out.println(x))
                .collect(Collectors.toList());



Что делать с двузначной датой? Отдать на откуп техническому заданию и разработчику. Можно логгировать.
Можно игнорить. Можно считать дефектом данных. Но не прерывать процессинг стрима.
...
Рейтинг: 0 / 0
Stream API
    #39935490
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Код: java
1.
2.
3.
4.
5.
6.
7.
static Optional<LocalDate> parseOrEmpty(String d1) {
        try {
            return Optional.of(LocalDate.parse(d1, dateTimeFormatter));
        } catch (DateTimeParseException ex) {
            return Optional.empty();
        }
    }


Согласен. Так и получается, что исключения гасить в самом зародыше. Чтобы наружу ни в потоках, ни в стримах не выползали.
...
Рейтинг: 0 / 0
Stream API
    #39935499
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
Код: java
1.
2.
3.
4.
5.
6.
7.
static Optional<LocalDate> parseOrEmpty(String d1) {
        try {
            return Optional.of(LocalDate.parse(d1, dateTimeFormatter));
        } catch (DateTimeParseException ex) {
            return Optional.empty();
        }
    }


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

Да. Большинство языков которые создавались после Java (GoLang) отказались от декларации checked exceptions
и вообще постарались не вовлекать программиста в формальный протокол обработки до тех пор пока
ОН САМ не решит это сделать явно. Да и вообще. Если есть возможность например парсить дату
просто возвращая boolean признак - лучше сделать так. Это будет дешевле с точки зрения накладных
расходов на процессинг. Представте что вы парсите CSV-файл из миллиарда строк и в нем в каждой
строке идет генерация DateTimeParseException и внутренняя механика каждый раз (!) формирует
полный стектрейс (Java объект представляющий стектрейс) независимо от того нужен он нам или нет.
По сабжу - не нужен но бох его знает какая механика под капотом уже работает. Софистический
пример с парсингом дат - для меня был самый настоящий. И я фиксил перформанс дефект
как раз для такого случая когда формат даты был задан неверно но деградация производительности
(для JDK 1.6) в то время была так ужасна что выгоднее было сделать строковые проверки
и выйти из процедуры раньше чем отработает метод ::parse().

Вобщем Exception - должен быть редким. Исключительным.
...
Рейтинг: 0 / 0
Stream API
    #39935535
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вобщем Exception - должен быть редким. Исключительным.
для меня только в двух случаях - в стримах и потоках.

mayton
Представте что вы парсите CSV-файл из миллиарда строк и в нем в каждой
строке идет генерация DateTimeParseException и внутренняя механика каждый раз (!) формирует
полный стектрейс (Java объект представляющий стектрейс) независимо от того нужен он нам или нет.

Я при исключении выхожу из стека, на самый верх в ГУИ.
...
Рейтинг: 0 / 0
Stream API
    #39935560
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Главное чтоб для пользователя это не выглядело как "циклическое" модальное окно.
Типа выскакиевает лопух с собщением "Unable to parse date XXXX at position Y", пользователь
его внимательно читает. Соглашается. Нажимает ОК. А потом - херак - следующее окно
точно такое-же текстом только дата другая. Далее - у пользователя должен быть сердечный
приступ...
...
Рейтинг: 0 / 0
Stream API
    #39935719
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
На этот раз поддержу Петро, кидать исключения в стриме - противоречит самой концепции стримов. Такое случается когда смузеры начинают осваивать новую технологию не разобравшись для чего она.

никто не бросает исключение в стриме
List -stream- filtr-findfirst-orElseThrow
вот конструкция примерная

и все тут ок
но мне дали задачу сделать похожую концепцию,но исключение должно выброситься в случае если стрим пустой,Причем сделать это в общей концепции -без ифов и без создания доп.объектов
...
Рейтинг: 0 / 0
Stream API
    #39935725
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
никто не бросает исключение в стриме
проснулся после 8 марта))

asv79
List -stream- filtr-findfirst-orElseThrow
вот конструкция примерная

и все тут ок
это Г.. код
...
Рейтинг: 0 / 0
Stream API
    #39935759
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79
никто не бросает исключение в стриме
проснулся после 8 марта))

asv79
List -stream- filtr-findfirst-orElseThrow
вот конструкция примерная

и все тут ок
это Г.. код

аргументы на уровне школьника 3 класса
аргументируй ,чем он говно ,очень хочется экспертное мнение услышать)
...
Рейтинг: 0 / 0
Stream API
    #39935798
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Аргументы тебе школьник, будут когда юз кейс для вопроса по коду будут.
Или научишься Модель представлять для вопросов про архитектуру.
А на приеме у врача градусник держать под мышкой.
https://www.google.com/search?q=use case это&oq=use case&aqs=chrome.3.69i57j0l3.4238j0j8&client=tablet-android-huawei&sourceid=chrome-mobile&ie=UTF-8
...
Рейтинг: 0 / 0
Stream API
    #39935799
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.
...
Рейтинг: 0 / 0
Stream API
    #39935823
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
ты назвал данный флоу -говном ,при этом ничего не обосновав)
Как это не по программистски)
но раз тебе нужен юзкейс ,ок

это валидатор
с сайта прилетает заявка-в джейсоне ,что то валидируется bean validation
что то должны проверить мы
в данном конкретном случае я должен проверить код страны фактический и регистрации и если код этот не РФ ,то должен кинуть наш кастомный exeption
задача не трививиальная- тоесть возьми с джейсона этот лист -пройдись по нему циклом и удали оттуда все что не похоже на код РФ -далее сверь размер-если 2 - то ок,не 2 - кидаем ошибку,которая приатачится к ответу и оператор сможет это увидеть и либо поправить ,либо отказать заемщику-как то так.
вот моя задача была стилистически все это сделать в таком флоу как выше-ибо весь валидатор построен в таком плане.
без ифов и создания новых обьектов
.
...
Рейтинг: 0 / 0
Stream API
    #39935838
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
ты назвал данный флоу -говном ,при этом ничего не обосновав)
Как это не по программистски)
По правилам форума ты ОБЯЗАН в вопросе предоставить всю информацию.

asv79
это валидатор
потрудись немного. Я просил код. С КОММЕНТАРИЕМ: "Вот в этом месте мне нужно то то и то то";
...
Рейтинг: 0 / 0
Stream API
    #39935839
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Ну а фраза "мне нужно райзе" не катит.
...
Рейтинг: 0 / 0
Stream API
    #39935846
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79
ты назвал данный флоу -говном ,при этом ничего не обосновав)
Как это не по программистски)
По правилам форума ты ОБЯЗАН в вопросе предоставить всю информацию.

asv79
это валидатор
потрудись немного. Я просил код. С КОММЕНТАРИЕМ: "Вот в этом месте мне нужно то то и то то";

зачем мне давать тебе код,который находится в закрытом контуре)
тем более давно уже решили задачку,пока ты щеки тут надувал)))
...
Рейтинг: 0 / 0
Stream API
    #39935850
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
22095724
...
Рейтинг: 0 / 0
Stream API
    #39935857
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79,
22095724

петро закусывай)
...
Рейтинг: 0 / 0
Stream API
    #39935863
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Девочки - не ссорьтесь.

Вот подумайте лучше можно ли все SQL-опции (агрегирующие GROUP BY и аналитические OVER.. PARTITION BY) заменить на Stream::collect/reduce?

Я над этим периодически думаю и вижу что на SQL - красиво а на stream - говнецо выходит.
...
Рейтинг: 0 / 0
Stream API
    #39935874
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Согласись, что group by более органично выглядит на рисунке чем райзе

Тема себя исчерпала.
...
Рейтинг: 0 / 0
Stream API
    #39935883
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Девочки - не ссорьтесь.

Вот подумайте лучше можно ли все SQL-опции (агрегирующие GROUP BY и аналитические OVER.. PARTITION BY) заменить на Stream::collect/reduce?

Я над этим периодически думаю и вижу что на SQL - красиво а на stream - говнецо выходит.

вопрос в том что ты хочешь получить в конечном результате
если производительность- я думаю сейчас это уже неактуально - все в облаках,мощностей хватает сделать групинг в сервис слое
ну и вообще хибер из коробки это умеет -поэтому если ты пользуешь хибер - то такой вопрос не возникнет
если ты юзаешь чистый жидибиси ,то наверно логичней этот функционал оставить на стороне базы
...
Рейтинг: 0 / 0
Stream API
    #39935888
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
мощностей хватает сделать групинг в сервис слое
да да. Помню. Ты предлагал group by user сделать "частототой вхождения в мапу" так как не сдела справочник юзверей и FK.
...
Рейтинг: 0 / 0
Stream API
    #39935891
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
asv79,
Ну и с точки зрения архитектуры, стрим это постоянно текущая река.
Поэтому вопрос твой странный или из категории кунсткамера.


Про терминальные операторы не слышал?
...
Рейтинг: 0 / 0
Stream API
    #39935892
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SpringMan
В операциях по стримам можно сохранить/передать состояние только через общую переменну, reduce или collect. Если надо сделать на стримах, то подходит вроде только collect. Сделать через него можно, но это то еще извращение.


По доке все компоненты в стримах должны быть stateless
...
Рейтинг: 0 / 0
Stream API
    #39935895
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл ник
На этот раз поддержу Петро, кидать исключения в стриме - противоречит самой концепции стримов. Такое случается когда смузеры начинают осваивать новую технологию не разобравшись для чего она.


https://dzone.com/articles/exception-handling-in-java-streams
...
Рейтинг: 0 / 0
Stream API
    #39935896
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner
PetroNotC Sharp
asv79,
Ну и с точки зрения архитектуры, стрим это постоянно текущая река.
Поэтому вопрос твой странный или из категории кунсткамера.


Про терминальные операторы не слышал?
антипаттерн слышал?
...
Рейтинг: 0 / 0
Stream API
    #39935903
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
mayton
Девочки - не ссорьтесь.

Вот подумайте лучше можно ли все SQL-опции (агрегирующие GROUP BY и аналитические OVER.. PARTITION BY) заменить на Stream::collect/reduce?

Я над этим периодически думаю и вижу что на SQL - красиво а на stream - говнецо выходит.

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

Мой вопрос звучит пока так.

Можно ли?

А дальше уже пойдем от перформанса. Я как-то написал запрос с оконной функцией от чего
у одного йуного джава юниора полезли глаза на лоб. Он не знал что в SQL есть такие
возможности вообще. Вот такие вот неграмотные бородачи будут двигать индустрию через
10 лет.

Это знаете. Как эпоха средневековья после античности. Вроде время и идет вперед а люди
знания теряют.
...
Рейтинг: 0 / 0
Stream API
    #39935911
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton


Можно ли?




Это знаете. Как эпоха средневековья после античности. Вроде время и идет вперед а люди
знания теряют.
Ну раз есть такая возможность -почему нельзя?

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

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

как пример я неделю назад сел на новую учетку - там ничего не было ,чтобы поднять всю среду и запустить проект - ушла почти неделя мук,это называется совместить несовместимое)
...
Рейтинг: 0 / 0
Stream API
    #39935928
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
questioner

По доке все компоненты в стримах должны быть stateless

У тебя триггер на слово состояние? К примеру у коллектора Collectors.toList() есть List, который передается между вызовами accumulator, - вот он и есть внутреннее состояние. К stateless это имеет к примерно никакого отношения
...
Рейтинг: 0 / 0
Stream API
    #39935933
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
как пример я
оригинально ты доказал лишние знания,.... на примере самого себя))))
...
Рейтинг: 0 / 0
Stream API
    #39935935
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

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

Ну и что? Если эта неделя был заложена в сроки - то нормально. Если инструкции не было или автоматизации
поднятия среды - то где был ты? Ты уже должен был это все написать и автоматизировать чтобы следующий
разработчик поднимал всю среду через docker compose или еще через черт знает что но в 1 мышкоклик.
...
Рейтинг: 0 / 0
Stream API
    #39935953
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
asv79

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

Ну и что? Если эта неделя был заложена в сроки - то нормально. Если инструкции не было или автоматизации
поднятия среды - то где был ты? Ты уже должен был это все написать и автоматизировать чтобы следующий
разработчик поднимал всю среду через docker compose или еще через черт знает что но в 1 мышкоклик.

сразу видно что в энтерпрайзе ты не работал))
чтобы среда подымалась ее нужно настроить на каждой удаленной машине,причем на каждой машине одна ссылка может работать коректно ,а на другой нет
в итоге у нас около 4 конфигурационных файлов и там около сотни вариантов настройки.
учитывая что постоянно кто то что то меняет ,например ту же кафку ,то это занимает дни -чтобы собраться на локальной машине)
...
Рейтинг: 0 / 0
Stream API
    #39935961
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не энтерпрайз. Это результат найма специалистов стоимостью 10 копеек за пучок. Я такое и в организациях из 5 человек видел.
...
Рейтинг: 0 / 0
Stream API
    #39935964
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
удаленной машине,причем на каждой машине одна ссылка может работать коректно ,а на другой нет

А почему это происходит?
...
Рейтинг: 0 / 0
Stream API
    #39935971
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
asv79
удаленной машине,причем на каждой машине одна ссылка может работать коректно ,а на другой нет

А почему это происходит?

потому что везде бардак
доступа к установке и настройке компухтера у нас нет
все через службу поддержки,получается ты можешь ждать градл -2-3 месяца
я вот жду идею новую 3й месяц)
пока работаю на старой -локально ,но собраться уже не могу ибо все подсосы на 6м градле
вот так и работаем)
...
Рейтинг: 0 / 0
Stream API
    #39935978
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
доступа к установке и настройке компухтера у нас нет
детский сад. Конкретнее. Какие политики есть.
Привык на других все валить.
Комп без админских прав?
...
Рейтинг: 0 / 0
Stream API
    #39935982
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
mayton
пропущено...

А почему это происходит?

потому что везде бардак
доступа к установке и настройке компухтера у нас нет
все через службу поддержки,получается ты можешь ждать градл -2-3 месяца
я вот жду идею новую 3й месяц)
пока работаю на старой -локально ,но собраться уже не могу ибо все подсосы на 6м градле
вот так и работаем)

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

Я здесь не вижу проблемы лично для тебя. Можешь пить кофе или играть в онлайн игры.
Или лучше возьми другую таску. Но я также вижу потенциальные проблемы рабочих
процессов на вашем предприятии. Это как раз относится к ентерпрайзу и стандартам ISO
о которых я тебе когда-то писал. Вы еще до них недотягиваете раз у вас нет фидбэка по
качеству внутренних процессов.
...
Рейтинг: 0 / 0
Stream API
    #39936018
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79
доступа к установке и настройке компухтера у нас нет
детский сад. Конкретнее. Какие политики есть.
Привык на других все валить.
Комп без админских прав?

не комп а удаленная машина)
доступ есть только к идее и нескольким коллектив тулзам типо жира и битбакета с тимсити
...
Рейтинг: 0 / 0
Stream API
    #39936020
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Тебе уже ответили. Сиди и кофе пей. Зачем жаловаться "везде бардак".
Есть локальный комп - ставь туда.
Не нравится комп в домене без доступа к setup.exe - увольняйся.
Развел сопли какие то.
...
Рейтинг: 0 / 0
Stream API
    #39936022
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79,
Тебе уже ответили. Сиди и кофе пей. Зачем жаловаться "везде бардак".
Есть локальный комп - ставь туда.
Не нравится комп в домене без доступа к setup.exe - увольняйся.
Развел сопли какие то.

петро иди опохмелись ,ты какую то дичь несешь ей богу
сопли какие то в отражении и тд)
...
Рейтинг: 0 / 0
Stream API
    #39936028
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,
Знатно ты сегодня тему свою поднял. Рассказами что у тебя на столе происходит.
Развлекай дальше.
...
Рейтинг: 0 / 0
Stream API
    #39936038
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79,
Знатно ты сегодня тему свою поднял. Рассказами что у тебя на столе происходит.
Развлекай дальше.

Как тут уже не раз было замечено,петрушку проще в игнор засунуть ,избавив себя тем самым от общения с пустотой))
...
Рейтинг: 0 / 0
Stream API
    #39936051
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
PetroNotC Sharp
asv79,
Знатно ты сегодня тему свою поднял. Рассказами что у тебя на столе происходит.
Развлекай дальше.

Как тут уже не раз было замечено,петрушку проще в игнор засунуть ,избавив себя тем самым от общения с пустотой))
да. Начни отсюда.
22096084
...
Рейтинг: 0 / 0
Stream API
    #39936067
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak
Это не энтерпрайз. Это результат найма специалистов стоимостью 10 копеек за пучок. Я такое и в организациях из 5 человек видел.

сейчас весь крупный энтерпрайз наверно такой,за редким исключением
проще платить 100 людям 10 чем 10 100ку
в итоге получается что ты просишь обновить тулз,а вместо этого тебе вообще выпиливают sofware center))))
но раз от такой системы не отказываются -значит выгодно
...
Рейтинг: 0 / 0
Stream API
    #39936068
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Alexander A. Sak
Это не энтерпрайз. Это результат найма специалистов стоимостью 10 копеек за пучок. Я такое и в организациях из 5 человек видел.

сейчас весь крупный энтерпрайз наверно такой,за редким исключением
проще платить 100 людям 10 чем 10 100ку
в итоге получается что ты просишь обновить тулз,а вместо этого тебе вообще выпиливают sofware center))))
но раз от такой системы не отказываются -значит выгодно

Не стоит так говорить. 10-тку.. 100-тку. Это разговоры вобщем-то безосновательные.
...
Рейтинг: 0 / 0
Stream API
    #39936071
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
можно быть успешным энтерпрайз программистом вообще не умея делать ни 1 запроса

Во всех топиках с вакансиями, где ты с улыбкой пишешь, чтобы взяли тебя, требуется опыт работы с базами данных.
Думаешь это не подразумевает умение писать запросы?
...
Рейтинг: 0 / 0
Stream API
    #39936089
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
asv79
можно быть успешным энтерпрайз программистом вообще не умея делать ни 1 запроса

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

вся эта работа сводиться к одному extends JPARepository)
в худщем варианте JOOQ
и я сомневаюсь что в этих вакансиях эти базы еще не спроектированы
все оюычно сводится к редактированию справочников и последующему рефакторингу мапперов и валидаторов

ну и если ты думаешь я зпросы не умею писать ,ты это зря)
да конечно я не смогу там проиндексировать базу или написать какой то супер сложный селект
все остальное я смогу
да и вышенаписаное смогу через пару недель - я не думаю что там прям все так супер сложно - я просто все внимание сосредоточил на джаве и не ошибся,а попросят что то допами я мгновенно изучу ,мне это не впадлу так сказать)
...
Рейтинг: 0 / 0
Stream API
    #39936092
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Не стоит так говорить. 10-тку.. 100-тку. Это разговоры вобщем-то безосновательные.

вообщем то это так и есть в современных реалиях,добро пожаловать в реальность)
компании берут джунов ,по 30 р за штуку ( как я)
кто то тянет ,Кто то нет по итогу код пишется по сути бесплатно))
сеньеры смотрят пр - вносят какие то коменты - ты правишь - код готов
зачем кому то платить 4тыщи уе)
а я за 32 сижу глаза ломаю ,втыкая в с справочники ,попутно 2-3 темы тут и на стаке ,Как шо сделать лучше (зато мой код почти не подвергается коментам-сразу на мердж отправляется)
...
Рейтинг: 0 / 0
Stream API
    #39936109
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79, иди к Бугаенко. Будешь до 100 тыщ бакинских получать в месяц.
...
Рейтинг: 0 / 0
Stream API
    #39936114
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
asv79, иди к Бугаенко. Будешь до 100 тыщ бакинских получать в месяц.

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

и вот та задачка меня обрадовала -запилить стрим -фильтр -редьюс

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

меня вот тут поразило его высказывание - он пишет если в вашем коде есть стринг литералы - эта программа говно

типо все литералы должны выноситься в проперти файлы и ваш код не долже перекомпилироваться при внесении изменений в константы.

вот тут я четсно прифигел-хотя это же верно на 100%
...
Рейтинг: 0 / 0
Stream API
    #39936118
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

меня вот тут поразило его высказывание - он пишет если в вашем коде есть стринг литералы - эта программа говно

типо все литералы должны выноситься в проперти файлы и ваш код не долже перекомпилироваться при внесении изменений в константы.

вот тут я четсно прифигел-хотя это же верно на 100%


1) Смотри. Блинов прав в теории. Или в предположении что любой стринговый литерал - это некое внешнее
property которое будет подвержено изменению. Но если этого нет - то и экстрактить литералы как переменные не надо.

Смотри. Я пишу форматную печать.

Код: java
1.
System.out.printf("Hello fucken world at %s", new Date());



Это - не по Блиновски. Надо экстрактить константу. Пишем.
Код: java
1.
2.
final String FCUKEN_CONSTANT = "Hello fucken world at %s";
System.out.printf(FCUKEN_CONSTANT, new Date());



И чего мы добились? Код стал толще. И форматирование - неочевидно.
...
Рейтинг: 0 / 0
Stream API
    #39936119
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тоесть вот я сдаю проект небольшой заказчику у меня там в пропертях прописаны кастомные настройки
при старте приложухи достаточно прописать -Dspring.datasource.username=postgres
и тд и взлетит где хочешь
я так понимаю блинов клонит к этому - что для старта приложения нужен скрипт со всеми контантами- а если что то изменилось изменится лишь скрипт- по сути это красиво - не нужно передеплоивать приложение - достаточно лишь перезаггрузиться
...
Рейтинг: 0 / 0
Stream API
    #39936120
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
немного не так
он топит за то чтобы литералов вообще не было в джава коде
все должнго выноситься в проперти файлы, и твой код не должен перекомпилироваться при изменении констант
я думаю что это очень грамотное решение (в первый раз я с блиновым согласен))))
хочу нашим разрабам такое предложить
...
Рейтинг: 0 / 0
Stream API
    #39936121
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton


И чего мы добились? Код стал толще. И форматирование - неочевидно.

ты не понял его мысли )
он хочет все константы выносить в application.properties
чтобы при старте приложения при изменннии констант приложение не перекомпилировалось
я с ним полностью согласен
если сегодня у нас образно заемщик в справочнике написан как borrower а завтра будет как coborrower
то придется приложение передеплоить и рефакторить код
а в случае с пропертями просто перезапустить с испрвленым скриптом
...
Рейтинг: 0 / 0
Stream API
    #39936122
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2) Java-компиллятору вообще плевать на блиновские рефакторинги и он сводит 2 одинаковых литерала
в 1 после компилляции .class файла. Ты можешь это проверить если дизассемблировать. Тоесть внедрение
стринговых констант это эстетическое и организационное действие.
...
Рейтинг: 0 / 0
Stream API
    #39936124
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
mayton


И чего мы добились? Код стал толще. И форматирование - неочевидно.

ты не понял его мысли )
он хочет все константы выносить в application.properties
чтобы при старте приложения при изменннии констант приложение не перекомпилировалось
я с ним полностью согласен
если сегодня у нас образно заемщик в справочнике написан как borrower а завтра будет как coborrower
то придется приложение передеплоить и рефакторить код
а в случае с пропертями просто перезапустить с испрвленым скриптом

Это очень странная крайность - которая побочных эффектом имеет кучу эффорта при разработке.

Чтоб константа была полезной как настройка приложения - надо еще доказать что она должна
изменяться при рестарте. А доказывать это надо обсуждая с коллегами и с бизнесом эту возможность.

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

Код должен читаться как книга на английском. А чтение .properties и кода это как чтение
конституции с поправками. Вроде и читаешь но раздражает постоянние переключения зрения
с одного на другое.
...
Рейтинг: 0 / 0
Stream API
    #39936128
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
asv79
пропущено...

ты не понял его мысли )
он хочет все константы выносить в application.properties
чтобы при старте приложения при изменннии констант приложение не перекомпилировалось
я с ним полностью согласен
если сегодня у нас образно заемщик в справочнике написан как borrower а завтра будет как coborrower
то придется приложение передеплоить и рефакторить код
а в случае с пропертями просто перезапустить с испрвленым скриптом

Это очень странная крайность - которая побочных эффектом имеет кучу эффорта при разработке.

Чтоб константа была полезной как настройка приложения - надо еще доказать что она должна
изменяться при рестарте. А доказывать это надо обсуждая с коллегами и с бизнесом эту возможность.

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

Код должен читаться как книга на английском. А чтение .properties и кода это как чтение
конституции с поправками. Вроде и читаешь но раздражает постоянние переключения зрения
с одного на другое.

я и с тобой тоже согласен ,но и он тоже прав- код не должен пекомилироваться если код валюты поменяется с 643 на 810
...
Рейтинг: 0 / 0
Stream API
    #39936131
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
код не должен пекомилироваться если код валюты поменяется с 643 на 810
обоснование есть этой глупости?
...
Рейтинг: 0 / 0
Stream API
    #39936134
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79
код не должен пекомилироваться если код валюты поменяется с 643 на 810
обоснование есть этой глупости?
спроси у блинова,он вроде еще жив)
помоему 196 страница его последней книги,завтра могу точно сказать
...
Рейтинг: 0 / 0
Stream API
    #39936136
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
asv79
код не должен пекомилироваться если код валюты поменяется с 643 на 810
обоснование есть этой глупости?

ну и вообще как бы да - что тебе мешает вместо константны прописать value1 и тд

в и пропертях указать значение

почему кто то должен пересобирать твое приложение если какая то цифа поменяется? обоснуй это
...
Рейтинг: 0 / 0
Stream API
    #39936138
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А когда к примеру приходит json {"lastname": "Иванов"}, а станет приходить {"surname": "Иванов"}. Название lastname тоже надо в конфиги?
...
Рейтинг: 0 / 0
Stream API
    #39936139
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
спроси у блинова,он вроде еще жив)
а мы что? Попугаи это повторять?
Лучше завтра не надо.
ПТ.
...
Рейтинг: 0 / 0
Stream API
    #39936140
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
почему кто то должен пересобирать твое приложение если какая то цифа поменяется?
займись кодированием на галерах.
...
Рейтинг: 0 / 0
Stream API
    #39936160
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
тоесть вот я сдаю проект небольшой заказчику у меня там в пропертях прописаны кастомные настройки
при старте приложухи достаточно прописать -Dspring.datasource.username=postgres
То, что это строки - ещё не делает их строковыми константами.
Ну и жестоко заставлять админа расписывать длинные и бессмысленые для него имена:
Код: plaintext
 java ... -Ddb.login=...
работает ничуть не хуже, но зато гораздо понятнее.
...
Рейтинг: 0 / 0
Stream API
    #39936161
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
я и с тобой тоже согласен ,но и он тоже прав- код не должен пекомилироваться если код валюты поменяется с 643 на 810
Это два разных кода одной валюты и они оба могут использоваться в одной программе.
...
Рейтинг: 0 / 0
Stream API
    #39936180
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
А когда к примеру приходит json {"lastname": "Иванов"}, а станет приходить {"surname": "Иванов"}. Название lastname тоже надо в конфиги?

а ты не видишь разницы между key-value
surname/lastname это поля DTO
а 643- это значение из справочника- которое неизменно
если у нас сейчас предполагается ,что кредитьы будут рублевые -валидируем по 643 - и например я соглсен с блиновым что эти значения нужно выносить в проперти,чтобы если бизнес скажет - теперь выдаем в долларах я просто рестартнул приложение с новым скриптом,без передеплоев и перекомпиляций- согласись в этом есть здавый смысл
...
Рейтинг: 0 / 0
Stream API
    #39936187
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем рестарт? Давайте вспомним что есть zookeeper. Есть БД. Есть бины у которых lifecycle короче чем цикл приложения.

Блинов устарел на 20 лет со своими вредными советами.
...
Рейтинг: 0 / 0
Stream API
    #39936194
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
SpringMan
А когда к примеру приходит json {"lastname": "Иванов"}, а станет приходить {"surname": "Иванов"}. Название lastname тоже надо в конфиги?

а ты не видишь разницы между key-value
surname/lastname это поля DTO
а 643- это значение из справочника- которое неизменно
если у нас сейчас предполагается ,что кредитьы будут рублевые -валидируем по 643 - и например я соглсен с блиновым что эти значения нужно выносить в проперти,чтобы если бизнес скажет - теперь выдаем в долларах я просто рестартнул приложение с новым скриптом,без передеплоев и перекомпиляций- согласись в этом есть здавый смысл

Ты серьезно о такой мелочи решил поговорить?
Если... То берем локальную переменную.
Если...то берем поле класса.
Если... То берем константу.
Про это говорить в теме Stream?
Тут уже обижаются что уровень упал. Вот из за таких вопросов он и упал.
Либо ты делаешь вброс.
...
Рейтинг: 0 / 0
Stream API
    #39936198
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А зачем рестарт? Давайте вспомним что есть zookeeper. Есть БД. Есть бины у которых lifecycle короче чем цикл приложения.

Блинов устарел на 20 лет со своими вредными советами.

Книга в довольно свежей редакции -2015 помоему)
не ну мы же выносим например конекты в проперти и ок- не буду же я каждый раз перекомпилировать приложение если база адрес поменяет
...
Рейтинг: 0 / 0
Stream API
    #39936204
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На деле все это, как говорит коллега skyANA, влажные фантазии Блиновых и прочих Ivory Tower Architechts, оторванных от реальности. Бизнес логика редко меняется без изменения кода, поэтому вынесение бизнес констант в конфиги, как правило, неоправданно. А если быстрый цикл CI/CD, то вообще ненужно. Мы, например, деплоим в прод хоть по десять раз на день, если нужно. Что имеет смысл выносить в конфиги, так это фича свитчи, трешхолды, таймауты и прочие "подстроечники", но тогда из нужно делать изменяемыми без перезапуска приложения.
...
Рейтинг: 0 / 0
Stream API
    #39936209
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
не ну мы же выносим например конекты в проперти и ок- не буду же я каждый раз перекомпилировать приложение если база адрес поменяет
"нет, ну мы же используем константы в коде".
Ты не удивился что солнце круглое?
...
Рейтинг: 0 / 0
Stream API
    #39936210
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxer
поэтому вынесение бизнес констант в конфиги,
их не делят просто по такой градации. Бизнес... Не бизнес..
...
Рейтинг: 0 / 0
Stream API
    #39936220
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asv79

а ты не видишь разницы между key-value
surname/lastname это поля DTO
а 643- это значение из справочника- которое неизменно
если у нас сейчас предполагается ,что кредитьы будут рублевые -валидируем по 643 - и например я соглсен с блиновым что эти значения нужно выносить в проперти,чтобы если бизнес скажет - теперь выдаем в долларах я просто рестартнул приложение с новым скриптом,без передеплоев и перекомпиляций- согласись в этом есть здавый смысл

Ты во внешний сервис посылаешь json c lastname. Если бизнес скажет - теперь переходим на новую версию сервиса с surname, то ты просто рестартанул приложение, без передеплоев и перекомпиляции )
На бумаге переходы 643->доллары и lastname->surname могут выглядеть логично. Как правило бизнес параметры нет смысла выносить. Если они как-то меняются, то меняется бизнес логика, а не только константа. Если у вас сбер решит перейти с рубля на доллар, то бизнес процессы поменяются так, что твой сервис вообще исчезнет и появиться что-то новое.

PS опять же про передеплой и перекомпиляцию всем как правило не важно. Это может быть только важно девопсам, который конфиги к базе меняют и т.п.
...
Рейтинг: 0 / 0
Stream API
    #39936224
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Если у вас сбер решит перейти с рубля на доллар, то бизнес процессы поменяются так, что твой сервис вообще исчезнет и появиться что-то новое.
+1
Поэтому обсуждаемый вопрос настолько мелкий в обсуждении. Как экономия на спичках.
...
Рейтинг: 0 / 0
Stream API
    #39936230
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
mayton
А зачем рестарт? Давайте вспомним что есть zookeeper. Есть БД. Есть бины у которых lifecycle короче чем цикл приложения.

Блинов устарел на 20 лет со своими вредными советами.

Книга в довольно свежей редакции -2015 помоему)
не ну мы же выносим например конекты в проперти и ок- не буду же я каждый раз перекомпилировать приложение если база адрес поменяет

Смотри дальше. Если ты разрабатываешь кластерное приложение. Которое будте развернуто на 100 узлов.
То сопрвождение пропертей на всех 100 узлах станет технической проблемой. Надо будет держать штат
dev-ops. Короче трата денег. У Spring Cloud есть коробочные решения которые опираются либо на Zookeeper
либо на другие распределенные и очень отказоустойчивые решения.

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

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

Доречі є така українська поговорка - Шо занадто - то не здраво .

Очень отражает смысл.
...
Рейтинг: 0 / 0
Stream API
    #39936261
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
asv79
пропущено...

Книга в довольно свежей редакции -2015 помоему)
не ну мы же выносим например конекты в проперти и ок- не буду же я каждый раз перекомпилировать приложение если база адрес поменяет

Смотри дальше. Если ты разрабатываешь кластерное приложение. Которое будте развернуто на 100 узлов.
То сопрвождение пропертей на всех 100 узлах станет технической проблемой. Надо будет держать штат
dev-ops. Короче трата денег. У Spring Cloud есть коробочные решения которые опираются либо на Zookeeper
либо на другие распределенные и очень отказоустойчивые решения.

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

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

Доречі є така українська поговорка - Шо занадто - то не здраво .

Очень отражает смысл.

кое что выносится в проперти ,тут блинов прав.
То что он говорит,что приложение с литералами в коде говно - я тоже не согласен
...
Рейтинг: 0 / 0
Stream API
    #39936262
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
кое что выносится в проперти ,тут блинов прав.
молодец.
КОЕ ЧТО надо выносить не по указке блинова. Нобелевку ему дайте.
...
Рейтинг: 0 / 0
Stream API
    #39936264
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ево в болото этого блинова. Лучше подумайте хором когда последний раз вам нужно
было делать операции группировки или аналитики над Stream и вы колебались
между выбором где это сделать. На уровне DBMS или Application.
...
Рейтинг: 0 / 0
Stream API
    #39936300
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы ответить на твой вопрос нужно понять несколько вещей
на чем твое приложение построено-чистый jdbs или одна из имплементаций jpa
далее уже взять конретнуб имплементацию и залезть под ее капот - выяснив ,как реализована данная функция
уже после этого делать выводы какие
но наверно правильней те функции,которые умеет база -оставить базе или жпашке
вместо наворачиваний в сервис слое мусорных объектов
...
Рейтинг: 0 / 0
Stream API
    #39936303
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вообще не про то как она реализована внутри. А я про УДОБСТВО ее применения и про фактическую
ВОЗМОЖНОСТЬ. Я знаю что алгоритмически любой SQL запрос мы можем реализовать на Java
при условии что просто имеет доступ к сырым данным.

Но сама реализация его на SQL может быть более выгодной. Кода меньше. А разработчику
чем меньше кода - тем лучше. Это лаконично. Это удобно поддерживать.

Я подниму отдельный топик. Наверное в ПТ на эту тему.
...
Рейтинг: 0 / 0
Stream API
    #39936304
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я подниму отдельный топик. Наверное в ПТ на эту тему.
не пугай их там Stream.
Обзови топик просто: "двухзвенка или трехзвенка".
)))
...
Рейтинг: 0 / 0
Stream API
    #39936305
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПТ - это пятница. А не то что ты подумал
...
Рейтинг: 0 / 0
Stream API
    #39936306
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
ПТ - это пятница. А не то что ты подумал
аха ха))))
...
Рейтинг: 0 / 0
Stream API
    #39936328
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Присоединюсь к клубу извращенцев:
работает, если в стриме только 2 элемента и брасает unchekedException.

Код: 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.
import java.util.Optional;
import java.util.stream.Stream;

public class OneValue {
	public static void main(String[] args) throws Exception {
		Adress ad1 = new Adress("Minsk"  , "644", "Orlovskai");
		Adress ad2 = new Adress("Minsk"  , "643", "Pobeditelei");
		
		Stream<Adress> stream = Stream.of(ad1, ad2);
		stream.filter(adres -> adres.getPostCode().equals("643"))
		      .reduce(Optional.<Adress>empty(), (acc, element) -> acc.equals(Optional.empty()) ? Optional.of(element) : Optional.<Adress>empty(), (acc, element) -> Optional.<Adress>empty())
		      .ifPresent((value)-> {throw new RuntimeException("Some message");}   );
	}
}

class Adress{
	private final String city;
	private final String postCode;
	private final String street;
	
	Adress(String city, String postCode, String street){
		this.city = city;
		this.postCode = postCode;
		this.street = street;
	}

	public String getCity() {
		return city;
	}

	public String getPostCode() {
		return postCode;
	}

	public String getStreet() {
		return street;
	}

	@Override
	public String toString() {
		return "Adress [city=" + city + ", postCode=" + postCode + ", street=" + street + "]";
	}

}



Тут походу в цепочке операций со стримом в конце нужно вернуть Optional, чтобы иметь возможность выбросить исключение через метод orElseThrow. Но я как то не нашел подходящих операций, которые удовлетворяли бы условиям автора (Не содержать if и не создавать новые объектов).
...
Рейтинг: 0 / 0
Stream API
    #39936349
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
условиям автора

"Один дурак может задать столько вопросов что и 100 мудрецов не ответят" [(с) В.И. Ленин ПСС том 8 стр.15, работа "Как нам преобразовать РабКрин"]
...
Рейтинг: 0 / 0
Stream API
    #39936354
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
Присоединюсь к клубу извращенцев:
работает, если в стриме только 2 элемента и брасает unchekedException.

Код: 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.
import java.util.Optional;
import java.util.stream.Stream;

public class OneValue {
	public static void main(String[] args) throws Exception {
		Adress ad1 = new Adress("Minsk"  , "644", "Orlovskai");
		Adress ad2 = new Adress("Minsk"  , "643", "Pobeditelei");
		
		Stream<Adress> stream = Stream.of(ad1, ad2);
		stream.filter(adres -> adres.getPostCode().equals("643"))
		      .reduce(Optional.<Adress>empty(), (acc, element) -> acc.equals(Optional.empty()) ? Optional.of(element) : Optional.<Adress>empty(), (acc, element) -> Optional.<Adress>empty())
		      .ifPresent((value)-> {throw new RuntimeException("Some message");}   );
	}
}

class Adress{
	private final String city;
	private final String postCode;
	private final String street;
	
	Adress(String city, String postCode, String street){
		this.city = city;
		this.postCode = postCode;
		this.street = street;
	}

	public String getCity() {
		return city;
	}

	public String getPostCode() {
		return postCode;
	}

	public String getStreet() {
		return street;
	}

	@Override
	public String toString() {
		return "Adress [city=" + city + ", postCode=" + postCode + ", street=" + street + "]";
	}

}



Тут походу в цепочке операций со стримом в конце нужно вернуть Optional, чтобы иметь возможность выбросить исключение через метод orElseThrow. Но я как то не нашел подходящих операций, которые удовлетворяли бы условиям автора (Не содержать if и не создавать новые объектов).


это портянка не подходит ибо содержит в своем теле тернальный оператор,в условии было сказано без ифов
с ифом это делается в 1 строчку -зачем городить такой огород было,но у памфилова свое видение видимо))
...
Рейтинг: 0 / 0
Stream API
    #39936356
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
Но я как то не нашел подходящих операций, которые удовлетворяли бы условиям автора (Не содержать if и не создавать новые объектов).

и не найдешь,эта задача не имеет решения в озвученных условиях.
Пришлось втыкать иф
...
Рейтинг: 0 / 0
Stream API
    #39936360
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79, Я как раз изучаю стримы (около недели), вот и решил попробовать свой вариант. Сбрось, если несложно вариант с ифом.
...
Рейтинг: 0 / 0
Stream API
    #39936383
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen
asv79, Я как раз изучаю стримы (около недели), вот и решил попробовать свой вариант. Сбрось, если несложно вариант с ифом.

вот смотри вместо портянки памфилова 2 строчки кода

ДТО для теста

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(fluent = true)
class Item {
    private String code;
    
}



логика
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
import java.util.Arrays;
import java.util.List;

import static java.util.stream.Collectors.collectingAndThen;
import static java.util.stream.Collectors.toList;

public class Main {

    public static void main(String[] args) {
        List<Item> list = Arrays.asList(new Item().code("643"), new Item().code("810"));
        list.stream()
                .filter(x -> x.code().equals("643"))
                .collect(collectingAndThen(toList(), l -> {
                    if (l.size() != 2) throw new NullPointerException();
                    return l;
                }));
    }
}


если в листе будет не 2 элемента - кинет эксепшн,я кинул нул поинтер для наглядности(так как это анчекед исключение - не нужно трай кетч использовать,чтобы не загромождать код)
...
Рейтинг: 0 / 0
Stream API
    #39936387
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
faustgreen,
Код: java
1.
2.
3.
4.
Stream str = получили из сервиса
List<String> lst = str.filter(.................... toList...
if (lst......)
    делаем что надо


ТС просто дурку включил и упирался до последнего.
...
Рейтинг: 0 / 0
Stream API
    #39936403
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

а ты не видишь разницы между key-value
surname/lastname это поля DTO
а 643- это значение из справочника- .....

Бред какой-то.

Если это значение из справочника (в моем понимании справочника, который может дополняться/меняться) - то что оно делает в коде программы?

asv79

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

Такой же бред

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

Давайте тогда и имя клиента, и сумму кредита тоже в проперти хранить! Очень удобно! Нужно бизнесу выдать новый кредит - поменяли проперти - перезагрузили сервер и вуа-ля... кредит выдали!
...
Рейтинг: 0 / 0
Stream API
    #39936405
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Бред какой-то.

Если это значение из справочника (в моем понимании справочника, который может дополняться/меняться) - то что оно делает в коде программы?
!

про валидаторы и тесты слышал?есть такое в ентерпрайзе))
...
Рейтинг: 0 / 0
Stream API
    #39936408
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Такой же бред

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

на экране чего?мы разрабатываем апи дядя ))
мне не важно что там на экране ,Мне важно что мне приходит и что я отдаю,Я никаким боком не знаю и знать не хочу что там на стороне UI
валюта кредита у нас одна Рубли,это прописано в спецификации
но если нам прилетит другая валюта я должен выдать обратно бизнес еррор
ферштейн?
...
Рейтинг: 0 / 0
Stream API
    #39936410
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы как-то саппортили систему маркетинг акций для одного моб-оператора. Смена пропертей
выглядела так. Мы просто заводили в БД новое проперсти и у него была дата действия
from=, to=. Суть этого действия была в том что акция активируется обычно в полночь
в 00:00 и после этого маркетинг-система ее делает доступной. Тоесть участия оператора
или девопса не надо. И перегружать ничего не надо. Все проперти и даже их иерархии
были би-темпоальные.
...
Рейтинг: 0 / 0
Stream API
    #39936411
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
прилетит другая валюта
1000₽ вместо 1000€
)))
...
Рейтинг: 0 / 0
Stream API
    #39936412
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
skyANA
пропущено...

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

вся эта работа сводиться к одному extends JPARepository)
в худщем варианте JOOQ
и я сомневаюсь что в этих вакансиях эти базы еще не спроектированы
все оюычно сводится к редактированию справочников и последующему рефакторингу мапперов и валидаторов

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

Так всё-таки откуда ты взял, что "можно быть успешным энтерпрайз программистом вообще не умея делать ни 1 запроса"?
...
Рейтинг: 0 / 0
Stream API
    #39936413
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Смена валюты должна быть в Модели. Если там она есть, то все ОК.
Если нет, то значит ЭТО НЕ НУЖНО ни в пропертях ни в скриптах, ни в конфигах.
Зы.
Решение проблемы через задний проход.
...
Рейтинг: 0 / 0
Stream API
    #39936414
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
заводили в БД новое проперсти
вспомнил. У вас бд key value.
Там модель и есть проперти)
...
Рейтинг: 0 / 0
Stream API
    #39936415
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Leonid Kudryavtsev

Бред какой-то.

Если это значение из справочника (в моем понимании справочника, который может дополняться/меняться) - то что оно делает в коде программы?
!

про валидаторы и тесты слышал?есть такое в ентерпрайзе))

если значение "в справочнике", то и валидироваться оно должно по справочнику, а не мифическому проперти или константе

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

Оно УЖЕ в справочнике. Нахрена городить какой-то проперти, дублирующий справочник?
...
Рейтинг: 0 / 0
Stream API
    #39936416
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я и не говорил про смену валюты. Вообще наше представление сейчас о валютах - сейчас поверхностное.
Если в наш топик зайдет дата-аналитик то он просто поржет держась за бока. Валют может быть много
ОДНОВРЕМЕННО. И они тоже могут иметь свойства ДЕЙСТВИЯ на промежутке времени или иметь открытый
интервал действия.
...
Рейтинг: 0 / 0
Stream API
    #39936417
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
заводили в БД новое проперсти
вспомнил. У вас бд key value.
Там модель и есть проперти)

У НАС?
...
Рейтинг: 0 / 0
Stream API
    #39936418
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
asv79
пропущено...

про валидаторы и тесты слышал?есть такое в ентерпрайзе))

если значение "в справочнике", то и валидироваться оно должно по справочнику, а не мифическому проперти или константе

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

Оно УЖЕ в справочнике. Нахрена городить какой-то проперти, дублирующий справочник?


asv79
Я никаким боком не знаю и знать не хочу
...
Рейтинг: 0 / 0
Stream API
    #39936419
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp
пропущено...
вспомнил. У вас бд key value.
Там модель и есть проперти)

У НАС?
ты говорил как то. Что с такой бд работаешь.
...
Рейтинг: 0 / 0
Stream API
    #39936421
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вообще наше представление сейчас о валютах - сейчас поверхностное.
угу.
Но ТС 10 страниц рассказывает как там в энтерпрайзе дядям).
...
Рейтинг: 0 / 0
Stream API
    #39936422
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

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

Если брать стандартны, то такая функциональность вроде называется XSD
...
Рейтинг: 0 / 0
Stream API
    #39936424
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
asv79
пропущено...

про валидаторы и тесты слышал?есть такое в ентерпрайзе))

если значение "в справочнике", то и валидироваться оно должно по справочнику, а не мифическому проперти или константе

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

Оно УЖЕ в справочнике. Нахрена городить какой-то проперти, дублирующий справочник?

еще раз для особо одаренных
в справочнике валют банка - все валюты банка с которыми он работает
согласно спеки мы должны провести валидацию ,что код валюты в заявке - рубли РФ(643)
если нет мы должны выдать бизнес еррор и вернуть заявку на доработку
если валюты в справочнике нет - то до валидатора даже дело не дойдет - будет системная ошибка с сообщением что валюты с таким значением нет
теперь ферштейн ?
Это микросервисная архитектура дядя ,никто под тебя отдельный справочник писать не будет с одним значением валюты)))
...
Рейтинг: 0 / 0
Stream API
    #39936426
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Да. Но он сам себе стандарты.
По телефону крикнул клиенту, чтобы в поле json сумма, все писали евро.
А начальники сказали проверять - вдруг рубли туда запишут)))
...
Рейтинг: 0 / 0
Stream API
    #39936427
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Так я и не говорил про смену валюты. Вообще наше представление сейчас о валютах - сейчас поверхностное.
Если в наш топик зайдет дата-аналитик то он просто поржет держась за бока. Валют может быть много
ОДНОВРЕМЕННО. И они тоже могут иметь свойства ДЕЙСТВИЯ на промежутке времени или иметь открытый
интервал действия.

Если есть справочник, то в этом справочнике, скорее всего, должно было бы быть поле a la Active с возможными значениями 'Y', 'N' )))

Нужна ли историчность для справочника валют - есть сомнения.
...
Рейтинг: 0 / 0
Stream API
    #39936428
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Если брать стандартны, то такая функциональность вроде называется XML_Schema_(W3C)]XSD

ну наконец то до тебя начинает доходить)
только у нас летает между сервисами джейсон и соотвественно мы его валидируем кастомными валидаторами,Причем на каждый вариант у нас много разных бизнес эророс ,КОТОРЫЕ МЫ Должны вернуть оператору ,который заявку забивал- на каждый случай свои спецификации
...
Рейтинг: 0 / 0
Stream API
    #39936429
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Это микросервисная архитектура дядя ,никто под тебя отдельный справочник писать не будет с одним значением валюты)))
я знал!
В микросервисной , спрпвочником является пропертиес в комнате админа.
...
Рейтинг: 0 / 0
Stream API
    #39936431
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

....Это микросервисная архитектура дядя....

мы сталевары, мы делаем жесть

Заготовки молот бьет,
Кровь ликует в теле,
Льет горячий жгучий пот -
Здесь куют металл
...
Рейтинг: 0 / 0
Stream API
    #39936433
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

только у нас летает между сервисами джейсон и соотвественно мы его валидируем кастомными валидаторами,Причем на каждый вариант у нас много разных бизнес эророс ,КОТОРЫЕ МЫ Должны вернуть оператору ,который заявку забивал- на каждый случай свои спецификации

То есть, кроме вашей хреновены. есть еще хреновена, куда "оператор без проблем забивает НЕ ВЕРНЫЕ заявки" ?
...
Рейтинг: 0 / 0
Stream API
    #39936434
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС делает так:
- приходит json
Тип=заявка на кредит
Имя=вася
Сумма=100000
- далее ТС меняет проперти о чудо без перекомпиляции и всем заявившим выдали кредиты в евро.
...
Рейтинг: 0 / 0
Stream API
    #39936435
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev


Нужна ли историчность для справочника валют - есть сомнения.

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

пс.подскажите сразу этим тупицам - а что делать если один микросервис пользуется валютой 643 ,а другой 840? а третий этими двумя и еще 910?
ля пассив прикрутить?))))
...
Рейтинг: 0 / 0
Stream API
    #39936437
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
asv79

только у нас летает между сервисами джейсон и соотвественно мы его валидируем кастомными валидаторами,Причем на каждый вариант у нас много разных бизнес эророс ,КОТОРЫЕ МЫ Должны вернуть оператору ,который заявку забивал- на каждый случай свои спецификации

То есть, кроме вашей хреновены. есть еще хреновена, куда "оператор без проблем забивает НЕ ВЕРНЫЕ заявки" ?

еще раз для супер одаренных))
у нас АПИ
что такое апи можете ознакомиться вот тут
wikipedia.org/wiki/API
что и куда оператор или еще кто то мне до лампочки,я получаю джейсон и занимаюсь его валидацией - если там ок - я кидаю его дальше
если нет он улетает обратно на доработку с кодом ошибки согласно спецификаций)))
...
Рейтинг: 0 / 0
Stream API
    #39936438
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
22097178
поскольку, как я понимаю, операций много, то табличка/справочник:
код-валюты, разрешенная операция, другие поля по вкусу (например даты действия)
...
Рейтинг: 0 / 0
Stream API
    #39936439
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
22097178
поскольку, как я понимаю, операций много, то табличка/справочник:
код-валюты, разрешенная операция, другие поля по вкусу (например даты действия)

и еще раз таки попробуем донести до тебя)))
справочник валют ОДИН)))
микросервисов много)
кто то пользует все валюты,кто то только рубли,кто то доллары
в соотвествии с этим у каждого адаптера свои спецификации по валидации входящих заявок
есть мультивалютные адаптеры например ,там валидация идет как имутейбл сет кодов валют
у нас вот только 643
давай леня приди в себя ,перевари инфу )
...
Рейтинг: 0 / 0
Stream API
    #39936440
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

но про ваши сомнения мы постараемся напрямую сообщить Костину.

Ну тогда понятно. Для любовницы: яхта, личный самолет, домик на лазурном берегу. Для сисадминов и ДевОпс Key-Value СУБД имени asv79 на properties

Все для блага человека, все во имея человека....



...
Рейтинг: 0 / 0
Stream API
    #39936441
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79

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

Микросервисы
Key Value No SQL СУБД на properties

p.s. Кто может утверждать, что properties это не Key-Value СУБД ?
Кто будет утверждать. что properties это не No SQL ?
Ну да... любой update рестарта требует, но зато код перекомпилировать не нужно! Прогресс!
...
Рейтинг: 0 / 0
Stream API
    #39936443
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
asv79

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

Микросервисы
Key Value No SQL СУБД на properties

p.s. Кто может утверждать, что properties это не Key-Value СУБД ?
Кто будет утверждать. что properties это не No SQL ?
Ну да... любой update рестарта требует, но зато код перекомпилировать не нужно! Прогресс!

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

а вот идея - выносить константы в проперти файлы - пришла не мне ,а блинову,о чем я тут и написал
блинов ни к нам ,ни к нашему продукту отношения не имеет
я лишь сюда перепостил ,то что он написал - мне показалось это интересной идеей в некоторых моментах
...
Рейтинг: 0 / 0
Stream API
    #39936451
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот идея - выносить константы в проперти файлы - пришла не мне ,а блинову,о чем я тут и написал
блинов ни к нам ,ни к нашему продукту отношения не имеет
я лишь сюда перепостил ,то что он написал - мне показалось это интересной идеей в некоторых моментах
Увы. Когда вам сказали приведите код, вы ответили матом.
А про архитектуру, сами видите. Вам доходит через 5 страниц убеждений.
...
Рейтинг: 0 / 0
Stream API
    #39936459
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
я лишь сюда перепостил ,то что он написал - мне показалось это интересной идеей в некоторых моментах

эта идея - была актуальна лет много-много назад (боюсь больше, чем сейчас Блинову)
т.к. проперти придумали значительно раньше, чем Блинову "пришла в голову эта мысль"
а до этого, были ini файлы
а до этого, были просто файлы

а тут, блин, Блинову "пришла в голову мысль"

asv79
сюда перепостил

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

note: кто такой Блинов, не знаю. В любом случае он мальчик - мне не интересен. Небось еще и без бороды и на Евровидение не выступает.... но в любом случае - мне не интересен.

asv79

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

))))
Я просто весь топик сдерживался. Т.к. в стримах не сильно разбираюсь.
...
Рейтинг: 0 / 0
Stream API
    #39936461
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Я просто весь топик сдерживался. Т.к. в стримах не сильно разбираюсь.
asv79 и увел топик на этого блинова))))
У него давно цель топиков чтобы "полыхнуло"))))
...
Рейтинг: 0 / 0
Stream API
    #39937144
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Топик протух. Его надо закрыть чтоб не тхнул.

И по случаю пятницы надо поднять новый. Топик свежих Stream-идей без Блинова.

Плюсаните кто согласен.
...
Рейтинг: 0 / 0
Stream API
    #39937208
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Не без блинова, а с обязательным кодом.
Без него только шарписты себя хорошо чувствуют.
...
Рейтинг: 0 / 0
Stream API
    #39942460
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Что делать с двузначной датой? Отдать на откуп техническому заданию и разработчику. Можно логгировать.
Можно игнорить. Можно считать дефектом данных. Но не прерывать процессинг стрима.

Я почти изобрёл монады. Капец.
...
Рейтинг: 0 / 0
174 сообщений из 174, показаны все 7 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Stream API
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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