Как я написал свою первую книгу

Обложка книги "Java. Состояние языка и его перспективы"

События, описываемые здесь, начались чуть больше года назад, когда на меня вышло издательство. Не знаю точно, как вышли именно на меня, но могу предположить, что где-нибудь на одном из других сайтов или онлайн курсов нашли ссылку на мой. Я здесь уже довольно много материала понаписал по программированию, а особенно по Java. Мне было предложено написать книгу по мотивам всех этих статей.

Читать далее Как я написал свою первую книгу

JavaScript проверка на строковый тип

Я по этой теме всё понял.

Если вы разрабатывали на Java, то вы, наверное, привыкли проверять тип переменной на строку через instanceof. В JavaScript это работает, но не совсем, то есть не совсем так работает, так как в JavaScript есть примитивный тип строка и класс строка.

Читать далее JavaScript проверка на строковый тип

Очистить массив в JavaScript

Как удалить все элементы из массива в JavaScript? Для этого нужно использовать универсальный метод удаления / вставки элементов splice из объекта Array:

Этот метод изменяет именно исходный массив. Параметр start обязателен, остальные не обязательны.

start — индекс начала изменений в массиве

deleteCount — количество элементов, начиная со start, которые нужно удалить. Если он не указан, либо больше количества элементов, оставшихся до конца массива, то удаляются все элементы начиная со start до конца. Можно указать Infinity, если дальше указываются параметры itemN.

item1, item2… — элементы до вставки в массив, начиная с позиции start.

Так как параметр start обязателен, то для удаления всех элементов из массива, то есть его полной очистки, нужно передать в качестве него ноль:

Пример использования в реальном проекте на GitHub, который будет использоваться в моей будущей книге.

CSRF в WordPress и nonces

Пишу эту статью после вот такого обновления своего плагина для WordPress.

CSRF (Cross-Site Request Forgery) — вид атак, заключающийся в том, что злоумышленник тайно отправляет на атакуемый сайт запрос от лица пользователя.

Читать далее CSRF в WordPress и nonces

Вышел Urvanov Syntax Highlighter 2.8.34

Ночью выпустил новую версию плагина для WordPress Urvanov Syntax Highlighter 2.8.34. Изменения:

  1. Исправлена уязвимость Cross-Site Request Forgery, добавлена работа с nonces.
  2. Добавлена настройка “Highlight code”, аналогичная галочке “Don’t highlight” в форме редактирования блока кода.
  3. Заменено использование jQuery live на jQuery on.

PersistentMap does not implement the requested interface Collection

Довольно странная ошибка, не правда ли?

java.lang.IncompatibleClassChangeError: Class org.hibernate.collection.spi.PersistentMap does not implement the requested interface java.util.Collection

Читать далее PersistentMap does not implement the requested interface Collection

Hibernate OneToMany java.util.Map

Эта статья является частью книги про Spring Framework, которая по планам должна выйти где-нибудь в 2024 году, ну в крайнем случае в 2025, если не все будет получаться.

Hibernate позволяет отобразить связь один ко многим не только в виде реализаций интерфейса List и Set, но и в качестве реализации Map с определённым ключом.

Читать далее Hibernate OneToMany java.util.Map

Предпросмотр ссылок

Все мы видели, что когда обмениваемся ссылками в Skype, WhatsApp, Telegram, социальных сетях и ещё где-нибудь, то для некоторых ссылок вставляется предпросмотр, который обычно содержит какой-нибудь заголовок, выделенный жирным, краткое описание страницы и какую-нибудь картинку. Однако подобные описания вставляются далеко не для всех ссылок. Почему так происходит?

Читать далее Предпросмотр ссылок

Spring Security Custom Filter

Эта статья является частью книги про Spring Framework, которая по планам должна выйти где-нибудь в 2024 году, ну в крайнем случае в 2025, если не все будет получаться.

Spring Security уже содержит стандартные фильтры, поддерживающие HTTP Basic аутентификацию, аутентификацию с паролем и логином с формы, аутентификацию на основе сертификатов и многие другие. Однако мы можем также написать свой собственный фильтр, благодаря которому мы сможем отправлять логин и пароль внутри JSON в POST-запросе к нашему сервису.

Читать далее Spring Security Custom Filter

PageNotFound — No mapping for GET … JSP / JSPX

Довольно странная ошибка, на самом деле:

Сами контроллеры отрабатывают, не отрабатывает именно viewResolver, объявленный в XML-конфигурации (проект старый, был создан ещё в эпоху XML-конфигураций для Spring, без Spring Boot):

Читать далее PageNotFound — No mapping for GET … JSP / JSPX

Изучение английского. Слова от 03.07.2023

drizzle [drɪzl] — мелкий дождь, моросить, накрапывать

cushion [kʊʃn] — диванная подушка

reunion party — вечер встречи выпускников

Читать далее Изучение английского. Слова от 03.07.2023