Из Erlang/Elixir в Java и обратно. Приключение на 20 минут

Всем хай! Когда приходится общаться из Erlang/Elixir мира с Java и обратно — не так уж и много вариантов имеется. Всеми заброшенный jinterface и новая библиотека encon, базовый пример использования которой представлен под катом. Читать дальше → from Хабр / Все публикации подряд / Java https://ift.tt/2pkMJW1

[Перевод] Представляем Spring Data JDBC

В предстоящий релиз Spring Data под кодовым именем Lovelace мы собираемся включить новый модуль: Spring Data JDBC. Идея Spring Data JDBC заключается в том, чтобы предоставить доступ к реляционным базам данных без использования всей сложности JPA. Читать дальше → from Хабр / Все публикации подряд / Java https://ift.tt/2OBcpZw

Generics + Spring: Да прибудет с вами сила

Однажды в одном далёком, далёком банке … Доброго времени суток, хабр. Сегодня наконец-то вновь дошли руки написать сюда. Но в отличие от предыдущих туториалов — статей сегодня хотелось бы поделиться своим опытом и показать мощь такого механизма как дженерики, который вместе с магией спринга становится ещё сильнее. Сразу хочу предупредить, …

Как делать большие изменения на бэкенде: доклады от спикеров из Wrike, Яндекс.Денег и Nexign

13 сентября в офисе Wrike прошел бэкенд-митап, посвященный глобальным изменениям в продукте. Поговорили о глобальном рефакторинге, смене методологии разработки на лету, унификации в проектах и микросервисах. Для тех, кто не смог прийти, мы публикуем видеозаписи докладов. Смотреть from Хабр / Все публикации подряд / Java https://ift.tt/2QAsVdB

Первый байндинг для Exonum: почему мы выбрали Java

Ядро нашего фреймворка для разработки приватных блокчейнов Exonum написано на Rust, поскольку этот ЯП ориентирован на безопасность работы с памятью. Однако наряду со многими преимуществами, Rust имеет ряд особенностей, усложняющих «взаимодействие» с ним: его синтаксис непривычен для многих разработчиков, а порог вхождения довольно высок. Чтобы упростить работу с платформой Exonum …

[Перевод] Зачем человеку Scala?

Здравствуйте, коллеги. Не так давно мы допечатали книгу Одерски, Спуна и Веннерса о Scala 2.12. Ведь до Scala 3 еще далеко. Автор сегодняшней статьи — Адам Уорски, сооснователь компании «SoftwareMill» и опытный Scala-разработчик. У него получилось интересное резюме сильных сторон современного языка Scala, которое мы и предлагаем вашему вниманию. Читать …

«Мы все стремимся к сложности, а потом с ней боремся»: интервью с Венкатом Субраманиамом

«Сколько зрителей придёт на ваш доклад по Java? Зависит от того, выступает ли в то же время в соседнем зале Венкат». Это шутка с изрядной долей правды: в Java-мире Венкат Субраманиам — один из самых известных спикеров, так что на конференциях действительно способен оттянуть зрителей из других залов. Он неустанно …

[Перевод] Что нового в JPA 2.2

Всех с праздником! Так уж внезапно получилось, что старт второй группы «Разработчик Java Enterprise» совпал с 256-м днём в году. Совпадение? Не думаю. Ну и делимся предпоследней интересностью: что же нового привнёс JPA 2.2 — cтриминг результатов, улучшенное преобразование даты, новые аннотации — лишь несколько примеров полезных улучшений. Поехали! Java …

Многомодульность в Android с точки зрения архитектуры. От А до Я

Всем привет! Не так давно мы с вами осознали, что мобильное приложение — это не просто тонкий клиент, а это действительно большое количество самой разной логики, которое нуждается в упорядочивании. Именно поэтому мы прониклись идеями Clean architecture, прочувствовали, что такое DI, научились использовать Dagger 2, и теперь с закрытыми глазами …

UniSharping: конвертирование кода C# в Java и Python

Введение С 70-х годов развивается Simplified English, цель которого — определение подмножества языка, понятного широкому кругу неносителей языка. Рекомендуется, например, для технической документации. Автоматические переводчики на таком подмножестве будут работать заведомо корректнее, в идеале генерируя текст, не требующий ручной корректуры. Если применить этот подход к C# для задачи автоматической конвертации …

