<?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>DimoninG.ru &#187; Общее</title>
	<atom:link href="http://dimoning.ru/category/dev/general-dev/feed" rel="self" type="application/rss+xml" />
	<link>http://dimoning.ru</link>
	<description>программирование сайтов и скриптов</description>
	<lastBuildDate>Wed, 01 Sep 2010 15:57:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zen Coding &#8211; что это такое и с чем его едят?</title>
		<link>http://dimoning.ru/zen-coding-chto-eto-takoe-i-s-chem-ego-edyat.html</link>
		<comments>http://dimoning.ru/zen-coding-chto-eto-takoe-i-s-chem-ego-edyat.html#comments</comments>
		<pubDate>Thu, 11 Mar 2010 10:48:55 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=1465</guid>
		<description><![CDATA[Узнал с хабра о Zen Coding. Заинтересовался, что это такое. Какие-то непонятные символы, похожие на CSS и все радуются и благодарят автора(-ов), придумавшего(-их) Zen Coding&#8230; Погуглил. А теперь сам всем рекомендую. Эту идею действительно есть смысл продвигать в массы, чем я сейчас и займусь.
Итак, начнем. Чтобы лучше всего понять, рекомендую посмотреть видео.

Например. Открываем редактор, пишем [...]]]></description>
			<content:encoded><![CDATA[<p>Узнал с хабра о <strong>Zen Coding</strong>. Заинтересовался, что это такое. Какие-то непонятные символы, похожие на CSS и все радуются и благодарят автора(-ов), придумавшего(-их) <strong>Zen Coding</strong>&#8230; Погуглил. А теперь сам всем рекомендую. Эту идею действительно есть смысл продвигать в массы, чем я сейчас и займусь.</p>
<p>Итак, начнем. Чтобы лучше всего понять, рекомендую посмотреть видео.</p>
<p><object width="400" height="275" data="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /></object></p>
<p>Например. Открываем редактор, пишем там строчку:</p>
<blockquote><p>div#content&gt;h1+p</p></blockquote>
<p>Жмем &laquo;Ctrl + ,&raquo; и строка разворачивается в код:</p>
<blockquote><p><code>&lt;</code><code>div id=</code><code>"</code><code>content</code><code>"</code><code>&gt;</code><br />
<code> &lt;</code><code>h1</code><code>&gt;&lt;</code><code>/h1</code><code>&gt;</code><br />
<code> &lt;</code><code>p</code><code>&gt;&lt;</code><code>/p</code><code>&gt;</code><br />
<code>&lt;</code><code>/div</code><code>&gt;</code></p></blockquote>
<p>Другими словами &#8211; мы коротко записываем выражение, жмем &laquo;секретную комбинацию&raquo; и получаем готовую болванку кода! Самый наглядный (и немного шокирующий пример) будет, если написать:</p>
<blockquote><p>html:xt&gt;div#header&gt;div#logo+ul#nav&gt;li.item-$*5&gt;a</p></blockquote>
<p>Жмём и получаем&#8230;</p>
<blockquote><p>&lt;!DOCTYPE html PUBLIC &laquo;-//W3C//DTD XHTML 1.0 Transitional//EN&raquo; &laquo;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&raquo;&gt;<br />
&lt;html xmlns=&raquo;http://www.w3.org/1999/xhtml&raquo; xml:lang=&raquo;en&raquo;&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;&lt;/title&gt;<br />
&lt;meta http-equiv=&raquo;Content-Type&raquo; content=&raquo;text/html;charset=UTF-8&#8243; /&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id=&raquo;header&raquo;&gt;<br />
&lt;div id=&raquo;logo&raquo;&gt;&lt;/div&gt;<br />
&lt;ul id=&raquo;nav&raquo;&gt;<br />
&lt;li class=&raquo;item-1&#8243;&gt;&lt;a href=&raquo;"&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;li class=&raquo;item-2&#8243;&gt;&lt;a href=&raquo;"&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;li class=&raquo;item-3&#8243;&gt;&lt;a href=&raquo;"&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;li class=&raquo;item-4&#8243;&gt;&lt;a href=&raquo;"&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;li class=&raquo;item-5&#8243;&gt;&lt;a href=&raquo;"&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p></blockquote>
<p>Удивительно, правда? <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Zen Coding помогает сократить время написания кода&#8230; в разы! Поэтому рекомендуется к изучению. &laquo;Технология&raquo; новая, чтобы работала в вашем редакторе, понадобится скачать плагины.</p>
<p>Полный список плагинов есть тут: http://code.google.com/p/zen-coding/. Собственно, официальный сайт пока что не работает, поэтому и документацию Вы можете найти там же. Для каждого тега есть описание и его &laquo;короткий вариант&raquo;. Например, простое &laquo;table+&raquo; даст нам:</p>
<blockquote>
<pre class="prettyprint"><a name="table+"><span class="tag">&lt;table&gt;</span><span class="pln">
</span><span class="tag">&lt;tr&gt;</span><span class="pln">
    </span><span class="tag">&lt;td&gt;&lt;/td&gt;</span><span class="pln">
</span><span class="tag">&lt;/tr&gt;</span><span class="pln">
</span><span class="tag">&lt;/table&gt;</span></a></pre>
</blockquote>
<p>Здорово, правда?</p>
<p>Чтобы попробовать, без установки плагинов в редактор, авторы создали демо-приложение в веб <a href="http://dimoning.ru/r.php?url=http://zen-coding.ru/demo/" target="_blank">вот здесь</a>. Это же и официальный сайт, но он пока что не работает.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/zen-coding-chto-eto-takoe-i-s-chem-ego-edyat.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Хранилище скриптов частого использования</title>
		<link>http://dimoning.ru/hranilische-skriptov-chastogo-ispolzovaniya.html</link>
		<comments>http://dimoning.ru/hranilische-skriptov-chastogo-ispolzovaniya.html#comments</comments>
		<pubDate>Sun, 30 Aug 2009 21:35:48 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=1372</guid>
		<description><![CDATA[Пока курил на лестнице (заметка: не забыть написать как я круто бросил курить и какой я молодец), пришла в голову такая вот идея. Опишу коротко. У каждого сеошника, программиста или манимейкера есть скрипты, которые он часто использует. Ну например &#8211; сборка WP собственной настройки (для манимейкера), собственный движок (для программиста) или скрипт взлома платных порносайтов [...]]]></description>
			<content:encoded><![CDATA[<p>Пока курил на лестнице (заметка: <em>не забыть написать как я круто бросил курить</em> и какой я молодец), пришла в голову такая вот идея. Опишу коротко. У каждого сеошника, программиста или манимейкера есть скрипты, которые он часто использует. Ну например &#8211; сборка WP собственной настройки (для манимейкера), собственный движок (для программиста) или скрипт взлома платных порносайтов (для сеошника, конечно).</p>
<p>Обычно мы храним их на локальном компьютере. Но тут заключается следующая проблема. Например, я открываю движок, чтобы <em>скопировать</em> его в другой каталог для разработки нового сайта, но&#8230; забываю или мне становится лень и я начинаю править его <em>прямо там</em>, где открыл. Как результат &#8211; у меня вроде бы есть движок, но после правки для разных сайтов он, мягко говоря, отличается от оригинала.</p>
<p>Программисты меня поймут &#8211; если нужно было что-то поправить <strong>быстро</strong>, то код получается немного не красивым, верстка добавляется прямо в бизнес-логику и так далее. Несколько таких сайтов и всё, движка у меня нет (то есть он есть, но набит какой-то ерундой, которую нет времени удалить, т.к. все сайты как правило нужны &laquo;еще вчера&raquo;, а форматирование кода или, не дай Б-г, оптимизация &#8211; это лишнее время, заказчик не увидит разницы в генерации страниц за 0.001 сек и за 0.05 сек; а мне неприятно, да и с грязным кодом работать сложнее).</p>
<p><span id="more-1372"></span>Пришла в голову следующая (гениальная! какая еще?!<em> заметка: это самоирония, да</em>) идея. А что, если создать каталог прямо в блоге или на каком-нибудь другом своем сайте и закачивать туда <strong>только</strong> релизы скриптов (тот же движок, грабберы, парсеры, всякая муть программистская).</p>
<p>Каталог ставим под пароль и вуа-ля! Понадобился скрипт? Залез куда-нибудь вроде yoursite.ru/scripts/, ввел пароль, скачал, распаковал и начал работать.</p>
<p>Таким образом мы сами себя ограждаем от ненужных правок и всякой подобной мешающей работе ерунды. Сделал крутой двиг, залил, пусть релиз лежит. Скачал &#8211; и он новенький, аж блестит.</p>
<p>То же самое для манимейкера. Сделал какой-то новый сат, а в нем теперь куча левых плагинов. Так и разнес их по новым сателлитам &#8211; только место занимают.</p>
<p>Зачем такие сложности, спросит кто-нибудь? Отвечаю. Во-первых, это понтово и интереснее, чем хранить все на диске. Во-вторых, не все способны хранить релизы до пенсии, иногда оно случайно удаляется, форматируется, или что-нибудь в этом духе. Дальше &#8211; можно скачать релиз даже тогда, когда Вы работаете не на домашнем компьютере. А если заглянуть совсем в будущее, то это первый шаг к профи, к контролю версий, к коллективномой разработке чего-нибудь.</p>
<p><em>Постовой: <a href="http://www.job.ru/career/public/education">обучение</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/hranilische-skriptov-chastogo-ispolzovaniya.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Движок блога для манимейкеров.</title>
		<link>http://dimoning.ru/dvizhok-bloga-dlya-manimeykerov.html</link>
		<comments>http://dimoning.ru/dvizhok-bloga-dlya-manimeykerov.html#comments</comments>
		<pubDate>Fri, 31 Jul 2009 14:23:17 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Блогосфера]]></category>
		<category><![CDATA[Общее]]></category>
		<category><![CDATA[на PHP]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=1264</guid>
		<description><![CDATA[Постовой: качественные юридические услуги в городе Москва.
Я уже очень редко пишу про манимейкинг, но теплые чувства к &#171;профессии&#187; испытываю. Пришла в голову идея написать движок блога специально для менимейкеров. Чем он будет отличаться? Во-первых, вообще говоря, вордпресс &#8211; движок не из легких. Все его навороты, вроде плагинов, сильно утяжеляют его. При этом он очень популярен [...]]]></description>
			<content:encoded><![CDATA[<p>Постовой: качественные <a href="http://www.advokats.ru/">юридические услуги</a> в городе Москва.</p>
<p>Я уже очень редко пишу про манимейкинг, но теплые чувства к &laquo;профессии&raquo; испытываю. Пришла в голову идея написать движок блога специально для менимейкеров. Чем он будет отличаться? Во-первых, вообще говоря, вордпресс &#8211; движок не из легких. Все его навороты, вроде плагинов, сильно утяжеляют его. При этом он очень популярен как для сателлитов, так и для самих блогов. Конечно, есть выход &#8211; сделать свою сборку, напичкать его плагинами, заранее отредактировать &laquo;что надо&raquo;. Но он все равно остается очень тяжелым (и по &laquo;весу&raquo; файлов и по базе данных тоже). Заливать неудобно, грузится иногда долго, хостинг &laquo;жрет&raquo; не слабо.</p>
<p>Что нужно от движка для манимейкеров?</p>
<p><span id="more-1264"></span></p>
<p>1) Чтобы был легкий. Несколько файлов. Нафиг сложные визуальные редакторы &#8211; все равно кроме &laquo;сделать жирым&raquo; или &laquo;подчеркнутым&raquo; или вставки ссылок ничем не пользуемся. Сделать простую структуру БД, а еще лучше &#8211; чтобы был на файлах. Одна запись &#8211; один файл в каталоге. Это существенно облегчит перенос с домена на домен (при продаже, например), больше того &#8211; исчезнут возможные проблемы с кодировкой БД.</p>
<p>2) Нужны встроенные средства разбиения на страницы. Я считаю, что ставить для этого плагин &#8211; верх идиотизма, могли бы уже и в сам ВП добавить такую функцию.</p>
<p>3) Сменные шаблоны дизайна. Еще лучше, чтобы понимал, например, разные шаблоны &#8211; от ВП, джумлы и чего-нибудь еще. Скачал, залил, включил, вот и все.</p>
<p>4) Собственный формат шаблона должен быть простым и понятным. В, опять же, ВордПрессе формат далеко непонятный. Чтобы узнать, какую функцию нужно использовать для вывода категорий и какие у нее параметры &#8211; это еще покопаться в документации надо. Еще лучше, чтобы все эти параметры (вроде &laquo;отображать у категорий количество постов в них или нет&raquo;) можно было задать из админки.</p>
<p>5) Чтобы по умолчанию ссылки в комментариях были закрыты от индексирования и чтобы для определенных ников комментаторов можно было открыть ссылки. Или для определенных комментариев.</p>
<p>6) Чтобы предлагаемые автором шаблоны были изначально направлены на СЕО.</p>
<p>7) Чтобы можно было нормально задать кейворды, тайтлы и дескрипшены для постов. В ВП такой возможности нет, плагины искать сложно.</p>
<p> <img src='http://dimoning.ru/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> Чтобы RSS сразу шла через FeedBurner.</p>
<p>9) Встроенные донейшн-бар (т.е. &laquo;пожертвования&raquo;). Говорят, работает неплохо.</p>
<p>10) Встроенные &laquo;красивые&raquo; URL.</p>
<p>11) Для сателлитов было бы классно &#8211; возможность сгенерировать теги для поста автоматически (над алгоритмом надо подумать).</p>
<p>12) Встроенная капча &laquo;Я не робот&raquo; не помешала бы. Ну или вообще какая-нибудь.</p>
<p>13) Я бы убрал регистрацию пользователей. Нафиг она в блоге, который ведет 1 человек или это вообще сателлит? Только ботов кормить.</p>
<p>14) Закрытая наглухо по IP админка, чтобы даже намека на подбор пароля нельзя было сделать.</p>
<p>15) Система доработок, в которой могут принять участие манимейкеры (согласованно придумать, что для него нужно дописать или изменить).</p>
<p>Самое интересное, что писать такой движок не долго. Но нужно хорошо продумать, что в нем должно быть. Ну и само собой, если он будет платный, то никуда не распространится, так что должен быть бесплатный.</p>
<p>Постовой: отличный <a href="http://www.lohovnet.ru/tyres/">обзор зимних шин</a>, пора подумать о &laquo;резине&raquo; уже осенью!</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/dvizhok-bloga-dlya-manimeykerov.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Notepad++ как редактор исходного кода</title>
		<link>http://dimoning.ru/notepad-kak-redaktor-ishodnogo-koda.html</link>
		<comments>http://dimoning.ru/notepad-kak-redaktor-ishodnogo-koda.html#comments</comments>
		<pubDate>Wed, 15 Jul 2009 14:06:33 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[Отладка]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=1236</guid>
		<description><![CDATA[Постовой: купить картридж hp cb435a
Заметка для тех, кто не знает, где ему редактировать исходный код. Обучаясь, можно редактировать исходник хоть в &#171;Блокноте&#187;. Но когда время становится дорого, обнаруживается, что в таком подходе множество недостатков. И в то же время, эти все недостатки переходят в достоинства, если использовать более мощный редактор.
Хочу заметить, это не рекламный пост. [...]]]></description>
			<content:encoded><![CDATA[<p>Постовой: <a href="http://kart-power.ru">купить картридж hp cb435a</a></p>
<p><em>Заметка для тех, кто не знает, где ему редактировать исходный код.</em> Обучаясь, можно редактировать исходник хоть в &laquo;Блокноте&raquo;. Но когда время становится дорого, обнаруживается, что в таком подходе множество недостатков. И в то же время, эти все недостатки переходят в достоинства, если использовать более мощный редактор.</p>
<p>Хочу заметить, это не рекламный пост. Я собираюсь написать про редактор Notepad++, так как сам использую его уже 2 года и доволен по уши. А в новых обновлениях он становится все лучше и лучше.</p>
<p><a href="http://dimoning.ru/wp-content/uploads/2009/07/notepad.jpg"><img class="aligncenter size-full wp-image-1240" title="notepad" src="http://dimoning.ru/wp-content/uploads/2009/07/notepad.jpg" alt="notepad" width="600" height="375" /></a></p>
<p>Сразу оговорюсь. Это бесплатный редактор, что очень меня радует. До него я пользовался EditPlus, но он был платным.<br />
<span id="more-1236"></span><br />
Итак. Для начала хочу сказать, что он поддерживает синтаксическую подсветку множества языков. В нашем деле обычно &laquo;множество языков&raquo; не требуется, а то, что требуется, он поддерживает. Это PHP, JavaScript, HTML, ASP.</p>
<p>Это значит, что исходный код будет выглядеть красиво, операторы подсвечены одним цветом, переменные другим, выражения третьим.</p>
<p>Второе очень важное, что сильно сокращает время работы &#8211; закладки. Notepad++ поддерживает одновременное открывание большого количества файлов. Переключаться между ними можно двумя способами (настраивается в настройках) &#8211; &laquo;с текущей на предыдущую&raquo; и &laquo;последовательно&raquo;. Первый метод будет знаком программистам, работающим в Microsoft Visual Studio, второй более традиционный, как в браузерах. Сочетание горячих клавиш для закрытия вкладки настраивается тоже.</p>
<p>Плюс три. Редактор выделяет текущую строку. Это важно, сразу ясно, где и как расположен курсор.</p>
<p>Плюс 4. Редактор подсвечивает закрывающие скобки и блоки. То есть, если мы в выражении if (a + b) { &#8230; } наведем курсор на {, то закрывающая } тоже подсветится. Аналогично для тегов и других скобок. Это очень облегчает задачу, если нужно быстро понять &#8211; правильно ли составлено много вложенных if&#8217;ов или много вложенных таблиц.</p>
<p>Плюс 5. Редактор маленький (действительно маленький), быстро открывается, при этом имеет большие возможности.<br />
Скачать редактор можно <a href="http://notepad-plus.sourceforge.net/ru/site.htm" target="_blank">здесь</a>.</p>
<p>Постовой: отличные <a href="http://www.guildwm.ru">компьютерные курсы веб дизайна в москве</a>, помогут освоить компьютер от новичка до профи</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/notepad-kak-redaktor-ishodnogo-koda.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Сила MD5: почему MD5 и как применять на практике</title>
		<link>http://dimoning.ru/sila-md5-pochemu-md5-i-kak-primenyat-na-praktike.html</link>
		<comments>http://dimoning.ru/sila-md5-pochemu-md5-i-kak-primenyat-na-praktike.html#comments</comments>
		<pubDate>Sun, 26 Apr 2009 15:04:45 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[на PHP]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=1054</guid>
		<description><![CDATA[Меня иногда спрашиваю, а в чем крутость MD5? На кой черт нужно шифровать пароли этим хешем?
Отвечаю. Предположим, что злоумышленник нашел дырку в нашем сайте. Чтобы было серьезнее, предположим, что он нашел доступ к базе данных и может прочитать пароли всех пользователей (но перезаписывать базу данных он не может; так часто бывает).
Что происходит, если пароли лежат [...]]]></description>
			<content:encoded><![CDATA[<p>Меня иногда спрашиваю, а в чем крутость MD5? На кой черт нужно шифровать пароли этим хешем?</p>
<p>Отвечаю. Предположим, что злоумышленник нашел дырку в нашем сайте. Чтобы было серьезнее, предположим, что он нашел доступ к базе данных и может прочитать пароли всех пользователей (но перезаписывать базу данных он не может; так часто бывает).</p>
<p>Что происходит, если пароли лежат в открытом виде? Понятно: он берет любой логин и пароль и заходит под ними, делает гадости. Что происходит, если пароли зашифрованы двунаправленным шифрованием (это когда можно зашифровать и другим скриптом расшифровать)? Так как обычно тоже применяются стандартные алгоритмы, взломщик помучается, но расшифрует пароль. Что происходит, если пароль зашифрован с помощью md5? Взломщик видит хэш, но ничего сделать не может. Это однонаправленный метод шифрования.</p>
<p>Небольшая справка. Что такое однонаправленное шифрование? Это когда слово шифруется по какому-то алгоритму, а расшифровать его обратно нельзя &#8211; слишком моного возможных комбинаций или другая причина.</p>
<p>Как применять md5 на практике? Когда пользователь регистрируется и первый раз вводи пароль, в базу мы записываем его MD5-хеш. Ну скажем так:</p>
<p>$login = $_POST['login'];<br />
$hash = md5($_POST['password']);<br />
mysql_query (&laquo;INSERT INTO table VALUES (0, &#8216;$login&#8217;, &#8216;$hash&#8217;);&raquo;)</p>
<p>Теперь, когда пользователь заходит в свой аккаунт, нужно проверять хеш из базы с хешем введенного пароля, который мы создаем &laquo;на лету&raquo;. Например так:</p>
<p>$login = $_POST['login'];<br />
$pass = $_POST['password'];<br />
$user = mysql_fetch_array (mysql_query (&laquo;SELET * FROM table WHERE login=&#8217;$login&#8217;;&raquo;));<br />
if ($user['hash'] == md5($pass)){ /* вошли успешно */}</p>
<p>Конечно, я тут не проверял входящие данные и не проверял ошибки. Кстати, MySQL <a href="http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_md5" target="_blank">тоже понимает MD5</a>, поэтому код выше можно переписать так, оставив только запрос:</p>
<p>$login = $_POST['login'];<br />
$pass = $_POST['password'];<br />
$user = mysql_fetch_array (mysql_query (&laquo;SELET * FROM table WHERE login=&#8217;$login&#8217; AND hash=MD5(&#8216;$pass&#8217;);&raquo;));</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/sila-md5-pochemu-md5-i-kak-primenyat-na-praktike.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Умный сайт: что мы там последнее читали?.. Закладки на сайте.</title>
		<link>http://dimoning.ru/umnyiy-sayt-chto-myi-tam-poslednee-chitali-zakladki-na-sayte.html</link>
		<comments>http://dimoning.ru/umnyiy-sayt-chto-myi-tam-poslednee-chitali-zakladki-na-sayte.html#comments</comments>
		<pubDate>Fri, 24 Apr 2009 04:15:32 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Движки, CMS]]></category>
		<category><![CDATA[Общее]]></category>
		<category><![CDATA[Общие советы]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=1046</guid>
		<description><![CDATA[Пришла в голову оригинальная идея. Даже не одна, две пришли. Нигде такого еще не видел. Не буду тянуть кота за и так уже растянутые постоянным упоминанием &#60;подставить слово&#62;, перейду к сути.
1. Читая чужой блог, мы листаем посты, ходим по страницам, по категориям, жмем на теги. Иногда мы проделываем довольно длинный пусть по сайту. И, например, [...]]]></description>
			<content:encoded><![CDATA[<p>Пришла в голову оригинальная идея. Даже не одна, две пришли. Нигде такого еще не видел. Не буду тянуть кота за и так уже растянутые постоянным упоминанием &lt;подставить слово&gt;, перейду к сути.</p>
<p><strong>1.</strong> Читая чужой блог, мы листаем посты, ходим по страницам, по категориям, жмем на теги. Иногда мы проделываем довольно длинный пусть по сайту. И, например, страшно нам блог понравился. На следующий день мы открываем этот же блог и хотим продолжить чтение, но&#8230; не помним где мы остановились. Судорожно ищем место, не находим. Читать уже знакомые заголовки, когда ищешь что-то новенькое раздражает неимоверно. Листать страницы по 5 постов на каждой раздражает еще больше (ну почему нельзя было сделать по 20 постов хотя бы?!).</p>
<p>А почему бы автору блога не сделать следующее?</p>
<p>Например, где-то вверху есть галочка &laquo;Запомнить, что я читал последним&raquo;. При нажатии на нее пользователь может покинуть сайт, а при повторном открытии браузера (хоть через год) он попадет на ту самую страницу, которую читал последней.</p>
<p>Девид Блейн, остановись, демон! Как это?! А очень просто. Когда пользователь жмет галочку, то на сайте врубается простой механизм: при переходе на очередную страницу пользователю записывается Cookie с URL или URI этой страницы. Когда пользователь заходит на сайт с другого сайта или из &laquo;чистого&raquo; браузера, мы проверяем реферер и если пользователь пришел не с нашего сайта, то делаем редирект на последний записанный URL. Конечно значение галочки &laquo;Запомнить, что я читал последним&raquo; тоже нужно записать в Cookie.</p>
<p>Или даже так: URL сохраняется в Cookie в любом случае, но если галочка не установлена, то редиректа не происходит (для того, чтобы всегда точно знать, что пользователь прочитал последним).</p>
<p><strong>2.</strong> Еще более глобальная система закладок. Причем индивидуальная для каждого пользователя и, понятное дело, доступная без регистрации (я вообще регистрации ненавижу).</p>
<p>Скажем, в боковой колонке есть блок под названием &laquo;Вот это я читал&raquo;, а в постах под заголовком есть ссылка &laquo;Запомнить этот пост&raquo;. Когда пользователь жмет на &laquo;запомнить&raquo;, то в блоке появляется ссылка на этот пост. Ну и, скажем, запомнить можно сколько угодно постов.</p>
<p>Реализация тоже простая. Для этого тоже достаточно одной только Cookie. Правда записывать туда придется уже не URI, а ID поста из базы данных, т.к. мы должны иметь возможность отобразить заголовок поста в блоке. В Cookie же можно просто записывать ID через запятую, а при неободимости разбивать строку через &laquo;разделитель &laquo;запятая&raquo;" функцией explode и считывать все, что нам нужно из БД.</p>
<p>Да, почему я не назвал это &laquo;Закладками&raquo; и &laquo;Добавить в закладки&raquo;. Потому, что, очевидно, пользователи будут путать это с закладками браузера, а нужно сделать так, чтобы даже никаких ассоциаций в эту сторону не появлялось.</p>
<p>Эпилог. Вторая идея &#8211; это продолжение первой. И, к сожалению, на мой взгляд она немного сомнительна. Ее можно использовать, например, в инернет-магазинах в качестве функции а-ля &laquo;сравнить товары&raquo; или &laquo;отобрать понравившиеся&raquo;. Но&#8230; Сами понимаете. А вот первая, я считаю, вполне себе идеища и достойна реализации. Она помогает и пользователю и повышает крутость ресурса в глазах пользователя (&laquo;- Толян, смотри, какая там прикольная фишка!&raquo;). Главное, дать пользователю выбор, сохранять или не сохранять страницу последнего посещения.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/umnyiy-sayt-chto-myi-tam-poslednee-chitali-zakladki-na-sayte.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Универсальная партнерская ссылка с любой страницы сайта</title>
		<link>http://dimoning.ru/universalnaya-partnerskaya-ssyilka-s-lyuboy-stranitsyi-sayta.html</link>
		<comments>http://dimoning.ru/universalnaya-partnerskaya-ssyilka-s-lyuboy-stranitsyi-sayta.html#comments</comments>
		<pubDate>Thu, 16 Apr 2009 01:39:11 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[на PHP]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=1038</guid>
		<description><![CDATA[Откладывая в сторону сиськи и возвращаясь к моему предпоследнему посту, хочется написать еще один, раз уж пошла такая пьянка.
Как работают партнерские программы мы все знаем: ставим свои ссылочки, по ним приходят покупатели, оплачивают товарчеги и мы получаем денежги на свой счетег. Ссылки обычно имеют вид site.ru/?p=10, где 10 &#8211; это наш ID.
Как правило можно поставить [...]]]></description>
			<content:encoded><![CDATA[<p>Откладывая в сторону <a href="http://dimoning.ru/idem-dalshe-no-uzhe-s-adaltom.html" target="_blank">сиськи</a> и возвращаясь к моему <a href="http://dimoning.ru/title-description-keywords-universalnaya-sistema-dlya-sayta.html" target="_blank">предпоследнему посту</a>, хочется написать еще один, раз уж пошла такая пьянка.</p>
<p>Как работают партнерские программы мы все знаем: ставим свои ссылочки, по ним приходят покупатели, оплачивают товарчеги и мы получаем денежги на свой счетег. Ссылки обычно имеют вид site.ru/?p=10, где 10 &#8211; это наш ID.</p>
<p>Как правило можно поставить партнерскую ссылку на любой товар, например site.ru/tovari/rozoviy_slon.htm?p=10 или на другую страницу.</p>
<p>А как программируются такие ссылки? Обычно предполагается, что ссылка будет передаваться через GET-запрос и находить мы ее будем в глобальном $_GET-массиве.</p>
<p>Но я предлагаю решение круче, которое позволит нам не зависеть от передачи параметра через GET-запросы и ставить партнерскую ссылку на любую страницу сайта. Интересно как?</p>
<p>В самом мега-главном файле сайта index.php в самом верху (после инициализации движка, точно так же как и в случае с <a href="http://dimoning.ru/title-description-keywords-universalnaya-sistema-dlya-sayta.html" target="_blank">tkd</a>), пишем следующее:</p>
<p>preg_match (&laquo;/(.*?)?p=([0-9]+)/si&raquo;, $_SERVER["REQUEST_URI"], $m);<br />
if (!empty ($m[2])) $pid = $m[2];</p>
<p>if (!empty ($pid)){<br />
setcookie (&laquo;partner&raquo;, $pid, time()+3600*24*7, &laquo;/&raquo;);<br />
}<br />
Как видно из кода, мы опять использовали REQUEST_URI. Напомню, что он содержит URL данной страницы (там где сейчас юзер) без http и домена сайта. Например такой: /hello.htm. С помощью регулярных выражений мы вырезаем из URI выражение вида ?p=x, и определяем этот x (переменная $pid). Причем тут автоматически идет и защита от злых дядек &#8211; если после ?p= идут не цифры, то ничего мы не получим.</p>
<p>Дальше, понятное дело, на Ваше усмотрение. У меня ставится кука с ID партнера, который привел пользователя на сайт.</p>
<p>И, таким макаром, мы можем добавить ?p= вообще в любую ссылку, движку теперь просто все равно куда мы ее добавляем &#8211; вырезается все с помощью регулярок.</p>
<p>Кстати, раскрываю секрет фирмы. $pid не имеет никакого отношения к <span style="text-decoration: line-through;">пидарасам</span> мужчинам нетрадиционной сексуальной ориентации. Расшифровывается в данном случае как partner id. В линуксе, например, pid означает как правило process id и так далее.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/universalnaya-partnerskaya-ssyilka-s-lyuboy-stranitsyi-sayta.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>title / description / keywords &#8211; универсальная система для сайта</title>
		<link>http://dimoning.ru/title-description-keywords-universalnaya-sistema-dlya-sayta.html</link>
		<comments>http://dimoning.ru/title-description-keywords-universalnaya-sistema-dlya-sayta.html#comments</comments>
		<pubDate>Wed, 15 Apr 2009 02:29:25 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Движки, CMS]]></category>
		<category><![CDATA[Общее]]></category>
		<category><![CDATA[на PHP]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=1030</guid>
		<description><![CDATA[В последнем моем проекте было разработано довольно много разнообразных модулей (таких как опросы, новости, партнерские программы, разнообразная статистика, партнерские материалы, товары разных типов, да и просто страницы меню).
Возник вопрос о том, что для каждой страницы надо как-то задавать title, description и keywords (для SEO). Нужно было быстро реализовать это решение.
Обычно в таких случаях разработчики добавляют [...]]]></description>
			<content:encoded><![CDATA[<p>В последнем моем проекте было разработано довольно много разнообразных модулей (таких как опросы, новости, партнерские программы, разнообразная статистика, партнерские материалы, товары разных типов, да и просто страницы меню).</p>
<p>Возник вопрос о том, что для каждой страницы надо как-то задавать title, description и keywords (для SEO). Нужно было быстро реализовать это решение.</p>
<p>Обычно в таких случаях разработчики добавляют новые поля в базу данных для всех этих модулей, меняют скрипты (запросы в базы данных) и вообще перерабатывают пол-движка. Понятно, подводный камень в этом случае в том, что очень легко что-то пропустить, забыть подправить какой-то запрос и получить в релизе ошибки. А если, например, эти таблицы используют какие-то другие скрипты, то они могут внешне работать без ошибок, но фактически коверкать все данные (например, подсчитывать совершенно неверную статистику).</p>
<p>За 0.0141 секунды раздумий я придумал следующую систему, которая позволяет не перерабатывать весь движок.</p>
<p>Понятно, что каждая страница сайта имеет свой URL. URI &#8211; это тот же URL, только без домена. Его можно получить из переменной $_SERVER["REQUEST_URI"]. Понятно, что для каждой страницы URI свой собственный (иначе это уже одна и та же страница).</p>
<p>И возникает очень простая система. Создаем таблицу в БД с полями &laquo;title, key, descr, uri&raquo;. В том месте, где должны выводиться title, description и keywords пишем что-то вроде:</p>
<p>&lt;?php<br />
$uri = $_SERVER["REQUEST_URI"];<br />
if ($uri == &laquo;/index.php&raquo;) $uri = &laquo;/&raquo;;<br />
$q = mysql_query (&laquo;SELECT * FROM table WHERE uri=&#8217;$uri&#8217;;&raquo;);<br />
if (mysql_num_rows ($q) &gt; 0){<br />
$str = mysql_fetch_array ($q);<br />
$t = $str['title']; $k = $str['key']; $d = $str['descr'];<br />
}<br />
?&gt;<br />
&lt;meta name=&raquo;keywords&raquo; content=&raquo;&lt;?php echo $k; ?&gt;&raquo; /&gt;<br />
&lt;meta name=&raquo;description&raquo; content=&raquo;&lt;?php echo $d; ?&gt;&raquo; /&gt;<br />
&lt;title&gt;&lt;?php echo $t; ?&gt;&lt;/title&gt;</p>
<p>Понятно, что в таблицу записывается заголовок, описание и ключевики для того адреса, для которого мы хотим задать их. И работать это будет для всех страниц, которые обрабатывает движок (то есть в данном случае &#8211; для всего сайта вообще). А администратор получает возможность задавать заголовки, ключи и описание даже для тех страниц, которые в ТЗ не предусмотрены, плюс в следующих модулях не нужно будет реализовывать &laquo;внутреннюю&raquo; поддержку title, keywords и description.</p>
<p>Конечно, не забудьте о безопасности! Проверяйте это выражение перед передачей его в базу. Обычно оно проверяется очень просто &#8211; нельзя использовать никакие символы, кроме слеша, точки, букв и цифр.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/title-description-keywords-universalnaya-sistema-dlya-sayta.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Китайская защита сайта от вирусов</title>
		<link>http://dimoning.ru/kitayskaya-zaschita-sayta-ot-virusov.html</link>
		<comments>http://dimoning.ru/kitayskaya-zaschita-sayta-ot-virusov.html#comments</comments>
		<pubDate>Sat, 28 Mar 2009 18:30:13 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[Общие советы]]></category>
		<category><![CDATA[Скрипты PHP]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=985</guid>
		<description><![CDATA[Не секрет, что иногда сайты заражают вирусом.
Чем-чем? Вирусом. Он находится в iframe, и таким образом не виден посетителю. Но при этом посетитель успешно этот фрейм открывает и вирус хватает.
Как-как? Обычно внизу файла index.php располагается код, что-то вроде &#60;iframe&#8230;&#62;. При этом владелец сайта однозначно может сказать, что &#171;ээ, дарагой, такова ранэшэ нэбэло, ээ!&#187;
Как избавиться? Удалить этот [...]]]></description>
			<content:encoded><![CDATA[<p>Не секрет, что иногда сайты заражают вирусом.</p>
<p><strong>Чем-чем?</strong> Вирусом. Он находится в iframe, и таким образом не виден посетителю. Но при этом посетитель успешно этот фрейм открывает и вирус хватает.</p>
<p><strong>Как-как?</strong> Обычно внизу файла index.php располагается код, что-то вроде &lt;iframe&#8230;&gt;. При этом владелец сайта однозначно может сказать, что &laquo;ээ, дарагой, такова ранэшэ нэбэло, ээ!&raquo;</p>
<p><strong>Как избавиться? </strong>Удалить этот код, сменить пароли на FTP (т.к. часто именно их и воруют).</p>
<p><strong>В чем подвох?</strong> Подвох в том, что владелец сайта может &laquo;до последнего&raquo; не видеть вирус. Особенно, если вирус какой-нибудь новый. И даже Касперский не поможет.</p>
<p>В чем заключается моя &laquo;защита&raquo; и почему она &laquo;китайская&raquo;? Дело в том, что это скорее не защита, а оповестительная система, отключающая сайта, если вирус там поселился.</p>
<p><strong>Как работает?</strong> Очень просто. Из учебника php следует, что закрывающий тег в конце файла можно опустить. То есть код:</p>
<p>&lt;?php</p>
<p>echo &laquo;hello&raquo;;</p>
<p>тоже считается валидным и нормально работает.</p>
<p>Так вот, берем какой-нибудь WP, стираем в index.php нафиг закрывающий тег PHP (а именно вот этот: ?&gt;). Все!</p>
<p><strong>Чего ж будет-то?</strong> Если злоевек зальет Вам на сайт свой злоефрейм, то возникнет ошибка при исполнении этого файла php и сайт не откроется. Чем это важно? Важно тем, что владелец сайта, посещая свой сайт, сразу поймет, что на сайте поселился вирус, а посетители сайта не заразятся вирусом, т.к. сайт отключился.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/kitayskaya-zaschita-sayta-ot-virusov.html/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Возможность убрать рекламу, юзер-френдли</title>
		<link>http://dimoning.ru/vozmozhnost-ubrat-reklamu-yuzer-frendli.html</link>
		<comments>http://dimoning.ru/vozmozhnost-ubrat-reklamu-yuzer-frendli.html#comments</comments>
		<pubDate>Tue, 24 Mar 2009 21:47:26 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[Общие советы]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=978</guid>
		<description><![CDATA[Реклама: начало кризиса, дешевый хостинг, автосалоны г одессы

Конечно, надоевшие баннеры уже всем&#8230; надоели. Но я нигде не видел такого решения проблемы: по умолчанию баннеры показываются (когда пользователь заходит на сайт), но у каждого есть в углу крестик. Нажав на этот крести, пользователь скрывает баннер (место просто становится пустым).
Логика: если пользователь увидел баннер и не кликнул [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Реклама: <a href="http://www.perspectiva.kharkov.ua/articles/krizis___ukraina_i_rossiya/">начало кризиса</a>, <a href="http://rmhost.ru/">дешевый хостинг</a>, <a href="http://avto.od.ua/salons/">автосалоны г одессы</a>
</p></blockquote>
<p>Конечно, надоевшие баннеры уже всем&#8230; надоели. Но я нигде не видел такого решения проблемы: по умолчанию баннеры показываются (когда пользователь заходит на сайт), но у каждого есть в углу крестик. Нажав на этот крести, пользователь скрывает баннер (место просто становится пустым).</p>
<p><strong>Логика:</strong> если пользователь увидел баннер и не кликнул по нему &#8211; он его уже не заинтересует, а будет только раздражать. &laquo;Прозрения&raquo; (когда 2 часа читаешь сайт, а потом вдруг понимаешь, что баннер-то мега-интересный) &#8211; редкое явление, почти не встречается.</p>
<p><strong>Плюсы:</strong> супер-мега-дружелюбный интерфейс. Всенародное признание и любовь пользователей. Повышенное внимание к баннерам (как ни странно, но пока пользователь тянется к кретику, он смотрит на баннер дольше, чем если бы просто зашел на сайт).</p>
<p><strong>Минусы:</strong> не подходит для оплаты по показам (а-ля &laquo;5$ за 1000 показов&raquo;), может быть неадекватно воспринято рекламодателями (&laquo;мы тратим деньги на то, что пользователь не видит!&raquo;).</p>
<p><strong>Как реализовать?</strong></p>
<p>Очень просто. Оборачиваем баннер (предполагается, что это флеш или изображение) в div, в углу рисуем крестик ссылокой. При клике на ссылку срабатывает JavaScript, который записывает куки пользователю (да-да, а что, не знали, что это можно?). В куки содержится, например, имя скрытого баннера. При загрузке страниц PHP-скрипт (или что там у Вас на сервере) проверяет, есть ли куки с именем баннера и если уже есть, не отображает его.</p>
<p>Еще нужно предусмотреть возможность вернуть все &laquo;как было&raquo;. Например вместо баннера показывать ссылку &laquo;показать баннер&raquo;.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/vozmozhnost-ubrat-reklamu-yuzer-frendli.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Идея плагина: &#171;Спасите-помогите&#187;</title>
		<link>http://dimoning.ru/ideya-plagina-spasite-pomogite.html</link>
		<comments>http://dimoning.ru/ideya-plagina-spasite-pomogite.html#comments</comments>
		<pubDate>Wed, 04 Feb 2009 20:19:25 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[Общие советы]]></category>
		<category><![CDATA[Плагины WordPress]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=878</guid>
		<description><![CDATA[Часто автору блога (мне, например) хочется задать какой-нибудь вопрос посетителям, ответ на который определил бы мои действия (например, нужно ли столько рубрик у меня на сайте). Но создавать для этого пост вроде как жирновато, а по-другому в блоге и спросить не выходит.
Появилась идея плагина: что-то вроде мини-форума. Например, над постами висят ссылки-вопросы, нажав на одну [...]]]></description>
			<content:encoded><![CDATA[<p>Часто автору блога (мне, например) хочется задать какой-нибудь вопрос посетителям, ответ на который определил бы мои действия (например, нужно ли столько рубрик у меня на сайте). Но создавать для этого пост вроде как жирновато, а по-другому в блоге и спросить не выходит.</p>
<p>Появилась идея плагина: что-то вроде мини-форума. Например, над постами висят ссылки-вопросы, нажав на одну из них появляется окошко, где можно вписать свое мнение и отправить его автору.</p>
<p><strong>UPD: </strong>Меня не так поняли <img class="wp-smiley" src="../wp-includes/images/smilies/icon_smile.gif" alt=":)" /><br />
Я имел ввиду не о блоге высказать мнение, а, например: “Народ, вот не знаю, может покрасить свою собаку в синий цвет? Давно хотел, но знакомые говорят, что красный сейчас популярнее. Подскажите!!11?</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/ideya-plagina-spasite-pomogite.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Как я делал портал на Joomla и Drupal или что нужно знать для создания сайта</title>
		<link>http://dimoning.ru/o-standartnih-drizhkah.html</link>
		<comments>http://dimoning.ru/o-standartnih-drizhkah.html#comments</comments>
		<pubDate>Wed, 21 Jan 2009 09:39:32 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Движки, CMS]]></category>
		<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=855</guid>
		<description><![CDATA[Всю свою интернет-девелоперскую жизнь я писал собственные решения для всех случаев. Нужно голосование на сайт? Пишу. Нужен блок новостей? Пишу. Сайты тоже писал с нуля. Готовые движки я использовал только для сателлитов, при этом не заботясь качеством получающегося сайта вообще никак или для заказчиков, если они упорно не хотели делать сайт на моей разработке. Но [...]]]></description>
			<content:encoded><![CDATA[<p>Всю свою интернет-девелоперскую жизнь я писал собственные решения для всех случаев. Нужно голосование на сайт? Пишу. Нужен блок новостей? Пишу. Сайты тоже писал с нуля. Готовые движки я использовал только для сателлитов, при этом не заботясь качеством получающегося сайта вообще никак или для заказчиков, если они упорно не хотели делать сайт на моей разработке. Но недавно я решил сделать портал, а чтобы сэкономить время я решил поставить его на один какой-нибудь готовый двиг.</p>
<p>Считается, что готовые движки экономят время на разработку сайта. Так ли это на самом деле?</p>
<p><span id="more-855"></span><strong>Сначала я поставил Drupal.</strong> Чего я не понял сразу &#8211; как добавлять статьи по категориям. То есть какое-то меню на сайте есть, а вот как привязать туда статьи, сделать подменю и т.п. не понял. Разбирался долго, выяснилось, что существует какая-то таксономия (или как ее), как она работает я до конца не вьехал, убив на это дня 2. Всем, кто скажет, &laquo;да это же просто, а ты лох&raquo; &#8211; засуньте свое мнение подальше. Для человека, первый раз попробовшего разобраться в друпале странно даже то, что администрирование происходит прямо на сайте, а ссылки на разные настройки и модули появляются прямо в меню сайта, если зайти под администратором.</p>
<p>Хотя вру, кое-как мне удалось привязать статьи. Даже предположим, что мне это удалось хорошо и все стало понятно. Едем дальше: документация для разработчика. По движку нет документации! Как и что работает приходится узнавать из гугла, причем никто из &laquo;гуру друпала&raquo;, мудаки, подробно объяснять не хочет. Зато они направо и налево орут, какой друпал крутой. Выходит, чтобы разобраться в движке, нужно в нем самом и ковыряться. Это, мягко говоря, гораздо дольше, чем написать свой движок для сайта. Кстати, отзывы о книгах а-ля &laquo;Drupal for idiots&raquo; тоже не вдохновляют &#8211; не хочется полдня искать книгу, потратить рублей 600 на нее, а потом понять, что она не поможет. Большинство мнений за то, что в подобных книгах далеко не исчерпывающая, а иногда и вовсе неверная, информация. Что вряд ли поможет понять движок.</p>
<p>Теперь о шаблонах. Для старта не хочется заказывать дизайн, поэтому было бы логично поискать стандартный шаблон. По аналогии с WordPress&#8217;ом первым делом я полез на официальный сайт. Где ничерта не нашел. Вернее нашел штук 50 отвратительнейших шаблонов. Все усложняется еще и тем, что есть две версии-ветки друпала &#8211; пятая и шестая. Понятное дело, если шаблон для пятой, то для шестой он не подойдет. А брать пятую версию как-то не хочется, она же старая и не поддерживаемая разработчиками.</p>
<p>Еще я сюда бы присовокупил медлительность и моральную устарелость кода.</p>
<p>Итог для друпала: сложно, непонятно, без документации, без нормальных шаблонов. Для новичка вообще кромешный ад.</p>
<p><strong>Следующей я установил Joomla.</strong> Расстрою наперед &#8211; после этого я ничего не устанавливал, т.к. бесплатные портальные движки на этом заканчиваются (делать портал на какой-нибудь SimpleCMS или DLE &#8211; бред). Немного уточню, я установил не Joomla, а Joostina (<a href="http://dimoning.ru/r.php?url=http://www.joostina.ru" target="_blank">joostina.ru</a>), один из уже многочисленных &laquo;детей&raquo; Joomla.</p>
<p>Здесь все намного лучше, чем в предыдущем варианте. Как добавлять материалы понятно сразу, админка вообще куда более понятная, не запутанная и даже приятная.</p>
<p>С шаблонами лучше раз в -цать точно, есть много сайтов, где можно найти шаблон на любой вкус. Справедливости ради добавлю, что многие шаблоны не работают (опять же &#8211; много версия джумлы), но хотя бы найти то, что нравится уже гораздо легче.</p>
<p>С документацией тоже лучше. Ее мало, но есть хотя бы какие-то внятные статьи о том, как и что работает. Например, несколько статей с джумлы.ру позволили мне написать собственный модуль, а до этого я джумлой не пользовался вообще.</p>
<p>Слава богу, разрабы джумлы используют возможности актуальных версий PHP: код не процедурный (как в друпале), используются классы и всякие другие модные штуки. Это облегчает восприятие (во всяком случае мне) и читаемость кода. Книг по джумле, правда, я не видел.</p>
<p>Итог для джумлы: жить будет, попытаться что-то сделать на ней действительно можно. Не факт, что получится (см. ниже).</p>
<p><strong>А можно ли сделать сайт, ничего в сайтостроении не понимая?</strong></p>
<p>В общем-то, как я понимаю, на это и нацелены готовые движки, да? Ну друпал я выкидываю в помойку сразу, даже рассматривать не буду. Это ж надо додуматься &#8211; необходимо искать и самому прикручивать модули для того, чтобы просто начать добавлять статьи. А вот на джумле остановлюсь подробнее (заодно как пример будет).</p>
<p>Максимум, что получится сделать, ничего ни в чем не понимая, это шаблонный сайт. Скорее всего он будет довольно страшным и организованным не так, как хочется. Например, я хочу, чтобы на главной выводились ссылки на последние статьи, а в шаблоне, который мне понравился, на главной вообще ничего не выводится. Нужно же лезть в код, что-то там писать. А как писать, если не понимаешь даже словосочетания &laquo;лезть в код&raquo;?</p>
<p>Не разбираясь в сайтах, сложно сделать и операции попроще, например заменить лого на свое или раскрасить ссылки по-другому.</p>
<p>Получается, что не являясь девелопером сделать нормальный сайт и на готовом движке тоже нельзя. А являясь девелопером, скорее всего, использовать готовый двиг и не захочется.</p>
<p><strong>Я не разработчик, но сайт сделать очень хочется!</strong></p>
<p>Хотя есть промежуточный этап. Вот, что надо знать для того, чтобы сделать относительно норальный сайт-портал (или сайт-не-портал):</p>
<ul>
<li>Знать, как &laquo;работает интернет&raquo;: что такое хостинг, что такое домен, как из связать (DNS)</li>
<li>Как загружать файлы по FTP</li>
<li>Что такое MySQL (не как с ней работать, а что это)</li>
<li>Основы HTML</li>
<li>Основы CSS</li>
<li>Основы Photoshop или другого графического редактора</li>
<li>[не обязательно, но очень поможет] Основы PHP</li>
</ul>
<p>Таким образомы, появляется возможность: купить домен и хостинг, загрузить файло на сервер (FTP), нормально установить любой готовый движок (понадобится знание о MySQL), загрузить любой понравившийся шаблон (опять FTP), подредактировать его по-мелочи (HTML + CSS), подредактировать графику (Photoshop). Честно говоря, вообще, не знаю, чем может помочь знание ОСНОВ PHP, ведь без серьезной работы с ним сделать что-то умное не получится, даже исправить ошибки на сайте. Но для общего развития и для большей уверенности в своих силах не помешает.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/o-standartnih-drizhkah.html/feed</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>Как создать СДЛ самому, часть 1: о шаблонах, встроенных дизайнах и шаблонизаторах</title>
		<link>http://dimoning.ru/kak-sozdat-sdl-samomu-chast-1-o-shablonah-vstroennyih-dizaynah-i-shablonizatorah.html</link>
		<comments>http://dimoning.ru/kak-sozdat-sdl-samomu-chast-1-o-shablonah-vstroennyih-dizaynah-i-shablonizatorah.html#comments</comments>
		<pubDate>Sun, 23 Nov 2008 21:41:10 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Движки, CMS]]></category>
		<category><![CDATA[Общее]]></category>
		<category><![CDATA[на PHP]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=712</guid>
		<description><![CDATA[Я решил опять перейти на программистскую тематику, но писать для &#171;обычных людей&#187;. Не секрет, что для создания хорошего сайта (в основном СДЛ, но не обязательно), приходится писать к нему CMS на заказ. В основном это не дешевле 400$, поэтому для начинающего манимейкера невозможно.
Будет несколько частей, сколько &#8211; я не знаю. Если что-то хочется узнать или [...]]]></description>
			<content:encoded><![CDATA[<p>Я решил опять перейти на программистскую тематику, но писать для &laquo;обычных людей&raquo;. Не секрет, что для создания хорошего сайта (в основном СДЛ, но не обязательно), приходится писать к нему CMS на заказ. В основном это не дешевле 400$, поэтому для начинающего манимейкера невозможно.</p>
<p>Будет несколько частей, сколько &#8211; я не знаю. Если что-то хочется узнать или спросить &#8211; всегда пожалуйста.</p>
<p>Если до сих пор непонятно, что я буду вещать, поясняю: как &laquo;по кубикам&raquo; написать CMS портального типа, не зная программирования. Как сделать голосование, блоги пользователей, регистрацию пользователей, каталоги и прочее, прочее, прочее. Похоже, можно делать неограниченное количество таких постов.</p>
<p><span id="more-712"></span></p>
<p>Это первая часть, поэтому несколько моментов: я учту, что заботиться о безопасности скриптов нужно сразу, по совету умных людей (простите, уже запамятовал, с кем спорили), писать будем на PHP, и все-таки необходимо знать хотя бы основы программирования на PHP. Если непонятно, что читать, см. один из старых постов: <a href="http://dimoning.ru/vyigodno-li-byit-programmistom.html" target="_blank">Как стать программистом</a>.</p>
<p>На серию статей планы наполеоновские:</p>
<p>1. Шаблоны. (этот урок)<br />
2. Движок для вывода статических страниц.<br />
3. Прикрутить Smarty.<br />
4. Авторизацию пользователей.<br />
5. Опросы.</p>
<p>Осталось писать регулярно. Итак, к уроку.</p>
<p><strong>Шаблоны или встроенный дизайн?</strong></p>
<p>Когда Вы пишите сайт, всегда есть внешняя сторона происходящего &#8211; то, что видит пользователь, дизайн и оформление. Предположим, что дизайнер нарисовал картинку, верстальщик разрезал ее и отдал нам HTML-страницу. А нам нужно встроить ее в движок и выводить информацию (из базы данных или еще откуда-то) согласно этому оформлению.</p>
<p>Если отбросить детали, то есть 2 способа обработки дизайна (форматирования вывода данных). Первый &#8211; это встроенный в движок дизайн. Второй &#8211; шаблонизатор (и шаблон дизайна).</p>
<p><strong><em>Встроенный дизайн.</em></strong></p>
<p>Этот способ проще реализовать, но сложнее эксплуатировать. Больше того, если позже этим сайтом будет заниматься человек, не знакомый с программированием, такой способ может доставить ему некоторые сложности, когда он захочет что-то поменять. А перетянуть весь дизайн может быть сложно даже программисту, ранее не знакомому с этим движком.</p>
<p>Итак, к сути. Например, у нас есть какое-то оформление а-ля &lt;div id=&#8217;aaa&#8217;&gt;&lt;/div&gt;, а между &lt;div&gt; нам нужно вывести какую-то информацию. Тогда в этом случае, мы просто выводим ее с помощью операторов PHP прямо в файле сценария *.php: &lt;div id=&#8217;aaa&#8217;&gt;&lt;?php echo $a; ?&gt;&lt;/a&gt;</p>
<p>Получается, что если у нас 30 разных файлов, то в них по кускам везде появляется оформление (HTML). И поменять его или найти именно тот сценарий, куда закралась ошибка оформления становится сложно.</p>
<p><strong>Шаблонный дизайн.</strong></p>
<p>При этом весь дизайн оформляется в виде отдельного файла с HTML-разметкой, куда вставляются метки для вывода информации. Часто файл с дизайном имеет расширение *.tpl, и его содержимое похоже на такое: &lt;div id=&#8217;aaa&#8217;&gt;{title}&lt;/div&gt;. Потом PHP-сценарий должен обработать этот файл, считать его содержимое, заменить &laquo;метки&raquo; (для примера здесь {title}) на реальную информацию и вывести все это пользователю.</p>
<p>Все распространяемые CMS поддерживают шаблонный дизайн, что обеспечивает возможность создавать для них темы оформления. Тогда их нужно просто залить в отдельный каталог и включить через админку. Как видите &#8211; и править их легче, все в одном файле, наглядно и понятно.</p>
<p><strong>Шаблонизаторы.</strong></p>
<p>Обычно так называются скрипты (модули движка), обрабатывающие эти самые шаблоны из предыдущего пункта. Очень хороший пример такого шаблона &#8211; <a href="http://dimoning.ru/r.php?url=http://www.smarty.net/manual/ru/" target="_blank">Smarty</a>, очень рекомендую к рассмотрению и изучению. Хороший пример собственно написанного шаблонизатора &#8211; это DLE.</p>
<p>Часто программисты не пишут свой шаблонизатор, а встраивают в свой движок Smarty. Я думаю, что это лучший выход, т.к.:</p>
<p>1) Уже все написано, не тратится время на создание шаблонизатора;<br />
2) Он работает быстро. Если новичек попробует написать свой шаблонизатор, он, возможно, будет работать медленнее;<br />
3) Он бесплатно распространяется и бить Вас за это не будут;<br />
4) Очень важно, что другой разработчик сразу будет знать как работать с ним.</p>
<p>Конечно, этот пост кажется совсем не для новичков <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Но это первое, на что мы наткнемся на &laquo;практических занятиях&raquo;, т.к. оформление (вывод) информации в браузер есть даже в самом минималистическом скрипте.</p>
<p>В следующий раз попробуем написать костяк движка, чтобы он мог выводить статические страницы, шаблон будет встроенный (см. 1 пункт).</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/kak-sozdat-sdl-samomu-chast-1-o-shablonah-vstroennyih-dizaynah-i-shablonizatorah.html/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Политика блоггинга: 2 (хороших) совета.</title>
		<link>http://dimoning.ru/politika-blogginga-2-soveta.html</link>
		<comments>http://dimoning.ru/politika-blogginga-2-soveta.html#comments</comments>
		<pubDate>Tue, 21 Oct 2008 19:23:49 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[Общие советы]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=649</guid>
		<description><![CDATA[Мне в голову пришла очень светлая мысль по поводу блоггинга. Конечно, всем, кто когда-то вел блог понятно, что лучше сделать тематический блог, чем &#171;обо всем&#187;. Да, есть &#171;духовные лидеры&#187; (ТОПы рейтингов), пишущие полный бред о своей жизни и при этом дико популярные. Только я не устану повторять &#8211; топ на то и топ, не нужно [...]]]></description>
			<content:encoded><![CDATA[<p>Мне в голову пришла очень светлая мысль по поводу блоггинга. Конечно, всем, кто когда-то вел блог понятно, что лучше сделать тематический блог, чем &laquo;обо всем&raquo;. Да, есть &laquo;духовные лидеры&raquo; (ТОПы рейтингов), пишущие <span style="text-decoration: line-through;">полный бред</span> о своей жизни и при этом дико популярные. Только я не устану повторять &#8211; топ на то и топ, не нужно рассчитывать на него. Не нужно рассчитывать, что если Вы будете писать &laquo;о жизни&raquo; (&laquo;что я ел на завтрак&raquo; и &laquo;какие эти демократы козлы&raquo;) &#8211; Вы тоже станете сильно популярными.</p>
<p>Вот так и вышло, что легче завоевать аудиторию, если писать на одну или на несколько очень близких тем, чем пытаться писать в блог об одном и том же.</p>
<p><span id="more-649"></span></p>
<p>Яркий пример: мой блог. Сначала я пытался писать о заработке и о программировании. И я постоянно терял еле-еле заработанную аудиторию (10-15 подписчиков). СЕОшники пугались постов о программировании и наоборот. Потом же я решил писать и о программировании и о СЕО в одном ключе &#8211; заработок. И аудитория (подписчики, опять же) резко пошла вверх.</p>
<p>Но если я начну вдруг писать о слонах, то от меня отпишутся и программисты и сеошники, т.к. их это интересует мало. Слоноводов тоже не прибавится &#8211; остальные-то посты (о сео и программировании) им не интересны. Обычно один-два поста &laquo;не по теме&raquo; проходят вполне бесследно. А вот больше &#8211; можно и блог потерять.</p>
<p><strong>Совет номер раз. Для каждой темы по блогу.<br />
</strong></p>
<p>Если у Вас в голове накопилось достаточно мыслей для 20 постов по какой-либо тематике, а в свой блог (блоги) писать это не получается (не подходит тематика) &#8211; заводите новый блог под эту тематику, да и все! Плюсы: никого не напугали, получили еще один белый проект, наполнять который не лень, т.к. мысли есть. Кроме того, раскручивать несколько блогов интереснее и опыт поможет.</p>
<p>Например, у меня таким образом вышло несколько блогов: <a href="http://dimoning.ru/">этот</a>, <a href="http://yellowduck.ru/" target="_blank">утки</a>, блог о гитаре (еще не открыт, но уже наполняется), <a href="http://in-freelance.ru" target="_blank">блог о фрилансе</a>. Мой партнер удивляется &#8211; зачем мне столько блогов? А мне не &laquo;зачем&raquo;, мне они все нужны &#8211; в каждый иногда хочется что-то написать.</p>
<p>И еще небольшая подсказка. Если есть одиночные мысли, которые смерть как хочется опубликовать (думать их про себя или рассказать друзьям &#8211; совсем &laquo;не то&raquo;), а некуда &#8211; сделайте &laquo;приватный&raquo; блог. Например у меня это <a href="http://dimoning.ru/personal/" target="_blank">Личный блог</a>, находящийся в подкаталоге этого домена. Обычно, когда хочется написать что-то &laquo;ни с чем не связанное&raquo; &#8211; хочется просто пожаловаться, обматерить всех и вся или написать пост, состоящий из 1-2 умных (по мнению автора) изречений. Так вот: некоторое время я туда писал, а потом бросил. Потому, что жаловаться стало не на что &#8211; все сказал. Кстати, блог на локальном компьютере (не в Интернете) тоже помогает от желания написать какое-то переживание, хоть никто его и не прочитает.</p>
<p><strong>Совет номер два. Выходите за рамки блога.</strong></p>
<p>У меня почти каждый раз, когда я хочу сделать новый блог, возникает мысль о том, как можно бы его расширить и сделать из него подобие (или даже не подобие) социальной сети. Как дать людям возможность общаться, какие &laquo;фишки&raquo; туда привнести и подобное. Это же круто! Белый проект может начинаться мыслью о блоге, а закончиться популярным порталом! Например, FaceBook ведь начинался как место общения студентов общежития (или как-то так, я помню).</p>
<p>Да, не у всех есть знания программирования. Но это не такая большая проблема &#8211; уже придумано очень много плагинов для популярных CMS и сделать хотя бы в общих чертах сеть можно. А если она будет развиваться и понравится людям, то не грех и денег в нее вложить.</p>
<p>Дерзайте! Нет неосуществимых идей, есть ленивые &laquo;осуществлятели&raquo; <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/politika-blogginga-2-soveta.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Выгодно ли быть программистом? С точки зрения манимейкинга, заработка и здоровья. А как стать программистом?</title>
		<link>http://dimoning.ru/vyigodno-li-byit-programmistom.html</link>
		<comments>http://dimoning.ru/vyigodno-li-byit-programmistom.html#comments</comments>
		<pubDate>Tue, 14 Oct 2008 19:58:17 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Без категории]]></category>
		<category><![CDATA[Мои мысли]]></category>
		<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=622</guid>
		<description><![CDATA[Мне постучал один знакомый и скинул ссылку на статью, что-то вроде &#171;5 плюсов и минусов программирования&#187;. Я прочитал и выразил свое недовольное довольство по поводу этой статьи. Она была написана год назад и я решил переработать ее и сделать собственную. А потом мне в голову пришла мысль написать еще и о плюсах и минусах специальности [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #000000;"><span style="font-family: &quot;Lucida Grande&quot;,&quot;Lucida Sans Unicode&quot;,Tahoma,Verdana,sans-serif;">Мне постучал один знакомый и скинул ссылку на статью, что-то вроде &laquo;5 плюсов и минусов программирования&raquo;. Я прочитал и выразил свое недовольное довольство</span></span> по поводу этой статьи. Она была написана год назад и я решил переработать ее и сделать собственную. А потом мне в голову пришла мысль написать еще и о плюсах и минусах специальности &laquo;программирование&raquo; для манимейкинга.</p>
<p>Кроме того, я расскажу как начать изучать программирование и через сколько времени Вы уже сможете писать вещи, полезные для манимейкинга и которые можно продать.</p>
<p><span id="more-622"></span></p>
<p>Итак, тем, кто хочет начать изучать программирование, посвящается. Сначала о плюсах программирования.</p>
<p><strong>Плюсы:</strong></p>
<p>1. Выгодно быть программистом в каком-нибудь малонаселенном городе (не мегаполисе). Вы можете <a href="http://in-freelance.ru" target="_blank">работать удаленно</a> со всем остальным миром и получать в разы больше денег, чем Ваши коллеги на постоянной работе.</p>
<p>2. Компьютеры и Интернет сейчас активно развиваются. Не думаю, что эта специальность перестанет быть востребована.</p>
<p>3. Перейти с одного языка на другой довольно просто. Для знающих C++ никакого труда перейти на PHP нет (у меня это заняло 2 дня).</p>
<p>4. Я считаю это плюсом: программисты &#8211; почти секта. Свои шутки, свой внешний вид, разговоры о том, в чем &laquo;нормальные люди&raquo; не понимают не слово. Майки, кружки, кепки с непонятными словами. И только второй такой же, посмотрев на все это &#8211; оценит по достоинству. Мне нравится <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>5. По поводу <a href="http://in-freelance.ru" target="_blank">фриланса</a> -можно сидеть себе целый день дома и нормально зарабатывать.</p>
<p>6. Можно выучить программирование самостоятельно. А вот выучить, например, машиностроение самостоятельно не выйдет.</p>
<p><strong>Минусы:</strong></p>
<p>1. Уже сейчас чувствуется, что программирование на начальном уровне знает чуть ли не каждый третий школьник. И еще пытаются конкурировать на рынке фриланса. Обычно им это удается, т.к. есть заказчики, ориентирующиеся на цену, а не на опыт.</p>
<p>2. Крутым программистом быть сложно, это факт. Нужно не только следить за новинками в мире, но и знать &laquo;не новинки&raquo; очень хорошо и глубоко. На это уйдет не один год изучения. Сложно, в общем. Если Вам это не нравится, лучше не беритесь.</p>
<p>3. Программист привязан к компьютеру. Сломался компьютер &#8211; не может работать. Кроме того, если сгорит винчестер, то часто еще и теряются многолетние наработки. Хотя от этого спасает бекап.</p>
<p>4. Работать через Интернет сложно, т.к. если он (интернет) сломается, а еще и нужно сдавать проект&#8230; Такая беготня начнется, Вы не представляете. Тот, кто не купил ноутбук будет в этот момент проклинать все на свете <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>5. Программисты &#8211; народ болезненный. От постоянного сиденья за компьютером портится зрение, болит спина. Легко можно получить гемморой. Хотя должен сказать, уже даже у школьников портится зрение и искривляется позвоночник от компьютера.</p>
<p>6. А вот и хрен )) Это все.</p>
<p>По большому счету плюсы искупают все минусы (кроме здоровья). Здоровье можно поправлять самостоятельно. Нет, не водкой. Поправлять здоровье нужно утренним бегом и гимнастикой. Я знаю программиста, который ходит в качалку. Встреть я такого ночью в подворотне &#8211; описался бы нафиг. Здоровый, сцуко. И со здоровьем у него все отлично.</p>
<p><strong>Теперь о возможности заработать.</strong></p>
<p>Я уже давно занимаюсь только фрилансом и своими проектами и могу сказать &#8211; 2k$ в месяц &#8211; это нормально (для фриланса). Но нужно учитывать, что работать нужно каждый день и часов по 10, а это уже тяжело (я сейчас зарабатываю меньше). С постоянной работой хуже &#8211; средняя начальная ставка в моем городе около 500-800$/месяц. А выйти на 1000$+ на постоянной работе очень сложно (повышения почти никогда не дают).</p>
<p><strong>Теперь о плюсах в плане манимейкинга.</strong></p>
<p>Я считаю, что для манимейкера важнее быть программистом, чем СЕО. По очень простой причине &#8211; СЕО легче <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Да-да, СЕО легче. Оно часто отнимает больше времени и туда нужно вкладывать деньги, но оно легче. Если разобраться в нем, то оно вообще банально (все супер-методы продвижения обычно сводятся к медиа-рекламе и ссылкам).</p>
<p>А вот написать какой-нибудь позарез нужный скрипт СЕОшник, как правило, не может. Ну например, у Вас есть база из 50.000 каталогов. И нужно ее проверить &#8211; не закрылись ли эти каталоги или не попали ли в бан в Яндексе. Программист за 5 минут напишет скрипт для проверки всей этой базы, а что делать СЕОшнику? Руками что ли проверять? Или за деньги заказывать такой скрипт? А за деньги &#8211; не дешево, долларов 100.</p>
<p>Или, например, если какой-то скрипт не устраивает, хочется его вот немного подправить &#8211; опять же СЕОшнику придется обращаться за помощью к программисту, <span style="text-decoration: line-through;">умолять его, ползаться на коленях, биться головой об стену, проставляться пивом</span>.</p>
<p>С другой стороны, как я уже сказал &#8211; для СЕО никаких чрезмерных знаний не требуется. Достаточно месяц-два почитать <a href="http://dimoning.ru/r.php?url=http://forum.searchengines.ru" target="_blank">какой-нибудь форум</a>.</p>
<p><strong>Хотите стать программистом?</strong></p>
<p>Это не так сложно, как кажется. Во всяком случае в наши дни. Умные дяди придумали столько всяких штук для &laquo;легкого&raquo; написания программы, что теперь заниматься этим может каждый. Например, PHP &#8211; это говно-язык, придуманный для того, чтобы можно было километровые программы сокращать до нескольких строк. Как фанату программирования мне даже обидно &#8211; писать на PHP довольно легко, но я представляю сколько труда было вложено, чтобы создать этот язык.</p>
<p>Теперь я порекомендую, как стать программистом (вариант &#8211; &laquo;учиться в ВУЗ&raquo; я не рассматриваю). Конечная цель для нас &#8211; писать в Web. Есть два пути &#8211; суть самурая и путь идиота.</p>
<p><strong>Путь самурая.</strong></p>
<p>Обычно учить все нужно по книгам, сразу говорю. Статьи из сети не подходят &#8211; слишком непонятно там все. Купите какую-нибудь толстую книгу по C++ и попробуйте пару недель почитать. Покупайте книгу о программировании на &laquo;чистом&raquo; C++, например самоучитель от <a href="http://www.google.ru/search?hl=ru&amp;q=%D0%B1%D1%8C%D0%B5%D1%80%D0%BD+%D1%81%D1%82%D1%80%D0%B0%D1%83%D1%81%D1%82%D1%80%D1%83%D0%BF+%22%D1%8F%D0%B7%D1%8B%D0%BA+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F+%D1%81%2B%2B%22&amp;btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&amp;lr=&amp;aq=4&amp;oq=%D0%91%D1%8C%D0%B5%D1%80%D0%BD" target="_blank">Бьерна Страуструп</a>. Причем читать книгу с компьютера я бы не рекомендовал. Писать лучше всего на Borlanc C++ 3.1</p>
<p>Когда что-то начнете понимать в C++, можно переходить к Perl. Почему к перл? Потому, что он &#8211; сложный! И непонятный. И дает заодно знания о Linux (хотите-не-хотите, так сказать). &laquo;До победного&raquo; его учить не обязательно, но знаеть о нем точно необходимо.</p>
<p>Потом я бы прочитал пару книг о сетях и серверах для понимания того, как &laquo;весь этот Интернет&raquo; работает.</p>
<p>А уже только потом можно купить тонкий и дешевый справочник по PHP и MySQL. Там все будет понятно сразу, после таких-то знаний. <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><em>Время обучения (если считать, что человек занимается несколько часов каждый день):</em> где-то полгода. Результат: ацкий, если хорошо заниматься. Писать на заказ можно почти сразу.</p>
<p><strong>Путь идиота.</strong></p>
<p>Я назвал его так, потому что человек, прошедший этот путь будет что-то знать о Web (но меньше, чем прошедший путь самурая). И не будет иметь представления о программировании &laquo;в общем&raquo; и не будет знать, как работают и устроены сервера. Поверьте, знать целую картину &laquo;компьютерого мира&raquo; &#8211; полезная вещь. Понимать, как оно работает и т.п.</p>
<p>Так вот. Тут все просто &#8211; сразу покупаем книгу &laquo;программирование PHP + MySQL для начинающих&raquo; и начинаем ее читать. Проблема тут очевидна: ничего не понимая в программировании, не имея опыта &#8211; сразу окунуться в Web и базы данных. Это сложно. И Вам, я думаю, понятно, какое качество кода будет у таких &laquo;программистов&raquo;, если вообще код будет.</p>
<p>Продавать ничего нельзя, боже упаси! Но для себя кое-что делать уже будет можно.</p>
<p><em>Время обучения (в день по паре часов):</em> примерно месяц. Результат: не веселый, только предрасположенные к этому люди добьются серьезного прогресса.</p>
<p>А вообще, если есть желание, то пугаться не нужно. Попробуйте сначала первый метод, потом второй. Я верю &#8211; у того, кто хочет, все получится!</p>
<p>Постовой (<a href="http://dimoning.ru/reklama">Купить!</a>):</p>
<p>1. <a href="http://www.101floor.ru/">очистка кровли от снега</a></p>
<p>2. Интернет магазин <a href="http://www.dom-dverey.ru/">межкомнатные двери эконом</a> предлагает вашему вниманию межкомнатные двери эконом. Мы реализуем двери оптом и в розницу. Широкий выбор продукции позволяет Вам подобрать модель, наиболее подходящую под Ваш индивидуальный интерьер. Недорогие двери эконом класса сочетают в себе простоту, комфорт и изящество деревянные межкомнатные двери</p>
<p>3. <a href="http://www.telelux.ru/to_catalog/action_categDesc/id_276/s1_Electrolux/">духовка Electrolux</a></p>
<p>4. <a href="http://eliteforex.ru/">Форекс как вид бизнеса</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/vyigodno-li-byit-programmistom.html/feed</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Создаем счетчик-картинку, показывающий беки на сайт.</title>
		<link>http://dimoning.ru/back-counter-1.html</link>
		<comments>http://dimoning.ru/back-counter-1.html#comments</comments>
		<pubDate>Thu, 09 Oct 2008 10:03:38 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[Общие советы]]></category>
		<category><![CDATA[на PHP]]></category>
		<category><![CDATA[на WordPress]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=600</guid>
		<description><![CDATA[Вот думал я думал и придумал сделать счетчик, который показывает не посещения, а количество беков на сайт. Вообще, показывать он может хоть попугаев, просто ничего оригинальнее я не придумал. Но после прочтения поста Вы будете знать: как сграбить инфу с другого сайта (нам тут нужно же узнавать где-то количество беков) и как сгенерировать красивый счетчик. [...]]]></description>
			<content:encoded><![CDATA[<p>Вот думал я думал и придумал сделать счетчик, который показывает не посещения, а количество беков на сайт. Вообще, показывать он может хоть попугаев, просто ничего оригинальнее я не придумал. Но после прочтения поста Вы будете знать: как сграбить инфу с другого сайта (нам тут нужно же узнавать где-то количество беков) и как сгенерировать красивый счетчик. И, вероятно, я разделю этот пост на 2. (вторая часть <a href="http://dimoning.ru/back-counter-2.html" target="_blank">тут</a>)</p>
<p>Начнем со второй части, т.к. она интереснее. Будем делать картинку-счетчик!</p>
<p><span id="more-600"></span></p>
<p>Что нам нужно? Вывести счетчик с нужными нам цифрами. Для этого мы заранее сделаем заготовку-фон, где нарисуем сам счетчик. А цифры будем выводить &laquo;на лету&raquo; с помощью PHP и библиотеки GD. Именно таким образом работают все счетчики &#8211; и LiveInternet и прочие. Различие может быть разве в том, что для вывода цифр может использоваться JavaScript или другой язык.</p>
<p>Итак, готовим картинку. Не забудьте оставить свободное место для цифры! У меня руки из попы в плане рисования и дизайна, поэтому у меня вышло так:</p>
<p><img class="aligncenter size-full wp-image-599" title="counter" src="http://dimoning.ru/wp-content/uploads/2008/10/counter.jpg" alt="" width="88" height="33" /></p>
<p>В середине оставлено место для динамической подстановки цифры (количества ссылок в данном случае).</p>
<p>Ну а теперь нужно сделать скрипт, который обрабатывал бы это изображение и записывал бы на нужное место нужную цифру. Скрипт на удивления короткий и простой (спасибо GD!):</p>
<pre><code class="php">
$x = 40;
$y = 8;
$number = 10;

$image = @ImageCreateFromJPEG("counter.jpg");
header ("Content-type: image/png");
$txt_color = imagecolorallocate ($image, 255, 255, 255);
imagestring($image, 2, $x, $y, $number, $txt_color);
imagepng ($image);
imagedestroy ($image);
</code></pre>
<p>Три первых переменные (я специально вынес их как переменные) это: $x &#8211; расположение текста по горизонтали (координата), $y &#8211; расположение текста по вертикали (координата), $number &#8211; это текст, который нужно вывести, а точнее &#8211; количество ссылок, поэтому оно здесь числом.</p>
<p>Логика скрипта тоже очень простая. Сначала мы открываем изображение (оно у меня названо counter.jpg) с помощью функции ImageCreateFromJPEG и затыкаем этой функции рот с помощью кляпа (не даем вывести возможное сообщение об ошибке или варнинге с помощью &laquo;@&raquo;). Потом отправляем браузеру заголовок с тем, что мы сейчас будем выводить png-изображение. Теперь обозначаем для этого изображения белый цвет и записываем его в $txt_color. С помощью imagestring выводим нужный нам текст в нужное нам изображение в нужные нам координаты нужным нам цветом. И с помощью imagepng и imagedestroy выводим изображение и уничтожаем его в памяти, дабы место не жрало.</p>
<p>Если посметить скрипт и изображение в один каталог и открыть скрипт через браузер Вы увидите изображение! 90% работы сделано.</p>
<p>Теперь чуть-чуть о вызове этого счетчика из кода страницы. Создаем какой-нибудь файл, например index.php и пишем туда вот это:</p>
<pre><code class="html">
&lt;img src="./counter.php"&gt;
</code></pre>
<p>Вот и все! Изображение выводится. Единственное, что еще хорошо было бы сделать, это проверить, а подключена ли у нас GD-библиотека <img src='http://dimoning.ru/wp-includes/images/smilies/icon_eek.gif' alt=':shock:' class='wp-smiley' />  Для этого в том же index.php (не в скрипте, рисующим счетчик, т.к. там Вы сообщения об ошибке не увидите &#8211; просто изображение не сформируется) пишем тоже не хитрую инструкцию, проверяющую доступна ли какая-нибудь функция библиотеки GD:</p>
<pre><code class="php">
if (!function_exists('imagetypes')) die ('Не найдена GD!');
</code></pre>
<p>До новых встреч, ребята <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Постовой:</strong><br />
<a href="http://www.goa-info.ru/">туры в ГОА</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/back-counter-1.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>2 абзаца о Linux Mandriva: неизвестный пароль root от mysql и ругань на mysql.sock в php</title>
		<link>http://dimoning.ru/mysql-root-sock-suxx.html</link>
		<comments>http://dimoning.ru/mysql-root-sock-suxx.html#comments</comments>
		<pubDate>Tue, 26 Aug 2008 02:22:22 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=425</guid>
		<description><![CDATA[Спонсор поста: О безопасности в Интернет
Что в линуксе не хорошо &#8211; так это игр в нем нет. Остальное все там прекрасно и замечательно. Особенно, учитывая, что моя Виста канула в Лету &#8211; совсем перестала нормально работать &#8211; пришлось поставить Linux.
Задача эта не простая, т.к. у меня Asus F3s-серия ноутбук, а в нем железки, как известно [...]]]></description>
			<content:encoded><![CDATA[<p>Спонсор поста: <a href="http://webew.ru/articles/1104.webew">О безопасности в Интернет</a></p>
<p>Что в линуксе не хорошо &#8211; так это игр в нем нет. Остальное все там прекрасно и замечательно. Особенно, учитывая, что моя Виста канула в Лету &#8211; совсем перестала нормально работать &#8211; пришлось поставить Linux.</p>
<p>Задача эта не простая, т.к. у меня Asus F3s-серия ноутбук, а в нем железки, как известно &#8211; совсем плохо поддерживаются.</p>
<p>Кстати, вот и винда в окне линукса. Красота <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://dimoning.ru/wp-content/uploads/2008/08/d181d0bdd0b8d0bcd0bed0ba3.png"><img class="size-medium wp-image-426" title="d181d0bdd0b8d0bcd0bed0ba3" src="http://dimoning.ru/wp-content/uploads/2008/08/d181d0bdd0b8d0bcd0bed0ba3-300x187.png" alt="" width="300" height="187" /></a></p>
<p>Поставил все, в принципе, нужное для работы &#8211; php+apache+mysql (с ней провозился особенно долго и узнал много нового, ровно как и матов). А вот звук до сих пор настроить не вышло&#8230;</p>
<p>Вообще, я про mysql написать и хотел. Дело в том, что при установке mysql часто случается, что оно вроде бы и не говорит пароль от рута, но и не дает создать изначальную конфигурацию. Почему &#8211; бог знает, кривые руки, кривой дистрибутив или кривой линукс &#8211; не суть важно. Вакцина однако есть.</p>
<p>Признаки: на ввод mysql -u root, мы получаем отказ и никакой пароль не подходит.</p>
<p>Решение: как Вы знаете, mysql хранит информацию о самой себе в свой же базе данных, названной так же &#8211; mysql. Там есть таблица user, в которую записаны все пользователи, которые имеют доступ к базе данных, их привилегии и <span style="text-decoration: line-through;">прочее говно</span> прочие данные. После установки mysql обычно эта таблица пуста, а должна быть содержать запись о руте. Поэтому мы руками создадим там запись о руте.</p>
<p>Для этого, сначала создайте демон mysql с параметром, чтобы он не запрашивал пароли вообще. Все действия под рутом (линукса), конечно:</p>
<p>root&gt; mysqld &#8211;skip-grant-tables &amp;</p>
<p>У меня так же работал и флаг &#8211;skip-grant.</p>
<p>Теперь логинимся, просто набрав mysql. Уже можно.</p>
<p>Далее нужно создать рута. Для этого нужно выполнить вот такие не хитрые запросы:</p>
<p>mysql&gt; use mysql;<br />
mysql&gt; INSERT INTO user VALUES(&#8216;%&#8217;,'root&#8217;,PASSWORD(&#8217;some_pass&#8217;), &#8216;Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;, &#8216;Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;,'Y&#8217;, &raquo;,&raquo;,&raquo;,&raquo;,0,0,0,0);</p>
<p>Понятно, что root &#8211; это имя пользователя (можно добавить и другого, собственно), some_pass &#8211; это пароль. Жутковатая вереница букв игрек &#8211; это привилегии. То есть &#8211; выставляем все, что только можно в &laquo;Ес&raquo;, мол, давай мужик &#8211; тебе можно это делать <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Вот так.</p>
<p>И еще момент, у меня почему-то было, что из консоли к мускулу коннектится нормально, а из браузера &#8211; орет что нельзя через этот сокет. Поправил сие я, отредактировав /etc/my.cnf и заменив везде сокет на один и тот же &#8211; /tmp/mysql.sock</p>
<p>Кстати, по умолчанию темповая директория для мускула без возможности записи. Чтобы с этим не геммороиться, я поменял ее на /tmp. Это можно сделать опять же в my.cnf, дописав tmpdir=/tmp или при запуске демона непосредственно:</p>
<p>root&gt; mysqld -t/tmp &amp;</p>
<p>Удачи <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/mysql-root-sock-suxx.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Linux в окне Windows и наоборот &#8211; Виртуальная Машина</title>
		<link>http://dimoning.ru/virtualbox.html</link>
		<comments>http://dimoning.ru/virtualbox.html#comments</comments>
		<pubDate>Sun, 24 Aug 2008 14:52:16 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Общее]]></category>
		<category><![CDATA[virtual box]]></category>
		<category><![CDATA[виртуальная машина]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=406</guid>
		<description><![CDATA[Спонсор поста: Воронежский блоггер
Как Вы уже знаете, я запланировал некоторый список покупок на ближайший месяц. По велению случая я являюсь Веб-разработчиком, а точнее &#8211; программистом. И 80% серверов в Интернете работают под Linux/Unix-системами. Идеальным решением для меня был бы Linux на том компьютере, где я работаю, но там сейчас лицензионная Windows Vista, сносить которую, конечно [...]]]></description>
			<content:encoded><![CDATA[<p>Спонсор поста: <a href="http://sed-plata.ru">Воронежский блоггер</a></p>
<p>Как Вы уже знаете, я <a href="http://dimoning.ru/plan-zahvata-mira-2-bosonogiy-pravitel.html" target="_blank">запланировал некоторый список покупок</a> на ближайший месяц. По велению случая я являюсь Веб-разработчиком, а точнее &#8211; программистом. И 80% серверов в Интернете работают под Linux/Unix-системами. Идеальным решением для меня был бы Linux на том компьютере, где я работаю, но там сейчас лицензионная Windows Vista, сносить которую, конечно не хочется. Я хотел купить отдельный компьютер для Linux, но тратить на это лишних 10-15 тысяч рублей &#8211; дорогое удовольствие.</p>
<p><strong>Выход есть &#8211; Виртуальная Машина!</strong> Этот способ подходит не только для &laquo;разработчиков&raquo;, но и просто &#8211; познакомиться с другой операционной системой, не &laquo;убивая&raquo; при этом свою. Вот, Linux запущен прямо в окне Windows <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (все скриншоты в статье кликабельны):</p>
<p><a href="http://dimoning.ru/wp-content/uploads/2008/08/all.jpg" target="_blank"><img class="aligncenter size-medium wp-image-407" title="all" src="http://dimoning.ru/wp-content/uploads/2008/08/all-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p>В общем, я сэкономил себе примерно 12.000 рублей <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Заинтересовало, как я это сделал? Подробная инструкция далее.</p>
<p><span id="more-406"></span></p>
<p>В статье мы будем запускать Linux под Windows. Но я замечу, что с помощью той же самой программы, про которую я буду тут говорить, <strong>можно запустить и Windows под Linux</strong> <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Этот вариант, честно говоря, для веб-разработчика объективно лучше. Последовательность действий и сами действия остаются теми же под разные ОС.</p>
<p>Для начала нужно скачать <strong>бесплатную</strong> программу <a href="http://www.virtualbox.org/" target="_blank">VirtualBox</a> (качать <a href="https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=innotek-1.6-G-F@CDS-CDS_SMI" target="_blank">здесь</a> &#8211; выберите свою ОС и нажмите Continue).</p>
<blockquote><p>Это &#8211; сама виртуальная машина. Что это такое в целом? Просто программа, которая эмулирует в себе &laquo;чистый&raquo; компьютер с некоторой виртуальной оперативной памятью и виртуальным жестким диском. То есть, если в этой программе запустить другую программу, то последняя будет думать, что запущена на компьютере, где вообще еще ничего не установлено.</p></blockquote>
<p>Почему именно Virtual Box? Я выбрал ее, т.к. она наиболее &laquo;дружелюбна&raquo; для пользователя-новичка (имеет оконный интерфейс, кучу подсказок на каждом шаге и тому подобное). Это не самый &laquo;крутой&raquo; вариант, т.к. по производительности устанавливаемая ОС несколько проиграет, но мы и не ракеты на ней запускать собираемся. Кроме того &#8211; Virtual Box совершенно бесплатная (во всяком случае на момент написания этого поста).</p>
<p>Процесс установки Virtual Box я описывать не буду, все происходит автоматически и с этим справится даже ребенок. Лучше займемся установкой Linux из под Windows.</p>
<p>Запустите виртуальную машину. Вот что Вы увидите (у меня здесь уже установлена Linux Mandriva, у Вас этот список будет пуст):</p>
<p><a href="http://dimoning.ru/wp-content/uploads/2008/08/v1.jpg" target="_blank"><img class="aligncenter size-medium wp-image-408" title="v1" src="http://dimoning.ru/wp-content/uploads/2008/08/v1-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>Теперь можно начинать создание операционки. Нажимаем на кнопку Создать, сразу жмем Далее. Теперь нужно ввести название (которое будет отображаться в выше показано списке). Я хотел установить Suse Linux, так что это и ввел. Жмем далее. Размер памяти &#8211; это доступный объем оперативной памяти для этой операционной системы. Я оставил 256 &#8211; оптимальный вариант, как мне кажется. К тому же, Linux не очень придирается к объему оперативки (если не установлена куча визуальных эффектов). Жмем Далее.</p>
<p>Теперь нужно создать виртуальный жесткий диск, на котором будет размещаться наша операционка. Нажмите &laquo;Создать&raquo;.</p>
<p><a href="http://dimoning.ru/wp-content/uploads/2008/08/v2.jpg" target="_blank"><img class="aligncenter size-medium wp-image-409" title="v2" src="http://dimoning.ru/wp-content/uploads/2008/08/v2-300x213.jpg" alt="" width="300" height="213" /></a></p>
<p>Выберите &laquo;Динамически расширяемый образ&raquo;:</p>
<p><a href="http://dimoning.ru/wp-content/uploads/2008/08/v3.jpg" target="_blank"><img class="aligncenter size-medium wp-image-410" title="v3" src="http://dimoning.ru/wp-content/uploads/2008/08/v3-300x213.jpg" alt="" width="300" height="213" /></a></p>
<p>Теперь нужно указать имя файла (я оставил по умолчанию) и размер диска. Размер диска можете указать какой хотите. Но учтите размер устанавливаемой операционки. Например, если я ставлю линукс из архива 4 ГБ и решил установить по-полной (все, что есть), то диск нужно сделать гигов на 12.</p>
<p><a href="http://dimoning.ru/wp-content/uploads/2008/08/v4.jpg" target="_blank"><img class="aligncenter size-medium wp-image-411" title="v4" src="http://dimoning.ru/wp-content/uploads/2008/08/v4-300x213.jpg" alt="" width="300" height="213" /></a></p>
<p>Жмите Далее, потом Готово. Выберите только что созданный диск, жмите Готово.</p>
<p>Окей, мы создали виртуальную машину. Теперь можно начать устанавливать на нее вполне реальную операционную систему.</p>
<p>Выберите из списка только что созданную машину и нажмите &laquo;Старт&raquo;:</p>
<p><a href="http://dimoning.ru/wp-content/uploads/2008/08/v5.jpg" target="_blank"><img class="aligncenter size-medium wp-image-412" title="v5" src="http://dimoning.ru/wp-content/uploads/2008/08/v5-300x222.jpg" alt="" width="300" height="222" /></a></p>
<p>Это первоначальная установка системы, поэтому нужно как бы загрузиться с CD-ROM&#8217;а (для установки ОС). Что приятно &#8211; есть возможно не пихать в привод реальный диск, а указать образ диска (*.iso, например), тогда этот образ и станет приводом для нашей виртуальной машины. Хотя в этот раз у меня вполне себе физический диск, поэтому в следующем диалоговом окне я нажал Далее, выбрал привод CD/DVD-ROM, физический привод выбрал &laquo;E:&raquo;, вставил диск и опять нажал Далее:</p>
<p><a href="http://dimoning.ru/wp-content/uploads/2008/08/v6.jpg" target="_blank"><img class="aligncenter size-medium wp-image-413" title="v6" src="http://dimoning.ru/wp-content/uploads/2008/08/v6-300x256.jpg" alt="" width="300" height="256" /></a></p>
<p>Теперь жмем Готово. И начинается <img src='http://dimoning.ru/wp-includes/images/smilies/icon_eek.gif' alt=':shock:' class='wp-smiley' />  установка операционной системы! <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://dimoning.ru/wp-content/uploads/2008/08/v7.jpg" target="_blank"><img class="aligncenter size-medium wp-image-414" title="v7" src="http://dimoning.ru/wp-content/uploads/2008/08/v7-300x195.jpg" alt="" width="300" height="195" /></a></p>
<p>В общем-то на этом можно и закончить статью, т.к дальше работа будет уже с устанавливаемой системой прямо в окне. Можно тем временем потрепаться в ICQ или поделать другие дела, очень удобно.</p>
<p>Но я напишу еще пару подсказок по работе с Virtual Box.</p>
<p>Когда Вы нажмете на окно &#8211; клавиатура и мышка как бы &laquo;перейдут в безраздельное пользование&raquo; Virtual Box. То есть все действия будут передаваться в окно, и &laquo;выйти&raquo; обратно в Windows не получится. Чтобы вернуться к Windows, нажмите Right Ctrl (правый Ctrl).</p>
<p>Внизу окна есть значки. Это волшебные значки <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Они показывают, что сейчас делает наш виртуальный компьютер &#8211; читает ли с жесткого диска, с привода оптических дисков, использует ли сеть и т.п.</p>
<p style="text-align: left;">Еще очень важный вопрос насчет обмена файлами между виртуальной машиной и настоящей машиной. Для этого есть так называемая &laquo;Общая папка&raquo;. Перед стартом машины создайте общую папку (нажать на Общие папки, когда выбираете, какую машину будете стартовать). Выберите каталог. Например, я выбрал почему-то D:/Games/Quake3 <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . После создания нужно как-то примонтировать этот каталог в виртуальной операционке. Учитывая, что у нас Linux, то команда будет следующая: mount -t vboxsf share mount_point. Конкретно у меня она выглядела так:mount -t vboxsf Quake3 /mnt/vb.</p>
<p style="text-align: left;">Конечно, до этого надо создать каталог /mnt/vb. Теперь можно обмениваться файлами.</p>
<p style="text-align: left;">Для перехода в полноэкранный режим нажмите Right Ctrl + F. Полноэкранный режим создает ощущение, будто у Вас на компьютере установлена только эта операционная система <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Очень удобно для работы.</p>
<p style="text-align: left;">Вот такие пироги. Мне лично это все очень понравилось <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Единственное ограничение всего этого счастья &#8211; игры в Linux будут тормозить. Но он не для игр и нужен.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/virtualbox.html/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Сапа выдает поисковикам сайты, где продают ссылки!</title>
		<link>http://dimoning.ru/sapa-vyidaet-saytyi.html</link>
		<comments>http://dimoning.ru/sapa-vyidaet-saytyi.html#comments</comments>
		<pubDate>Fri, 01 Aug 2008 09:06:37 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Sape.ru]]></category>
		<category><![CDATA[Общее]]></category>
		<category><![CDATA[на PHP]]></category>
		<category><![CDATA[на WordPress]]></category>
		<category><![CDATA[насчет Sape]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=207</guid>
		<description><![CDATA[Слава богу, &#171;выдает&#187; она их косвенным образом. Но все равно очень глупым. Такой косяк был замечен на очень многих сайтах, и мне кажется, что поисковики просто не могли не воспользоваться случаем. Здесь я напишу, в чем дело и как от этого защититься.
Собственно дело в том, что сервера сапы сейчас сильно нагружены, а в некоторые моменты [...]]]></description>
			<content:encoded><![CDATA[<p>Слава богу, &laquo;выдает&raquo; она их косвенным образом. Но все равно очень глупым. Такой косяк был замечен на очень многих сайтах, и мне кажется, что поисковики просто не могли не воспользоваться случаем. Здесь я напишу, в чем дело и как от этого защититься.</p>
<p>Собственно дело в том, что сервера сапы сейчас сильно нагружены, а в некоторые моменты перегружены. И тупые программисты сапы (вот уж тут по праву назову их тупыми) сделали так: если скрипт не может достучаться до сервера раздачи ссылок, он <strong>прямо на сайт</strong> выдает ошибку со словами (цитирую):</p>
<p><span id="more-207"></span></p>
<p><span>SAPE_ERROR: Не могу подключиться к серверу: dispenser-01.sape.ru/code.php?user=b4c4045f147bf074f5dcd938cd734316&amp;host=goriz.ru</span></p>
<p>Поисковику даже задумываться не о чем &#8211; уже все понятно. Сайт торгует ссылками. Кстати, посмотрите на выдачу по запросу dispenser-01.sape.ru/code.php?user=, dispenser-02.sape.ru/code.php?user= и другим (меняется цифра от нуля до количества сапо-серверов) &#8211; возможно Ваш сайт там есть <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Сейчас немного программерского бреда. Это для программеров. Защищенный код будет приведен в конце <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Это для нормальных людей <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Теперь о защите. Как защититься? Во первых, не выводить ссылки сразу, а записывать их в переменную. Во-вторых, проверять в этой переменной вхождение строки &#8216;dispenser-&#8217;. В обычных ссылках такой нет, а в этой тупой ошибке &#8211; есть. И если эта строка нашлась, не выводить ничего. Если не нашлась &#8211; выводить ссылки.</p>
<p>Для проверки вхождения мы будем пользоваться функцией int <strong>substr_count</strong> (string $haystack, string $needle) &#8211; &laquo;<strong>substr_count()</strong> Возвращает число вхождений подстроки needle  в строку haystack . Заметьте, что поиск ведется с учетом регистра символов.&raquo; (c) php.net. Если ничего не нашли, то вернется 0.</p>
<p>Теперь в коде сапы нужно заменить строку echo $sape-&gt;return_links(); на следующий код:</p>
<pre><code class="php">
$a = $sape-&gt;return_links();
if (substr_count ($a, "dispenser") &lt;= 0){
	echo $a;
}else{
	echo "Hello, Yandex! <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ";
}
</code></pre>
<p>Хело, Яндекс &#8211; это, конечно, шутка. <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Сгенерировать эту ошибку специально невозможно. Но можно проверить работоспособность кода хотя бы специально подставив в переменную $a строку с этой ошибкой до проверки. Например так:</p>
<pre><code class="php">
$a = $sape-&gt;return_links();
//разделено на строки для лучшего чтения
$a = "SAPE_ERROR: Не могу подключиться к серверу:
     dispenser-01.sape.ru/code.php?user=
     f72e534919cd569065c0994725491ce3&amp;host=kitaphana.kz,
     type: file_get_contents";
if (substr_count ($a, "dispenser") &lt;= 0){
	echo $a;
}else{
	echo "Hello, Yandex! <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ";
}
</code></pre>
<p>Выводит Hello, Yandex <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , а значит защита сработала.</p>
<p>UPD: Блин, совсем забыл! Hello, Yandex лучше удалить нафиг. Можно вообще удалить блок else, тогда код получится таким:</p>
<pre><code class="php">
$a = $sape-&gt;return_links();
if (substr_count ($a, "dispenser") &lt;= 0){
	echo $a;
}
</code></pre>
<p>Собственно, как хотите &#8211; можно оставить и послание. Можно просто убрать все из вывода (сделать echo &laquo;&raquo;;) в блоке else. Да, и еще &#8211; любителям &laquo;псевдо-рефакторинга&raquo; &#8211; можно и не использовать переменную $a, да. Но так же понятнее <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Удачи в заработках! <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>____________________________________________</p>
<p>Представляю Вам блог с интересным названием <a href="http://disdain.ru">Здесь презирают заработок в Интернете.</a> Порадовали циничное отношение к манимейкингу, но все записи &laquo;по делу&raquo;, как ни странно <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/sapa-vyidaet-saytyi.html/feed</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Создаем иконку сайта в строке URL (favicon.ico), WordPress</title>
		<link>http://dimoning.ru/sozdaem-ikonku-sayta-v-stroke-url-faviconico-wordpress.html</link>
		<comments>http://dimoning.ru/sozdaem-ikonku-sayta-v-stroke-url-faviconico-wordpress.html#comments</comments>
		<pubDate>Wed, 30 Jul 2008 23:08:53 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=199</guid>
		<description><![CDATA[Чем, блин, отличается моя статья от сотни других, написанных на эту тему? Двумя моментами &#8211; я предлагаю для конвертации в ICO-формат использовать плагин для фотошопа и я напишу, как прикрутить иконку к WordPress.

Итак (мое любимое слово, хехе   ). Иконка сама по себе незначительный элемент сайта. Но, задумайтесь, Вы часто обращаете на нее внимание? [...]]]></description>
			<content:encoded><![CDATA[<p>Чем, блин, отличается моя статья от сотни других, написанных на эту тему? Двумя моментами &#8211; я предлагаю для конвертации в ICO-формат использовать плагин для фотошопа и я напишу, как прикрутить иконку к WordPress.</p>
<p><span id="more-199"></span></p>
<p>Итак (мое любимое слово, хехе <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Иконка сама по себе незначительный элемент сайта. Но, задумайтесь, Вы часто обращаете на нее внимание? Например, она показывается в закладках браузера, в строке браузера &#8211; хочешь, не хочешь, но обратишь. Больше того! Если иконка смотрится красиво, она запоминается (а на таком маленьком квадратике пикселей не каждый намалюет шедевр). Сайт начинает ассоциироваться с иконкой и так далее. Например, у <a href="http://free-lance.ru" target="_blank">фриланс.ру</a> я считаю эту иконку гениальной (как и логотип). Просто, со вкусом и запоминается. Короче, лучше ее сделать, чем не сделать.</p>
<p>Я предлагаю рисовать иконку в фотошопе, там можно нарисовать куда больше, чем в паинте <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://www.telegraphics.com.au/sw/" target="_blank">Качаем плагин</a> для возможности сохранения изображения в формате ICO. Там надо нажать на Free download: 		Windows (<a href="http://www.telegraphics.com.au/sw/dl.php3?file=ICOFormat-1.6f9-win.zip" target="_blank">вот прямая ссылка</a>), а на новой странице &#8211; нажать кнопку Download.</p>
<p>Скачали, кладем его в папку Plug-Ins в каталоге Фотошопа.</p>
<p>Запускаем фотошоп и рисуем иконку. <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Размер &laquo;холста&raquo; должен быть 16&#215;16 пикселей (это стандартный размер иконки, другие не рекомендуются). Что рисовать &#8211; дело Ваше. Я вот нарисовал на красном градиенте букву D. Наверняка, таких иконок по всему миру &#8211; сотни тысяч. Но мне плевать, мне нравится <img src='http://dimoning.ru/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  <img src='http://dimoning.ru/wp-includes/images/smilies/icon_lol.gif' alt=':lol:' class='wp-smiley' />  Если увидите &#8211; так и передайте, что эта иконка установлена на <a href="http://dimoning.ru">dimoning.ru</a>, а все остальные &#8211; плагиатчики дерзкие! <img src='http://dimoning.ru/wp-includes/images/smilies/icon_lol.gif' alt=':lol:' class='wp-smiley' /> </p>
<p>Дальше понятное дело &#8211; File -&gt; Save As, выбираем формат ICO и сохраняем.</p>
<p>Заливаем ее в какой-нибудь каталог сайта, например, через FTP.</p>
<p>Об установке иконки на WordPress. Для этого нужно зайти в каталог Вашей текуще темы и отредактировать файл header.php. Нужно добавить в блоге &lt;head&gt;&lt;/head&gt; следующее:</p>
<pre><code class="html">
&lt;link rel="shortcut icon" href="/favicon.ico" /&gt;
&lt;link href="/favicon.ico" rel="icon" type="image/x-icon" /&gt;
</code></pre>
<p>Такая чудо-конструкция позволит браузеру понять, что нужно установить иконку. Соответственно /favicon.ico нужно заменить на адрес и имя иконки от корня сайта (как обычное изображение).</p>
<p><em>Девид Блейн, почему моя иконка не показывается? Покажи мою иконку, Девид Блейн!</em></p>
<p>Иконка &#8211; дело тонкое. Чтобы она начала показываться в FireFox, нужно удалить весь кеш (Инструменты -&gt; Удалить личные данные), вырубить FireFox, зайти снова и открыть сайт. Нашел в сети совет, что в Internet Explorer нужно вообще добавить сайт в избранное  <img src='http://dimoning.ru/wp-includes/images/smilies/icon_eek.gif' alt=':shock:' class='wp-smiley' />  , иконка появится только после этого (даже не думайте спрашивать меня &#8211; почему). Ну и еще можно удалить Кеш, нажав Ctrl + F5. У меня эта тварь пока что не нашла иконку <img src='http://dimoning.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Да, и вообще, расстраивайтесь, о други &#8211; не сразу иконка будет заметна в браузерах пользователей. Опять же по причине кеша.</p>
<p>Так-то так. Делайте иконки и заваевывайте популярность в сердцах и умах <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>_______________________________<br />
<a href='http://camelus.info/forum/'>Верблюд &#8211; корабль пустыни</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/sozdaem-ikonku-sayta-v-stroke-url-faviconico-wordpress.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Блог с несколькими тематиками + раскрутка по НЧ.</title>
		<link>http://dimoning.ru/many-themer.html</link>
		<comments>http://dimoning.ru/many-themer.html#comments</comments>
		<pubDate>Fri, 11 Jul 2008 17:22:44 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[Общие советы]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=156</guid>
		<description><![CDATA[Некоторые блоггеры хотели бы вести блог по нескольким тематикам. Сейчас я не имею в виду разбавление тематического блога статьями вида &#171;А у меня сегодня новые носки&#187;, а просто несколько тем блога. Как у меня &#8211; СЕО, программирование, игры. Я уже писал, что с этим связано несколько проблем:
* Это распугивает подписчиков и постоянных читателей (если в [...]]]></description>
			<content:encoded><![CDATA[<p>Некоторые блоггеры хотели бы вести блог по нескольким тематикам. Сейчас я не имею в виду разбавление тематического блога статьями вида &laquo;А у меня сегодня новые носки&raquo;, а просто несколько тем блога. Как у меня &#8211; СЕО, программирование, игры. Я уже писал, что с этим связано несколько проблем:</p>
<p><strong>*</strong> Это распугивает подписчиков и постоянных читателей (если в RSS-ридер свалится несколько статей по не интересующей тематике подряд, то пользователь отпишется);</p>
<p><strong> *</strong> Тематику блога точно определить не удастся (это может повлиять на рубрику в ЯК, на обмен ссылками и т.п.);</p>
<p><strong> *</strong> Сложно будет найти тематических рекламодателей (по тем же причинам);<br />
<strong> *</strong> и другое.</p>
<p>Мне видится несколько способов выйти из данной ситуации. Их плюсы и минусы, а так же сами способы:</p>
<p>1. Если очень хочется написать пост не по теме, можно просто не анонсировать его в главную ленту (то есть в те сообщения, которые отображаются на главной странице блога) и в RSS. Таким образом отсутствует эффект отпугивания читателей. Если кому надо &#8211; он просмотрит рубрики. Как вариант, можно сделать маленькую колонку (вроде последних комментариев) &#8211; &laquo;Записи без анонса&raquo; или что-то такое для оповещения.</p>
<p>2. Можно создать на домене раздел, куда залить другой движок и там вывесить все статьи, которые не попадают в тематику блога. Например таким образом я хочу сделать подраздел dimoning.ru/php/, куда залить документацию, справочник по функциям, примеры решения задач и прочее (по языку PHP). Для меня это хороший вариант, т.к. можно будет сделать сортировку по алфавиту и т.п. (что на ВордПрессе сделать нельзя).</p>
<p>3. Создать поддомен и писать нужное туда. Поставить ссылку на основном домене. Таким образом у меня сделан <a href="http://personal.dimoning.ru" target="_blank">личное.dimoning.ru</a>. Например, я думаю создать поддомен gamedev.dimoning.ru и сливать статьи по разработке игр туда. Правда это уже другой домен и тут нет плюсов первого и второго варианта.</p>
<p>В любом случае, как видно из написанного, у блога должна быть основная тематика. Для этого блога основной тематикой я выбрал СЕО/программирование-связанное-с-СЕО. Все остальные статьи пойдут &laquo;боком&raquo;, как я писал выше.</p>
<p>Также хочу отметить плюсы первого и второго вариантов. Они очевидны &#8211; это переходы по НЧ с поисковиков. Это хороший способ раскрутки блога с нуля и бесплатно, т.к. с одной стороны можно написать 1000 статей и получить 700 уников в день, а с другой стороны &#8211; основная лента не захламляется НЧ-статьями и не отпугивает бедняг, подписавшихся по RSS <img src='http://dimoning.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Кстати, учтите, что поддомены берут не во все сервисы. Например в сапу поддомены не берут по религиозным, видимо, соображениям.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/many-themer.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Клоакинг (cloaking) и почему поисковики за него банят?</title>
		<link>http://dimoning.ru/cloaking-i-ban-za-nego.html</link>
		<comments>http://dimoning.ru/cloaking-i-ban-za-nego.html#comments</comments>
		<pubDate>Sun, 22 Jun 2008 12:27:58 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=130</guid>
		<description><![CDATA[Буквально на днях я обдумывал интересный способ для создания &#171;ловушки&#187; для сапы, чисто в теоретическом плане. Идея была в том, чтоб поисковику выдавать одно, а пользователю &#8211; другое. То есть &#8211; пользователь видит ссылки (и робот сапы тоже), а поисковик видит простой текст.
Так что же такое клоакинг и почему это плохо?

Термин клоакинг происходит от английского [...]]]></description>
			<content:encoded><![CDATA[<p>Буквально на днях я обдумывал интересный способ для создания &laquo;ловушки&raquo; для <a href="http://www.sape.ru/r.e0bd7fc3a8.php" target="_blank">сапы</a>, чисто в теоретическом плане. Идея была в том, чтоб поисковику выдавать одно, а пользователю &#8211; другое. То есть &#8211; пользователь видит ссылки (и робот <a href="http://www.sape.ru/r.e0bd7fc3a8.php" target="_blank">сапы </a>тоже), а поисковик видит простой текст.</p>
<p>Так что же такое <strong>клоакинг </strong>и почему это плохо?</p>
<p><span id="more-130"></span></p>
<p>Термин <strong>клоакинг </strong>происходит от английского <strong><em>cloak</em> </strong>- покров, маска, личина; <em><strong>to cloak</strong> </em>- прятать, скрывать.</p>
<p>Суть метода основана на том, чтобы определять, кто обращается к документу &#8211; поисковик или пользователь и в зависимости от этого выдавать разные страницы или части страниц. То есть поисковику можно показывать очень оптимизированную под какие-то запросы страницу, дабы вывести ее на первое место (как правило такие страницы выглядят ужасно и читаются человеком очень тяжело), а пользователю &#8211; нормальную, &laquo;читабельную&raquo; версию.</p>
<p>По поводу моих мыслей обмануть <a href="http://www.sape.ru/r.e0bd7fc3a8.php" target="_blank">сапу</a> &#8211; то же самое: поисковикам показываем просто текст, а пользователю &#8211; ссылки. <em>Решить эту проблему достаточно просто &#8211; <a href="http://www.sape.ru/r.e0bd7fc3a8.php" target="_blank">сапе</a> нужно сделать так, чтобы ссылки выводились в том виде, в котором их отдает <a href="http://www.sape.ru/r.e0bd7fc3a8.php" target="_blank">сапа</a> или не выводились вовсе. Например, с помощью яваскрипта или &laquo;зазенденного&raquo; кода функции вывода (без функции echo). Хотя&#8230; Хотя изворотливый мозг программиста всегда найдет выход&#8230;</em></p>
<p>Итак, продолжаю повествование <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . <strong>Как можно отличить поисковик от пользователя?</strong> Тут все просто &#8211; можно отличить по IP и по User Agent (то есть &#8211; браузер, через который пользователь зашел на сайте; поисковики обычно пишут что-то вродея &laquo;Y Crawler&raquo;, &laquo;Google&raquo; и т.п., а у пользователей это обычно &laquo;Mozilla/5.0&#8243; и подобное). Причем, обычно эти методы используются в комплексе. Но сотрудники поисковой системы могут легко проверить сайт &#8211; достаточно воспользоваться прокси-сервером и посмотреть на сайт оттуда.</p>
<p><strong>К</strong><strong>лоакинг</strong> считается поисковым спамом (коим и является), поэтому сайты, его использующие, получают бан в поисковике. Думаю, уже не надо объяснять, почему это бан. Удачи!</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/cloaking-i-ban-za-nego.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Защита PHPbb форума от спама (для версий 2.0.xx)</title>
		<link>http://dimoning.ru/phpbb-no-spam.html</link>
		<comments>http://dimoning.ru/phpbb-no-spam.html#comments</comments>
		<pubDate>Sat, 07 Jun 2008 23:02:28 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://dimoning.ru/?p=96</guid>
		<description><![CDATA[Не понравился мне phpbb третьей версии, какой-то он непривычный, много непонятных и ненужных функций. Очень хотелось остаться на 2ой ветке форумов, но одно плохо &#8211; как-то раз попал мой форум о Вене Дркине в спам-лист &#8211; там за день было под 30 спамных постов. Понятное дело, что убивать пользователей и посты я устал, а как [...]]]></description>
			<content:encoded><![CDATA[<p>Не понравился мне phpbb третьей версии, какой-то он непривычный, много непонятных и ненужных функций. Очень хотелось остаться на 2ой ветке форумов, но одно плохо &#8211; как-то раз попал мой <a href="http://venya-drkin.ru/forum/" target="_blank">форум о Вене Дркине</a> в спам-лист &#8211; там за день было под 30 спамных постов. Понятное дело, что убивать пользователей и посты я устал, а как защититься?.. Писать капчу не хотелось. Выход, как обычно, я нашел.</p>
<p><span id="more-96"></span></p>
<p>И большое спасибо хорошему человеку, Денису Обыденных,  &#8211; он написал хорошую <a href="http://deniso.info/blog/?p=23" target="_blank">капчу к PHPbb</a> второй ветки, и ничего в замен не требует. Скачайте архив по ссылке выше (там нужно скачать архив к определенной версии форума, так что ссылки не даю). Разархивируйте и залейте в каталог include форума. Все! Капча готова!</p>
<p>Единственный момент &#8211; я еще не знаю, как она работает (проверить не успел), но по утверждению автора капчи &#8211; все нормально. Хотя сама генерируемая картинка внушает доверие &#8211; изогнутая, написаная разными шрифтами, буквы близко. Думаю, все будет хорошо. Да умрет спам в муках страшных.</p>
<p><strong>UPD:</strong> Прошли почти сутки, ни одного нового бота на форум не пришло. Похоже, работает.</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/phpbb-no-spam.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>XBT торрент-трекер</title>
		<link>http://dimoning.ru/xbt-tracker.html</link>
		<comments>http://dimoning.ru/xbt-tracker.html#comments</comments>
		<pubDate>Sat, 03 May 2008 14:22:33 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://dimoning.ru/archives/64</guid>
		<description><![CDATA[Автор этой статьи (то есть я) недавно столкнулся с задачей создания торрент-трекера. Причем создать его нужно было на XBT и только на нем. В качестве веб-составляющей был выбран движок DLE. Начался ад&#8230;

Дам ссылку на домашнюю страницу трекера: http://xbtt.sourceforge.net/tracker
Мало ли пригодится.
Для начала XBT нужно установить. Скачайте его (на момент написания статьи xbt-трекер можно было скачать отсюда), [...]]]></description>
			<content:encoded><![CDATA[<p>Автор этой статьи (то есть я) недавно столкнулся с задачей создания торрент-трекера. Причем создать его нужно было на XBT и только на нем. В качестве веб-составляющей был выбран движок DLE. Начался ад&#8230;</p>
<p><span id="more-74"></span></p>
<p>Дам ссылку на домашнюю страницу трекера: <a href="http://xbtt.sourceforge.net/tracker/" target="_blank">http://xbtt.sourceforge.net/tracker</a><br />
Мало ли пригодится.</p>
<p>Для начала XBT нужно установить. Скачайте его (на момент написания статьи xbt-трекер можно было скачать <a href="http://sourceforge.net/project/showfiles.php?group_id=94951&amp;package_id=113737" target="_blank">отсюда</a>), разархивируйте, если надо.  Создайте в MySQL новую базу данных и пропишите ее в конфиге xbt_tracker.conf. Дальше залейте в базу таблицы из xbt_tracker.sql.</p>
<p>Запустите трекер (реализация этого пункта зависит от платформы, где он установлен). В принципе, теперь все работает <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Статистика трекера находится по адресу http://сайт-с-трекером:2710/statistics, анонсировать новый торрент можно по адресу http://сайт-с-трекером:2710/announce. Чтобы трекер захавал новый торрент, при создании торрента нужно  указать именно этот адрес анонса.</p>
<p>Трекер может работать как в анонимном режиме, так и не в анонимном. Переключается в конфиге (там все понятно).</p>
<p>Если трекер работает НЕ в анонимном режиме, то данные о юзерах должны лежать в таблице xbt_users и соответствующий паскей должен быть прописан при анонсе (&#8230;/passkey/announce/). Понятно, что для того, чтобы вести статистику по пользователям, нужно сделать скрипт, который при скачке торрента с сайта вставляет в него паскей того пользователя, который качает.</p>
<p>Коротко, все. Если есть вопросы &#8211; комментируйте статью, отвечу. Нахлебался я с этим трекером жутким <img src='http://dimoning.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/xbt-tracker.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Как работают реферальные программы (системы)?</title>
		<link>http://dimoning.ru/kak-rabotaut-reff-sistemi.html</link>
		<comments>http://dimoning.ru/kak-rabotaut-reff-sistemi.html#comments</comments>
		<pubDate>Wed, 30 Apr 2008 22:35:50 +0000</pubDate>
		<dc:creator>DimoninG</dc:creator>
				<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://dimoning.ru/archives/60</guid>
		<description><![CDATA[Хочу рассказать теорию о разных реферальных программах, вернее &#8211; как их написать самому.

Сначала, что такое реферальная система. Предположим, мы сделали большой портал или решили сделать конкурс &#8211; 50$ тому, кто приведет на сайт больше всего новых пользователей. И появляется вопрос: нужно как-то определять число (а еще лучше &#8211; кого именно) привел каждый участник конкурса. С [...]]]></description>
			<content:encoded><![CDATA[<p>Хочу рассказать теорию о разных реферальных программах, вернее &#8211; как их написать самому.</p>
<p><span id="more-70"></span></p>
<p>Сначала, что такое реферальная система. Предположим, мы сделали большой портал или решили сделать конкурс &#8211; 50$ тому, кто приведет на сайт больше всего новых пользователей. И появляется вопрос: нужно как-то определять число (а еще лучше &#8211; кого именно) привел каждый участник конкурса. С этой задачей легко справится реферальная система.</p>
<p>Основная сложность в том, что нужно как-то определять &#8211; от кого пришел пользователь. Для этого придумали специальные реферальные ссылки. Часто такие ссылки имеют вид вроде http://somesite.ru/?r=123, а не просто http://somesite.ru/. Обычно в качестве значения параметра выступает ID пользователя, которые дал эту ссылку (по &laquo;приглашению&raquo; которого человек зашел на сайт). То есть, когда скрипту передается параметр r, он знает &#8211; от какого пользователя пришел посетитель.</p>
<p>Дальше нужно схитрить &#8211; ведь посетитель не обязательно решит регистрироваться сразу. Он вообще может решить зарегистрироваться через несколько дней. На помощь приходят куки.  При переходе по реф.ссылке, посетителю ставится куки с ID того пользователя, который привел его на сайт.</p>
<p>Само собой, что при регистрации проверяется наличие этого самого куки и, если он есть, дополнительно записывается, кто, когда привел этого нового пользователя.</p>
<p><font size="-2">P.S. Что-то я не уверен во внятности повествования, три часа ночи как никак. Если что-то непонятно &#8211; напишу еще раз.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://dimoning.ru/kak-rabotaut-reff-sistemi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
