<?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>Рабочие будни &#187; Опыт</title>
	<atom:link href="http://gritsinger.com/category/opyt/feed" rel="self" type="application/rss+xml" />
	<link>http://gritsinger.com</link>
	<description>шпаргалки ИТ профа</description>
	<lastBuildDate>Fri, 20 Jan 2012 08:04:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Разбор ломаной на мелкие отрезки</title>
		<link>http://gritsinger.com/razbor_lomanoy_na_melkie_otrezki.html</link>
		<comments>http://gritsinger.com/razbor_lomanoy_na_melkie_otrezki.html#comments</comments>
		<pubDate>Tue, 11 Aug 2009 19:03:11 +0000</pubDate>
		<dc:creator>Валентин</dc:creator>
				<category><![CDATA[Опыт]]></category>
		<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://gritsinger.com/?p=392</guid>
		<description><![CDATA[Предположим что существует некий массив из координат отрезков составляющих какую то ломанную линию. Требуется разбить эту линию на более мелкие отрезки. Зачем? Да мало ли, мне вот понадобилось. private  ArrayList breakLines (ArrayList aV) //на входе массив координат { int snap=200; //требуемое количество отрезков на выходе ArrayList tPixel = new ArrayList (); //новый массив координат для [...]]]></description>
			<content:encoded><![CDATA[<p>Предположим что существует некий массив из координат отрезков составляющих какую то ломанную линию.<br />
Требуется разбить эту линию на более мелкие отрезки. Зачем? Да мало ли, мне вот понадобилось.</p>
<p>private  ArrayList breakLines (ArrayList aV) //на входе массив координат<br />
{</p>
<p>int snap=200; //требуемое количество отрезков на выходе<br />
ArrayList tPixel = new ArrayList (); //новый массив координат для возврата<br />
ArrayList aPixel = new ArrayList (); //временный массив координат</p>
<p>Point obj1 = new Point ();<br />
int b=0;<br />
foreach (Point obj in aV)<br />
{<br />
if (b != 0)<br />
{<br />
float x1 = obj1.X;<br />
float y1 = obj1.Y;<br />
float x2 = obj.X;<br />
float y2 = obj.Y;<br />
//Алгоритм DDA-линии<br />
int L = (int) Math.Max (Math.Abs (x2&nbsp;&mdash; x1), Math.Abs (y2&nbsp;&mdash; y1));<br />
float dX = (x2&nbsp;&mdash; x1) / L;<br />
float dY = (y2&nbsp;&mdash; y1) / L;<br />
aPixel.Add (new Point ((int) x1, (int) y1)); //Начальную точку в массив</p>
<p>for (int i = 0; i &lt; L; i++)<br />
{<br />
x1 = (x1 + dX);<br />
y1 = (y1 + dY);<br />
aPixel.Add (new Point ((int) x1,(int) y1)); //Следующую точку в массив<br />
}<br />
//aPixel.Add (new Point ((int) x2, (int) y2)); // Можно раскомментировать если требуется дублирование каждой последней точки в отрезке<br />
}<br />
obj1 = obj;<br />
b++;<br />
}<br />
for (int i=0;i&lt;snap;i++)   tPixel.Add (aPixel[(int)(aPixel.Count*i/snap)]);<br />
return tPixel;<br />
}</p>
<p>Такая вот теорема для критики. Если есть кому что добавить, то вэлком.</p>
]]></content:encoded>
			<wfw:commentRss>http://gritsinger.com/razbor_lomanoy_na_melkie_otrezki.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Вычисляем длину линии по координатам</title>
		<link>http://gritsinger.com/vychislyaem-dlinu-linii-po-koordinatam.html</link>
		<comments>http://gritsinger.com/vychislyaem-dlinu-linii-po-koordinatam.html#comments</comments>
		<pubDate>Mon, 03 Aug 2009 14:48:52 +0000</pubDate>
		<dc:creator>Валентин</dc:creator>
				<category><![CDATA[Опыт]]></category>
		<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://gritsinger.com/?p=390</guid>
		<description><![CDATA[Этот и последующие статьи будут из серии простейших операций с 2d графикой. Получается так, что с частотой в год или два,  приходится выполнять одинаковые задачи с подобными незатейливыми алгоритмами. И постоянно приходится вспоминать одни и те же действия. Статьи будут краткие  и простые. Текущий заказчик захотел исполнение на C# , следовательно код будет именно на [...]]]></description>
			<content:encoded><![CDATA[<p>Этот и последующие статьи будут из серии простейших операций с 2d графикой. Получается так, что с частотой в год или два,  приходится выполнять одинаковые задачи с подобными незатейливыми алгоритмами. И постоянно приходится вспоминать одни и те же действия. Статьи будут краткие  и простые. Текущий заказчик захотел исполнение на C# , следовательно код будет именно на нём.</p>
<p>private Double length (Double _x1, Double _y1, Double _x2, Double _y2) {<br />
return Math.Sqrt (Math.Pow (_x2&nbsp;&mdash; _x1, 2) + Math.Pow (_y2&nbsp;&mdash; _y1, 2));<br />
}</p>
<p>И да, скажете почему нет подсветки кода? Мне она не нужна.</p>
]]></content:encoded>
			<wfw:commentRss>http://gritsinger.com/vychislyaem-dlinu-linii-po-koordinatam.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>WordPress plugin WP2Twitter</title>
		<link>http://gritsinger.com/wp2twitter.html</link>
		<comments>http://gritsinger.com/wp2twitter.html#comments</comments>
		<pubDate>Thu, 15 Jan 2009 15:38:13 +0000</pubDate>
		<dc:creator>Валентин</dc:creator>
				<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[Опыт]]></category>

		<guid isPermaLink="false">http://gritsinger.com/?p=383</guid>
		<description><![CDATA[Представляю вашему вниманию плагин трансляции анонсов  записей из WordPress в Twitter. За основу был взят плагин Twitter updater от Victoria Chan. Из-за того, что оригинальный плагин не работал, как требуется, пришлось его допилить. Чем и делюсь со всеми. Установка: 1.    Скачайте плагин 2.    Распакуйте папку с плагином в папку плагинов WordPress (/wp-content/plugins/) 3.    Активируйте плагин [...]]]></description>
			<content:encoded><![CDATA[<p>Представляю вашему вниманию плагин трансляции анонсов  записей из WordPress в Twitter. За основу был взят плагин Twitter updater от Victoria Chan. Из-за того, что оригинальный плагин не работал, как требуется, пришлось его допилить. Чем и делюсь со всеми.</p>
<p>Установка:<br />
1.    Скачайте плагин <a class="downloadlink" href="http://gritsinger.com/download/wp2twitter.zip" title="Version1.0 downloaded 90 times" >wp2twitter (90)</a><br />
2.    Распакуйте папку с плагином в папку плагинов WordPress (/wp-content/plugins/)<br />
3.    Активируйте плагин в админке плагинов.<br />
4.    Двигайтесь  в панель инструментов и выберите WP2Twitter<br />
5.    Настройте параметры под себя и укажите свои данные от твиттера</p>
]]></content:encoded>
			<wfw:commentRss>http://gritsinger.com/wp2twitter.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Сегодня Яндекс вычудил</title>
		<link>http://gritsinger.com/segodnya-yandeks-vychudil.html</link>
		<comments>http://gritsinger.com/segodnya-yandeks-vychudil.html#comments</comments>
		<pubDate>Wed, 14 Jan 2009 15:43:47 +0000</pubDate>
		<dc:creator>Валентин</dc:creator>
				<category><![CDATA[интернет]]></category>
		<category><![CDATA[Ляпус]]></category>
		<category><![CDATA[Мысли вслух]]></category>
		<category><![CDATA[Новости]]></category>
		<category><![CDATA[Опыт]]></category>

		<guid isPermaLink="false">http://gritsinger.com/?p=374</guid>
		<description><![CDATA[Подарок был преподнесен пользователям, которые в свою очередь начали давить на мозг админов. Со слов пользователей при первом же поисковом запросе, сайт банился баннерорезкой. То же самое произошло и со мной сегодня. Были обращения пользователей, что яндекс не открывается. Что характерно жалоб то не было до этого. Отложив данную проблему на потом, потому как есть [...]]]></description>
			<content:encoded><![CDATA[<p>Подарок был преподнесен пользователям, которые в свою очередь начали давить на мозг админов. Со слов пользователей при первом же поисковом запросе, сайт банился баннерорезкой.</p>
<p>То же самое произошло и со мной сегодня. Были обращения пользователей, что яндекс не открывается. Что характерно жалоб то не было до этого. Отложив данную проблему на потом, потому как есть более глобальные проблемы, нежели не открытие одной из многих поисковых систем. И вот уже под вечер, разобравшись с основной работой, решил взглянуть, что же там такое происходит. Пошел по пути пользователя и обнаружил что, проблем то нет. Но дыма без огня не бывает, полез изучать логи и обнаружил интересную штуку. Буквально сегодня в строке запроса  яндекса добавилась  новая строка stparhome=banner. И уже под вечер эта строка из запроса заменилась на stparhome=byes.</p>
<p>Фраза banner естественно попала под действие баннерорезки. Каким местом думал яндекс при добавлении этой фразы? Небось опомнились когда количество поисковых запросов упало на неопределенный процент?</p>
]]></content:encoded>
			<wfw:commentRss>http://gritsinger.com/segodnya-yandeks-vychudil.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Little Spam Filter</title>
		<link>http://gritsinger.com/little-spam-filter.html</link>
		<comments>http://gritsinger.com/little-spam-filter.html#comments</comments>
		<pubDate>Mon, 15 Dec 2008 16:45:22 +0000</pubDate>
		<dc:creator>Валентин</dc:creator>
				<category><![CDATA[plugins]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[Опыт]]></category>

		<guid isPermaLink="false">http://gritsinger.com/?p=361</guid>
		<description><![CDATA[Написал для WordPress маленький спам фильтр. Работает только при наличии на сайте кода Google Analitics. Google Analitics создаёт кукесы у пользователя, а плагин проверят их наличие. Если кукесы от Google Analitics обнаружены то комментатор считается человеком, если нет то спамом. Спам, сразу метится как спам. Распознаёт 100%, если у комментатора не отключен javascript, поддержка кукесов [...]]]></description>
			<content:encoded><![CDATA[<p>Написал для WordPress маленький спам фильтр. Работает только при наличии на сайте кода Google Analitics. Google Analitics создаёт кукесы у пользователя, а плагин проверят их наличие. Если кукесы от Google Analitics обнаружены то комментатор считается человеком, если нет то спамом. Спам, сразу метится как спам. Распознаёт 100%, если у комментатора не отключен javascript, поддержка кукесов и сайт Google Analitics не блокируется.<br />
И так, тестируем...<br />
<a class="downloadlink" href="http://gritsinger.com/download/little-spam-filter.zip" title="Version1.0 downloaded 103 times" >Little Spam Filter (103)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gritsinger.com/little-spam-filter.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