[Из песочницы] Быстрый старт веб-проекта (BE — java spring, FE — React Redux, взаимодействие — Rest, WebSocket)

Чтобы разработать современное веб приложение, необходимо иметь навыки как в создании серверной части, так и клиентской. Наиболее часто встречаемое в последнее время сочетание в корпоративной среде — это Java c использованием Spring Framework для сервера и React для клиента. Однако не все разработчики обладают Full stack навыками (знаниями как в …

Раздача халявы: нетормозящие треды в Java. Project Loom

Хотите ли вы в джавке треды, которые не жрут память как не в себя и не тормозят? Хорошее похвальное желание, и на данный вопрос отвечает этот выпуск. Объясняем работу Project Loom на коробках с пиццей! Налетай! Основной формат — это видеокаст. Для тех, кто любит потреблять видео. Под катом есть …

Как и зачем мы написали Систему Взаимодействия для 1С: Предприятия: постановка задачи, выбор архитектуры, реализация

В этой статье расскажем о том, как и для чего мы разработали Систему Взаимодействия – механизм, передающий информацию между клиентскими приложениями и серверами 1С:Предприятия – от постановки задачи до продумывания архитектуры и деталей реализации. Система Взаимодействия (далее – СВ) – это распределенная отказоустойчивая система обмена сообщениями с гарантированной доставкой. СВ …

Склейка двух apk файлов в один

Решил я как-то сделать склейку двух apk файлов, но информации о том, как это сделать на просторах интернета не особо то много. Тогда вооружившись трояном Ahmyth для android (его исходниками), началось путешествие в мир склейки apk своими руками. Коротко об этом далее… Читать дальше → from Хабр / Все публикации …

О сборке JDK 8 на Ubuntu, качестве кода Hotspot и почему всё валят на C++

Хотел сегодня поспать, но опять не удалось. В Телеграме появилось сообщение, что у кого-то не собирается Java… и мы очнулись только через пару часов, уставшие и довольные. Кому этот пост может быть полезен? Да, наверное, никому, кроме тех, кто тоже собирает JDK8 или просто любит почитать кошмарные ужасы. В общем, …

Открытый урок Java Enterprise «CDI in action»

Всем доброго дня! Наш прекрасный Виталий Иванов, преподаватель курса «Разработчик Java Enterprise» провёл на прошлой неделе вебинар на тему «CDI in action» — про с одну из ключевых спецификаций стека Java Enterprise — Contexts and Dependency Injection 2.0. На уроке в целом разбирались паттерны IoC и DI, а на примере …

[Из песочницы] Реализация своего IoC контейнера

Введение Каждый начинающий разработчик должен быть знаком с понятием Inversion of Control (Инверсия управления). Практически каждый новый проект сейчас начинается с выбора фреймворка, с помощью которого будет реализован принцип внедрения зависимостей. Инверсия управления (Inversion of Control, IoC) — важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах и …

Команда плагинов для настройки JavaFX компонент в настольном приложении

Всегда приятно общаться с приложением, которое запоминает твои повадки и словно чувствует тебя, того, что ты хочешь. Любая UI библиотека или платформа обладает увы лишь базовым функционалом и набором компонент. Например, если колонка в таблице не перемещается или по ней нельзя отсортировать, то такое приложение, в котором она используется сложно …

[Перевод] Хватит кормить логгеры! Даешь больше модификаторов! Lazy Static Final Fields. Черновой набросок фичи

Достало, что в Java логгеры инициализируются в момент инициализации класса, отчего замусоривают весь запуск? Джон Роуз спешит на помощь! Вот как это может выглядеть: lazy private final static Logger LOGGER = Logger.getLogger(“com.foo.Bar”); Этот документ расширяет поведение final-переменных, позволяя по желанию поддерживать ленивое выполнение — как в самом языке, так и …

[Перевод] Corda: Kotlin

Когда кто-то смотрит на код Corda, то сразу обращает внимание, что он написан на Kotlin — новом языке программирования от JetBrains, который может компилироваться под JVM и в Javascript. Это был необычный выбор, и в этой статье я хочу поделиться некоторыми причинами такого решения и опытом нашего “года с Kotlin …