Java Script != JavaScript. Пять джав в одном классе. Скриптуем так, чтобы запомнили навсегда

На этой неделе у JUG.ru Group, скорее всего, выйдет анонс. Пока не скажу чего. Участие в тайных проектах будит креатив, поэтому вот вам очередной ночной видосик про джаву. Невероятные новости: теперь он не полтора часа длиной, а около 20 минут, и там даже есть что смотреть. Чуть менее чем полностью …

[Перевод] Что требуется сделать в языке Java для полноценной поддержки машинного обучения

Здравствуйте, коллеги! Из последних известий по нашим планируемым новинкам из области ML/DL: Нишант Шакла, “Машинное обучение с Tensorflow” — книга в верстке, ожидается в магазинах в январе Делип Рао, Брайан Макмахан, “Обработка естественного языка на PyTorch” — контракт подписан, планируем приступать к переводу в январе. В данном контексте мы хотели …

[Екатеринбург, анонс] java.ural.Meetup @2 — анонс второго Java-митапа + видео докладов с java.ural.Meetup @1

В первый день зимы, 1 декабря, приглашаем принять участие во второй встрече java.ural.Meetup, которая пройдёт в конференц-зале в новом офисе Контура по адресу ул. Малопрудная, 5. Начало в 14:00. Бонусом публикуем записи докладов со встречи java.ural.Meetup @1, прошедшей 15 марта в Екатеринбурге. Что за java.ural.Meetup? В начале года среди разработчиков …

[Из песочницы] Docker Compose + Consul + Spring Boot + FeignClient

План: Настройка сервисов в Docker Compose Регистрация сервисов в Consul’e и добавление переменных в хранилище Consul’a Makefile Конфигурация БД FeignClient Конец Данная статья показывает пример того, как поднять локальный development environment с использованием Docker Compose, Consul, Make для Spring Boot-приложения, использующего, например, PostgreSQL и Browserless. Прилага абсолютно бесполезная: по ссылке …

Thrift в качестве REST API

Небольшая статья о том, как мы столкнулись с проблемами синхронизации работы между командами клиентской и серверной разработки. Как мы подключили Thrift для того, чтобы упростить взаимодействие между нашими командами. Кому интересно, как мы это сделали, и какие «побочные» эффекты мы словили, прошу заглянуть под кат. Читать дальше → from Хабр …

Патчинг Java кода на продакшене без анестезии

Здесь я расскажу об устройстве одного из многих инструментов, которые помогают в разработке различных сервисов для проекта Одноклассники. Внутри компании мы называем его «Hot Code Replace» (HCR), и предназначен данный инструмент для исправления критических и несложных багов в работающих продакшн сервисах без их остановки. Это чрезвычайно важная особенность, так как …

[Перевод] Java Challengers #2: Сравнение строк

Java Challengers #2: Сравнение строк У нас как всегда много опаздывающих к началу курса, так что только вчера провели второе занятие среди нового потока “Разработчик Java”. Но это так, мелочи жизни, а пока что мы продолжаем публикацию серии статей Java Challengers, перевод которых подготовили для вас. В Java класс String …

Конференция ThinkJava #8 в Харькове

Мы не станем рассказывать про уникальность нашего мероприятия, так как собираемся презентовать доклады, а не единорогов. Не будем заманивать вас плюшками в стиле сертификатов и промокодов. Не запилим смешной сайт и не закажем кофебрейк на Копи Лювак. Мы слишком заняты тем, что готовимся к восьмой “Джаве”, репетируем доклады, следим, чтобы …

Как начать работать с Hibernate Search

Сегодня многие разрабатывают enterprise-приложения на Java с использованием spring boot. В ходе проектов часто возникают задачи по созданию поисковых систем разной сложности. Например, если вы разрабатываете систему, хранящую данные о пользователях и книгах, то рано или поздно в ней может потребоваться поиск по имени/фамилии пользователя, по названиям/аннотациям для книг. В …

Беспроводные метки NFC

Технический прогресс не стоит на месте, появляющиеся новые технологии со временем дешевеют и становятся доступны практически всем желающим. Как пример можно привести мобильные телефоны. Середина 80-ых — начало 90-ых были переносные таксофоны с ручками или кирпичи стоимостью несколько тысяч $, конец 90-ых — большого размера трубки, с торчащими антеннами со …

