<?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>Mihalytch personal blog</title>
	<atom:link href="http://mihalytch.org.ua/feed" rel="self" type="application/rss+xml" />
	<link>http://mihalytch.org.ua</link>
	<description>Все о высоких технологиях</description>
	<lastBuildDate>Mon, 05 Dec 2011 16:05:14 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.18</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>Пункты, пиксели, миллиметры  и их преобразования.</title>
		<link>http://mihalytch.org.ua/useful/punkty-pikseli-millimetry-i-ix-preobrazovaniya.html</link>
		<comments>http://mihalytch.org.ua/useful/punkty-pikseli-millimetry-i-ix-preobrazovaniya.html#respond</comments>
		<pubDate>Wed, 20 Apr 2011 15:14:18 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[Полезные советы]]></category>
		<category><![CDATA[типография]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=356</guid>
		<description><![CDATA[По велению судьбы довелось мне разрабатывать интернет магазин печатной продукции. Главная фитча которого в том, что пользователь с помощью конструктора [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img class="post-thumb-left size-full wp-image-220" title="mmonit" src="http://mihalytch.org.ua/img/resolutionoe8.jpg" alt="Resolutions" width="250" height="155" /> По велению судьбы довелось мне разрабатывать интернет магазин печатной продукции. Главная фитча которого в том, что пользователь с помощью конструктора может создать себе визитку, буклет или фотоальбом и тут же заказать эту прелесть. Само собой этот конструктор подразумевает генерацию превью на JS (для пользователя) и генерацию PDF (для печати продукции).</p>
<p>Наша задача: вывести пару простых формул для преобразования единиц измерения, а именно миллиметров, пунктов и пикселей для заданной разрешающей способности устройства печати.<br />
<span id="more-356"></span><br />
В XML шаблоне продукта мы задаем размеры и координаты объектов в миллиметрах, а кегль шрифта в пунктах. Для того, чтобы генерировать превью продукта средствами HTML с помошью JS, нам нужно привести все размеры в пиксели.</p>
<p>Давайте для начала разберемся с основными понятиями.<br />
<strong>DPI</strong> (Dots per Inch) &#8211; количество точек (пикселей) на дюйм.<br />
<strong>Дюйм</strong> (Inch) &#8211; есть единица меры расстояния в некоторых европейских неметрических системах. 1 дюйм = 25.4 мм.<br />
&#8220;<strong>Типографический пункт</strong>&#8221; (Pt) &#8211; единица измерения кегля шрифта. 1 пункт = 1/72 дюйма.</p>
<p>Возьмем, к примеру, разрешающую способность 300 dpi. Определим константу D = 300.<br />
Так как 1 дюйм 25.4 мм, при разрешении D <strong>в одном пикселе (25.4/D) миллиметров</strong>.</p>
<p><strong>SizeMM = (SizePixels * 25.4) / D;</strong><br />
<strong>SizePixels = (SizeMM * D) / 25.4;</strong></p>
<p>С размерами разобрались, теперь займемся кеглем шрифта.<br />
Так как 1 пункт есть 1/72 дюйма, то при разрешении D <strong>1 пункт будет равен D/72 пикселям</strong>.<br />
Получим прямую и обратную зависимости:</p>
<p><strong>FontPixels = FontPT * (D / 72);</strong><br />
<strong>FontPT = FontPixels * (72 / D);</strong></p>
<p>Спасибо за внимание.</p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/useful/punkty-pikseli-millimetry-i-ix-preobrazovaniya.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Алгоритм P: Перемешивание массива</title>
		<link>http://mihalytch.org.ua/programming/php/algoritm-p-peremeshivanie-massiva.html</link>
		<comments>http://mihalytch.org.ua/programming/php/algoritm-p-peremeshivanie-massiva.html#comments</comments>
		<pubDate>Sun, 17 Apr 2011 19:45:02 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[алгоритм]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=348</guid>
		<description><![CDATA[Приветствую друзья. Сегодня речь пойдет о перемешивании одномерно массива. Будем пользоваться Алгоритмом P, описанным Дональдом Кнутом (Искусство программирования. Том 2, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Приветствую друзья.</p>
<p>Сегодня речь пойдет о <strong>перемешивании одномерно массива</strong>. Будем пользоваться Алгоритмом P, описанным Дональдом Кнутом (Искусство программирования. Том 2, с.163).</p>
<p>Для начала процитируем описание алгоритма.</p>
<p><strong>Алгоритм P (Перемешивание)</strong>. Пусть X1, X2, &#8230;, Xt &#8211; множество t чисел для перемешивания.</p>
<p><strong>P1</strong>. &#8220;Инициализация&#8221;. Присвоить j &lt;- t.</p>
<p><strong>P2</strong>. &#8220;Генерация U&#8221;. Генерировать случайное число U, равномерно распределенное между 0 и 1.</p>
<p><strong>P3</strong>. &#8220;Замена&#8221;. Присвоить j &lt;- round(j*U) + 1, где round() &#8211; операция округления до целого числа. Заменим Xk &lt;-&gt; Xj.</p>
<p><strong>P4</strong>. &#8220;Уменьшение j&#8221;. Уменьшить j на 1. Если j&gt;1, возвратиться к шагу <strong>P2</strong>.</p>
<p><span id="more-348"></span><br />
А теперь перейдем к реализации данного алгоритма на PHP.</p>
<pre class="brush: php; title: ; notranslate">
# Приведем Алгоритм Р от Кнута в действие
function ShuffleP(&amp;$X) {
$N = count($X); // Кол-во элементов массива

# P1: Инициализация
$j = $N-1; // Индекс последнего элемента массива

do {
# P2: Генерация U, равномерно распределенного между 0 и j
$U = rand(0, $j);

# P3: Округлить U до целого и присвоить k. Переставить местами Xk &lt;-&gt;Xj
$k = round($U);

$tmp = $X[$k];
$X[$k] = $X[$j];
$X[$j] = $tmp;
unset($tmp);

# P4: Уменьшить j на 1. Если j&gt;0: вернуться к P2
$j--;
} while($j&gt;0);
}
</pre>
<p>Исходный код со скриптом для демонстрации работы функции можно скачать по ссылке <a href="http://mihalytch.org.ua/download/alg.shuffle.zip">alg.shuffle.zip</a> .</p>
<p>Спасибо за внимание!</p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/programming/php/algoritm-p-peremeshivanie-massiva.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Перевод строки в FOP</title>
		<link>http://mihalytch.org.ua/useful/perevod-stroki-v-fop.html</link>
		<comments>http://mihalytch.org.ua/useful/perevod-stroki-v-fop.html#respond</comments>
		<pubDate>Wed, 22 Dec 2010 09:37:20 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[Полезные советы]]></category>
		<category><![CDATA[FOP]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=325</guid>
		<description><![CDATA[Для тех, кто случайно решил прочитать этот пост. FOP &#8211; это замечательный инструмент для преобразования XML в PDF и другие [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Для тех, кто случайно решил прочитать этот пост.<br />
<a href="http://xmlgraphics.apache.org/fop/" target="_blank">FOP</a> &#8211; это замечательный инструмент для преобразования XML в PDF и другие форматы. Распространяется под лицензией Apache 2.0 Licence.</p>
<p>Проблема заключалась в следующем. При генерации документа процессор FOP упорно игнорировал символ(ы) перевода строки.</p>
<p>Оказалось, нужно всего лишь добавить свойство <strong>linefeed-treatment=&#8221;preserve&#8221;</strong>. Например:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;fo:block linefeed-treatment=&quot;preserve&quot; ...&gt;Some text
with line breaks
&lt;/fo:block&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/useful/perevod-stroki-v-fop.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Меняем значение переменных местами</title>
		<link>http://mihalytch.org.ua/programming/c/menyaem-znachenie-peremennyx-mestami.html</link>
		<comments>http://mihalytch.org.ua/programming/c/menyaem-znachenie-peremennyx-mestami.html#comments</comments>
		<pubDate>Fri, 03 Dec 2010 23:16:17 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[магия]]></category>
		<category><![CDATA[С]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=320</guid>
		<description><![CDATA[Забавный факт. Сегодня узнал, что для того чтобы поменять значения двух переменных местами не обязательно пользоваться конструкцией: Можно просто выполнить [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Забавный факт. Сегодня узнал, что для того чтобы поменять значения двух переменных местами не обязательно пользоваться конструкцией:</p>
<pre class="brush: cpp; title: ; notranslate">
tmp = var1;
var1 = var2;
var2 = tmp;
</pre>
<p>Можно просто выполнить три операции поразрядного исключающего ИЛИ:</p>
<pre class="brush: cpp; title: ; notranslate">
var1 ^= var2;
var2 ^= var1;
var1 ^= var2;
</pre>
<p>P.S. Вспомнив азы булевой алгебры, проверил на листочке бумаги, таки работает =)</p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/programming/c/menyaem-znachenie-peremennyx-mestami.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Trip to Finland: день первый &#8220;Прибытие&#8221;</title>
		<link>http://mihalytch.org.ua/life/trip-to-finland-den-pervyj-pribytie.html</link>
		<comments>http://mihalytch.org.ua/life/trip-to-finland-den-pervyj-pribytie.html#comments</comments>
		<pubDate>Fri, 01 Oct 2010 21:30:01 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=298</guid>
		<description><![CDATA[По счастливому стечению обстоятельств нам удалось совместить отпуск с деловой встречей. Описание рабочих моментов я опущу в дальнейшем. А вот [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>По счастливому стечению обстоятельств нам удалось совместить отпуск с деловой встречей. Описание рабочих моментов я опущу в дальнейшем. А вот с знакомство с местными достопримечательностями постараюсь отобразить в виде фото отчета с небольшим текстовым сопровождением.<br />
<span id="more-298"></span><br />
Дорога до Хельсинки была немного волнительной и утомляющей по той простой причине, что это наше первое путешествие за пределы родины (если конечно не считать Россию зарубежьем).</p>
<p>В общем сегодняшний день прошел примерно так. 5 часов в маршрутке до Борисполя. 2 часа в аэропорту. 110 минут первого полета на самолете (черт оказался совсем не таким страшным как его рисуют=) ). Поселение и небольшая прогулка по парку.</p>
<p>Ах да, чуть не забыл выложить обещанное фото:)</p>
<p class="image-center">
<img class="aligncenter" title="Инструкция..." src="http://lh3.ggpht.com/_xNZHWaAtJfI/TKYslhfmS4I/AAAAAAAAASg/kq9IjtBSZQc/s640/IMG_3457.JPG" alt="" width="384" height="288" /><br />
<em class="image-description">Архивация ненужной инструкции</em>
</p>
<p class="image-center">
<img class="aligncenter" title="Я и Алеся" src="http://lh4.ggpht.com/_xNZHWaAtJfI/TKYsmOVxhNI/AAAAAAAAASk/oM5_H7z2srU/s640/IMG_3459.JPG" alt="" width="384" height="288" /><br />
<em class="image-description">Алеся и я</em>
</p>
<p class="image-center">
<img class="aligncenter" title="Сестры близнецы =)" src="http://lh3.ggpht.com/_xNZHWaAtJfI/TKYsmevHUdI/AAAAAAAAASo/DX4LBqeuLEA/s640/IMG_3461.JPG" alt="" width="384" height="288" /><br />
<em class="image-description">Сестры близнецы =)</em>
</p>
<p class="image-center">
<img class="aligncenter" title="11000 метров" src="http://lh4.ggpht.com/_xNZHWaAtJfI/TKYuFrg3VZI/AAAAAAAAAS8/ZiWxxcjoamY/s640/IMG_3473.JPG" alt="" width="389" height="293" /><br />
<em class="image-description">11000 метров над землей</em>
</p>
<p class="image-center">
<img class="aligncenter" title="Причал" src="http://lh4.ggpht.com/_xNZHWaAtJfI/TKYsmtnjyZI/AAAAAAAAASs/ljBbKtChea4/s640/IMG_3484.JPG" alt="" width="384" height="288" /><br />
<em class="image-description">Причал с птичьего полета</em>
</p>
<p class="image-center">
<img class="aligncenter" title="Острова" src="http://lh3.ggpht.com/_xNZHWaAtJfI/TKYuF-j5FuI/AAAAAAAAATA/5IYzdS3nTOk/s640/IMG_3490.JPG" alt="" width="384" height="288" /><br />
<em class="image-description">Острова</em>
</p>
<p class="image-center">
<img class="aligncenter" title="Наконец то мы прилетели" src="http://lh5.ggpht.com/_xNZHWaAtJfI/TKYsm6gHnFI/AAAAAAAAASw/8iKoWkzwsdg/s640/IMG_3495.JPG" alt="" width="384" height="288" /><br />
<em class="image-description">Долгожданное прибытие в Vantaa</em>
</p>
<p class="image-center">
<img class="aligncenter" title="=)" src="http://lh4.ggpht.com/_xNZHWaAtJfI/TKYsxzGmwGI/AAAAAAAAAS4/zMuz9mFevj4/s640/IMG_3496.JPG" alt="" width="384" height="288" /><br />
<em class="image-description"></em></p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/life/trip-to-finland-den-pervyj-pribytie.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Бегущий человек</title>
		<link>http://mihalytch.org.ua/life/begushhij-chelovek.html</link>
		<comments>http://mihalytch.org.ua/life/begushhij-chelovek.html#respond</comments>
		<pubDate>Wed, 05 May 2010 13:26:32 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=278</guid>
		<description><![CDATA[Давно хотел заняться бегом и фотографией. Но у русского человека, как водится, вечно не хватает времени на то, что ему [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Давно хотел заняться бегом и фотографией. Но у русского человека, как водится, вечно не хватает времени на то, что ему хочется сделать, но всегда есть время для рутины и самых ненужных дел %).<br />
<span id="more-278"></span><br />
Настал тот самый день, и я решил, что открою спортивный сезон. Начитавшись назиму советов о том, как начать ежедневно бегать домоседам-программистам, и howto для начинающих фотографов, выделил для себя следующие пункты:</p>
<ul>
<li>Бегать буду после обеда, около 14:00 &#8211; 15:00</li>
<li>Первое время бежать не спеша, дабы не насиловать свои ноги и сердечно-сосудистую.</li>
<li>Фотографировать то, что подсказывает шестое чувство, и именно в тот момент, когда придет &#8220;озарение&#8221;, так как мгновения нашей жизни уносит бурным потоком реки времени и они никогда не повторяются.</li>
</ul>
<p>Собственно, в качестве орудия фотографа я решил пока пользоваться 3х мегапиксельной камерой в своем смарте. Imho этого для начала хватит с головой. Зеркалку куплю тогда, когда почувствую, что она действительно необходима.</p>
<p>P.S. Этим постом открываю новый раздел своего блога. Тут будет описана моя жизнь за пределами профессиональной деятельности.</p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/life/begushhij-chelovek.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>M/Monit: Мониторинг нескольких серверов с использованием графического интерфейса.</title>
		<link>http://mihalytch.org.ua/administration/monitoring-serverov-2-html.html</link>
		<comments>http://mihalytch.org.ua/administration/monitoring-serverov-2-html.html#respond</comments>
		<pubDate>Wed, 10 Feb 2010 20:46:26 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=217</guid>
		<description><![CDATA[Приветствую тебя уважаемый читатель. Как и обещал в предыдущей статье об использовании MonIT, я расскажу как с помощью M/Monit можно [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Приветствую тебя уважаемый читатель. Как и обещал в предыдущей <a href="http://mihalytch.org.ua/administration/monitoring-serverov-1.html">статье об использовании MonIT</a>, я расскажу как с помощью M/Monit можно следить за состоянием нескольких серверов с одного графического интерфейса.</p>
<p>На самом деле M/Monit в отличии от Monit утилита платная, но на официальном сайте доступна <a href="/go/http://mmonit.com/download/">бесплатная версия с ограниченным функционалом</a>.<br />
Давайте теперь подробно рассмотрим ее установку и настройку. Для этого создадим временную папку, скачаем архив с нужной нам версией, распакуем и скопируем в рабочую директорию (актуальную версию можно найти здесь: <a href="/go/http://mmonit.com/dist/" target="_blank">http://mmonit.com/dist/</a>):<br />
<span id="more-217"></span></p>
<pre class="brush: bash; title: ; notranslate">
# mkdir ~/distr/mmonit
# cd ~/distr/mmonit
# wget http://mmonit.com/dist/mmonit-2.1.1-linux-x86.tar.gz
# tar -xvf mmonit-2.1.1-linux-x86.tar.gz
# cd mmonit-2.0.3
# ls
bin  CHANGES  conf  db  doc  docroot  lib  logs  README  upgrade
# mkdir /usr/local/mmonit
# cp -R * /usr/local/mmonit
# chmod -R 0700 /usr/local/mmonit
</pre>
<p>Теперь нам необходимо создать базу данных и импортировать туда необходимые приложению данные. В папке /usr/local/mmonit/db/ лежат дампы для четырех типов баз данных. Мы рассмотрим случай с MySQL.<br />
Итак, создадим таблицу и выполним команды из дампа:</p>
<pre class="brush: bash; title: ; notranslate">
# mysql -u yore_username -p
mysql&gt; CREATE DATABASE `mmonit`;
mysql&gt; use mmonit
mysql&gt; source /usr/local/mmonit/db/mmonit-schema.mysql
mysql&gt; quit
</pre>
<p>После того как мы подготовили к использованию базу данных перейдем к редактированию конфигурационного файла M/Monit /usr/local/mmonit/conf/server.xml .</p>
<pre class="brush: xml; title: ; notranslate">
&lt;Service&gt;
    &lt;!-- IP адрес интерфейса, на котором мы сможем получить доступ к админке --&gt;
    &lt;Connector address=&quot;IP.FROM.ALLOW.ACCESS&quot; port=&quot;8080&quot; processors=&quot;10&quot; /&gt;
    &lt;Engine name=&quot;mmonit&quot; defaultHost=&quot;localhost&quot; fileCache=&quot;10MB&quot;&gt;
        &lt;!-- настраиваем подключение к базе --&gt;
        &lt;Realm url=&quot;mysql://DB_USER:DB_PASSWORD@DB_HOST/DB_NAME&quot;
             minConnections=&quot;5&quot;
             maxConnections=&quot;25&quot;
             reapConnections=&quot;300&quot; /&gt;
</pre>
<p>Сохраняем конфиг и запускаем /usr/local/mmonit/bin/mmonit, заходим по адресу http://IP.FROM.ALLOW.ACCESS:8080 . По умолчанию логин/пароль &#8211; admin/swordfish (настоятельно рекомендуется изменить пароль сразу после первого входа в систему;) ).</p>
<p>Теперь нам обязательно нужно настроить сервис Monit хотя бы на одном сервере, чтобы было с чего собирать статистику. Для этого открываем файл конфигурации Monit: /usr/local/etc/monitrc.d/main.conf вашим любимым редактором и дописываем в начало следующие две строчки:</p>
<p><em>set httpd port 2812 and use address XXX.XXX.XXX.XXX # где XXX.XXX.XXX.XXX &#8211; адрес интерфейса, через который MMonit будет осуществлять доступ к monit.<br />
allow monit:your_strong_password</em></p>
<p>Сохраняем конфиг, перезапускаем monit. Входим под админом в web-интерфейс M/Monit, открываем страницу Admin-&gt;Hosts-&gt;&#8221;Add a new host&#8221;. Заполняем информацию о сервере, состояние которого будем мониторить:<br />
Host Name &#8211; название сервера (выбираем имя для нашего удобства),<br />
IP-address, Monit Port &#8211; XXX.XXX.XXX.XXX и 2812 указанные в /usr/local/etc/monitrc.d/main.con,<br />
Monit user name, Monit password из того же конфига.<br />
Сохраняем изменения.</p>
<p>Чтобы увидеть информацию о состоянии сервера, нужно всего-лишь кликнуть по его имени в списке серверов на странице Admin-&gt;Hosts.</p>
<p>В следующей статье я более детально опишу, как сконфигурировать отчеты о состоянии серверов и как создать файлы для запуска/остановки/перезапуска/проверки статуса сервисов Monit и M/Monit.</p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/administration/monitoring-serverov-2-html.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>С днем рождения jQuery или релиз версии 1.4</title>
		<link>http://mihalytch.org.ua/programming/js/jquery/jquery-1-4-release.html</link>
		<comments>http://mihalytch.org.ua/programming/js/jquery/jquery-1-4-release.html#respond</comments>
		<pubDate>Thu, 14 Jan 2010 14:37:54 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=241</guid>
		<description><![CDATA[Сегодня очередная годовщина jQuery. Разработчики jQuery решили приурочить к четвертому дню рождения этой замечательной библиотеки релиз новой версии 1.4. В [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Сегодня очередная годовщина jQuery. Разработчики jQuery решили приурочить к четвертому дню рождения этой замечательной библиотеки релиз новой версии 1.4.</p>
<p>В честь этого двойного праздника был открыт сайт <a href="/go/http://jquery14.com/" target="_blank">14 Days of jQuery</a>, на котором в течении 14 дней будет анонсирована новая версия библиотеки.<br />
<span id="more-241"></span><br />
Скачать последнюю версию библиотеки вы можете здесь &#8211; <a href="/go/http://code.jquery.com/jquery-1.4.js" target="_blank">jQuery 1.4</a>. Следить за последними анонсами можно через <a href="/go/http://twitter.com/jquery" target="_blank">Твиттер</a> или подписавшись на <a href="/go/http://feeds.feedburner.com/The14DaysOfJquery" target="_blank">RSS рассылку</a>.</p>
<p>Уже доступны <a href="/go/http://futurecolors.ru/jquery/" target="_blank">онлайн</a> и <a href="/go/http://futurecolors.ru/jquery/jquery.cheatsheet.1.4.pdf" target="_blank">PDF версия для печати</a> шпаргалки для текущей версии jQuery 1.4. Также известно, что обновлен дизайн и структура <a href="/go/http://api.jquery.com/" target="_blank">jQuery API</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/programming/js/jquery/jquery-1-4-release.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как отключить замену кавычек в WordPress</title>
		<link>http://mihalytch.org.ua/wordpress/otkluchit-zamenu-kavychek-v-wp.html</link>
		<comments>http://mihalytch.org.ua/wordpress/otkluchit-zamenu-kavychek-v-wp.html#comments</comments>
		<pubDate>Mon, 11 Jan 2010 19:29:33 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=231</guid>
		<description><![CDATA[WordPress заменяет, например, двойные кавычки &#8220;текст&#8221; на «текст». С одинарными кавычками таже история. В принципе, они выглядят более привлекательно, но [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>WordPress заменяет, например, двойные кавычки &#8220;текст&#8221; на «текст». С одинарными кавычками таже история. В принципе, они выглядят более привлекательно, но лишь до того момента, как дело касается постинга кода на нашем блоге.</p>
<p>Чтобы отключить замену кавычек в файл functions.php, который находится в папке вашей текущей темы, нужно вставить следующий код:</p>
<pre class="brush: php; title: ; notranslate">
if ( function_exists('remove_filter') ) {
    # Отключим замену кавычек в тексте записей и страниц
    remove_filter('the_content', 'wptexturize');
    # Отключим замену кавычек в заголовках записей и страниц
    remove_filter('the_title', 'wptexturize');
    # Отключим замену кавычек в тексте комментариев
    remove_filter('comment_text', 'wptexturize');
}</pre>
<p>Также вы можете установить плагин, выполняющий аналогичную задачу, например, <a href="/go/http://wordpress.org/extend/plugins/sem-unfancy-quote/" target="_blank">Unfancy Quote</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/wordpress/otkluchit-zamenu-kavychek-v-wp.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Мониторинг серверов. Часть 1. Или &#8220;настраиваем MonIT&#8221;</title>
		<link>http://mihalytch.org.ua/administration/monitoring-serverov-1.html</link>
		<comments>http://mihalytch.org.ua/administration/monitoring-serverov-1.html#comments</comments>
		<pubDate>Wed, 02 Sep 2009 10:59:14 +0000</pubDate>
		<dc:creator><![CDATA[mihal]]></dc:creator>
				<category><![CDATA[Администрирование]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/?p=197</guid>
		<description><![CDATA[Рано или поздно в жизни админа возникает потребность в мониторинге своих серверов. Сегодня разберем простой случай. У нас есть один [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Рано или поздно в жизни админа возникает потребность в мониторинге своих серверов. Сегодня разберем простой случай. У нас есть один выделенный/виртуальный сервер на базе LINUX. На нем установлены web-сервер, ftp-сервер, MySQL, PHP, почтовый сервер и тому подобные.</p>
<p>Что мы далее будем вкладывать в понятие мониторинга нашего сервера?</p>
<ul>
<li> мониторинг самой системы (состояние процессора, памяти&#8230;);</li>
<li> мониторинг состояния сервисов (запущен или нет);</li>
<li> мониторинг функционирования сервисов (отвечает ли корректно на запросы)</li>
<li> осуществлять контроль потребляемых сервисами ресурсами системы</li>
<li> уведомление по email и выполнение заданных действий по восстановлению работоспособности системы.</li>
</ul>
<p><span id="more-197"></span><br />
Было рассмотрено несколько систем мониторинга. Одни оказались перегружены функционалом либо платными. В итоге оптимальным вариантом был выбран Monit.<br />
<a href="http://mihalytch.org.ua/go/http://mmonit.com/monit/" target="_blank">Monit</a> &#8211; бесплатное приложение с открытым исходным кодом, предназначенное для комплексного мониторинга UNIX&#8217;о подобных систем. Полностью удовлетворяет нашим требованиям, а также при использовании в паре с <a href="http://mihalytch.org.ua/go/http://mmonit.com/" target="_blank">M/Monit</a> дает возможность использовать графический интерфейс для мониторинга нескольких серверов при помощи графического интерфейса. К сожалению программа платная, но на сайте есть и Free версия с некоторыми ограничениями функционала.</p>
<p>О мониторинге нескольких серверов и использовании графического интерфейса мы поговорим в следующей статье, а сейчас перейдем к установке и настройке Monit.</p>
<p>Для начала скачаем с официального сайта исходники monit, распакуем и сконфигурируем их:</p>
<pre class="brush: bash; title: ; notranslate">
# mkdir ~/distr
# cd ~/distr
# wget http://mmonit.com/monit/dist/monit-5.0.3.tar.gz
# tar -xvf monit-5.0.3.tar.gz
# cd monit-5.0.3
# ./configure
</pre>
<p>Весь недостающий софт, который может быть затребован на данном этапе, можно установить с репозитория с помощью apt-get, yum или портов в FreeBSD. Затем выполним установку monit:</p>
<pre class="brush: bash; title: ; notranslate">
# make
# make install
</pre>
<p>Теперь необходимо настроить и запустить сервис. Создадим основной файл конфигурации /usr/local/etc/monitrc и поместим туда строку</p>
<pre class="brush: bash; title: ; notranslate">
include /usr/local/etc/monitrc.d/*
</pre>
<p>подключающую дополнительные файлы настроек, которые будут находиться, соответственно, в папке /usr/local/etc/monitrc.d/</p>
<p>Теперь создадим файл конфигурации /usr/local/etc/monitrc.d/main.conf, в котором опишем слежение за основными параметрами системы:</p>
<p>set daemon 120 # Частота проверки сервисов.<br />
set logfile syslog facility log_daemon # Syslogd facility.<br />
set mailserver localhost, # Хост почтового сервера, через который пойдут уведомления.<br />
set eventqueue # Разрешить очередь уведомлений.<br />
basedir /var/log/monit.log # путь к каталогу, где будут храниться уведомления.<br />
slots 100 # Максимальное количество уведомлений в очереди.</p>
<p>set mail-format { from: admin@MYSERVER.EXAMPLE.COM } # От какого имени рассылать уведомления.<br />
set alert admin@same-mail.com # Email для всех уведомлений<br />
set alert admin@same-mail.com { timeout } # Email для критических уведомлений (падение сервера\демонов).</p>
<p>check system MYSERVER.EXAMPLE.COM # Хост сервера.<br />
if loadavg (1min) &gt; 6 then alert<br />
if loadavg (5min) &gt; 3 then alert<br />
if memory usage &gt; 75% then alert<br />
if cpu usage (user) &gt; 70% then alert<br />
if cpu usage (system) &gt; 50% then alert<br />
if cpu usage (wait) &gt; 40% then alert</p>
<p>Сохраним, затем нужно установить на файлы конфигурации права 0700 (по крайней мере у меня monit потребовал выставить именно такие права доступа). Теперь, чтобы запустить сервис, достаточно выполнить команду:</p>
<pre class="brush: bash; title: ; notranslate">monit</pre>
<p>Более подробно прочитать о синтаксисе и ознакомиться с примерами настроек для контроля и мониторинга состояния необходимых нам процессов можно на <a href="http://mihalytch.org.ua/go/http://mmonit.com/monit/documentation/monit.html#the_run_control_file" target="_blank">официальном сайте</a>. В следующей статье из этого цикла будет рассмотрен мониторинг нескольких серверов с помощью графического интерфейса.</p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/administration/monitoring-serverov-1.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: https://www.w3-edge.com/products/

Object Caching 993/1362 objects using disk
Page Caching using disk: enhanced

 Served from: mihalytch.org.ua @ 2020-09-13 07:19:25 by W3 Total Cache -->