Что же такое микроформаты?

Рубрика: Development | 29 April 2008, 21:23 | Vadim Voituk

Только сейчас до меня в полной мере дошло что же такое микроформаты и какие преимущества от их использования.

По сути это набор правил для организации контента на web-странице, которые добавляют определенную семантику к данным презентованным на ней.

Приведу пример: [Далее...]

Undecorated JFrame recipe

Рубрика: Java | 29 April 2008, 18:34 | juriy

Swing и недекорированные окна.

В этой заметке я хочу рассказать о том, как избавлять фреймы от стандартных декораций Windows – рамок окна, заголовка, кнопок из правого верхнего угла.

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

Решение.

Самый простой способ решить задачу – использовать метод JFrame setUndecorated(true). Вот пример кода, который отображаает фрейм без декораций.
[Далее...]

WordPress autosave bug

Рубрика: Блоггинг | 28 April 2008, 12:50 | Vadim Voituk

После обновления WordPress до версии 2.5.1 обнаружился баг в системе автоматического сохранения редактируемой записи.
Авто-сохранение проиходило перманентно, где-то с интервалом раз в секунду, при этом писать что-либо было невозможно из-за ужасного торможения браузера.
После downgrade обратно на версию 2.5 (SVN рулит!) ситуация не изменилась.

В результате несложного debug-а было обнаружено что не определена константа AUTOSAVE_INTERVAL.
Лечится простым добавлением в wp-config.php строки:
[php]define(‘AUTOSAVE_INTERVAL’, 60);[/php]
где 60 – интевал выполнения автосохранения в секундах.

После этого все заработало как часы.

Just for Fun фриланс 4 – Вывод средств

Рубрика: Development, Работа | 27 April 2008, 19:11 | Vadim Voituk

Продолжение истории о том, как я снова ненадолго стал фрилансером на GetAFreelancer.com.
Начало, продолжение, и пару слов о платежной карте Payoneer.

Сразу после прошлого поста о платежной карте Payoneer меня начали спрашивать в какую же сумму “выльется” вывод денег с GetAFreelancer-а на MasterCard-карту, и с карты в наличные.
Будучи толком не знаком с тем, как работает Payoneer, для начала я сделал тестовый вывод суммы в $33.

Тут же меня сразу постигло первое разочарование. [Далее...]

Programming Groovy: Dynamic Productivity for the Java Developer

Рубрика: Development, Groovy, Книги | 24 April 2008, 12:44 | Vadim Voituk

“As moves the world, to move in tune with
changing times and ways is wisdom”
— Thiruvalluvar, Poet and Philosopher, 31 B.C

Наконец-то мне попала в руки PDF-версия книги “Programming Groovy: Dynamic Productivity for the Java Developer” (ISBN 10: 1-934356-09-3 | ISBN 13: 9781934356098) из серии “The Pragmatic Programmers”.

Предисловие к книге написал Guillaume Laforge (руководитель проекта Groovy), а приведенная выше цитата, написанная на Тамилском языке, навевает на мысль о причасности к авторству всеми любимых индийских программистов :)

В отличии от книги “Groovy in Action” издательства Manning, состоящей из 700 страниц, в этой всего – 300, что уже само по себе не может не радовать. Да и размер страницы немного меньше.

Также в отличии от GINA, рассматривается более современная версия Groovy из ветки 1.5.*, которая уже поддерживает все возмжности Java 5, и имеет ряд улучшений в API (особенно что касается Builder-ов).

Книга содержит инструкции по установке и настройке Groovy для различных ОС и IDE (Eclipse, Idea, TextMate, …), огромное количество примеров кода, демонстрирующих синтаксические возможности,  готовые примеры решения популярных задач (работа с XML, RDBMS, Ant), а также подробное описание возможностей Groovy MOP, возможностей DSL и Groovy-расширения JDK – GDK.

Конечно же в “Programming Groovy: Dynamic Productivity for the Java Developer” материал излагается не столь фундаметально как в “Groovy in Action”, но как по мне это неплохой компромис для тех, кто хочет быстро вникнуть в основы Groovy.  Для более детального понимания того, как устроен Groovy внутри советую все-таки прочесть (или хотя-бы вдумчиво пролистать:) “Groovy in Action”.
Книга пестрит примерами кода, и пропагандирует исключительно практический подод к изучению, – потому во время чтения не возникает ситуации “ниасилил многа букф” :)

