<?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>Блог Erik’а</title>
	<atom:link href="http://home.edstudio.net.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://home.edstudio.net.ru</link>
	<description>Заметки ни о чём и обо всём</description>
	<lastBuildDate>Sun, 18 Apr 2010 16:32:09 +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>Sapphire 3D Surfaces v0.2.1</title>
		<link>http://home.edstudio.net.ru/2010/04/sapphire-3d-surfaces-v0-2-1/</link>
		<comments>http://home.edstudio.net.ru/2010/04/sapphire-3d-surfaces-v0-2-1/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 16:32:09 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[3d surfaces]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[sapphire]]></category>
		<category><![CDATA[разработка]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=323</guid>
		<description><![CDATA[В&#160;продолжение записи Sapphire 3D Surfaces v0.2 обновление от&#160;18.04.10&#160;&#8212; Sapphire 3D Surfaces v0.2.1. Скачать Sapphire 3D Surfaces v0.2.1: Windows Installer (XP/Vista/7&#215;86) &#124; .tar.gz &#124; .tar.bz2.]]></description>
			<content:encoded><![CDATA[<p>В&nbsp;продолжение записи <a href="http://home.edstudio.net.ru/2010/03/sapphire-3d-surfaces-v0-2/" target="_blank" title="Sapphire 3D Surfaces v0.2">Sapphire 3D Surfaces v0.2</a> обновление от&nbsp;<nobr>18.04.10</nobr>&nbsp;&mdash; Sapphire 3D Surfaces v0.2.1.</p>
<p><strong>Скачать Sapphire 3D Surfaces v0.2.1</strong>: <a href="http://download.shamangrad.net/s3ds/Sapphire-3D-Surfaces-0.2.1-win32.exe" target="_blank">Windows Installer (XP/Vista/7&times;86)</a> | <a href="http://download.shamangrad.net/s3ds/Sapphire-3D-Surfaces-0.2.1-sources.tar.gz" target="_blank">.tar.gz</a> | <a href="http://download.shamangrad.net/s3ds/Sapphire-3D-Surfaces-0.2.1-sources.tar.bz2" target="_blank">.tar.bz2</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2010/04/sapphire-3d-surfaces-v0-2-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sapphire 3D Surfaces v0.2</title>
		<link>http://home.edstudio.net.ru/2010/03/sapphire-3d-surfaces-v0-2/</link>
		<comments>http://home.edstudio.net.ru/2010/03/sapphire-3d-surfaces-v0-2/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 15:24:23 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[3d surfaces]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[sapphire]]></category>
		<category><![CDATA[разработка]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=310</guid>
		<description><![CDATA[Вчера, 09.03.10, вышел релиз Sapphire 3D Surfaces v0.2. Долго старались и&#160;наконец изобразали Что&#160;же такое есть Sapphire 3D Surfaces? Приложение предоставляет базовые возможности для построения z&#160;= f&#160;(x, y) функций и&#160;параметрический функций (x&#160;= x&#160;(u, v), y&#160;= y&#160;(u, v) и&#160;z&#160;= z&#160;(u, v)) в&#160;трёхмерном пространстве. Собственно, говорить тут больше нечего, можно посмотреть: Скриншоты Зависимости muParser&#160;&#8212; кросс-платформенный математический парсер. Ссылки [...]]]></description>
			<content:encoded><![CDATA[<p>Вчера, <nobr>09.03.10</nobr>, вышел релиз Sapphire 3D Surfaces v0.2.</p>
<p>Долго старались и&nbsp;наконец изобразали <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-310"></span></p>
<p>Что&nbsp;же такое есть Sapphire 3D Surfaces? Приложение предоставляет базовые возможности для построения <em>z&nbsp;= f&nbsp;(x, y)</em> функций и&nbsp;параметрический функций (<em>x&nbsp;= x&nbsp;(u, v)</em>, <em>y&nbsp;= y&nbsp;(u, v)</em> и&nbsp;<em>z&nbsp;= z&nbsp;(u, v)</em>) в&nbsp;трёхмерном пространстве.</p>
<p>Собственно, говорить тут больше нечего, можно посмотреть:</p>
<h2>Скриншоты</h2>
<p><img alt="2 функции z = f(x, u) и 1 параметрическая" src="http://download.shamangrad.net/s3ds/screenshots/1.png" title="Sapphire 3D Surfaces" class="aligncenter" /></p>
<p><img alt="2 функции z = f(x, y) (1 скрыта) и 1 параметрическая" src="http://download.shamangrad.net/s3ds/screenshots/2.png" title="Sapphire 3D Surfaces" class="aligncenter" /></p>
<h2>Зависимости</h2>
<p><a href="http://sourceforge.net/projects/muparser/">muParser</a>&nbsp;&mdash; <nobr>кросс-платформенный</nobr> математический парсер.</p>
<h2>Ссылки</h2>
<p><strong>Версия 0.2</strong>: <a href="http://download.shamangrad.net/s3ds/Sapphire-3D-Surfaces-0.2-win32.exe" target="_blank">Windows Installer (XP/Vista/7&times;86)</a> | <a href="http://download.shamangrad.net/s3ds/Sapphire-3D-Surfaces-0.2-sources.tar.gz" target="_blank">.tar.gz</a> | <a href="http://download.shamangrad.net/s3ds/Sapphire-3D-Surfaces-0.2-sources.tar.bz2" target="_blank">.tar.bz2</a>.</p>
<p><a href="http://shamangrad.net/project.php?act=view&#038;prj=s3ds">Страница проекта на&nbsp;&laquo;Шаманграде&raquo;</a>.</p>
<p><a href="http://qt-apps.org/content/show.php/Sapphire+3D+Surfaces?content=118944">Страница проекта на&nbsp;<nobr>qt-apps</nobr>.org</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2010/03/sapphire-3d-surfaces-v0-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Создание чекабельной кнопки с меню</title>
		<link>http://home.edstudio.net.ru/2010/02/creating-checkable-button-with-menu/</link>
		<comments>http://home.edstudio.net.ru/2010/02/creating-checkable-button-with-menu/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 07:30:19 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[разработка]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=284</guid>
		<description><![CDATA[Итак, в&#160;этом посте мы&#160;рассмотрим создание чекабельной (checkable) кнопки с&#160;выпадающим меню (в&#160;котором будут не&#160;пункты меню, а&#160;виджеты) Пример будет совсем простым чтобы не&#160;морочить никому голову. Итак, приступим. Поскольку пример &#171;совсем простой&#187;, то&#160;создадим файл main.cpp и&#160;будем делать всё в&#160;нём. Начнём с&#160;создания кнопки QToolButton с&#160;возможностью отметить её: #include &#60;QApplication&#62; #include &#60;QtGui&#62; &#160; int main&#40;int argc, char **argv&#41; &#123; QApplication [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, в&nbsp;этом посте мы&nbsp;рассмотрим создание чекабельной (<em>checkable</em>) кнопки с&nbsp;выпадающим меню (в&nbsp;котором будут не&nbsp;пункты меню, а&nbsp;виджеты) <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-284"></span></p>
<p>Пример будет совсем простым чтобы не&nbsp;морочить никому голову. Итак, приступим.</p>
<p>Поскольку пример &laquo;совсем простой&raquo;, то&nbsp;создадим файл <em>main.cpp</em> и&nbsp;будем делать всё в&nbsp;нём. Начнём с&nbsp;создания кнопки <em>QToolButton</em> с&nbsp;возможностью отметить её:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp-qt" style="font-family:monospace;"><span style="color: #006E28;">#include &lt;QApplication&gt;</span>
<span style="color: #006E28;">#include &lt;QtGui&gt;</span>
&nbsp;
<span style="color: #0057AE;">int</span> main<span style="color: #006E28;">&#40;</span><span style="color: #0057AE;">int</span> argc<span style="color: #006E28;">,</span> <span style="color: #0057AE;">char</span> <span style="color: #006E28;">**</span>argv<span style="color: #006E28;">&#41;</span>
<span style="color: #006E28;">&#123;</span>
    <span style="color: #22aadd;">QApplication</span> app<span style="color: #006E28;">&#40;</span>argc<span style="color: #006E28;">,</span> argv<span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
&nbsp;
    <span style="color: #22aadd;">QToolButton</span> btn<span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">setText</span><span style="color: #006E28;">&#40;</span><span style="color: #BF0303;">&quot;Checkable&quot;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">setCheckable</span><span style="color: #006E28;">&#40;</span><span style="color: #0057AE;">true</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">show</span><span style="color: #006E28;">&#40;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
&nbsp;
    <span style="color: #000000; font-weight:bold;">return</span> app.<span style="color: #2B74C7;">exec</span><span style="color: #006E28;">&#40;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
<span style="color: #006E28;">&#125;</span></pre></div></div>

<p>Теперь добавим сюда меню и&nbsp;режим отображения, чтобы кнопка выглядела так:</p>
<p><img src="http://home.edstudio.net.ru/wp-content/uploads/2010/02/checkable-button-with-menu.png" alt="" title="Чекабельная кнопка с меню" width="74" height="19" class="aligncenter size-full wp-image-302" /></p>

<div class="wp_syntax"><div class="code"><pre class="cpp-qt" style="font-family:monospace;"><span style="color: #006E28;">#include &lt;QApplication&gt;</span>
<span style="color: #006E28;">#include &lt;QtGui&gt;</span>
&nbsp;
<span style="color: #0057AE;">int</span> main<span style="color: #006E28;">&#40;</span><span style="color: #0057AE;">int</span> argc<span style="color: #006E28;">,</span> <span style="color: #0057AE;">char</span> <span style="color: #006E28;">**</span>argv<span style="color: #006E28;">&#41;</span>
<span style="color: #006E28;">&#123;</span>
    <span style="color: #22aadd;">QApplication</span> app<span style="color: #006E28;">&#40;</span>argc<span style="color: #006E28;">,</span> argv<span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
&nbsp;
    <span style="color: #22aadd;">QMenu</span> <span style="color: #006E28;">*</span>menu <span style="color: #006E28;">=</span> <span style="color: #000000; font-weight:bold;">new</span> QMenu<span style="color: #006E28;">;</span> <span style="color: #888888;">//Создаём меню</span>
&nbsp;
    <span style="color: #22aadd;">QToolButton</span> btn<span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">setText</span><span style="color: #006E28;">&#40;</span><span style="color: #BF0303;">&quot;Checkable&quot;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">setMenu</span><span style="color: #006E28;">&#40;</span>menu<span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span> <span style="color: #888888;">//Добавляем меню</span>
        <span style="color: #888888;">//И выставляем режим его отображения</span>
    btn.<span style="color: #2B74C7;">setPopupMode</span><span style="color: #006E28;">&#40;</span><span style="color: #22aadd;">QToolButton</span><span style="color: #006E28;">::</span><span style="color: #2B74C7;">MenuButtonPopup</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">setCheckable</span><span style="color: #006E28;">&#40;</span><span style="color: #0057AE;">true</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">show</span><span style="color: #006E28;">&#40;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
&nbsp;
    <span style="color: #000000; font-weight:bold;">return</span> app.<span style="color: #2B74C7;">exec</span><span style="color: #006E28;">&#40;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
<span style="color: #006E28;">&#125;</span></pre></div></div>

<p>Следующим шагом будет создание экземпляра <em>QWidgetAction</em>&nbsp;&mdash; класса, позволяющего вставить в&nbsp;меню любой виджет. Также будет создан сам виджет, который мы&nbsp;будем вставлять в&nbsp;меню (возьмём <nobr>какой-нибудь</nobr> <em>QLineEdit</em>). Ничего сложного нет. В&nbsp;конце просто добавляем его в&nbsp;меню как простой <em>QAction</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp-qt" style="font-family:monospace;"><span style="color: #006E28;">#include &lt;QApplication&gt;</span>
<span style="color: #006E28;">#include &lt;QtGui&gt;</span>
&nbsp;
<span style="color: #0057AE;">int</span> main<span style="color: #006E28;">&#40;</span><span style="color: #0057AE;">int</span> argc<span style="color: #006E28;">,</span> <span style="color: #0057AE;">char</span> <span style="color: #006E28;">**</span>argv<span style="color: #006E28;">&#41;</span>
<span style="color: #006E28;">&#123;</span>
    <span style="color: #22aadd;">QApplication</span> app<span style="color: #006E28;">&#40;</span>argc<span style="color: #006E28;">,</span> argv<span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
&nbsp;
    <span style="color: #22aadd;">QWidgetAction</span> <span style="color: #006E28;">*</span>wa <span style="color: #006E28;">=</span> <span style="color: #000000; font-weight:bold;">new</span> <span style="color: #22aadd;">QWidgetAction</span><span style="color: #006E28;">&#40;</span><span style="color: #B08000;">0</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span> <span style="color: #888888;">//Экземпляр класса</span>
           <span style="color: #888888;">//И впихиваем в него QLineEdit</span>
        wa<span style="color: #006E28;">-&gt;</span><span style="color: #2B74C7;">setDefaultWidget</span><span style="color: #006E28;">&#40;</span><span style="color: #000000; font-weight:bold;">new</span> <span style="color: #22aadd;">QLineEdit</span><span style="color: #006E28;">&#40;</span><span style="color: #BF0303;">&quot;QLineEdit&quot;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
&nbsp;
    <span style="color: #22aadd;">QMenu</span> <span style="color: #006E28;">*</span>menu <span style="color: #006E28;">=</span> <span style="color: #000000; font-weight:bold;">new</span> QMenu<span style="color: #006E28;">;</span>
        menu<span style="color: #006E28;">-&gt;</span><span style="color: #2B74C7;">addAction</span><span style="color: #006E28;">&#40;</span>wa<span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span> <span style="color: #888888;">//Добавляем виджет</span>
&nbsp;
    <span style="color: #22aadd;">QToolButton</span> btn<span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">setText</span><span style="color: #006E28;">&#40;</span><span style="color: #BF0303;">&quot;Checkable&quot;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">setMenu</span><span style="color: #006E28;">&#40;</span>menu<span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">setPopupMode</span><span style="color: #006E28;">&#40;</span><span style="color: #22aadd;">QToolButton</span><span style="color: #006E28;">::</span><span style="color: #2B74C7;">MenuButtonPopup</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">setCheckable</span><span style="color: #006E28;">&#40;</span><span style="color: #0057AE;">true</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
    btn.<span style="color: #2B74C7;">show</span><span style="color: #006E28;">&#40;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
&nbsp;
    <span style="color: #000000; font-weight:bold;">return</span> app.<span style="color: #2B74C7;">exec</span><span style="color: #006E28;">&#40;</span><span style="color: #006E28;">&#41;</span><span style="color: #006E28;">;</span>
<span style="color: #006E28;">&#125;</span></pre></div></div>

<p>Вот такая получилась штучка:</p>
<p><img src="http://home.edstudio.net.ru/wp-content/uploads/2010/02/checkable-button-with-menu-active.png" alt="" title="Чекабельная кнопка с виджетом в меню" width="156" height="98" class="aligncenter size-full wp-image-303" /></p>
<p>Естественно, можно вставлять и&nbsp;более серьёзные объекты, никто не&nbsp;запрещает <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Собственно, всё. Всем удачи =)</p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2010/02/creating-checkable-button-with-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>«Ветвление» SVN-хранилища «для чайников» типа меня</title>
		<link>http://home.edstudio.net.ru/2010/01/branching-svn-repository-for-dummies-like-me/</link>
		<comments>http://home.edstudio.net.ru/2010/01/branching-svn-repository-for-dummies-like-me/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 16:31:09 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Решения]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[ветвление]]></category>
		<category><![CDATA[разработка]]></category>
		<category><![CDATA[репозиторий]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=274</guid>
		<description><![CDATA[В&#160;этот статье я&#160;постараюсь объяснить как сделать &#171;ветвление&#187; SVN-хранилища. Правда, это больше не&#160;статья, а&#160;маленький HowTo:) На&#160;рассматриваемом примере проект располагается в&#160;корне хранилища и&#160;имеет примерно такую структуру: &#8230;а получить хочется такую (в&#160;связи с, скажем, расширением проекта): Итак, сразу оговорка: используется Linux. Собственно, для начала надо скачать содержимое хранилища (svn co&#8230;) и&#160;перейти в&#160;него (cd&#160;anywhere). Инструкция: Создадим папки trunk, tags [...]]]></description>
			<content:encoded><![CDATA[<p>В&nbsp;этот статье я&nbsp;постараюсь объяснить как сделать &laquo;ветвление&raquo; <nobr>SVN-хранилища</nobr>. Правда, это больше не&nbsp;статья, а&nbsp;маленький HowTo:) На&nbsp;рассматриваемом примере проект располагается в&nbsp;корне хранилища и&nbsp;имеет примерно такую структуру:</p>
<p><img src="http://home.edstudio.net.ru/wp-content/uploads/2010/01/1.png" alt="SVN Before" title="SVN Before" width="217" height="142" class="aligncenter size-full wp-image-275" /></p>
<p>&hellip;а получить хочется такую (в&nbsp;связи с, скажем, расширением проекта):</p>
<p><img src="http://home.edstudio.net.ru/wp-content/uploads/2010/01/2.png" alt="SVN Branching" title="SVN Branching" width="231" height="231" class="aligncenter size-full wp-image-276" /></p>
<p><span id="more-274"></span></p>
<p>Итак, сразу оговорка: используется Linux.</p>
<p>Собственно, для начала надо скачать содержимое хранилища (<em>svn co&hellip;</em>) и&nbsp;перейти в&nbsp;него (<em>cd&nbsp;anywhere</em>).</p>
<p>Инструкция:</p>
<ol>
<li>
<p>Создадим папки <strong>trunk</strong>, <strong>tags</strong> и&nbsp;<strong>branches</strong>:</p>
<blockquote><p><code>LIST=`ls`<br />
	svn mkdir trunk branches tags<br />
	for file in $LIST; do svn move $file trunk; done;</code></p></blockquote>
<p>	В&nbsp;начале создаётся переменная с&nbsp;текущим результатом вывода <em>ls</em>. Создаём папки и&nbsp;перемещаем каждую папку и&nbsp;файл из&nbsp;списка;</p>
</li>
<li>
<p>Если нужно скопировать содержимое <strong>trunk</strong> в&nbsp;скажем, <strong>tags/1.0</strong> (скажем, при релизе версии 1.0), то&nbsp;выполняем следующее:</p>
<blockquote><p><code>svn copy trunk tags/1.0</code></p></blockquote>
<p>	<img src="http://home.edstudio.net.ru/wp-content/uploads/2010/01/3.png" alt="SVN Merging" title="SVN Merging" width="237" height="259" class="aligncenter size-full wp-image-277" /></p>
</li>
<li>
<p>И&hellip; коммит:</p>
<blockquote><p><code>svn commit -m "Создание «ветвления» хранилища."</code></p></blockquote>
<p>	где флаг <em>-m</em> задаёт сообщение для лога.</p>
</li>
</ol>
<p>Стабильных Вам версий! <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>
<em>PS: Собственно, этот пост писался больше как памятка.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2010/01/branching-svn-repository-for-dummies-like-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DC++ и Wi-Fi роутер</title>
		<link>http://home.edstudio.net.ru/2009/10/dc-and-wi-fi-router/</link>
		<comments>http://home.edstudio.net.ru/2009/10/dc-and-wi-fi-router/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 17:47:07 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Решения]]></category>
		<category><![CDATA[asus]]></category>
		<category><![CDATA[smile]]></category>
		<category><![CDATA[strongdc]]></category>
		<category><![CDATA[wl-500gP2]]></category>
		<category><![CDATA[оборудование]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=254</guid>
		<description><![CDATA[Итак, в этой статье я расскажу как настроить роутер и ноутбук для работы с Direct-Connect (DC) сетями. Что мы имеем? А имеем мы провайдера «Corbina» (или она имеет нас?), Wi-Fi роутер Asus WL-500g Premium v2 и клиент StrongDC++ и все они непрочь работать, если их правильно настроить Задача Надо научить ноут качать через DC по [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, в этой статье я расскажу как настроить роутер и ноутбук для работы с Direct-Connect (DC) сетями.</p>
<p><span id="more-254"></span></p>
<h2>Что мы имеем?</h2>
<p>А имеем мы провайдера «<a href="http://corbina.ru/" target="_blank" title="Corbina Telecom">Corbina</a>» (или она имеет нас?), Wi-Fi роутер <a href="http://ru.asus.com/product.aspx?P_ID=jTcQKIRXgNPLo54b&#038;templete=2" target="_blank" title="Мульти-функциональный беспроводной маршрутизатор Asus WL-500g Premium v2">Asus WL-500g Premium v2</a> и клиент <a href="http://strongdc.sourceforge.net/index.php?lang=eng" target="_blank" title="Клиент для DC-сетей StrongDC++">StrongDC++</a> и все они непрочь работать, если их правильно настроить <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Задача</h2>
<p>Надо научить ноут качать через DC по вафле.</p>
<h2>Приступим</h2>
<p>Первое, что надо сделать &mdash; это настроить StrongDC++ на ноутбуке. Настройки соединения:</p>
<div id="attachment_259" class="wp-caption aligncenter" style="width: 503px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/10/strongdc-connection.png" alt="StrongDC++: настройки соединения" title="StrongDC++: настройки соединения" width="493" height="510" class="size-full wp-image-259" /><p class="wp-caption-text">StrongDC++: настройки соединения</p></div>
<p>Выбор портов &mdash; произвольный. Вводятся только TCP и UPD (выбрал одинаковые номера, чтобы легче было). Интерфейс &mdash; 0.0.0.0, как и при «нормальном» (через кабель, напрямую) подключении. Настройки входящего соединения &mdash; Firewall с UPnP (там ниже адрес вводить не надо, StrongDC++ сам его туда добавит. Кстати, это Ваш адрес, выданный DHCP-сервером локальной сети).</p>
<p>Теперь настроим роутер. Первое &mdash; настроить маршруты для локальной сети. Для каждого провайдера будет разным. Для корбины <a href="http://help.corbina.net/internet/local/routhow/" target="_blank" titke="Роутинг и как его прописать?">написано</a>:</p>
<blockquote><p><strong>corbina.ru, help.corbina.ru, home.corbina.ru</strong><br />
route -p add 89.179.135.67 mask 255.255.255.255 шлюз</p></blockquote>
<p>Отсюда следует:</p>
<ol>
<li><strong>IP-адрес сети или хоста</strong> → 89.179.135.67</li>
<li><strong>Сетевая маска</strong> → 255.255.255.255</li>
<li><strong>шлюз</strong> → 10.0.0.0 (если в Вашем районе шлюз начинается с 10&#8230;)</li>
</ol>
<p>Теперь, собственно, настройка роутера. Заходим в админку, далее: «Дополнительные настройки» → «ЛВС» → «Маршрут» (для Asus WL-500gP V2) и видим такие (или аналогшичные) настройки DHCP-сервера роутера (значения я уже ввёл):</p>
<div id="attachment_271" class="wp-caption aligncenter" style="width: 549px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/10/router-dhcp.PNG" alt="Настройка DHCP-сервера роутера" title="Настройка DHCP-сервера роутера" width="539" height="313" class="size-full wp-image-271" /><p class="wp-caption-text">Настройка DHCP-сервера роутера</p></div>
<p>Интерфейс выбираем строго <strong>WAN</strong>.</p>
<p>Всё выбрали &mdash; добавляем и применяем.</p>
<p>Итак, последнее: настраиваем «перенаправление» (в роутере названо как «Виртуальный сервер» и находится в пункте «WAN» дополнительных настроек).</p>
<div id="attachment_267" class="wp-caption aligncenter" style="width: 717px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/10/virtual-server.PNG" alt="Настройка виртуального сервера роутера" title="Настройка виртуального сервера роутера" width="707" height="104" class="size-full wp-image-267" /><p class="wp-caption-text">Настройка виртуального сервера роутера</p></div>
<p>Здесь вводится «Имя службы» (какое нравится, «StrongDC» к примеру), «Диапазон портов» (вводим тот порт, который указывали в клиенте), «Локальный IP-адрес» (адрес нашего компьютера) и «Протокол» (если у Вас TCP и UPD имеют одинаковый номер портов, то ставим <strong>BOTH</strong>. Если номера разные &mdash; добавляем 2-е записи с указанием каждого порта и протокола). Поля «Локальный порт» и «Номер протокола» оставляем пустыми.</p>
<p>Добавляем всё что нужно и применяем настройки. Всё. Всем удачи! <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/10/dc-and-wi-fi-router/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Обидно</title>
		<link>http://home.edstudio.net.ru/2009/06/pity/</link>
		<comments>http://home.edstudio.net.ru/2009/06/pity/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 17:55:24 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Ни о чём]]></category>
		<category><![CDATA[Проблемы]]></category>
		<category><![CDATA[phonon]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[shamangrad]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[аяхз?]]></category>
		<category><![CDATA[ненавижу]]></category>
		<category><![CDATA[ОСи]]></category>
		<category><![CDATA[разработка]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=230</guid>
		<description><![CDATA[Как&#160;же я&#160;радовался, когда смог наконец собрать Phonon. Думал, вот, напишу программку, аналогичную StreamFM, написанную моим знакомым. Нет, у&#160;меня не&#160;было желания соперничать с&#160;ним. Просто его программка написана на&#160;Python и&#160;её&#160;достаточно сложно &#171;завести&#187; под Windows. Поскольку у&#160;меня было огромное желание изучать Qt,&#160;решил что на&#160;нём и&#160;стоит писать. Как раз набраться опыта и&#160;так далее&#8230; В&#160;Qt&#160;есть медиа-фрэймворк&#160;&#8212; Phonon, являющийся частью проекта [...]]]></description>
			<content:encoded><![CDATA[<p>Как&nbsp;же я&nbsp;радовался, когда смог наконец собрать Phonon. Думал, вот, напишу программку, аналогичную <a href="http://shamangrad.net/project.php?act=view&#038;prj=streamfm" target="_blank" title="Приложение для скробблинга музыки, проигрываемой потоковыми радиостанциями.">StreamFM</a>, написанную моим знакомым. Нет, у&nbsp;меня не&nbsp;было желания соперничать с&nbsp;ним. Просто его программка написана на&nbsp;<a href="http://www.python.ru/" target="_blank" title="Язык программирования Python">Python</a> и&nbsp;её&nbsp;достаточно сложно &laquo;завести&raquo; под Windows.</p>
<p>Поскольку у&nbsp;меня было огромное желание изучать Qt,&nbsp;решил что на&nbsp;нём и&nbsp;стоит писать. Как раз набраться опыта и&nbsp;так далее&#8230; В&nbsp;Qt&nbsp;есть медиа-фрэймворк&nbsp;&#8212; <a href="http://phonon.kde.org/" target="_blank">Phonon</a>, являющийся частью проекта <a href="http://kde.org" target="_blank">KDE</a>. Как раз его и&nbsp;предполагалось использовать в&nbsp;качестве основы всего проекта.</p>
<p>Сам по&nbsp;себе, Phonon является чем-то типа &laquo;моста&raquo; между разработчиком и&nbsp;медиа-движком. Он&nbsp;просто предоставляет удобные методы по&nbsp;работе с&nbsp;ним. На&nbsp;каждой платформе он&nbsp;использует разные &laquo;движки&raquo;: на&nbsp;Linux&nbsp;&#8212; GStreamer, на&nbsp;Windows&nbsp;&#8212; DirectX и&nbsp;DirectShow, на&nbsp;Mac OS&nbsp;X&nbsp;&#8212; QuickTime 7.</p>
<p>Вот как раз именно на&nbsp;этом моменте случилось самое плохое: Phonon не&nbsp;может нормально работать под Windows, в&nbsp;то&nbsp;время как на&nbsp;Linux (при использовании GStreamer) всё работает замечательно.</p>
<p>Короче, мою &laquo;хотелку&raquo; обломали на&nbsp;корню <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Сказать что я&nbsp;расстроен&nbsp;&#8212; не&nbsp;сказать ничего.</p>
<p><strong>UPD:</strong> Ах&nbsp;да,&nbsp;совсем забыл сказать, сейчас проект продолжает развиваться под Linux. Называется программка Qawaii и&nbsp;найти её&nbsp;можно <a href="http://shamangrad.net/Qawaii.prj" target="_blank" title="Qt-based streaming radio player">здесь</a>. О&nbsp;совместимости с&nbsp;Mac OS&nbsp;X:&nbsp;неизвестно.</p>
<p>Также проект Qawaii мне более не&nbsp;принадлежит. Главным и,&nbsp;скорее всего единственным (к&nbsp;сожалению), разработчиком теперь является <a href="http://the1st.net.ru" target="_blank">WST</a>.</p>
<p><strong>UPD2:</strong> Гавно.</p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/06/pity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Компилирование библиотеки Qt под ОС Windows с поддержкой Phonon</title>
		<link>http://home.edstudio.net.ru/2009/06/compiling-qt-library-under-windows-os-with-support-for-phonon/</link>
		<comments>http://home.edstudio.net.ru/2009/06/compiling-qt-library-under-windows-os-with-support-for-phonon/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 11:32:37 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Решения]]></category>
		<category><![CDATA[phonon]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[ОСи]]></category>
		<category><![CDATA[разработка]]></category>
		<category><![CDATA[халява]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=194</guid>
		<description><![CDATA[В этой статье я&#160;расскажу как скомпилировать Qt&#160;с&#160;поддержкой Phonon. Итак, давайте сначала разберёмся как всё это будет выглядеть. Библиотеки QtWebKit и&#160;Phonon не&#160;являются собственностью Qt.&#160;Они были включены в&#160;него под &#171;свободной лицензией&#187;. В&#160;связи с&#160;этим компилирование обоих этих библиотек возможно только в&#160;shared-версии. Из&#160;этого можно сделать вывод, что про необходимости использования любой из&#160;этих библиотек статичную сборку делать бесполезно. Также надо [...]]]></description>
			<content:encoded><![CDATA[<p>В этой статье я&nbsp;расскажу как скомпилировать <a href="http://qtsoftware.com" target="_blank" title="Qt — A cross-platform application and UI framework">Qt</a>&nbsp;с&nbsp;поддержкой Phonon.</p>
<p><span id="more-194"></span></p>
<p>Итак, давайте сначала разберёмся как всё это будет выглядеть. Библиотеки QtWebKit и&nbsp;Phonon не&nbsp;являются собственностью Qt.&nbsp;Они были включены в&nbsp;него под &laquo;свободной лицензией&raquo;. В&nbsp;связи с&nbsp;этим компилирование обоих этих библиотек возможно только в&nbsp;shared-версии. Из&nbsp;этого можно сделать вывод, что про необходимости использования любой из&nbsp;этих библиотек статичную сборку делать бесполезно.</p>
<p>Также надо заметить, что Phonon использует DirectShow, который поддерживает только свой, &laquo;родной&raquo; компилятор&nbsp;&#8212; nmake (поставляется с&nbsp;некоторыми SDK фирмы Microsoft и,&nbsp;естественно, с&nbsp;Microsoft Visual C++).</p>
<p>Итак, решено! Мы&nbsp;будем использовать nmake и&nbsp;делать shared-сборку <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a name="orientation"></a><br />
<h2>Ориентируемся на&#8230;</h2>
<p>Скажем просто: на&nbsp;какие версии ОС&nbsp;мы&nbsp;собираемся ориентировать нашу программу (на&nbsp;release-стадии, конечно).</p>
<p>Для Windows Vista и&nbsp;ниже (XP&nbsp;например) отлично подойдёт MSVC2005 и&nbsp;Platform SDK для 2003-го сервера. Для самых новых (Vista, Se7en) предпочтительнее брать более новые продукты: MSVC2008 и&nbsp;Platform SDK для 2008-го сервера.</p>
<p>Исходя из&nbsp;этой информации необходимо принять решение о&nbsp;загрузке того или иного ПО&nbsp;из&nbsp;списка ниже.</p>
<p>Также настоятельно рекомендую прочитать &laquo;<a href="#depend">О&nbsp;зависимостях</a>&raquo;.</p>
<h2>А&nbsp;что нам, собственно, нужно?..</h2>
<p>Сначала скачаем всё, чтобы потом не&nbsp;отвлекаться во&nbsp;время установки на&nbsp;ожидание загрузки очередного очень нужного компонента.</p>
<ol>
<li>Для начала&nbsp;&#8212; сам Qt.&nbsp;Берём его <a href="http://get.qtsoftware.com/qt/source/" target="_blank" title="Хранилище Qt SoftWare, в котором можно найти много разных версий под разные ОС">здесь</a>, на&nbsp;официальном сайте. <span style="font-size: 75%; color: gray;">Я не&nbsp;даю прямую ссылку на&nbsp;файл, потому что может произойти так, что из-за меня кто-нибудь скачает древнюю версию, что не&nbsp;красиво. На&nbsp;момент написания статьи была использована версия 4.5.2. Выбираем zip-архив с&nbsp;именем <strong>qt-win-opensource-src-%версия%.zip</strong>, где %версия%&nbsp;&#8212; смотрим самую новую.</span></li>
<li>Ещё Microsoft Visual C++ <span style="font-size: 75%; color: gray;"><strong>Express Edition</strong>, чтоб было всё бесплатно %)</span>. Версию 2005&nbsp;года можно найти <a href="http://www.google.ru/search?hl=ru&#038;newwindow=1&#038;q=visual+c%2B%2B+2005+express+edition+%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C" target="_blank" title="Ищем MSVC2005 Express Edition на просторах сети Интернет">поиском</a>, а&nbsp;вот версия 2008&nbsp;года вполне доступна с&nbsp;<a href="http://www.microsoft.com/express/download/" targte="_blank" title="Microsoft Visual Studio 2008 Express Edition Downloads">сайта самой компании</a>. <span style="font-size: 75%; color: gray;">Самое интересное заключается в&nbsp;том, что абсолютно непонятно какая между ними разница, кроме, конечно, постепенно деградирующего интерфейса&#8230; Я&nbsp;использую MSVC версии 2005&nbsp;года и&nbsp;вполне ей&nbsp;доволен. Что касается более новых версий Windows (Windows Vista и&nbsp;Windows Se7en), то&nbsp;не&nbsp;могу однозначно сказать на&nbsp;сколько программа скомпилированная под MSVC2005&nbsp;будет там работоспособна. На&nbsp;Vista точно будет работать, а&nbsp;вот про Se7en: чего не&nbsp;знаю&nbsp;&#8212; того не&nbsp;знаю.</span></li>
<li>Также нам понадобиться Microsoft Platform SDK for Server. Здесь тоже много версий: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E15438AC-60BE-41BD-AA14-7F1E0F19CA0D&#038;displaylang=en" target="_blank" title="Windows Server 2003 R2 Platform SDK ISO Download">Windows Server <strong>2003</strong>&nbsp;R2&nbsp;Platform SDK ISO Download</a> и&nbsp;<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&#038;displaylang=en" target="_blank" title="Windows SDK for Windows Server 2008 and .NET Framework 3.5">Windows SDK for Windows Server <strong>2008</strong>&nbsp;and .NET Framework 3.5</a>. <span style="font-size: 75%; color: gray;">Здесь история аналогичная Microsoft Visual C++. У&nbsp;меня версия опять древняя&nbsp;&#8212; 2003&nbsp;года.</span></li>
</ol>
<p>На этом минимальный набор всякого снаряжения подошёл к&nbsp;концу. Но,&nbsp;лично я&nbsp;хочу рассмотреть компиляцию с&nbsp;поддержкой шифрования (OpenSSL) и&nbsp;хочу его собрать сам. Здесь происходит самое интересное: сборка OpenSSL под Windows, которую можно найти по&nbsp;запросу <a href="http://www.google.ru/search?hl=ru&#038;newwindow=1&#038;q=openssl+windows" target="_blank" title="Результаты поиска opensll windows в google">openssl windows</a>, сделана как раз с&nbsp;зависимостью от&nbsp;этого пакета. Чтож, пересоберём как нам надо! <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Итак, дополнительный список вооружения:</p>
<ol>
<li>Сами исходные коды OpenSSL берём <a href="http://www.openssl.org/source/" target="_blank" title="Cryptography and SSL/TLS Toolkit">здесь</a>. <span style="font-size: 75%; color: gray;">Как всегда советую брать новейшую версию. На&nbsp;момент написания последней стабильной версией была 0.9.8k.</span></li>
<li>Microsoft Macro Assembler (MASM), доступный на&nbsp;<a href="http://www.microsoft.com/downloads/details.aspx?familyid=7A1C9DA0-0510-44A2-B042-7EF370530C64&#038;displaylang=en" target="_blank" title="Microsoft Macro Assembler 8.0 (MASM) Package (x86)">официальном сайте (8-ая версия)</a>. <span style="font-size: 75%; color: gray;">Этот пакет необходим для сборки OpenSSL. Здесь также необходимо выбирать версию, соответствующую вашей Visual C++. Но&nbsp;вот 9-ой версии (для MSVC2008) что-то я&nbsp;у&nbsp;них не&nbsp;нашёл.</span></li>
<li>ActivePerl берём <a href="http://www.activestate.com/activeperl/" target="_blank" title="ActivePerl - Complete and Ready-to-Install">тут</a>. <span style="font-size: 75%; color: gray;">Он также необходим для компилирования OpenSSL.</span></li>
</ol>
<p>Вроде, ничего не&nbsp;забыли <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>О&nbsp;том, куда устанавливать</h2>
<p>Иногда случаются такие ситуации, когда надо что-то найти, а&nbsp;никто не&nbsp;знает где это лежит. Для этого я&nbsp;считаю очень удобным, чтобы всё ПО&nbsp;какой-то определённой тематики (особенно, если его так много как здесь) валялось в&nbsp;одной папке. Для себя я&nbsp;определился, что этой самой папочкой станет <i>C:\Development</i> для всяких SDK и&nbsp;папочка <i>C:\Qt\%версия%</i> для всяких Qt&nbsp;(у&nbsp;меня это выглядит так: <i>C:\Qt\4.5.2</i>).</p>
<p>Удобно, не&nbsp;правда&nbsp;ли? <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Установка Windows Server 2003&nbsp;R2&nbsp;Platform SDK</h2>
<p>В связи с&nbsp;&laquo;О&nbsp;том, куда устанавливать&raquo; устанавливаем в&nbsp;<i>C:\Development\Microsoft Platform SDK for Windows Server 2003&nbsp;R2</i>.</p>
<p>Поскольку мало кто полезет читать документацию к&nbsp;этому SDK или&nbsp;же кто захочет поглазеть на&nbsp;примеры исходных кодов, то&nbsp;они нам не&nbsp;нужны и&nbsp;мы&nbsp;их&nbsp;выкидываем (также выкидываем всевозможные тулзы и&nbsp;снаряжения для ненужных процессоров).</p>
<div id="attachment_214" class="wp-caption aligncenter" style="width: 616px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/platform-sdk-0.png" alt="Установка Platform SDK" title="Установка Platform SDK" width="606" height="465" class="size-full wp-image-214" /><p class="wp-caption-text">Установка Platform SDK</p></div>
<p>Всё, устанавливаем.</p>
<h2>Установка ActivePerl</h2>
<p>Здесь не&nbsp;важно куда и&nbsp;как вы&nbsp;его установите. Главное галочку напротив вопроса о&nbsp;добавлении в&nbsp;%PATH% не&nbsp;убирайте <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Установка DirectX SDK</h2>
<p>Здесь всё аналогично установке Platform SDK. Адрес установки: <i>C:\Development\Microsoft DirectX SDK (March 2009)</i>.</p>
<div id="attachment_211" class="wp-caption aligncenter" style="width: 513px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/directx-0.png" alt="Установка DirectX SDK" title="Установка DirectX SDK" width="503" height="393" class="size-full wp-image-211" /><p class="wp-caption-text">Установка DirectX SDK</p></div>
<h2>Установка Visual C++ 2005&nbsp;Express Edition</h2>
<p>Здесь следует помнить, что Express Edition&nbsp;&#8212; единственный бесплатный вариант. Чтобы избежать всевозможных проблем следует устанавливать именно её.</p>
<p>Из этого пакета нам однозначно не&nbsp;нужна справочная библиотека MSDN и&nbsp;SQL Server. Выкидываем их.</p>
<p>Компонент Graphical IDE мы&nbsp;оставляем. Нет, ничего писать в&nbsp;нём мы&nbsp;не&nbsp;собираемся, просто есть маленькая программка (<strong>mt.exe</strong> кажется), без которой компилятор будет плакать как маленький.</p>
<div id="attachment_213" class="wp-caption aligncenter" style="width: 516px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/msvc2005-0.png" alt="Установка Visual C++ 2005 Express Edition" title="Установка Visual C++ 2005 Express Edition" width="506" height="458" class="size-full wp-image-213" /><p class="wp-caption-text">Установка Visual C++ 2005 Express Edition</p></div>
<p>Будут установлены следующие компоненты: MSVC2005 и&nbsp;.Net Framework v2.0&nbsp;(он,&nbsp;кстати, тоже крайне необходим). Адрес установки, для удобства, я&nbsp;назначил <i>C:\Development\VC</i>.</p>
<p>Обновлять всё это дело до&nbsp;SP1&nbsp;не&nbsp;рекомендую. Я&nbsp;долго шарился по&nbsp;интернету в&nbsp;поисках решений своих ошибок при первых попытках скомпилировать Phonon и&nbsp;прочитал, что с&nbsp;SP1&nbsp;может возникнуть конфликт при сборке Qt.&nbsp;Хотя, это было уже достаточно давно, может уже исправили.</p>
<h2>Установка Microsoft Macro Assembler</h2>
<p>Здесь вообще не&nbsp;предлагается никакая свобода выбора. Просят только принять лицензию. Для любопытных умов: он&nbsp;установился в&nbsp;папку к&nbsp;VC&nbsp;и&nbsp;называется <strong>ml.exe</strong>.</p>
<h2>Компилирование и&nbsp;установка OpenSSL</h2>
<p>Вот, мы&nbsp;уже близки к&nbsp;завершению подготовки перед компиляцией Qt&nbsp;:)</p>
<p>Сначала распакуем архив с&nbsp;OpenSSL куда-нибудь, например в&nbsp;<i>C:\openssl-0.9.8k</i>, запустим скрипт, устанавливающий окружение MSVC (<i>Пуск -> Все программы -> Microsoft C++ 2005&nbsp;Express Edition -> Visual Studio Tools -> Visual Studio 2005&nbsp;Command Prompt</i> или аналогичный, в&nbsp;зависимости от&nbsp;версии) и&nbsp;перейдём с&nbsp;помощью команды <strong><u>cd</u>&nbsp;C:\openssl-0.9.8k</strong> в&nbsp;каталог с&nbsp;исходными кодами OpenSSL.</p>
<p>Вот сейчас нам как раз понадобится Perl, MASM и&nbsp;nmake все сразу. Начнём.</p>
<p>Конфигурируем OpenSSL, выполнив следующую команду в&nbsp;командной строке:</p>
<p><code><br />
<blockquote>perl Configure VC-WIN32 --prefix=C:/Development/OpenSSL</p></blockquote>
<p></code></p>
<p>Естественно, значение параметра <strong>-prefix=</strong> в&nbsp;соответствии нуждам. Также стоит обратить внимание на&nbsp;то,&nbsp;что используется слеш (а&nbsp;не&nbsp;обратный слеш как во&nbsp;всех других местах). Невыполнение этого правила приведёт к&nbsp;краху сборки.</p>
<p>Теперь выполняем команду</p>
<p><code><br />
<blockquote>ms\do_masm</p></blockquote>
<p></code></p>
<p>и</p>
<p><code><br />
<blockquote>nmake -f ms\ntdll.mak</p></blockquote>
<p></code></p>
<p>Началась сборка библиотек OpenSSL, по&nbsp;окончанию которых можно проверить их&nbsp;работоспособность выполнив команду</p>
<p><code><br />
<blockquote>nmake -f ms\ntdll.mak test</p></blockquote>
<p></code></p>
<p>По окончании проверки в&nbsp;консоль будет выведена информации об&nbsp;успешном (или не&nbsp;успешном) завершении проверки работоспособности библиотек.</p>
<p>Всё, устанавливаем (фактически копируем) необходимые файлы (в&nbsp;папку указанную при конфигурировании в&nbsp;<strong>-prefix=</strong>), выполнив в&nbsp;консоли команду:</p>
<p><code><br />
<blockquote>nmake -f ms\ntdll.mak install</p></blockquote>
<p></code></p>
<p>Всё. Теперь нам больше не&nbsp;понадобится ни&nbsp;MASM, ни&nbsp;ActivePerl, ни&nbsp;даже папка в&nbsp;которой мы&nbsp;сейчас находимся вместе с&nbsp;архивом с&nbsp;исходниками OpenSSL.</p>
<h2>Создание файла настроек окружения</h2>
<p>Делается это просто: методом создания файла командной строки.</p>
<p>Создадим файл <i>C:\Development\SetEnv.cmd</i>.</p>
<p>Теперь напишем скрипт установки всех частей окружения вручную, с&nbsp;нуля. Мой вариант:</p>
<blockquote><p><code>@ECHO OFF</p>
<p>@set DEV=C:\Development<br />
@set PATH=%SystemRoot%;%SystemRoot%\system32<br />
@set QTDIR=C:\Qt\4.5.2</p>
<p>@echo Setting OpenSSL Env.<br />
@set PATH=%DEV%\OpenSSL\bin;%PATH%<br />
@set LIB=%DEV%\OpenSSL\lib<br />
@set INCLUDE=%DEV%\OpenSSL\include</p>
<p>@echo Setting DirectX Env.<br />
@set LIB=%DEV%\Microsoft DirectX SDK (March 2009)\Lib\x86;%LIB%<br />
@set INCLUDE=%DEV%\Microsoft DirectX SDK (March 2009)\Include;%INCLUDE%</p>
<p>@echo Setting Windows SDK Env.<br />
@set LIB=%DEV%\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%<br />
@set INCLUDE=%DEV%\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%<br />
@set CPU=i386<br />
@set NODEBUG=1</p>
<p>@echo Setting MSVC2005 Env.<br />
@set PATH=%DEV%\VC\VC\bin;%DEV%\VC\Common7\Tools;%DEV%\VC\Common7\IDE;%DEV%\VC\VC\VCPackages;%PATH%<br />
@set INCLUDE=%DEV%\VC\VC\INCLUDE;%INCLUDE%<br />
@set LIB=%DEV%\VC\VC\LIB;%LIB%</p>
<p>@echo Setting Framework Env.<br />
@set FrameworkVersion=v2.0.50727<br />
@set FrameworkDir=%SystemRoot%\Microsoft.NET\Framework<br />
@set PATH=%DEV%\VC\SDK\v2.0\Bin;%PATH%<br />
@set LIB=%DEV%\VC\SDK\v2.0\Lib;%LIB%<br />
@set LIBPATH=%FrameworkDir%\%FrameworkVersion%<br />
@set PATH=%LIBPATH%;%PATH%</p>
<p>@echo Setting Qt Env.<br />
@set PATH=%QTDIR%\bin;%PATH%</p>
<p>@title Qt Framework 4.5.2 Development Kit.</p>
<p>cd %QTDIR%</code></p></blockquote>
<p>Здесь применены временный переменные, к&nbsp;примеру <strong>%DEV%</strong> чтобы сократить остальную писанину.</p>
<p>Объяснять что здесь что я&nbsp;не&nbsp;буду. Хочу лишь обратить внимание на&nbsp;установку снаряжения Windows SDK и&nbsp;Framework.</p>
<p>В Windows SDK есть переменные <strong>CPU</strong> и&nbsp;<strong>NODEBUG</strong>, отвечающие за&nbsp;Retail и&nbsp;Debug сборку, а&nbsp;также за&nbsp;архитектуру.</p>
<p>В Framework необходимо проверить правильность всех этих переменных в&nbsp;соответствии окружению. У&nbsp;меня, при использовании MSVC2005&nbsp;они такие, как написано. Если при компиляции возникнет ошибка, что не&nbsp;найден файл с&nbsp;именем <strong>mscoree</strong>, то&nbsp;ошибку следует искать именно здесь.</p>
<p>Чтобы легко использовать это окружение, можно создать на&nbsp;него ярлык. Здесь стоит заметить, что ярлык должен быть &laquo;особенным&raquo;, так как при простом запуске этого файла он&nbsp;выполнится, после чего окно просто закроется. Чтобы этого не&nbsp;случилось делаем так: создаём ярлык в&nbsp;удобном нам месте (правой кнопкой мышки -> Создать -> Ярлык&#8230;), выбираем путь к&nbsp;файлу и&nbsp;приписываем к&nbsp;нему слево <strong>%comspec% /k</strong>. Получится примерно так: <strong>%comspec% /k C:\Development\SetEnv.Cmd</strong>.</p>
<div id="attachment_215" class="wp-caption aligncenter" style="width: 457px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/shortcut-0.png" alt="Создания ярлыка" title="Создания ярлыка" width="447" height="334" class="size-full wp-image-215" /><p class="wp-caption-text">Создания ярлыка</p></div>
<p>Последний этап подготовки перед компилированием Qt&nbsp;завершён.</p>
<h2>Сборка Qt</h2>
<p>Вот и&nbsp;всё, всё снаряжение готово к&nbsp;бою <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Итак, первым делом следует распаковать Qt&nbsp;из&nbsp;скачанного архива в&nbsp;необходимую папку (<i>C:\Qt\4.5.2</i>&nbsp;в&nbsp;моём случае) и&nbsp;произвести предварительные настройки для компилятора.</p>
<p>Чтобы произвести настройку компилятора, надо отредактировать файл конфигурации <strong>qmake.txt</strong>, расположенный в&nbsp;папке <i>mkspecs\%компилятор%</i>, где %компилятор%&nbsp;&#8212; версия нашего компилятора (для MSVC2005&nbsp;оно равно <strong>win32-msvc2005</strong>, а&nbsp;для MSVC2008&nbsp;&#8212; <strong>win32-msvc2008</strong>). Открываем этот документ в&nbsp;текстовом редакторе и&nbsp;ищем следующие строчки (они могут немного отличаться):</p>
<p><code><br />
<blockquote>QMAKE_CFLAGS_RELEASE    = -O2 -MD<br />
QMAKE_CFLAGS_DEBUG      = -Zi -MDd</p></blockquote>
<p></code></p>
<p>Если обладаем многоядерным процессором, то можно компилировать в несколько потоков. Для этого используется флаг <strong>-MPi</strong>, где <strong>i</strong> &#8211; количество процессоров (для 2-х-ядерного процессора это будет выглядеть так: <strong>-MP2</strong>). Этот флаг можно добавить и в release, и в debug флаги.</p>
<p><span style="font-size: 75%; color: gray;">Примечание: если файл конфигурации содержит флаг <strong>-GL</strong> (оптимизация всей программы), то&nbsp;<strong>удалите</strong> его. Этот флаг потенциально может создать конфликт при компиляции <strong>QtWebKit</strong>.</span></p>
<p>После всех наших преобразований эти строки будут выглядеть примерно так:</p>
<p><code><br />
<blockquote>QMAKE_CFLAGS_RELEASE    = -O2 -MD -MP2<br />
QMAKE_CFLAGS_DEBUG      = -Zi -MDd -MP2</p></blockquote>
<p></code></p>
<p>Некоторые из&nbsp;вас могут спросить, мол, а&nbsp;не&nbsp;лучше&nbsp;ли заменить флаг <strong>-O2</strong>&nbsp;на,&nbsp;к&nbsp;примеру, <strong>-Os</strong> (по&nbsp;аналогии с&nbsp;компилятором <i>g++</i>)? Отвечу: нет, не&nbsp;лучше. Для компилятора <i>nmake</i> этот флаг эквивалентен флагу <strong>-O1</strong>. Подробнее об&nbsp;этом можно почитать <a href="http://msdn.microsoft.com/ru-ru/library/8f8h5cxt.aspx" target="_blank" title="/O1, /O2 (минимизировать размер, максимизировать скорость)">тут, на&nbsp;сайте MSDN</a>.</p>
<p>Распинаться на&nbsp;тему того, какие флаги использовать при конфигурировании Qt&nbsp;я&nbsp;не&nbsp;буду. Просто скажу, что бывают случаи, когда конфигуратор по&nbsp;каким-то причинам не&nbsp;видит возможности использовать тот или иной флаг. Поэтому следует указать все. Здесь приведу свой набор флагов:</p>
<p><code><br />
<blockquote>configure -debug-and-release -shared -exceptions -accessibility -stl -plugin-sql-sqlite -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-dsp -no-vcproj -mmx -3dnow -sse -sse2 -direct3d -openssl -no-dbus -phonon -phonon-backend -webkit -scripttools -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde</p></blockquote>
<p></code></p>
<p>Итак, можно начинать конфигурирование и&nbsp;компилирование <strong>qmake.exe</strong>. Для этого запустим наш скрипт <strong>SetEnv.cmd</strong> через ярлык и&nbsp;вставим туда команду, написанную выше.</p>
<div id="attachment_210" class="wp-caption aligncenter" style="width: 679px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/configure-0.png" alt="Выполнение конфигурирования" title="Выполнение конфигурирования" width="669" height="338" class="size-full wp-image-210" /><p class="wp-caption-text">Выполнение конфигурирования</p></div>
<p>После компилирования <strong>qmake.exe</strong> с&nbsp;его помощью будут созданы make-файлы для всех проектов (начиная от&nbsp;самой библиотеки Qt&nbsp;и&nbsp;заканчивая простейшими примерами). Здесь существует вероятность, что нет необходимости компилировать вообще всё подряд. К&nbsp;примеру нужна просто release-версия библиотеки для компилирования release-версий каких-либо программ. То&nbsp;есть не&nbsp;для разработки.</p>
<p>Если есть какая-то необходимость компилировать не&nbsp;весь Qt,&nbsp;а&nbsp;по&nbsp;частям, то&nbsp;используются специальные &laquo;флаги&raquo;, определённые в&nbsp;основном файле проекта Qt.&nbsp;Вот 2&nbsp;основных из&nbsp;них:</p>
<ol>
<li><strong>nmake sub-src</strong>&nbsp;&#8212; для компилирования только библиотек;</li>
<li><strong>nmake sub-tools</strong>&nbsp;&#8212; для компилирования всевозможных утилит (Designer, Linguist, Assistant, etc.).</li>
</ol>
<p>По завершению конфигурирования, создания <strong>qmake.exe</strong> и&nbsp;make-файлов для проекта, Qt&nbsp;скажет, что &laquo;Qt&nbsp;is&nbsp;now configured for building. Just run nmake. To&nbsp;reconfigure, run nmake confclean and configure&raquo;. Можно приступать к&nbsp;сборке <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Для того, чтобы начать компилирование просто введите <strong>nmake</strong> (или <strong>nmake sub-src</strong> и&nbsp;потом, если надо, <strong>nmake sub-tools</strong>) в&nbsp;зависимости от&nbsp;необходимого результата.</p>
<p>Если интересно, то&nbsp;я&nbsp;выполнил поочерёдно команды <strong>nmake sub-src</strong> и&nbsp;<strong>nmake sub-tools</strong> чтобы получить библиотеку с&nbsp;тулзами, но&nbsp;без ненужных примеров.</p>
<p><span style="font-size: 75%; color: gray;">&#8230;Прошло n-ое время, затраченное на&nbsp;компилирование нужных компонентов&#8230;</span></p>
<p>По завершению операций консоль не&nbsp;закрываем.</p>
<h2>Проверка работоспособности библиотеки</h2>
<p>Здесь всё просто. Раз мы&nbsp;собирали Qt&nbsp;в&nbsp;основном из-за модуля Phonon, то&nbsp;его и&nbsp;будем проверять.</p>
<p>Для этого выполним следующую команду, по&nbsp;завершении которой скомпилируется и&nbsp;запустится демо-приложение, использующее Phonon:</p>
<p><code><br />
<blockquote>cd demos/mediaplayer &#038;&#038; qmake &#038;&#038; nmake release &#038;&#038; cd release &#038;&#038; mediaplayer</p></blockquote>
<p></code></p>
<p>Через несколько секунд после завершения выполнения этого набора команд запуститься приложение. Откроем в&nbsp;нём какой-нибудь аудио файл, например: любимую песню <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  На&nbsp;этом моменте все поймут, работает Phonon или нет.</p>
<p><div id="attachment_212" class="wp-caption aligncenter" style="width: 334px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/mediaplayer-0.png" alt="Демо-приложение: Media Player" title="Демо-приложение: Media Player" width="324" height="181" class="size-full wp-image-212" /><p class="wp-caption-text">Демо-приложение: Media Player</p></div><br />
<a name="notes"></a><br />
<h2>Оговорки</h2>
<ul>
<li>В &laquo;Проверке работоспособности библиотеки&raquo; запуск приложения выполнен через консоль. Если попытаться запустить скомпилированную программу через проводник (при условии, что она находится <strong>не</strong>&nbsp;в&nbsp;директории <i>bin</i> Qt), то&nbsp;ничего не&nbsp;получится. Чтобы это исправить, необходимо перенести все переменные окружения из&nbsp;<strong>SetEnv.cmd</strong> в&nbsp;глобальное окружение ОС&nbsp;(Пуск -> Панель управления -> Система -> вкладка &laquo;Дополнительно&raquo; -> Переменные среды).</li>
<li>В случае возникновения ошибки при проверки работоспособности Phonon не&nbsp;следует огорчатся. Иногда так случается, что по&nbsp;каким-то причинам воспроизведение невозможно. Не&nbsp;знаю почему. просто попробуйте воспроизвести другой файл.</li>
</ul>
<p><a name="depend"></a><br />
<h2>О&nbsp;зависимостях</h2>
<p>Чтобы убрать зависимости от&nbsp;redistributable-пакетов необходимо заменить флаг <strong>-MD</strong> (<strong>-MDd</strong>) на&nbsp;<strong>-MT</strong> (<strong>-MTd</strong>).</p>
<p>Тут некоторые задумались на&nbsp;тему того, почему этот вопрос был вынесен из&nbsp;самой &laquo;инструкции&raquo; и&nbsp;являет собой нечто, похожее на&nbsp;дополнение. А&nbsp;кто-то, пропустив ссылку сюда сильно расстроен. Чтож, объясняю.</p>
<p>Использование флага <strong>-MT</strong> подразумевает собой &laquo;вшивание&raquo; кода runtime-библиотеки в&nbsp;конечный продукт (и&nbsp;в&nbsp;библиотеки, и&nbsp;в&nbsp;программы). Но&nbsp;при этом возникает обидная неожиданность: очень часто программы не&nbsp;работают. У&nbsp;меня лично хронически не&nbsp;запускался QtDesigner и&nbsp;lrelease (может что-нибудь ещё, а&nbsp;я&nbsp;просто не&nbsp;в&nbsp;курсе).</p>
<p>Именно по-этому я&nbsp;вынес этот вопрос сюда. В&nbsp;принципе, никто не&nbsp;мешает попытаться сделать <strong>-MT</strong> на&nbsp;более свежих версиях. У&nbsp;меня вот не&nbsp;срослось. Кстати, если надумали делать, то&nbsp;в&nbsp;OpenSSL тоже придётся внести небольшие изменения: в&nbsp;файле <em>ms\ntdll.mak</em> исправить <strong>/MD</strong> на&nbsp;<strong>/MT</strong>. Делать это необходимо после выполнения команды</p>
<blockquote><p><code>ms\do_masm</code></p></blockquote>
<p>О зависимостях готовых приложений можно почитать <a href="http://doc.qtsoftware.com/4.5/deployment-windows.html" target="_blank" title="Deploying an Application on Windows">тут [на англ.]</a>.</p>
<p><a href="#orientation">Вернуться вверх, к&nbsp;&laquo;Ориентируемся на&#8230;&raquo;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/06/compiling-qt-library-under-windows-os-with-support-for-phonon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Халява от Canonical</title>
		<link>http://home.edstudio.net.ru/2009/06/free-from-canonical/</link>
		<comments>http://home.edstudio.net.ru/2009/06/free-from-canonical/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 12:23:47 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Решения]]></category>
		<category><![CDATA[*ubuntu]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ОСи]]></category>
		<category><![CDATA[халява]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=178</guid>
		<description><![CDATA[Вот, ко&#160;мне пришёл 2-ой пакет с&#160;Свободным Программным Обеспечением от&#160;Canonical. В первом пакете я&#160;заказал kUbuntu&#160;&#8212; дистрибутив linux с&#160;оконным менеджером KDE4. Вторым пакетом мою коллекцию пополнили дистрибутивы Ubuntu&#160;&#8212; дистрибутив linux с&#160;оконным менеджером GNOME и&#160;Ubuntu Server&#160;&#8212; дистрибутив linux для серверных станций. Впринципе, можно не&#160;говорить, что каждая из&#160;этих операционных систем абсолютно бесплатная, и&#160;что Вы&#160;можете её&#160;скачать на&#160;сайте или закачать по&#160;почте [...]]]></description>
			<content:encoded><![CDATA[<p>Вот, ко&nbsp;мне пришёл 2-ой пакет с&nbsp;Свободным Программным Обеспечением от&nbsp;<a href="http://www.canonical.com/" title="Canonical Ltd." target="_blank">Canonical</a>.</p>
<p>В первом пакете я&nbsp;заказал <a href="http://www.kubuntu.org/" title="kUbuntu" tearget="_blank">kUbuntu</a>&nbsp;&#8212; дистрибутив linux с&nbsp;оконным менеджером <a href="http://www.kde.org/" title="K Desktop Envirement" target="_blank">KDE4</a>.</p>
<p>Вторым пакетом мою коллекцию пополнили дистрибутивы <a href="http://www.ubuntu.com/products/WhatIsUbuntu/desktopedition" title="Ubuntu Desktop Edition" target="_blank">Ubuntu</a>&nbsp;&#8212; дистрибутив linux с&nbsp;оконным менеджером <a href="http://www.gnome.org/" title="GNOME: The Free Software Desktop Project" target="_blank">GNOME</a> и&nbsp;<a href="http://www.ubuntu.com/products/WhatIsUbuntu/serveredition" title="Ubuntu Server Edition" target="_blank">Ubuntu Server</a>&nbsp;&#8212; дистрибутив linux для серверных станций.</p>
<p><span id="more-178"></span></p>
<p>Впринципе, можно не&nbsp;говорить, что каждая из&nbsp;этих операционных систем абсолютно бесплатная, и&nbsp;что Вы&nbsp;можете её&nbsp;скачать на&nbsp;сайте или закачать по&nbsp;почте с&nbsp;помощью бесплатной услуги ShipIt (ссылки на&nbsp;страницы проекта я&nbsp;давать не&nbsp;буду, Вы&nbsp;сможете и&nbsp;так легко найти их&nbsp;на&nbsp;сайте интересующего Вас дистрибутива).</p>
<p>Сами диски:</p>

<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/ubuntu-cover/' title='Ubuntu Desktop Edition: Обложка'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/ubuntu-cover.jpg" class="attachment-thumbnail" alt="Ubuntu Desktop Edition: Обложка" title="Ubuntu Desktop Edition: Обложка" /></a>
<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/ubuntu-inside/' title='Ubuntu Desktop Edition: Разворот'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/ubuntu-inside.jpg" class="attachment-thumbnail" alt="Ubuntu Desktop Edition: Разворот" title="Ubuntu Desktop Edition: Разворот" /></a>
<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/ubuntu-cd/' title='Ubuntu Desktop Edition: Диск'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/ubuntu-cd.jpg" class="attachment-thumbnail" alt="Ubuntu Desktop Edition: Диск" title="Ubuntu Desktop Edition: Диск" /></a>
<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/ubuntu-server-cover/' title='Ubuntu Server Edition: Обложка'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/ubuntu-server-cover.jpg" class="attachment-thumbnail" alt="Ubuntu Server Edition: Обложка" title="Ubuntu Server Edition: Обложка" /></a>
<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/ubuntu-server-inside/' title='Ubuntu Server Edition: Разворот'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/ubuntu-server-inside.jpg" class="attachment-thumbnail" alt="Ubuntu Server Edition: Разворот" title="Ubuntu Server Edition: Разворот" /></a>
<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/ubuntu-server-cd/' title='Ubuntu Server Edition: Диск'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/ubuntu-server-cd.jpg" class="attachment-thumbnail" alt="Ubuntu Server Edition: Диск" title="Ubuntu Server Edition: Диск" /></a>
<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/kubuntu-cover/' title='kUbuntu: Обложка'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/kubuntu-cover.jpg" class="attachment-thumbnail" alt="kUbuntu: Обложка" title="kUbuntu: Обложка" /></a>
<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/kubuntu-inside/' title='kUbuntu: Разворот'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/kubuntu-inside.jpg" class="attachment-thumbnail" alt="kUbuntu: Разворот" title="kUbuntu: Разворот" /></a>
<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/kubuntu-cd/' title='kUbuntu: Диск'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/kubuntu-cd.jpg" class="attachment-thumbnail" alt="kUbuntu: Диск" title="kUbuntu: Диск" /></a>
<a href='http://home.edstudio.net.ru/2009/06/free-from-canonical/bonus/' title='Бонусы: наклейки с логотипом Ubuntu (4 штуки)'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/bonus.jpg" class="attachment-thumbnail" alt="Бонусы: наклейки с логотипом Ubuntu (4 штуки)" title="Бонусы: наклейки с логотипом Ubuntu (4 штуки)" /></a>

<p>P.S.: собственно, я&nbsp;и&nbsp;пост создал чтобы обложки показать. На&nbsp;мой взгляд они достаточно красивые <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/06/free-from-canonical/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web сервер на Windows</title>
		<link>http://home.edstudio.net.ru/2009/06/web-server-on-windows/</link>
		<comments>http://home.edstudio.net.ru/2009/06/web-server-on-windows/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 13:46:16 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Решения]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[ОСи]]></category>
		<category><![CDATA[разработка]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=114</guid>
		<description><![CDATA[Поставить web сервер на&#160;винду дома может понадобиться в&#160;разных случаях. Например Вы&#160;захотели устроить дома импровизированный Дата Центр. Мало вероятно, но&#160;возможно. Правда, личто я&#160;бы доверил такой сервер UNIX-системе. Или&#160;же Вам понадобился сервер для разработки чего-либо. Чтож, в&#160;этой статье я&#160;опишу процесс установки связки Apache + PHP + MySQL Приготовления Чтобы что-то установить, необходимо сначало скачать это что-то. Приступим. [...]]]></description>
			<content:encoded><![CDATA[<p>Поставить web сервер на&nbsp;винду дома может понадобиться в&nbsp;разных случаях. Например Вы&nbsp;захотели устроить дома импровизированный Дата Центр. Мало вероятно, но&nbsp;возможно. Правда, личто я&nbsp;бы доверил такой сервер UNIX-системе.</p>
<p>Или&nbsp;же Вам понадобился сервер для разработки чего-либо.</p>
<p>Чтож, в&nbsp;этой статье я&nbsp;опишу процесс установки связки Apache + PHP + MySQL</p>
<p><span id="more-114"></span></p>
<h2>Приготовления</h2>
<p>Чтобы что-то установить, необходимо сначало скачать это что-то. Приступим.</p>
<ol>
<li>Apache версии 2.2&nbsp;с&nbsp;поддержкой шифрования я&nbsp;возьму <a href="http://httpd.apache.org/download.cgi" title="Apache HTTP Server" target="_blank">здесь</a>. <span style="font-size: 75%; color: gray;">Win32&nbsp;Binary including OpenSSL 0.9.8i (MSI Installer)</span></li>
<li>PHP версии 5.2.9&nbsp;возьмём <a href="http://www.php.net/downloads.php" title="PHP 5.2.9" target="_blank">здесь</a>. <span style="font-size: 75%; color: gray;">Windows Binaries Installer</span></li>
<li>MySQL версии 5.1.35&nbsp;взяли <a href="http://dev.mysql.com/downloads/mysql/5.1.html#win32" title="MySQL Community Server" target="_blank">тут</a>. <span style="font-size: 75%; color: gray;">Windows Essentials (x86)</span></li>
</ol>
<p>Вроде больше ничего нам не&nbsp;нужно.</p>
<h2>Установка Apache HTTP Server</h2>
<p>Как всегда, первыми окнами визарда установки видим приветствие оного визарда и&nbsp;лицензионное соглашение&#8230;</p>
<p>Далее идёт страница настройки домена, сервера, и&nbsp;адреса электронной почты администратора.</p>
<p>Для &laquo;домашнего&raquo; использования логично вписать доменное имя и&nbsp;имя сервера как <strong>localhost</strong>. Адрес почты администратора&nbsp;&#8212; как хотите, я&nbsp;указал свой <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Также предлогается выбрать режим работы сервера и&nbsp;порт для подключения: для всех пользователей (с&nbsp;<strong>80-ым портом</strong>) и&nbsp;добавлением в&nbsp;системные службы (с&nbsp;<strong>автоматическим запуском</strong> при загрузке системы) или только для текущего пользователя (с&nbsp;<strong>8080-ым портом</strong>) и&nbsp;<strong>ручным запуском</strong>.</p>
<div id="attachment_133" class="wp-caption aligncenter" style="width: 514px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/apache-0.png" alt="Apache HTTP Server: имя домена и сервера, адрес админа" title="Apache HTTP Server: имя домена и сервера, адрес админа" width="504" height="388" class="size-full wp-image-133" /><p class="wp-caption-text">Apache HTTP Server: имя домена и сервера, адрес админа</p></div>
<p>Далее предлогается выбрать тип устоновки: полный или пользовательский (собственно, ничего интерестного. Я&nbsp;взял пользовательскую устновку только чтобы выкинуть оттуда документацию).</p>
<p>Если брать пользовательскую установку, то&nbsp;менять адрес установки надо на&nbsp;странице с&nbsp;выбором компонентов. Для полной установки&nbsp;&#8212; появится отдельная страничка визарда.</p>
<p>Мне удобно чтобы всё было в&nbsp;одном месте. Для этого я&nbsp;установил адрес установки Apache <em>C:\Web-Server\Apache2.2\</em></p>
<p>Всё, теперь далее, далее, далее&#8230; и&nbsp;готово. После установщик сам запустит сервер.</p>
<p>Проверить его работу можно, введя в&nbsp;адресной строке браузера <a href="http://localhost/" target="_black" title="«Домашний» сервер">localhost</a>. Если всё хорошо&nbsp;&#8212; увидем надпись &laquo;It&nbsp;works!&raquo;</p>
<p>Также, в&nbsp;трее появился значёк приложения &laquo;Apache Service Monitor&raquo;. С&nbsp;его помощью можно управлять сервером: запускать, останавливать, перезапускать и&nbsp;др.</p>
<div id="attachment_141" class="wp-caption aligncenter" style="width: 442px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/apache-1.png" alt="Apache Service Monitor: иконка в трее." title="Apache Service Monitor: иконка в трее." width="432" height="59" class="size-full wp-image-141" /><p class="wp-caption-text">Apache Service Monitor: иконка в трее.</p></div><br />
<div id="attachment_139" class="wp-caption aligncenter" style="width: 541px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/apache-2.png" alt="Apache Service Monitor: окно приложения." title="Apache Service Monitor: окно приложения." width="531" height="338" class="size-full wp-image-139" /><p class="wp-caption-text">Apache Service Monitor: окно приложения.</p></div>
<p>Файл конфигурации находится по&nbsp;адресу <em>path\to\Apache2.2\conf\httpd.conf</em>, где <em>path\to\Apache2.2</em>&nbsp;&#8212; папка Apache.</p>
<p>Если хотите хранить файлы сервера (скрипты движков и&nbsp;т.&nbsp;д.) в&nbsp;другом месте, то&nbsp;нужно изменить значение переменной <strong>DocumentRoot</strong>, указав полный новый адрес.</p>
<h2>Установка PHP5</h2>
<p>Перед установкой PHP5&nbsp;следует остановить сервис Apache, что можно сделать через уже знакомый Apache Service Monitor.</p>
<p>Установщик PHP5&nbsp;также, как и&nbsp;установщик Apache, приветсвует нас, показывает лицензионное соглашение с&nbsp;просьбой принять его и&nbsp;даёт возможность изменить папку установки (я&nbsp;отправил его в&nbsp;<em>C:\Web-Server\PHP5</em>).</p>
<p>Следующая страничка визорда&nbsp;&#8212; страничка выбора модуля для спаривания PHP5&nbsp;с&nbsp;web-сервером. Поскольку устанавливали Apache версии 2.2, то&nbsp;выбираем соответствующий модуль: <strong>Apache 2.2.x Module</strong>.</p>
<div id="attachment_147" class="wp-caption aligncenter" style="width: 509px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/php-0.png" alt="Установка PHP5: выбор модуля для web-сервера." title="Установка PHP5: выбор модуля для web-сервера." width="499" height="392" class="size-full wp-image-147" /><p class="wp-caption-text">Установка PHP5: выбор модуля для web-сервера.</p></div>
<p>Далее&nbsp;&#8212; просят ввести адрес до&nbsp;файла конфигурации Apache (чтобы установщик сам спарил их). Вводим что-то типа <em>path\to\Apache2.2\conf\</em>, где, естественно, <em>path\to\Apache2.2</em>&nbsp;&#8212; папка Apache.</p>
<div id="attachment_150" class="wp-caption aligncenter" style="width: 509px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/php-1.png" alt="Установка PHP5: выбор адреса папки конфигурации Apache." title="Установка PHP5: выбор адреса папки конфигурации Apache." width="499" height="392" class="size-full wp-image-150" /><p class="wp-caption-text">Установка PHP5: выбор адреса папки конфигурации Apache.</p></div>
<p>Далее&nbsp;&#8212; самое нужное: выбор конмпонентов установки. Тут, наверно стоит отметить, что надо выбрать модуль расширения для MySQL. Остальные&nbsp;&#8212; что необходимо.</p>
<div id="attachment_152" class="wp-caption aligncenter" style="width: 509px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/php-2.png" alt="Установка PHP5: выбор дополнительных модулей." title="Установка PHP5: выбор дополнительных модулей." width="499" height="392" class="size-full wp-image-152" /><p class="wp-caption-text">Установка PHP5: выбор дополнительных модулей.</p></div>
<p>Всё, далее&#8230; готово!</p>
<p>Установщий PHP5&nbsp;вписал в&nbsp;файл конфигурации Apache информацию, что PHP5&nbsp;тоже имеет место быть. Найти эти строки можно в&nbsp;самом конце файла. Увидите что-то типа:</p>
<blockquote><p><code>#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL<br />
PHPIniDir "C:/Web-Server/PHP5/"<br />
LoadModule php5_module "C:/Web-Server/PHP5/php5apache2_2.dll"<br />
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL</code></p></blockquote>
<p>Теперь надо добавить <em>index.php</em> в&nbsp;файл конфигурации Apache в&nbsp;секции <em>IfModule dir_module</em> чтобы файлы <em>index.php</em> считались &laquo;главными&raquo; в&nbsp;папке и&nbsp;их&nbsp;результат выдавался при обращении к&nbsp;папке. Извените за&nbsp;мой французский. (чтобы при обращении к,&nbsp;скажем, http://localhost/anywhere/ выдовался результат выполнения <em>index.php</em>, размещённого в&nbsp;этом каталоге, а&nbsp;не&nbsp;список файлов и&nbsp;папок этого каталога)</p>
<p>Перезапускаем Apache.</p>
<p>Если что&nbsp;&#8212; файл конфигурации PHP5&nbsp;находится в&nbsp;корне папки и&nbsp;имеет имя <em>php.ini</em>.</p>
<p>Теперь наверно стоит проверить, а&nbsp;работает&nbsp;ли PHP? Для этого нужно выполнить какой-нибудь php&#8217;шный скрипт. Например&nbsp;&#8212; php info. Создадим файл <em>info.php</em> в&nbsp;каталоге документов сайта (по&nbsp;умолчанию, если не&nbsp;меняли,&nbsp;&#8212; это <em>path\to\Apache2.2\htdocs\</em>) с&nbsp;1&nbsp;строкой содержимого:</p>
<blockquote><p><code>&lt;?php phpinfo(); ?></code></p></blockquote>
<p>Не забудем запустить сервер Apache.</p>
<p>Теперь попытаемся выполнить наш скрипт <em>info.php</em>, перейдя в&nbsp;браузере по&nbsp;адресу <a href="http://localhost/info.php" target="_blank">http://localhost/info.php</a>. Тут очевидно работает PHP или нет <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Установка MySQL 5.1</h2>
<p>Установщик приветствует, но&nbsp;лицензию не&nbsp;показывает <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Сдесь сразу предлогают выбрать тип установки: полная, совсем полная (вообще всё, что впихнули в&nbsp;инсталлер) или пользовательская. Выбиру пользовательскую, чтобы иметь шанс изменить адрес устновки.</p>
<p>Самое интерестное&nbsp;&#8212; можно выбрать папку, в&nbsp;которой будут храниться сами базы данных <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Главное&nbsp;&#8212; не&nbsp;прошляпить этот момен. На&nbsp;странице выбора компонентов надо ткнуть MySQL Server Datafiles и&nbsp;тогда в&nbsp;нижней части окна появится возможность изменить адрес файлов баз. Для выбора адреса установки самого сервера&nbsp;&#8212; ткнуть в&nbsp;MySQL Server.</p>
<div id="attachment_159" class="wp-caption aligncenter" style="width: 514px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/mysql-0.png" alt="Установка MySQL: выбор директории файлов БД." title="Установка MySQL: выбор директории файлов БД." width="504" height="386" class="size-full wp-image-159" /><p class="wp-caption-text">Установка MySQL: выбор директории файлов БД.</p></div>
<p>Теперь далее.. готово. Теперь установщик что-то рекламирует. Жмём опять далее и&nbsp;видим другие параметры конфигурации. Он&nbsp;предлогает настроить сервер сейчас и&nbsp;добавить его в&nbsp;системные службы. Не&nbsp;вижу причин ему мешать, ок&nbsp;:)</p>
<p>Давайте детльную настройку&#8230; Визард предлогает выполнить настройку сервера под разные нужды: для разработчика, для сервера (как домашний Дата Центр) и&nbsp;для выделенного сервера (имеется ввиду, что на&nbsp;этой машине больше никто и&nbsp;ничего делать не&nbsp;будет. Будет только этот сервер баз данных, что позволит ему захавать все имеющиеся ресурсы компьютера. При неодходимости, естественно). Здесь выбор за&nbsp;вами.</p>
<div id="attachment_161" class="wp-caption aligncenter" style="width: 514px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/mysql-1.png" alt="Настройка MySQL: выбор конфигурации." title="Настройка MySQL: выбор конфигурации." width="504" height="386" class="size-full wp-image-161" /><p class="wp-caption-text">Настройка MySQL: выбор конфигурации.</p></div>
<p>Теперь предлогают выбрать движок баз данных. Этот выбор тоже предстоит сделать вам, так как я&nbsp;не&nbsp;знаю что от&nbsp;него хотят <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_162" class="wp-caption aligncenter" style="width: 514px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/mysql-2.png" alt="Настройка MySQL: выбор движка БД." title="Настройка MySQL: выбор движка БД." width="504" height="386" class="size-full wp-image-162" /><p class="wp-caption-text">Настройка MySQL: выбор движка БД.</p></div>
<p>Теперь надо сделать ещё немного настроек, в&nbsp;том чиле установить максимальное количество активных запросов на&nbsp;сервер БД,&nbsp;настройки кодировок, настройка запуска сервера (автоматически запускаться с&nbsp;системой или нет) и&nbsp;наверно самое главное: ввести пароль пользователя <strong>root</strong> базы данных! Всё, Execute! Теперь установщик настроет и&nbsp;запустит сервер.</p>
<p>Для правильного &laquo;спаривания&raquo; PHP и&nbsp;MySQL необходимо скопировать библиотеку <em>libmysql.dll</em> из&nbsp;каталога PHP в&nbsp;папку <em>C:\WINDOWS</em>.</p>
<p>Перезапускаем Apache.</p>
<p>Для проверки работы сервера Баз Данных нужно создать проверочный скрипт с&nbsp;таким содержимым:</p>
<blockquote><p><code>&lt;?php<br />
  $dblocation = "127.0.0.1";<br />
  $dbname = "test";<br />
  $dbuser = "root";<br />
  $dbpasswd = "< ваш_пароль_пользователя_root>";</p>
<p>  $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);<br />
  if (!$dbcnx) {<br />
    echo "К сожалению, сервер MySQL не доступен";<br />
    exit();<br />
  }<br />
  if (!@mysql_select_db($dbname,$dbcnx) ) {<br />
    echo "К сожалению, база данных не доступна";<br />
    exit();<br />
  }<br />
  $ver = mysql_query("SELECT VERSION()");<br />
  if(!$ver) {<br />
    echo "Ошибка в запросе";<br />
    exit();<br />
  }<br />
  echo mysql_result($ver, 0);<br />
?></code></p></blockquote>
<p>Вроде теперь всё. Пользуйтесь на&nbsp;здоровье <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/06/web-server-on-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Опа, лето пришло…</title>
		<link>http://home.edstudio.net.ru/2009/06/ooops-its-summer/</link>
		<comments>http://home.edstudio.net.ru/2009/06/ooops-its-summer/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 13:28:20 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[smile]]></category>
		<category><![CDATA[аяхз?]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=106</guid>
		<description><![CDATA[Ну, собственно, наверно &#171;Ура, товарищи!&#187; Конечно, лето, все дела&#160;&#8212; это всё хорошо, но&#160;не&#160;когда ты&#160;начинаешь &#171;плавиться&#187; от&#160;жары и&#160;когда начинает покидать рассудок от&#160;столь огромной температуры. Итак, фотки градусников (у&#160;меня дома, и,&#160;естественно, с&#160;показателями):]]></description>
			<content:encoded><![CDATA[<p>Ну, собственно, наверно &laquo;Ура, товарищи!&raquo; <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Конечно, лето, все дела&nbsp;&#8212; это всё хорошо, но&nbsp;не&nbsp;когда ты&nbsp;начинаешь &laquo;плавиться&raquo; от&nbsp;жары и&nbsp;когда начинает покидать рассудок от&nbsp;столь огромной температуры.</p>
<p><span id="more-106"></span></p>
<p>Итак, фотки градусников (у&nbsp;меня дома, и,&nbsp;естественно, с&nbsp;показателями):</p>

<a href='http://home.edstudio.net.ru/2009/06/ooops-its-summer/1-2/' title='Градусник в комнате'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/1.png" class="attachment-thumbnail" alt="Градусник в комнате" title="Градусник в комнате" /></a>
<a href='http://home.edstudio.net.ru/2009/06/ooops-its-summer/2-2/' title='Градусник на кухне, висит на солнце'><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/2.png" class="attachment-thumbnail" alt="Градусник на кухне, висит на солнце" title="Градусник на кухне, висит на солнце" /></a>

]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/06/ooops-its-summer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Гугл и метки WordPress</title>
		<link>http://home.edstudio.net.ru/2009/06/google-and-wordpress-tags/</link>
		<comments>http://home.edstudio.net.ru/2009/06/google-and-wordpress-tags/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 11:18:35 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Ни о чём]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[smile]]></category>
		<category><![CDATA[аяхз?]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=101</guid>
		<description><![CDATA[Тут вот выяснилось, что мой блог занимает первое место по&#160;запросу &#171;аяхз&#187; в&#160;гугле Метки&#160;&#8212; зло]]></description>
			<content:encoded><![CDATA[<p>Тут вот выяснилось, что мой блог занимает первое место по&nbsp;запросу &laquo;аяхз&raquo; в&nbsp;<a href="http://www.google.ru/search?hl=ru&#038;rls=ig&#038;newwindow=1&#038;q=%D0%B0%D1%8F%D1%85%D0%B7&#038;btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&#038;lr=&#038;aq=f&#038;oq=">гугле</a> <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Метки&nbsp;&#8212; зло <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/06/google-and-wordpress-tags/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Моя кошка :)</title>
		<link>http://home.edstudio.net.ru/2009/06/my-cat/</link>
		<comments>http://home.edstudio.net.ru/2009/06/my-cat/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 17:05:18 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[smile]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=95</guid>
		<description><![CDATA[Собственно, вот решил выложить фотографии моей кошки. Имя: Серафима Порода: Корниш Рекс Дата рождения: 23.02.2009 Окрас: черепаховый Собственно, фотографии:]]></description>
			<content:encoded><![CDATA[<p>Собственно, вот решил выложить фотографии моей кошки.</p>
<p><span id="more-95"></span></p>
<p><strong>Имя:</strong> Серафима</p>
<p><strong>Порода:</strong> <a href="http://cat.mau.ru/crx/" target="_blank">Корниш Рекс</a></p>
<p><strong>Дата рождения:</strong> 23.02.2009</p>
<p><strong>Окрас:</strong> черепаховый</p>
<p>Собственно, фотографии:</p>
<div id="attachment_97" class="wp-caption aligncenter" style="width: 560px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/cat-1.jpg" alt="Серафима" title="Серафима" width="550" height="413" class="size-full wp-image-97" /><p class="wp-caption-text">Серафима</p></div><br />
<div id="attachment_98" class="wp-caption aligncenter" style="width: 560px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/06/cat-2.jpg" alt="Серафима" title="Серафима" width="550" height="413" class="size-full wp-image-98" /><p class="wp-caption-text">Серафима</p></div>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/06/my-cat/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ilona Mitrecey — Un Monde Parfait (Techno)</title>
		<link>http://home.edstudio.net.ru/2009/05/ilona-mitrecey-un-monde-parfait-techno/</link>
		<comments>http://home.edstudio.net.ru/2009/05/ilona-mitrecey-un-monde-parfait-techno/#comments</comments>
		<pubDate>Mon, 04 May 2009 13:02:49 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[аяхз?]]></category>
		<category><![CDATA[музыка]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=89</guid>
		<description><![CDATA[Как ни&#160;для кого уже не&#160;секрет, мы&#160;с&#160;другом ведём работу над фан-сайтом французской певицы Ilona Mitrecey. Я&#160;не&#160;буду углубляться в&#160;истории о&#160;том кто и&#160;откуда она, какмне нравится её творчество и&#160;тому подобное. Я&#160;просто приглашу вас посетить ресурс Un&#160;Monde Parfait. Пару дней назад мы&#160;возобновили наполнение прежде недоступного сайта контентом. Начали добавлять клипы и&#160;другую не&#160;менее полезную информацию. В&#160;ходе загрузки клипов обнаружилось, что [...]]]></description>
			<content:encoded><![CDATA[<p>Как ни&nbsp;для кого уже не&nbsp;секрет, мы&nbsp;с&nbsp;другом ведём работу над <nobr>фан-сайтом</nobr> французской певицы Ilona Mitrecey. Я&nbsp;не&nbsp;буду углубляться в&nbsp;истории о&nbsp;том кто и&nbsp;откуда она, какмне нравится её творчество и&nbsp;тому подобное. Я&nbsp;просто приглашу вас посетить ресурс <a title="Un Monde Parfait — Международный фан-сайт и конференция, посвящённые Ilona Mitrecey" href="http://unmondeparfait.org" target="_blank">Un&nbsp;Monde Parfait</a>.</p>
<p><span id="more-89"></span>
<p>Пару дней назад мы&nbsp;возобновили наполнение прежде недоступного сайта контентом. Начали добавлять клипы и&nbsp;другую не&nbsp;менее полезную информацию.</p>
<p>В&nbsp;ходе загрузки клипов обнаружилось, что по&nbsp;некоторым причинам мы&nbsp;не&nbsp;можем использовать один из&nbsp;клипов (как раз Un&nbsp;Monde Parfait). Я&nbsp;решил, что без труда смогу там&nbsp;же найти уже выложенную версию. Облом <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Грузим сами. Правда, во&nbsp;время поиска мне посчастливилось найти ремикс. Самое интересное&nbsp;&mdash; ремикс не&nbsp;на&nbsp;песню, а&nbsp;на&nbsp;клип! <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Собственно, чтобы выложить его здесь я&nbsp;и&nbsp;написал весь бред выше, хз&nbsp;вообще зачем <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><object width="425" height="344" data="http://www.youtube.com/v/IOcM1CKuhnI&amp;hl=ru&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/IOcM1CKuhnI&amp;hl=ru&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999" /><param name="allowfullscreen" value="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/05/ilona-mitrecey-un-monde-parfait-techno/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3D моделирование. Продолжение.</title>
		<link>http://home.edstudio.net.ru/2009/03/3d-modeling-continued/</link>
		<comments>http://home.edstudio.net.ru/2009/03/3d-modeling-continued/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 15:25:58 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=81</guid>
		<description><![CDATA[Продолжением моего опыта работы с 3D стала моделька моего старого плеера. Плеер называется Samsung YP-T6. Фотография: Модель: Попытка сделать реалистичное изображение: Считаю, что с задачей справился максимум на 50% Ну чтож, зато есть к чему страмится]]></description>
			<content:encoded><![CDATA[<p>Продолжением моего опыта работы с 3D стала моделька моего старого плеера.<span id="more-81"></span> Плеер называется Samsung YP-T6.</p>
<p>Фотография:<br />
<img src="http://home.edstudio.net.ru/wp-content/uploads/2009/03/yp-t6-photo.png" alt="YP-T6 Фотография" title="YP-T6 Фотография" width="640" height="480" class="aligncenter size-full wp-image-82" /><br />
Модель:<br />
<img src="http://home.edstudio.net.ru/wp-content/uploads/2009/03/yp-t6.png" alt="YP-T6" title="YP-T6" width="640" height="480" class="aligncenter size-full wp-image-83" /><br />
Попытка сделать реалистичное изображение:<br />
<img src="http://home.edstudio.net.ru/wp-content/uploads/2009/03/yp-t6-realistic1.png" alt="YP-T6 &quot;Реалистичное&quot;" title="YP-T6 &quot;Реалистичное&quot;" width="640" height="480" class="aligncenter size-full wp-image-87" /><br />
Считаю, что с задачей справился максимум на 50% <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
Ну чтож, зато есть к чему страмится <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/03/3d-modeling-continued/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Переходим с ICQ на Jabber</title>
		<link>http://home.edstudio.net.ru/2009/03/moving-from-icq-to-jabber/</link>
		<comments>http://home.edstudio.net.ru/2009/03/moving-from-icq-to-jabber/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 19:16:02 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[jabber]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=78</guid>
		<description><![CDATA[Современная структура общения в&#160;Internet очень развита и&#160;многогранна. Пользователю доступно множество видов общения таких как чаты, почта, аудио и&#160;видео конференции, форумы, социальные сети и&#160;т.д.

В&#160;нашем случае речь пойдет о&#160;Jabber&#160;&#8212; популярном свободном и&#160;открытом протоколе для общения посредством мгновенной отправки и&#160;получения текстовых сообщений в&#160;сети.

Так исторически сложилось, что приличное количество людей на&#160;территории ex-СССР осталось пользоваться ICQ, несмотря на&#160;то,&#160;что это устаревшая сеть с&#160;закрытым протоколом, владельцы которой ущемляют пользователей в&#160;правах посредством своих лицензионных соглашений.
Цель данного проекта&#160;&#8212; помощь как в&#160;переходе пользователей с&#160;ICQ на&#160;Jabber,
так и&#160;помощь новичкам в&#160;освоении Jabber.]]></description>
			<content:encoded><![CDATA[<p>Итак, наверное Вы&nbsp;уже не&nbsp;раз задумывались на&nbsp;тему того, что ICQ Вас достало <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Чтож, немного полазив по&nbsp;<a href="jabber.ru" title="Крупнейший русскоязычный узел сети мгновенной передачи сообщений">Jabber.ru</a> я&nbsp;наткнулся на&nbsp;ссылкуна страницу, на&nbsp;которой очень хорошо объясняется обо всех особенностях Jabber, его приемуществах и,&nbsp;конечно&nbsp;же о&nbsp;том, как работать с&nbsp;ним и&nbsp;как работает он&nbsp;:)<br />
Собственно, ссылка &laquo;<a href="http://jabberworld.info/Переход_с_ICQ_на_Jabber">именно туда</a>&raquo; (jabberworld.info) <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/03/moving-from-icq-to-jabber/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3D моделирование. Начало.</title>
		<link>http://home.edstudio.net.ru/2009/03/3d-modeling-start/</link>
		<comments>http://home.edstudio.net.ru/2009/03/3d-modeling-start/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 18:15:27 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[аяхз?]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=70</guid>
		<description><![CDATA[Решил попробовать свои силы в&#160;3D&#160;моделированнии Для начала попытался нарисовать USB. Единственное, очень обидно что не&#160;получилось сделать из&#160;&#171;нормального материала&#187; контакты]]></description>
			<content:encoded><![CDATA[<p>Решил попробовать свои силы в&nbsp;3D&nbsp;моделированнии <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Для начала попытался нарисовать USB. <span id="more-70"></span><br />
<img class="aligncenter size-full wp-image-71" title="USB" src="http://home.edstudio.net.ru/wp-content/uploads/2009/03/1-web.png" alt="USB" width="640" height="480" /><br />
<img class="aligncenter size-full wp-image-71" title="USB" src="http://home.edstudio.net.ru/wp-content/uploads/2009/03/2-web.png" alt="USB" width="640" height="480" /><br />
<img class="aligncenter size-full wp-image-71" title="USB" src="http://home.edstudio.net.ru/wp-content/uploads/2009/03/3-web.png" alt="USB" width="640" height="480" /></p>
<p>Единственное, очень обидно что не&nbsp;получилось сделать из&nbsp;&laquo;нормального материала&raquo; контакты <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/03/3d-modeling-start/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iТок</title>
		<link>http://home.edstudio.net.ru/2009/02/icurrent/</link>
		<comments>http://home.edstudio.net.ru/2009/02/icurrent/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 16:53:07 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Ни о чём]]></category>
		<category><![CDATA[аяхз?]]></category>
		<category><![CDATA[оборудование]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=67</guid>
		<description><![CDATA[Обсождение моих вкусов о техники никого не волнует. Все это знают. Может быть у меня мечта такая дурная, ну очень уж сильно я себе хочу MacBook. Удовольствие это не из дешёвых, так что пока я коплю средства на покупку сего аппарата, мне остаётся только ходить и смотреть на него Сегодня вот с другом зашли в [...]]]></description>
			<content:encoded><![CDATA[<p>Обсождение моих вкусов о техники никого не волнует. Все это знают. Может быть у меня мечта такая дурная, ну очень уж сильно я себе хочу MacBook. <span id="more-67"></span>Удовольствие это не из дешёвых, так что пока я коплю средства на покупку сего аппарата, мне остаётся только ходить и смотреть на него <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
Сегодня вот с другом зашли в магазин М. Видео подошли к «яблочной» стойке. Насмотрелись. Решили пощупать их <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  И тут произошло самое интересное: нас ударило током <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Причём как оказалось каждый аппарат бился током. Мой друг, Давид, предположил, что это новая технология защиты данных револючия в информационной безопасности! <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Я не верю что всё так плохо с Маками этого просто не может быть. Я верю в светлое будущее России и в то что М. Видео — гавно.<br />
P.S.: Как выяснилось потом, током билось не только «яблочное» оборудование, но и аппаратура других фирм, в состав чьего корпуса входил металл.</p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/02/icurrent/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Что за безпредел?!</title>
		<link>http://home.edstudio.net.ru/2009/02/wtf/</link>
		<comments>http://home.edstudio.net.ru/2009/02/wtf/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 10:15:15 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[аяхз?]]></category>
		<category><![CDATA[ненавижу]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=60</guid>
		<description><![CDATA[Сегодня, 5 февраля 2009 года, я, выйдя на лестничную клетку просто офигел. В моём подъезде уроды из «Корбины» сделали такое, что даже разумному объяснению не поддаётся. Они, без разрешения ЖЕКа, продолбили дырки в полу и провели через них трубы для интернет-кабеля. Фотки к теме.]]></description>
			<content:encoded><![CDATA[<p>Сегодня, 5 февраля 2009 года, я, выйдя на лестничную клетку просто офигел. В моём подъезде уроды из «<a href="http://corbina.ru">Корбины</a>» сделали такое, что даже разумному объяснению не поддаётся. Они, без разрешения ЖЕКа, продолбили дырки в полу и провели через них трубы для интернет-кабеля.</p>
<p>Фотки к теме.<span id="more-60"></span></p>
<div id="attachment_61" class="wp-caption aligncenter" style="width: 650px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/02/1.png" alt="Пиздец (1)" title="1" width="640" height="480" class="size-full wp-image-61" /><p class="wp-caption-text">Пиздец (1)</p></div><br />
<div id="attachment_62" class="wp-caption aligncenter" style="width: 490px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/02/2.png" alt="Пиздец (2)" title="2" width="480" height="640" class="size-full wp-image-62" /><p class="wp-caption-text">Пиздец (2)</p></div><br />
<div id="attachment_63" class="wp-caption aligncenter" style="width: 650px"><img src="http://home.edstudio.net.ru/wp-content/uploads/2009/02/3.png" alt="Пиздец (3)" title="3" width="640" height="480" class="size-full wp-image-63" /><p class="wp-caption-text">Пиздец (3)</p></div>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/02/wtf/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Command &amp; Conquer: Red Alert 3 жжёт!</title>
		<link>http://home.edstudio.net.ru/2009/02/command-conquer-red-alert-3/</link>
		<comments>http://home.edstudio.net.ru/2009/02/command-conquer-red-alert-3/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 09:42:51 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Основная]]></category>
		<category><![CDATA[аяхз?]]></category>
		<category><![CDATA[игры]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=47</guid>
		<description><![CDATA[О&#160;том, что это (Red Alert 3)&#160;такое по&#160;рассказам &#171;википедии&#187;: Сюжет: Действие игры разворачивается сразу после поражения Советского Союза во&#160;второй части игры. Полковник Черденко, один из&#160;близких пр�ближенных премьера Романова, приводит в&#160;действие секретный проект советской машины времени. В&#160;результате он&#160;попадает в&#160;прошлое, где благополучно уничтожает Эйнштейна, сделавшего решающий вклад в&#160;техническую мощь Альянса. Таким образом, все будущее вселенной Red Alert меняется: [...]]]></description>
			<content:encoded><![CDATA[<p>О&nbsp;том, что это (Red Alert 3)&nbsp;такое по&nbsp;рассказам &laquo;<a href="http://ru.wikipedia.org/wiki/Red_Alert_3" target="_blank">википедии</a>&raquo;:</p>
<blockquote><p><img class="alignright" title="Command &amp; Conquer: Red Alert 3" src="http://upload.wikimedia.org/wikipedia/ru/c/cc/Red3.jpg" alt="" width="200" height="287" /><strong>Сюжет:</strong></p>
<p>Действие игры разворачивается сразу после поражения Советского Союза во&nbsp;второй части игры. Полковник Черденко, один из&nbsp;близких пр�ближенных премьера Романова, приводит в&nbsp;действие секретный проект советской машины времени. В&nbsp;результате он&nbsp;попадает в&nbsp;прошлое, где благополучно уничтожает Эйнштейна, сделавшего решающий вклад в&nbsp;техническую мощь Альянса. Таким образом, все будущее вселенной Red Alert меняется: Черденко становится премьером вместо Романова, главнокомандующим советской армией вместо Владимира теперь является генерал Крюков, а&nbsp;советские войска уже захватили почтю всю Европу и&nbsp;готовятся выбить Союзников из&nbsp;Англии. Однако неожиданно на&nbsp;горизонте появляется новый враг&nbsp;&#8212; Империя Восходящего Солнца, которая наносит внезапный удар по&nbsp;восточным границам СССР. В&nbsp;трех кампаниях соответственно за&nbsp;каждую сторону игроку предстоит определить дальнейшее развитие событий&#8230;.</p></blockquote>
<p>А&nbsp;чем&nbsp;же таким она жжёт?<span id="more-47"></span> <a href="http://www.playfuls.com/images/news/ra3_piracy.jpg" target="_blank"><img class="alignright" title="Command &amp; Conquer: Red Alert 3" src="http://www.google.ru/images?q=tbn:L0a3PiySdoHDaM::www.playfuls.com/images/news/ra3_piracy.jpg" alt="" width="150" height="113" /></a>А&nbsp;жжёт она своей озвучкой! Вот сейчас пишу это и&nbsp;громко смеюсь. Я&nbsp;сам не&nbsp;играю, но&nbsp;вот мой друг&nbsp;&#8212; играет. Он&nbsp;то&nbsp;и&nbsp;дал мне послушать OST к&nbsp;игре. В&nbsp;состав ост входит замечательный трек под названием &laquo;Советский Марш&raquo;, который с&nbsp;жёстко выраженым акцентом поют американцы, исполняя торжественно <a href="http://ifolder.ru/10343363" target="_blank">следующий шедевр</a> в&nbsp;лице гимна альтернативно-редалертовского СССР. Они правда старались <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Респект им.&nbsp;А&nbsp;самое замечательное в&nbsp;этом треке&nbsp;&#8212; это слова. До&nbsp;того, как вы&nbsp;прочитаете слова к&nbsp;песне, я&nbsp;рекомендую вам её&nbsp;послушать.<br />
Текст песни:</p>
<blockquote><p>Наш Советский Союз покарает<br />
Весь мир от&nbsp;Европы к&nbsp;Неве на&nbsp;восток<br />
Над землей везде будут петь:<br />
Столица, водка, Советский медведь наш!<br />
(2&nbsp;раза)</p>
<p>Все народы здесь стоят того,<br />
Что мы&nbsp;все воплотили на&nbsp;свет,<br />
Благодарный низкий поклон<br />
От&nbsp;самой могущественной в&nbsp;мире!<br />
(2&nbsp;раза)</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/02/command-conquer-red-alert-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Графический планшет Genius G-Pen 450 vs. Kubuntu 8.10</title>
		<link>http://home.edstudio.net.ru/2009/01/genius-g-pen-450-vs-kubuntu-810/</link>
		<comments>http://home.edstudio.net.ru/2009/01/genius-g-pen-450-vs-kubuntu-810/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 18:43:28 +0000</pubDate>
		<dc:creator>Erik</dc:creator>
				<category><![CDATA[Решения]]></category>
		<category><![CDATA[*ubuntu]]></category>
		<category><![CDATA[оборудование]]></category>

		<guid isPermaLink="false">http://home.edstudio.net.ru/?p=25</guid>
		<description><![CDATA[Итак, наверное, раз вы это читаете, то столкнулись с такой же проблемой, как и я. У вас на линуксе (мы будем рассматривать конкретно Kubuntu 8.10 Intrepid Ibex) не хочет работать графический планшет Genius G-Pen 450. Были перерыты тонны электронных страниц в поисках способа, который поможет решить эту проблемы. Долго-долго искав, вы не могли не наткнутся на драйвер wizardpen. Но он у вас работать не стал. Обидно однако. Планшет — это не дёшево, а вот поработать все же хочется. Ну что же, [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="Genius G-Pen 450" src="http://img.4pk.ru/196642.jpg" title="Genius G-Pen 450" width="200" height="150" align="right" />Итак, наверное, раз вы это читаете, то столкнулись с такой же проблемой, как и я. У вас на линуксе (мы будем рассматривать конкретно Kubuntu 8.10 Intrepid Ibex) не хочет работать графический планшет Genius G-Pen 450. Были перерыты тонны электронных страниц в поисках способа, который поможет решить эту проблемы. Долго-долго искав, вы не могли не наткнутся на драйвер wizardpen. Но он у вас работать не стал. Обидно однако. Планшет — это не дёшево, а вот поработать все же хочется.</p>
<p>Ну что же, я тоже долго мучился и всё-таки у меня получилось настроить его <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  И я этому очень сильно рад <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Я расскажу вам как это сделать.</p>
<p><span id="more-25"></span></p>
<p>Драйвер wizardpen, как выяснилось, работает. Его просто надо настроить немного по-другому, не через конфиг /etc/X11/xorg.conf, как я пытался сначало. Так не получится. Тогда я решил не читать все эти неадыкватные мануалы, которыми меня кормили гугл и остальные поисковики, и почитать лучше «ридмишки» и, при возможности «маны». На базе всего прочтённого я смог составить пошаговую инструкцию по установке и настройке планшета в Kubuntu. Итак, вот он, встречайте <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Установка графического планшета Genius G-Pen 450 в операционной системе Kubuntu Linux 8.10 Intrepid Ibex.</strong></p>
<ol>
<li>Нам понадобятся исходные коды драйвера wizardpen, которые мы будем бережно и аккуратно собирать. Так что нам нужно скачать их из репозитория. Мы устанавливаем системы subversion (если таковой ещё в системе не имеется) и скачиваем исходники:<br />
<blockquote><p>sudo apt-get install subversion<br />
svn co http://svn.xp-dev.com/svn/felixleong_wizardpendrv/trunk/ wizardpen</p></blockquote>
</li>
<li>Для сборки необходимы dev-библиотеки X-сервера, которые мы тоже устанавливаем (ещё, если отстутсятвует, нужно установить g++):<br />
<blockquote><p>sudo apt-get install xutils libx11-dev libxext-dev build-essential xautomation xinput xserver-xorg-dev</p></blockquote>
</li>
<li>Теперь можно начинать сборку <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Здесь нам понадобится дополнительный флаг, про который рассказано в файле INSTALL, находящимся в папке, скаченной из репозитория. Собираем и устанавливаем:<br />
<blockquote><p>cd wizardpen<br />
./configure -with-xorg-module-dir=/usr/lib/xorg/modules<br />
make<br />
sudo make install</p></blockquote>
</li>
<li>Проверяем, установились ли драйвера:<br />
<blockquote><p>ls /usr/lib/xorg/modules/input/wizardpen_drv.*</p></blockquote>
<p>Если всё хорошо, то ls вернёт нам такое:</p>
<blockquote><p>/usr/lib/xorg/modules/input/wizardpen_drv.la /usr/lib/xorg/modules/input/wizardpen_drv.so</p></blockquote>
</li>
<li>Создаём файлик<br />
<blockquote><p>/etc/hal/fdi/policy/99-x11-wizardpen.fdi</p></blockquote>
<p>с таким содержанием (это конфиг, который сделал я на базе примера из файла README-XOrgConfig, лежащим рядом с файлом INSTALL):</p>
<blockquote><p><code>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;<br />
&lt;deviceinfo version="0.2"&gt;<br />
&lt;device&gt;<br />
&lt;!-- Имя устройства (здесь - для Genius G-Pen 450) --&gt;<br />
&lt;match key="info.product" contains="UC-LOGIC Tablet WP5540U"&gt;<br />
&lt;!-- Имя драйвера. Не трогать. --&gt;<br />
&lt;merge key="input.x11_driver" type="string"&gt;wizardpen&lt;/merge&gt;<br />
&lt;!-- В моём понимании - это что-то типа активазии отклика системы на действия --&gt;<br />
&lt;!-- с планшетом (докоснулись пером, провели им, кнопку нажали, etc.) --&gt;<br />
&lt;!-- Короче руками и другими частями тела не лапать --&gt;<br />
&lt;merge key="input.x11_options.SendCoreEvents" type="string"&gt;true&lt;/merge&gt;</p>
<p>&lt;!-- Настройки планшета --&gt;<br />
&lt;merge key="input.x11_options.TopX" type="string"&gt;1&lt;/merge&gt;<br />
&lt;merge key="input.x11_options.TopY" type="string"&gt;1&lt;/merge&gt;<br />
&lt;merge key="input.x11_options.BottomX" type="string"&gt;32768&lt;/merge&gt;<br />
&lt;merge key="input.x11_options.BottomY" type="string"&gt;32768&lt;/merge&gt;<br />
&lt;merge key="input.x11_options.MaxX" type="string"&gt;32768&lt;/merge&gt;<br />
&lt;merge key="input.x11_options.MaxY" type="string"&gt;32768&lt;/merge&gt;</p>
<p>&lt;!-- Чувствительность к силе нажатия пера --&gt;<br />
&lt;merge key="input.x11_options.TopZ" type="string"&gt;60&lt;/merge&gt;<br />
&lt;merge key="input.x11_options.BottomZ" type="string"&gt;1023&lt;/merge&gt;<br />
&lt;/match&gt;<br />
&lt;/device&gt;<br />
&lt;/deviceinfo&gt;</code></p></blockquote>
<p>Здесь, хоть и не очень полезные, но мои комментарии <img src='http://home.edstudio.net.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Настоятельно рекомендую не трогать секцию, помеченную у меня как «Настройки планшета». При моей конфигурации курсор никуда не пропадает и задействуется вся рабочая область планшета.<br />
PS я создал этот файл через nano, открыв его (он тогда ещё не существовал) и сохранив в него этот конфиг.</li>
<li>Вроде всё. Перезагружаемся. Всё должно работать.</li>
</ol>
<p>Прошу не тырить отсюда это руководство. Просто гораздо удобнее, когда всё в одном месте и комменты и поправки не приходится собирать по всему интернету.</p>
<p>А если всё-таки стырите — ссылка обязательна.</p>
]]></content:encoded>
			<wfw:commentRss>http://home.edstudio.net.ru/2009/01/genius-g-pen-450-vs-kubuntu-810/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
