Ответы пользователя по тегу Java
  • Как сделать infinite scroll в thymeleaf?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    thymeleaf ни причем.
    1) используйте какую-нибудь библиотеку для аякс пагинации (будь-то infinite scroll или load more и др.).
    Например, https://infinite-scroll.com/
    https://www.sitepoint.com/jquery-infinite-scrollin...
    https://github.com/brianmario/jquery-infinite-scroll
    2) далее реализуйте RestController, который выдает контент в json. Задействуйте Pageable для реализации пагинации
    3) По достижению области видимости контента отправляйте аякс запрос и инкрементируйте pageable чтобы получить следующую страницу.
    Ответ написан
    Комментировать
  • "Скрипт" для загрузки файлов на сайт с помощью Java?

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

    Selenium + любой браузер (chromium, firefox) + drive для этого браузера.
    Запускаете браузера в headless режиме и производите все что нужно (загрузить файлы и т.д.).
    Если нужно регулярно выполнять задачу, то добавьте системный процесс.
    Но на мой взгляд в вашем случае скриптовым язык будет лучше реализовать подобное. А-ля js, python.
    Ответ написан
    2 комментария
  • Roadmap по изучению java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    1) Изучите основы java разработки. Книги - Б. Эккель - Философия Java, Г. Шилдт - Java 8. Полное руководство.
    2) Научитесь писать код. Можете начать с изучения простых библиотек и написания простых проектов. Например, jsoup (напишите парсеры). Изучите javafx
    3) Когда определитесь с направлением (Enterprise, Android etc.) начинайте развиваться в нужном направлении. Для Enterprise можете начать изучение с Java EE & Spring, Hibernate и др.
    Помните, что знаний только Java недостаточно. Изучите также языки разметки и т.д. Например, html, css, xml, sql, regex и т.д.
    В общем, как только научитесь хоть что-нибудь писать, пишите. Будете часто ошибаться, совершать ошибки и тогда научитесь дебажить ваш код, устранять ошибки и научитесь искать информацию на англ. языке (google, stackoverflow, mkyong, baeldung и др.)
    Ответ написан
  • На чем писать быстрые приложения под Desktop?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    высокоэффективные не тормозящие приложения

    на мой взгляд высокоэффективные и не тормозящие приложения не всегда пишутся быстро.

    На чем быстро написать? - Java (JavaFX или Spring + JavaFX), JavaScript (ElectonJS), Python.

    На чем написать высокоэффективные приложения? - тут зависит от разработчика и используемого языка. C, C++, Delphi, Java, C#, Qt

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

    Убедительная просьба, не пишите десктоп на рнр. Лично на мой взгляд это извращение))
    Ответ написан
    2 комментария
  • Как подключить OAuth2.0 в приложение на андроид?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Я думаю, что лучшей документации, чем оф. сайт API Google Drive вы не найдете.
    Вот, ссылки
    https://developers.google.com/drive/api/v3/about-sdk
    Вот, как работать с Java - https://developers.google.com/drive/api/v3/quickst...
    Ответ написан
    Комментировать
  • Как правильно подгружать ресурсы в Spring?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Еще простое решение -
    Создайте файл ApplicationProperties
    @Configuration
    @ConfigurationProperties(prefix = "application")
    public class AppProperties {
    
        @Getter
        @Setter
        private String baseUrl;
    
       
        @Getter
        @Setter
        private String uploadPath;
    
    }


    Добавьте нужные конфиги:
    application.base_url=http://localhost:7777
    application.upload_path=/home/admin/application.com/uploads

    Обратите внимание на названия параметров.
    Сперва в конфиге указываем префикс application (вы можете указать свой префикс).
    Далее base_url => baseUrl upload_path => uploadPath

    Далее в MyApplication (в точку входа приложения) добавьте аннотацию:

    @EnableConfigurationProperties({
            ApplicationProperties.class
    })
    public class MyApplication {
    }


    Теперь в любом компоненте Spring вы можете аутовайрить этот класс и при помощи геттеров получать нужные параметры.
    Вот, .пример:

    @Controller
    @RequiredArgsConstructor
    public class MyController {
    
    private final ApplicationProperties properties;
    
    // ... тут методы контроллера
    String uploadPath = properties.getUploadPath();
    //...
    
    }

    Источник - https://www.baeldung.com/properties-with-spring
    Ответ написан
    Комментировать
  • Что сейчас нужно в Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    От выбранного вами направления возможно, на основе ваших интересов, меньшей конкуренции и других факторов, будет зависеть то, какой язык программирования вы выучите и каким стеком технологий будете пользоваться. Я и сам сейчас изучаю Java, так что в первую очередь необходимо изучить синтаксис языка (неважно будь то python, java, ruby и т.д.) и обязательно изучить парадигмы (ООП, АОП, функциональное программирование и др.). Также обратите внимание на структуру данных, алгоритмы и паттерны проектирования.
    Java это в основном либо enterprise разработка, либо мобильная разработка (java, kotlin). Знание одного ЯП недостаточно, так как вам нужно уметь обращаться с БД, а значит нужно уметь работать с SQL (MySQL, PostgreSQL, H2, Derby, MsSQL, Oracle и т.д.) и NoSQL (MongoDB). Если речь идет о вебе, то иметь представление об html 5, css 3, JavaScript & TypeScript (jquery, какой-нибудь фрейм - Angular, ReactJS, VueJS). Ну и конечно же фреймворки на Java (Spring, Play и др.).
    Я например, по мере изучения пишу пет-проекты или беру небольшие заказы на фриланс-биржах (парсеры, небольшие приложение с GUI, веб-приложения на Spring, REST сервисы и т.д.). Надо также ориентироваться на вакансии.
    Ответ написан
    Комментировать
  • Как импортировать класс в класс Main?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    также как и производится импорт в другие классы.

    package info.md7.java;
    
    import java.util.Scanner;  //<< Вот тут директива импорта
    
    public class Main {
    
        public static void main(String[] args) {
    
            Scanner sc = new Scanner(System.in);
    }
    }
    Ответ написан
    1 комментарий
  • Использование Android Studio в качестве среды разработки для изучения Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Вы удивитесь, но Android Studio и есть то самый Intellij IDEA Community Edition. Так что вы можете спокойно разрабатывать приложения на Java в этом IDE. Можно даже наоборот в Intellij IDEA разрабатывать android приложения. Просто в Android Studio от Google встроены дополнительные плюшки типа Firebase и т.д.
    Впрочем, писать Java код можно на чем угодно начиная с vim вплоть до Intellij IDEA, Sublime Text 3 (Javatar), VSCode и т.д.

    И, если можно исп. Android Studio, то какой новый проект там нужно выбрать?

    https://stackoverflow.com/questions/16626810/can-a...
    https://stackoverflow.com/questions/28957283/andro...

    Как по мне в будущем все-таки лучше установить Intellij IDEA, чтобы было удобное меню создания проекта при старте программы.
    5ef5b59f54498464210415.png
    Ответ написан
    Комментировать
  • Что нужно изучать после Java SE в моем случае?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Для начала понять, чем вы хотите заниматься android разработкой или enterprise.
    Если enterprise, то изучить Java EE (Jakarta EE), Spring, Play и т.д. А также все возможные другие стеки технологий.
    А если android разработка, то изучите Android API, а также изучите язык Kotlin.
    Не лишним будет изучение паттернов проектирования, алгоритмов и структуры данных
    Ответ написан
    7 комментариев
  • Почему при миграции БД через flyway sequence не обновляется?

    azerphoenix
    @azerphoenix Автор вопроса, куратор тега Java
    Java Software Engineer
    Найдено решение - Ссылка
    Ответ написан
    Комментировать
  • Как получить доступ к ENUM, который внутри класса?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Ну я вижу тут 2 варианта:
    1)
    Student student = new Student();
    
    // Student.ChildrenElements.COURSE;
    // Например
    String enumStr = Student.ChildrenElements.COURSE.toString();
    int enumOrdinal = Student.ChildrenElements.COURSE.ordinal();

    2) Либо рефлексия
    Ответ написан
    Комментировать
  • Какой уровень владения языком Java нужен в данном случае( вся инфа внутри)?

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

    1) прочитать исходники игры

    Во-первых, не факт, что вы найдете проект с открытым исходным кодом. Особенно платные вероятнее всего будут продаваться в собранном виде а значит, вам нужно будет изучить не просто разработку на Java, Но также реверс-инженеринг.
    Когда говорят, что игра написана на Java, но вполне возможно, что на помимо языка она также была написана на движке. Например, jMonkey, LibGDX и др. Соотвественно, вам нужно изучить один из этих движкой / фреймворков, чтобы понять как вообще работают игры.

    Как вам и сказали прочитать исходник это одно. Разобраться с тем, что и как работает - это другое.

    2) что то исправить для функционала в игре

    Тут опять-таки если есть опенсорс, то все ок. А если закрытый код, то реверс-индеенеринг и т.д.


    3) запустить свою переделанную сборку.

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

    Ваши шаги - забить пока что на эту игру и изучить разработку на Java, разработку игры на Java, движки и фреймворки. А далее яснее станет.
    Ответ написан
    Комментировать
  • Как распристь локальную ссылку на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Doc = Jsoup.connect(URL) не получилось.

    Так а вы после того, как законнектились распарсили документ?

    public class Main {
    	
    
    	public static void main (String ... args) {
    
    		Document doc = null;
    		String url = "http://178.128.242.32/test";
    		try {
                doc = Jsoup.connect(url).get();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            Element textElem = doc.selectFirst("body");
            String text = textElem.text();
    System.out.println(text);
    	}
    
    
    }
    Ответ написан
    8 комментариев
  • Как создать приватный метод Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Не понимаю, как создать приватный метод в Eclipse

    Причем тут IDE (Eclipse, Intellij IDEA и др.)
    Модификатор доступа к классу или методу добавляется следующим образом
    private void someMethod();
    Ответ написан
    3 комментария
  • Можно ли получать данные из бд (joomla) в приложении?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    И тут подумал может можно будет получать данные из БД.

    Не стоит работать с данными из БД напрямую.
    Посмотрите в сторону работы с REST API Joomla. Наверняка, есть у Joomla REST API.
    Я работал с WordPress на java. И там есть уже готовые библиотеки для работы с REST.

    P.S. API - https://api.joomla.org/
    https://extensions.joomla.org/extension/rest-api/

    А дальше на андроид используя okhttp работайте с REST'ом
    Ответ написан
    2 комментария
  • Как вывести определенное количество значений th:each - thymeleaf?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    но столкнулся с тем, что оно мне лупит все 500 записей

    Вы либо реализуйте пагинацию и соответственно, кол-во выводимых записей укажите там
    https://www.baeldung.com/spring-data-jpa-paginatio...
    Либо заранее получите в контроллере нужное количество List<News>.
    Имеется ввиде, что на уровне репозитория можете сделать limit - https://www.baeldung.com/jpa-limit-query-results

    Более того создает каждый блок снова и снова, вместо того, чтобы заполнить выведенные ему места. кидаю код

    Это потому, что вы одну и ту же новость выводите каждый раз в блоках.
    Вот, ваш цикл:
    th:each="news : ${newses}"
    И каждый раз вы выводите одну и ту же новость в одной итерации
    th:href="${news.getLink()}"
    А чтобы вывести подобный блок с учетом дизайна можно сделать следующее...
    Для каждой n-й записи применяем CSS стиль или добавляем нужный html, чтобы вывести ее слева с картинкой.
    Чтобы получить индекс записи используйте итератор
    th:each="news, iter : ${newses}"
    Ответ написан
    Комментировать
  • Не обнаруживается метод Main в java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    В одном java файле могут быть несколько классов, но один из них должен быть публичным. Класс, в котором вызывается статичный публичный метод main должен быть публичным
    Ответ написан
    1 комментарий
  • При запуске кода в Idea не показывает Русские символы.Что делать?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Введите к терминале
    echo $LANG
    или
    echo $LC_CTYPE
    увидите такой вывод:
    ru_RU.UTF-8
    Консоль линукса по умолчанию использует utf-8.
    Используйте utf-8

    Если вам нужен cp1251, то перключитесь на нее. Не скажу есть ли команда для этого, а вот конфиги можно отредактировать
    sudo nano /var/lib/locales/supported.d/local
    замените кодировку тут.... Как по мне лучше исопльзовать Utf8
    Ответ написан
    Комментировать