Обновить
512K+

Java *

Объектно-ориентированный язык программирования

231,97
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Мой первый Eclipse-плагин

Время на прочтение4 мин
Охват и читатели27K
Приветствую, дорогие хаброчитатели!
Некоторое время назад мне выпала интересная задача – написать плагин для Eclipse. Причем плагин не простой, а с хитрой задумкой.
Опыта написания плагинов для Eclipse у меня никогда не было, но надо – так надо, а что из этого получилось – под хаброкатом.
Читать дальше →

Java: IP-телефония с нуля

Время на прочтение3 мин
Охват и читатели16K
В предыдущей статье «Транслируем звук по сети с помощью Java» я описывал способ приема и трансляции звука по сети встроенными средствами Java.

Здесь я продолжу развивать эту идею, и расскажу, как сделать с помощью Java простую систему IP-телефонии.

Система IP-телефонии состоит из серверной части, которая хранит учетные данные пользователей и их текущие IP, и консольного клиента, который способен совершать и принимать звонки напрямую от второго абонента.

Полностью исходники можно посмотреть на github.

Всех заинтересовавшихся прошу под кат.
Читать дальше →

Самопальный фрэймворк Arachnidium для тестирования web и мобильных приложений. Get started!

Время на прочтение4 мин
Охват и читатели6.1K
Привет, Хабр!

Эта статья об одной крошечной наработке (да уж, по сравнению, например, со Spring), которая при некоторой доводке до ума, может найти применение в тестировании как вэб, так и мобильных приложений, или быть просто неким любопытным примером для будущих разработок в этом направлении. В данном случае следует подразумевать тесты со стороны UI. Я думаю, это интересно и по своему круто, что у кого-то получился подобный прототип. По сути, эта публикация посвящена одному из моих хобби. В свободное время я попробовал поработать над упрощением и унификацией способов описания интерактивности с вэб и мобильными приложениями, используя WebDriver API.

А так же — это работа над ошибками статей «Про Selenium и один «велосипед»» и «От велосипеда к…».

Я подразумеваю, что это открывашка серии небольших последовательных топиков. Благодаря советам Dmitry_Zhariy я решил оформить их в не совсем обычном формате… Здесь будет мало текста, но будут видео материалы, в которых я постараюсь наглядно и сжато раскрыть тему. Надеюсь, я не потрачу зря ваше время.

Статьи могут быть интересны как QA — специалистам, так и разработчикам. Людям, что просто интересуются open source'ом я очень рад. Если кто-то не знаком с Selemium и Appium — не беда. Ведь всегда можно сначала погуглить!..

Здесь будут простые примеры. В следующих статьях (если есть смысл) — более продвинутые.

План:
— ТТХ;
— Начнем;
— Первый вэб тест;
— Первый тест мобильного приложения;
— Кросс-платформенный тест;
— Заключение или продолжение следует.

Интересно? Под кат!

Запуск GWT Super Dev Mode для удаленного сервера

Время на прочтение5 мин
Охват и читатели16K
Наше JEE приложение сделало скачок версии GWT с 1.7 сразу до 2.6.1. Когда-то были небольшие танцы с бубном для того, чтобы в среде разработки IntelliJ Idea настроить возможность отладки клиентской части. Отладка заключается в возможности ставить точки останова (breakpoint-ы) в Java-коде, но попадать в них из браузерного JavaScript-а, сгенерированного GWT из Java-кода. После обновления версии GWT старая конфигурация запуска отладки работать перестала, и мне пришлось познакомиться с GWT Super Dev Mode (SDM). После этого «знакомства» я понял, что выше упомянутые «танцы» были на самом деле предельно простой и понятной настройкой, по крайней мере, в сравнении с SDM. Надеюсь, кому-то эта статья очень поможет сэкономить пару-тройку дней блужданий по форумам и избавит от нескольких новых седых волос. В статье я расскажу про опыт запуска режима SDM в следующем окружении: IntelliJ Idea 14, JBoss EAP 6, GWT 2.6.1 с применением в проекте GWT RPC, браузер Chrome. Несмотря на то, что при релизе Idea 14 сообщили о доработках касательно отладки в GWT, думаю, что для версии 13 всё нижеописанное также применимо. Используемый сервер приложений также вряд ли как-то влияет на настройку SDM. Насчет версий GWT: для 2.6.0 применимо почти один-в-один, то же касается и 2.7.0 (сам не проверял, вычитал в Сети по ходу проведения исследований).
Читать дальше →

