Рубрика «java» - 95

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

Выделении сквозной функциональности

До
image
и после
image
Т.е. есть функциональность которая затрагивает несколько модулей, но она не имеет прямого отношения к бизнес коду, и ее хорошо бы вынести в отдельное место, это и показано на рисунке выше.

Join point

Читать полностью »

1 ноября 2018 года на встрече сообщества московских Java-разработчиков jug.msk.ru выступил Антон Архипов, рассказав о приёмах использования и новых возможностях продуктов компании JetBrainsIntelliJ IDEA и TeamCity.

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

Предисловие: у меня оборудована студия, в студию я решил докупить электронные midi ударные, инструмент с падами из линейки: medeli, akai, novation.

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

Решил разработать простой инструмент для написания ритмов.
Читать полностью »

Представляем вам перевод статьи Sukhjinder Arora, опубликованной на ресурсе Bits and Pieces. Узнайте под катом о функциях высшего порядка в JavaScript и о некоторых других функциях, встроенных в этот язык.

Функции высшего порядка в JavaScript: что это такое? - 1
Фото NESA by Makers с сайта Unsplash
Читать полностью »

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

Приходя на новый проект, я регулярно сталкиваюсь с одной из следующих ситуаций:

  1. Тестов нет совсем.
  2. Тестов мало, их редко пишут и не запускают на постоянной основе.
  3. Тесты присутствуют и включены в CI (Continuous Integration), но приносят больше вреда, чем пользы.

К сожалению, именно к последнему сценарию часто приводят серьезные попытки начать внедрять тестирование при отсутствии соответствующих навыков.

Что можно сделать, чтобы изменить сложившуюся ситуацию? Идея использования тестов не нова. При этом большинство туториалов напоминают знаменитую картинку про то, как нарисовать сову: подключаем JUnit, пишем первый тест, используем первый мок — и вперед! Такие статьи не отвечают на вопросы о том, какие тесты нужно писать, на что стоит обращать внимание и как со всем этим жить. Отсюда и родилась идея данной статьи. Я постарался кратко обобщить свой опыт внедрения тестов в разных проектах, чтобы облегчить этот путь для всех желающих.
Читать полностью »

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

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

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

Но можно отыскать в сети описание протокола Integra Serial Communication Protocol over Ethernet (eISCP), который и лежит в основе этого приложения. Протокол интересный. На Хабре ни одной статьи по этому протоколу найти не удалось. С одной стороны, ничего трагичного в этом нет, так как эта проприетарщина нигде, кроме Onkyo, вроде бы и не используется. С другой стороны есть шанс, что найдутся энтузиасты, которые захотят самостоятельно порулить своим плеером или ресивером Onkyo. Также статья может быть интересна тем, кто чисто из теоретического любопытства коллекционирует знания по различным сетевым протоколам. Если заинтересовал, прошу под кат.
Читать полностью »

Создание игры на LWJGL #1

Написание игры — сложный и интересный процесс, который требует много времени. В данном цикле статей я расскажу, как создать простую 3D игру на Java с использование библиотеки LWJGL.

Для создания своей игры необходимо следующее:

  • Умения писать код на Java (необходимый минимум: понимание работы условий, циклов, строк, массивов, функций, классов)
  • Среда разработки (я буду использовать Eclipse)
  • Библиотека LWJGL
  • Видеокарта, поддерживающая OpengGL версии не ниже 3.3
  • Свободное время
  • Идея

Кому интересно, прошу под кат.
Читать полностью »

Совсем недавно прошел Joker 2018 — главная Java-конференция России. Это уже шестой по счёту Joker, и на этот раз он собрал рекордное количество участников (около тысячи четырёхсот человек — и это не считая спикеров, стендистов и организаторов). В этом хабрапосте мы еще раз оглянемся на то, как это было, и посмотрим интересные фоточки (осторожно, трафик).

Концентрированная Java на полторы тысячи человек. Как прошел Joker 2018 - 1

Подготовка

На самом-то деле, началось всё задолго до часа «Ч». В течение нескольких месяцев докладчики подавали свои доклады и полировали их до совершенства вместе с программным комитетом. Для этого существует простая, но эффективная система принятия доклада, отполированная на множестве наших конференций.

Концентрированная Java на полторы тысячи человек. Как прошел Joker 2018 - 2

Читать полностью »

Пробуем Micronaut или Дорогая, я уменьшил фреймворк

Про фреймворк micronaut я мельком вычитал из дайджест рассылок. Заинтересовался, что за зверь такой. Фреймворк ставится в противовез напичканному всем нужным инструментарием Spring.

Micronaut

Предвосхищая грядущую конференцию для разработчиков, где как раз будут рассказывать и показывать, как использовать micronaut в ваших этих микросервисах, я решил хоть раз подготовиться и прийти хоть с каким-то контекстом в голове, с неким набором проблем и вопросов. Выполнить так сказать домашнее задание. Я решил налабать какой-нибудь небольшой pet-project за пару-тройку вечеров (как пойдёт). В конце статьи будет ссылка на репозиторий всех исходников проекта.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js