• Как в Reactor Netty обрабатывать ошибки внутри Flux?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Вам нужно.
    - Сделать флюкс не строки, а какого-то своего типа, который будет содержать статус и саму строку
    - Добавить логику, при которой статус будет зависить от содержания флюкса

    Тогда методом .onErrorResume можно будет поймать исключение, обработать и добавить к ответу.
    Ответ написан
    Комментировать
  • Как достучаться до докер контейнера из браузера?

    @Kostik_1993
    Web Developer
    Для того чтобы из браузера или другой программы попасть в контейнер нужно пробросить порт.
    postgres:
        ports:
          - 5432:5432
        networks:
          - app-network

    Но в вашем случае вам нужно из одного обратиться к другому. Судя по всему вы хотите сделать коннект к БД из вашего приложения, но у вас указан localhost. Нужно прописать postgres вместо него
    Ответ написан
    Комментировать
  • Может ли Раст полноценно заменить Джаву в сфере финансовых технологий?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    На сколько я знаю, на сегодняшний день у раста проблемы с интеграциями. Брошеные либы, зависимости от версии и платформы и вот это все... (я рад бы ошибаться, возможно, г-н Василий Банников меня поправит).
    В джаве же есть спринг-бут, который умеет интегрировться хоть с чертом лысым, при этом поддерживается, развивается, выходят новые версиии...
    В большом энтерпрайзе это важно.

    Ну и у джавы, нерешаемых проблем довольно мало, чтобы от нее отказываться. На рынке есть много персонала разной квалификации, JVM - прекрасная, развивающяяся платформа.
    На расте же писать никто не умеет (по сравнению с джавой), не понятно какие у технологии перспективы, есть вышеуказанные проблемы. Чем он может заинтересоваться большой бизнес?
    Производительностью? Так и jvm достаточно производительна, во-первых, а во вторых, есть куча приложений, для которых никакой хай-лоад и никакое лоу-латенси не предусмотренно...
    Ответ написан
  • Может ли Раст полноценно заменить Джаву в сфере финансовых технологий?

    GavriKos
    @GavriKos
    Любой язык, который является NP-полным, подходит. А вот может ли замениьт это вопрос другой.
    Ответ написан
    Комментировать
  • Может ли Раст полноценно заменить Джаву в сфере финансовых технологий?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Нет. У них разные области применения. Java проектировалась именно как предельно простой и лёгкий для восприятия язык, максимально препятствующий выстрелу в ногу. Никогда этим параметрам не будет соответствовать язык одновременно пригодный к системному программированию. И это не учитывая тот фактор, что инвестиции в переписывание всего финтеха с Java на Rust потребуются больше, чем планетарный ВВП.
    Ответ написан
    4 комментария
  • Как правильно настроить nginx, dockerfile и запуск gunicorn для flask-приложения?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    Вы глобально делаете не то в виде пихания нескольких сервисов в один контейнер. Забудьте про 127.0.0.1 - все контейнеры должны ходить друг к другу по именам, а доступ снаружи обеспечивается экспозом 80/443 порта на контейнере с nginx.
    Ответ написан
    2 комментария
  • Как можно избежать написания большого количества функций репозитория?

    vabka
    @vabka
    Токсичный шарпист
    Вариант раз:
    Попробуй что-то CQRS-подобное и для каждого типа запросов новый класс - обработчик.

    Вариант два:
    Попробуй поиграть с неймингом

    Вариант три:
    Паттерн "спецификация"

    Вариант 4:
    Если тебе просто нужно кучу параметров для поиска - сделай один метод с кучей параметров.

    Вариант 5:
    Если совсем разные запросы - и фильтры, и наборы полей - посмотри в сторону graphql
    Ответ написан
    Комментировать
  • Как можно избежать написания большого количества функций репозитория?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Hibernate
    Седой и строгий
    Criteria API. А ещë лучше фасетный поиск.
    Ответ написан
    Комментировать
  • Как генерировать соурсы jOOQ, когда БД тоже в Docker?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Будет ли доступна БД при старте приложения, чтобы можно было сгенерировать соурсы для jOOQ?

    Если docker-compose, то можно healthcheck сделать и переподнимать, пока не будет доступно
    таже можно настроить переподнятие, если контейнер с приложением зафейлится... а если он при поднятии првоеряет переменные окружения, то будет фейл

    Пробовал следующие варианты - объявляю args внутри build. Пробовал через environment. А внутри pom.xml уже получаю значение переменной таким образом `${env.XXX}`

    у вас docker-compose есть?
    там можно в секции environments указать
    Ответ написан
    7 комментариев
  • Как предотвращать XSS в Spring?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Зачем делать что-то для галочки? Если ты внедрил функцию то ты должен понимать те кейсы в которых она
    работат. Попробуй сам воспроизведи XSS-атаку на себя и проверь как она работает.

    Иначе будет в исходниках балласт который ты себе объяснить не можешь и newcomer придет и будет спрашивать про исходник а ты и ему не объяснишь.
    Ответ написан
    Комментировать
  • Как наполнять Flux по мере поступления данных?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Для этого есть Sinks:

    public static void main(String[] args) throws Exception {
            Sinks.Many<Integer> sinks = Sinks.many()
                    .multicast() 
                    .onBackpressureBuffer(); // Изучайте документацию. Тут много вариантов
    
            sinks.asFlux()
                    .subscribe(System.out::println);
    
            // В очереди ничего нет. Ничего не происходит
            Thread.sleep(1000);
            
            // Наполняем очередь элементами
            sinks.tryEmitNext(1);
            sinks.tryEmitNext(2);
            sinks.tryEmitNext(3);
        }
    Ответ написан
    3 комментария
  • Используем kafka + spring boot, периодически listener перестает получать сообщения?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    На производительность кафки влияет 4 сущности. Конфиг брокера, продюсера, консюмера и message configuration.
    Очень сложно разбираться в том что у тебя происходит на основании такого странного теста. Скажи
    сколько времени ты ждал этого загадочного listener. Как ты ждал. В какой лог смотрел. Почему
    ты вообще решил что это проблема. Может продюсер ничего не производит. Короче дай картину
    происходящего более подробную.
    Ответ написан
    2 комментария
  • Какие-то проблемы с jdk или с конфигураций?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Из этого следуют два факта:
    1. Знания надо получать системно и последовательно, а не хвататься сразу за Spring.
    2. Бездумное повторение за туториалами в интернете - это плохое обучение.
    Ответ написан
    Комментировать
  • Как поменять content-type, который приходит от клиента в SOAP сервисе?

    @Dementor
    программист, архитектор, аналитик
    По сложности:
    1. Попросите клиента присылать хидеры в правильном формате.
    2. Между вашей системой и клиентом поставьте прокси, который будет преобразовывать зоголовки (nginx - отличный выбор)
    3. Напишите автоконфигурацию, которой приравняйте заголовок application/health.message+xml к text/xml
    Ответ написан
    3 комментария
  • Как поменять content-type, который приходит от клиента в SOAP сервисе?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Сделайте servlet фильтр https://www.digitalocean.com/community/tutorials/j...
    В нем и меняйте.
    Ответ написан
    3 комментария
  • Вопрос по сокетам Java? Как быть грамотно?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    0x12,0x13,0x13,0x13,0x13,0x14,0x14,0x14,0x14

    0x12 - команда
    0х13 - длина пакета
    0х14 - тело пакета

    клиент подключается к серверу отправляя команду 0х01
    сервер отзывается ответом 0х02 где в теле пакета список каналов
    клиент отправляет 0х03 с указанием комнаты, получив ответ от сервера со списком пользователей
    он переходит в прослушивание.

    Другой клиент отправляет пакет с сообщением. Сервер его слышит. Перебирает всех в комнате и кидает им сообщение
    Ответ написан
    Комментировать
  • Хорошее ли решение разделение таблиц юзер и роли?

    @alexalexes
    Вы выделили в системе два класса сущностей. Одна - Пользователь, вторая - Роль.
    Под каждый класс нужна отдельная таблица.
    Как определить какие взаимоотношения между этими классами?
    Нужно примерить следующие коммутативные гипотезы:
    Первая пара гипотез:
    "Один пользователь должен (может) иметь только одну роль."
    "Одна роль должна (может) быть назначена многим пользователям."
    Вторая пара гипотез:
    "Один пользователь должен (может) иметь несколько ролей."
    "Одна роль должна (может) быть назначена многим пользователям."
    Если в вашей архитектуре системы справедлива первая пара гипотез, то вы строите взаимоотношение между классами Роль и Пользователь как "один ко многим". Это значит, что у таблицы Пользователь будет внешний ключ в виде идентификатора роли, тем самым вы каждому пользователю сможете назначить только одну роль. Но сами роли могут повторятся у разных пользователей.
    Если в вашей архитектуре системы справедлива вторая пара гипотез, то вы строите взаимоотношение между классами Роль и Пользователь как "многим ко многим". Для этого нужно создать промежуточную таблицу, например Пользователь_и_роль, в которой будут два внешних ключа - идентификатор пользователя и идентификатор роли пользователя (можно, но технически нужно еще создать еще идентификатор первичного ключа, чтобы можно было корректно обращаться к записям этой таблицы, не путая их). В этом случае каждому пользователю можно выделить целый набор ролей, не ограничиваясь одной ролью.
    Ответ написан
    Комментировать
  • Какую книгу взять новичку в разработке микросервисов на Spring Framework?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Вам надо почитать про spring cloud.
    Я нашел две книги по теме:
    Java в Облаке Джоша Лонга
    И
    Микросервисы spring в действии.
    Ни одну из них не читал - рекомендовать не буду.

    На joker/jpoint постоянно есть доклады по спринг клауду. Можно их посмотреть чтобы въехать в тему.
    Ответ написан
    Комментировать
  • Какую книгу по Java выбрать новичку с небольшим опытом на другом языке?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Алгоритмы брать не надо. Седжвик вообще писал не про Java а только про алгоритмы.
    У него - целое семейство книг такого вида. Сначала Алгоритмы на С. Потом на C++ И потом Java. Он по сути портировал исходники. Какой толк вам в таком портировании?

    А Хорстман, Эккель - вполне себе норм.
    Ответ написан
    Комментировать