Задать вопрос
  • Правильно ли я использую исключения в java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Не очень понятно какая решается задача. Если это школьная лабораторная на тему изучения Exceptions - то нормально.

    Но обычно на исключения строятся такие кейсы которые неудобно ловить проверкой условия. Например ошибки I/O. И логика обработки этих ошибок обычно глобальна. Например целая процедура завершается когда нет доступа к сети. И безразлично где конкретно процедура упала. Нет сети - сразу на выход.

    И тут надо не 2 попытки делать а цикл do-while:

    do {
       input = askForInput();
    } while(input < 0);


    Кроме того sc.nextInt() бросает 3 вида исключений которые ты как-то не заметил. Их тоже надо отработать.
    Ответ написан
    Комментировать
  • Стоит ли vim усилий?

    @Vitsliputsli
    Vim - это текстовый редактор в первую очередь. Если же говорить про разработку, то в ней не нужно писать очень быстро очень много текста. А если вдруг, у вас так, то вы делаете что-то не то. Кодинг в разработке только одна из стадий и не самая длительная.
    То что vim присутствует практически везде вообще не аргумент, vim без плагинов совсем не ide.
    Тем не менее, попробуйте установить его как ide для вашего языка. Тогда выяснится, что нужно повеселиться с плагинами. Что обвес всем этим невелирует маленький быстрый редактор, и что скорость работы плагинов в разы тормознутей специализированного ide. Кто-то напишет, что я не те плагины брал, но устанавливать неофит будет так же, сделать это одной кнопкой не получится. Если цель не работать, а настраивать, то это отличный выбор.
    Есть деньги на нормальную ide, то выбор очевиден, если нет, то все равно нужно 10 раз подумать.
    Ответ написан
    1 комментарий
  • Стоит ли vim усилий?

    @luaPower
    Однозначно стоит учить. Повышается скорость редактирования текста (практически не нужно переключаться на мышь) и в целом уровень комфорта при работе в текстовом редакторе.

    Серьезным аргументом за изучение является тот факт, что Vi предустановлен практически в любой UNIX-системе. Это означает, что вы имеете один интерфейс, работая с текстом как локально, на домашней машине, так и удаленно, на сервере.

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

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

    UPD Добавлю, что учить то на самом деле не много. От силы пару десятков основных команд, немного практики и вот вы уже уверенный пользователь Vim.
    Ответ написан
    3 комментария
  • Почему используется декремент в данном цикле while?

    @kpechenenko
    Может быть новые имена переменных помогут вам разобраться в том, что происходит.
    class Power {
        public static void main(String args[]) {
            int осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета;
            int результат;
            for (int текущаяСтепеньДвойкиДляОтчета = 0; текущаяСтепеньДвойкиДляОтчета < 10; текущаяСтепеньДвойкиДляОтчета++) {
                результат = 1;
                осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета = текущаяСтепеньДвойкиДляОтчета;
                while (осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета > 0) {
                    результат *= 2;
                    осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета--;
                }
                System.out.println("2 в степени " + текущаяСтепеньДвойкиДляОтчета + " равно " + результат);
            }
        }
    }
    Ответ написан
    Комментировать
  • Как запустить html страницу в контейнере tomcat?

    black1277
    @black1277
    Вольный стрелок
    Нужно сразу открывать страницу документации нужного пакета в docker
    https://hub.docker.com/_/tomcat
    Там найдете, что рабочая директория в образе по умолчанию /usr/local/tomcat, команда для запуска в докер файле CMD ["catalina.sh", "run"] и др. полезную информацию.
    Ответ написан
    Комментировать
  • Как убрать кавычки в результате вывода содержимого файла после его чтения в Rust?

    vabka
    @vabka Куратор тега Rust
    {:?} использует Debug для форматирования. В твоём случае он тебе не нужен.

    Попробуй вот так:
    #[get("/index")]
    pub async fn index() -> impl Responder {
        let path = Path::new("test.txt");
        spawn_blocking(|| cat(path)).await?
    }
    
    fn cat(path: &Path) -> io::Result<String> {
        let mut f = File::open(path)?;
        let mut s = String::new();
        match f.read_to_string(&mut s) {
            Ok(_) => Ok(s),
            Err(e) => Err(e),
        }
    }


    Кстати, твоя функция cat использует синхронный IO, так что её следует вызывать в spawn_blocking.
    Но лучше будет перейти на tokio или async_std
    Ответ написан
    3 комментария
  • Как реализовать этот код(патерн) С++ на Java?

    Ну что-то типа:
    interface Warrior
    {
        void info(); // Кстати, почему void, а не string какой-нибудь?
    }
      
    class Infantryman implements Warrior
    {
      public void info() { 
          System.out.println("Infantryman");
      }
    }
      
    // Фабрики объектов
    interface Factory
    {
        Warrior createWarrior();
    }
    
    class InfantryFactory implements Factory
    {
        public Warrior createWarrior() { 
          return new Infantryman(); 
        }
    }


    Пишется очень легко, если хотябы поверхностно знать жаву. Так что прежде чем продолжать, тебе следует прочитать хотябы пару глав любой книги/учебника/курса по жаве.
    Ответ написан
    Комментировать
  • В какой лог упадет выполнение команды Whoami?

    @MoyMirok Автор вопроса
    Понял, что ни в какой лог. Потому создал лог, куда будет падать
    Ответ написан
    9 комментариев
  • Почему нет wifi интерфейса?

    @Wexter
    А откуда им быть на 2011uias-rm? он же без вайфая
    Ответ написан
    2 комментария
  • Почему 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 комментарий