Обновить
181.36

Java *

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

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

Parse it!

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

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

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

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

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

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 мин
Количество просмотров701
Читая утреннюю прессу, наткнулся на новость о том, что открыта регистрация на конференцию devnexus 2009, которая пройдет 10-11 марта 2009 г. в Атланте.

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

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

Список тем

Как подружить Java и C++. Часть первая

Время на прочтение5 мин
Количество просмотров102K
Здравствуйте.

Как вы, наверное, уже догадались, речь пойдет о JNI. Для тех, кто не знает что это, объясняю: JNI (или java native interface) — это такая штука, которая позволяет делать вызовы нативного кода из java машины и наоборот.

Зачем это может потребоваться? Есть несколько причин: необходимость использовать код, который уже написан для нативной платформы, необходимость реализовать что-то такое, что невозможно сделать с помощью одной JVM (например, работа с какими-нибудь специфическими железками), ну и ускорение выполнения критических кусков кода (правда, это весьма спорный момент).

Так как же им пользоваться?

Spring IoC Annotation-based configuration, часть 2

Время на прочтение4 мин
Количество просмотров44K
В предыдущей статье я рассказал об основных аннотациях Spring IoC, однако есть еще несколько интересных вещей, о которых хотелось бы поведать.
Для, тех, кто не в курсе, что такое Spring Framework предлагаю почитать вот эту статью.

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

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

Вышло долгожданное обновление Velocity: шаблонить стало немного проще

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

Обзор новых возможностей шаблонного движка


Первого декабря 2008 г. Apache объявила о выпуске новой версии давно не обновлявшегося шаблонного движка Velocity, за номером 1.6, а еще двумя неделями позже появился апдейт со свежими фиксами, Velocity Engine 1.6.1. Те, кто используют Velocity в своих проектах, будут рады узнать о новых возможностях, появившихся в новой версии. Те же, кто Velocity не используют, возможно, откроют для себя новый полезный инструмент.
Читать дальше →

JavaFX — «пластилиновая ворона»

Время на прочтение2 мин
Количество просмотров3.4K
Как уже известно Java программистам (и не только) на днях состоялся официальный релиз JavaFX. Я периодически проявлял интерес к данному направлению. Пришло время конкретно пощупать что ж это за «зверь» такой с модными буквами FX. Программировать что попало (т.е. тренироваться на кошках) конечно не интересно. Соответственно с пользой для дела написал компонент для веб сервиса загрузки файлов
Читать дальше →

Processing

Время на прочтение1 мин
Количество просмотров3.3K
Sun недавно выпустила JavaFX, от которого я далеко не под впечатлением, ведь я видел, на что в действительности способна Java в плане визуализации. А видели ли вы?
Читать дальше →

Официальный релиз JavaFX

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


Всем привет! Как-то тут на хабре мимо прошла новость, что 4 декабря вышел долгожданный официальный релиз JavaFX. Напомню, что JavaFX — это семейство продуктов для разработки многофункциональных Интернет приложений (rich internet applications) с мощной поддержкой для мультимедиа и разнообразного информационного наполнения. JavaFX является прямым конкурентом таких технологий как Flash и Silverlight.

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

Основы портлетов

Время на прочтение24 мин
Количество просмотров31K
Привет хабралюди! Сегодня я хочу рассказать об одной интересной технологии, с которой познакомился совсем недавно — это технология портлетов. Хотя на хабре уже есть пара упоминаний о портлетах, но там ничего внятного я не нашел. Поэтому решил написать свою статью, где хочу показать на практике как программировать портлеты. При этом попутно вставляя какие-то теоретические сведения. А принимая во внимание, то, что документации на русском крайне мало, то рассказать об этом хочется вдвойне :)
Читать дальше →

TeamCity 4.0 released

Время на прочтение2 мин
Количество просмотров11K
Что такое TeamCity? TeamCity — это, говоря научно-занудным языком, интегрированная среда, которая повышает эффективность групповой разработки, беря на себя такие рутинные действия как сборка билдов, запуск и анализ тестов, а так же анализ исходного кода (инспекции, поиск дубликатов и т.д.) Посмотрев на картинку многое станет понятным:
image
Читать дальше →

Работа с get-запросами в JSF

Время на прочтение4 мин
Количество просмотров3.7K
Как известно JSF умеет работать только с post-запросами, однако существет метод, который позволяет разбирать и get.

Делается это примерно так:

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