4
April

Чтение и запись CSV файлов в Java (comma separated values file format)

Posted in: Java open-source проекты, Java technologies, J2SE, Полезные программы | 7 Comments

Решил сделать свой вклад в мировое open-source сообщество. Как вы уже догадались из названия статьи, на этот раз речь пойдет о формате CSV.

Итак, проблема заключалась в том, что генерация отчетов в формате Excel через библиотеку POI кушала много оперативной памяти и процессорного времени.

Сам по себе Excel, наверное, один из немногих хороших продуктов компании Microsoft, но вот формат файлов оставляет желать лучшего. Короче говоря, при генерации документа необходимо полностью держать его в памяти.

Выходом из ситуации является использование формата CSV (comma-separated values file format), который к счастью тоже читается с помощью Excel.
(more…)

26
March

Социальные сети, Co-working Центры, Стартапы и Фрилансеры

Posted in: Разное (uncategorized), Ваш досуг. Полезные советы | 20 Comments

[Disclamer: все персонажы этого стёба выдуманы и не имеют реальных аналогов. Автор статьи не несет ответственности за то, что после ее прочтения вы организуете свой собственный co-working центр или как минимум стартап.]

Читая хабр я обнаружил, что каждая 10-ая статья посвящена Co-working Центрам и Стартапам (скорее всего, пока я напишу этот пост, там добавится еще одна-две статьи о co-working центрах и уж точно не меньше о Стартапах).

Поэтому появилась идея СТАРТАПА - создать социальную сеть (social network), посвященную Co-working центрам и Стартапам (startups). Естественно главной сущностью в этом проекте будет не кто иной как Фрилансер (freelancer).

Смысл социальной сети достаточно прост:
(more…)

26
March

Паттерн Наблюдатель (Observer design pattern)

Posted in: Паттерны проектирования | 1 Comment

По просьбам читателей очередную статью о паттернах проектирования посвящу паттерну Observer (Наблюдатель). Этот шаблон проектирования также известен под именами Dependents (Подчиненные) и Publisher-Subscriber (Издатель-Подписчик).

Реализация данного паттерна используется для наблюдения за состоянием объектов в системе. Если состояние объектов изменяется в процессе их жизненного цикла, то Наблюдатель оповещает другие части системы об этих событиях.

В данной статье я попытаюсь как можно проще и понятнее рассказать об этом паттерне и привести пример программного кода на Java, реализующего Observer.
(more…)

22
March

Результаты голосования

Posted in: Разное (uncategorized) | 4 Comments

Всем доброго времени суток.

Что-то голосование о рефакторинге блога поутихло…
Тем не менее можно подвести какой-никакой итог. К сожалению он будет недостаточно объективным.

В номинации Паттерны Проектирования победил “Паттерн Observer”.

В номинации Open-Source проекты первое место получает “Использование Hibernate”.

В номинации Java статьи побеждают “Нововведения в Java”.

“Фиксим layout для IE 7.0″ победил в номинации Делаем блог красивее.

Ну и лично мое мнение. Небольшое количество проголосовавших можно объяснить тем, что комментарии - не самый удобный спобос голосования. Наверняка нужно прикрутить какой-то хороший плагин для голосований (polls). Чем и займусь в ближайшее время.

Спасибо всем за ваш вклад в развитие данного ресурса. Голосование остается открытыми, высказать ваше мнение никогда не поздно: Refactoring блога Javenue.

Всего хорошего.

22
March

Подсветка синтаксиса (syntax highlighter on javascript)

Posted in: Java Web Design, J2EE, Полезные программы | 2 Comments

Всем привет.
Надеюсь, данная статья поможет сэкономить время владельцам веб-ресурсов, посвященным 1С Бухгалтерии и 1С Предприятию.
Проблема заключалась в том, что в интернете отсутствует какая-либо библиотека для подсвтеки синтаксиса кода. Как ни странно, она была мне очень нужна.
В итоге я принял единственно правильное решение: найти любую открытую библиотеку (желательно pure javascript) и создать для нее 1С скин.
Такая библиотека была найдена - это Syntax Highliter.
(more…)

27
January

Перечисляемые типы в Java (enum types, enumerations)

Posted in: Java technologies, J2SE | 12 Comments

По просьбам читателей начну цикл статей, посвященный нововведениям в Java начиная с версии 1.5. Думаю, статьи этой тематики будут актуальны для многих, так как сам только недавно начал переходить на 1.6 (на работе в проекте до сих пор используется версия jdk 1.4).
В этой статье я хочу рассказать о перечислениях (enumeration, enum). Сначала я покажу, как реализовывались перечисления в ранних версиях java.

Итак, перечисление (enum) - это тип, значения которого ограничены конечным набором констант.
Самым простым способом реализовать некоторый набор значений есть следующий класс:
(more…)

24
January

Refactoring блога (нужна ваша помощь)

Posted in: Разное (uncategorized) | 14 Comments

Здравствуйте, мои дорогие читатели.

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

Написать новые статьи о паттернах проектирования:
1. Паттерн Observer.
2. Паттерн Visitor.
3. Паттерн Iterator.

Написать новые статьи по тематике:
4. Использование Servlet Filters.
5. Использование Velocity.
6. Байт-код и оптимизация кода.
7. Использование нововведений Java версии 1.5 и выше (enum, generic, for each, etc.).

Улучшить функционал блога:
8. Добавить preview комментариев.
9. Добавить голосовалку: о чем писать следующую статью.

Другое:
10. Дополнить существующие статьи по паттернам проектирования.
11. Дополнить статьи по J2SE новыми примерами.
12. Улучшить программу по переводу названий песен и тегов в транслит для MP3-плеера.

(more…)

22
January

Работа с MS Access из Java

Posted in: Java open-source проекты, Базы данных, SQL, Oracle | 7 Comments

Даже если ваш проект использует новейшие разработки в области кросс-платформенного ПО, рано или поздно придется столкнуться с технологиями, с которыми не очень хотелось сталкиваться.
Так случилось и со мной, когда заказчик захотел получать отчеты в виде базы данных MS Access.
Пришлось порыться в поисках java-библиотеки для работы с форматом mdb.
О результатах своих поисков я и хочу вам рассказать.

(more…)

19
January

Паттерн Прототип (Prototype Design Pattern)

Posted in: Паттерны проектирования | 8 Comments

В написанных ранее статьях мы уже рассматривали паттерны создания объектов (Creational Design Patterns).
Так как с необходимостью создания объектов програмисты встречаются каждый день, рассмотрим еще один паттерн - Prototype (Прототип).
Паттерн Prototype позволяет создавать новые объекты на основе некоторого объекта-прототипа при этом совсем не обязательно знать как необходимый объект устроен.
Вот некоторые ситуации когда может помочь этот паттерн проектирования:

  • если создание объектов (через оператор new) занимает длительный промежуток времени или требовательно к памяти;
  • если создание объектов для клиента является нетривиальной задачей, например, когда объект составной;
  • избежать множества фабрик для создания конкретных экземпляров классов;
  • если клиент не знает специфики создания объекта.

(more…)

22
December

Угрызения совести

Posted in: Разное (uncategorized) | 5 Comments

Всем привет.

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

Если кому-то интересно, у меня все хорошо, если не считать… :)
Все время уходит на основную работу и проект (естественно на Java), который делаем с друзьми.
Последнее время изредка помогаю тестировать клиент для фановой коллекционной карточной игры Boomb.it.
Ну вот собственно и все.

С наилучшими пожеланиями.