А исходя из того, что Groovy неразрывно связан с Java, и самостоятельным языком для JVM станет ещё не скоро – книга все-таки расчитана больше на Java-разработчиков, чем на новичков, желающих вникнуть в достаточно новый и популярный язык Groovy.

P.S. Осталось ещё где-то  раздобыть Groovy Recipes: Greasing the Wheels of Java.

Groovy packages for Fedora/RHEL/CentOS

Рубрика: Groovy | 20 April 2008, 21:27 | Vadim Voituk

3 дня назад некий Federico Pedemonte опубликовал rpm-пакеты Groovy для Red Hat-овских дистрибутивов Fedora, RHEL и CentOS, тем самым поневоле став их maintainer-ом :)

Теперь Groovy доступен в виде пакетов для таких Linux-дистрибутивов Fedora/RHEL/CentOS, Ubuntu/Debian,  openSUSE 10.2/10.3.
Все пакеты доступны для загрузки с официального сайта Groovy.

На моем продуктивном RHEL 5.1 установка прошла гладко (ещё бы, зависимостей то у пакета нет :), а вот для запуска Groovy прийшлось отдельно установить переменную окружения GROOVY_HOME:
$ export GROOVY_HOME=/usr/share/java/groovy
$ groovy -version
Groovy Version: 1.5.5 JVM: 10.0-b19

History meme

Рубрика: Блоггинг | 20 April 2008, 19:31 | Vadim Voituk

Не очень то я люблю всякие блого-провокации из серии напиши у себя и передай другому (“5 фактов обо мне…”,  “5 инструментов…” и тд.).
Но вот последняя штука “History meme” – really fun :P
Посему мой вариант:
$ history 1000 | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
113 cd
63 ls
57 vim
51 svn
24 screen
20 wget
20 rm
19 mc
18 grep
10 find

Передавать эстафету, как это принято, не буду.
Напротив приведу несколько побудивших меня меня к участию заметок:
Макс Ищенко, блог компании Reactr

P.S. А вообще порою поражаюсь как быстро подобные вирусные штуки распостраняются в сети.
И себе что-ли что-то подобное придумать?

P.S.S. Кстати ссылка в первом абзаце – хороший способ найти неплохие девелоперские блоги.

JavaEE interview questions

Рубрика: Development, Java, Работа | 15 April 2008, 09:38 | Vadim Voituk

Уже неоднократно в нашем блоге публиковались списки вопросов для различных собеседований.

Например не так давно Юра опубковал свой список вопросов на JSE девелопера, а до того и я нашел в сети 30 вопросов к соискателю на должность Java-разработчика.

Продолжая начатую тему, представляю ещё один небольшой список вопросов на JEE-разработчика.
По неподтвержденным данным большинство данных вопросов задаются соискателям в Sun Microsystems. Вопросы собрал и сгруппировал мой бывший коллега Павел Яцюк. [Далее...]

Java + Groovy on Google AppSpot

Рубрика: Google, Groovy, Java | 14 April 2008, 09:07 | Vadim Voituk

Надеюсь что рассказывать что такое Google App Engine никому не нужно, но все же в двух словах напомню:
Google App Engine – это платформа для хостинга различных приложений на оборудовании (как не сложно догадаться) Google. Такой себе следующий шаг после генератора домашних страничек на Google Pages.
К сожалению среди языков программирования пока поддерживается только Python, но активно обсуждается и дальнейшая поддержка других языков.

Будучи приверженцем Groovy, а также ввиду того, что последнюю программу на Python я написал лет так 6-7 назад, прошу всех, кому это читает проголосовать за внедрение поддержки Java (а с ним и Groovy) в Google App Engine.
Для этого нужно всего-то зайти а баг-трекинг проекта по адресу http://code.google.com/p/googleappengine/issues/list, найти тикет с номером 1 и кликните рядом с ним звездочку.
Получится где-то так:

Также желательно, но не обязательно, написать в комментариях к тикету что-то вроде “очень хочется Java + Groovy” :)

Всем заранее спасибо!

Если бы самолеты строили ИТ-шники

Рубрика: Development, Юмор | 13 April 2008, 21:24 | Vadim Voituk

В блоге Макса Тульева набрел на старый-добрый видеоролик, наглядно демонстрирующий то, как бы выглядло свременной авиастроительство, если бы работало по принципам принятым в ИТ

А опубликовал я его тут не просто так, а дабы подискутировать по поводу отсутсвия ответственности разработчиков за свои проекты. [Далее...]