Archive for the ‘Программирование’ Category

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

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

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

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

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.

Снова о динамическом программировании

В этот раз задача звучит так. Имеем представление городских кварталов виде матрицы. Число в каждой клетке — это число пассажиров, которые хотят уехать (в каждом квартале только одна остановка). Автобус начинает двигаться в верхнем левом углу и заканчивает в правом. Он может двигаться только вправо или вниз. Нужно проложить маршрут так, чтобы автобус подобрал максимальное […]

Поиск прямоугольника с максимальной площадью в массиве единиц и нулей

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

What is wrong about vaadin’s Breadcrumb?

I’m going to tell about my experience with add-on page. First of all, this page contains outdated code examples, but that’s only the start of the list.

Динамический прокси на java и Ruby

Динамический прокси (Dynamic Proxy) оформился еще в Java 1.3. Он позволяет использовать базовые возможности аспектно-ориентированного программирования без задействования, собственно, AOP фреймворка. Многие приложения и фреймворки используют такие возможности. Примерами могут быть spring и hibernate. В этой заметке я расскажу как использовать динамический прокси в Java и поясню, как достичь того же в Ruby.

Интеграционные тесты с помощью dbunit и h2

В качестве основной СУБД в моем проекте используется postgres, но в тестах мы будем использовать in-memory БД h2. В этом случае нам не потребуется отдельной БД и все данные будут в оперативной памяти. После тестов не надо что-то подчищать.

How to get a value from lambda in Java?

If you reached this article, you most likely face one of these errors, and trying to get rid of one, get another: «variable used in lambda expression should be final or effectively final», «variable may be not initialized», «cannot assign a value to final variable». For my explanation I will use vaadin’s Window.

How to check if a row is present in vaadin’s grid after filtering

You probably have already tried out filtering feature in your vaadin project if you reached this article. Let’s understand how to get the list of items left in grid after filtering got applied.