• Как ускорить процесс получения большого объема данных?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Сложно обсуждать перформанс-проблему без исходного кода.

    Я-бы предложил как всегда ударить кувалдой. Тоесть запустить по приложению JProfiler и просто посмотреть что он покажет. Проблемных мест может быть 3. Это чтение из базы. Второе это собственно проверки и валидации. Как они реализованы? Насколько качественно? И третье это собсно запись в БД. Используется ли JDBC-batch?

    SpringQuartz, cron, view здесь вообще непричем и их наличие только путает нас и вносит новые ненужные вопросы. Лучше решать проблему как одну java-функцию с входом и выходом.
    Ответ написан
    4 комментария
  • Как получить элементы ArrayList в другом классе?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Если в другом классе, то в Main надо было бы сделать метод-аксессор, но у вас не другой, у вас наследник, так что можно напрямую обращаться. Нули вы получаете потому, что JUnit запускает метод positiveTriangleCheckTest, а метод main никто не выполняет.
    Ответ написан
    2 комментария
  • Какой инструмент-конструктор выбрать для разработки UI для REST API?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Я тоже бэк :) Когда возник вопрос "для себя" делать простой фронт, попытался изучать React как самый популярный. Но чёт не осилил, какой-то он предельно странный. А вот Angular зашёл! Много слышал что он очень сложный, но я особых сложностей не узрел, по крайней мере для моих примитивных задач. Говорят, Angular заходит именно бэкам т.к. у нас нет проблем с основами ООП.
    Я думаю что фронт лучше делать именно на фронтовых фреймворках чем на Java-шаблонизаторах (таймлиф, мусташ и пр.). Во-первых, их (шаблонизаторов) несколько и непонятно какой учить. А на фронте 3 фреймворка и все популярны. Потом - ты получаешь ещё одну специальность, пусть и на примитивном уровне. Далее - тренируясь с "настоящим" фронтом, ты начинаешь лучше понимать что нужно фронту и, соответственно, лучше пишешь бэк.
    Я учил Angular по курсу Владилена Минина. Правда, он довольно старый (по 8-9 версии, а сейчас актуальна 14), но в целом актуальный. Плюс и минус этого курса - автор объясняет не "академично", а исключительно на примерах. Минус - тяжело потом что-то искать в официальных доках Ангуляра, просто не знаешь как формулировать запрос. Плюс - зная как должен выглядеть твой фронт, ты практически сразу начинаешь его писать (конечно, самые основы HTML/CSS знать надо).
    Удобно писать и отлаживать бэк и фронт отдельно. А запускать фронт "на проде" можно как на отдельном сервере (Nginx, Apache), так и "заэмбедить" в Jar-файл и тогда он будет работать на "встроенном" сервере (Tomcat, Netty).
    ЗЫ: да, учил "для себя", но активно использую по работе :))
    Ответ написан
    Комментировать
  • Какой дистрибутив java выбрать для обучения?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Берите любую lts.
    Ответ написан
    Комментировать
  • Как можно практически закрепить знания JAVA SE?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Мне кажется ты слега перегрел себя. Что там оттачивать в Enum? Какой вопрос тебя могут спросить на собеседновании на джуна и на который ты не знаешь ответ.

    В твоей ситуации я был. Это похоже на усталость. Ничего не надо делать. Надо просто отдохнуть.
    Для систематизации-же заведи себе в гитхабе проектик типа FAQ. И складывай туда code-samples
    по каждому вопросу.
    Ответ написан
    Комментировать
  • Преобразовать из Json в Java обьект?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    У вас на входе не класс Dev, а массив/список Device
    Ответ написан
    4 комментария
  • Почему не работает исключение JAVA?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Уговорили (но в следующий раз не нужно 10 вопросов на один код)
    public class Main {
    
        public static void main(String[] args)  {
    
            Scanner In = new Scanner(System.in);
            System.out.print("Введите a: ");
            int A = In.nextInt();
            System.out.print("Введите b: ");
            int B = In.nextInt();
    
            try {
               sum(A, B);
            }catch(ArithmeticException  e) {
                   System.out.println(e.getMessage());
            }
        }
        static int sum(int a,int b) /* не уверен, что нужно */ throws ArithmeticException {
                 if (a<0) {
                   throw new ArithmeticException("a меньше 0");
                } else if (b<0) { //  моя очепятка детектед.... чеккед и корректед
                    throw new ArithmeticException("b меньше 0");
                }
    
            return a+b;
        }
    Ответ написан
    5 комментариев
  • Почему не работает исключение JAVA?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Чтобы появился шанс что-то поймать, нужно это что-то сначала бросить.
    С уважением, ваш Кэп
    Ответ написан
    Комментировать
  • Как устранить ошибку CORS?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Я у себя добавил такую конфигурацию:
    /*
    https://www.baeldung.com/spring-webflux-cors
    https://www.baeldung.com/spring-cors
     */
    
    package com.broadview.bvreportsgenerator.configuration;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.reactive.config.CorsRegistry;
    import org.springframework.web.reactive.config.EnableWebFlux;
    import org.springframework.web.reactive.config.WebFluxConfigurer;
    
    @Configuration
    @EnableWebFlux
    public class CorsGlobalConfiguration implements WebFluxConfigurer {
    
      @Override
      public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**");
      }
    }


    Это вариант для WebFlux. Если у тебя "обычный" web, будут немного другие вызовы, см. статьи в коменте.
    Ответ написан
    6 комментариев
  • Как подобрать паттерн?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Использовать полиморфную десериализацию с последующей передачей значения в перегруженный метод.
    Ответ написан
    2 комментария
  • Как упростить компиляцию и запуск?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Параметром java передаётся не имя файла, а имя класса. JVM как-то должна понять, где этот класс искать, для этого classpath и указывается. Можно конечно определить переменную окружения classpath, чтобы не указывать ключ в командной строке, но это считается плохой практикой.
    Ответ написан
    Комментировать
  • Spring или Asp.net core для будущей работы?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    сам тащусь от программирования

    Вот представьте вам говорят: бросай своё баловство это - иди в строительство / нефтянку / наркоторговлю / проституцию / пхп.
    Это стабильно, это надёжно, это приносит больше денег.
    И, допустим, это даже будет правда.

    Но я искренне не понимаю как это может хоть кого-то мотивировать.
    Занимайтесь тем что вам интересно. Тогда будет у вас и карьера и сытое будущее.
    Только так. Не наоборот.
    Сначала любимое дело - потом все вот это остальное.
    Ответ написан
    3 комментария
  • Как запускать тесты для ПО с микросервисной архитектурой?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Предлагаю использовать testcontainers - это в общем случае.
    Может быть, если поразбираться в вопросе, достаточно будет тестовых конфигов и профилей.
    Ответ написан
    3 комментария
  • Какую библиотеку посоветуете для свайпа на джава?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    А что за год свайп кардинально изменился? Там новые движения добавились? У пользователя пальцы стали другие?
    Как по мне берите вот эту https://github.com/yuyakaido/CardStackView
    Ответ написан
    Комментировать
  • Как решить ошибку баз данных Incorrect String value?

    xez
    @xez
    TL Junior Roo
    Попробуйте добавить параметр для java
    -Dfile.encoding=UTF-8
    Ответ написан
    Комментировать
  • Как осуществить переход из одного switch-case в другой и вернуться обратно?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Читайте про конечные автоматы.
    Ответ написан
    Комментировать
  • Нужна ли математика Python,Java программисту?

    GavriKos
    @GavriKos
    Вопрос сложный.
    По факту для того чтобы писать говнобота - математика не нужна вообще. Но при этом математика как наука формирует и воспитывает мышление.

    Но при этом математика может понадобиться непосредственно для предметной области. В том же геймдеве без нее просто нечего делать.

    Дополнительно математика позволяет понимать нормально часть терминов. Например, сложность алгоритмов.
    Ответ написан
    Комментировать
  • Как можно отправить json file размером до 10gb через post запрос в Spring boot?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Выглядит, как задача для реактивности. Читаешь из БД Flux данных, с помощью jackson streaming api на ходу формируешь из него поток байт, представляющий json, который скармливаешь в качестве тела запроса WebClient'у. И не надо ничего на диск сохранять. А ещё лучше вместо http-запроса использовать для этой цели RSocket, если есть возможность доработать принимающую запрос сторону.
    Ответ написан
    Комментировать
  • Имеется ли разница в мобильном Java приложении между double и int в JSON ответе?

    Vest
    @Vest
    Попробую ответить: если вы работаете с JSON, то стандарт говорит вам следующее:
    value:
        ...
        number
        ...

    Это то, что может быть в качестве одного из значений. Что такое number?

    number
        integer fraction exponent

    Или "целое", "(десятичный) разделитель" и "дробная часть".

    Как вы понимаете, никто вам ничего не гарантирует. Может быть будет точка, а может и нет. Всё, как в JavaScript. Поэтому, если у вас схема JSON'а неизвестна, то вы можете это трактовать как получится.

    Но если это "валюта" или что-то важное, где округление не допустим, то я бы попросил владельца API пересмотреть эту часть
    Ответ написан
    2 комментария
  • Имеется ли разница в мобильном Java приложении между double и int в JSON ответе?

    EreminD
    @EreminD
    Кое-что умею
    у JSON есть только тип number
    и 5.0 и 5 - оба значения валидны, с точки зрения JSON

    633eab5010109238785685.png

    Тут вопрос к тому, кто создает json или кто его интерпретирует.
    Готова ли сторона-приемник, что может прилететь число 5.5, например?

    Если вам нужен строго int, по-хорошему, должен быть код, который принимает double и пытается преобразовать к инту
    Ответ написан
    3 комментария