Задать вопрос
  • Возможно ли работать с 3d графикой Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приветствую!
    Да, можно.
    Можно сделать, как Василий Банников предлагает через OpenGL.
    А можно использовать игровые движки и фреймворки
    https://www.lwjgl.org/
    https://libgdx.badlogicgames.com/

    Например, библиотека VTM использует вышеперечисленные библиотеки для отрисовки карты в 3d
    https://github.com/opensciencemap/vtm
    Ответ написан
    Комментировать
  • Как обработать следующие исключения?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    В голову сразу приходит несколько вариантов решения задачи:
    1) Использовать Pattern и регулярку, чтобы введенные данные были корректными. Условно говоря пользователь для ФИО может ввести только буквенные символы, а для даты рождения только цифры.
    Пример, реализации подобной задачи можете посмотреть по ссылке:
    https://javatutorialhq.com/java/util/scanner-class...
    Подходит ли вам такое решение?
    Ответ написан
  • Java Spring MVC не видит представления, почему (Inteliji Idea)?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приветствую, коллега!
    Я посмотрел ваш репозиторий и могу предположить следующие причины того, почему вам не удается использовать thymeleaf.
    1) У вас 2 модуля и оба модуля являются war. Соответственно, можно предположить, что вы запускаете первый модуль (firstapp), вместо второго (MVCFirstApp). А шаблонизатор thymeleaf у вас подключен во втором модуле.
    Таким образом вам нужно запустить второй модуль через Tomcat. А также рекомендую прочитать про модули maven, чтобы понять как они устроены и как работают. Например, в родительском pom.xml нужно указать packaging - pom, для модулей, которые являются библиотекой - jar, ну и для основного модуля, который содержит файлы запуска приложения - указать war или jar в зависимости от того, что вам нужно.

    2) Вторая причина того, почему вы не можете открыть страницу может заключаться в контроллере. Возможно, что вы пытаетесь открыть шаблон через базовый URL (/), а метод, для которого назначен шаблон - /hello-world
    Сниппет вашего кода?:
    @Controller
    @RequestMapping("/")
    public class HelloController {
    
        @GetMapping("/hello-world")
        public String sayHello() {
            return "hello_world";
        }
    }


    Таким образом, исходя из текущего проекта, вам достаточно запустить второй модуль через томкат и открыть урл /hello-world, чтобы открыть нужный шаблон
    Ответ написан
  • Почему пишет No suitable driver?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приветствую, коллега!
    Если не ошибаюсь, то это уже чуть ли не 5-й аккаунт, с которого вы задаете однообразные вопросы. Один из ваших аккаунтов уже администрация заблокировала.

    Мои рекомендации на то, чтобы вы изучили основы программирования, ООП, основы Java разработки, видимо, тоже были проигнорированы.

    Поймите меня правильно, сперва стоит изучить основы программирования, а потом уже лезть в android разработку.
    К слову, вот все ваши аккаунты, с которых вы СПАМите QnA.
    https://qna.habr.com/user/Alik_Kolizeev
    https://qna.habr.com/user/Java_Python
    https://qna.habr.com/user/xxxfdd
    https://qna.habr.com/user/new_year2021
    https://qna.habr.com/user/timyr_murmur

    Вот. однотипные вопросы с разных аккаунтов:
    Почему пишет No suitable driver?
    String SQL = "INSERT INTO gps_coordinat" + "(class) " + "VALUES" + "(" +  location.getLatitude() + ")";
                System.out.println("УСПЕХ");


    В чём заключается ошибка?
    String SQL = "INSERT INTO gps_coordinat (class)" + (GPS );


    Хочу зпомнить данные с моего андроид приложение в таблицу Postgresql но выдает ошибку в чём дело?
    String SQL = "INSERT INTO gps_coordinat" + "(class) " + "VALUES" + "(" +  location.getLatitude() + ")";

    Настоятельно рекомендую научится гуглить и читать информацию на русском или английском, прежде чем обращаться на сервис и задавать столь простые однообразные вопросы раз за разом

    Не могу вывести ошибку в своем аднрод приложении почему?
    catch (Exception e){
                System.out.print(e);
                tvLocationGPS.setText(e);
    Ответ написан
    Комментировать
  • Хочу зпомнить данные с моего андроид приложение в таблицу Postgresql но выдает ошибку в чём дело?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Скажу заранее это плохая идея.
    вам не нужно напрямую обращаться к БД из андроид.
    Для этого пишут бекенд (Rest сервис) и через api обращаются к бд
    Ответ написан
    1 комментарий
  • Как получать котировки акций на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Вот, простой пример совершения http запроса и парсинга данных из xml (DOM Parser) для валют
    https://github.com/azerphoenix/cbar-currency
    Котировки акций по такой же аналогии делаются
    Ответ написан
    Комментировать
  • Как настроить WebSecurityConfig правильно?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Приветствую!
    1)
    Хочу сделать чтоб вход на страницы админа /adminPageProduct /adminPageUser

    наверное, лучше сделать общий префикс для админ панели, что-то типа /admin/** и на этом уровне ограничивать доступ, чем перечислять каждую ссылку в настройках конфигурации. А урл делать следующей структуры:/admin/products /admin/users. Вам же в любом случае нужно закрыть доступ ко всей админке

    Мне кажется, что проблема у вас может быть тут:
    .antMatchers("/admin*")
    Других явных проблем не вижу, если все остальное настроено корректно
    Ответ написан
    Комментировать
  • Как передать значение с андроид приложения на сервер?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Первый вопрос: как с андроид приложения передать на сервер

    Если у вас появился подобный вопрос, то значит, что ваше приложение является клиент-серверным.
    В качестве клиента выступает - андроид устройство
    В качестве сервера - удаленное серверное ПО.
    Тут важный момент - у вас на данный момент как минимум нет серверной части. Т.е. REST приложение, которое работает на сервере и позволяет обращаться к его эндпоинтам (методам контроллера) для получения или передачи той или иной информации.
    Т.е вам нужно для начала создать это приложение. Если на java, то смотрите в сторону Jakarta EE, Spring, Play. Или любой другой фреймворк, который вам может подойти.
    Второй вопрос на какие сервера вообще можно предать значения?

    Чувствуется, что вы не владеете основами веба, иначе подобный вопрос не звучал бы. Передать значение можно на сервер, которым владеете / арендуете. Это может быть и облачное хранилище - AWS, Google Cloud, Heroku, а может быть какой-нибудь простенький VPS (например, hetzner.com за 3-4 евро в месяц).
    К слову, в качестве сервера, чтобы просто поиграться может выступать и ваш компьютер, который подключен к сети. Достаточно создать rest приложение и сделать его доступным миру. А может быть, вам и не нужен никакой сервер... например, если приложение для личного пользования и вам нужно с телефона просто передать данные, чтобы они оказались на компе, то как вариант можете использовать API Яндекс Диска или Гугл Диска. Закачиваете ваши данные туда, а далее на своем компьютере синхронизируете их.

    В общем, разные цели, разные реализации...
    Ответ написан
    Комментировать
  • Остается ли Java все еще актуальной для разработки под Андроид?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Хотите стать android разработчиком - изучите kotlin
    Будет огромным плюсом, если вы изучите Java, чтобы например, при изучении какой-либо библиотеки иметь представление о том, что в ней написано.
    Впрочем, вы в дальнейшем сможете переключиться с одного языка на другой, если что-то пойдет не так.

    Можно ли разрабатывать на Java android приложения? Да, можно.
    Ответ написан
    Комментировать
  • Мобильное приложение на базе Интернет магазина?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Хотелось бы создать приложение существующего интернет магазина, не переделывая и не переписывая с нуля сайт.

    Дописывать придется в любом случае. Вопрос в каком объеме. А вот, переделкой сайта можно и не заниматься.
    Хотя, скорее всего чуть переделать тоже нужно будет. Например, добавление jwt auth в существующий секьюрити и т.д.

    Можно поступить по-разному:
    1) PWA на javascript. Это самое быстрое решение, которое вы найдете. + адаптировать UI сайта под моб. устройства.
    2) Написать REST сервис для интернет-магазина (не переписывая текущий функционал) ну а дальше поднять нативное или ненативное приложение под моб. устройства. Если хотите охватить больше моб. устройства (android, iOS), то REST + React Native (javascript). А если принципиально нужно нативное приложение в чем скорее всего нет надобности с учетом вашей задачи, то java, kotlin.

    Переписывать весь Framework с нуля на другом языке вариант отпадает.

    Не вижу необходимости. Можно конечно взять какой-нибудь MERN + React Native, чтобы все было на одном языке, но нет надобности.
    Ответ написан
    4 комментария
  • Как встроить скрипт в WebView-Android?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Как добавить js в WebView при этом не беспокоя сайт, чтобы ничего не сломалось

    Скорее всего вам известно, что js код отрабатывает на клиенте, так что если код написать корректно, то ничего не должно сломаться

    Если добавлять через web.loadUrl("javascript:****"); - это не то и при этом страница Гугла ломается (перестают отображаться все приложения Гугла).

    Значит, в вашем js коде есть проблемы или же он подключается не в нужный момент. Например, скрипт должен сработать после DOM Content loaded

    https://stackoverflow.com/questions/8533187/add-ja...
    https://developer.android.com/guide/webapps/webview
    Ответ написан
    Комментировать
  • Как разделять пользователей после авторизации?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Я прикрутил простую регистрацию на SQLite. У каждого пользователя свой id.

    Регистрацию реализовали, а вот, авторизацию и аутентификацию забыли реализовать видимо. Иначе у вас не было бы вопроса:
    Я не знаю, как получить id пользователя, который сейчас авторизован


    Подходит для этих целей SQLite?

    БД не имеет никакой роли для этого.

    На самом деле ваш вопрос не совсем понятен. Является ли приложение клиент-серверным? Если да, то реализовано ли на сервере jwt auth?
    Если я правильно понимаю, то у вас есть приложение, в котором пользователь может создавать несколько аккаунтов. И в зависимости от того, какой аккаунт он использует в конкретный момент вы хотите создавать посты от имени текущего юзера. Т.е. это не клиент-серверное приложение, а приложение в котором есть локальная регистрация нескольких аккаунтов, так?

    Прочитайте вот, эту статью - https://developer.android.com/training/id-auth
    Возможно, она будет полезной для вас
    Ответ написан
    1 комментарий
  • Настройки постоянных ссылок для кулинарного сайта?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Не являюсь СЕО специалистом, но для сео специалистов приходилось ссылки настраивать.
    Вот, примерно такой структуры: site.ru/category/post_name
    - без указания расширения страницы html
    - без слеш в конце
    - с включением в урл названия категории
    Ответ написан
    Комментировать
  • Как можно заменить attributes в path, используя (или нет) regex?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Думаю, что вся картина текущей ситуации вам лучше известна, нежели мне. Но!
    Или это сочетание может быть внутри другого (ограничить условие поиска наличием слэшей нельзя, т.к. аттрибут может быть в конце uri.

    Почему бы не написать регулярное выражение, которое может или наоборот не может содержать слеш в конце?
    Посмотрите на эти ссылки. Возможно, что они наведут вас на мысль
    https://stackoverflow.com/questions/23046572/regex...
    https://stackoverflow.com/questions/19132133/regex...
    https://stackoverflow.com/questions/34733751/regex...

    Или например, проверять местонахождение атрибута и если он в конце, то игнорировать наличие slash в конце, а во всех остальных случаях ограничивать слешем.

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

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Какой компонент выбрать для крутой и быстрой многофункциональной соц. сети из Вордпресс?

    Поддержу своего коллегу Олег и отмечу, что на ВП поднять нормальную соц. сеть невозможно, так как он не предназначен для этого.
    Да, плагины имеются - WP Recall (посмотрите также его дополнения), Ultimate Member.

    А если есть серьезные намерения и бюджет позволяет, то как минимум посмотрите в сторону фреймворков (Yii2, laravel, Symfony, Spring, Django, ExpressJS и другие). Либо самопис.

    Если нужна именно CMS, то можете посмотреть LiveStreet
    livestreet.ru
    Вроде этот CMS еще живой... ну и подточен под соц. сеть лучше, чем ВП, наверное...
    Ответ написан
  • Как построить логику приложения?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Можно по-разному реализовать вашу задачу. Если никаких ограничений нет, то можете посмотреть в сторону:
    1) использовать 2 массива. Первый char[], а второй int[]. Далее как вы и упомянули по индексу достаете нужное значение.
    2) Либо использовать Map. Например, ее реализацию HashMap.
    3) Либо например, в пакете apache commons lang3 есть объект Pair. И можно использовать что-то типа List<Pair<Character, Integer>>.

    В любом случае все будет сводится к следующему:
    - получаете слово (строку) разбиваете его на characters.
    - объявляете переменную int, в которой будут суммироваться значения букв
    - далее в зависимости от выбранного массива или коллекции итерируете по нему и при совпадении буквы получаете ее числовое значение и прибавляете к вышеобъявленной переменной.

    Примерно как-то так
    Ответ написан
  • Wordpress: как правильно реализовать древовидную группу записей?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    url вида site.ru/{categoty}/{title}.html/param1/param2/.../paramN/ (тупо, конечно, после .html ставить что-то дальше, но get параметры для сео плохо).

    В вашем примере вы показываете пример с pathVariable, который к тому же некорректно построен.
    Смотрите можно делать как pathVariable
    site.ru/{categoty}/param1/param2/.../paramN/{title}.html

    а можно сделать через queryParam (requestParam)
    site.ru/{category}/title.html?param1=xxx&param2=yyy&param3=zzz

    Как по мне второй вариант предпочтительнее с точки зрения разработки. + не нужно ничего править в apache + nginx.
    Не все то, что плохо с точки зрения SEO является плохим с точки зрения разработки.

    Не думаю, что лучшей идеей является включение динамически изменяемых параметров в структуру pathVariable. Ведь, по факту тогда вы получите кучу ссылок да еще и с неуникальным контентом. И вот, это как раз плохо скажется на СЕО. Хотя, я не специалист в СЕО...
    Ответ написан
    Комментировать
  • Как вынести конфиг из Spring приложения(внешний настраевыемый)?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Ответ легко находится поисковиком.
    Вот, полезная статья - https://www.baeldung.com/spring-properties-file-ou...

    Пути по которым Спринг по умолчанию ищет файлы конфигурации:
    A /config subdirectory of the current directory
        The current directory
        A classpath /config package
        The classpath root


    Вот, похожий вопрос на SO
    https://stackoverflow.com/questions/26744060/exclu...
    Ответ написан
    Комментировать
  • Как сделать поиск по айди в банковской карте?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Простое решение -
    1) собрать все UserCard в коллекцию. Например, List<UserCard>
    2) При помощи сканнера получить id карты, а далее прогнать его через цикл List<UserCard>
    UserCard uc : userCardList
    3) при совпадении вывести результат
    Ответ написан
    1 комментарий