Задать вопрос
  • Как перенести сайт с 1С-Битрикс на Wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Скорее всего найдутся плагины, которые могут ускорить процесс переноса.
    Но по своему опыту скажу, что я обычно делал это следующим образом
    - если нужно создать тему, то сохраняю сайт при помощи wget. Далее создаю тему используя php, html, css, js, jquery
    - если нужно перенести данные, то легче всего либо написать парсер на любом из языков (я писал на java + jsoup). Далее можно либо при помощи xlsx и плагина WP ALL Import импортировтаь данные. Либо можно используя библиотеку на java (https://github.com/Afrozaar/wp-api-v2-client-java/) напрямую импортировать через АПИ.
    Ответ написан
    Комментировать
  • Как привязать ошибки валидации к MessageSource?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Здравствуйте.

    Попробуйте добавить это:
    @PropertySource(value = {
            "classpath:i18n/messages.properties"
    }, encoding = "UTF-8")


    И создайте конфигурацию

    @Configuration
    public class I18nAutoConfiguration {
    
        @Bean
        public ReloadableResourceBundleMessageSource messageSource() {
            ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
            messageSource.setDefaultEncoding("UTF-8");
            messageSource.setCacheSeconds(3600);
            messageSource.setBasenames(
                    "classpath:i18n/messages");
            return messageSource;
        }
    
        @Bean
        public LocaleResolver localeResolver() {
            AcceptHeaderLocaleResolver localeResolver = new AcceptHeaderLocaleResolver();
            localeResolver.setDefaultLocale((Locale.forLanguageTag("en")));
            return localeResolver;
        }
    }


    Поменяйте конфиг под свои нужды. Это рабочий код.
    Ответ написан
    Комментировать
  • На чем писать Java Desktop приложение?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Если нужно Java и при этом Desktop, то рекомендую JavaFX + Spring
    Вот, библиотека, которую я использовал наряду с JavaFX для интеграции со Spring - https://github.com/rgielen/javafx-weaver
    Ответ написан
    Комментировать
  • Объясните, для чего в методе следующие строки?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Это называется named query. Когда вы расширяете интерфейс JpaRepository CrudRepository и др. то внутри нее есть названные методы, которые генерируют запросы к БД. İntellij IDEA может даже подсказать вам при создании named queries
    На основе сигнатуры метода генерируются запросы к БД
    Например, если в названии метода есть All (findAll), то по идее он может вернуть List Set Page и другие коллекции и контейнеры.
    Для того, чтобы он мог вернуть Page нужно в аргументе передать Pageable
    Ответ написан
    Комментировать
  • Как решить вопрос про соответствие Selenium и Google Chrome?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Есть такая библиотека:
    https://github.com/bonigarcia/webdrivermanager

    Чтобы вам не пришлось постоянно обновлять версию драйвера или же браузера можете ее использовать. Она сама скачает нужную драйвера под ваш браузер и запустит его
    Ответ написан
    Комментировать
  • Как спарсить данные с помощью 2Captcha и SpringBoot?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Здравствуйте.
    Кстати, есть готовый сервис для решения капчи - https://anti-captcha.com/
    Сам когда-то очень давно использовал...
    Ответ написан
    Комментировать
  • Почему поле @CreationTimestamp в Entity после save = null?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    А вы добавляли аннотацию:
    `@EnableJpaAuditing` на уровне основного метода
    `@EntityListeners(AuditingEntityListener.class)` а на уровне `@Entity`
    Ответ написан
    Комментировать
  • Какой ЯП лучше использовать для моей идеи?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    В первую очередь выбирать стоит то, чем вы владеете.
    Что касается разработки на Java, то можете посмотреть в сторону JavaFX.
    Можно также например, взять ElectronJS и разработать на JS
    С# конкретно под виндовс тоже будет нелишним.
    Ну и в конце концов язык Go.
    Ответ написан
    Комментировать
  • Какие есть хорошие ресурсы для изучения Docker для Golang?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Не думаю, что вы найдете что-то конкретное. Но вы можете воспользоваться AI для этого.
    Руководствуйтесь принципом - 1 контейнер - 1 сервис. Допустим, если у вас одно монолитное приложение и БД, то это 2 отдельных контейнера. Если у вас микросервисная архитектура, то каждый микросервис это один отдельный контейнер
    Ответ написан
    1 комментарий
  • Как именовать два метода один из которых выбрасывает исключение?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Тут можно по-разному поступить. Вот, как это делаю я:

    Способ 1: название методов get* & find*
    User getUserById(Long id) {
    	return userRepository.getReferenceById(id);
    }
    
    Optional<User> findUserById(Long id) {
    	return userRepository.findById(id)
    		.orElseThrow(() -> new NotFoundException());
    }


    Способ 2 - я вообще из сервисов не возвращаю Optional никогда. Ведь, по сути если вы будете этот слой сервиса использовать в другом сервисе, то скорее всего вам понадобится сама сущность, а не Optional, а если данной сущности нет, то какой смысл дальше его сеттить, а значит нужно выбросить исключение. Обратите внимание, что второй метод возвращает DTO
    User findById(Long id) {
    	return userRepository.findById(id)
    			.orElseThrow(() -> new NotFoundException());
    }
    
    UserDTO findUserById(Long id) {
    	return userMapper.toDTO(findById(Long id));
    }


    Способ 3: Если не хотите, чтобы исключение выбрасывалось например.
    Допустим, у вас первый сервисный слой PostService вызывает второй AuthorService, чтобы выполнить findById и засеттить его значение к записи. Если вы выполните это на уровне сервисов, то исключение будет брошено. Но можно сделать это на уровне мапперов и в случае отсутствия записи засеттить null. Если память не изменяет, такое работает в MapStruct с NullValuePropertyMappingStrategy

    Cпособ 4
    Создаю 2 метода. Первый возвращает сущность или выбрасывает исключение, а второй возвращает сущность или нулл
    Ответ написан
  • Возможно ли связывание сущностей через интерфейс в Spring JPA?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Добрый день
    Важный момент почему вы решили использовать интерфейс для связки сущностей?
    Вы например, можете создать абстрактный класс и расширить его классами Dog, Cat и т.д.
    Т.е. создаете абстрактный класс Animal. (Обратите внимание на `@Inheritance` )
    А дальше расширяете этот класс другими классами. Ну и связываете Animal с нужными сущностями
    https://www.baeldung.com/hibernate-inheritance
    Ответ написан
  • Как установить Claude desktop app на Windows через прокси?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день.
    Я конечно не эксперт в этом, но вот, быстрый поиск дал следующий результат
    https://belapan.by/it/claude-desktop-app-windows
    Можете попробовать и отписаться потом
    Ответ написан
    1 комментарий
  • Как реализовать выбор и подтягивание данных на форму?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Вам нужно использовать jQuery + ajax. Передаете id из первого выбранного поля в бэк. Получаете нужные значения в виде json либо html. Делаете append на странице.
    Ответ написан
    Комментировать
  • Когда лучше использовать cms?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день.
    На самом деле все зависит от ваших навыков, от ТЗ, от бюджета и т.д.
    Может быть заказ, когда вам нужно будет работать не с CMS, a CMF или даже Framework-ом.
    Если человеку нужна динамика и возможность изменять части лендинга, то можете и на CMS натянуть. Я обычно, после верстки подключал WordPress. Это довольно быстро и легко настраивать.
    Ответ написан
    Комментировать
  • Как правильно устанавливать связи в Java Spring между Entity?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    С одной стороны, использование ORM фреймворков упрощает разработку. Но я замечал, что некоторые разработчики работая в рамках ORM напрочь не изучают SQL и конечно же это плохо.
    Hibernate хорош с тем, что упрощает разработку, но иногда его необдуманное применение может привести к проблемам. Например, каскады. Честно говоря, работать с jdbc template, тоже не то. Я бы выбрал бы jooq.
    Кстати, если у вас есть операция с балансом, то надеюсь, что вы используете BigDecimal, а не double или float. Если что погуглите Bigdecimal vs double high precision

    Chapter - крупный раздел, например "Жилье", которое содержит категории.
    Category - соответственно сами категории, продолжая пример - "Свет", "Газ", "Вода".

    В терминологии ВП, chapter - taxonomy, а категория остается как есть.

    Я бы рекомендовал прочитать статьи в блоге Влада Михалки. https://vladmihalcea.com/
    А еще у него в гите есть примеры на relation-ы. Вдруг, тоже будет полезно

    https://github.com/vladmihalcea/high-performance-j...
    Ответ написан
  • Возможно ли подключить PostgreSQL к Wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день.
    Во-первых, нужно ли переводить ВП на PG и что это вам даст?
    Во-вторых, могу с уверенностью, сказать, что мускул неплохо справляется с большим количеством данных.
    В-третьих, помню был какой-то плагин, который логировал запросы в БД и можно было смотреть, где происходит просадка. Ну или это можно сделать на стороне БД.
    В-четвертых, можно проверить все ли индексы построены и на каких именно операциях происходит просадка. Например, если у вас поиск работает тяжело, то можно глянуть в сторону ElasticSearch.
    В-пятых, про кеш не забываем. Взять тот же редис например
    Ну и в конце, можно перекинуть данные в Постгрес и глянуть, как он работает на тех же запросах...
    Ответ написан
    Комментировать
  • Что выбрать для отложенного запуска тасок?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день. Я бы выбрал бы CRON
    Если это Spring, то можете глянуть на ScheduledExecutorService или на @Scheduled
    Ответ написан
    Комментировать
  • Как открыть несколько профилей с помощью Selenium WebDriver?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый вечер.
    Вот, ответ на ваш вопрос на пайтон - https://stackoverflow.com/questions/66806112/open-...

    Вот, на C# - https://sqa.stackexchange.com/questions/35542/can-...

    В принципе, можно эту идею перенять и на Java
    Ответ написан
    1 комментарий
  • Как получать Webhooks в Java, какие статьи нужно прочитать?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Вот, как это сделать на Spring Boot - https://www.youtube.com/watch?v=tshKOgRLYn0
    Статья по этой же теме
    https://medium.com/@reetesh043/webhooks-for-beginn...

    Вам на спринг или на pure Java?
    Результаты из Google
    Ответ написан
    Комментировать
  • Какие есть Телеграм боты для сокращения ссылок?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день.
    Я можно сказать, что не использую сокращатели ссылок, но вот, небольшой список сервисов взятых с реддит.
    Может быть, вы найдете что-нибудь полезное среди них для себя.

    https://t.me/ShortUrlFreeBot
    https://t.me/TinyUrlCreatorBot
    https://t.me/UrlShortenerFreeBot
    https://t.me/GooShortenerBot
    https://t.me/GoogleShortenerBot
    Ответ написан
    Комментировать