28 апреля 2010 г.

Конвертирование физических машин в виртуальные с помощью VMware Converter

На работе у меня был случай, когда появилась необходимость перевести человека, который весьма много времени проработал под Windows XP, на Linux. Windows XP стояла на машине на удивление очень долго без переустановок, была настроена и напичкана различными программами, и человек не хотел с ней расставаться окончательно, ему необходимо было иногда одновременно работать в двух системах. Естественно, единственный нормальный выход тут один - виртуализация. Установка винды и всех необходимых программ с нуля в виртуальную машину, а так же её настройка вылились бы в очень длительную и неприятную процедуру. Но оказалось, что есть выход гораздо проще - можно виртуализировать уже установленную систему. Для этого я воспользовался программой VMware Converter. Опишу, как это можно сделать.

23 апреля 2010 г.

Добавление контейнера сервлетов Apache Tomcat в Eclipse

При разработке сервлетов и JSP в Eclipse можно настроить использование контейнера сервлетов Apache Tomcat. Это очень удобно, т.к. после этого Eclipse сам будет деплоить проекты на Tomcat, а так же запускать и перезапускать Tomcat, когда это необходимо, вдобавок к этому появляется удобная возможность управления настройками Tomcat.

Добавление Apache Tomcat

1. Качаем Apache Tomcat и распаковываем его например в каталог ~/Programs/apache-tomcat-v6

2. В Eclipse выбираем пункт меню Window -> Preferences -> Server -> Runtime Environments и нажимаем кнопку Add

3. Выбираем версию устанавливаемого контейнера сервлетов (в моем случае это Apache Tomcat v6.0) и нажимаем Next

4. Указываем имя сервера, которое удобно для нас, затем путь к каталогу с Tomcat (~/Programs/apache-tomcat-v6) и выбираем среду выполнения Java, в которой должен выполняться Tomcat (можно выбрать default JRE, т.е. ту в которой выполняется сам Eclipse, либо одну из ранее добавленных в Eclipse). После этого нажимаем Finish.


22 апреля 2010 г.

Формирование отчетов в OpenOffice.org Calc и Writer из Java-программы

При создании прикладных программ, работающих с базой данных, довольно часто возникает необходимость выгрузки данных в какой-нибудь текстовый редактор, который может быть использован для корректировки информации и печати получившегося документа. В этой статье я расскажу, как решил эту задачу для себя, используя язык программирования Java и офисный пакет OpenOffice.org, что позволило обеспечить кроссплатформенность этого решения.
Для начала необходимо, что бы был установлен OpenOffice.org 3 версии, ну и разумеется JDK со средой разработки, или кому как нравится.
Для разработки понадобятся следующие библиотеки OpenOffice.org:
  • juh.jar, jurt.jar, ridl.jar, unoloader.jar из каталога /opt/openoffice.org3/basis-link/ure-link/share/java (если OpenOffice.org установлен не из официальных репозиториев) 
  • unoil.jar из каталога /opt/openoffice.org3/basis-link/program/classes
  • bootstrapconnector.jar, который можно скачать здесь
Можно скопировать данные библиотеки в директорию jre/lib/ext, но лучше подключить их в своей среде разработки, как User Libraries.
Библиотеки juh.jar, jurt.jar, ridl.jar, unoil.jar и unoloader.jar представляют собой необходимый набор классов API OpenOffice.org.
Библиотека bootstrapconnector.jar необходима для решения некоторых проблем, которые могут возникнуть во время подключения приложения к работающему экземпляру OpenOffice.org при определенных условиях. Подробнее об этих проблемах можно почитать здесь (на англ. яз), там же есть ссылка на саму библиотеку.
Когда всё установлено и все библиотеки подключены можно приступать к разработке. Приведу пример рабочих классов и методов для работы с OpenOffice.org Calc и OpenOffice.org Writer.

Интеграция Apache Derby в Java-приложение

При создании небольших прикладных программ, решающих относительно простые задачи, очень часто приходится использовать базы данных для хранения информации, потому что это очень удобно. Так же, обычно, у таких программ не предполагается обработка и хранение больших объемов информации, работа в сети и многопользовательский доступ к базе данных. В таком случае зачастую очень не хочется заморачиваться с использованием таких СУБД, как PostgreSQL или MySQL, т.к. при установки такой программы необходимо, что бы либо пользователь обладал определенными знаниями в этой области и смог настроить СУБД для работы с созданной нами программой, либо для программы придется писать дополнительную программу-установщик, что бы избавить конечного пользователя от совершенно ненужных ему плясок вокруг установки и настройки сервера базы данных.
Но есть более простой выход - использование СУБД Apache Derby, которая может быть интегрированна в Java-приложение. В этой статье я кратко расскажу как можно реализовать такой подход.
При разработке я использовал ОС Linux и среду разработки Eclipse, поэтому статья ориентированна на эти системы, но точно так же всё написанное можно переоформить для MS Windows и любой другой среды разработки.

21 апреля 2010 г.

WEB-камеры в Linux

Для работы с WEB-камерой в Linux можно использовать драйвер UVC, который, начиная с версии 2.6.27, входит в состав ядра Linux. Но для того, что бы все легко и непринужденно работало, нужно купить правильную камеру :) При покупке камеры необходимо опираться на список камер, поддерживаемых драйвером UVC

Проверка камеры:

1. Необходимо загрузить модуль ядра uvcvideo:
# modprobe uvcvideo
2. Проверяем, что модуль нормально загрузился:
# lsmod |grep uvc
uvcvideo                    59272   0
compat_ioctl32            5248  1 uvcvideo
videodev                    36992  1 uvcvideo
usbcore                   150896  9  snd_usb_audio,uvcvideo,snd_usb_lib,usb_storage,libusual,usblp,ehci_hcd,uhci_hcd
3. Проверяем камеру с помощью программы uvcview (в openSUSE 11.1 luvcview):
#  uvcview
YUV422
YUY2
MJPEG
parm.parm.capture.timeperframe.numerator    = 1
parm.parm.capture.timeperframe.denominator = 15
parm.parm.capture.timeperframe.numerator    = 1
parm.parm.capture.timeperframe.denominator = 15

Файл устройства WEB-камеры /dev/video0, /dev/video1 и т.п.