Как стать автором
Поиск
Написать публикацию
Обновить
182.2

Java *

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

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

NetBeans в Java Real-Time

Время на прочтение2 мин
Количество просмотров5.2K
nb
NetBeans — очень удобная для разработчика среда, обычно отпугивающая своей тормознутостью, т.к. громоздка и написана на Яве. Что ж, будем надеятся, что однажды все наладится, а пока посмотрим, как эту ситуацию может исправить Real-Time Java.

Запуск NetBeans в JavaRTS

Учимся проектировать на основе предметной области (DDD: Domain Driven Design)

Время на прочтение8 мин
Количество просмотров222K

1. Введение



В данной статье я хотел бы рассказать об этих трёх буквах, постоянно находящихся на слуху, но для многих являющихся тайной за семью печатями, а так же привести ряд ресурсов, с которыми неплохо было бы познакомиться при желании продолжить развитие в проектировании на основе предметной области (DDD: Domain Driven Design).


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

Oracle обещает много инвестировать в Java

Время на прочтение1 мин
Количество просмотров685
Директоры компаний Oracle и Sun — Ларри Эллисон и Скотт Макнили — совместно выступили на конференции JavaOne, где рассказали о будущем активов Sun, которые перешли к новому владельцу. Нужно заметить, что это первое публичное выступление Эллисона с момента покупки Sun, которое произошло 20 апреля.

Эллисон предпочёл умолчать об аппаратной части, ничего не сказали о серверах, процессорах, системах хранения данных, сетевом оборудовании и тонких клиентах. Зато подробно рассказал о будущем технологии Java. Оно обещает быть светлым.

Эллисон напомнил, что именно его компания и раньше была главным инвестором в Java-технологии, у них всё middleware на 100% работает на Java. В будущем Oracle обещает продолжить эти инвестиции в полном объёме. Следующее поколение бизнес-приложений Oracle (Fusion Suite) полностью будет построено на Java. И это будет первый в мире пакет ERP и CRM, построенный на стандартной платформе.

Более того, Эллисон сообщил, что Oracle займётся даже разработкой нетбуков и мобильных телефонов под Java! Хотя это звучит просто невероятно, но таким образом Oracle собирается вступить в конкуренцию с Hewlett-Packard, Acer, Lenovo, Dell и другими компаниями на рынке нетбуков.

via eWeek

Face Detection на джаве — это просто!

Время на прочтение1 мин
Количество просмотров28K
Спешу поделиться с вами своею радостью :) Столкнулся я тут недавно с задачкой — нужно было определить местонахождения лиц на картинке.

Зачем это нужно — другой вопрос: мне, лично, понадобилось для создания модели распределения внимания по картинке, а кому-то, может быть, нужно для того, чтобы людей как в фейсбуке автоматически на групповой фотографии выделять.

Алгоритмы, в принципе, неплохо известны. Одним из лучших является алгоритм Viola & Jones, но поиск готовых имплементаций результатов не принёс. Было расстроился, но обратил внимание на замечательную нативную библиотеку — OpenCV. Библиотека ценна не только реализацией основных алгоритмов компьютерного зрения, но тем, что встречается решительно на всех платформах.

И что же вы думаете? Одним из первых в гугле выпадает вот такой замечательный проект JNI интерфейса к OpenCV!

Несколько минут закачки, десяток минут чтения документации с установкою программы, и ещё десяток — написание теста. А потом, и вот этими четырьмя строчками, просто берём и распознаём на картинке лица!

OpenCV cv = new OpenCV();
cv.loadImage("test.jpg", 300, 400);
cv.cascade("haarcascade_frontalface_default.xml");
Rectangle bounds[] = cv.detect();

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

Сериализация в Java

Время на прочтение7 мин
Количество просмотров374K
Сериализация это процесс сохранения состояния объекта в последовательность байт; десериализация это процесс восстановления объекта, из этих байт. Java Serialization API предоставляет стандартный механизм для создания сериализуемых объектов. В этой статье вы увидите как сериализовать объект, и почему сериализация иногда необходима. Вы узнаете об алгоритме сериализации используемом в Java и увидите пример, который иллюстрирует сериализованый формат объекта. В конце у вас должно сложиться чёткое представление о том, как работает алгоритм сериализации, а так же каким образом представлены части объекта в сериализованном виде.
Читать дальше →

SpringSource Tool Suite бесплатно, ROO и спецификация DI совместно с Google

Время на прочтение1 мин
Количество просмотров2.6K
image

На прошедшей конференции SpringOne Europe компания SpringSource сделала несколько объявлений:
  • SpringSource Tool Suite, плагин для Eclipse, упрощающий разработку Spring-приложений становится бесплатным. В ближайшее время ожидается прогресс в поддержке других продуктов SpringSource: Groovy & Grails.
  • Spring ROO — фреймворк для увеличения производительности Java-разработчиков при написании Spring-приложений путём использования Code Generation и Aspect Oriented Programming.
  • Партнёрство с Google для создания единой спецификации по Dependency Injection.

Необычное поведение generics

