• Как вернуть массив в обратном порядке?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день
    https://www.softwaretestinghelp.com/reverse-an-arr...

    public class Main
    {
        public static void main(String[] args) {
        Integer[] intArray = {10,20,30,40,50,60,70,80,90};
         
      //print array starting from first element
        System.out.println("Original Array:");
        for(int i=0;i<intArray.length;i++)
             System.out.print(intArray[i] + "  ");
         
        System.out.println();
         
        //print array starting from last element
        System.out.println("Original Array printed in reverse order:");
             for(int i=intArray.length-1;i>=0;i--)
             System.out.print(intArray[i] + "  ");
        }
    }
    Ответ написан
  • Почему при билде выдается ошибка?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Судя по данному ответу это баг Android Gradle Plugin
    https://stackoverflow.com/questions/52712063/build...
    Попробуйте сменить версию плагина
    Ответ написан
  • Не могу начать работать с данными полученные из Java Servlet в Ajax?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Как начать работать с данными полученными из сервлета через ajax , они не читаются, может что-то не то с кодировкой?

    Обратите внимание на то, что у вас проблемы с кодировкой. В первую очередь, если вытягиваемая информация хранится в БД, то посмотрите как она там хранится. Может быть, что данные сохраняются с другой кодировкой при сохранении в БД.

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

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Рекомендую серьезно изучить основы программирования и в частности программирование на Java. Разберитесь с такими понятиями, как динамическая и статическая типизация.
    Java является языком со статической типизацией. Это означает, что тип переменной объявляется в момент ее объявления. Также рекомендую прочитать про такие понятия. как явное и неявное приведение типов.
    Исходя из вышесказанного непонятно следующее:
    а если в porci2 попадается число с десятыми или сотыми, то приложение вылетает...

    Откуда прилетает число с десятыми и сотыми в переменную porci2 или input1 ?
    Подозреваю, что значения porci2 и input1 являются неким int или long значением, а извне вы присваиваете этим переменным вещественный тип чисел. Если так, то для этип переменных используйте тип double и это должно решить проблему.
    Ответ написан
    7 комментариев
  • Как сымитировать просмотр ссылки в приложении?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Подозреваю, что вы ищете это решение:
    https://stackoverflow.com/questions/4325639/androi...
    Если вкратце, то вам нужно выполнить javascript код, который подменит некий DOM элемент на странице
    Ответ написан
    Комментировать
  • Как сделать умножение числа из editTextr на другое число?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Для того, чтобы объективно ответить на ваш вопрос вы не предоставили ни сниппет кода, ни stacktrace. И это усложняет задачу, ибо непонятно с какой именно проблемой вы столкнулись и как ее побороть.
    Вроде бы прошел курс в SoloLearn

    Уж поверьте человеку, который игрался с этой программкой и "прошел" этот курс ради забавы, это абсолютно полный бред. Вы ничему из этого курса не научитесь. Если уж хотите изучить Java & Android из туториалов, то смотрите в сторону startandroid udemy javarush, платные курсы и др. Но скажу заранее, что в определенный момент вам в любом случае будет не хватать этих знаний и вам придется скачать книги и прочитать их.
    Г. Шилдт - Полное руководство Java (10-е издание)
    Java Head First и др.

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

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Как правило, чаще для джуна требуется знание таких технологий, фреймворков и библиотек, как:
    Spring, Play, Hibernate, Elastic, JDBC, Jakarta EE, основы работы с СУБД (postgres, mysql). Не будет лишним знание основ html, css, js, regex. Ну и смотрите, требования в вакансиях.
    В плане источников для обучения можно использовать: книги, туториалы и курсы. Курсы и туториалы нужно тщательно выбирать, но обязательно опираться на книги.
    Также для получения доп. опыта можно записаться в различные лабы и тренинги.
    Например, https://www.training.ru/#!/Training/2681?lang=ru
    Ответ написан
    Комментировать
  • Как создать в java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    1) как создать функцию в java которая будет вызываеться каждую секунду .

    Не совсем до конца понятно, что именно вы хотите сделать? Если вы хотите запланировать выполнение определенного скрипта, то можно например, использовать CRON (если на linux сервере), т.е. планировщик будет ежесекундно запускать ваш скрипт. Об этом речь? Если нет, то можно например, создать цикл внутри приложения, чтобы оно не закрывалось, а затем использовать различные библиотеки или даже ScheduledExecutorService из пакета java.concurrent для работы с schedule.
    Вот, список полезных ссылок:
    https://dzone.com/articles/schedulers-in-java-and-...
    https://stackoverflow.com/questions/7814089/how-to...
    https://leventov.medium.com/cronscheduler-a-reliab...

    2) как отправить запрос с java на файл в сервера. и получить содержимое файла

    Вот, тут https://www.baeldung.com/java-download-file есть наглядные примеры того, как это можно сделать. Все максимально хорошо расписано. Есть возможность применения сторонних библиотек и дефолтных классов.

    3) когда я создал программу и хочу ее запустить на 32 битном компьютере , как мне єто сделать?

    Нужно установить jre для 32 бит и там запустить ваше приложение.
    https://www.oracle.com/java/technologies/javase-jr...
    https://www.oracle.com/java/technologies/install-w...
    Для спринг приложений - https://habr.com/ru/post/193140/
    Ответ написан
  • DefaultBotSession.class?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    language-level - 14

    Это означает, что вам нужно в настройках проекта (ctrl + shift + alt + s) указать language level 14.
    И проверьте вашу версию Java. насколько я понял вам для работы с этой либой требуется 14 java
    начните с этого, а дальше уже посмотрим
    Ответ написан
  • Почему не создается бин jpaRepository?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Здравствуйте!
    Удалось ли вам решить проблему?
    Если нет, то поделюсь некоторыми мыслями, а вы уже продебажьте ваш код.
    Первый раз деплою. через идею все нормально отрабатывает, но при попытке задеплоить на vps выдает ошибку

    Если у вас локально отрабатывает корректно, а на VPS нет, то проверьте конфигурацию сервера. В вашем проекте на гитхаб application.yaml пустой и соответственно, непонятно что именно у вас прописано в конфигах для production. Если у вас есть профили, то проверьте установлен ли hibernate.ddl-auto: validate и если установлен, то импортировали ли вы ddl & dml на сервер. Или у вас он на production должен создать ddl сам?
    Как минимум, это первый момент на что стоит обратить внимание.

    Далее стоит уточнить деплоите ли вы приложение на внешний томкат или используете embedded?
    Далее попробуйте добавить такой класс в ваш проект:

    public class ServletInitializer extends SpringBootServletInitializer {
    
      @Override
      protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(App.class);
      }
    }


    Далее обратите внимание на то, как именно вы собираете build и что в него добавляете. Например, war exploded или war или jar. Есть ли все необходимые классы в нем и т.д.

    Если сборка происходит через Gradle, то используйте bootWar. В общем, нужно проводить дебаг и смотреть что не так
    Ответ написан
  • An internal error occurred while attempting to perform this command ошибка майнкрафт?

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

    java.lang.NoSuchMethodError: org.bukkit.inventory.Inventory.getTitle()Ljava/lang/String;

    Вот, тут ваша ошибка - не удалось найти метод getTitle()

    Вот, что выдает гугл:
    результат
    Вот, еще примерная ошибка тут - https://github.com/FabioZumbi12/RedProtect/issues/425
    В общем, откройте Issue в гитхаб (если у него репозиторий там) и обратитесь к разработчику
    Ответ написан
    Комментировать
  • Какие есть книги по Java core, для программиста?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Рауль-Габриэль Урма - Современный язык Java.
    Г. Шильдт - Полное руководство Java
    Рекомендую эти книги
    Ответ написан
    Комментировать
  • На каком языке CMS сайта будет работать быстрее?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Прежде всего стоит различать такие термины, как CMS, CMF и фреймворки.
    Раз к вашему вопросу добавлен тег Java, то скажу следующее - как правило, на Java CMS не пишут. Можно конечно же написать, но так как такие языки, как Java и C# ориентированы на Enterprise, то обычно на них пишут веб-приложения с использованием различных фреймворков под конкретную задачу. К тому же, если сравнить готовые CMS написанные на Java (например, HippoCMS) и на РНР (например, WordPress), то вы заметите, что деплоить приложения написанные на Java сложнее, чем на РНР. Опять же знаменитая 5-ти минутная установка WP на сервер намного легче. + важный момент заключается в том, что CMS системы написанные на РНР можно развернуть на любых shared хостингам, в то время, как для Java развертывания приложений вам нужно подготовить сервер (VPS или VDS), установить Tomcat или любой другой сервлет-контейнер. Или же деплоить приложение в облако - AWS, Heroku и др. Как минимум, это требует доп. знаний и опыта или же привлечения доп. специалиста - DevOPS.
    Соответственно, не лучшая идея писать CMS на компилируемых языках. Java, C#, Kotlin, Scala и т.д.
    Также многое зависит непосредственно от разработчика. Если вы лучше владеете ЯП - python, то конечно же вам будет легче и лучше писать на нем, нежели на Java.
    Также стоит учесть, что CMS подразумевает некую универсальность применения и соответственно, на CMS может быть много лишнего кода (функционала), который вам и не нужен, но при этом потребляет ресурсы сервера. Или например, CMS может быть подточен на реализацию определенной цели. Например, на блог (как в случае с ВП), но при этом владельцу сайта может понадобится и интернет-магазин или еще что-нибудь. Довольно часто, из-за подобной универсальности приходится жертвовать архитектурой приложения, что непосредственно сказывается на быстродействии. Для наглядности - WP. Там в одной таблице wp_posts могут храниться различные данные (от записей и страниц, вплоть до товаров и объявлений и сообщений форума), хотя по факту каждый из них является отдельной сущностью.
    Также при разработке CMS систем предпочтение я бы отдавал интерпретируемым языкам и также учел бы их распространенность на хостингах. Тут опять-таки преимущество имеет РНР.
    Ответ написан
    Комментировать
  • Как сделать кастомную страницу с товаром в елементор?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Честно, не понимаю прикола делать интернет-магазин на CMS без плагинов. Если хотите написать что-то с нуля, то как по мне используйте фреймворк. Например, Yii2, Laravel и др.
    Ну а если выбрали WP, то тут полегче - Woocommerce.
    Рано или поздно вы столкнетесь с тем, что нужного функционала вам будет недостаточно и вы будете писать и писать код, заново изобретая велосипед. А вы еще и используете для этого Elementor)
    Мой совет - переходите на WC. А если нужен просто каталог (без корзины и оплаты), то можно установить плагин Yii Catalog Mode и все
    Ответ написан
    Комментировать
  • Как наложить png изображения друг на друга в java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Не совсем вижу вашу конечную цель, но вот некоторые мысли по реализации вашей задачи:

    Пишу клиент-серверное приложение (браузерная игра) в команде.

    Если это браузерная игра, то скорее всего вам нужно будет генерировать гербы на клиенте. Т.е. отрисовка на canvas.
    https://www.w3schools.com/graphics/canvas_images.asp
    Наберите в гугл - html javascript canvas image

    Если вы хотите сформировать картинку на сервере, то попробуйте:
    www.java2s.com/Tutorials/Java/Graphics_How_to/Imag...
    https://www.baeldung.com/java-images
    Ответ написан
    Комментировать
  • В каком файле хранятся поля acf? В Админке нету такой вкладки, поэтому в каком файле хранятся поля acf?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    У меня в wordpress нету вкладки Группа полей.

    Поищите еще название на английском - Custom Fields, если его тоже нет, то плагин отключен
    Но сам acf на сайте работает.

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

    Мне нужно посмотреть сами поля, в каком файле и в какой папке хранятся эти поля на сервере? Может в wp-admin?

    Не там и не там и точно не в wp-admin. Они хранятся в базе данных сайта. По факту acf это кастомные мета данные. Соответственно, посмотрите в таблицы:
    wp_postmeta
    wp_usermeta и др. (в зависимости от того, куда эти поля были добавлены)
    Ответ написан
  • Фоновый импорт товаров из csv?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Попробуйте следующее:
    Wp ALL Import + Woocommerce Addon
    Далее там есть возможность создавать крон задачу и тем самым выполнять импорт в "фоне"
    Ответ написан
    1 комментарий
  • Парсинг (скрапинг) получение информации с сайтов, авторизация, инструменты, примеры?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Здравствуйте!
    Начнем с простого, когда контент сайта загружается без фреймворков. Соответственно, нет никаких аяксов, не нужно никуда скроллить, чтобы получить следующую страницу или кликать на кнопки и т.д. для получения материалов. Т.е. вам достаточно отправить GET запрос на некий сайт и получить данные.
    В этом случае для парсинга будет достаточно библиотеки jsoup. Либо для своей кастомной реализации используйте DOM & SAX Parser.

    Теперь, чуть усложним задачу сайт точно также формируется без фреймворков, но для получения доступа к информации нужна авторизация. Если тут используется какая-то простая авторизация, то достаточно будет единожды получить кукисы и при каждом запросе указывать на сервер. Также не забывайте про referrer & User-agent.

    Теперь, еще усложним задачу - контент формируется динамически (посредством js-фреймворков или аякс запроса и т.д.). В этом случае jsoup не поможет, так как для загрузки контента вам нужно прокликать на кнопку (Загрузить еще) или проскроллить вниз, чтобы тригернуть загрузку контента и т.д. Т.е. вам нужна некая интерактивность. Для этого стоит посмотреть в сторону Selenium + (любой браузер). В качестве браузера можно использовать - firefox, chromium и др. Для быстродействия желательно использовать headless браузеры.

    Усложняем задачу дальше. Понадобилось авторизоваться и решить некую капчу. В часности рекапчу. Тут скажу заранее, что я сам когда-то давно искал возможные пути обхода и самое простое решение - использовать платный сервис.
    Ссылка на сайт - https://anti-captcha.com/
    После ввода имени пользователя и пароля селениум триггерит клик на капче, а дальше данные пересылаем на сервер и получаем решение капчи.

    Усложним задачу еще больше - различные honeypot. Тут как говорится кто на что горазд. Все зависит от конкретного сайта и конкретной реализации (софта) honeypot. Некоторые могут заблокировать по ip, если запрос был произведен на несуществующий урл. Например, на сайте всего 100 страниц, а вы запросили 101 страницу и попались в ловушку. Или например, вы заполнили невидимое input поле, которое в норме пользователь не видит и соответственно, не заполняет.

    Идем дальше - если вам нужна некая интерактивность (т.е. пользователь сайта должен иметь возможность самостоятельно парсить сайт), то вам нужна клиентская часть написанная на javascript. Подобные онлайн-сервисы имеются. Наберите в гугл web scraping online и увидите различные сервисы. Как правило, они предлагают установить некое расширение, при клике на котором он получает доступ к элементам DOM, а далее уже можно при помощи селекторов (id, xpath, class ) определить что нужно спарсить. Определить тип навигации / пагинации (например, пагинация при помощи нумерации страниц или пагинация при помощи кнопки Далее и др.). Тут могут свои подводные камни. Например, некоторые сайты при достижении максимальной страницы могут выдавать ошибку (404), некоторые не выдают ошибку и лишь показывают контент заново. Иногда нужно проверять страницу на наличие пустоты на странице (на отсутствие элементов по селектору). Иногда нужно проверять страницу на наличие ошибки 404 и т.д. В общем, это уже работа фронтэндера.

    Некоторые динамически формируемые страницы могут подгружать контент при помощи json или xml. Соответственно, для парсинга некоторых сайтов можно обойтись без использования selenium. А лишь запросить материалы по их внутреннему API, а затем при помощи gson или jackson спарсить их.

    Одним из универсальных инструментов парсинга, с которым мне приходилось сталкиваться была программа Visual Web Ripper. Стоит примерно 250-300 долларов. Программа подгружает контент сайта внутри себя через IE (может уже и обновили этот момент). А далее уже можно задавать условия парсинга и экспортировать данные.
    Ответ написан
    Комментировать
  • Что делать: ошибка в компиляции, связанная с Spring Data репозиторием (Не создаётся бин)?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    IllegalArgumentException: Validation failed for query for method findByBody(String body)

    Вот, краткий лог ошибки. Ошибка валидации метода.
    Могу предположить тут 2 проблемы:

    Вот, ваш код:
    public interface ExpressionRepository extends CrudRepository<ExpressionEntity, Long> {
    
        @Query("FROM ExpressionEntity WHERE ExpressionEntity.body = body")
        public Optional<ExpressionEntity> findByBody(String body);
    
    }


    Скорее всего должно быть так:
    SELECT e FROM ExpressionEntity e WHERE e.body = ?1
    Ответ написан
  • Из за чего может не работать плагин для слабовидящих в моей теме wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Что можно проверить/сделать?

    Нужно сделать дебаг. Покопайте в сторону выявления ошибок РНР или JS.
    Помню, когда-то давно этот плагин у меня на ВП не работал и я подключил его js версию. На гитхаб можно найти js версию скрипта
    Ответ написан
    Комментировать