• Как понять какие контроллеры нужны для веб приложения на Spring Boot?

    @frozen_coder
    Java-developer
    Что мешает создавать их по мере необходимости? Более того, можно вообще сделать один убер-контроллер, который будет отвечать на всё, но никогда не делайте так :)

    Контроллеры надо разделять по области их деятельности, по той проблеме, которую они решают. Он может отдавать не только же страницы, но и json'ы какие-нибудь - у вас же на странице может быть динамическое содержимое, которое нужно получать без перезагрузки всей страницы. А вдруг оно нужно ещё и на другой странице? Например список пользователей. У нас есть страница для отображения списка пользователей и мы в котроллере пользователей отдаём эту страницу, но где-то на другой странице тоже нужно отобразить список пользователей или вообще отдать просто через REST другой системе, логично метод, возвращающий json-списка пользователей разместить в этом же контроллере.

    Другой путь поделить ваши контроллеры на котроллеры, которые отдают страницы и контроллеры, которые отдают json. Это, можно сказать, вкусовщина.

    Вы делать начните, а там поймёте, как вам удобнее. Не надо бросаться делать сразу все контроллеры, делайте постепенно по областям все слои, потом переходите на другую область. Можно возвращаться же и править что-то. Разбейте задачу на подзадачи (декомпозируйте) по фичам вашего приложения и пилите фичами.

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

    @ratyk Автор вопроса
    Заготовки лучше и не мог представить. По шаманил чуток, подставил под себя и получился такой код, вдруг кому пригодится:

    <?php 
    $currentTerm = get_queried_object();
    $children = get_term_children($currentTerm -> term_id, 'catalogs');
    if($children): ?>
      <?php 
            $args = array(
              'taxonomy' => 'catalogs',
              'hide_empty' => 1,
              'depth' => 1,
              'parent' => get_queried_object()->term_id
            );
            $terms = get_terms( $args );
            $count = 1;
      ?>
    
      <?php foreach ($terms as $term): ?>
    
        <a href="<?php echo get_post_type_archive_link('catalog'); echo $term->slug ?>"><?php echo $term->name ?></a>
      <?php endforeach; ?>
    
      <?php else : ?>
    	<?php  if ( have_posts() ) :  while (have_posts()) : the_post();?>
    		<h2><?php the_title(); ?></h2>
    	<?php endwhile;?>
    	<?php endif;?>
    <?php endif;?>
    Ответ написан
    2 комментария
  • Есть ли плагины (решения) для внесения изменений в тему Wordpress?

    Kozack
    @Kozack Куратор тега WordPress
    Thinking about a11y
    Пхаха :))
    Я хочу быстро делать быстрые, адаптивные сайты но не хочу разбираться в том что я делаю

    Чтобы написать тему на ВП, вам нужно:
    1. Взять готовую верстку
    2. Переименовать все html файлы в php файлы.
    3. Проставить вордпресовские теги шаблона в соответствующих местах. Скажем это <h1> Post title </h1> заменить на это <h1><?php the_title() ?></h1>

    У вас будут ужасные темы, но зато очень быстро :)
    Ответ написан
    Комментировать
  • Как проверить в function.php какая именно произвольная тип записи включена?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    is_singular('book') // book — название custom post type
    Ответ написан
    2 комментария
  • Ожидание результата EditText в цикле for?

    GavriKos
    @GavriKos
    Никак - цикл не должен ничего ожидать. У EDitText наверняка есть какие то события вида OnTextChanged - вот на них подписывайтесь и делайте что вам нужно.
    Ответ написан
    Комментировать
  • Не получается задеплоить приложение в Heroku?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Гуглим по запросу
    Fatal error compiling: invalid target release: 11 -> [Help 1]

    Переходим на ссылку: https://stackoverflow.com/questions/28291691/fatal...
    Читаем и понимаем что не та версия jdk использовалась
    Анализируем разницу и понимаем что нам нужен target release: 11
    Ответ написан
    Комментировать
  • Как удобно включать переменную в строку в Intellij Idea?

    @Narryel Автор вопроса
    Добавил Live Template:

    Abbreviation: ++
    Description: Insert variable into string
    Expand with: Enter
    Template text: "+ $EXPR$ +" (кавычки тоже)
    Edit Template Variable:
    expression:variableOfType("") default Value: "expr"

    Скрин:
    5cb9900535041528257714.jpeg

    Работает так: пишешь ++ в строке, жмешь Enter(хоткей можно поменять в настройках), и выбираешь переменную.
    Ответ написан
    2 комментария
  • Кто может подсказать видеокурс или книгу(с переводом на русский) для обучения java с нуля?

    @frozen_coder
    Java-developer
    К видеокурсам добавлю лекции Тагира Валеева, который написал кучу статей по Java, сделал кучу докладов и пилит IDEA - https://www.youtube.com/playlist?list=PLlb7e2G7aSp...

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

    SpacePurr
    @SpacePurr
    c#, wpf
    Здравствуйте.

    1. Герберт Шилдт - Java 8 Руководство для начинающих 6-е издание. Читается книга достаточно легко. Предварительно, тем не менее, советую забежать на Youtube на канал Уроки Java. Там есть плейлист с 400 уроками, просмотрите хотя бы первые 20, установка IDE, переменные, ООП, а также, чтобы увидеть как кодить. Это вам очень поможет на первых этапах.
    2. Лекции Golovach Courses на Youtube. Мега крутой чувак с самым полным разбором Java, который я видел.
    3. Брюс Эккель - Философия Java. Полный справочник(не самоучитель) всего самого необходимого.
    4. Ну и напоследок сервис JavaRush. Курс в игровом стиле. Задачи с самых простых до сложных со стажировкой на последних уровнях обучения. Подписка по скидке на год стоит около 6к, но если вы серьезно настроены, то прокачать она вас сможет сильно. Я к сожалению до конца курс не прошел так как заинтересовался c#. Прокачивают даже умение поиска информации в google.

    Дерзайте, удачи.
    Ответ написан
    Комментировать
  • Как правильно прописать конфиг для Hibernate?

    Melkij
    @Melkij
    PostgreSQL DBA
    Java - это такой специальный язык для генерации километровых backtrace...

    Почему получив null value in column violates not-null constraint вы решили, что у вас проблема с подключением к СУБД? Вы пытаетесь вставить NULL в поле отмеченное как NOT NULL. Судя по тексту запроса - у вас не указано default значение для этого поля.
    Ответ написан
    4 комментария
  • Какое пособие для изучения Java с нуля на русском выбрать, если уже знаешь несколько ЯП?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Книги и учебные ресурсы по Java. Там же есть про самый популярный фреймворк для бэкенда - Spring.
    Ответ написан
    Комментировать
  • Подойдёт ли проект в портфолио?

    @UNy
    Сделай простенький магазин с помощью spring mvc, spring data/hibernate. To-do list, чат на websocket, этого хватит :)
    Ответ написан
    Комментировать
  • Как на wp можно реализовать фильтр постов по дате?

    @Chloyka
    По дате - нет проблем. Все, что нужно - сделать strtotime кастомного поля. Например:
    $params = array(
    'post_type' => 'events', //кастомный тип постов, меняй на любой
    );
    $posts = get_posts($params); //получаем массив постов
    $events_date = wp_list_pluck( $posts, 'event_date'); //получаем массив из кастомного поля с датой 
    $res = array_unique($events_date); //Удаляем дубликаты
    function date_sort($a, $b) {
    return strtotime($a) - strtotime($b);
    }
    usort($res, "date_sort"); // сортируем по возрастанию дат
    Далее все просто, запускаем цикл
    
    if( $res ){
    foreach( $res as $result ){
    $args = array( //задаем аргументы wp_query
    'post_type' => 'events', //тип поста
    'showposts' => 3, //сколько постов
    'meta_key' => 'event_time', //по какому полю сортируем
    'orderby' => 'meta_value_num', 
    'order' => 'ASC', //возрастание или убывание
    );
    query_posts($args); 
    
    if ( have_posts() )
    
    while ( have_posts() ) : the_post();
    
    get_template_part( 'template-parts/content-events', get_post_format() ); //относительная ссылка на твой шаблон
    
    endwhile;
    
    }
    };


    На этом все

    Что касается удаления просроченных постов - их не обязательно удалять, можно просто не включать в цикл, например:

    //Цикл
    if ( have_posts() )
    //Для функции date() обязательно используем date_default_timezone_set("Временная зона"), в противном случае получим дату по GMT +0, а нам нужно к примеру по МСК
    date_default_timezone_set("Europe/Moscow");//Используем зону МСК для примера, с списком доступных таймзон можно ознакомится в гугле, например
    $forBefore = strftime("%d.%m.%Y", strtotime($result)); //получаем дату поста
    $forToday = date("d.m.Y"); //сегодняшняя дата
    
    if (strtotime($forToday) >= strtotime($forBefore)){ //Если дата равна или больше сегодняшней
    
    while ( have_posts() ) : the_post();
    
    get_template_part( 'template-parts/content-events', get_post_format() ); //относительная ссылка на твой шаблон
    
    endwhile;
    }
    };

    Соответственно, если дата поста просрочена - пост просто не будет выводится, это может пригодится, чтобы например просто перенести дату предыдущей экскурсии и не заполнять заново
    Ответ написан
  • Чем занимается model в Spring MVC?

    jaxtr
    @jaxtr
    JavaEE/Spring-разработчик
    Model в Spring MVC предназначен для передачи данных между контроллером и представлением.
    Ответ написан
    1 комментарий
  • Как реализовать такой scroll?

    profesor08
    @profesor08 Куратор тега CSS
    How To Create a Custom Scrollbar

    @mixin scrollbar {
      &::-webkit-scrollbar {
        /* 1 - скроллбар */
      }
    
      &::-webkit-scrollbar-button {
        /* 2 - кнопка */
      }
    
      &::-webkit-scrollbar-track {
        /* 3 - трек */
      }
    
      &::-webkit-scrollbar-track-piece {
        /* 4 - видимая часть трека */
      }
    
      &::-webkit-scrollbar-thumb {
        /* 5 - ползунок */
      }
    
      &::-webkit-scrollbar-corner {
        /* 6 - уголок */
      }
    
      &::-webkit-resizer {
        /* 7 - изменение размеров */
      }
    }
    Ответ написан
    Комментировать
  • WP: тема перестала реагировать на изменение файлов, как исправить?

    Kozack
    @Kozack Куратор тега WordPress
    Thinking about a11y
    Скорее всего проблема не в теме а в хостинке.
    1. Возможно у вас проблемы с FTP, изменения файлов не доходят до сервера
    2. Возможно провайдер изменил внутренний конфиг и теперь ваш сайт находится по другому адресу, а вы изменяете файлы по старому
    3. Попробуйте загрузить несколько новых файлов.
    4. Проверьте можете ли вы вообще манипулировать файлами на сервера
    5. Если есть возможность попробуйте внести изменения не через FTP, или в личном кабинете хостинга
    6. Пересоздайте подключение
    7. Свяжитесь с хостером
    Ответ написан
    1 комментарий
  • Где найти алгоритм для простой текстовой игры-рогалика?

    Stalker_RED
    @Stalker_RED
    Почитать о игровых механиках? Навскидку блог мосигры и переыоды от patientZero на хабре.

    Также, по практически любой сложной игре есть вики с описанием механики.

    Если с фантазией все туго - возьмите за основу какой-нибудь опенсорсный MUD, или правила DnD, например.

    Ну и вообще, саму механику придумать не сложно. Сложно сделать ее сбалансированной и интересной.
    Ответ написан
    Комментировать
  • Почему openjfx не входит в состав openjdk?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Идёт процесс модуляризации стандартной библиотеки. Чтобы в будущем программисты могли поставлять с приложением компактную версию виртуальной машины с минимально необходимым набором библиотек. В рамках этого процесса JavaFX вынесли в отдельный модуль. Так же, как например JAXB - средства для работы с XML и JSON. В одной из следующих версий в отдельный модуль вынесут и Swing. До Java11 модуль JavaFX оставался в составе стандартной библиотеки и входил в OpenJDK, после вынесен в отдельный SDK. Необходимые библиотеки можно получить в виде зависимостей:

    Maven
    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx.controls</artifactId>
            <version>12.0.0</version>
        </dependency>
    </dependencies>
    Gradle
    dependencies {
        compile 'org.openjfx:javafx.controls:12.0.0'
    }

    Или SDK можно скачать здесь и подключить модули вручную:
    javac --module-path "C:\Program Files\Java\javafx-sdk-12\lib" --add-modules=javafx.controls Example.java
    java --module-path "C:\Program Files\Java\javafx-sdk-12\lib" --add-modules=javafx.controls Example
    Ответ написан
    2 комментария
  • Как проверить существование видео youtube?

    @nvdfxx
    Senior Pomidor developer
    Отправляете запрос по этой ссылке, вам приходит статус 404 или 200, на основе этого делаете нужный коллбэк
    Ответ написан
    Комментировать
  • Как ОС понимает, какую версию просит java?

    @frozen_coder
    Java-developer
    К уже отвеченному добавлю, что легко, быстро и просто устанавливать и переключаться на разные sdk и их версии можно с помощью sdkman

    https://sdkman.io/usage
    Ответ написан
    Комментировать