Транслируем звук по сети с помощью Java

Время на прочтение5 мин
Охват и читатели36K
Стало мне интересно поэкспериментировать с передачей звука по сети.
Выбрал для этого технологию Java.
В итоге написал три компоненты — передатчик для Java SE, приемник для Java SE и приемник для Android.

В Java SE для работы со звуком использовались классы из пакета javax.sound.sampled, в Android — классы android.media.AudioFormat, android.media.AudioManager и android.media.AudioTrack.
Для работы с сетью — стандартные Socket и ServerSocket.

С помощью этих компонент удалось успешно провести сеанс голосовой связи между Дальним Востоком России и Нидерландами.

И еще одно возможное применение — если установить виртуальную звуковую карту, например, Virtual Audio Cable, можно транслировать музыку на другие устройства, и, таким образом, слушать музыку одновременно в нескольких комнатах квартиры (при наличии соответствующего количества девайсов).

Читать дальше →

Встречайте, IntelliJ IDEA 14 уже здесь

Время на прочтение6 мин
Охват и читатели127K
Закончились праздники и выходные, но не поводы радоваться. Что может быть приятнее, чем узнать о долгожданном обновлении любимой Java IDE? Мы с нетерпением ждали четыре долгих дня, чтобы удивить вас этим приятным сюрпризом. Встречайте IntelliJ IDEA 14!

image

Рассказывая о том, чем мы занимались большую часть года, мы всякий раз переживаем и волнуемся. Каждая новая версия IntelliJ IDEA поднимает планку всеобщих ожиданий. И все-таки каждое обновление — еще один шанс для нас доказать, что совершенству нет предела. Удалось ли на этот раз — судить вам!

Читать дальше →

Как я физическую головоломку на Libgdx писал

Время на прочтение12 мин
Охват и читатели23K
Здравствуйте!

Скриншот для затравки:

Кто-то еще читает подсказки к картинкам?

Как-то бесцельно сидя в интернете я наткнулся на игру «Цепи, шары и зомби». Не знаю почему, но она меня сильно зацепила. Простой и в то же время интересный геймплей и некоторая нелинейность — уровни можно пройти несколькими способами. Чем-то она напомнила мне небезызвестную Crazy Machines, которой я тоже когда-то болел.

Поубивав зомби, я загорелся идеей написать свою игру — с поэтессами и преферансом шарами и зомби, только лучше (можно грабить корованы). Сказано — сделано. По итогу пары недель игра была сделана, и выложена в Google Play. Если вам интересно узнать детальней — прошу под кат.
Читать дальше →

Разбитие текста на предложения лингво-независимым методом на примере библиотеки AIF

Время на прочтение9 мин
Охват и читатели16K
В прошлой статье мы уже рассказывали о новой NLP библиотеке. Однако тогда мы рассказали «обовсем» и не о чем конкретном. Сегодня мы поговорим о теоретических аспектах разбития предложения на токены лингво-независимыми алгоритмами. Теоретические выкладки будут подкреплены практической реализацией в библиотеке AIF. Поехали…
Читать дальше →

Анонс третьей встречи Java User Group EKB

Время на прочтение2 мин
Охват и читатели3K
Привет, Хабр!

