четверг, 25 июня 2009 г.

swt label в eclipse

Бывает ли у вас ситуация, описанная ниже?
Когда пользуетесь eclipse-ом, в строке статуса (внизу) отображается нужная Вам информация, и хочется ее скопировать.

У меня личто так всегда бывает! Видит око, да глаз не имет!

Ну и решил я в этот раз разобраться, как же от туда взять этот текст. Например, XPath, при редактировании XML-я. Долго копался в коде, потом обнаружил, что все таки это Label (в эклипсе свой CLabel с блекджеком). А у лэйбла текст не копируется!! :-) В инете везде так и пишут: если хочешь лейбл с возможностью копирования текста, юзай виджет Text в режиме ридонли.

Короче, я так и не нашел универсального способа скопировать от туда текст. Досадно :-)

P.S. Вот о каком лейбле я гутарю:


P.P.S. Идея! А засабмичу ка я фич реквест или баг репорт! :-)

пятница, 19 июня 2009 г.

Как настраивать HTTPS в JBoss с нуля:

1. надо выполнить команду "keytool -genkey -alias tc-ssl -keyalg RSA -keystore server.keystore -validity 3650", в результате будет создан ключ server.keystore. В качестве пароля указать "changeit".
2. Переименовать "server.keystore" в ".keystore" и поместить в home folder юзера, от которого запускается JBoss
3. Раскомментировать в файле jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml секцию "Define a SSL HTTP/1.1 Connector"
4. Перезапустить JBoss

По сути, мы настраиваем SSL в конфиге веб контейнера, в JBoss-е это tomcat.
Почему пароль 'changeit'? Потому, что томкат использует его по умолчанию, если меняем пароль - прийдется его тоже прописывать в конфиге.
Почему файл ".keystore" кладем в хоум фолдер? Если мы хотим кастомное имя и месторасположение - прийдется прописывать их в конфиге.

Еще заметка в эту тему:
Стандартный порт для HTTPS – 443, стандартный порт для HTTP – 80. Разница между ними: 443 – 80 = 363.
Другими словами, чтобы получить HTTPS порт, надо к HTTP порту прибавить 363. Например, для нашего тестового: 6666 + 363 = 7029

Полезные ссылки:
http://tomcat.apache.org/tomcat-4.0-doc/ssl-howto.html
http://www.jboss.org/community/wiki/SSLSetup

суббота, 13 июня 2009 г.

Немного слов о Jetty (java)

Смотрю этот вебинар: http://live.eclipse.org/node/751
И решил немного его прорекламировать. Как говорится: а пацаны то не знают!
Ниже сильно упрощенный пересказ некоторой части вебинара :-)

Что такое Jetty?
- java HTTP server
- HTTP client (об этом многие не знают!) //Нужен для тестирования, например, чтобы сэмулировать 1000 заходов через браузер :-)
- Servlet container

История Jetty:
1995 разработан на java 0.9 как часть багтрекинг системы
1997 проект переименован в Jetty, реализована альфа спецификация Servlet API
1998 Jetty 2.0, реализована поддержка HTTP/1.1, сменили хостинг на sourceforge
2005 Jetty 6.0, сменили хостинг на codehaus, работыли над расширяемостью Web 2.0 приложений
2009 Jetty 7, переехали под крыло eclipse foundation как часть eclipse runtime (RT), упакован как OSGI бандл (http://www.eclipse.org/jetty/)
2010 Jetty 8, реализация Servlet 3.0 API

Jetty очень легко встраивается в java приложения.
У Jetty очень мало зависимостей, она очень мало "весит". Благодаря этому, Jetty может быть запущен даже на телефоне.
Jetty это не Application Server, но может быть использована как Application Server. Jetty это компонент, который может быть встроен в java приложение.
Многие Application Server-ы используют Jetty Как встроенный сервлет контейнер (JBoss, Geronimo, Jpnas..)

Остальную, самую интересную часть, я описывать не стал! Это надо видеть!!
Я на самом деле ерунду здесь описал)))
P.S. очень понравился пример с чатом в презентации

воскресенье, 7 июня 2009 г.

django - url mapping

Стал разбираться с DJango, нашел интереснейшую идею.

Часто мы ходим по сайтам, и видим такую картину "www.shop.org/catalog?product_id=123". Другими словами какие-то параметры к странице передаются в виде GET запроса. Выглядит это не супер юзер френдли.

Представьте себе, если бы мне пришлось диктовать эту ссылку другому человеку по телефону :-)

А если бы URL-ы выглядели так? "www.shop.org/catalog/product_id/123/"
Смотрите, никаких GET-запросов! никаких непонятных знаков '?' и '='

Намного лучше!

Теперь буду стараться применять такие URL-ы везде где только смогу. Раньше даже в голову не приходило, что часть URL можно обрабатывать как параметр. В DJango это делается очень просто! наверняка и другие фреймворки данную фишку :-)