Время на прочтение1 мин
Количество просмотров5.9K
Случайно обнаружил нетипичную проблему с параметризацией и наследованием в Java.
Сразу оговорюсь, что все это представляет только академический интерес. В реальной жизни так криво писать никто не будет. Но формально такого быть не должно:
Interface.java
public interface Interface {
    void test(Class<Object> clazz);
}

BaseClass.java
public abstract class BaseClass<T> implements Interface {
    abstract public void test(Class<Object> clazz);
}

MyClass.java
public class MyClass extends BaseClass {
    public void test(Class<Object> clazz) {
    }
}
Компилятор выдает ошибку:
MyClass is not abstract and does not override abstract method test(java.lang.Class)

Перевод манов с оффсайта Sun. Часть 1

Время на прочтение3 мин
Количество просмотров2.1K
Еще в сентябре прошлого года, начиная изучение Java я наткнулся на подкаст Голодного «The Art Of Programming». В одном из них он прославлял мануалы? расположенные на оффсайте Sun. Достаточно долгое время проведя со словарем и IDE, я добился некоторого результата.
Недавно пришла мысль, что люди, не сильно владеющие английским языком не могут использовать этот ресурс, каким бы хорошим он ни был.
Ниже последует перевод первой статьи (она небольшая), а к хабралюдям есть вопрос: как вы оцениваете качество/целесообразность подобного перевода?

P.S. Публикую в блоге JAVA, потому что никак не получается опубликовать в «Стартап Программист»
P.P.S. За дельный совет в переводе спасибо miravingin


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

Parse it!

Время на прочтение4 мин
Количество просмотров7.9K
Какое-то время назад мне по работе пришлось провести небольшое исследование. Суть его состояла в поиске наилучшего pdf-парсера реализованного на java.

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

Долгое время документы парсились при помощи библиотеки PDFBOX, работа которой не вызвала ни у кого радости: долго и со сбоями.
В итоге были выбраны 4 библиотеки, сравнением которых я занялся: PDFBOX, JPod, iText и Acrobat.
Читать дальше →

Анонсирован план развития Grails

Время на прочтение1 мин
Количество просмотров920
Пока что разработчики сообщили о двух версиях:

Grails 1.2 «Bedivere» обещает быть релизом направленным на стабильность: обновление основных компонент(в том числе Spring до версии 3.0), переход с Jetty на Tomcat, выделение WebFlow в отдельный плагин, а так же GSP в самостоятельное решение. Релиз ожидается в июне 2009 года.

Grails 2.0 «Galahad» ставит свой целью упор на модульность плагинов с помощью технологии OSGi.

Параллельно с этими релизами будет вестись активная работа над плагинами для работы с JPA, JCR, Portlet & Flex.

P.S. Будущие релизы получили свои имена в честь рыцарей круглого стола короля Артура, в частности именно Галахад по легенде нашёл священный Грааль.

Прорыв в программировании

Время на прочтение1 мин
Количество просмотров2.8K
image
Сегодня компания JetBrains выпустила революционный плагин для своей Java IDE IntelliJ IDEA — это Voice Control plugin Теперь кодирование станет еще быстрее и, главное, больше никаких клавиатур и мышек!!! Что умеет плагин:
— Создание класса, конструктора, полей, переменных, параметров
— Навигация по коду
— Рефакторинги
— Вызов компиляции и деплоймент
— Дебаггинг (и всё это с помощью голоса!!!)
— Возможность парного программирования
— Поддерживаются любые языки (вы обучаете плагин)

Подробнее можно узнать по ссылке выше и там же можно посмотреть демку плагина.
P.S. так же обновлены продукты TeamCity, ReSharper и т.д. можно посмотреть на сайте ;)

Отладка Java-сервлетов

Время на прочтение2 мин
Количество просмотров7.9K
Несмотря на то, что я пишу на Java уже 2 месяца (о да, это срок :) ), я ни разу не запускал remote debugger. При разработке на GWT этого делать и не нужно — оно как-то само всё это делает. :) Но вот настала весна, моё GWT приложения распустилось, и хочет, чтобы я его выложил на сервер. Но вдруг выяснилось, что просто так оно работать не захотело. А почему, я понять не могу. И значит мне нужен дебагер.

Принцип работы наверное любого удалённого отладчика (remote debugger) прост — контейнер (это может быть и какой-либо сервлет-контейнер, и php-интерпритатор. Полагаю, что интерпритаторы Ruby, Perl, Python работают аналогичным образом), который выполняет приложение настраивается таким образом, что при запуске приложения он либо начинал слушать определенный порт, либо сам пытался коннектиться куда-либо.
Читать дальше →

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

Создание демон-процесса на Java

Время на прочтение6 мин
Количество просмотров36K
Доброго всем времени суток.

Недавно, по долгу службы, появилась необходимость написать background process для IBM AIX 5.2 на Java с контролирующим shell скриптом.

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

читать дальше ...

IntelliJ IDEA 8.1 released

Время на прочтение2 мин
Количество просмотров2.8K
imageСегодня вышла обновленная версия идеевской «восьмерки». Помимо баго-фиксов в 8.1 есть новые вещи, которые считаю уместным упомянуть в двух словах.

