• Почему ArrayList пустой?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Тут я вижу два варианта.
    1. Вы никакой асинхронщины не хотите, но вам попался асинхронный клиент. Тогда нужно что-то типа такого сделать:
    public List<Response> getAdditionalData(List<ExcelModel> excelList) {
            return Flux.fromIterable(excelList) // Превращаем лист во флюкс
                    .flatMap(excel -> webClient.get()  // по каждому элемену делаем асинхронный запрос
                            .uri(sybase + excel.getTransactionID())
                            .retrieve()
                            .bodyToMono(Response.class))
                    .collectList() // Собираем поток в лист. Тут получается Mono<List<Response>>
                    .block(); // Блокируем тред и ждем завершения. Можно в скобочках указать сколько ждать.
        }


    2. Либо вы пересаживаетесь на асинхронный стек, тогда вам нужно флюкс и отдавать, как и написал Михаил. И подписка на него дожна быть, скорее всего, где-то выше по стеку.
    public Flux<Response> getAdditionalData(List<ExcelModel> excelList) {
            return Flux.fromIterable(excelList)
                    .flatMap(excel -> webClient.get()
                            .uri(sybase + excel.getTransactionID())
                            .retrieve()
                            .bodyToMono(Response.class));
        }
    Ответ написан
    4 комментария
  • Почему ArrayList пустой?

    @Akela_wolf
    Extreme Programmer
    Так запрос же асинхронный. То есть вы его запускаете и говорите "вот когда данные придут - запиши их в список". И не дожидаясь пока запрос выполнится - возвращаете список (который, разумеется, пустой - запрос же еще в процессе выполнения).

    Поэтому, если уж вы начали использовать асинхронные запросы - надо жить в асинхронном мире дальше, везде протаскивая Mono и Flux.

    Либо переходить на Kotlin с его корутинами (которые прекрасно интегрируются с Mono/Flux)
    Ответ написан
    Комментировать
  • Котруется ли у it компаний курсы JavaRush?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Спешу вас огорчить, но компаниям плевать на то, какие вы курсы проходили. Ну, максимум можно сертификатом от cisco покозырять, но и он тоже будет максимум приятным бонусом в случае если будут выбирать между вами и еще одним претендентом одного с вами уровня (и то, далеко не везде).
    Прежде всего - спрашивать будут по конкретным вашим знаниям, без оглядки на то, где вы их приобрели.
    Ответ написан
    Комментировать
  • Чем заменить иностранные облачные хранилища S3 в условиях санкций находясь в РФ?

    @Mikeoldfield
    Сетевой инженер / системный администратор
    А в РФ крипта является не средством оплаты, а имуществом. Никакого не найдёшь.
    Ответ написан
    Комментировать
  • Как сделать такие полосы прогресса?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Обычный градиент

    Если это действительно прогресс, а не украшалка, то есть тег progress.
    Ответ написан
    3 комментария
  • Как работают циклы с оператором if?

    @rPman
    потому что вывод YES никак не связан с твоим if, он вне его записан, дальше - выход из цикла определен условием в for (цикл будет работать пока i<10), внутри условия if у тебя стоит дополнительное увеличение i на единицу, а так же на каждом шаге в цикле i увеличивается на 1, значит значение i у тебя на каждом шаге цикла будут 0,2,4,6,7,8,9 - т.е. 7 раз

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

    xez
    @xez Куратор тега Java
    TL Junior Roo
    .class можно декомпилировать. (например, тут, www.javadecompilers.com)
    .jar - это zip архив с .class файлами.
    Ответ написан
    1 комментарий
  • Как создать метод из SQL запроса?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Ну пожалуй, вам стоило бы уточнить работаете ли вы с jdbc или с Spring JDBC, Spring JPA, Hibernate и т.д.
    В Spring есть такая штука, как exists*
    Например,
    existsCustomerByNameAndPurchase(String name, String purchase);

    Подробнее: https://www.baeldung.com/spring-data-exists-query
    Ну а если jdbc, то в чем проблема? Выполнили SQL запрос. Проверили кол-во записей. Если больше 0, то значит true, если 0 - false
    Ответ написан
    8 комментариев
  • Лучший способ обойти Великий Китайский Фаервол?

    @Roc27
    И тебе привет.
    1 вариант. Покупаешь VPS с виртуализацией KVM, ставишь на него OpenVPN на 443 порту и сиди себе.
    2 вариант. Покупаешь VPS с виртуализацией KVM с CentOS 7, ставишь на него Mikrotik Cloud Hosted Router и так же поднимаешь на нем OpenVPN.
    Основной IP адрес VPS не используй для VPN, лучше накупи дополнительных и их используй, так как IP адреса все равно будут улетать в бан и надо будет их менять на свежие как раз с помощью основного не забаненного IP VPS. С помощью Mikrotik Cloud Hosted Router это можно делать на ходу.
    Выгодно ли это не знаю. Но у тебя будет свой VPN со своей гарантированной скоростью.
    IPv4 адреса дорогие. Если есть возможность пользоваться адресами IPv6, то так будет в разы дешевле.
    Ответ написан
    1 комментарий
  • Как подключиться к VPN серверу через Proxy?

    @TargetLocked
    sudo apt install tor privoxy obfs4proxy

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

    https://disk.yandex.ru/d/ecpXIki1TIht_g

    Потом выброшенный в локалку (0.0.0.0/24) порт privoxy 8118 (ну или какой тебе понравится) загоняешь по http в proxifier (это прога для проксирования траффика на винде) и весь траффик, включая траффик VPN-клиента, пойдет через твой собственный совершенно бесплатный и нелогируемый прокси-сервер хоть на луну, если там реализуют модель OSI. Не благодарите.
    Ответ написан
    6 комментариев
  • Как перенаправить траффик, обходящий блокировки РКН, с домашнего Mikrotik на облачный CHR?

    @Drno
    У меня дома сделана такая же штука. С настройкой у Вас всё верно - добавляем в адрес лист, далее создаем манг с маркировкой, далее роутинг добавляем (добавил картинку)
    60c8fc2c7f6ea530816540.jpeg

    На CHR - для VPN соединений есть правило masqurade? Чтобы CHR знал что может быть шлюзом для VPN клиентов? Такое же правило как и для WAN. у меня (тк впн тупо личный) просто сделан Out. Interface - all ppp
    Ответ написан
    1 комментарий
  • Есть дешевые качественные хост-провайдеры?

    Allepta
    @Allepta
    Европа, норм саппорт, широкий канал
    https://quickclickhosting.com/

    СНГ, норм саппорт, узкий канал
    https://profitserver.ru/

    США, норм саппорт, норм канал, советую
    crowncloud.net

    Европа, ужасный саппорт, высокий пинг, не советую
    https://www.ovh.com/

    Европа, норм саппорт, норм канал
    https://eurohoster.org/

    Европа, отвратительный саппорт, узкий канал, не советую
    https://iphoster.net/

    СНГ, хороший саппорт, узкий канал, не плохой хостер
    https://www.ihor.ru/

    Европа, норм саппорт, широкий канал, советую
    https://bluevps.com/
    Ответ написан
    22 комментария
  • Mikrotik ipsec маршрутизации?

    ifaustrue
    @ifaustrue
    Пишу интересное в теллеграмм канале @cooladmin
    IPSec в микротике (да и в Linux) работает не на уровне маршрутизации, а рядом и не зависимо от неё (убедится можно по сказочной схеме, которая _очень понятная_ wiki.mikrotik.com/wiki/Manual:Packet_Flow - самые последние две картинки) т.е. маршрутизация трафика внутрь туннеля не возможна - возмонжо лишь установка туннеля для нужного трафика.

    Вас спасёт (от необходимости прямого линка) работа в транспортном режиме + GRE, внутрь которого уже будет смаршрутизирован нужный трафф.
    Ответ написан
    4 комментария
  • Какие увеличить безопасность своего VPN-сервера?

    paran0id
    @paran0id
    Умный, но ленивый
    Что делал я:
    • Хостинг на digitalocean
    • openvpn
    • Нестандартные порты
    • Блокировка всех найденных околоправительственных российских подсетей (гуглятся)
    • psad, fail2ban, прочие стандартные меры

    Пока работает, но то, что во время войны с телеграмом серверок не забанили по маске вместе с половиной диджиталоушена - чистой воды везение. Когда начнут воевать с vpn на уровне протокола - даже не знаю, что делать. Может быть, модифицированный клиент и сервер найду, или через ssh-туннель пущу трафик. Варианты есть, но они все ненадёжные - действовать надо по ситуации, и гарантированно рабочих вариантов ожидать не стоит.
    Ответ написан
    6 комментариев
  • Какие увеличить безопасность своего VPN-сервера?

    CityCat4
    @CityCat4 Куратор тега VPN
    //COPY01 EXEC PGM=IEBGENER
    Они же явно логируют все запросы (трафик) с VPN-сервера?

    То,что явно - не доказано, но лучше предполагать, что именно так.
    VPN от российского хостера анонимности тебе... понизил :) Потому что откуда ты на него пошел (тот конец туннеля, что у тебя) - хостер и так знает - ты же вряд ли заходишь на морду управления хостера через дополнительный VPN. И у тебя появилась метка "использует VPN". И трафик твоего VPN тоже знает - ну при желании, конечно, так-то ему он даром не впилился.
    Машина (VPS, в смысле) у хостера - в его распоряжении. Снять снапшот - дело нескольких минут. Вскрыть рутовый пароль - еще нескольких минут. Опа - и у хостера есть и твой настоящий IP (адрес второго конца туннеля) и ключи :)
    Разумеется, это все не автоматом, а если понадобится.

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

    Схема с выходом в тырнет через VPS в Голландии, например, будет работать, если нужно:
    - попасть на сайты, блокирующие IP из РФ типа analog devices
    - попасть на сайты, заблокированные РКН типа твиттера или инсты (правда, с последней стоит быть осторожнее - она все-таки в списке экстремистских)

    Но эта схема не сработает, если есть идея писать "всяку бяку" например, на вконтактике типо от голландского IP - вычислят махом.
    VPS, держащий VPN в йобенях - это совсем не про анонимность (противодействие установлению связи между логином vasyan и настоящим именем юзера, как правило, комплекс административно-технических мероприятий), а про безопасность (противодействие перехвату трафика и его модификации (чисто техническое решение, которое может применяться для повышения анонимности в комплексе, но само по себе ее никак не повышает).
    Ответ написан
    2 комментария
  • Нужно ли пользователю иметь JVM для запуска Java-программы?

    @Akela_wolf
    Extreme Programmer
    Да, разумеется. Поэтому некоторые Java-программы распространяются в виде установщика, который сразу же ставит вместе с программой и JVM (причем часто в папку программы). Например, так делает JetBrains IDEA.
    Ответ написан
    3 комментария
  • Почему трафик не идет через шлюз по умолчанию?

    Kenny00
    @Kenny00 Автор вопроса
    Ответ поддержки YANDEX.CLOUD

    >Почему-то все машины используют шлюз который идет в сети по умолчанию, и его не изменить.
    Специфика Yandex Cloud такова, что внутренние маршруты виртуальных машин не работают, прописывать и редактировать их не нужно. Для настройки маршрутизации вам нужно использовать статические маршруты - https://cloud.yandex.ru/docs/vpc/concepts/static-routes

    >Как я могу перенаправлять трафик через виртуальную машину тогда, с 2 интерфейсами. Один в Интернет с внешним IP другой в локальную сеть.
    Публичные адреса виртуальных машин (и других ресурсов) в Яндекс Облаке сопоставляются их внутренним адресам с помощью технологии one-to-one NAT.
    Эта трансляция адресов производится автоматически и прозрачно для пользователя внутри VPC (Virtual Private Cloud, сетевая подсистема Яндекс Облака).
    Таким образом, один сетевой интерфейс ВМ с публичным IP может иметь доступ как к локальной сети, так и к интернету.
    Для перенаправления трафика через виртуальную машину вы можете воспользоваться маршрутизацией через NAT-инстанс - https://cloud.yandex.ru/docs/tutorials/routing/nat...
    Ответ написан
    Комментировать
  • Почему трафик не идет через шлюз по умолчанию?

    ValdikSS
    @ValdikSS
    Вы в traceroute видите ответ маршрутизатора о пути прохождения пакета. Вероятно, ваш первый хоп имеет адреса как 10.128.0.1, так и 10.128.0.4, но пакет ICMP Time-to-Live Exceeded он посылает с 10.128.0.1. Это не значит, что трафик маршрутизируется через адрес 10.128.0.1.
    Ответ написан
    6 комментариев
  • Нужно ли учить Java EE для Spring?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Java EE - это набор стандартов. Причём актуальный. На этих стандартах Spring и построен. Можно не учить, и дело не в том, что будет тяжело, просто профессионалом не станешь. Будешь подобен девочке, знающей про свою машинку только то, что они красненькая и в неё иногда надо бензин заливать.
    Ответ написан
    Комментировать