
Java *
Объектно-ориентированный язык программирования
Обзор ESB-систем ServiceMix и Fuse

Для начала, разберемся что такое ESB и зачем системы такого класса используются в информационной инфраструктуре предприятий. На современных предприятиях используется всё большей приложений различного класса: ERP, CRM, BPM, DWH, ECM и ещё множество трех-буквенных аббревиатур. Все эти приложения используют для интеграции различные протоколы и различные форматы данных. Для того чтобы связать все эти системы между собой и используется ESB.
Java-бенчмарки: случайные паттерны и закономерные результаты
Особенности программного ProxyChanging'а в Android. Часть 1: от Jelly Bean до Lollipop

Если вы считаете полезным в будущем знать решение, хотите почерпнуть что-то для себя или в вас просто проснулось любопытство — добро пожаловать под кат. Там вас ждет внутреннее устройство классов отвечающих за конфигурацию Wifi в различных версиях Android, небольшая чашечка кода на Java и щепотка Reflection.
«Выходить на сцену — мой способ не отставать от технологий» : интервью с Барухом Садогурским из JFrog

В новом выпуске «Без слайдов» гостем стал Барух Садогурский aka jbaruch — Developer Advocate компании JFrog, постоянный резидент подкаста «Разбор Полётов» и частый спикер Java-конференций. За время разговора он среди прочего успел порассуждать:
- о продвижении продукта без навязчивого расхваливания
- о том, что «стюардессу Java EE пора закапывать»
- о сложностях монетизации open source
- о точном определении слова «стартап»
- о своём дрифте от технологий и борьбе с ним
- о том, чем Artifactory от JFrog лучше конкурентов — и даже о том, чем хуже
Как всегда, под катом — полная расшифровка интервью.
Измеряем производительность кэша Apache Ignite

Для исследования применялся бенчмарк cache2k-benchmark, разработанный с целью доказательства того, что у библиотеки cache2k кэш самый быстрый. Вот заодно и проверим. Настоящая статья не преследует цель всеобъемлющего тестирования производительности, или хотя бы научно достоверного, пусть этим занимаются разработчики Apache Ignite. Мы просто посмотрим на порядок величин, основные особенности и взаимное расположение в рейтинге, в котором будут ещё cache2k и нативный кэш на ConcurrentHashMap.
Итоги Школы и все материалы по архитектуре клиент-серверных приложений

Больше трех месяцев назад мы анонсировали набор в школу для Android-разработчиков в Казани, месяц назад подвели итоги отбора и пообещали после окончания Школы поделиться всеми материалами курса. Время пришло.
Что выкладываем:
Университет Иннополис поможет бесплатно подготовить ИТ-специалистов

Желающие пройдут курсы и устроятся на работу в компании-резиденты Иннополиса, среди которых — Яндекс, Kaspersky и Acronis.
Как сделать всплывающие подсказки в JavaFX
Забытое искусство подсказки
Давным-давно, когда люди ещё делали домашние странички, интернет был по шипучему модему, а Napster казался опасной провокацией коммунистов, простенькие оконные приложения под Windows очень часто писали на библиотеке VCL. Одни пользовались Delphi (но признавались только домашним), другие смело запускали её из C++ Builder (и удивлялись ещё одному String, а также спискам, которые начинаются с 1). А кто-то ухитрялся писать на нём под unix-ы (вы помните Kylix? А он был!)
В VCL почти у всех визуальных компонент были свойства ShowHint и Hint. Если быть точным, они были у всех компонент оконного типа (кнопок, выпадающих списков и прочих панелек).
В строковой Hint писался текст подсказки, а булевый ShowHint мог её отключить. А более прокачанные даже знали, что можно сделать расширенный вариант подсказки. Если написать в Hint Нажми меня|Кнопка просит, чтобы вы её нажали, то левая часть всплывёт, а правая будет передана в событие. Это событие перехватывали и показывали полученный текст в строке состояния.
Настолько простые и удобные подсказки были предметом величайшей зависти тех, кто сидел на MFC (никаких WinForms в тогдашней Visual Studio ещё не было, не говоря о WPF), поддерживал OWL или штурмовал чистый WinAPI с Петцольдом наперевес. Кто знает, может быть кто-то из них и приложил свою мозолистую от кодинга руку к тому, что уникальная по своей удобности технология подсказок оказалась полностью утрачена в JavaFX.
Что у нас есть?
В JavaFX за подсказки отвечает компонент Tooltip. По всей видимости, это тайный компонент, потому что, к примеру, SceneBuilder его знать не знает.
Альтернативная версия упаковки Java приложения в Docker

Далее последует альтернативный способ сборки Java-приложений в Docker контейнер используя Maven.
Welcome to Spark… on Java: Интервью с Евгением Борисовым
В 2012 году увидел свет фреймворк Apache Spark, разработанный на Scala и рассчитанный на повышение производительности определенных классов задач в работе с Big Data. Проекту уже 4 года он повзрослел и дорос до версии 2.0, к которой (на самом деле уже начиная с версии 1.3-1.5) имеет мощный и удобный API для работы с Java. Чтобы понять, для кого это все надо, какие именно задачи стоит решать при помощи Spark, а какие не стоит, мы поговорили с Евгением EvgenyBorisov Борисовым, автором тренинга «Welcome to Spark», который пройдет 12-13 октября в Петербурге.

