Ответы пользователя по тегу Java
  • Почему Bad Request, status=400 при загрузке файлов?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Ваш инпут называется images
    <input type="file" name="images" multiple class="form-control" accept=".jpg, .jpeg" >


    В контроллере вы ожидаете files
    @RequestParam("files") MultipartFile[] images
    Ответ написан
    Комментировать
  • Стоит ли использовать разные DTO для Response и Creation объекта?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Зависит от проекта, но на мой взгляд хорошей практикой является создание разных DTO.
    Например,
    UserCreationDto
    UserUpdateDto
    Ответ написан
    Комментировать
  • На что стоит обратить внимание при изучении back-end'a на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Изучите Spring Boot (Spring Framework). Научитесь писать как простые, так и сложные проекты. Там есть отдельна экосистема Spring Cloud и т.д., которые позволяют разрабатывать еще более сложные сервисы.
    Ответ написан
    4 комментария
  • Не могу отправить сообщение на почту Java Mail - Bad type on operand stack?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    smtp.gmail.ru
    в этом уверены?
    скорее:
    smtp.gmail.com

    Вы письмо сами себе отправляете?
    message.setFrom(new InternetAddress("maksimovm117@gmail.com"));
                message.setRecipient(Message.RecipientType.TO, new InternetAddress("maksimovm117@gmail.com"));


    https://support.google.com/mail/answer/7126229?hl=...
    smtp.gmail.com
    
    Требуется SSL: да
    
    Требуется TLS: да (при наличии)
    
    Требуется аутентификация: да
    
    Порт для SSL: 465
    
    Порт для TLS/STARTTLS: 587
    Ответ написан
  • Как обратиться к обьекту с другого класа?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Объект kub располагается в области видимости метода main. Получить доступ из другого класса к этому объекту нельзя.

    как мне обратиться к этому обьекту из другого класа?

    Какого результата вы хотите добиться этим?

    Поделюсь своим мнением по поводу самого кода:
    Так как ваш класс Circle является pojo, то располагать метод main в нем некорректно.
    Создайте другой класс и закиньте метод main туда.
    Т.е. должно получиться так:
    псевдокод

    class Circle extends Shape {}
    class Triangle extends Shape {}
    public class Main { void main() }

    Если следовать вашему коду, то получится так:
    class Circle extends Shape { void main() }
    class Triangle extends Shape { void main() }
    т.е. каждый pojo класс должен содержать точку входа, что странно...
    И еще один совет, осознанно давайте названия переменным, классам, методам. 
    А то <code>Circle kub</code> (Круг квадрат) ну сами понимаете.
    Ответ написан
  • Индексация массива Java. Как обойтись без циклов?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Будь я на вашем месте сделал бы следующим образом:
    Создал бы метод, который принимает несколько аргументов:
    1) сам массив, по которому нужно итерировать
    2) startOffset - это если нужно вывести char без первых n символов
    3) endOffset - это если нужно вывести char без последних n символов

    Либо же можно реализовать подобное при помощи Stream API. Но скорее всего вы все еще изучаете Java и скорее всего еще не дошли до этого...
    Ответ написан
    1 комментарий
  • Что это значит в джаве?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    У одного интерфейса могут быть несколько реализаций.
    Animal - это интерфейс.
    Соответственно, есть разные реализации. Например,
    interface Animal {}
    class Dog implements Animal {}
    class Cat implements Animal {}


    Вот, представьте следующую ситуацию. Вам необходимо написать либу для работы с БД. Притом БД могут быть разные. Это может быть и MySQL, PostgreSQL, SQLite и т.д.
    Но у них у всех (независимо от БД) есть некие общие методы. Например, connect() & disconnect()
    Тогда создается некий интерфейс Connection
    inteface Connection {
    connect(){}
    disconnect{}
    }

    Дальше создаются классы. Например,
    class MySQLConnection implements Connection {}
    class PostgreSQL implements Connection {}

    и т.д.
    в которых методы connect() & disconnect() реализуются.

    Ну а дальше чтобы подключиться например к БД MySQL используют
    Connection c = new MySQLConnection();
    c.connect();

    Если завтра попросят подключиться к другой БД, то поменяется только new MySQLConnection();
    Ответ написан
    Комментировать
  • Spring Boot, таблица с сортировкой, фильтрацией, пагинацией, как это реализовать?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Я только учусь и просьба быть терпимым к такому тупому вопросу:(

    Нормальный вопрос)
    Нашел вариант только с DataTables CDN, но там не происходит обращение к БД

    Ну во-первых, именно Datatables я вам и посоветую.
    А во-вторых, если хорошо глянуть в документацию, то найдете
    https://datatables.net/manual/server-side
    https://datatables.net/examples/data_sources/serve...
    В примере во второй ссылке показана пагинация с обращением на сервер
    Ну и конечно же готовая либа для Spring Boot для работы с DataTables
    https://github.com/darrachequesne/spring-data-jpa-...
    Ответ написан
    1 комментарий
  • Как исправить error: cannot find symbol?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день
    Там же черным по белому написано, что он не может найти символ num
    System.out.println("Amoeba №: " + num + ":");
    Переменная у вас объявлена внутри публичного класса и недоступна в самом методе.
    int num = Amount;
    Прочитайте про область видимости переменной
    Ответ написан
    6 комментариев
  • Почему я получаю эксепшн ArrayIndexOutOfBoundsException?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    v_vladik,
    Этот вариант исключается. Я точно уверен, что в файле разделитель присутствует.

    Учтите еще одно, что дефис и тире разные символы.
    Например, https://www.compart.com/en/unicode/category/Pd
    Что если у вас например, тире, вместо дефиса или еще что...

    Не лучше ли вместо того, чтобы плодить кучу методов (получить первую строку, получить вторую, третью, четвертую и т.д. ), создать метод, который принимает строку и номер строки, которую нужно получить? Соответственно, будет один метод.
    public static String getFirstLine(String line) {
            String[] lines = line.split("-");
            return lines[0];
        }
        public static String getSecondLine(String line) {
            String[] lines = line.split("-");
            return lines[1];
        }


    english.txt

    Было бы неплохо увидеть пример содержимого файла.

    И еще вполне возможно, что у вас тут проблема:
    for (int i = 0; i < size; i++) {
                words.add(getFirstLine(list.get(i)));
                translation.add(getSecondLine(list.get(i)));
            }


    А чего гадать-то? Сделайте дебаг и гляньте что именно ему не нравится
    Ответ написан
    Комментировать
  • Как быстро нарисовать график?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Вам необходимо воспользоваться возможностями GUI библиотек. Например, swing
    https://stackoverflow.com/questions/8693342/drawin...
    www.java2s.com/Code/Java/Advanced-Graphics/DrawMat...
    В общем, как-то так...
    Ответ написан
    Комментировать
  • Есть объяснение понятию что такое модель исходя из данного класса DefaultComboBoxModel?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Вас интересует значение слова model? Или что за модель DefaultComboBoxModel?
    Ответ на первый вопрос:
    Модель это класс описывающий некую сущность. В Java это также называется, как pojo (plain old java object).
    Или вот еще:
    Модель, в случае паттернов MVP, MVC — это слой, который представляет логику Вашего проекта, абстрагирован от любых деталей UI, задач преобразования данных и т.д.

    Ответ на второй вопрос:
    DefaultComboBoxModel - это модель из пакета javax.swing, который описывает такую сущность, как ComboBox (dropbox список) используемый по умолчанию. Обратите внимание, что он параметризован.
    Ответ написан
    Комментировать
  • Как сделать копию сайта в приложении?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый вечер.
    Ну давайте, разберемся для начала, что подразумевается под копией сайта.
    Если это некий статичный сайт, в котором ничего не меняется, то легче наверное скачать сайт и локально отдавать файлы сайта (с уже измененным дизайном) в WebVIew.

    Но вы отметили, что у сайта есть БД.
    Если сайт позволяет работать с его API (например, сайт сделан на WordPress, то у него есть WordPress API), то лучше реализовать свой дизайн для андроид, а данные подтягивать уже с REST API.
    Если у сайта нет API, то можно попробовать открыть сайт в WebView, но также подключить локальные стили и скрипты, которые и заменят дизайн.
    Можно еще сделать приложение, а вот, данные парсить при помощи jsoup
    Ответ написан
    Комментировать
  • Module commons.io not found, required by com.example.myapp Не найдено?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый вечер.
    Вы забыли прописать commons-io в module-info.java
    requires org.apache.commons.io;
    или скорее даже
    requires commons-io;
    Ответ написан
    Комментировать
  • Сравнение чего с чем идёт в методе equals?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Сравнивать объекты можно при помощи ==, либо equals()
    НО!
    При сравнении двух объектов при помощи == будут сравниваться ССЫЛКИ на объекты.
    При сравнении двух объектов методом equals() он сравнит объекты, так как в классе Object метод equals():
    public boolean equals(Object obj) {
            return (this == obj);
        }


    При создании пользовательского класса, принято переопределять метод equals() таким образом, что бы учитывались переменные объекта.


    (number == ((Groundhog2)o).number);
    В данном случе он объект о приводит к типу Groundhog2, получает из него поле number и сравнивает с левой частью.

    Также полезным будет прочитать про String & String Pool. И разницу между == & equals()
    Например,
    public static void main(String ... args) {
        String a = "Hello";
        String b = "Hello";
        boolean result1 = a == b;
        boolean result2 = a.equals(b);
        System.out.println(result1);
        System.out.println(result2);
        String c = new String("Hello");
        String d = new String("Hello");
        boolean result3 = c == d;
        boolean result4 = c.equals(d);
        System.out.println(result3);
        System.out.println(result4);
      }
    Ответ написан
  • Как сделать систему "HTML - дизайн, jAVA - функционал"?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    А как насчет ElectronJS в качестве GUI и Spring (REST приложение на Java)?
    Ну или же Spring Boot + JavaFX приложение на фронте и Spring на беке.
    https://github.com/rgielen/javafx-weaver
    https://habr.com/ru/post/478402/
    Ответ написан
  • По какой причине может быть не найден main класс?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    У вас метод main() не располагается в публичном классе. К классу MySolution добавьте модификатор доступа public
    Также могу предположить, что в вашем jar нет MANIFEST.MF
    Или же он есть, но не указан класс содержащий метод main()
    Ответ написан
    Комментировать
  • Что за фигурные скобки в Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый вечер.
    Прочитайте про блоки нестатической и статической инициализации.
    https://vertex-academy.com/tutorials/ru/bloki-inic...
    Ответ написан
    Комментировать
  • Возможно ли такое реализовать?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Можно реализовать не только фриланс, но и например, "Austaushung", когда люди обменияваются своими умениями. Т.е. кому-то нужно выгулять собаку, а кому-то починить кран. И возможно, что стоимость починки крана стоит дороже, чем выгул собаки, но между ними происходит обмен (не всегда равноценный) на безвозмездной основе.

    какие возможности еще можно реализовать на эту тему,

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

    по приезду ставят отметку о прибытии,

    Эта идея не очень нравиться, так как тут важно юзабилити. И не думаю, что каждый раз юзер залезет на сайт и поставит отметку и т.д. Если это реализовывать, то надо наверное, пуш уведомления подключить, чтобы пользователи получали информацию регулярно. Другое дело, если вы еще планируете моб. приложение поднимать)))

    Можно не делить людей на соседей и фрилансеров. У них могут быть одинаковые роли (несколько ролей). И каждый из них может оказывать услугу и просить об услуге.

    возможно ли такое создать с такими стэком

    Можно.

    насколько это будет объемно?

    Если речь идет о полноценном приложении, то да, это будет объемно.

    Хочу использовать Java или JavaScript именно по этому планирую бэк сделать на java, фронт на react, angular, база mysql, sqlserver.

    Как по мне стека Java (Spring) + JS (VueJS) + MySQL (или Postgres) будет предостаточно.
    Ответ написан
    2 комментария
  • Что нужно для установки условий для запуска сторонних проложений?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Я конечо не андроид разработчик, но думаю, что вам понадобится такое разрешение, как "Отображение поверх других приложении". Например, чтобы при выполнении условия (срабатывании ограничения) запретить использование выбранного приложение.
    https://stackoverflow.com/questions/40355344/how-t...
    Чтобы проверить запущено ли выбранное приложение можно воспользоваться ActivityManager
    https://stackoverflow.com/questions/28652076/detec...

    проверка условий по которым разрешить запуск приложений или запретить

    Условия могут быть разными. Например, ограничение по времени (например, 60 минут) или наступление определенного времени (например, 23:00) и т.д.
    Обнаруживаете запущено ли приложение. Затем проверяете попадает ли он под конкретное условие или нет. Если нет, то блокируете приложение (как указано выше). Если да, то время от времени обновляете условие. И нужно будет записать информаию куда-нибудь.
    Ответ написан
    Комментировать