JUG.EKB — Java User Group Екатеринбурга, на встречах JUG.EKB мы обсуждаем различные технологий из мира Java, делимся опытом и пьем кофе во имя Java!
Мы регулярно проводим встречи JUG.EKB с лекциями Java экспертов на самые интересные темы.
Наш сайт jugekb.ru, сообщество в ВК — vk.com/jugekb.

Приглашаем всех java разработчиков на третью встречу JUG.EKB.
Подробности внутри

Гибкая настройка графиков в JavaFX

Время на прочтение14 мин
Охват и читатели34K


JavaFX довольно странная штука. С одной стороны он кажется безумно продуманным и удобным настолько, что хочется использовать его где только можно. А с другой стороны он настолько топорный, что хочется его переписать. Некоторые части графического интерфейса работают совсем странно, другие объявлены как final и дополнить их невозможно.
Если вам интересно, как представлены графические элементы в JavaFX и как можно разнообразить свой график, то открывайте кат, на свой страх и риск.
Читать дальше →

Cohesion in Enterprise Applications

Время на прочтение6 мин
Охват и читатели5.2K

Введение


Структура кода, структура проекта, дизайн проекта, архитектура проекта — эти понятия могут иметь различные значения, сложность или глубину для архитектора, разработчика, руководителя проекта или консультанта. Дальше должно идти долгое копание в терминологии, однако позвольте мне быть ленивым и считать, что в рамках этой статьи все эти понятия выражают примерно одно и то же, а именно набор шаблонов, правил, которые говорят, каким образом нужно писать код, правильно реагируя на приходящие требования. К примеру, если для доступа к базе данных мы используем DAO (Data Access Object), то вместе с созданием новой структуры в базе данных, нужно будет создать новый DAO или расширить существующий, но никак не писать SQL, скажем, на уровне презентации.

Что бы стало еще понятнее, добавлю, что речь пойдет о том же, о чем писал «классик» — Patterns of enterprise application architecture by M. Fowler.
Читать дальше →

Android MediaPlayer. Расширяем возможности с помощью прокси

Время на прочтение6 мин
Охват и читатели20K

Реализация прокси для стандартного компонента MediaPlayer несёт в себе гораздо больше преимуществ, чем может показаться на первый взгляд. В этой статье подробно рассказывается, как это всё работает и о перспективах развития подобной технологии.
Читать дальше →

Ближайшие события

От велосипеда к…

Время на прочтение9 мин
Охват и читатели17K
Привет!

Этот небольшой очерк адресован QA – специалистам и в большей степени разработчикам, которые привлечены к автоматизации тестирования вэб и мобильных приложений. Те, кто просто интересуется open source' ом — тоже welcome.

Здесь я хочу развить мысли, высказанные год назад в статье «Про Selenium и один «велосипед»».

План:
1. Основные фичи (краткий обзор)
2. Как развивалось (лирическое отступление)
3. Заключение.


Вы можете сразу ознакомиться с решением. Но если интересно сначала прочитать статью —
прошу под кат.

Возвращение Джокера: как прошла главная российская Java-конференция

Время на прочтение6 мин
Охват и читатели19K
Год назад в Петербурге впервые прошла конференция Joker, и на Хабрахабре появился подробный текст об этом. Теперь она вернулась с еще большим размахом, подтверждая делом свою заявку на статус «главной Java-конференции в России». Организаторы, возглавляемые Алексеем Федоровым (@23derevo), позвали меня оценить результат своей работы. Сразу оговорюсь, что я не Java-программист, а IT-журналист, поэтому далеко не во все технические детали докладов мог вникнуть — но того, что понял, было достаточно для выводов.



Читать дальше →

Несовместимость метода String.split в Java 8 и Java 7

Время на прочтение1 мин
Охват и читатели21K
Это заметка о проблеме, с которой я столкнулся в процессе перевода проекта с Java 7 на Java 8. Случилось это уже около полугода назад, но написать решил сейчас, потому что неожиданно про нее(проблему) вспомнил.

Итак, с места в карьер.
Читать дальше →