Как с помощью maven подключить библиотеку к проекту
Спросите кого-нибудь, для чего вообще нужен Maven — 90 процентов поголовья программистов ответит, что именно для этого и будут во многом правы.
Если в случае с, например, C++ подключение библиотеки к своему проекту — это серьёзный шаг, который гарантированно усложнит сборку до такой степени, что придётся включить инструкции по подключению данной конкретной библиотеки в readme, то в случае с Java это делается легко и непринуждённо — не в последнюю очедь благодаря Maven.
Хочу отметить, что статья предназначена для тех, кто начал изучать java относительно недавно и хотя уже знает из предыдущей статьи, что такое maven — о том, что такое библиотеки, знает не очень хорошо, а как их подключать не знает вообще.
QA: Conference. Множество новостей, новые доклады, онлайн-вещание

Мы сделали это. Сетка докладов практически готова. Самое главное, выжимка:
- Автоматизация тестирования серверной части и UI в ОС Linux в условиях жестких рамок настройки безопасности системы от Макса Шоничева
- Про проблемы взаимодействия между отделами QA и Dev поговорят их представители: Артур Орлов и Анастасия Леншмидт
- Мы с Яном Алексеенко проведем три мастер-класса
- Специальный гость из Германии — Алексей Виноградов (один из ведущих Radio QA и разработчиков Selenide) — познакомит нас с тремя простыми и практичными видами PageObject архитектуры — Static, Void и Fluent и продемонстрирует использование кодом, сравнит плюсы и минусы подходов
- Также из Германии — наш гость Slava Schmidt — консультант по Scala. Он нам поведует про Property-Based Testing with API-First Approach
Ближайшие события
«Недавно запустили систему онлайн-продаж для BMW»: T-Systems о роли Java и конференций в своей деятельности

Мы расспросили нескольких сотрудников компании: одних об их личном опыте Java-разработки в T-Systems, других — о компании в целом. Нашими собеседниками стали:
- Кирилл Чернин — HR бизнес-партнёр
- Дмитрий Александров — ведущий эксперт-программист (спикер Joker)
- Вячеслав Круглов — Java-разработчик, team lead (спикер Joker)
- Мария Зернова — специалист по внутренним коммуникациям
Принуждение к асинхронности в Java сервисах для Baratine
Baratine сервер для микро-сервисов — одна из самых необычных платформ над которой мне довелось работать. В основе дизайна этого сервера лежат несколько дополняющих друг друга принципов.
- Асинхронные сервис интерфейсы
- Выполнение вызовов сервиса в едином потоке
- Неразделённое владение данными
- Асинхронный Web
- Асинхронная платформа исполнения сервисов
Spring Boot стартер для Apache Ignite своими руками

Вот уже вышло две статьи в потенциально очень длинной серии обзоров распределённой платформы Apache Ignite (первая про настройку и запуск, вторая про построение топологии). Данная статья посвящена попытке подружить Apache Ignite и Spring Boot. Стандартным способом подключения некой библиотеки к Spring Boot является создание для этой технологии «стартера». Несмотря на то, что Spring Boot весьма популярен и на Хабре описывался не единожды, про то, как делать стартеры, вроде бы ещё не писали. Этот досадный пробел я постараюсь закрыть.
Статья посвящена преимущественно Spring Boot'у и Spring Core, так что те, кого тема Apache Ignite не интересует, всё равно могут узнать что-то новое. Код выложен на GitHub, стартера и демо-приложения.
Логирование Git revision в Java с помощью Maven
Моя цель показать Вам, как с помощью нескольких maven plugin-ов можно сделать вывод в лог Вашей java программы названия ветки и хэш коммита из Git. Это полезно при анализе логов, если у Вас давно не было деплоя и история Вашего инструмента CI затерлась.
Masking Bitmaps на Android
Введение
При разработке под Android довольно часто возникает задача наложить маску на изображение. Чаще всего требуется закруглить углы у фотографий или сделать изображение полностью круглым. Но иногда применяются маски и более сложной формы.
В этой статье я хочу проанализировать имеющиеся в арсенале Android-разработчика средства для решения таких задач и выбрать наиболее удачное из них. Статья будет полезна в первую очередь тем, кто столкнулся с необходимостью реализовать наложение маски вручную, не пользуясь сторонними библиотеками.
Я предполагаю, что читатель имеет опыт в разработке под Android и знаком с классами Canvas, Drawable и Bitmap.
Код, используемый в статье, можно найти на GitHub.
Проект Jigsaw в Java 9. Модулярное будущее, которого не избежать

О проекте модуляризации Java мы слышим из года в год. Каждый раз ждём, следим за анонсами. Нам говорят, что Jigsaw практически готов, но каждый раз переносят срок выхода. Может быть, это не такой простой проект, как видится многим? Возможно, что изменения в нем повлияют на разработку в корне? Может быть, модулярная система — это только верхушка айсберга? Ответить на вопросы, связанные с проектом Jigsaw, мы попросили Ивана Крылова.
Иван занимается разработкой виртуальных машин Java и компиляторов более 10 лет, в настоящее время развивает компиляторную инфраструктуру в виртуальной машине Zing в Azul Systems. Регулярный докладчик на конференциях JUG.ru и других европейских Java-конференциях.Что такое Jigsaw, и как он повлияет на мир Java?
— Иван, добрый день. Расскажите, пожалуйста, какое влияние проект Jigsaw окажет на экосистему Java?
— Добрый. Для объяснения моего взгляда на Java и модулярность стоит немного рассказать о моей деятельности. Коммерческим программированием я занимаюсь примерно двадцать лет. Последние одиннадцать из них — разработкой виртуальных машин. Работал в команде HotSpot Runtime в Sun. Потом компания была куплена Oracle. Далее было несколько изменений деятельности, и последние три с половиной года работаю в компании Azul Systems, где занимаюсь разработкой виртуальных машин.
Упаковка jvm приложения в docker образ

Мы же решим практическую задачу по упаковке jvm приложения и получим контейнер с миниатюрным Linux, JDK и нашим приложением, который опубликуем на hub.docker.com и сможем запускать где угодно.