Ответы пользователя по тегу Java
  • Как скачать файлы по URL?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Итерируете по массиву и для каждой ссылки проводите действие указанное по ссылке ниже. Выбор вариантов скачивания огромен
    https://www.baeldung.com/java-download-file
    Ответ написан
    Комментировать
  • Как эффективно освоить backend-разработку на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Один мой коллега заявил, что если учить программирование само по себе — по книгам/документации, — то это потеря времени впустую. Нужно делать какой-то проект. У меня такой вопрос: а какой проект можно сделать, если только начал изучать программирование и понятие не имеешь что писать?


    Чтобы знать, что писать - надо знать, как писать. А значит, для начала ты должен овладеть теорией. Хорошо, когда изучая теорию ты попутно учишься писать код. До написания pet project я бы рекомендовал изучить еще исходные коды различных проектов коллег поопытнее. Найти их можно на github, bitbucket и т.д.

    Итак, подведем итог:
    1) изучить теорию
    2) попутно стараться решать задачи на различных сайтах (hackerrank, leetcode и др.)
    3) когда овладеете базовыми навыками, то изучать различные паттерны и подходы. KISS, YAGNI, GRASP, SOLID, GoF, DTO, DAO и т.д.
    4) написать свой pet project.
    Ответ написан
  • С помощью каких фреймоворков создают мобильные приложения на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Подскажите, с помощью каких фреймоворков создают мобильные и десктоп приложения на Java?

    Добрый день.
    Десктоп - платформа JavaFX. Остальные старые либы, но используются и по сей день. Например, swt, awt, Swing
    Мобайл - на Java пишут нативно под андроид используя Android SDK.
    Под iOS есть вроде бы Multi-OS Engine - https://multi-os-engine.org/ , но я сам никогда его не использовал.
    Если хотите кросплатформенно писать мобайл приложения, то смотрите в сторону React Native (javascript, typescript) или Flutter (Dart). Ну и изучив js можно писать десктоп на ElektonJS
    Ответ написан
    2 комментария
  • Как найти итоговые поступления каждого маршрута за 7 дней?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Это тестовое задагние или реальный проект?
    На всякий случай отмечу, что если вы оперируете с валютой, то для высокой точности стоит использовать тип данных BigDecimal вместо примитивов. Тип данных int тем более не подойдет, так как могут быть не только целые значения.

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

    Предположу, что это тестовое задание или домашка и потому вместо ответа дам вам несколько подсказок.
    1) Создайте класс, который хранит в себе информацию по каждому из маршрутов. Приведу простой пример. Можно учесть много аспектов например, дату и т.д., но не будем.
    Например, (псевдокод):
    class Route {
        int busNum;
        Map<DayOfWeek, BigDecimal> incomePerDay;
    }

    далее вы можете создать массив или использовать jcf для хранения данных.
    Не будем морочиться и возьмем массив:
    Route [] routes = new Route [];
    Инициализируем массив маршрутов. В мапу кладем доход. Ключом является день недели, а значением доход на этот день.
    Далее остается при помощи класса Scanner, который вы используете принять выручку на каждый день недели для каждого из маршрутов.
    После того, как вы примете значения остается итерировать по массиву Route. Внутри цикла получить мапу. Проитерировав по мапе получить значения (доходы) по ключу и вывести сумму (недельный доход) в консоль

    Я условился, что за маршрут можно получить от 1000 до 10000.

    За маршрут можно получить и 550 руб. 50 коп. Целых значений может и не быть
    Ответ написан
    2 комментария
  • Как обновит массив объектов в spring boot?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Ну во-первых, вам не нужно итерировать по старой и новой коллекции.
    Вы можете либо воспользоваться методом addAll(). либо же раз решили итерировать, то
    создать методы add() и remove()
    Прочитайте эту статью:
    https://vladmihalcea.com/the-best-way-to-map-a-one...
    Для более полного ответа нужно увидеть весь код. Например, вы указали вот, эту строку в комментарии:
    List<Address> addressList = oldUser.getAddress()
    Тут либо действительно проблема. либо метод назван неправильно, так как getAddress() подразумевает получение одного адреса, а не списка адресов пользователя. Должно быть getAddresses(), ну а метод getAddress() должен возвращать 1 адрес
    Рекомендую поставить брейкпоинты и провести дебаг
    Ответ написан
    Комментировать
  • Почему мои куки исчезли? Как мне оставаться в одной сессии?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Если я вас правильно понял, то у вас есть проект на Angular + Spring Boot.
    Не видя исходный код проекта сложно что-либо объективно сказать, но тем не менее постараюсь.
    Итак, рассмотрим простую модель - вы пишете REST приложение. Имеется некий эндпоинт, который принимает логин и пароль и в ответ генерирует jwt (токен). В чуть более сложной модели могуть быть 2 токена - access token & refresh token.
    Затем вам необходимо каждый раз в заголовке этот токен передавать. Например, Bearer xxxxxx
    Не забываем сохранить сам токен в localStorage и каждый раз отправлять его в бэкенд
    Ответ написан
  • Как подключится к Apache Derby по URL адресу?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Там написано, что не удалось установить соединение.
    1) Убедитесь в том, что derby на порту - 1527
    2) попробуйте вместо localhost ввести 127.0.0.1
    Вот, информация по работе с Derby через jdbc
    https://www.codejava.net/java-se/jdbc/connect-to-a...
    Вот, похожая проблема:
    https://stackoverflow.com/questions/10420902/data-...
    Ответ написан
    Комментировать
  • Как и где найти грамотного персонального преподователя JAVA?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Так как обучение по сути самообучение, то время от времени возникают вопросы, которые хотелось бы детально на примерах разобрать с наставником / преподавателем.

    Нет смысла в персональном обучении... Либо ищите ментора, либо можете записаться на курсы.
    Но необязательно. Можно самому все изучить. Тут уже от вас зависит все. Не забываем про учебники
    Ответ написан
    1 комментарий
  • Может ли одно Java-приложение работать с разными БД?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Что за приложение. которое работает по принципу "1 сервер - 1 клиент". А если в будущем будет 1000 клиентов? А если 1М?
    Ну а так вы можете перейти на микросервисную архитектуру. Развернуть отдельный сервер конфигурации (config server), gateway & discovery service. А затем развернуть по 1 инстансу приложения на каждого клиента
    Ну или как отметил коллега, реализовать мультиарендность (multitenancy)
    Ответ написан
  • Java как после точки переносить на новую строку текст?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Было бы неплохо увидеть код.
    Каким образом мне отследить точку в тексте?

    "Отследить" вы можете при помощи регулярного выражения. А затем, использовать замену на перенос строки (\n)
    Вот, пример - https://regex101.com/r/dJux7d/1
    Ответ написан
    Комментировать
  • Почему не работает ввод с консоли Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Проблема заключается в следующем:
    Вы сперва с вводите первое число и нажимаете на перевод строки (Enter).
    Когда вы нажимаете на перевод строки срабатывает ввод числа b, который и принимает собственно говоря знак перевода строки и так как он не является числом, то выбрасывается исключение.
    Чтобы этого не было:
    int c = Integer.parseInt(scanner.nextLine());
    Scanner.nextline();
    int b = Integer.parseInt(scanner.nextLine());

    И как отметил коллега - используйте nextInt() вместо nextLine()
    Вот, аналогичная проблема - https://stackoverflow.com/questions/13102045/scann...
    Ответ написан
    Комментировать
  • Разница между if else и try catch?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Стоит также обратить внимание на то, что есть try with resources, что позволяет после работы автоматически закрывать соединение и т.д. Т.е. все, что имплементирует интерфейс AutoClosable. Например, подключиться к БД, что-то сделать, а затем закрыть соединение. Как мимнимум в if else этого нет.
    С другой стороны try catch более тяжелый с точки зрения производительности.
    Ответ написан
    Комментировать
  • Как можно реализовать пагинацию в Java, в том случае, когда данные для фильтрации должны браться из двух разных микросервисов?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Согласен с коллегой. Возможно. вам стоит рассмотреть вопрос о слиянии микросервисов или же о создании доп. микросервиса, у которого будет доступ к базе и данные будут согласованы (сага паттерн вроде должен подойти)
    Ответ написан
    Комментировать
  • Где взять тексты сообщений и ошибок Java + Spring?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Ну во-первых, давайте не путать ошибки и исключения. Также не стоит путать их с http ошибками.
    Ошибка - StackOverflowError
    Исключение - NullPointerException, RuntimeException
    Подскажите пожалуйста, где можно взять список всех ошибок и сообщений для Java?

    Гиблое дело, ибо каждая либа может создавать свои кастомные исключения. Даже в Spring вы можете расширить класс RuntimeException и создать свое кастомное исключение.
    Одним списком вы не найдете. Будут куча разных списков в лучшем случае... на каждую либу / фреймворк. А найти их можно на оф. сайте либы
    Ответ написан
    Комментировать
  • Как добиться от ModelMapper-а, что бы он не обновлял аттрибуты entity-класса, которых нет в модели?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Попробуйте:
    modelMapper.getConfiguration().setPropertyCondition(Conditions.isNotNull());
    Ответ написан
    Комментировать
  • Как избавиться от No 'Access-Control-Allow-Origin' header is present on the requested resource?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Так там написано, что нет заголовка "Access-Control-Allow-Origin".
    Полезное чтиво - https://www.baeldung.com/spring-cors
    https://spring.io/guides/gs/rest-service-cors/
    Ответ написан
    Комментировать
  • Почему в некоторых вакансиях обязательным требованием является работа в IntelliJ IDEA?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Ну во-пераых, Netbeans уже устарел. В качестве альтернативы, если не устраивает Intellij iDEA можно взять Eclipse.
    Что касается лагов и т.д., то никогда не сталкивался с такой проблемой. Использую IDEA на стареньком core i5 4-th, 16 ram, 250 ssd. ОС - manjaro kde. Intellij IDEA намного функциональнее и удобнее всех IDE и редакторов кода, которые мне доводилось видеть. А пробовал я visual code studio (oss), intellij idea, netbeans, eclipse, sublime text, brackets, atom и т.д.
    Что касается работодателей, то по идее им должно быть все равно, где вы пишете код. Нравится, хардкодить в vim или nano, то ради Бога)
    Ответ написан
    Комментировать
  • Как правильно проверить массив данных оператором instanceof?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый вечер.
    Вот, аналогичный вопрос:
    https://stackoverflow.com/questions/12320429/java-...
    Ответ написан
    Комментировать
  • Как в WebClinet передать ArrayList?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Вот статья:
    https://www.baeldung.com/spring-webclient-json-list
    Обратите внимание на: ParameterizedTypeReference
    Ответ написан
    Комментировать
  • Как сделать rest контроллер для отправки сообщения от телеграмм бота?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Кстати, есть готовые либы, который позволяют удобно работать с телеграм ботом через Spring
    https://github.com/kshashov/spring-boot-starter-te...
    https://github.com/xabgesagtx/telegram-spring-boot...
    Ответ написан