JBOSS 4.2.3 Manual

Время на прочтение12 мин
Охват и читатели92K
Копаясь в своих старых записях совершенно случайно наткнулся на документ JBOSS 4.2.3 Manual, написанный мной (а по сути скомпилированный из разных источников) несколько лет назад. И чтобы не пропадать добру, решил немного поделиться знаниями с уважаемым Хабрасообществом.
Если вы являетесь специалистом с опытом более года — скорее всего ничего нового для себя не найдете и можете сразу проходить мимо, дабы не тратить свое время. Статья же может быть полезна следующим людям:
  • студентам, начинающим свой путь в IT карьере по Java направлению
  • java junior разработчикам
  • junior инженерам внедрения и техподдержки
  • junior deploy и build инжеренам

Понятно, что версия JBoss 4.2.3 достаточно древняя (сейчас актуален 8-ой JBoss, который по сути уже и не «Jboss»), но считаю, что она все еще может быть полезна, учитывая наличие большого количества старого унаследованного java-кода и приложений в жестоком интерпрайз секторе, которые все же необходимо иногда поддерживать.
Читать дальше →

Как стать программистом или Выучить Java за 1 год

Время на прочтение7 мин
Охват и читатели468K
Здравствуй, дорогой читатель. Давно хотел написать подобную статью, но либо не хватало времени, либо мешала предательская лень. Но, как бы там ни было, все-таки у меня получилось собраться с мыслями, чтобы написать то, что принесет вам, я надеюсь, какую нибудь пользу. С радостью поделюсь своими знаниями и опытом, в ответ с вас причитается время и внимание. По моему мнению, данная публикация хорошо подойдет для тех, кто готов определиться в своих интересах и хочет связать свою жизнь с IT — тем или иным образом. Итак, поехали!
Читать дальше →

Как джависты сделали .NET-конференцию

Время на прочтение6 мин
Охват и читатели22K
В .NET-мире есть беда с пониманием рантайма. Ведущие разработчики крупных .NET-компаний, безусловно, понимают общие принципы работы GC, JIT-компилятора, аллокатора и других компонент. Но даже они признают, что не знают деталей. Книги Рихтера помогают узнать какие-то базовые вещи, но не более того. Отсутствие внятных технических докладов о CLR (и зарубежных и русскоязычных) от инженеров Microsoft порождает ненужное брожение в умах девелоперов. Закрытость информации порождает нежелание лезть вглубь. Всё равно фиг узнаешь, что там майкрософтовцы понаписали.

Осознав эту проблему, в апреле этого года мы вместе с компанией JetBrains провели конференцию .NEXT 2014 Piter, посвященную техническим аспектам программирования на .NET. Послушав некоторые доклады и вволю наобщавшись с людьми в кулуарах, я и сделал вывод, о котором написал выше. Под катом я расскажу о деталях прошедшей конфы и о том, на какие мысли они меня навели.


Читать дальше →

WebJars + RequireJS

Время на прочтение4 мин
Охват и читатели17K
День добрый, читатели Хабра!
В этой статье спешу вам рассказать (хоть и с опозданием) о том, что такое WebJars на примере приложения в Play Framework.

image В практически любом веб-приложении нельзя обойтись без сторонних javascript-библиотек. Самый простой способ добавить их: скачать и добавить в проект, а также добавить файл в git-репозиторий. Решение годное, но лично для меня наличие в проекте какой-либо статики малость раздражает. Есть другой метод: указывать ссылку на внешний хостинг js-библиотек такой как google, yandex. В принципе вариант, но в моей практике были случаи, когда необходимо было продолжить разработку а доступ в интернет оставлял желать лучшего либо его вообще не было, в итоге клиентская часть не функционировала. Наиболее годным решением мне видится добавления js библиотеки в качестве зависимости в проект, с подобным подходом вы могли сталкивать в Ruby on Rails.
Читать дальше →