В этой статье я хочу поделиться опытом использования одной полезной утилиты, позволяющей автоматизировать сборку и анализ качества кода. Речь пойдет о Yasca — свободно распространяемом ПО, представляющем собой небольшой PHP движок и набор утилит для выполнения анализа Java, С++ или PHP кода, включающего в себя PMD, JLint и RATS. Сама интеграция выполнения этих утилит осуществляется путем разработки небольших плагинов, на языке PHP. О процессе разработки такого плагина и пойдет речь далее.
Читать полностью »
Рубрика «java» - 289
Опыт разработки плагина для Yasca
2012-11-11 в 17:10, admin, рубрики: c++, Code Style, java, php, Проектирование и рефакторинг, метки: c++, Code Style, javaРазработка сервера мобильных клиентов
2012-11-11 в 4:27, admin, рубрики: java, аукцион услуг “Аукнем”, библиотеки, команда, мобильные приложения, проектирование, разработка, сервер, технологии, требования, метки: java, аукцион услуг “Аукнем”, библиотеки, команда, мобильные приложения, проектирование, разработка, сервер, технологии, требованияОбратная сторона мобильных клиентов — сервер.
Введение
Не открою секрета, что разработка мобильных приложений в тренде – этому способствует стремительное техническое развитие: мобильные устройства с каждым годом улучшаются по всем характеристикам и становятся доступнее для широкого круга людей. Почти каждый, кто имеет на руках мобильный гаджет (будь то смартфон, коммуникатор или планшет) пользуется приложениями: браузером, клиентом электронной почты и мгновенных сообщений, играми, бизнес или финансовыми программами. И зачастую от пользователей скрыто то, что многие из приложений взаимодействуют с удаленным сервером: обмениваются с ним данными через Интернет.
По роду деятельности (Java разработчик серверных приложений) мне в команде приходится разрабатывать сервера для мобильных клиентов (за последние 2 года участвовал в реализации 3-х таких проектов для зарубежных компаний). Определился набор Java-технологий для решения задач такого рода, который варьируется в зависимости от требований и целесообразности (другими словами — желания), благо свобода при выборе технологий позволяет экспериментировать. Сформировавшейся точкой зрения и опытом хотел бы поделиться с сообществом.Читать полностью »
Text Mining Framework (Java)
2012-11-10 в 20:50, admin, рубрики: artificial intelligence, data mining, java, text mining, Семантическая Сеть, метки: artificial intelligence, data mining, java, text mining, семантическая сетьЧто это и для кого (вместо вступления)
В данной статье я бы хотел рассказать о небольших результатах своей научной деятельности в сфере Text Mining. Этими самыми «результатами» стал небольшой FrameWork, который, пока еще, и до либы то не очень дотягивает, но мы растем =). Данный проект — реализация на практике некоторых, разработанных мною, теоретических положений. Как следствие этого я представляю возможности, которыми он может потенциально обладать в конце внедрения всех идей. Названо сее творение: «Text Mining FrameWork»(TextMF). Давайте в кратце рассмотрим, что именно будет позволять TextMF в своей первой финальной версии и что работает уже сейчас.
Читать полностью »
Открытая встреча для Java разработчиков
2012-11-09 в 11:14, admin, рубрики: EPAM, EPAM Systems, java, JUG, Блог компании EPAM Systems Ukraine, метки: epam, epam systems, java, JUG 16 ноября
18.30 — 21.00
ЕPАМ Systems при поддержке Java User Group KPI (JUG KPI) принимает в гостях Антона Архипова, разработчика компании ZeroTurnaround, известной своими продуктами LiveRebel (“Eclipse’s 2012 Hot New Product Award”) и JRebel (“Duke’s Choice Award/Oracle Innovation Award"). Читать полностью »
Пример использования fluent interface в java для описания объектов предметной области
2012-11-09 в 0:00, admin, рубрики: dsl, java, Программирование, метки: dsl, javaDisclaimer: нашел статью у себя в черновиках. Писал года полтора-два назад, почему не опубликовал — не помню. Просмотрел, вроде, не совсем бесполезная, пусть будет в открытом доступе.
В последнее время стало достаточно актуальным использование domain specific languages (DSL) — языков «заточенных» под конкретную предметную область. Слово «язык» в данном контексте не обязательно подразумевает именно новый язык программирования, зачастую можно обойтись и старым добрым.
На хабре не замечено ни одной статьи про fluent interface в контексте джавы, так что хотел бы поделиться своим опытом применения. Читать полностью »
Будни программиста или редкий случай ошибки в компиляторе — 2
2012-11-07 в 7:04, admin, рубрики: java, метки: java, опятьПривет. Продолжаем сталкиваться с ошибками компилятора и его расхождением с поведением штатных анализаторов IDE. Имеем следующий код:
public class X {
public static <T> T getValue(String key) {
return t1;
}
public void testGenerics(String key) {
int i = getValue(key);
}
}
Вопрос: компилируется ли код?
Читать полностью »
Подготовка к OCEJPAD 6
2012-11-06 в 17:39, admin, рубрики: certification, java, jpa, oracle, метки: certification, java, jpaХочу поделиться опытом прохождения Java EE 6 Java Persistence API Developer Certified Expert Exam (OCEJPAD 6).
Немного о OCEJPAD 6
OCEJPAD 6 один из новых(относительно новых) сертификатов, который охватывает Java Persistence API. Ранее Java Persistence API входил в состав SCBCD, но с добавлением Criteria API в JPA 2.0, было создано 2 экзамена вместо одного:
- Java EE 6 Java Persistence API Developer Certified Expert Exam 1Z0-898(EE6 JPA or OCEJPAD 6)
- Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam 1Z0-895(EE6 EJB or OCEEJB 6)
Для кого предназначен этот сертификат? На мой взгляд, для всех Java Developer’ов, так как редкий проект обходится без использования доступа к базам данных, а пользоваться только JDBC уже давно не по фэн шую. Так что крепкие знания JPA будут как нельзя кстати. Одна из наиболее часто используемых имплементаций JPA — Hibernate.
Что читать?
Я использовала для подготовки книгу Pro JPA 2: Mastering the Java™ Persistence API(ее можно скачать бесплатно в интернете), а также спецификацию JPA. На мой взгляд спецификацию нужно читать после тщательного изучения Pro JPA 2: Mastering the Java™ Persistence API или обращаться за разъяснением наиболее непонятных моментов. Следующие главы из этой книги содержат всю необходимую информацию для сдачи экзамена (все остальное можно смело пропустить):
Читать полностью »
Реализация Qt signal/slot на Android
2012-11-05 в 20:11, admin, рубрики: android, java, qt, Qt Software, Программирование, Разработка под android, метки: android, java, QtПредисловие
Недавно портировал довольно большой проект с Qt (C++) на Android (Java), в процессе работы часто приходилось применять динамическое связывание объектов. Беда состояла в том что связывание (binding) в отличие от привычных сигналов и слотов в Qt в Java реализовано через лисенеры (listeners), и сколько я не пытался себя убедить что способ этот равноценен и тоже имеет место быть такого же удобства как при использовании сигналов и слотов достичь не удавалось.
Например, нам нужно связать бегунок (QSlider в Qt или SeekBar в Android) с каким либо действием, хотя бы привязать другой бегунок который будет послушно перемещаться следом за первым. В Qt подобная операция выглядит следующим образом:
Читать полностью »
Эффективность автоматического тестирования приложений
2012-11-05 в 3:29, admin, рубрики: java, junit, автоматическое тестирование, разработка, тестирование, метки: junit, автоматическое тестирование Атака клонов.
Эпизод: покер.
По одной команде, без промедления, несколько тысяч клонов ринулись по узким сетевым коридорам, не ведая сомнений и страха поражения! Для того, чтобы сойтись в поединке и победить! Клоны, в большинстве своем не мастера, но запрограммированные на победу, просто четко выполняют инструкции, которые в случае удачи, ведут их к цели. Правила для всех одни, каждый сам за себя, но нет ни одного шанса выстоять и победить у человека, оказавшегося в этом месиве…
Это не эпизод легендарной саги «Звёздные войны» и не превью фантастической повести. Это описание нагрузочного тестирования сервера (построенного на технологиях Java), проведенного в ходе разработки игрового приложения «Покер» для социальных сетей.
Океанский робот Mercury выдержал натиск урагана Sandy
2012-11-03 в 11:52, admin, рубрики: java, океан, робототехника, ураган, метки: java, океан, робототехника, ураган 
На фото — автономный океанский робот Mercury, который около недели назад работал в открытом океане, осуществляя мониторинг погодных условий в самом эпицентре бушевавшего урагана Сенди. Робот проплыл около ста миль в условиях ветра скоростью 70 узлов и при перепаде атмосферного давления с 40 до 710 мм. рт. ст., при этом передавая собираемую информацию в режиме реального времени в командный центр компании-создателя Liquid Robotics. Интересно также и то, что создателями компании являются бывшие сотрудники Sun Mycrosystems, а одним из ведущих инженеров является не кто иной как Джеймс Гослинг (James Gosling) — создатель Java.
Калифорнийская компания Liquid Robotics, занимается разработкой роботизированных устройств для сбора и обработки информации о химико-физических свойствах морской воды, атмосферных и метеорологических параметров для научных и коммерческих целей. Среди патентов компании — система автономного движения океанских роботов с использованием энергии волн, получение электрической энергии для приборов робота при помощи солнечных панелей, а также управление ими в океане про помощи системы GPS.
Читать полностью »
