mind.out.stream().filter(e -> e.contains("java") || e.contains("programming")).forEach(e -> blog::write)

Кэширование в hibernate

На днях столкнулся с задачей кэширования запросов к БД. Приложение использовало, как это не странно, hibernate. В этой статье я расскажу, о том какие бывают кэши в hibernate, каким образом их использовать и как настраивать.

0
Read More

Конвертирование дат из XMLGregrorianCalendar в GregorianCalendar

При парсинге xml файла наткнулся на следующую проблему. Даты ранее 1582 года содержащиеся в XMLGregorianCalendar некорректно конвертируются в GregorianCalendar. Вывод: Это происходит из-за перехода с Юлианского календаря на Грегорианский. Чтобы того не было, необходимо явно выставить дату. Вывод:

0
Read More

Ускоряем сборку проекта с использованием maven и git

Всем привет, хочу предложить небольшой Proof of Concept, который должен ускорить сборку сложного, многомодульного мавен проекта. Как мы обычно собираем проект? В любимом терминале вводим: mvn clean installПосле этого maven компилирует весь проект и копирует созданные артифакты в локальный репозиторий. Все тривиально, но здесь есть ряд проблем. Это долго. Даже если убрать clean, запустятся тесты, после них произойдет упаковка в jar или какой другой тип артифакта, и наконец копирование полученного артифакта в $HOME/.m2/repository Давайте подумаем над тем, как мы можем…

0
Read More

Коротко: Экстремальное программирование

Вступление. После прочтения книги Кент Бек «Экстремальное программирование» подытожу и напишу основные тезисы об этой методологии разработки. Принципы лежащие в основе методологии покажутся неновыми, так и есть, она не несет никаких волшебных пилюль. Основная идея заключается в грамотном использовании и комбинировании устоявшихся и проверенных приемов. Автор книги предлагает использовать эти методы доходя до крайностей, из за чего методология и обязана такому названию. Основные моменты. Команда не должна быть слишком большая, не более 10 человек. Увеличение численности происходит постепенно, по мере…

0
Read More

Коротко: Методология SCRUM

Вдохновленный прочтением «Scrum. Революционный метод управления проектами«, хочется немного подвести итоги и написать об основных моментах методологии scrum.

0
Read More

10 заповедей Zen программиста

1. Внимательность. Если вы работаете над решением задачи, делаете её хорошо,  на столько насколько вы можете. Не переключайтесь на другие вещи. Работайте только над чем то одним, в один момент времени. Вы не станете быстрее, если будете работать в многозадачном режиме. Если вы работаете над несколькими задачами, вы раньше устанете и сделаете больше ошибок и потратите больше времени на переключение между задачами. Это применимо к различным областям, не только к программированию. «Если вам нужен сон, спите» Кодо Саваки Не планируйте процесс разработки, когда…

0
Read More

Кидаем исключения типа Object

Всем известно, что кидать исключения можно только, если объект наследуется от класса java.lang.Throwable. Для этого предназначена инструкция байткода ATHROW. Мне стало интересно, осуществляется ли проверка типа после компиляции.Напишем небольшой метод, генерирующий нужный класс, с помощью библиотеки bcel.

0
Read More

Неочевидные оптимизации JIT

В данном посте, я расскажу про интересный случай возникший у меня работе. Есть следующий код: В методе проиcходит сериализация массива байт. Используется тот факт, что размер char в java — 16 бит, а размер byte (Внезапно 😱) — 8 бит. Но суть не в этом. Интересный момент здесь заключается в том, что метод работает гораздо медленее на массивах нечетной длины.

0
Read More

Что такое DevOps?

DevOps — термин обозначает группу идей, которые в большинстве своем не новы. Эти идеи уже повсеместно проникли и быстро распространились в техническом сообществе. Как и для любого нового и популярного термина, люди часто испытывают трудности и противоречивые чувства, когда пытаются понять что же это. Сейчас попробуем определить, чем DevOps может быть нам полезен. Определение DevOps — новое понятие, являющееся объединением двух последних значимых трендов. Первый, так называемый «Agile в системном администрировании«. Он поощряет применение практик Agile и Lean в области…

0
Read More