Задать вопрос
  • Как отобразить блок в товаре из определенной категории?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Вот, ссылка на статью - https://rudrastyh.com/woocommerce/if-product-in-ca...
    Вам нужно проверить принадлежит ли этот товар к категории Х
    Ответ написан
    2 комментария
  • Как String преобразовать в Date БЕЗ изменения формата?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Если вы хотите, чтобы структура совпадала с вашей строкой, то используйте LocalDate вместо Date
    подробная информация - https://metanit.com/java/tutorial/12.3.php
    Ответ написан
  • При Запуске Chrome Driver на IntelliJ проект maven Win 10 он открывается и сразу закрывается. Exit code 1?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Если прочитать логи, которые вы выложили, то увидите такую строку:
    This version of ChromeDriver only supports Chrome version 89

    Драйвер хрома не поддерживает эту версию хрома. Смените либо драйвер, либо браузер на более раннюю версию
    Ответ написан
    Комментировать
  • Проверка доступа к ресурсу?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте,
    Писать код не буду, так как вы должны научиться. Но принцип я написал ниже
    Вызываете метод getUser() и передаете в него логин и пароль пользователя. Метод возвращает User
    Методу validateUser() передаем нашего юзера полученного из первого метода.
    Ответ написан
    5 комментариев
  • Необходимо разработать иерархию работников библиотеки?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Создайте несколько интерфейсов.
    Например, iReader, iLibrarian, iSupplier и iAdministrator. (Названия даны лишь для наглядности. Желательно придерживаться Java naming convention)

    Далее для каждого интерфейса опишите методы.
    Например, для iReader -
    // сигнатуры методов могут отличаться
    takeBook(); // взять книгу
    returnBook(); // вернуть книгу


    Для iLibrarian
    orderBook(); // заказать книгу

    Для iSupplier
    bringBook(); // принести книгу

    Для iAdministrator
    findBook(); // найти книгу
    overdueNotification(User reader); // уведомить о времени возврата


    Дальше вам нужны реализации этих интерфейсов.
    Reader implements iReader
    Librarian implements iLibrarian
    Supplier implements iSupplier
    Admin implements iAdministrator


    В общем, имплементируем интерфейсы и реализуем эти интерфейсы.

    Если например, Admin может не только уведомлять пользователей об истечении срока возврата, но также читать книги, то Admin implements iAdministrator, iReader имплементируем нужный интерфейс тоже.

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

    Это простая задача на ООП. Возможно. что названия классов и интерфейсов можно оформить еще красивее, но я на скорую руку сделал, чтобы показать вам саму идею.

    Также можно например, Всех этих юзеров наследовать от объекта User.
    Т.е.
    Reader extends User implements iReader

    А в интерфейсах например, использовать generic type. Таким образом реализовать этот интерфейс смогут только классы расширяющие класс User.

    Например,
    interface iReader<T extends User>

    Тогда указанная выше строка будет выглядеть следующим образом:
    Reader extends User implements iReader<Reader>
    Ответ написан
    8 комментариев
  • Платформа для обучения сотрудиков, как лучше реализовать?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Добрый день!
    Никто не даст совета по поводу архитектуры сайта не зная полного технического задания.
    Для фронт-энда, если вы планируете использовать фреймворк попроще, то можете выбрать VueJS
    Готовые бесплатные шаблоны есть. Можете тут выбрат шаблоны не только для Vue, но и для других фреймворков - https://www.creative-tim.com/templates/vuejs-free
    Но разумеется, что если вам нужен более юзабельный шаблон, то стоит обратиться к дизайнеру, верстальщику, а затем уже перенести его в выбранный вами фреймворк.
    Бывают разные электронные платформы подготовки специалистов. Например, тот же udemy.com поддерживает стриминг видео и генерирует сертификаты. В общем, в первую очередь определитесь с функционалом, а затем уже точняйте детали архитектуры.
    Ответ написан
    2 комментария
  • Как сделать DTO с валидацией данных в Java Spring?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Если честно, то меня сама строка настораживает
    @NotNull(message = "123")
        @NotEmpty(message = "456")
        private String proxy;

    NotEmpty и так проверяет строку на NULL и на пустоту и соответственно, аннотация @NotNull не нужна.
    Попробуйте удалить эту аннотацию и проверьте заново.
    Ответ написан
  • JVM интерпретирует байт-код в машинный код?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Будет ли JVM компилировать или интерпретировать байт-код зависит от платформы.
    Прочитайте вот, этот ресурс - Ссылка
    Вот, похожий вопрос - https://qna.habr.com/q/897579?e=10433021#comment_2...

    Подводя итог, в зависимости от среды исполнения байт-код может быть:
    - скомпилирован заранее и выполнен как родной код (похожий на большинство компиляторов С++)
    - скомпилирован (JIT) и выполнен
    - интерпретирован
    - напрямую выполняется поддерживаемым процессором (байт-код - это собственный набор команд некоторых процессоров)
    Ответ написан
    2 комментария
  • Есть ли метод в java, который генерирует рандомную дату?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Ответ на ваш вопрос легко ищется поисковиком.
    https://www.baeldung.com/java-random-dates
    https://stackoverflow.com/questions/3985392/genera...
    Ответ написан
    Комментировать
  • Реализация интерфейса Comparable java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Вот, тут дан ответ на ваш вопрос - https://stackoverflow.com/questions/369512/how-to-...
    Ответ написан
  • Как форматировать код с помощью линтера в VueJS проекте?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Насколько я помню в продуктах jetBrains (Storm, IDEA) это есть по умолчанию.
    В Sublime Text 3 - ищите beautify плагин. Некоторые из них требуют наличия node
    Для VSCode тоже есть плагины.
    Ответ написан
    Комментировать
  • Что не так с кодом Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    console.log(arrayList.perShape());
    Т.е. никого не напрягает, что эта строчка кода вообще не из Java, а скорее из JavaScript?
    Ответ написан
    Комментировать
  • Как реализовать сайт наподобие google form?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день!
    1) есть сервер на ubuntu; 2) на него установил lamp

    Можно более простым способом обойтись и установить VestaCP
    https://vestacp.com/
    Но если нравится все ставить руками, то lamp в самый раз.
    Что касается выбора CMS, CMF или фреймворка, то тут зависит от вашего бюджета или навыков.
    С учетом того, что в ТЗ не было озвучено ничего специфичного, то CMS WordPress подойдет.
    Если будете делать на ВП, то вот, примерная инструкция:
    - установить плагин Advanced Custom Fields. Желательно, даже Pro
    - Создать кастомные поля (форму) куда пользователи смогут заносить свои данные
    Читаем как создать front-end форму
    - Создайте кастомный тип записи Читаем про register_post_type
    - А далее при сабмите формы из фронта создаете новый кастомный пост. Можно не публиковать пост сразу, а создавать его со статусом draft и отправлять админу уведомление о наличии нового поста (анкеты). Далее админ проверяет и публикует.
    - Ну а дальше остается это все лишь красиво вывести на сайте.
    Ну а если хотите написать с нуля, то можно и на фреймворках, типа Yii2, Laravel и др.

    Скажу честно, сама идея меня несколько напрягает. Смысл людям вбивать свои личные данные (ФИО, где и когда родился, инн, снилс, и копии каких либо документов), чтобы они были доступны другим людям? К тому же, вам надо обеспечивать безопасность этих данных иначе взломать ВП и украсть данные не такая уж и сложная задача. Особенно, когда устанавливают кучу обнуленных плагинов и т.д. Ну и чтобы не было проблем с юридической точки зрения, то надо бы тогда создать страницу "Политика конфиденцильности" и подробно написать, какие данные вы собираете у пользователей, как их храните, используете и есть ли доступ у третьих лиц к этим данным.

    Я бы подобное сделал бы на фреймворках, чтобы иметь возможность контролировать хранимые данные. Возможно, что данные в БД хранить в зашифрованном виде и дешифровать их при обращении к БД. Дополнительная мера безопасности так сказать...
    Ответ написан
    2 комментария
  • Перенос Joomla на Wordpress PhocaGallery?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день!
    Я давно использовал плагин FG Joomla to WordPress. Но для переноса сайтов предпочитаю писать парсеры на любом доступном языке. А парсер уже собирает данные с любой CMS и переносит их в WP (либо через REST API, либо используя плагин WP ALL Import предварительно спарсив данные в csv или xlsx).
    Если лень писать парсеры, а бюджет позволяет, то можно заказать на фрилансе или использовать сервисы типа - https://cms2cms.com/
    Ответ написан
    Комментировать
  • Разумно ли считать json-файл и присвоить в строку, потом строку в Arraylist?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Вопрос: Это тупое решение? если да, то как правильно решить данную задачу?

    Скорее вы пошли ооочень длинным путем.
    Вот, структура вашего json.
    {
      "movies": [
        {
          "name": "Good omens",
          "year": 2019,
          "description": "TV Series",
          "director": {
            "fullName": "Douglas Mackinnon"
          },
          "cast": [
            {
              "fullName": "Michael Sheen",
              "role": "Aziraphale"
            },
            {
              "fullName": "David Tennant",
              "role": "Crowley"
            }
          ]
        }
      ]
    }

    Лучше считайте его сразу в список объектов
    Можете замаппить json в объект используя этот сайт - www.jsonschema2pojo.org
    Получится примерно следующее:
    -----------------------------------com.example.Example.java-----------------------------------
    
    
    public class Example {
    
    @SerializedName("movies")
    @Expose
    public List<Movie> movies = null;
    
    }
    
    -----------------------------------com.example.Movie.java-----------------------------------
    
    public class Movie {
    
    @SerializedName("name")
    @Expose
    public String name;
    @SerializedName("year")
    @Expose
    public Integer year;
    @SerializedName("description")
    @Expose
    public String description;
    @SerializedName("director")
    @Expose
    public Director director;
    @SerializedName("cast")
    @Expose
    public List<Cast> cast = null;
    
    }
    
    -----------------------------------com.example.Director.java-----------------------------------
    
    
    public class Director {
    
    @SerializedName("fullName")
    @Expose
    public String fullName;
    
    }
    -----------------------------------com.example.Cast.java-----------------------------------
    
    public class Cast {
    
    @SerializedName("fullName")
    @Expose
    public String fullName;
    @SerializedName("role")
    @Expose
    public String role;
    
    }

    Прочитайте например, эту статью как прочитать json в объект
    https://mkyong.com/java/how-to-parse-json-with-gson/
    Ответ написан
    Комментировать
  • Как в hibernate создать объект без поля optional?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Наверное будет лучше, если вы с клиента будете создавать DTO, а его уже конвертровать в Entity. Это не связано с вопросом, так небольшой совет.
    А то получается, что вы на клиенте формируете User. И возможно, что project, так как он не создается передается null.
    А при этом у вас nullabe = false
    @ManyToOne(fetch = FetchType.LAZY, optional = true)
        @JoinColumn(name = "project_id", nullable = false)
        @OnDelete(action = OnDeleteAction.CASCADE)
        @JsonIgnore
        private Project project;

    Получается нельзя создать юзера, но при этом назначить ему null project. Потому у вас и ConstraintViolationException

    В общем,
    1) используйте DTO
    2) Наверное, стоит поставить nullable = true
    Ответ написан
    Комментировать
  • Почему Hibernate разрешает удалять сущность, на которую ссылается FK?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Наверное, помимо ограничений на уровне БД можно использовать проверку средствами Java. Т.е. создать метод, который проверяет наличие курсов у юзера и выбрасывает соответствующее исключение. Соответственно, исключение будет выброшено до вызова метода delete() и будет выброшено то исключение, которе вам нужно.
    Я конечно не отвечу вам наверняка, но думаю этот ответ будет для вас полезен
    https://stackoverflow.com/questions/14875793/jpa-h...

    JPA does offer possibility to cascade operations (merge, persist, refresh, remove) to associated entities. Logic is in JPA and does not utilize database cascades.
    There is no JPA standard compliant way to do cascades with database cascades.

    Т.е. скорее всего вы каскады не указали при создании сущности ManyToMany. Проверьте ваш код

    Дополнено:
    There is no clean cut means to do this in JPA. The following will get you what you want... You can use CascadeType.DELETE, however this annotation only applies to the objects in the EntityManager, not the database. You want to be sure that ON DELETE CASCADE is added to the database constraint. To verify, you can configure JPA to generate a ddl file. Take a look at the ddl file, you'll notice that ON DELETE CASCADE is not part of the constraint. Add ON DELETE CASCADE to actual SQL in the ddl file, then update your database schema from the ddl. This will fix your problem .
    Ответ написан
  • Какие карты использовать для приложения?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    MapsForge
    сама либа - https://github.com/mapsforge/mapsforge
    работает с OSM картами
    Ответ написан
    Комментировать
  • Как отправить изображение на сервер через мобильное приложение на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Не совсем понятно пишете ли вы клиентсткую часть или серверную, так как в вашем вопросе освещены обе стороны.
    Если вкратце, то вам нужна серверная часть (API). Например, некий контроллер, который принимает массив байтов файла, а также другие данные. Далее картинки сохраняет на сервере или по АПИ передает на распределенную файловую систему (например, S3). А в ответ на клиентсткую часть возвращает урл, по которому можно скачать картинку или отобразить в андроид.
    Для сервера можно и на Spring Boot поднять небольшое приложение. В таком случае обратите внимание на: Spring Data, Spring Web. Принимать будете MultiPartFile + dto (саму заметку). Ну и скорее всего нужно будет реализовать CRUD для картинок и заметок
    Ответ написан
    5 комментариев
  • SPA концепция node+vue/react?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Как правило, в данном случае это 2 разных приложения.
    Клиентская часть - vue, react, angular, swelte и др.
    Серверная часть - laravel, django, yii2, RoR, Spring и др.
    Общение между сервером и клиентом происходит при помощи запросов к API через например, axios или любые другие библиотеки для выполнения http запросов.
    Если пользователь перейдёт по ссылке, то не будет перезагрузки страницы?

    То что нет перезагрузки страницы, не говорит о том, что не был выполнен запрос. Например, выполняется GET запрос и первый компонент заменяется вторым. Если при подключении компонента нужно выполнить запрос к серверу (к API) и например, получить список объектов, то запрос в свою очеред тоже делается
    Ответ написан
    Комментировать