<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JUG.ua &#187; программирование</title>
	<atom:link href="http://jug.ua/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://jug.ua</link>
	<description>weblog сообщества Java-разработчиков КПИ</description>
	<lastBuildDate>Wed, 25 Aug 2010 11:43:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Корпоративные блоги, MetaWeblog и XML-RPC</title>
		<link>http://jug.ua/2010/08/korporativnye-blogi-metaweblog-i-xml-rpc/</link>
		<comments>http://jug.ua/2010/08/korporativnye-blogi-metaweblog-i-xml-rpc/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 11:43:45 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[MetaWeblog]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=498</guid>
		<description><![CDATA[Сегодня блоги – это не просто персональные дневники; они стали идеальной платформой публикации в Интернете. Внутри предприятия блоги часто являются центральным каналом взаимодействий в управлении, разработке и маркетинге, что делает важным выбор в качестве инструмента для ведения блогов открытого программного обеспечения, соответствующего стандартным XML API. Познакомьтесь с одной из таких программ, MetaWeblog (широко применяемый API [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jug.ua/wp-content/uploads/2010/08/blog20boardcopy.jpg"><img class="alignleft size-full wp-image-500" src="http://jug.ua/wp-content/uploads/2010/08/blog20boardcopy.jpg" alt="" width="150" height="98" /></a>Сегодня блоги – это не просто персональные дневники; они стали идеальной  платформой публикации в Интернете. Внутри предприятия блоги часто  являются центральным каналом взаимодействий в управлении, разработке и  маркетинге, что делает важным выбор в качестве инструмента для ведения  блогов открытого программного обеспечения, соответствующего стандартным  XML API. Познакомьтесь с одной из таких программ, MetaWeblog (широко  применяемый API блогов), и научитесь использовать этот API для написания  своих собственных инструментальных программ для поддержки блогов.</p>
<p>В настоящее время большинство людей хорошо знакомо с персональными  блогами и блогами, спонсируемыми компаниями или отраслевыми структурами.  Последние очевидно являются новыми ответвлениями традиционных  корпоративных и отраслевых Web-сайтов. Их содержимое может варьироваться  от неуклюже составленных анонсов товаров и рекламы до действительно  полезных и глубоких исследований тем, связанных с товарами компании и  будущими направлениями развития отрасли.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/x-metablog/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Подробнее на IBM developerWorks Россия</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/08/korporativnye-blogi-metaweblog-i-xml-rpc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Программирование на Python</title>
		<link>http://jug.ua/2010/08/programmirovanie-na-python/</link>
		<comments>http://jug.ua/2010/08/programmirovanie-na-python/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 11:15:04 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=495</guid>
		<description><![CDATA[Часть 1. Возможности языка и основы синтаксиса Это вводная статья будет посвящена знакомству с Python, его возможностям и основам синтаксиса. Изучение Python в качестве второго языка программирования не представляет особой сложности, так как у него больше общих черт с другими языками, нежели различий, хотя отдельные особенности и являются специфическими чертами Python (использование отступов, lambda-функции и [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.ibm.com/developerworks/ru/library/l-python_part_1/index.html?S_TACT=105AGX99&amp;S_CMP=GR01"><a href="http://jug.ua/wp-content/uploads/2010/08/python.png"><img class="alignleft size-full wp-image-496" src="http://jug.ua/wp-content/uploads/2010/08/python.png" alt="" width="75" height="75" /></a>Часть 1. Возможности языка и основы синтаксиса</a></strong></p>
<p>Это вводная статья будет посвящена знакомству с Python, его возможностям и основам синтаксиса. Изучение Python в качестве второго языка программирования не представляет особой сложности, так как у него больше общих черт с другими языками, нежели различий, хотя отдельные особенности и являются специфическими чертами Python (использование отступов, lambda-функции и т.д.).</p>
<p><strong><a href="http://www.ibm.com/developerworks/ru/library/l-python_part_2/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 2: Строки в Python</a></strong></p>
<p>Строки относятся к наиболее популярным базовым типам. Срезы, большой набор встроенных функций, удобное форматирование позволяет гибко и оперативно производить манипуляции там, где мы могли бы затратить значительно большее количество времени на рутинные операции, будь это какой-то другой язык. Питон — это удобство, простота, минимальное количество усилий.</p>
<p><strong><a href="http://www.ibm.com/developerworks/ru/library/l-python_part_3/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 3: Списки в питоне</a></strong></p>
<p>В этой статье будут рассмотрены вопросы, связанные с базовым типом Python — списками. Будет показано, что этот универсальный инструмент превосходит аналоги из других языков программирования. Большое количество встроенных функций позволяет решать прикладные задачи за минимально короткое время. Типовое разнообразие списков в виде стеков, очередей, кортежей, сетов позволяет охватывать широкий круг алгоритмов.</p>
<p><strong><a href="http://www.ibm.com/developerworks/ru/library/l-python_part_4/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 4. Словари</a></strong></p>
<p>Cловари наряду со списками являются наиболее простыми, гибкими и мощными коллекционными типами. Словарь, как и список, является изменяемым (mutable) типом данных, хотя и содержит неизменяемые ключи и может неограниченно расти. Если вам нужна коллекция с доступом по ключу — словарь подходит для этого лучше всего. Если вам нужна коллекция для хранения произвольных объектов произвольной вложенности — словарь в этом вам поможет.</p>
<p><strong><a href="http://www.ibm.com/developerworks/ru/library/l-python_part_5/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 5. Модули</a></strong></p>
<p>Импорт модулей — это основа программной архитектуры в питоне. Большие программы состоят из большого количества файлов, и объединяет их линковка во время исполнения на основе импорта. Модули структурируют программу, разбивая логику на отдельные компоненты. Код внутри одного модуля изолирован от остальных модулей, что минимизирует коллизию имен внутри программы.</p>
<p>Пакетный импорт упрощает поиск путей, на уровне файловой системы организует управление модульными библиотеками с многоуровневой вложенностью.</p>
<p><strong><a href="http://www.ibm.com/developerworks/ru/library/l-python_part_6/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 6. Классы</a></strong></p>
<p>Основные свойства ООП — полиморфизм, наследование, инкапсуляция. Класс — это пользовательский тип, состоящий из методов и атрибутов. Инстанс класса создается путем вызова имени класса как функции с параметрами. Объект состоит из атрибутов и методов. Атрибут — это переменная, метод — это функция. Отличия метода от функции в том, что у него есть первый параметр — self. Полиморфизм позволяет нам работать с различными типами объектов так, что нам не нужно задумываться о том, к какому типу они принадлежат.</p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/08/programmirovanie-na-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JiBX 1.2: Часть 2. От XML-схемы к коду Java</title>
		<link>http://jug.ua/2010/08/jibx-1-2-chast-2-ot-xml-sxemy-k-kodu-java/</link>
		<comments>http://jug.ua/2010/08/jibx-1-2-chast-2-ot-xml-sxemy-k-kodu-java/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 11:14:19 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JiBX]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=490</guid>
		<description><![CDATA[JiBX — это инструмент для установления соответствия между данными XML и объектами Java. JiBX давно известен как самый быстрый и гибкий способ установления соответствия между кодом Java и XML. Однако сложность этих определений соответствия и ограниченная поддержка все более широко используемых определений XML-схемы иногда расхолаживали пользователей. К счастью, в версии JiBX 1.2 сделано многое для [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jug.ua/wp-content/uploads/2010/08/duke111.jpg"><img class="alignleft size-thumbnail wp-image-491" src="http://jug.ua/wp-content/uploads/2010/08/duke111-150x150.jpg" alt="" width="150" height="150" /></a>JiBX — это инструмент для установления соответствия между данными XML и  объектами Java. JiBX давно известен как самый быстрый и гибкий способ  установления соответствия между кодом Java и XML. Однако сложность этих  определений соответствия и ограниченная поддержка все более широко  используемых определений XML-схемы иногда расхолаживали пользователей. К  счастью, в версии JiBX 1.2 сделано многое для решения этих проблем. Из  этого руководства вы узнаете об использовании новых функций JiBX 1.2 для  простой генерации кода Java из существующего определения XML-схемы и  для чтения/записи XML-документов в соответствии со сгенерированными  определениями схемы — и все это без необходимости вдаваться в детали  определений соответствия JiBX.</p>
<p><a href="http://www.ibm.com/developerworks/ru/edu/j-jibx1/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">В первой части</a> был описан обратный процесс преобразования кода Java в определения XML-схемы.</p>
<p><a href="http://www.ibm.com/developerworks/ru/edu/j-jibx2/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">В второй части</a> рассказывается о том, как с помощью JiBX 1.2 сгенерировать очищенный код  благодаря лучшей интерпретации схемы и исключению ненужных классов. Вы  также узнаете, как настроить сгенерированный код, чтобы он лучше отвечал  вашим требованиям, в том числе используя такие настройки, которые легко  исключают ненужные компоненты схемы.</p>
<p><a href="http://www.ibm.com/developerworks/ru/java/?S_TACT=105AGX99&amp;S_CMP=GR01">Смотрите другие материалы о Java на IBM developerWorks Россия</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/08/jibx-1-2-chast-2-ot-xml-sxemy-k-kodu-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JiBX 1.2: Часть 1. От кода Java к XML-схеме</title>
		<link>http://jug.ua/2010/08/jibx-1-2-chast-1-ot-koda-java-k-xml-sxeme/</link>
		<comments>http://jug.ua/2010/08/jibx-1-2-chast-1-ot-koda-java-k-xml-sxeme/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 12:46:51 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JiBX]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=483</guid>
		<description><![CDATA[JiBX – это инструмент для установления соответствия между данными XML и объектами Java. JiBX давно известен как самый быстрый и гибкий способ установления соответствия между кодом Java и XML. Однако сложность этих определений соответствия и ограниченная поддержка все более широко используемых определений XML-схемы иногда расхолаживали пользователей. К счастью, в версии JiBX 1.2 многое сделано для [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jug.ua/wp-content/uploads/2010/08/duke11.jpg"><img class="alignleft size-full wp-image-484" src="http://jug.ua/wp-content/uploads/2010/08/duke11.jpg" alt="" width="154" height="158" /></a>JiBX – это инструмент для установления соответствия между данными XML и объектами Java. JiBX давно известен как самый быстрый и гибкий способ установления соответствия между кодом Java и XML. Однако сложность этих определений соответствия и ограниченная поддержка все более широко используемых определений XML-схемы иногда расхолаживали пользователей. К счастью, в версии JiBX 1.2 многое сделано для решения этих проблем. Из этого руководства вы узнаете об использовании новых функций JiBX 1.2 для простой генерации определений XML-схемы из существующего кода Java и чтении и записи XML-документов в соответствии со сгенерированными определениями схемы – и все это без необходимости вдаваться в детали определений соответствия JiBX. Во второй части описан обратный процесс преобразования определений XML-схемы в код Java.</p>
<p>Это руководство проведет вас по процессу использования JiBX для генерации определений XML-схемы из кода Java. Сначала вы увидите, как на основе простой модели данных Java сгенерировать соответствующую этой модели схему с параметрами по умолчанию. Оттолкнувшись от этой платформы, вы научитесь легко применять целый ряд настроек для управления фактическими значениями, которые используют и к которым обращаются ваши классы Java, будь то обязательные или опциональные значения, используемые в XML имена и пространства имен и даже сгенерированная структура определений схемы. В процессе чтения вы увидите, как JiBX повышает ценность сгенерированных вами схем, используя ваши инвестиции в Javadocs для автоматического документирования определений схемы. Проведя работу с приведенными здесь примерами, вы сможете использовать JiBX для генерации качественных определений XML-схемы из своих собственных классов структуры данных Java.</p>
<p><a href="http://www.ibm.com/developerworks/ru/edu/j-jibx1/index.html?S_TACT=105AGX99&amp;S_CMP=GR01"> Подробнее на IBM developerWorks Россия</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/08/jibx-1-2-chast-1-ot-koda-java-k-xml-sxeme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL &amp; PostgreSQL</title>
		<link>http://jug.ua/2010/07/mysql-postgresql/</link>
		<comments>http://jug.ua/2010/07/mysql-postgresql/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 10:25:08 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[документация]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PostgreSQL]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=476</guid>
		<description><![CDATA[При сравнении MySQL и PostgreSQL исторически сформировался следующий подход: MySQL часто рассматривают как быструю базу данных, более легкую в настройке и использовании, в то время как PostgreSQL с самого начала разрабатывалась как база с большим числом настроек и более точным соответствием стандарту. Часть 1: Сравнительный анализ. MySQL и PostgreSQL – две наиболее популярные open-source базы [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jug.ua/wp-content/uploads/2010/07/Msquel.jpg"><img class="alignleft size-full wp-image-478" src="http://jug.ua/wp-content/uploads/2010/07/Msquel.jpg" alt="" width="150" height="41" /></a>При сравнении MySQL и PostgreSQL исторически сформировался следующий подход:</p>
<p>MySQL часто рассматривают как быструю базу данных, более легкую в настройке и использовании, в то время как PostgreSQL с самого начала разрабатывалась как база с большим числом настроек и более точным соответствием стандарту.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/os-mysql-postgresql/01/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 1: Сравнительный анализ.</a><br />
MySQL и PostgreSQL – две наиболее популярные open-source базы данных в мире. Каждая база имеет свои особенности и отличия. Если вам нужно быстрое хранилище для простых запросов с минимальной настройкой, я бы порекомендовал MySQL. Если вам нужно надежное хранилище для большого объема данных с возможностью расширения, репликации, полностью соответствующее современным стандартам языка SQL, я бы предложил использовать PostgreSQL.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/os-mysql-postgresql/02/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 2: Конфигурация MySQL.</a></p>
<p>Конфигурация, идущая по умолчанию, в большинстве случаев не рассчитана на максимальное использование ресурсов. Изменение одного параметра в конфигурации зачастую также не приводит к ожидаемым результатам. Оптимизировать можно использование памяти, дисковые операции и многое другое. Правильное понимание настройки конфигурации сервера может сильно сэкономить ваше время, силы и нервы.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/os-mysql-postgresql/03/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 3: Конфигурация PostgreSQL.</a></p>
<p>Конфигурация, идущая по умолчанию, в большинстве случаев не рассчитана на максимальное использование ресурсов – это справедливо как для PostgreSQL, так и для MySQL. Пути по умолчанию для каталогов можно изменить непосредственно при сборке из исходников. Некоторые параметры постгресу можно передавать из командной строки. Так же можно определить переменную окружения PGOPTIONS, а значения некоторых переменных можно изменить прямо в процессе выполнения запросов.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/os-mysql-postgresql/04/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 4: Масштабирование MySQL.</a></p>
<p>Проблемы масштабирования возникают не сразу – они появляются внезапно и в определенный момент. Если вы к этому не готовы, то вас ждут большие проблемы. Компания, которая не в состоянии масштабировать свои приложения, терпит крах. Причины могут иметь свои корни как в железе, так и в софте. База данных, разнесенная по нескольким серверам и имеющая большую пользовательскую нишу, должна иметь более высокие требования по готовности для большего числа запросов.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/os-mysql-postgresql/05/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 5: Масштабирование PostgreSQL.</a></p>
<p>В предыдущей статье мы обсудили вопросы масштабирования MySQL. Рассмотрим эти моменты для сервера баз данных PostgreSQL.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/os-mysql-postgresql/06/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Часть 6: Репликация MySQL.</a></p>
<p>Реализация репликаций в MySQL имеет ряд недостатков, над которыми активно ведется работа. Google выпустил несколько патчей, улучшающих возможности репликации. Ведется работа над multimaster и построчной репликациями, которые появятся в будущих версиях. Имеются планы по автоматической конфигурации слэйвов. Все это вселяет уверенность в том, что одна из самых востребованных на сегодняшний день open-source баз данных MySQL станет еще продуктивнее, еще быстрее, еще надежнее.</p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/07/mysql-postgresql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Защита JavaBeans в приложениях JSF</title>
		<link>http://jug.ua/2010/07/zashhita-javabeans-v-prilozheniyax-jsf/</link>
		<comments>http://jug.ua/2010/07/zashhita-javabeans-v-prilozheniyax-jsf/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 10:19:36 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[JavaBeans]]></category>
		<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=472</guid>
		<description><![CDATA[Эта серия из пяти статей знакомит с системой безопасности Acegi и показывает, как использовать Acegi для обеспечения безопасности корпоративных Java-приложений. Эта заключительная статья продолжает обсуждение использования Acegi для обеспечения безопасности приложений JSF. В части 4 я показал, как можно обеспечить безопасность страницы JavaServer Faces (JSF) с использованием Acegi без написания какого-либо программного кода на Java. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ibm.com/developerworks/ru/views/java/libraryview.jsp?search_by=acegi"> <a href="http://jug.ua/wp-content/uploads/2010/07/Acegi.gif"><img class="alignleft size-full wp-image-473" src="http://jug.ua/wp-content/uploads/2010/07/Acegi.gif" alt="" width="216" height="120" /></a>Эта серия  из пяти статей</a> знакомит с системой безопасности Acegi и показывает, как использовать Acegi для обеспечения безопасности корпоративных Java-приложений. Эта заключительная статья продолжает обсуждение использования Acegi для обеспечения безопасности приложений JSF. <a href="http://www.ibm.com/developerworks/ru/library/j-acegi4/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">В части 4</a> я показал, как можно обеспечить безопасность страницы JavaServer Faces (JSF) с использованием Acegi без написания какого-либо программного кода на Java. Я также подробно разобрал события, которые происходят при развертывании приложения JSF-Acegi и при обращении пользователя к нему. В этот раз я сосредоточусь на методах обеспечения безопасности JavaBeans в приложениях JSF.</p>
<p>Сначала я покажу, что концепции безопасности bean-компонентов, которые я описывал в части 3 этой серии, могут применяться и к приложениям JSF, но не идеальны для них. Затем я продемонстрирую пару новых методов, особенно удобных для обеспечения безопасности JavaBeans, используемых в приложениях JSF. Я закончу обсуждение представлением четырехступенчатой стратегии, которая позволяет использовать Acegi для обеспечения безопасности bean-компонентов в приложениях JSF без написания какой-либо защитной программы на Java.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/j-acegi5/index.html?S_TACT=105AGX99&amp;S_CMP=GR01"><br />
Подробнее на IBM developerWorks Россия</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/07/zashhita-javabeans-v-prilozheniyax-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Новые возможности Apache Solr</title>
		<link>http://jug.ua/2010/07/novye-vozmozhnosti-apache-solr/</link>
		<comments>http://jug.ua/2010/07/novye-vozmozhnosti-apache-solr/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 10:38:48 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[Apache Solr]]></category>
		<category><![CDATA[developerworks Россия]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=468</guid>
		<description><![CDATA[Apache Solr представляет собой поисковый сервер с открытым исходным кодом, основанный на Apache Lucene и работающий преимущественно через протокол HTTP. В 2007 г. на сайте developerWorks была опубликована серия из двух статей под названием Умный поиск при помощи Apache Solr, в которых содержалась вводная информация о Solr. Однако после выпуска версии 1.3 пришло время описать [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jug.ua/wp-content/uploads/2010/07/solr-e1279103566147.jpg"><img class="alignleft size-full wp-image-469" src="http://jug.ua/wp-content/uploads/2010/07/solr-e1279103566147.jpg" alt="" width="128" height="72" /></a>Apache Solr представляет собой поисковый сервер с открытым исходным кодом, основанный на Apache Lucene и работающий преимущественно через протокол HTTP. В 2007 г. на сайте developerWorks была опубликована серия из двух статей под названием Умный поиск при помощи Apache Solr, в которых содержалась вводная информация о Solr. Однако после выпуска версии 1.3 пришло время описать множество новых возможностей и усовершенствований, появившихся с тех времен.</p>
<p>Solr предоставляет множество функций, делающих его пригодным для использования в корпоративных приложениях, а именно: поддержку простого конфигурирования и администрирования, поддержку множественных связей между клиентами и языками, репликацию индексов, кэширование, статистику и журналирование. Кроме того, в версии 1.3 существенно улучшена производительность благодаря громадному прогрессу в быстродействии Apache Lucene 2.3, а также использованию новой обратно совместимой и встраиваемой компонентной архитектуре. Данная архитектура послужила основанием для появления большого числа новых компонентов, которые дополнительно расширяют возможности Solr. Например, в релиз 1.3 вошли следующие компоненты:</p>
<p>* проверка орфографии с поддержкой функции &#8220;Вы, наверное, имели в виду следующее?&#8221;;<br />
* поиск документов по принципу схожести;<br />
* возможность переопределения результатов поиска (так называемое &#8220;платное размещение&#8221;).</p>
<p>Более того, даже существующая функциональность, например разбор запросов, поиск, сегментирование и отладка, была переработана с учетом компонентного подхода, который позволяет разработчикам создавать собственные обработчики (экземпляры SolrRequestHandler) путем сцепления компонентов. Наконец, в Solr появилась возможность непосредственной индексации содержимого базы данных. Это очень важно для многих корпоративных приложений, так как позволяет осуществлять распределенный поиск по очень большим хранилищам данных.</p>
<p>Мы начнем с краткого описания ключевых моментов в Solr, а затем перейдем к последней версии и ее установке (в том числе к некоторым моментам перехода с предыдущей версии). Далее мы рассмотрим некоторые из главных улучшений по сравнению с предыдущим релизом и закончим обзором некоторых новых функций Solr.<br />
<a href="http://www.ibm.com/developerworks/ru/library/j-solr-update/index.html?S_TACT=105AGX99&amp;S_CMP=GR01"><br />
Подробнее на IBM developerWorks Россия</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/07/novye-vozmozhnosti-apache-solr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Новые математические возможности Java</title>
		<link>http://jug.ua/2010/07/novye-matematicheskie-vozmozhnosti-java/</link>
		<comments>http://jug.ua/2010/07/novye-matematicheskie-vozmozhnosti-java/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 13:06:21 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=464</guid>
		<description><![CDATA[В этой серии из двух статей Эллиотта Гарольда рассматриваются &#8220;старые-новые&#8221; возможности хорошо известного класса java.lang.Math. Первая часть посвящена исключительно математическим функциям, а во второй речь пойдет о функциях, созданных для работы с числами с плавающей точкой. В пятой версии спецификации языка Java™ (Java Language Specification) было добавлено 10 новых методов в классы java.lang.Math и java.lang.StrictMath. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jug.ua/wp-content/uploads/2010/07/java.jpg"><img class="alignleft size-thumbnail wp-image-465" src="http://jug.ua/wp-content/uploads/2010/07/java-150x150.jpg" alt="" width="150" height="150" /></a>В этой серии из двух статей Эллиотта Гарольда рассматриваются &#8220;старые-новые&#8221; возможности хорошо известного класса java.lang.Math. Первая часть посвящена исключительно математическим функциям, а во второй речь пойдет о функциях, созданных для работы с числами с плавающей точкой.</p>
<p>В пятой версии спецификации языка Java™ (Java Language Specification) было добавлено 10 новых методов в классы java.lang.Math и java.lang.StrictMath. Еще 10 методов появилось в шестой версии. В первой статье серии были рассмотрены методы, имеющие четкое математическое определение, знакомое математикам, жившим до изобретения компьютеров. В этой статье основное внимание будет уделено методам, смысл которых становится ясен только при осознании того, что они оперируют с числами с плавающей точкой, а не c абстрактными вещественными числами.</p>
<p><strong><a href="http://www.ibm.com/developerworks/ru/library/j-math1/?S_TACT=105AGX99&amp;S_CMP=GR01">В первой части</a></strong> отмечалось важное отличие вещественных чисел, таких как e или 0.2, от их машинного представления, например, типа данных double в Java. Точное представление вещественного числа может быть бесконечно длинным, в то время как в Java на представление отводится фиксированное число битов (32 для float и 64 для double). Максимальным числом, представимым в формате float, является примерно 3.4*1038. Этого в некоторых случаях может не хватить, например, для числа электронов во Вселенной.</p>
<p>Тип данных double способен представлять числа до 1.8*10308, чего, как мне кажется, должно хватать для практически всех физических величин. Однако при вычислении абстрактных математических значений можно выйти за пределы этого ограничения. Например, число 171! (171 * 170 * 169 * 168 * &#8230; * 1) больше максимального числа, представимого в формате double, а float не хватает уже для вычисления 35!. Малые числа (числа, близкие к нулю) также могут представлять собой проблему, поэтому вычисления, в которых участвуют очень большие либо очень малые числа, являются потенциально небезопасными.</p>
<p>В стандарте IEEE 754 для операций с плавающей точкой (см. раздел Ресурсы) вводятся специальные величины: Inf для представления бесконечности и NaN (Not a Number) для представления всего, что не является числом. В этом стандарте также определены положительные и отрицательные нули (в обычной математике ноль не обладает знаком, а в компьютерной – может обладать любым знаком). Эти значения являются настоящим бедствием при доказательстве классических теорем. В частности, закон исключенного среднего (law of exluded middle) не выполняется в присутствии NaN, поскольку утверждение x == y или x != y оказывается ложным, если x или y равен NaN.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/j-math1/?S_TACT=105AGX99&amp;amp;S_CMP=GR01">Часть 1. Вещественные числа</a><br />
<a href="http://www.ibm.com/developerworks/ru/library/j-math2/?S_TACT=105AGX99&amp;amp;S_CMP=GR01">Часть 2. Числа с плавающей точкой</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/07/novye-matematicheskie-vozmozhnosti-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript EE: Часть 1. Исполнение файлов JavaScript на стороне сервера</title>
		<link>http://jug.ua/2010/06/javascript-ee-chast-1-ispolnenie-fajlov-javascript-na-storone-servera/</link>
		<comments>http://jug.ua/2010/06/javascript-ee-chast-1-ispolnenie-fajlov-javascript-na-storone-servera/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 07:39:37 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[developerWorks]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=460</guid>
		<description><![CDATA[Комбинирование JavaScript с кодом Java™ на сервере позволяет свободно использовать одни и те же программы JavaScript как в серверных, так и в клиентских системах. Кроме того, методы, представленные в этой серии статей, позволяют работать с одной и той же базой кода как на Ajax-, так и на не-Ajax клиентских системах. Так как большая часть кода [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jug.ua/wp-content/uploads/2010/06/javascript_logo.jpg"><img class="alignleft size-thumbnail wp-image-461" src="http://jug.ua/wp-content/uploads/2010/06/javascript_logo-150x150.jpg" alt="" width="150" height="150" /></a>Комбинирование JavaScript с кодом Java™ на сервере позволяет свободно использовать одни и те же программы JavaScript как в серверных, так и в клиентских системах. Кроме того, методы, представленные в этой серии статей, позволяют работать с одной и той же базой кода как на Ajax-, так и на не-Ajax клиентских системах. Так как большая часть кода для сервера все равно пишется на языке Java, функции Java Platform, Enterprise Edition (Java EE) желательно сделать доступными для JavaScript. В этих статьях показано, как исполнять файлы JavaScript со стороны сервера, вызывать функции JavaScript с помощью Ajax и использовать API Java Scripting с технологией JavaServer Pages (JSP).</p>
<p>На стороне клиента типичные приложения Ajax используют JavaScript, а на стороне сервера — другие языки, такие как Java. В результате разработчикам приходится создавать некоторые программы дважды, используя для Web-браузера JavaScript, а для сервера другой язык. Этой двойной работы можно избежать, воспользовавшись на стороне сервера языком JavaScript в сочетании с Java, чтобы получить полную поддержку языков сценариев через API javax.script. К тому же Java SE Development Kit (JDK) 6 уже содержит механизм JavaScript Rhino от Mozilla, поэтому дополнительно устанавливать ничего не нужно.</p>
<p>В этой первой статье данной серии мы воспользуемся простым сценарием, который позволяет исполнять файлы JavaScript внутри приложений Java ЕЕ. Сценарии будут иметь доступ к так называемым &#8220;неявным объектам&#8221; (implicit objects), которые используются в страницах JSP, таким как application, session, request и response. Большинство примеров состоит из многократно используемого кода, так что вам будет легко перейти к применению JavaScript на сервере в своих собственных приложениях.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/wa-aj-javaee/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Подробнее на IBM developerWorks Россия</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/06/javascript-ee-chast-1-ispolnenie-fajlov-javascript-na-storone-servera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Удалённые вычисления с nanoHUB</title>
		<link>http://jug.ua/2010/06/udalyonnye-vychisleniya-s-nanohub/</link>
		<comments>http://jug.ua/2010/06/udalyonnye-vychisleniya-s-nanohub/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 10:02:24 +0000</pubDate>
		<dc:creator>ibm_dw</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[nanoHUB]]></category>

		<guid isPermaLink="false">http://jug.ua/?p=457</guid>
		<description><![CDATA[nanoHUB — это виртуальный вычислительный центр, созданный для поддержки исследований в области нанотехнологий. Он использует компоненты с открытым исходным кодом для получения гораздо более впечатляющих результатов, чем используемые ранее средства удалённого доступа. Эта статья подробно описывает частные настройки и усовершенствования, необходимые для получения максимальной производительности, безопасности и удобства в использовании от применения такого известного программного [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jug.ua/wp-content/uploads/2010/06/nanotube.jpg"><img class="alignleft size-thumbnail wp-image-458" src="http://jug.ua/wp-content/uploads/2010/06/nanotube-150x150.jpg" alt="" width="150" height="150" /></a>nanoHUB — это виртуальный вычислительный центр, созданный для поддержки исследований в области нанотехнологий. Он использует компоненты с открытым исходным кодом для получения гораздо более впечатляющих результатов, чем используемые ранее средства удалённого доступа. Эта статья подробно описывает частные настройки и усовершенствования, необходимые для получения максимальной производительности, безопасности и удобства в использовании от применения такого известного программного обеспечения, как VNC и WebDAV.</p>
<p>nanoHUB.org использует уникальную систему ПО Middleware, в которой обеспечен точный баланс безопасности, производительности и гибкости для поддержки распределённых публичных исследований в области нанотехнологий. Учёные, которые используют этот «исследовательский шлюз», могут больше внимания уделять своим исследованиям, а не вычислительным задачам.</p>
<p>Между тем, помимо явных важных преимуществ, nanoHUB дает представление о том, как можно настроить и улучшить хорошо известные в мире открытого ПО программы для значительного расширения возможности виртуальных вычислений. Говоря об этом проекте, Суприйо Датта, директор института наноэлектроники вычислений NASA/Purdue, подчеркнул: &#8220;Приложив совсем немного усилий, мы сделали наши инструменты моделирования доступными для наших коллег. Теперь наши коллеги могут легко запускать программу молекулярного электронного моделирования&#8221;. Как видно из рисунка 1, nanoHUB приятно сочетает в себе простоту использования для учёных, которые публикуют с его помощью свои работы, и для их коллег, которые знакомятся с этими публикациями.</p>
<p><a href="http://www.ibm.com/developerworks/ru/library/au-nanohub/index.html?S_TACT=105AGX99&amp;S_CMP=GR01">Источник IBM developerWorks Россия</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jug.ua/2010/06/udalyonnye-vychisleniya-s-nanohub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