1. Idea Server. У каждой более менее-сложной программы, а идею безусловно можно причислить к сложной программе, существует такая вещь как настройки. Каждый раз, когда мы запускаем программу «не_со_своего_компьютера», а другими словами просто в другой конфигурации (или программа только что установлена) мы первым делом лезем в настройки и меняем их на свой лад. Например, я это делаю постоянно с Total Commander'ом, выставляя свои любимые настройки: как быстро искать, как сжимать, что показывать и т.д. IntelliJ IDEA, как и любая другая IDE, программа примерно эдак в 1000 раз сложнее чем вышеописанный пример. И настроек там так много, что всех их не упомнишь. Это и шрифты, и цвета, настройки инспекций (некоторые можно отключать), и, самое главное, это кастомные шорткаты. Согласитесь, каждый раз выставлять эти настройки заново не очень то удобно. Чтобы решить эту проблему, в IDEA появилась новая фича — Idea Server. Все очень просто. Вы регистрируетесь один раз на сервере идее и настройки вашей IDE хранятся удаленно. Когда Вы запускаете IDE, то можете залогиниться под вашим аккаунтом и настройки загрузятся сами с сервера. На мой взгляд, любители кастомных настроек оценят эту вещь по достоинству. Я, если честно, использую настройки по умолчанию.

2. Мощный апдейт VCS функциональности. Во-первых, появилась интеграция с Git, который становится все более популярным. Во-вторых, появилась интеграция с TFS (Team Foundation Server).

3. Для любителей SQL поддержан Оракловый диалект.

4. Интеграция с Resin AppServer

5. Появилась поддержка копирайтов. Для меня это существенный плюс. Т.к. я часто коммичу в open-source communities, то проверка копирайта занимает какое-то время. Если Вы правите чужой код с копирайтом, то нужно не забыть изменить год на новый и т.д. Сейчас все это (вставка или правка копирайта) можно делать прямо из диалога коммита. Удобно.

Так же произведена работа над улучшением перфоманса. В частности, убыстрен стартап, убыстрена работа с кэшом компилятора, что значительно уменьшает время компиляции. Подробнее тут http://www.jetbrains.com/idea/features/newfeatures.html

Интервью с Ken Russel по поводу нового Java плагина

Время на прочтение5 мин
Количество просмотров1.1K
Ну что же, как я и обещал, в дополнение в моему посту habrahabr.ru/blogs/java/49989
Небольшое интервью с человеком который внес большой вклад в разработку нового плагина от Sun
Плоды труда этого человека использует каждый разработчик который пишет на платформе Java, и зовут его Ken Russell (http://research.sun.com/minds/2008-0811/)

Прошу учесть что интервью проведено в первых числах декабря, поэтому некоторые события могут говорится в будущем времени хотя они уже наступили.
Читать дальше →

java.io.Serializable и наследование

Время на прочтение2 мин
Количество просмотров25K
Что такое сериализация можно почитать в отличной статье Евгения Матюшкина.

Я же отмечу случай с этим чудом техники в аспекте наследования классов. Интерфейс Serializable не требует от разработчика никаких действий, однако важно помнить, что внутренний механизм сериализует лишь поля этого класса и поля наследников, а поля родителя будут инициализированы с помощью конструктора без параметров.

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

Родилась задачка

Время на прочтение1 мин
Количество просмотров1.1K
Возникла у меня одна задумка, которая может мне приятно облегчить программирование некоторых штук (в реальном проекте).
Но будет ли это работать, я не знал. В результате чего я накидал маленький тест чтобы проверить свои догадки.
После написания этого теста, обнаружил, что этот примерчик может быть вполне интересной и познавательной java-задачкой.
Вот такая задачка получилась

Applets reloaded

Время на прочтение6 мин
Количество просмотров2.3K

Applets reloaded



предисловие


Ни для кого не секрет что Adobe Flash полноценно занял свою позицию в интернете. По общей статистики почти у 98% пользователей интернета установлен Flash плагин. Главное назначение которого — реализация «rich UI»(англ: богатый пользовательский интерфейс), проще говоря — красивый, динамический интерфейс. Однако в последнее время два гиганта решили пошатнуть его позицию — Microsoft и Sun. Microsoft выпустила технологию Silverligth, а Sun — решила нанести более серьезный удар. Выпустив сразу несколько продуктов с общей и довольно явной целью — пошатнуть Flash/Flex.

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

Конференция devnexus 2009

Время на прочтение1 мин
Количество просмотров699
Читая утреннюю прессу, наткнулся на новость о том, что открыта регистрация на конференцию devnexus 2009, которая пройдет 10-11 марта 2009 г. в Атланте.

Билет стоит $185 ($150 если регистрироваться до 1 февраля или группой от пяти человек). Он включает в себя пропуск на оба дня и питание.

Список тем (под хабракатом) выглядит интересным, в связи с чем у меня несколько вопросов.
  1. У кого есть опыт подобных конференций? Стоит ли туда ехать?
  2. Может, кто-то уже туда собрался?

Список тем

Вклад авторов