Год без сахара (сентябрь 2019)

Продолжаю жить без печенек, конфет и тортиков. Уже успешно прожил сентябрь. Все статьи на эту тему помечаю меткой год без сахара. Можете почитать прошлые статьи, должно быть интересно.

Читать далее Год без сахара (сентябрь 2019)

Почему Optional несериализуемый

Класс Optional появился в Java 8. Он создан для облегчения работы с возвращаемыми из методов значениями, которые могут содержать null. Однако этот класс несериализуемый. Почему? Всё очень просто. Его не стоит использовать в качестве поля класса. Он создан только для использования в качестве возвращаемого из методов значения. Код, который вызывает метод, возвращающий Optional должен обработать реальное значение, либо бросить исключение через orElseThrow, либо получить значение по умолчанию с помощью orElse. В поле класса нужно уже записывать настоящее значение, а не обёртку с Optional.

Рекомендую ознакомиться со статьёй, описывающей основные методы работы с этим классом.


Дневник 28.09.2019

На этой неделе пытался снова отправить на проверку форкнутую версию Crayon Syntax Highlighter. Я там уже исправил много багов, недостатков стиля кодирования и прочего. Добавил туда классы, привёл в соответствие к стандарту наименования классов в WordPress. Добавил префиксы, чтобы с другими плагинами не было коллизий. Мне его вернули на доработку, к сожалению. Буду править дальше.

Читать далее Дневник 28.09.2019

Когда использовать Optional в Java

Класс java.util.Optional появился ещё в Java 8. Я уже описывал его применение в одной из прошлых статей. И даже в ещё одной. Но в каких случаях нам нужно использовать Optional? Ведь мы жили столько лет без неё.

Читать далее Когда использовать Optional в Java

Симметричные ключи шифрования

Симметричными ключами шифрования называются ключи, которые используются в симметричных алгоритмах шифрования, то есть таких алгоритмах, в которых один и тот же ключ используется как для шифрования, так и для расшифровки. Подобные ключи нужно хранить в секрете.


Синтетические поля в Java

Некоторые утилиты, работающие с Java, могут создавать свои собственные поля, в которых будут хранить дополнительную информацию. Например, библиотека подсчёта покрытия кода тестами JaCoCo Java Code Coverage Library добавляет в каждый класс поле $jacocoData.

Читать далее Синтетические поля в Java

Message Authentication Code (MAC)

Message authentication code (MAC) или имитовставка — это дополнительные данные, которые добавляются к сообщению и зависят от самого сообщения и секретного кода. Имитовставка позволяет защитить передаваемые данные от подделки и изменения.


Содержимое bytea в pgAdmin

Утилита pgAdmin отображает содержимое полей bytea как <binary data>. Если содержимое не слишком большое, то может возникнуть желание посмотреть его в шестнадцатеричном формате. Это делается с помощью encode:

Такая вот коротенькая заметка получилась. Вдруг пригодится.