• Как вывести дерево рубрик записей с самими заголовками статей?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    По сути это можно сделать по средство навигационного меню, Но так как на сайте будет много рубрик и записей необходимо это автоматизировать

    Наверное, не самая лучшая идея для этого использовать нав. меню.
    Однако, это можно сделать средствами РНР и WP Codex.

    Проще говоря, нужно вывести список рубрик в виде вложенного дерева, и если я нахожусь на странице какой либо записи из этих рубрик, чтобы показывало названия записей из этой же рубрики.

    При помощи условных тегов проверяете является ли просматриваемая страница страницей рубрики и если да, то циклом перебираете рубрику и получаете ее дочерние рубрики и выводите их в виде меню. А если страница из single(), т.е. страница записи, то получаете рубрику, к которой принадлежит эта статья и циклом получаете 5 статей из этой рубрики и выводите их заголовки со ссылками.

    Проверить является ли просматриваемая страница страницей категории (или архива):
    https://wp-kama.ru/function/is_category
    https://wp-kama.ru/function/is_archive

    Проверить является ли просматриваемая страница страницей записи:
    https://wp-kama.ru/function/is_singular
    https://wp-kama.ru/function/is_single

    Получить рубрику присвоенную к этой статье:
    https://wp-kama.ru/function/wp_get_post_categories
    https://wp-kama.ru/function/get_the_category

    Получить статьи из указанной рубрики:
    https://wp-kama.ru/function/wp_query
    Для получения из выбранной категории обратите внимание на это:
    https://wp-kama.ru/function/wp_query#categories

    Сниппеты готовых меню в виде дерева:
    https://www.jqueryscript.net/blog/Best-Tree-View-P...
    https://bootsnipp.com/snippets/Pax
    docs.offlajn.com/vertical-menu/11-menu-navigation-...

    Или можете поискать готовые плагины:
    Например, https://wordpress.org/plugins/post-categories-tree/
    Гуглим - wordpress category tree view
    Ответ написан
  • Выбивает ошибку в классах Java, что изменить или почитать на будущее?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Прочитайте любую книгу по Java.
    Можете начать с Г. Шилдт - Руководство по Java для начинающих.
    А насчет ошибки:
    у вас в одном java файле (Main.java) содержится 2 public класса
    public class Main{} 
    public class BANKACCOUT{}

    Также обратите внимание на Java naming convention. Вместо названия класса BANKACCOUT должно быть BankAccount
    Ответ написан
    Комментировать
  • Какой курс java выбрать?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    It-Academy (https://www.it-academy.by/)
    2-3 месяца Java Fundamentals
    3-4 месяца Java Enterprise
    + помогают с трудоустройством.
    Но скажу заранее, знаний полученных на любых курсах недостаточно, чтобы стать крепким джуном. В любом случае вам нужно прочитать определенный минимум книг, иметь багаж теоретических знаний и притом не только Java, но и sql, xml, regex, json. Владеть английским (на уровне чтения тех. документации). Изучить алгоритмы и структуры данных и т.д.
    А вообще поищите аналогичные вопросы на этом сайте. Уже не первый раз всплывают подобные вопросы и было дано много развернутых ответов
    Ответ написан
    7 комментариев
  • Как работает класс Calendar в этом коде?

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

    Как решить проблему с «Unable to create converter for class»?
    На виртуальном устройстве в настройках был установлен часовой пояс GTM-0, а у меня +2. Это и решило проблему.


    А я еще тогда обратил ваше внимание на то, что время у вас и так указано в миллисекундах.
    public static Calendar getDate() {
    Calendar date = Calendar.getInstance();
    date.setTimeInMillis(timestamp * 1000);
    return date;
    }

    А сеттер setTimeInMillis принимает время в миллисекундах. Так зачем вы умножаете timestamp на 1000?
    Не нужно умножать на 1000. Иначе вы в качестве текущего года получаете 53152 вместо 2021

    Вот, для наглядности:
    public static void main(String[] args) {
        long timestamp = System.currentTimeMillis();
        Calendar calendar = Calendar.getInstance();
    // Ваш код:
        calendar.setTimeInMillis(timestamp * 1000);
        System.out.println(calendar.getTime());
    // Мой код:
        calendar.setTimeInMillis(timestamp);
        System.out.println(calendar.getTime());
      }
    Ответ написан
  • Как вынести отдельное количества продукта с листа java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    А какое отношение клиентская часть имееть к серверному?
    При добавлении количества товара в input общая цена не изменяется

    Это срабатывает на клиенте и тут может помочь JavaScript, а не Java

    Как вынести отдельное количества продукта с листа java?

    Не думаю, что вопрос корректен, если честно. Вам нужно на клиенте суммировать стоимость товара внутри корзины. Соответственно. вынесение товаров в отдельный лист на сервере не поможет
    Ответ написан
  • Как добавить значения в json массив?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Вот, решениe для Jackson:
    https://stackoverflow.com/questions/43981487/how-t...
    Вот, решение для Gson:
    https://stackoverflow.com/questions/47111676/gson-...
    Вот, решение для SImple Json:
    https://stackoverflow.com/questions/50402343/how-t...
    Ответ написан
    Комментировать
  • Подходит ли книга Брюса Эккеля "Философия Java" для изучения ЯП с полного нуля?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Если выбираешь именно между книгами по Java, то можешь присмотреться к следующим:
    Г. Шилдт - Java руководство для начинающих (или например, ,Java Head First O'Reilly)
    Далее подойдет Б. Эккель - Философия Java
    Также можно еще Г.Шилдт - Полное руководство по Java
    Затем можно глянуть на Рауль-Габриэль Урма - Современный язык Java

    Ну и конечно же прочитать такие книги, как:
    Clean Code,
    Роберт Лафоре - Структуры данных и алгоритмы java,
    Дж. Блох - Java. Эффективное программирование
    Ответ написан
    Комментировать
  • Почему возникает ошибка компиляции Android приложения?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Реимпортируйте класс R..
    Затем почистите кеш (Invalidate cache & restart) и перезапустите заново. Должно помочь.
    Также проверьте есть ли в xml такой id R.id.textViewTitle
    Ответ написан
    1 комментарий
  • ITextPDF - Java. Почему не отображаются шрифты на кириллице?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Cannot resolve constructor 'Paragraph(java.lang.String, com.itextpdf.text.Font)'

    Очевидно, что такого конструктора не существует. Посмотрите, в исходниках какие конструкторы существуют.
    Вот, например, документация
    https://kb.itextpdf.com/home/it5kb/examples/using-fonts
    https://www.tutorialspoint.com/itext/itext_setting...
    Ответ написан
    Комментировать
  • Как обращаться к классу через интерфейс?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    В фреймворках например, в том же Spring, реализован такой принцип, как DI (dependency injection). Все сводится к тому, что вы можете внедрить интерфейс, вместо самой реализации. Это упрощает процесс тестирования и разработки, так как вы можете "подсунуть" другую реализацию этого интерфейса. Например, на production вам нужно подключиться к реальной БД и использовать соответствующие репозитории, а во время тестирования вы можете замокать другие реализации интерфейса.
    Допустим, что у вас есть интерфейс IServer с методом connect()
    А реализации у него могут быть разные. Например,
    FtpConnect implements IServer,  SshConnect implements IServer
    Соответственно, внедрив зависимость IServer в код, вы можете указать какая реализация данного интерфейса должны быть внедрена.
    Посмотрите на фреймворки:
    Guice -
    https://www.baeldung.com/guice
    Dagger -
    https://dagger.dev/
    Ответ написан
  • Как указывать параметр запроса "кириллицей" на OpenWeatherMap?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Вот, что написано в документации по поводу названия городов.
    By city name. Input the city name or its part and get the list of the most proper cities in the world. Example - Lon or Lond or London. The more precise city name you put the more precise list you will get. To make it more precise put the city's name or its part, comma, the name of the county or 2-letter country code. You will get all proper cities in chosen county. The order is important - the first is city name than comma than county. Example - Lon, UK or Lon, GB or London, GB or Lon, England. By geographic coordinates.


    Соответственно, с кириллицей не работает. Но вы можете добавить такой функционал. Например, в приложении заведите enum с англ. и с русскими названиями городов. Например, LONDON ("London", "Лондон")

    Организовал ввод названия города через меню и вот таким образом

    Я бы например, сделал бы не ввод названия города, а выбор из выпадающего списка. А то мало ли на какой языке пользователь решит ввести название города.
    Ответ написан
  • Зачем нужны типы данных byte и short в Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Зачем в языке программирования так много типов данных?
    Особенно byte или short, ведь их полностью заменяет int. Зачем они нужны? В чем их профит?

    Тип данных int занимает 4 байта, а byte - 1 байт, а short - 2 байта.
    Соответственно, в условиях ограниченной памяти нужно использовать только соответствующие типы примитивов.

    60436b2020216873254157.png
    Ответ написан
  • Как настроить перенаправление с www на без www в yoast seo?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день!
    Вообще, подобное лучше настраивать через htaccess для Apache или через конфиги nginx.
    Даже сама компания Yoast об этом говорит.
    https://yoast.com/how-to-remove-www-from-your-url/
    https://yoast.com/video/ask-yoast-redirecting-domain/
    Но если вы по каким-то причинам не хотите делать это на уровне конфигов, то сделайте на уровне РНР
    https://stackoverflow.com/questions/2079457/www-to...
    Ответ написан
    2 комментария
  • Как создать сервис бронирования на java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Я как-то раз писал сервис по бронированию номеров отелей. Это реальный проект или учебный?
    Если реальный проект, то посмотрите в сторону использования API Hotelbeds или GoGlobal.
    Рекомендую Hotelbeds. У них в тестовом режиме доступно до 50 запросов в сутки, а в препродакшн неограниченное кол-во запросов. Правда, нужно заплатить сумму 3-4К у.е. и рассказать про деятельность (b2b, b2c) и т.д.

    Если учебный проект, то тут зависит от того в каком объеме вы хотите реализовать вашу задачу.
    Например, для поиска можно подключить Hibernate Search или ElasticSearch, а можно обойтись простым sql запросом.

    Есть класс комнат и класс с резервацией, а так-же DTOшки к ним, теперь мне нужно написать примерно такой код: если в коллекции есть комната X, проверить, есть ли промежуток дат (timestamp) от A1 до A2.
    Фишка в том, что я приблизительно понимаю что делать и в то же время не знаю, как это написать.


    Как вы и сказали, код писать не буду, но расскажу примерно, как это можно сделать. Предположим, что есть некий контроллер, метод которого принимает некий DTO состоящий из: номера комнаты (roomNum), а также 2-х дат (from & to).
    Далее вы передаете этот DTO на уровень сервисного слоя и обрабатываете. Далее вам необходимо на уровне репозитория написать метод, который ищет по вхождению даты.
    Вот, похожий вопрос:
    https://stackoverflow.com/questions/39784344/check...
    Вот, примеры кода:

    findAllByStartDateLessThanEqualAndEndDateGreaterThanEqual(OffsetDateTime endDate, OffsetDateTime startDate);


    или:

    @Query(value = "from EntityClassTable t where yourDate BETWEEN :startDate AND :endDate")
    public List<EntityClassTable> getAllBetweenDates(@Param("startDate")Date startDate,@Param("endDate")Date endDate);


    Несколько аспектов, на которые вам нужно обратить внимание:
    - также нужно проверить номер на занятость. Т.е. если у вас есть резервация на указанную дату, то не бронировать номер.
    - Если номер не найдет, то выбросить исключение и т.д.
    Ответ написан
    Комментировать
  • С помощью чего открыть .jar плагин minecraft чтобы изменить его?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Если вкратце, то изучите реверс индженеринг.
    Jar это по факту тот же zip. Но внутри архива лежат class файлы (байткод). Соответственно, вам нужно декомпилировать их в исходники или можете поискать исходники (source code) на гитхаб, битбакет и т.д. Вдруг, это опенсорсный проект.
    Можете начать с этого аналогичного вопроса:
    https://stackoverflow.com/questions/647116/how-to-...
    А лучше начните изучение самого языка, а потом вопросов будет относительно меньше.
    Ответ написан
    2 комментария
  • GSON - Как объявить переменные для хранения названий из сложного JSON?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Есть такой сайт - www.jsonschema2pojo.org
    На сайте вы также найдете maven плагин для быстрой конвертации
    Результат

    -----------------------------------com.example.Address.java-----------------------------------
    
    package com.example;
    
    import com.google.gson.annotations.Expose;
    import com.google.gson.annotations.SerializedName;
    
    public class Address {
    
    @SerializedName("street")
    @Expose
    public String street;
    @SerializedName("suite")
    @Expose
    public String suite;
    @SerializedName("city")
    @Expose
    public String city;
    @SerializedName("zipcode")
    @Expose
    public String zipcode;
    @SerializedName("geo")
    @Expose
    public Geo geo;
    
    }
    -----------------------------------com.example.Company.java-----------------------------------
    
    package com.example;
    
    import com.google.gson.annotations.Expose;
    import com.google.gson.annotations.SerializedName;
    
    public class Company {
    
    @SerializedName("name")
    @Expose
    public String name;
    @SerializedName("catchPhrase")
    @Expose
    public String catchPhrase;
    @SerializedName("bs")
    @Expose
    public String bs;
    
    }
    -----------------------------------com.example.Example.java-----------------------------------
    
    package com.example;
    
    import com.google.gson.annotations.Expose;
    import com.google.gson.annotations.SerializedName;
    
    public class Example {
    
    @SerializedName("id")
    @Expose
    public int id;
    @SerializedName("name")
    @Expose
    public String name;
    @SerializedName("username")
    @Expose
    public String username;
    @SerializedName("email")
    @Expose
    public String email;
    @SerializedName("address")
    @Expose
    public Address address;
    @SerializedName("phone")
    @Expose
    public String phone;
    @SerializedName("website")
    @Expose
    public String website;
    @SerializedName("company")
    @Expose
    public Company company;
    
    }
    -----------------------------------com.example.Geo.java-----------------------------------
    
    package com.example;
    
    import com.google.gson.annotations.Expose;
    import com.google.gson.annotations.SerializedName;
    
    public class Geo {
    
    @SerializedName("lat")
    @Expose
    public String lat;
    @SerializedName("lng")
    @Expose
    public String lng;
    
    }
    Ответ написан
    1 комментарий
  • Как передать параметр из properties в Spring Boot в js файл?

    azerphoenix
    @azerphoenix Автор вопроса, куратор тега Java
    Java Software Engineer
    Отвечу на свой вопрос.
    Если это классическое MVC приложение и например, используется шаблонизатор thymeleaf, то можно получить доступ к конфигам yml || properties следующими способами:

    1)
    ${@environment.getProperty('css.specific.name')}

    2) Либо используя аннотацию @ConfigurationProperties
    а в html использовать:
    <span th:text="@foo.getBar()"></span>

    Полезная ссылка по теме:
    https://stackoverflow.com/questions/56102116/acces...

    P.S. Использование Controller || ControllerAdvice для подобных целей не приветствуется.

    Ну а если у вас REST приложение, то это настраивается на клиентской стороне внутри js фреймворка.
    Ответ написан
    Комментировать
  • Как сделать get request java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Ответ на ваш вопрос легко ищется поисковиком.
    Вот, пример:
    https://www.baeldung.com/java-http-request
    Вот, примерный код. Только обработайте исключения и подправьте под себя
    public class Main {
    
    
    	public static void main(String[] args) {
    		final String urlAdress = "http://example.com"; // url куда нужно совершить запрос
    		URL url = new URL(urlAdress);
    		HttpURLConnection con = (HttpURLConnection) url.openConnection();
    		con.setRequestMethod("GET");
    		int status = con.getResponseCode(); // совершаем запрос
    		BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); // читаем ответ
    		String inputLine;
    		StringBuffer content = new StringBuffer();
    		while ((inputLine = in.readLine()) != null) {
    		    content.append(inputLine);
    		}
    		in.close();
    		con.disconnect();
    	}
    
    }
    Ответ написан
  • Есть ли интерактивный курс по Vue.js?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день!
    Подобные курсы можно найти на Udemy. Там бывают и интерактивные курсы встречаются.
    Я купил недавно курс по VueJS на Udemy на английском, но там он не интерактивный, но с нуля подробно показывается как с ним работать. Также есть информация по axios, vuex и др.
    Ответ написан
  • Зачем нужен Queue?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Для начала было бы неплохо разобраться в таких терминах, как: FIFO & LIFO
    FIFO - first in - first out. "Первым пришел - первым ушел". Это наглядный пример очереди. Обслужен будет тот клиент, который стоит первым в очереди.
    LIFO - last in - first out. "Последним пришел - первым ушел".Это наглядный пример работы стека. Т.е. это обратный принцип FIFO. Первым обслуживается тот клиент, который стоит в конце очереди (вверху стека).
    Теперь, зная что такое FIFO & LIFO стоит отметить, что Queue (с англ. очередь) - это интерфейс, который основан на принципе FiFO.
    Выбор реализации jcf зависит от вашей цели, так как каждая из коллекций выполняет ту или иную операцию за разное время. Это отображено в таблице ниже:
    603e3b8cc408a641092521.png
    Полезная ссылка по теме:
    https://codenza.app/java-collections/
    https://www.examclouds.com/ru/java/java-core-russi...
    Ответ написан
    Комментировать