При использовании утилиты nicstat можно заметить расхождение измерений скорости трафика на физическом и виртуальном интерфейсе. На стороне OS – Origin Server – мы измерим записанные байты.
eth0 – физический интерфейс, eth0.20 – виртуальный. Других источников трафика на eth0 нет. Read more »
Почему отличается пропускная способность физического и виртуального сетевого интерфейса?
Динамический прокси на java и Ruby
Динамический прокси (Dynamic Proxy) оформился еще в Java 1.3.
Он позволяет использовать базовые возможности аспектно-ориентированного программирования без задействования, собственно, AOP фреймворка. Многие приложения и фреймворки используют такие возможности. Примерами могут быть spring и hibernate.
В этой заметке я расскажу как использовать динамический прокси в Java и поясню, как достичь того же в Ruby. Read more »

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

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. Read more »

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. Read more »

Как передать из spring контроллера hateoas-совместимый список сущностей
Рассмотрим случай передачи из spring контроллера списка сущностей, когда использование создаваемых на лету методов интерфейса spring data почему-то не подходит. Использовать будем hateoas. В данном примере мы будем передавать на вход методу сущность с параметрами поиска в виде JSON, на основе этой сущности потом будет формироваться JPA спецификация для передачи в метод репозитория. Read more »

Как сравнить строки не алфавитно в JPA Specification, преобразовав их в числа
Вводная такая. В постгресе хранятся сущности Topic со строковым полем number, которое, тем не менее, гарантированно хранит число. Так уж получается по требованиям. Нужно при поиске сконструировать предикат, который будет сравнивать это числовое значение с другими числами, т.е. нам не подходит alphabetical comparison. Read more »
Что может пойти не так при использовании hashCode() класса java.lang.String?
В заметке будет рассказано о том, как работает метод hashCode(), как происходят коллизии и об опасности некорректного использования строк в качестве ключей. Read more »

How to implement seamless switching between multiple nextgen galleries on the same page
Let’s assume you have a wordpress page with multiple nextgen galleries. In my case I wanted to keep the sorting order of photos and maintainability and interleave the photos with some text. So, placing all the images into a single gallery wasn’t an option. And I couldn’t find a setting in the plugin to control generation of HTML representation of a gallery so that after reaching the last photo in a gallery you switch to the first photo in the next gallery. In this post I will tell you how to alter this logic. Read more »

Объемный пазл «Лягушка»
В данной заметке я расскажу, как резал, дорабатывал и собирал этот 3d пазл. В качестве материала я выбрал фанеру 6 мм. Для этой толщины и будет прикреплен файл для лазерной резки. Если вы захотите резать на другой толщине, то используйте масштабирование с учетом толщины луча. Я всегда проектирую шиповые соединения так, чтобы ход был тугой: проще немного расширить, чем исправлять болтающиеся части. Read more »