How to get sockJS sessionId in Spring’s WebSocketStompClient?

Brief. You want to compose a simple client which receives messages from the server side with STOMP over websockets. Most probably you will face the issue: the default sessionId retrieved from the Session doesn’t match the one assigned by sock.js. We need to go deeper.

Read more »

Mouse drag event support for SwipeBox

More precisely, I will tell how to add support of mousedown and mouseup events and how to use the difference of X coordinates to switch to the previous or to the next image in the gallery. Read more »

Mouse scroll event support for Swipebox

Javascript library Swipebox is commonly used in different galleries in spite of lack of support — last commit was several years ago. Nevertheless we can add mouse scroll support.
Read more »

How to avoid double url encoding in HATEOAS

The point is that HTTP parameters get encoded internally in HATEOAS firstly and then in spring when it requests the composed link. I will tell you a workaround in this post. Read more »

Изготовление блочной рогатки

В этой заметке я расскажу про изготовление блочной рогатки. За основу было взято видео видео. Идея в том, что по сравнению с обычной рогаткой к натягу резины добавляется примерно 15 сантиметров, а значит увеличивается скорость полета пульки.
Заготовку для рогатки я решил сделать из ламинированной фанеры толщиной 12 мм — нашелся подходящий кусок в гараже. Вырезана на ЧПУ фрезере. Read more »

Kaspersky Secure Connection расщедрился

Избавление от повторяющихся (boilerplate) методов в Enum в Java

В данной заметке будет рассказано про удаление из исходников повторяющихся кусков кода с помощью Reflection/Generics. Пусть в проекте содержится несколько перечислений для описания действий, в каждом из которых реализован метод, возвращающий список значений:
Read more »

Как в PostgreSQL привести дату TIMESTAMP WITH TIME ZONE к часовому поясу

Я храню в БД несколько параметров дата/время в виде TIMESTAMP WITH TIME ZONE. Как известно (документация), в постгресе всё это хранится в зоне UTC: Read more »

Тонкости абонирования ячейки (ящика) в Почте России

Разберем цены на примере Калужской области. Для начала разберем первичную аренду (т.е. не пролонгацию действующего договора) на 1 месяц.
Все ссылки можно сгенерировать тут: сайт Почты России. Read more »

How to pass a ZonedDateTime into native SQL query in JPA

Sometimes you have to use native SQL instead of JPQL or JPA specification, say, when you deal with non-portable key words like WITH RECURSIVE. That means, you need an explicit type conversation. I use postgres. In this post I will elaborate on that. Read more »