[Перевод] Multi-release JARs — Плохо или хорошо?

От переводчика: мы активно работаем над переводом платформы на рельсы Java 11 и думаем над тем, как эффективно разрабатывать Java библиотеки (такие как YARG) с учётом особенностей Java 8 / 11 так, чтобы не пришлось делать отдельные ветки и релизы. Одно из возможных решений — multi-release JAR, но и тут …

Аспектно-ориентированное программирование, Spring AOP

Аспектно-ориентированное программирование (АОП) — это парадигма программирования являющейся дальнейшим развитием процедурного и объектно-ориентированного программирования (ООП). Идея АОП заключается в выделении так называемой сквозной функциональности. И так все по порядку, здесь я покажу как это сделать в Java — Spring @AspectJ annotation стиле (есть еще schema-based xml стиль, функциональность аналогичная). Выделении …

Антон Архипов про эффективную работу с IntelliJ IDEA и TeamCity на jug.msk.ru

1 ноября 2018 года на встрече сообщества московских Java-разработчиков jug.msk.ru выступил Антон Архипов, рассказав о приёмах использования и новых возможностях продуктов компании JetBrains — IntelliJ IDEA и TeamCity. Читать дальше → from Хабр / Java – объектно-ориентированный язык программирования https://ift.tt/2P8VqBP

[recovery mode] jDrum эмулятор ритм студий

Предисловие: у меня оборудована студия, в студию я решил докупить электронные midi ударные, инструмент с падами из линейки: medeli, akai, novation. Для разработки на компьютере установлен Linux (Ubuntu), программное обеспечение выше упомянутых девайсов в Linux не поддерживается, а заморочки с wine и виртуальной машиной или переключение между операционными системами того …

[Перевод] Java Challengers #1: Перегрузка методов в JVM

Java Challengers #1: Перегрузка методов в JVM Всем доброго дня. У нас уже запустился очередной поток курса “Разработчик Java”, но у нас ещё осталось немного материалов, которыми бы хотели с вами поделиться. Добро пожаловать в серию статей Java Challengers! Этот серия статей посвящена особенностям программирования на Java. Их освоение — …

Как наконец-то начать писать тесты и не пожалеть об этом

Приходя на новый проект, я регулярно сталкиваюсь с одной из следующих ситуаций: Тестов нет совсем. Тестов мало, их редко пишут и не запускают на постоянной основе. Тесты присутствуют и включены в CI (Continuous Integration), но приносят больше вреда, чем пользы. К сожалению, именно к последнему сценарию часто приводят серьезные попытки начать внедрять тестирование при отсутствии соответствующих навыков. Что можно сделать, чтобы изменить сложившуюся ситуацию? …

Разбор игры от Одноклассников на Joker 2018

Всем привет! Несколько дней назад мы выкладывали пост про задачки, которые давали на конференции Joker 2018. Но это еще не всё! В этом году специально для Joker мы сделали целую игру с не менее интересными задачками по Java (и не только), про которую и расскажем сегодня. Читать дальше → from …

Валидация в Java-приложениях

Этот текст посвящен различным подходам к валидации данных: на какие подводные камни может наткнуться проект и какими методами и технологиями стоит руководствоваться при валидации данных в Java-приложениях. Я часто видел проекты, создатели которых вообще не утруждались выбором подхода к валидации данных. Команды работали над проектом под невероятным давлением в виде …

Протокол ISCP/eISCP от Onkyo: управление устройствами Onkyo по сети

Я уверен, что многие из читателей Хабра знают, или хотя бы слышали, об аудио-аппаратуре компании Onkyo. Современные сетевые плееры и A/V ресиверы имеют на борту Линукс, а также возможность проводного/беспроводного подключения к сети. Компания Onkyo предоставляет своё фирменное мобильное приложение для удалённого управления подобным устройством — Onkyo Controller. Информации, как …

Пишем игру на LWJGL

Создание игры на LWJGL #1 Написание игры — сложный и интересный процесс, который требует много времени. В данном цикле статей я расскажу, как создать простую 3D игру на Java с использование библиотеки LWJGL. Для создания своей игры необходимо следующее: Умения писать код на Java (необходимый минимум: понимание работы условий, циклов, …